gsxdsm
4f037679ad
feat: planner overseer session advisor (OMP advisor parity) (#2082)
## Summary
Adds a **session advisor** to the planner overseer so Fusion can review
live executor transcripts the way [oh-my-pi’s
advisor](https://github.com/can1357/oh-my-pi/tree/main/packages/coding-agent/src/advisor)
does — without replacing the existing lifecycle supervisor (stage watch,
retry, merge confirmation, human-control withhold).
### What ships
- **Emission guard** (`OverseerEmissionGuard`) — content-free phrase
filter, session dedupe with severity-rank escalation, one accept per
advisor update
- **Session delta runtime** — queues agent-log deltas, drains through an
advisor agent, drops backlog after 3 failures
- **Session advisor service** — model gate, level matrix (`observe` /
`steer` / `autonomous`), human-control re-check at inject,
`[session-advisor]` steering comments
- **OVERSEER.md / WATCHDOG.md** discovery for project review priorities
- **AgentLogger `onEntriesFlushed`** + poll-backed agent-log cursor for
durable deltas
- Workflow settings: `plannerOverseerAdvisorProvider` +
`plannerOverseerAdvisorModelId` (both required; empty = soft-disabled
for cost safety)
- Docs + changeset
### What does not ship (deferred)
- Multi-advisor YAML roster, mutating advisor tools, reviewer/merger
shadowing, true tool-abort interrupt
### Plan
`docs/plans/2026-07-13-001-feat-overseer-advisor-parity-plan.md`
## Enablement
1. Set workflow **Session advisor model provider** + **Session advisor
model id**
2. Oversight level `observe` (log only), `steer`, or `autonomous`
(inject)
3. Optional: add `OVERSEER.md` or `WATCHDOG.md` in the project
## Test plan
- [x] `pnpm --filter @fusion/core exec vitest run
src/__tests__/overseer-emission-guard.test.ts`
- [x] `pnpm --filter @fusion/engine exec vitest run` overseer-* unit
tests (21 tests)
- [x] Related planner-overseer / intervention regression tests
- [x] `@fusion/engine` + `@fusion/core` typecheck
- [ ] Manual: configure advisor model, run an executor task, confirm
`[session-advisor]` inject + timeline metadata when concern is raised
## Residual Review Findings
None from autofix pass (log-cursor ordering fix already committed).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added an off-by-default “session advisor” that can review live
execution activity and provide severity-based guidance.
* Added project and per-task controls to enable it, including a default
enable switch and Quick Add / Task Detail toggles.
* Enhanced advisor prompting by discovering and incorporating
`OVERSEER.md`/`WATCHDOG.md` review files.
* **Documentation**
* Added architecture and settings documentation for the new
session-advisor parity behavior.
* **Bug Fixes**
* Improved fail-soft handling so advisor behavior won’t disrupt
execution.
* Fixed concurrent PostgreSQL migration startup failures.
* **Tests**
* Added coverage for advice parsing, emission guarding, runtime
behavior, and watchdog discovery.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-14 20:27:35 -07:00
..
2026-06-11 08:43:28 -07:00
2026-06-02 20:57:06 -07:00
2026-06-03 09:45:32 -07:00
2026-06-03 12:43:59 -07:00
2026-06-03 09:59:12 -07:00
2026-06-03 12:29:02 -07:00
2026-06-03 19:32:48 -07:00
2026-06-04 00:05:15 -07:00
2026-06-04 02:16:55 -07:00
2026-06-04 11:20:50 -07:00
2026-06-05 09:41:32 -07:00
2026-06-05 03:27:37 -07:00
2026-06-05 00:33:20 -07:00
2026-06-05 01:06:03 -07:00
2026-06-26 10:18:04 -07:00
2026-06-05 01:06:03 -07:00
2026-06-05 22:42:36 -07:00
2026-06-06 00:38:28 -07:00
2026-07-02 11:38:31 -07:00
2026-06-07 20:43:44 -07:00
2026-06-07 22:07:47 -07:00
2026-06-07 23:56:25 -07:00
2026-06-08 19:13:14 -07:00
2026-06-09 08:30:35 -07:00
2026-06-09 11:51:30 -07:00
2026-06-09 12:41:29 -07:00
2026-06-09 13:27:43 -07:00
2026-06-11 23:14:36 -07:00
2026-06-13 15:21:00 -07:00
2026-06-13 16:08:51 -07:00
2026-06-15 05:56:47 -07:00
2026-06-15 19:05:15 -07:00
2026-06-21 00:02:31 -07:00
2026-06-20 23:01:09 -07:00
2026-06-20 21:54:10 -07:00
2026-06-21 20:47:31 -07:00
2026-06-22 00:21:49 -07:00
2026-06-22 00:21:49 -07:00
2026-06-21 21:07:32 -07:00
2026-06-21 22:44:53 -07:00
2026-06-21 23:15:38 -07:00
2026-06-22 03:48:08 -07:00
2026-06-22 01:19:29 -07:00
2026-07-13 19:07:58 -07:00
2026-07-13 19:07:58 -07:00
2026-06-22 21:45:05 -07:00
2026-06-24 19:25:51 -07:00
2026-06-24 19:25:51 -07:00
2026-06-23 22:18:07 -07:00
2026-06-25 00:13:29 -07:00
2026-06-25 22:17:44 -07:00
2026-07-13 19:07:58 -07:00
2026-06-29 00:10:27 -07:00
2026-06-29 11:07:11 -07:00
2026-07-01 00:51:01 -07:00
2026-06-30 22:20:00 -07:00
2026-07-14 08:23:11 -07:00
2026-07-14 20:27:35 -07:00