Commit Graph

6 Commits

Author SHA1 Message Date
Boden Fuller 912cbe866a fix(cherry-pick-wave): dry-run default + pattern hardening + --force-delete
scripts/cherry-pick-wave.sh previously removed worktrees unconditionally
in non-interactive contexts and accepted loose branch patterns. Now:

- destructive_consent gate wraps remove_worktrees. Removal fires only
  when --yes, --force-delete, or interactive tty detected. Otherwise
  prints '[dry-run] would remove worktree: <path>' with instructions.
- Pattern hardening: rejects empty pattern, patterns starting with
  wildcards (*, ?, [), and requires first char to match [A-Za-z0-9_-].
- --force-delete flag: explicit opt-in to destructive removal in
  non-tty contexts (for CI/automation).
- Help text updated for new flag and safety semantics.

Backward-compat preserved for callers passing --yes (existing test still
passes). New behavior only affects callers running non-interactively
without --yes or --force-delete — they now see dry-run instead of
silent destruction.

Existing test tests/scripts/test-cherry-pick-wave.sh still passes.
shellcheck clean.

Consumes v2.9.3..HEAD 'Harden scripts/cherry-pick-wave.sh pattern
handling and delete safety'.
2026-04-15 15:53:15 -04:00
Boden Fuller 7711009874 refactor: harden worktree cleanup and finding collection 2026-04-14 08:26:18 -04:00
Boden Fuller e8572ee8d9 feat(cli): backlog blitz wave 1 — bug fixes, test cleanup, skill templates (na-3re)
Wave 1 of na-3re (6 parallel issues, 0 file conflicts):

Issue 1 - Hook bugs:
- Merge double-jq in commit-review-gate.sh into single @tsv call
- Add session-aware dedup (PID-based) to intent-echo.sh

Issue 2 - Script bugs:
- Add pattern resolution logging to cherry-pick-wave.sh
- Improve coverage-ratchet.sh error handling for failed go test

Issue 3 - Run-ID classification:
- Fix rpiRunIDPattern: accept rpi-{8-12hex}, drop bare 8-hex false positives
- Update contract tests and serve tests for new pattern

Issue 4 - UTF-8 safety:
- Fix truncateGoal to use rune-safe slicing (was byte-slicing)
- Audit strings.Trim in goals/ — no misuse found

Issue 5 - Test cleanup:
- Strip 153 TestCov3_ prefixes across 15 files
- Merge fire_deep_test.go → fire_test.go
- Merge maturity_deep_test.go → maturity_test.go
- Fix malformed test names (lowercase after Test)

Issue 6 - Skill templates:
- Add test-fixture audit + go-build verification to /plan
- Add single-epic scope WARN to /crank
- Add footgun entries section to /post-mortem
2026-03-05 10:09:13 -05:00
Boden Fuller bb40bc0f25 fix: resolve 10 post-mortem findings — 3 HIGH, 5 MEDIUM, 2 process
Swarm: 8 tasks across 2 waves, TDD on all Go changes.

HIGH fixes:
- rpi serve --run-id now matches 12-hex IDs (was misclassifying as goals)
- cherry-pick-wave.sh: pattern validation + prefix-scoped rm fallback
- -o flag contract: rename local --output to --output-dir/--output-file
  on defrag, memory, context_assemble (stops shadowing root format flag)

MEDIUM fixes:
- defrag --json now emits JSON (was printing text unconditionally)
- Remove dead promote-anti-patterns from doctor suggestions
- Pin install scripts to tagged releases instead of mutable main
- Add ao doctor + skill-lint CI jobs to validate.yml
- Add learning coherence quality gate script

Process:
- Drain 7 unconsumed next-work.jsonl entries (0% → 100% resolution)
- 192 lines of new tests (TDD: test-first across all Go changes)
2026-03-02 06:49:16 -05:00
Boden Fuller 7c654b0973 feat(wave-2b): file manifests, cherry-pick-wave, build verification
- Add file manifest (metadata.files) to swarm/crank worker TaskCreate
  with pre-spawn conflict detection (ag-0zzw)
- Rewrite cherry-pick-wave.sh for auto-discovery of agent worktrees
  with --dry-run, --pattern, --cleanup-only flags (ag-dccy)
- Add Step 4a build verification for CLI repos in /implement (ag-sh9o)

Closes ag-0zzw, ag-dccy, ag-sh9o
2026-02-24 07:59:52 -05:00
Boden Fuller f6fae7abc6 feat: swarm wave — CI hooks sync, cherry-pick script, retry prompts, 4 cleanups
7 parallel workers executed post-mortem harvest items:
- Add embedded hooks sync check to validate.yml CI
- Create scripts/cherry-pick-wave.sh for worktree integration
- Add file manifest template to swarm worker prompt
- Fix dead code in evolve-estimate.sh compute_avg_rate
- Add 30-snapshot retention to coverage-delta tracking
- Document complexity goal hierarchy in GOALS.yaml
- Add context discipline to buildRetryPrompt (ag-9m5.1-2)
2026-02-22 15:41:12 -05:00