Skip to content

docs: add write_agent integration guidance to squad.agent.md - #400

Merged
bradygaster merged 1 commit into
bradygaster:devfrom
lewing:squad/write-agent-integration
Mar 15, 2026
Merged

docs: add write_agent integration guidance to squad.agent.md#400
bradygaster merged 1 commit into
bradygaster:devfrom
lewing:squad/write-agent-integration

Conversation

@lewing

@lewing lewing commented Mar 15, 2026

Copy link
Copy Markdown
Contributor

write_agent Integration for Squad

Copilot CLI v1.0.5 introduced write_agent — multi-turn conversations with background agents. This adds three integration points to squad.agent.md:

Changes (1 file, 5 lines)

Location What
Feature Degradation Table New row: write_agent is CLI-only; VS Code must re-spawn
Reviewer Rejection Lockout Anti-pattern callout: write_agent does NOT bypass lockout
After Agent Work (Scribe) Reuse pattern: send follow-up to idle Scribe via write_agent

Why

  • Compatibility table: write_agent is a new CLI-only capability. Without documenting degradation, coordinators on VS Code would try to use it and fail silently.
  • Lockout safety: The most obvious misuse — using write_agent to send revision instructions to a locked-out author instead of spawning a different agent. Needs an explicit "don't do this."
  • Scribe optimization: Spawning multiple Scribe instances causes duplicate decision merges and git commit races. write_agent to an idle Scribe is the clean pattern.

Context

Discovered while reviewing Copilot CLI v1.0.5 release notes — specifically the "Add experimental embedding-based dynamic retrieval of MCP and skill instructions per turn" and write_agent features.

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

Copilot CLI v1.0.5 introduced `write_agent` for multi-turn background
agent conversations. This adds three integration points:

1. **Feature Degradation Table** — `write_agent` is CLI-only; VS Code
   surfaces must re-spawn instead of sending follow-ups.

2. **Reviewer Rejection Lockout** — explicit anti-pattern: `write_agent`
   does NOT bypass lockout. A rejected artifact's original author cannot
   receive revision instructions via `write_agent` — a different agent
   must be spawned.

3. **Scribe reuse pattern** — when Scribe is idle from a previous batch,
   use `write_agent` to send additional work instead of spawning a second
   Scribe instance (avoids duplicate merges and git commit races).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bradygaster
bradygaster merged commit 0422a67 into bradygaster:dev Mar 15, 2026
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
…bradygaster#414)

* 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#365bradygaster#368), 3 P1 items (bradygaster#369bradygaster#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: product love — first 10 seconds that make you want the next 10 minutes

Walked through the full first-time user experience and fixed every moment
that wasn't delightful:

**\/clear\ actually clears (bradygaster#400)**
- Was sending raw ANSI escape as message content (no-op in Ink)
- Now resets message array to empty — genuine fresh slate
- Added \clear?: boolean\ to CommandResult interface

**Natural language routing revealed (bradygaster#402)**
- The coordinator auto-routing is the WOW feature — was completely hidden
- Welcome banner hints: 'Just type · @agent to direct · /help · Ctrl+C exit'
- /help explains: 'Just type naturally — the coordinator routes it'
- First-run prompt: adds 'Or just type naturally' hint
- Input placeholder: 'Type anything or @agent...'

**First-run hint layout (bradygaster#404)**
- Was horizontal Box that broke on narrow terminals
- Now vertical flexDirection=column with breathing room

**Exit message consistency (bradygaster#405)**
- Replaced wave emoji with diamond mark (matches P2 emoji removal)

**Welcome roster wrapping (bradygaster#407)**
- Agents were one dense string that wrapped mid-name
- Now individual Ink elements with flex-wrap for clean word-boundary wrapping

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
…x chars

Fixes bradygaster#400 - /clear now sends ANSI escape codes to actually clear terminal screen
Fixes bradygaster#389 - Recognize 'quit' and 'q' as exit words (not just 'exit')
Fixes bradygaster#417 - Root CLI detects .squad/ existence and auto-launches shell or suggests init
Fixes bradygaster#391 - Use proper Unicode box-drawing characters (─) with graceful ASCII fallback

Changes:
- commands.ts: Send \x1B[2J\x1B[H on /clear to truly clear the terminal
- App.tsx: Expand EXIT_WORDS to include 'quit' and 'q'
- cli-entry.ts: Check for .squad/ before defaulting to shell, show helpful init prompt if missing
- AgentPanel.tsx + MessageStream.tsx: Use boxChars() for separators instead of hardcoded '─'

All changes preserve cross-platform compatibility and respect NO_COLOR/terminal capabilities.

Co-authored-by: bradygaster <brady@github.com>
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
Session: 2026-02-24T0430-prs-merged
Requested by: Brady

Changes:
- Merged 6 decision inbox files into decisions.md (Cheritto, Fenster, Kovash, Marquez, McManus, Waingro)
- Deleted all inbox files (now empty)
- Created .squad/identity/prd-next-waves.md (4-wave execution plan: A=Polish, B=Reliability, C=Testing, D=Delight)
- Updated .squad/identity/now.md to reflect Wave A focus
- Created session log: .squad/log/2026-02-24T0430-prs-merged.md

PRs merged this session: bradygaster#444, bradygaster#445, bradygaster#446, bradygaster#447
Issues closed: bradygaster#400, bradygaster#389, bradygaster#417, bradygaster#391, bradygaster#402, bradygaster#405, bradygaster#404, bradygaster#407, bradygaster#431, bradygaster#429
Issues filed: bradygaster#448-bradygaster#459 (Wave A Polish items)

Process directive: All work through PRs with squad member review before merge

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.

2 participants