Apply review findings from mining PR #61/#63/#64 and the recent merged PRs: - conf_draft_node: drop the agentic invoker config (max_turns=8 + Read/Grep/Glob + budget) that merged #61 reverted live (#60); use max_turns=4 tools-off like the planner. The draft is a reasoning->JSON node — repo context is folded into the prompt, never fetched via Claude tools (feedback_claude_sdk_single_shot). Invert the test that pinned the old tools-on contract. - confluence_writer: record the dedicated Phase.CONF_DRAFT/CONF_GATE/CONF_WRITE values instead of borrowing VERIFY/REVIEW/BUILD, so the ledger/transitions/ dashboard show the real lane. - invoker: note the allowed_tools seam is replicated from merged #61 (drop on a future rebase; byte-equivalent default None->[]). - dashboard: document that conf_* vertices need no _NODE_TO_STAGE remap (node id == stage key, identity fallback resolves them). Verified (no change needed): coordinator confluence gate shares the plan gate's crash isolation (_emit never raises, ledger write fail-soft); confluence_* state channels persist via declared PipelineState channels + checkpointer; Flow B edge hooks VERIFY's approved terminus, orthogonal to #61's plan-gate-approve routing. Full suite 1564 passed; ruff + format clean. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| build_verify_subgraph.py | ||
| builders.py | ||
| builders_llm.py | ||
| clarifier.py | ||
| clarifier_llm.py | ||
| confluence_writer.py | ||
| confluence_writer_llm.py | ||
| dispatch_invoker.py | ||
| fixer.py | ||
| handbook.py | ||
| planner.py | ||
| review_loop.py | ||
| review_loop_llm.py | ||
| verifier.py | ||
| verifier_llm.py | ||