docs: update slice-dag and orchestrator-cli for #2399/#2403/#2410 [doc-updater] - #2425
Conversation
…c-updater] Update documentation to reflect changes from a505cfa: - slice-dag.md: document that the pipeline tip is now at egg/<id>/work (not egg/<id>) so slice integration branches can coexist as siblings (#2399); update branch table, get_slice_integration_branch note, and get_worktree_branch example accordingly. - slice-dag.md: EGG_SLICE_ID is no longer just an advisory hint — BRC handlers now read it and attach slice_id to every CONSENSUS_* payload so the orchestrator routes to the per-slice tracker (#2403). - slice-dag.md: remove restart_agent with slice_id from "Out of scope" — the REST endpoint now accepts ?slice_id=slice-N (#2410). - orchestrator-cli.md: add slice-scoped curl example to the agent restart note. Triggered by: #2402 Authored-by: egg
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Approve — documentation-only update; all three claims verified against the implementation
This PR updates slice-dag.md and orchestrator-cli.md to reflect three landed changes (#2399, #2403, #2410). I verified each claim against the current code:
1. egg/<id>/work branch namespace (#2399)
_ensure_pipeline_work_ref in orchestrator/routes/pipelines.py:682-726 performs the documented normalisation (egg/<id> → egg/<id>/work, idempotent on egg/<id>/work, structural ≥2-slash check so egg/work deepens to egg/work/work). The "directory file conflict" rationale added to the get_slice_integration_branch paragraph matches the constraint the helper guards against.
2. slice_id attachment to CONSENSUS_* payloads (#2403)
sandbox/egg_agent_tools/handlers/brc.py:26-41 defines _maybe_attach_slice_id, which reads slice_id from the request or falls back to get_slice_id() (the EGG_SLICE_ID reader) and validates against slice-<N> before attaching. It is called from all 5 BRC signal handlers (lines 444, 529, 586, 634, 754). The previous slice-dag.md text describing EGG_SLICE_ID as "an advisory hint" is genuinely stale; the new wording is accurate. The cross-reference to peer_consensus._tracker_key is correct — orchestrator/peer_consensus.py:1834 composes {pipeline_id}/{slice_id} when slice_id is supplied.
3. restart_agent with slice_id (#2410)
orchestrator/routes/pipelines.py:2262-2338 exposes the documented surface — slice_id accepted via query string with body fallback (query param wins, both validated through extract_slice_id). The "Out of scope" list edit in slice-dag.md correctly removes restart_agent with slice_id and notes the landing PRs. The new curl example in orchestrator-cli.md:211 is well-formed (URL is quoted, which is needed for the ? query separator).
Other observations
- No new code; no test plan beyond manual doc/code cross-check is appropriate here.
- Heading levels, table formatting, and link targets unchanged outside the edited regions.
- The
_run_concurrent_phaseparagraph's mention that_handle_brc_consensus_timeoutstill receivesslice_idis preserved verbatim — good, since that wiring is unchanged.
Nothing blocking, no non-blocking suggestions.
— Authored by egg
|
egg review completed. View run logs 1 previous review(s) hidden. |
…i.md
Kept HEAD's babysit-pr branch shape correction (egg/babysit-pr/{pr}/{short-sha}/{role})
in slice-dag.md per bb47b84 — verified against orchestrator/concurrent_executor.py:257.
Took main's wording for the slice_id query-param comment in orchestrator-cli.md
(equivalent meaning, established by #2425).
Update documentation to reflect changes from a505cfa (PR #2402):
Branch namespace (Slice integration branches collide with pipeline branch in git ref namespace ('directory file conflict') #2399): The pipeline tip is now pushed to
egg/<id>/workso slice integration branches (egg/<id>/slice-N) can coexist as siblings. Theget_worktree_branchtable andget_slice_integration_branchdescription inslice-dag.mdwere showingegg/issue-Nas the pipeline branch shape; updated toegg/issue-N/workwith an explanation of the git "directory file conflict" constraint that drove the change.Slice-scoped signal routing (Slice agents spawned with invalid EGG_PIPELINE_ID='<id>/slice-N' and no worktree mount #2403):
EGG_SLICE_IDwas previously described as an "advisory hint" in the slice-dag doc. BRC handlers now read it and explicitly attachslice_idto everyCONSENSUS_*payload so the orchestrator routes to the per-slice tracker. Updated the description accordingly.restart_agentwithslice_id(Plumb slice_id through restart_agent_job and detect_uncommitted_changes (#2403 follow-up) #2410): Removedrestart_agent with slice_idfrom the "Out of scope (Independent implement phases #2137)" list inslice-dag.md— the REST endpoint now accepts?slice_id=slice-N. Added a slice-scoped curl example to the agent restart note inorchestrator-cli.md.Triggered by: #2402
Test Plan
orchestrator/routes/pipelines.py(_ensure_pipeline_work_ref) andsandbox/egg_agent_tools/handlers/brc.py(_maybe_attach_slice_id).Authored-by: egg