test(claude-ops): cover morning-brief telemetry any=0 and rec-maxlen=0; harden usage()#844
Conversation
…0; harden usage() Adds the two missing regression tests (no lane-tagged telemetry comments, --rec-maxlen 0 full-preview mode) and replaces usage()'s hardcoded sed line range with a sentinel-based header extraction, closing out the three non-blocking nits deferred from the PR #569 review. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
|
Claude finished @kyle-sexton's task in 2m 44s —— View job PR Review
Summary: Clean, targeted patch. All three deferred nits from #569 are addressed correctly, the new tests exercise the right code paths, and the
|
|
Claude finished @kyle-sexton's task in 1m 14s —— View job Security Review — PR #844
No security issues found. This PR's changes are limited to three areas; none introduce new attack surfaces or worsen existing ones.
|
|
Post-green review classification (work lane):
No DEFER-FORBIDDEN class applies. No inline threads to resolve (PR-level comments only). Leaving |
…de-ops, work-items Re-checked open PRs touching these plugins' plugin.json right before the version-bump collision protocol requires it: source-control carries #839 (0.15.8) and #840 (0.15.9), claude-ops carries #844 (0.17.2), work-items carries #826 (0.18.2) — all still open. Bumps this PR's claims one past each plugin's current highest open-PR claim (source-control 0.15.10, claude-ops 0.17.3, work-items 0.18.3) so this PR does not collide at merge time regardless of which sibling lands first. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
Resolves conflicts on source-control and work-items plugin.json/CHANGELOG.md: main advanced source-control to 0.15.8 (#839, merged) and work-items to 0.18.2 (#826, merged) since this branch was last rebased. Also re-checked live open PRs at merge time and found work-items now carries a new open claim, #857 at 0.19.0 (Jira adapter) — re-bumped this branch's work-items claim from 0.18.3 to 0.19.1 to stay ahead of it. source-control's 0.15.10 and claude-ops's 0.17.3 remain valid (still one past #840/#860's 0.15.9 and #844/#860's 0.17.2 open claims, respectively). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
Re-syncs onto main after #860 (fleet-wide `shell: bash` declaration sweep) merged, which bumped source-control to 0.15.9, claude-ops to 0.17.2, and repo-hygiene to 0.4.5. Resolved conflicts on those three plugins' plugin.json and CHANGELOG.md; re-derived each held version against the new main plus a fresh live-open-PR check rather than assuming the prior numbers still held: - source-control 0.15.10: still one past main's 0.15.9 and #840's live 0.15.9 claim. - claude-ops 0.17.3: still one past main's 0.17.2 and #844's live 0.17.2 claim. - repo-hygiene 0.4.6: still one past main's new 0.4.5 (#860, now merged); no open-PR collision remains for this plugin. - work-items 0.19.1 and guardrails 0.9.6 were untouched by this merge (no conflict) and remain correct against #857/#861 (both still 0.19.0, open) and no open collision, respectively. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
#857 (Jira Cloud adapter) merged into main since this branch's last rebase, bumping work-items to 0.19.0. Resolved the resulting conflict, keeping this branch's 0.19.1 (already one past both the new main and #861's still-open 0.19.0 claim, so no further bump needed). Re-verified all 5 plugins fresh against current main and every live open PR (#840 0.15.10, #844 0.17.2, #861 0.19.0): source-control 0.15.11, claude-ops 0.17.3, repo-hygiene 0.4.6, and guardrails 0.9.6 all remain correct with no change required. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
An unrelated claude-ops docs PR (#877, closing #864) merged since this branch's last rebase and landed at exactly 0.17.3 — the same version this branch was claiming. Re-bumped claude-ops to 0.17.4 to clear the exact collision (plugin.json auto-merged to an identical-looking "0.17.3" string without flagging a conflict, since both sides happened to write the same literal text for unrelated reasons; caught by diffing main's version history directly, not by trusting a clean auto-merge). CHANGELOG.md split into two sections (0.17.3 for #877's actual change, 0.17.4 for this PR's). Also swept for new open PRs against all 5 plugins post-merge: #870 (feat/800-audit-instructions) newly touches repo-hygiene (claims 0.4.5) and claude-ops (claims 0.17.2) — both below this branch's current claims (0.4.6 / 0.17.4), no collision. source-control (0.15.11), work-items (0.19.1), and guardrails (0.9.6) re-confirmed against current main and every live open PR (#840 0.15.10, #844 0.17.2, #861 0.19.0) — unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
Resolves plugin.json/CHANGELOG.md conflicts: keeps this PR's 0.17.4 bump (past main's 0.17.3, landed via #877) and preserves the 0.17.3 changelog entry as-is.
claude-ops: #844 rebased and re-derived its claim from 0.17.2 to 0.17.4, colliding exactly with this branch's prior 0.17.4. Bump to 0.17.5. source-control: a new PR, #882 (fix/511-babysit-self-identity-decouple), claims 0.16.0 — a minor bump above this branch's prior 0.15.11 and above #840's 0.15.10. Bump to 0.16.1 to stay ahead of both. repo-hygiene (0.4.6), guardrails (0.9.6), and work-items (0.19.1) were re-verified fresh against current main and every live open PR (main: repo-hygiene 0.4.5, guardrails 0.9.5, work-items 0.19.0; #861 0.19.0) and remain correct, no change needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
|
Claude finished @kyle-sexton's task in 2m 11s —— View job PR Review — #844
Summary: Clean, well-targeted patch. All three deferred nits from #569 are addressed correctly. No bugs, no security issues, no CLAUDE.md violations.
|
|
Claude finished @kyle-sexton's task in 1m 1s —— View job Security Review — PR #844
No security issues found. The four changed files introduce no new attack surfaces and do not worsen any existing ones.
|
|
Post-rebase re-review classification (work lane): Rebased twice now (past #841, then past #860), re-derived to 0.17.4,
No DEFER-FORBIDDEN class applies. No inline review threads to resolve (PR-level comments only). Verified comment content directly (not just the green check) per this cycle's standing practice. Flipping to ready, handing off to babysit. |
|
Claude finished @kyle-sexton's task in 1m 20s —— View job PR Review — #844
Summary: Clean, targeted patch. All three deferred nits from #569 are addressed correctly. No bugs, no security issues, no CLAUDE.md violations. Approved.
|
|
Claude finished @kyle-sexton's task in 1m 43s —— View job Security Review — PR #844
No security issues found. The four changed files introduce no new attack surfaces and do not worsen any existing ones.
|
#844 (claude-ops) merged into main at exactly 0.17.4, which this branch's prior 0.17.5 was already one past — kept as-is, no re-bump needed for the number itself, just resolved the resulting plugin.json/CHANGELOG.md conflict. Full fresh collision sweep after the merge found claude-ops now has NO open-PR collision at all. It also found #861 (work-items) re-derived its own claim from 0.19.0 to 0.20.0 since the last check (following #857's Jira-adapter minor bump into main) — colliding with this branch's prior 0.19.1. Re-bumped work-items to 0.20.1. source-control (0.16.1, held behind #882's 0.16.0 and #840's 0.15.10), repo-hygiene (0.4.6, no collision), and guardrails (0.9.6, no collision) re-verified against current main and all live open PRs — unchanged. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K1V3gkrfSf75isB8MiDy3o
Summary
Closes the three non-blocking test-coverage/maintenance nits deferred from the claude[bot] review on PR #569 (the
morning-briefdashboard skill).Fix
any=0telemetry path: a non-empty telemetry-comments array where none carry alane:field (only scope-note comments) — previously only thenull/no-issue-found case and the populated-with-lanes case were covered.--rec-maxlen 0(full, untruncated RECOMMENDED preview) — previously the0 = fullsemantics were only exercised implicitly via the!= "0"source check, with no assertion that a long recommendation tail survives untruncated.usage()'s header self-extraction: replaced the hardcodedsed -n '2,35p'line range with a sentinel-basedawkextraction (shebang line skipped, then every comment line printed up to the first non-comment/blank line). The header comment can now grow or shrink without silently truncating or over-running--helpoutput.plugins/claude-ops/.claude-plugin/plugin.jsonto0.17.2(patch — test/maintenance only, no behavior change) and added a matchingCHANGELOG.mdentry.Verification
Ran the plugin's own test suite locally (bash + jq, both GNU-date and BSD-date-stub paths):
All 47 cases pass (44 pre-existing + 3 new: rec-maxlen=0 truncation-skip, rec-maxlen=0 no-ellipsis, and the any=0 no-lane-comments case). Also manually diffed
--helpoutput before/after theusage()change — byte-identical.Closes #579
Related
morning-briefdashboard skill; claude[bot] review surfaced these as deferred, non-blocking nits)Note on serialization
PR #841 (
fix/812-jq-guard) is currently open and also touchesplugins/claude-ops/(a different skill,lanes). Opening this as draft withdo-not-mergeper the repo's serialization convention for concurrentclaude-opschanges; this PR's version bump (0.17.1→0.17.2) may need to be re-based once #841 lands.