Skip to content

Commit 9eb316e

Browse files
committed
feat: calibrate continuity-aware triage risk
1 parent 4ed1687 commit 9eb316e

11 files changed

Lines changed: 463 additions & 48 deletions

docs/brainstorms/2026-04-21-mainline-reconciliation-after-m8-48-triage-policy-requirements.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ topic: mainline-reconciliation-after-m8-48-triage-policy
55

66
# Mainline Reconciliation After M8.48 Triage Policy Requirements
77

8+
> Status note (2026-04-21): `M8.49` has now shipped on `main`. This document remains the pre-implementation narrowing pass and is superseded by [Mainline Reconciliation After M8.49 Triage Prioritization Requirements](./2026-04-21-mainline-reconciliation-after-m8-49-triage-prioritization-requirements.md).
9+
810
## Problem Frame
911

1012
`M8.48` is now shipped on `main`.
@@ -49,7 +51,7 @@ The active question is "whether bounded continuity summary fields should start a
4951
## Requirements
5052

5153
**Truth Refresh**
52-
- R1. This document becomes the new current source-of-truth item for post-`M8.48` direction.
54+
- R1. This document captured the current source-of-truth item for post-`M8.48` direction before `M8.49` landed.
5355
- R2. Current-facing docs must describe `M8.48` as shipped continuity-aware triage/runbook consumption.
5456

5557
**Next-Lane Narrowing**
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
date: 2026-04-21
3+
topic: mainline-reconciliation-after-m8-49-triage-prioritization
4+
---
5+
6+
# Mainline Reconciliation After M8.49 Triage Prioritization Requirements
7+
8+
## Problem Frame
9+
10+
`M8.49` now ships on `main`.
11+
The bounded continuity-aware triage policy step is closed:
12+
13+
- replay-risk severity now calibrates against persistent continuity signals,
14+
- operator payloads now expose `replayRiskSignals` alongside `replayRiskLevel`,
15+
- low-risk persistent continuity can now promote into medium risk,
16+
- medium replay risk with persistent continuity can now promote into high risk.
17+
18+
That changes the next seam again.
19+
The active question is no longer whether continuity should affect severity policy.
20+
The active question is whether operator prioritization order should still stay replay-rate-only once severity has become continuity-aware.
21+
22+
## Verified Mainline Reality (2026-04-21)
23+
24+
- `AgentWorkspaceDiagnosticsSummary` now persists both:
25+
- `replayRiskLevel`,
26+
- `replayRiskSignals`.
27+
- `/triage` and `/triage/history` now expose continuity-aware severity buckets.
28+
- `topReplayReports` still sorts by raw `replayCandidateRate`, not by calibrated severity or continuity-aware priority.
29+
- Backend sufficiency remains green and dormant-by-default.
30+
31+
## Critical Findings
32+
33+
1. `M8.49` closed the severity-policy seam.
34+
Persistent continuity now changes triage severity, not only runbook copy.
35+
36+
2. Another policy-only slice would be low leverage.
37+
The next mismatch is ordering, not risk classification.
38+
39+
3. The sharpest remaining seam is prioritization.
40+
A continuity-boosted high-risk report can still sit behind a raw higher replay-rate report because `topReplayReports` ordering remains replay-rate-only.
41+
42+
4. Larger dashboards still remain secondary.
43+
They would consume the same ordering later, but they do not tighten the current triage loop as directly as bounded prioritization does.
44+
45+
## Requirements
46+
47+
**Truth Refresh**
48+
- R1. This document becomes the new current source-of-truth item for post-`M8.49` direction.
49+
- R2. Current-facing docs must describe `M8.49` as shipped continuity-aware triage policy calibration.
50+
51+
**Next-Lane Narrowing**
52+
- R3. Current-facing docs must define `M8.50` as bounded continuity-aware triage prioritization.
53+
- R4. `M8.50` must stay inside already-normalized fields:
54+
- `replayRiskLevel`,
55+
- `replayRiskSignals`,
56+
- `replayCandidateRate`,
57+
- `managedConversationContinuitySummary`.
58+
- R5. `M8.50` must not require new persistence, a broader dashboard surface, or full-report joins.
59+
- R6. `M8.50` must keep prioritization explainable in triage payloads rather than introducing opaque ranking.
60+
61+
**Scope Control**
62+
- R7. Do not reopen backend-escalation or CI-repair narration unless fresh evidence appears.
63+
- R8. Do not move markdown-reader work ahead of `M8.50` unless it compounds the same operator/study loop more directly.
64+
- R9. Do not jump to broader operator dashboards before bounded continuity-aware prioritization lands or is explicitly rejected.
65+
66+
## Success Criteria
67+
68+
- this document is listed first under `docs/brainstorms/index.md`,
69+
- EN/ZH current-facing docs describe `M8.49` as shipped,
70+
- EN/ZH current-facing docs describe `M8.50` as bounded continuity-aware prioritization work,
71+
- docs verification passes,
72+
- `main` stays clean after verification.
73+
74+
## Scope Boundaries
75+
76+
- This document does not reopen backend sufficiency work.
77+
- This document does not add a new diagnostics persistence model.
78+
- This document does not claim that continuity-aware prioritization already ships.
79+
- This document does not require a new operator dashboard.
80+
81+
## Next Steps
82+
83+
-> `/ce:plan` for `post-M8.49 continuity-aware triage prioritization`, keeping `M8.50` bounded to explainable ordering on top of existing fast-path fields.

docs/brainstorms/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ This page tracks active and archived brainstorming outputs used before implement
44

55
## Current
66

7+
- [2026-04-21 Mainline Reconciliation After M8.49 Triage Prioritization Requirements](2026-04-21-mainline-reconciliation-after-m8-49-triage-prioritization-requirements.md)
78
- [2026-04-21 Mainline Reconciliation After M8.48 Triage Policy Requirements](2026-04-21-mainline-reconciliation-after-m8-48-triage-policy-requirements.md)
89
- [2026-04-21 Mainline Reconciliation After M8.47 Operator Consumer Requirements](2026-04-21-mainline-reconciliation-after-m8-47-operator-consumer-requirements.md)
910
- [2026-04-21 Mainline Reconciliation After M8.46 Operator Continuity Summary Requirements](2026-04-21-mainline-reconciliation-after-m8-46-operator-continuity-summary-requirements.md)

docs/diataxis/en/explanation/agent-conversation-focus-mode-plan.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,12 +487,13 @@ It is conversation-product hardening on top of the shipped shell.
487487

488488
Priority order:
489489

490-
1. make `M8.49` about continuity-aware triage policy calibration first, so the same normalized summary affects severity policy before any broader dashboard work,
491-
2. expand broader operator rollups only after that policy step is in place,
492-
3. keep markdown-reader improvements secondary unless they clearly compound the same study loop.
490+
1. make `M8.50` about continuity-aware triage prioritization next, so explainable top-report ordering catches up with the continuity-aware severity policy that `M8.49` already shipped,
491+
2. expand broader operator rollups only after that prioritization step is in place,
492+
3. keep markdown-reader improvements secondary unless they clearly compound the same study/operator loop more than `M8.50`.
493493

494494
## Related Pages
495495

496+
- [Mainline Reconciliation After M8.49 Triage Prioritization Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-49-triage-prioritization-requirements.md)
496497
- [Mainline Reconciliation After M8.48 Triage Policy Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-48-triage-policy-requirements.md)
497498
- [Mainline Reconciliation After M8.47 Operator Consumer Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-47-operator-consumer-requirements.md)
498499
- [Mainline Reconciliation After M8.46 Operator Continuity Summary Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-46-operator-continuity-summary-requirements.md)

docs/diataxis/en/explanation/development-progress-dashboard.md

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ It explicitly separates branch-level implementation status from mainline integra
66
## Scope
77

88
- Focus area: local-first knowledge mastery platform (ingest, retrieval, learning path, tutor, memory, governance).
9-
- Time window: `v1.7.0` through the 2026-04-21 foundation-integration checkpoint, the 2026-04-21 UTC CI review cycle, and the post-`M8.48` reconciliation pass.
9+
- Time window: `v1.7.0` through the 2026-04-21 foundation-integration checkpoint, the 2026-04-21 UTC CI review cycle, and the post-`M8.49` reconciliation pass.
1010
- Evidence rule: every progress claim must map to:
1111
- contract layer (`src/learning/api.ts`, `src/learning/types.ts`),
1212
- route/runtime layer (`src/server.ts`),
@@ -18,13 +18,13 @@ Current top priority is not feature-count expansion.
1818
Current top priority is **conversation-product hardening on top of the already-green backend baseline**:
1919

2020
- keep backend sufficiency as a standing decision gate rather than an active execution lane,
21-
- keep closing the correction/product/operator gap exposed after `M8.20-M8.48`,
22-
- treat `M8.23` as the operator-visibility baseline for conversation-memory/correction actions, `M8.24` as the active-atom action-surface baseline, `M8.25` as the active-atom pane-state continuity baseline, `M8.26` as the active-atom study-loop summary baseline, `M8.27` as the active-atom recent-result continuity baseline, `M8.28` as the active-atom result-preview baseline, `M8.29` as the active-atom history-drill-down baseline, `M8.30` as the active-atom history follow-up baseline, `M8.31` as the active-atom history freshness-ranking baseline, `M8.32` as the active-atom history rationale/alternative baseline, `M8.33` as the active-atom history confidence-signal baseline, `M8.34` as the primary-vs-secondary tradeoff explanation baseline, `M8.35` as the adjacent-history drift explanation baseline, `M8.36` as the adjacent-history stability explanation baseline, `M8.37` as the adjacent-history stability-signal baseline, `M8.38` as the managed-memory gap follow-up baseline, `M8.39` as the managed-memory continuity-transition baseline, `M8.40` as the managed-memory continuity-rollup baseline, `M8.41` as the managed-memory continuity next-step-rollup baseline, `M8.42` as the managed-memory resolved-action-rollup baseline, `M8.43` as the managed-memory latest-transition-signal baseline, `M8.44` as the managed-memory mixed latest-transition-rollup baseline, `M8.45` as the managed-memory continuity-index-rollup baseline, `M8.46` as the managed-memory continuity breadth/freshness metadata baseline, `M8.47` as the operator diagnostics continuity-summary promotion baseline, and `M8.48` as the continuity-aware triage/runbook consumption baseline,
23-
- treat `M8.49` continuity-aware triage policy calibration as the current highest-leverage next unit, because runbook guidance now consumes continuity context while the risk-bucket policy still ignores the same normalized digest,
24-
- keep broader operator dashboards and deeper personalization behind that policy-calibration seam so the next operator action can still reuse one normalized continuity digest instead of inventing another rollup path,
21+
- keep closing the correction/product/operator gap exposed after `M8.20-M8.49`,
22+
- treat `M8.23` as the operator-visibility baseline for conversation-memory/correction actions, `M8.24` as the active-atom action-surface baseline, `M8.25` as the active-atom pane-state continuity baseline, `M8.26` as the active-atom study-loop summary baseline, `M8.27` as the active-atom recent-result continuity baseline, `M8.28` as the active-atom result-preview baseline, `M8.29` as the active-atom history-drill-down baseline, `M8.30` as the active-atom history follow-up baseline, `M8.31` as the active-atom history freshness-ranking baseline, `M8.32` as the active-atom history rationale/alternative baseline, `M8.33` as the active-atom history confidence-signal baseline, `M8.34` as the primary-vs-secondary tradeoff explanation baseline, `M8.35` as the adjacent-history drift explanation baseline, `M8.36` as the adjacent-history stability explanation baseline, `M8.37` as the adjacent-history stability-signal baseline, `M8.38` as the managed-memory gap follow-up baseline, `M8.39` as the managed-memory continuity-transition baseline, `M8.40` as the managed-memory continuity-rollup baseline, `M8.41` as the managed-memory continuity next-step-rollup baseline, `M8.42` as the managed-memory resolved-action-rollup baseline, `M8.43` as the managed-memory latest-transition-signal baseline, `M8.44` as the managed-memory mixed latest-transition-rollup baseline, `M8.45` as the managed-memory continuity-index-rollup baseline, `M8.46` as the managed-memory continuity breadth/freshness metadata baseline, `M8.47` as the operator diagnostics continuity-summary promotion baseline, `M8.48` as the continuity-aware triage/runbook consumption baseline, and `M8.49` as the continuity-aware triage policy calibration baseline,
23+
- treat `M8.50` continuity-aware triage prioritization as the current highest-leverage next unit, because severity is now continuity-aware while top-report ordering still remains replay-rate-only,
24+
- keep broader operator dashboards and deeper personalization behind that prioritization seam so the next operator action can still reuse one normalized continuity digest instead of inventing another rollup path,
2525
- keep remote `main` CI interpretation evidence-based: the latest fully completed `main` workflow set is green, and new pushes should be treated as pending until their workflow set finishes.
2626

27-
## Current Mainline Snapshot (2026-04-21 Baseline Split: Foundation M8.18 / Conversation M8.48)
27+
## Current Mainline Snapshot (2026-04-21 Baseline Split: Foundation M8.18 / Conversation M8.49)
2828

2929
- Foundation baseline on `main` is currently:
3030
- status `integrated`
@@ -38,19 +38,20 @@ Current top priority is **conversation-product hardening on top of the already-g
3838
- Historical increment sections below remain chronological archive entries.
3939
- When a historical section says `in_progress` / `no-go`, read it as past checkpoint truth rather than current repo state.
4040

41-
## Reconciliation Notes (2026-04-21 Post-M8.48)
41+
## Reconciliation Notes (2026-04-21 Post-M8.49)
4242

4343
- The active mainline question is no longer whether backend sufficiency work should continue.
4444
That lane is closed-by-default while its gate stays green.
45-
- The active mainline question is also no longer whether tradeoff, drift, stability explanation, stability signaling, managed-memory continuity targeting, compact continuity rollups, compact persistent-gap next-step rollups, resolved-action retirement rollups, latest-transition signals, mixed latest-pair rollups, continuity-index rollups, bounded continuity breadth/freshness metadata, server-readable continuity-summary promotion, and continuity-aware runbook consumption should be added.
46-
`M8.34`, `M8.35`, `M8.36`, `M8.37`, `M8.38`, `M8.39`, `M8.40`, `M8.41`, `M8.42`, `M8.43`, `M8.44`, `M8.45`, `M8.46`, `M8.47`, and `M8.48` now ship that continuity-explanation layer on the expanded history and operator-summary surfaces.
47-
- The next gap is no longer whether operators can see continuity context inside runbook actions.
48-
The sharper seam is that risk-bucket policy still ignores persistent continuity signals even after runbook guidance now consumes the normalized continuity summary.
45+
- The active mainline question is also no longer whether tradeoff, drift, stability explanation, stability signaling, managed-memory continuity targeting, compact continuity rollups, compact persistent-gap next-step rollups, resolved-action retirement rollups, latest-transition signals, mixed latest-pair rollups, continuity-index rollups, bounded continuity breadth/freshness metadata, server-readable continuity-summary promotion, continuity-aware runbook consumption, and continuity-aware severity calibration should be added.
46+
`M8.34`, `M8.35`, `M8.36`, `M8.37`, `M8.38`, `M8.39`, `M8.40`, `M8.41`, `M8.42`, `M8.43`, `M8.44`, `M8.45`, `M8.46`, `M8.47`, `M8.48`, and `M8.49` now ship that continuity-explanation layer on the expanded history and operator-summary surfaces.
47+
- The next gap is no longer whether persistent continuity should affect severity policy.
48+
The sharper seam is that top-report prioritization still sorts by raw replay rate even after severity itself has become continuity-aware.
4949
- Remote `main` CI is currently green on the latest push.
5050
Current-facing docs must treat CI repair as dormant unless a fresh failing run exists.
5151

5252
Execution anchor:
5353

54+
- [Mainline Reconciliation After M8.49 Triage Prioritization Requirements (2026-04-21)](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-49-triage-prioritization-requirements.md)
5455
- [Mainline Reconciliation After M8.48 Triage Policy Requirements (2026-04-21)](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-48-triage-policy-requirements.md)
5556
- [Mainline Reconciliation After M8.47 Operator Consumer Requirements (2026-04-21)](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-47-operator-consumer-requirements.md)
5657
- [Mainline Reconciliation After M8.46 Operator Continuity Summary Requirements (2026-04-21)](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-46-operator-continuity-summary-requirements.md)
@@ -239,6 +240,21 @@ Execution anchor:
239240
- diagnostics snapshot coverage for stored preview payloads,
240241
- EN/ZH re-render coverage for localized preview text.
241242

243+
## Latest Mainline Increment (2026-04-21 M8.49 Continuity-Aware Triage Policy Calibration)
244+
245+
- Extended continuity awareness from runbook guidance into severity policy:
246+
- `replayRiskLevel` now promotes one tier when normalized persistent continuity signals remain present,
247+
- operator-facing metadata now persists `replayRiskSignals` so the calibrated severity remains explainable,
248+
- triage/history payloads now expose those same signals next to the calibrated risk level.
249+
- Kept the slice bounded and explainable:
250+
- continuity can only boost severity by one tier,
251+
- no new persistence model, route family, or dashboard surface was introduced,
252+
- `topReplayReports` ordering still remains replay-rate-only for now.
253+
- Expanded regression coverage for:
254+
- low-to-medium continuity boosts,
255+
- medium-to-high continuity boosts,
256+
- continuity-aware triage/history signal payloads.
257+
242258
## Latest Mainline Increment (2026-04-21 M8.48 Continuity-Aware Triage/Runbook Consumption)
243259

244260
- Extended operator-consumer logic from transport into runbook guidance:
@@ -1550,6 +1566,7 @@ Interpretation:
15501566

15511567
This dashboard aligns against the following requirement chain:
15521568

1569+
- [2026-04-21 Mainline Reconciliation After M8.49 Triage Prioritization Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-49-triage-prioritization-requirements.md)
15531570
- [2026-04-21 Mainline Reconciliation After M8.48 Triage Policy Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-48-triage-policy-requirements.md)
15541571
- [2026-04-21 Mainline Reconciliation After M8.47 Operator Consumer Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-47-operator-consumer-requirements.md)
15551572
- [2026-04-21 Mainline Reconciliation After M8.46 Operator Continuity Summary Requirements](../../../brainstorms/2026-04-21-mainline-reconciliation-after-m8-46-operator-continuity-summary-requirements.md)
@@ -1623,10 +1640,10 @@ Note: foundation-lane gates now exist on `main`; keep them in the normal verific
16231640

16241641
1. Treat backend sufficiency as closed-by-default while the gate remains green; do not reopen heavier backend work without new measured pressure.
16251642
2. Treat remote `main` CI as evidence-bound to the latest fully completed workflow set; only reopen CI-triage narrative when a fresh failing run exists.
1626-
3. Make the next planning round about `M8.49` continuity-aware triage policy calibration:
1627-
- keep any new policy logic bounded to already-normalized continuity-summary fields,
1628-
- prefer explainable continuity-aware severity calibration before any larger operator dashboard expansion,
1629-
- keep markdown-reader improvements secondary unless they strengthen the same study/operator loop more than `M8.49`.
1643+
3. Make the next planning round about `M8.50` continuity-aware triage prioritization:
1644+
- keep any new prioritization logic bounded to already-normalized fast-path fields,
1645+
- prefer explainable ordering changes before any larger operator dashboard expansion,
1646+
- keep markdown-reader improvements secondary unless they strengthen the same study/operator loop more than `M8.50`.
16301647
4. Treat notification-threshold governance as closed after `M7.29`; do not plan `M7.30+` unless a materially new operator requirement appears.
16311648
5. Keep markdown-reader governance bounded and secondary until the conversation-product lane is explicitly reprioritized.
16321649

0 commit comments

Comments
 (0)