docs(acp): document the local ACP development loop - #3977
Conversation
37b140a to
c3c1bef
Compare
|
Holding this PR pending two independent gates. The exact-head CI failure is repository-global, not docs content: the docs-only canonical plan contained the docs-index test plus the dedicated The completed read-only docs red-team also identified content corrections required before terminal disposition:
No terminal verdict is attached until the exact-head evidence producer passes. — |
057f3d4 to
0fcbf7c
Compare
|
All five content corrections landed in 0fcbf7c. I re-verified them against a live Paseo 0.2.5 daemon, since that commit records
|
Rebuilding the gjc binary has no effect on ACP until the SDK broker is restarted: `gjc acp` attaches to the long-lived broker published for the agent directory, and that broker keeps spawning session hosts from the build it was started with. The failure looks exactly like a broken fix, and `restart:sdk-broker` was only mentioned in passing inside the JetBrains Air section, so there was nothing to find when you hit it. Documents the build/install/restart loop, how to tell which build is actually serving, driving GJC from Paseo, and which ACP transitions are worth smoke-testing because unit tests do not cover them. Lore-id: acpdevdoc Constraint: docs-only -- docs-index.generated.ts is gitignored, nothing to regenerate in-tree Confidence: high Scope-risk: narrow Reversibility: easy Tested: verified every documented command against a live Paseo 0.2.5 daemon and a real broker restart
The initial runbook could leave an old broker-spawned session host alive, named the model cache instead of the credential database, and mixed Paseo wait results with lifecycle state. Make the source-exact loop and its support boundary explicit. Lore-id: acp3977rt Constraint: documentation only -- no ACP implementation changes Rejected: preserve broker-only restart as the default | existing sessions can retain old code Confidence: high Scope-risk: narrow Reversibility: easy Tested: bun test packages/coding-agent/test/docs-index-lazy.test.ts Not-tested: live Paseo daemon; original commands were verified with Paseo 0.2.5
0fcbf7c to
7d5dd53
Compare
Yeachan-Heo
left a comment
There was a problem hiding this comment.
MERGE_READY
Bounded terminal docs review is bound to exact head 7d5dd53b8b569183c2923946a10e9b02f17d4c9f on current dev 82c47e73cc35693b89c38a6199e2ba068ae1ee9b (source hash sha256:15f2e12d4f4d0a8c5c529d5cc4c14ecda58494415085f825514f5a99493e1636).
Verified:
- docs-only diff; no ACP implementation files changed;
- source-exact restart guidance closes broker-spawned hosts and states the interruption boundary;
- scratch credentials correctly name
agent.dband explain provider/Paseo environment propagation; - Paseo lifecycle, wait timeout, and GJC prompt deadline are separated;
- continuation smoke guidance uses settlement rather than a false fixed event-count invariant;
- POSIX and Paseo v0.2.5 support boundaries are explicit;
- local docs-index regression: 5 passed;
- exact-head Dev CI
31146092038: success; - exact-head Public site sync
31146091923: success; - 11 successful checks, 7 intentional skips, no active or failed checks.
No blocking findings remain.
—
[repo owner's gaebal-gajae (clawdbot) 🦞]
Why
Rebuilding the binary does nothing for ACP until the SDK broker is restarted, and there is currently no documentation that says so.
gjc acpis a thin stdio front end — it attaches to the long-lived broker published for the agent directory, and that broker spawns asdk session-host-internalchild per session from the entrypoint it was started with. So afterbun run install:dev:binyou get a newgjcon PATH talking to an eight-hour-old broker that keeps running the old code. The change appears to have no effect, which is indistinguishable from the fix being wrong.I lost real time to exactly this while smoke-testing #3950 against Paseo:
bun run restart:sdk-brokerwas documented only as one sentence inside the JetBrains Air subsection ofexternal-control-readiness.md, phrased as a description of what the script does — not as a step you must run. Nothing connects it to "your ACP change is not live".What
New
docs/acp-local-development.mdcovering:psonbroker-internal, before/after)--agent-dir/--close-session-hostsfor scratch or full restartsrun/logs/ls/stop, and reading the JSON-RPC payload out of~/.paseo/daemon.logwhen the CLI printsFailed to create agent: [object Object]initializehandshakerunning" is the signal, not a failure messageexternal-control-readiness.mdgets a link to it from the ACP readiness section. That doc keeps its role as the protocol/support contract; this one is the dev loop.Verification
Every command in the doc was run against a live Paseo 0.2.5 daemon on macOS, including a real broker restart and a
--agent-dirrestart verified not to disturb the main broker.docs-index.generated.tsis gitignored, so there is nothing to regenerate in-tree.