Skip to content

Commit c6dfb3c

Browse files
committed
docs: update working memory triage status
1 parent 9b8efad commit c6dfb3c

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

docs/design-docs/working-memory-triage.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ Findings from CodeRabbit review + bug reports. Tracking resolution before merge.
1111

1212
### Major
1313

14-
- [ ] **R2 — Bulletin fallback gate too aggressive** (`prompts/en/channel.md.j2:172`)
15-
Condition `not working_memory and not knowledge_synthesis` hides bulletin when working memory exists but knowledge synthesis hasn't run yet. Should gate only on `not knowledge_synthesis`.
14+
- [x] **R2 — Bulletin fallback gate too aggressive** (`prompts/en/channel.md.j2:172`)
15+
Condition `not working_memory and not knowledge_synthesis` hides bulletin when working memory exists but knowledge synthesis hasn't run yet. **Fixed in PR #570:** fallback now depends on missing `knowledge_synthesis`, and prompt data preserves that original absence.
1616

1717
- [ ] **R3 — Don't exclude participant-role facts yet** (`prompts/en/cortex_knowledge_synthesis.md.j2:21`)
1818
Exclusion of "The user is the CEO" drops participant context with nowhere else to live until Phase 6 ships.
@@ -21,22 +21,22 @@ Findings from CodeRabbit review + bug reports. Tracking resolution before merge.
2121
`task` from user input persisted verbatim; could capture secrets/PII. Truncate and scrub.
2222

2323
- [ ] **R5 — Dirty flag only bumps on merges** (`src/agent/cortex.rs:1958`)
24-
Prunes and decays also change the memory set but don't trigger knowledge synthesis re-gen. Add `report.pruned > 0 || report.decayed > 0`.
24+
Prunes and decays also change the memory set but don't trigger knowledge synthesis re-gen. Add `report.pruned > 0 || report.decayed > 0`. **Partial in PR #570:** prunes and merges now dirty synthesis; decay remains intentionally importance-only and needs a follow-up decision.
2525

2626
- [ ] **R6 — Dirty-flag synthesis not mutex-guarded** (`src/agent/cortex.rs:2106`)
27-
Can race with warmup synthesis path. Should acquire the same synthesis mutex.
27+
Can race with warmup synthesis path. Should acquire the same synthesis mutex. **Still open:** PR #570 single-flights background refresh tasks, but lock parity with warmup still needs a focused verify/fix pass.
2828

29-
- [ ] **R7 — Intraday/daily synthesis blocks main cortex loop** (`src/agent/cortex.rs:2166`)
30-
LLM calls awaited inline inside `tokio::select!`; events stop draining during synthesis. Spawn as background tasks.
29+
- [x] **R7 — Intraday/daily synthesis blocks main cortex loop** (`src/agent/cortex.rs:2166`)
30+
LLM calls awaited inline inside `tokio::select!`; events stop draining during synthesis. **Fixed in PR #570:** intraday and daily synthesis now run as background tasks with single-flight scheduling and failure backoff.
3131

32-
- [ ] **R8 — Empty sections treated as successful no-op** (`src/agent/cortex.rs:2558`)
33-
Returns before tasks can contribute to synthesis; dirty flag never clears, causing infinite rescheduling.
32+
- [x] **R8 — Empty sections treated as successful no-op** (`src/agent/cortex.rs:2558`)
33+
Returns before tasks can contribute to synthesis; dirty flag never clears, causing infinite rescheduling. **Fixed in PR #570:** true empty input clears the target version, while gather failures fail the synthesis path and keep it retryable.
3434

3535
- [ ] **R9 — Missing `default_max_turns(1)` + inline preambles** (`src/agent/cortex.rs:2579`)
36-
Three cortex agent builders lack explicit max_turns; two have inline preamble strings instead of prompt files.
36+
Three cortex agent builders lack explicit max_turns; two have inline preamble strings instead of prompt files. **Stacked in PR #571:** one-shot synthesis prompt hardening is kept out of PR #570 to keep the reliability diff focused.
3737

38-
- [ ] **R10 — Version snapshot after async work** (`src/agent/cortex.rs:2614`)
39-
`knowledge_synthesis_last_version` read after LLM call; concurrent writes can advance the version past what was actually synthesized. Snapshot before.
38+
- [x] **R10 — Version snapshot after async work** (`src/agent/cortex.rs:2614`)
39+
`knowledge_synthesis_last_version` read after LLM call; concurrent writes can advance the version past what was actually synthesized. **Fixed in PR #570:** synthesis snapshots the target version before async work and only marks that version complete.
4040

4141
- [x] **R11 — Unsynthesized yesterday events dropped** (`src/agent/cortex.rs:2916`)
4242
Raw events that didn't hit count/time trigger before midnight are lost from daily summary. Roll them into the summary. **Fixed:** daily summary now fetches all raw events, filters to the unsynthesized tail after the last intra-day synthesis, and includes them in the LLM input.

0 commit comments

Comments
 (0)