Skip to content

fix: add count-based fallback to archiveDecisions() (#626)#627

Merged
bradygaster merged 10 commits intodevfrom
squad/626-fix-nap-archival
Mar 26, 2026
Merged

fix: add count-based fallback to archiveDecisions() (#626)#627
bradygaster merged 10 commits intodevfrom
squad/626-fix-nap-archival

Conversation

@bradygaster
Copy link
Copy Markdown
Owner

Summary�rchiveDecisions() silently returned \

ull\ when all entries were <30 days old, allowing \decisions.md\ to grow unboundedly. Active projects hit 145KB+ (35K tokens burned per agent spawn).## Fix- Added count-based fallback: when all entries are recent but total size exceeds 20KB, archive the oldest recent entries to stay under threshold- Undated entries are preserved (not archived) — they are often foundational directives per Procedures' guidance## Tests- 4 adversarial test cases covering: all-recent >20KB, all-recent <20KB, mixed undated/dated preservation, boundary case- All 42 nap tests pass## Review- EECOM implemented the fix- FIDO reviewed and approved ✅Closes #626

Copilot AI added 7 commits March 23, 2026 17:23
Merged 12 decision inbox entries into decisions.md. Logged mega-session
covering release recovery, docs fix, 10 PR merges, discussion triage,
and release hardening. Updated agent histories with session learnings.

Deleted inbox files after merge:
- booster-ci-audit.md, booster-ci-cleanup.md
- copilot-directive-2026-03-23T09-56.md, copilot-directive-2026-03-23T10-08.md
- copilot-directive-no-npx.md
- eecom-version-cmd.md
- pao-discussion-triage-2026-03-23.md, pao-npx-purge.md, pao-readme-slim.md
- pao-v090-blog.md
- surgeon-v090-changelog.md, surgeon-v091-retrospective.md

Updated files:
- .squad/decisions.md (12 decision entries merged)
- .squad/identity/now.md (current state updated)
- .squad/log/2026-03-23T22-00-00Z-mega-session-wrapup.md (new)
- .squad/agents/flight/history.md (issue filing patterns, governance directives)
- .squad/agents/eecom/history.md (CLI version subcommand pattern)
- .squad/agents/booster/history.md (CI audit and preflight patterns)
- .squad/agents/surgeon/history.md (release governance rules, retrospective)
- .squad/agents/pao/history.md (discussion triage patterns, Teams MCP urgency)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- v0.9.1 (Current Release): Bug fixes and hardening
  - Shell agent name extraction with multi-pattern fallback
  - Init scaffolding for typed casting files
  - Personal squad global mode support
  - Release CI/docs hardening
  - Doctor command improvements

- v0.9.0 (Major Feature): 6 major features + stability fixes
  - Personal Squad Governance Layer (isolated developer workspaces)
  - Worktree Spawning & Distributed Work (parallel agent orchestration)
  - Machine Capability Discovery (auto-detect tools/models/hardware)
  - Cooperative Rate Limiting (predictive circuit breaker + economy mode)
  - Telemetry & Infrastructure (auto-wire, KEDA, session recovery)
  - Docs, Stability & Distribution (Astro enhancements, npm-only)

- v0.8.2: Renamed from 'Current Release' to historic entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Flight triaged 14 untriaged GitHub issues, created prioritized work plan
- FIDO reviewed 10 open PRs, identified 3 duplicate/overlap pairs
- Merged 2 decisions from inbox to decisions.md
- Updated Flight and FIDO agent history with team updates
- Orchestration logs: 2026-03-25T15-23-flight.md, 2026-03-25T15-23-fido.md
- Session log: 2026-03-25T15-23-triage-session.md

Work session priority established:
- #610 → PAO (broken link, 5 min fix, unblocks #611)
- #590 → EECOM (getPersonalSquadRoot bug, P0)
- #592, #611 → Flight review
- #588 → Procedures (model list update)

PR deduplication: 10 PRs consolidate to 7
- Merge: #607, #603, #606
- Close as duplicates: #605, #604, #602

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Round 1 outcomes:
- PAO: #610 docs link already resolved
- EECOM: #590 personal squad path fix (getPersonalSquadRoot)
- Procedures: #588 model catalog updated to current platform
- Flight: #612 community issue filed on routing regression
- CAPCOM: CLI platform research — identified 8 releases (1.0.4→1.0.11) with 3 high-impact changes
- GNC: Squad codebase research — routing regression caused by v0.9.0 prompt saturation + missing name param

Round 2: Code review & quality gate
- FIDO: Found same bug in shell/index.ts, enforced revision
- CONTROL: Full sweep of #590 fix, awaiting FIDO re-review

Merged decisions:
1. Personal squad path canonicalization (personal-squad/)
2. Model catalog refresh (claude-sonnet-4.6, gpt-5.3-codex defaults)
3. CLI platform analysis (monorepo discovery, idle hiding, hook injection)
4. Squad regression analysis (prompt saturation, workstream replacement, missing name param)

Logs created:
- 6 orchestration logs (one per agent)
- 1 session synthesis log with research synthesis
- 4 agent history updates (team update annotations)

All inbox decision files merged and deleted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Merged procedures-vscode-routing-fix.md from inbox to decisions.md
- Cleared decision inbox after merge
- Logged session finalization work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster
Copy link
Copy Markdown
Owner Author

🔍 Squad Team Review

Reviewed by: Flight (Lead) — Pass 3 of consensus ceremony
Merge Order Position: #2 of 3 (Phase 1)
Team Consensus: 5/5 AGREE

Review Summary

This PR adds a count-based fallback mechanism to archiveDecisions() to handle edge cases where decisions cannot be processed normally. This ensures robustness and reliability of the decision archival pipeline.

Dependencies

Depends on #620 (independent otherwise) — merge #620 first

Merge Plan

This PR is part of the team-agreed merge sequence:

  1. fix: getPersonalSquadRoot() returns correct personal-squad path (#590) #620 — getPersonalSquadRoot() fix
  2. fix: add count-based fallback to archiveDecisions() (#626) #627 — archiveDecisions() fallback ← YOU ARE HERE
  3. fix: rename template copies to prevent CLI instruction merging (#613) #624 — rename templates (infra)

Verdict: APPROVED for merge in sequence

Copilot AI added 3 commits March 25, 2026 23:32
archiveDecisions() silently returned null when all entries were <30 days
old, allowing decisions.md to grow unboundedly. Active projects hit
145KB+ (35K tokens burned per agent spawn).

Added count-based fallback: when all entries are recent but total size
exceeds 20KB, archive the oldest recent entries to stay under threshold.
Undated entries are preserved (not archived) per Procedures' guidance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster bradygaster force-pushed the squad/626-fix-nap-archival branch from 7ed817e to a4e8be9 Compare March 26, 2026 06:33
@bradygaster bradygaster merged commit dfc0a59 into dev Mar 26, 2026
3 checks passed
@bradygaster bradygaster deleted the squad/626-fix-nap-archival branch March 26, 2026 06:33
chrislomonico pushed a commit to clomonico/squad that referenced this pull request Mar 26, 2026
…ster#626, bradygaster#627) (bradygaster#630)

* fix: simplify banner text and tighten layout (bradygaster#626, bradygaster#627)

- Simplify empty-roster message to single /init CTA (remove dual-path confusion)
- Standardize usage line with middle-dot separators and punchier copy
- Remove unnecessary spacer between roster/init and usage line

Closes bradygaster#626
Closes bradygaster#627

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test: add banner simplification tests (bradygaster#626, bradygaster#627)

- 5 new tests in 'Banner simplification (bradygaster#626, bradygaster#627)' describe block
- Verify single /init CTA (no dual-path 'squad init')
- Verify middle-dot separators in usage line
- Verify concise 'Type naturally' prefix
- Verify 'Ctrl+C to exit' formatting
- Verify no redundant spacers between roster and usage line
- Update bradygaster#625 test to align with new single-CTA behavior

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* docs: update Hockney history with bradygaster#626/bradygaster#627 test learnings

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(nap): archiveDecisions() silently fails — undated entries immune + no count-based fallback

2 participants