diff --git a/docs/advisor-watchdog.md b/docs/advisor-watchdog.md index 354d4eaf1..8fdd17542 100644 --- a/docs/advisor-watchdog.md +++ b/docs/advisor-watchdog.md @@ -53,9 +53,9 @@ Slash commands: | Command | Effect | |---|---| -| `/advisor` | Toggle the persisted `advisor.enabled` setting. | -| `/advisor on` | Enable the setting and start the runtime when an advisor model is assigned. | -| `/advisor off` | Disable the setting and stop the runtime. | +| `/advisor` | Toggle the advisor for this session (session-scoped override; does not change the persisted `advisor.enabled` setting). | +| `/advisor on` | Enable the advisor for this session and start the runtime when an advisor model is assigned. Session-scoped; not persisted to config. | +| `/advisor off` | Disable the advisor for this session and stop the runtime. Session-scoped; not persisted to config. | | `/advisor status` | Show active model, context usage, token usage, and cost. | | `/advisor dump` | Copy the advisor's compact transcript to the clipboard. | | `/advisor dump raw` | Copy the advisor's full dump (system prompt, tools, thinking, and calls) to the clipboard. | diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 6f32dc885..d0425f46d 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Fixed + +- Fixed the advisor docs (`docs/advisor-watchdog.md`) describing `/advisor`, `/advisor on`, and `/advisor off` as toggling the persisted `advisor.enabled` setting; the slash toggle is session-scoped and writes nothing to config ([#6128](https://github.com/can1357/oh-my-pi/issues/6128)). + ## [17.0.5] - 2026-07-18 ### Added diff --git a/packages/coding-agent/src/prompts/system/workflow-notice.md b/packages/coding-agent/src/prompts/system/workflow-notice.md index d15ad9127..09a849bef 100644 --- a/packages/coding-agent/src/prompts/system/workflow-notice.md +++ b/packages/coding-agent/src/prompts/system/workflow-notice.md @@ -47,7 +47,7 @@ For independent per-item chains (review → verify, fetch → extract → score) schema: FINDINGS_SCHEMA, }); return await parallel(found.findings.map((f) => async () => ({ - ...f, + …f, verdict: await agent( `Refute if you can (default refuted when unsure): ${f.title}`, { label: `verify:${f.file}`, schema: VERDICT_SCHEMA }, @@ -57,8 +57,6 @@ For independent per-item chains (review → verify, fetch → extract → score) phase("Review"); const results = await parallel(DIMENSIONS.map((d) => async () => reviewAndVerify(d))); const confirmed = results.flat().filter((f) => f.verdict.is_real); - - Reach for `pipeline()` only when a stage genuinely needs ALL of the previous stage first — dedup/merge across the whole set, early-exit on zero, or "compare against the other findings" — because its inter-stage barrier makes every item wait for the slowest peer: **Python (`eval`, Python backend):** @@ -80,8 +78,6 @@ Reach for `pipeline()` only when a stage genuinely needs ALL of the previous sta const verdicts = await parallel(findings.map((f) => async () => await agent(verifyPrompt(f), { schema: VERDICT_SCHEMA }), )); - - Use ordinary code between calls to flatten/map/filter; don't add a barrier just for that. Nested `parallel()` pools each cap independently, so keep total fan-out sane.