feat(.squad): PAO external communications - Phase 1 infrastructure#427
Conversation
|
@bradygaster — PR #427 (PAO External Communications RFC) has full team approval and is ready for your review. Reviewers who signed off:
What this PR adds:
Key design decisions (from 5 review rounds):
Targeting \dev\ branch. Ready for merge when you are. |
* chore(squad): Phase 2 launch — thinking feedback, P0 bugs, dual telemetry Phase 1 complete: 5 issues closed (bradygaster#325, bradygaster#326, bradygaster#327, bradygaster#328, bradygaster#329), 5 PRs merged. Phase 2 launched with Cheritto (thinking feedback), Hockney (P0 bugs), Saul (dual telemetry). Decision inbox merged and archived. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): Phase 2 Wave 1 merged, Wave 2 launched Session: 2026-02-23T2145-phase2-wave2 Phase 2 Wave 1 complete (PRs bradygaster#351, bradygaster#352, bradygaster#353 merged). Wave 2 launched: Cheritto on ghost response detection (bradygaster#332), Hockney on error hardening (bradygaster#334). Changes: - Session log created: 2026-02-23T2145-phase2-wave2.md - Merged 3 inbox decisions (Cheritto, Hockney, Saul) - Deleted inbox files post-merge Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): Epic bradygaster#323 complete — all phases shipped 🎉 All 3 phases delivered: - Phase 1 (Testing Wave): 6 issues closed - Phase 2 (Improvement): 6 issues closed - Phase 3 (Breathtaking): 7 issues closed - 17 PRs merged, 19 issues closed total Session log: 2026-02-23T2320-epic-complete.md Decisions merged from inbox: P2 UX Polish, first-run wow moment Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * hostile QA: end-to-end quality assessment — 10 findings, 4 HIGH severity Candid assessment requested by Brady. Traced every code path in cli-entry.ts, shell/index.ts, shell/commands.ts, App.tsx, coordinator.ts, spawn.ts, and the SDK adapter client. Key findings: - Dead sessions never evicted from agentSessions Map after connection drop - No React ErrorBoundary — any render throw kills the shell - Nasty-inputs corpus (95 strings) is never imported by any test - No SIGTERM handler in interactive shell - MemoryManager exported but never instantiated (dead code) - Single streaming content slot clobbers multi-agent output - User input silently dropped during processing (no type-ahead buffer) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): quality review findings — 7 issues filed Quality audit complete: 5 agents assessed CLI across testing, coverage, stability, accessibility, UX. Results: 4 P0 blockers (bradygaster#365–bradygaster#368), 3 P1 items (bradygaster#369–bradygaster#371). Blocking: Waingro dead sessions, ErrorBoundary, dropped input; Marquez help text consistency. Changes: - Logged session summary to .squad/log/2026-02-24T0205-quality-review-complete.md - Updated .squad/identity/now.md with quality review findings and new issue numbers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): merge decision — Marquez UX audit findings Quality assessment merged from inbox (Grade B): 11 improvements (3 P0, 4 P1, 4 P2). help text, stub commands, vocabulary, separators, roster. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): test sprint launch Session: 2026-02-24T0210-test-sprint Changes: - Logged test sprint: 5 agents, 7+ issues - Branches: P0 fixes, stale tests, E2E, hostile/SDK, A11y Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix bradygaster#427: Add immediate shell launch indicator Adds 'Loading Squad shell...' message at start of runShell() to eliminate 2-4 second launch dead air. Message clears once Ink mounts. Users now see feedback within 100ms instead of staring at blank terminal. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…gaster#439) * chore(squad): quality review findings — 7 issues filed Quality audit complete: 5 agents assessed CLI across testing, coverage, stability, accessibility, UX. Results: 4 P0 blockers (bradygaster#365–bradygaster#368), 3 P1 items (bradygaster#369–bradygaster#371). Blocking: Waingro dead sessions, ErrorBoundary, dropped input; Marquez help text consistency. Changes: - Logged session summary to .squad/log/2026-02-24T0205-quality-review-complete.md - Updated .squad/identity/now.md with quality review findings and new issue numbers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * chore(squad): merge decision — Marquez UX audit findings Quality assessment merged from inbox (Grade B): 11 improvements (3 P0, 4 P1, 4 P2). help text, stub commands, vocabulary, separators, roster. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix bradygaster#423/bradygaster#399: Remove welcome typewriter animation blocking Users can now type immediately when shell launches. Removed 500ms typewriter animation and 300ms fade-in from welcome banner — title and content appear instantly. Pattern: instant feedback beats cosmetic delay. Matches bradygaster#427 shell loading fix. Closes bradygaster#423 Closes bradygaster#399 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update Cheritto history: bradygaster#423 welcome animation fix Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements the Phase 1 foundation for RFC bradygaster#426: PAO External Communications with human review gate. New skills: - humanizer: Tone enforcement patterns for community responses - external-comms: Full scan-draft-review-post workflow with confidence flags Infrastructure: - .squad/comms/ directory with audit logging, SQLite locking schema, tone validation patterns, and review state templates - Tone validation test spec (7 test categories, 5 gold standard responses) - CI gate definition (mandatory and warning checks) Charter and routing updates: - PAO (McManus) charter: external comms ownership, 3 hard rules - Routing: community response work type added Closes bradygaster#426 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes from Flight (architecture), Procedures (skills), FIDO (validation): SQLite lock: single global lease replacing per-session locks (Flight) Routing: community response now explicit manual-trigger Phase 1 (Flight) Audit lifecycle: runtime artifacts gitignored, README clarified (Flight) External-comms skill: operationalized templates, rollback path, thread-read verification, confidence classification, discussion workflow (Procedures) Humanizer skill: disagreement/info-request/no-link-dumping patterns (Procedures) Gold standards: added GS-6 redirect + GS-7 closing (FIDO) Tone validation: Node-safe regex, removed duplicate, added required patterns, baseline_blocking flag (FIDO) Audit template: expanded action enum, conditional fields matrix (FIDO) Reviewer rejection protocol enforced: original authors locked out per-artifact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1. Remove Ralph-triggered activation (manual-trigger only in Phase 1) 2. Remove 'pr' from item_type (issues/discussions only in Phase 1) 3. Fix audit action taxonomy: 'posted' → 'post' in example 4. Add empathetic-disagreement and information-request to response types 5. Fix outcome field: contextual per-action values with clear table 6. Add Discussion rollback path (GraphQL mutation for discussion comments) 7. Make baseline similarity blocking for high-confidence drafts in ci-gate Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1. Audit entry frontmatter: only universal fields (timestamp, action) 2. Template sections annotated with applicable action types 3. Example audit entry in SKILL.md matches canonical template format 4. SKILL.md audit section references conditional fields table Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1. Post example includes all required fields (item_number, draft_id, reviewer) 2. Post example excludes Reviewer Notes (scoped to approve/edit/skip only) 3. Post Result placeholder text matches post/delete scoping 4. Template clarifies action-specific fields go in frontmatter Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Audit directory is runtime-only (gitignored) — no need for placeholder. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6fda725 to
9d5102b
Compare
|
Rebased PR #427 onto upstream/dev (commit f87a7a5) and resolved all conflicts. Conflict Resolution Summary:
Rebased onto upstream commits:
All 7 commits successfully rebased and force-pushed. PR is now ready for review. @bradygaster — EECOM (Core Dev), on behalf of Dina |
Documented git worktree conflict resolution pattern for cross-fork rebase operations. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
✅ APPROVE — Solid Phase 1 foundation. SQLite-based locking is the right call (atomic, zero new deps), humanizer skill addresses Brady's 5 constraints, and FIDO's blockers are all mitigated. Infrastructure work like this belongs in .squad/ per decisions.md. 652 insertions is appropriate for a new capability with tests + templates. Ship it. |
|
@bradygaster This PR is ready for your review. |
|
👋 @bradygaster — squad obo dina: Merge conflict has been resolved. Merged upstream/dev into the branch, no file conflicts. Ready for review when you are. |
Summary
Implements the Phase 1 foundation for RFC #426: PAO External Communications with human review gate.
Closes #426
Working as PAO (DevRel) — coordinated with Flight, EECOM, and FIDO.
What's included
New Skills (2)
Communications Infrastructure (.squad/comms/)
Quality Gates (.squad/comms/tests/)
Charter and Routing Updates
Brady's 5 Constraints (all addressed)
FIDO's 5 Critical Blockers (all mitigated)
Files Changed