Skip to content

Commit 0b50c64

Browse files
committed
feat(agent-workspace): add escalation SLA breach reminders
1 parent d5cc7b3 commit 0b50c64

8 files changed

Lines changed: 735 additions & 12 deletions

docs/brainstorms/2026-04-16-mainline-ci-stabilization-and-m7-direction-requirements.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,34 @@ Deliverables:
500500
- `npm run test:agent-workspace:contracts`
501501
- `npm run verify:agent-workspace:runtime`
502502

503+
### M7.16 (Now): Escalation SLA Breach Detection and Overdue Acknowledgement Reminders (Lane Ops Bridge)
504+
505+
Deliverables:
506+
507+
- add deterministic escalation SLA breach detection for overdue acknowledgement and overdue resolution windows.
508+
- add overdue reminder surface for unresolved remediation escalation actions.
509+
- persist escalation monitor trail to preserve first-detected timestamps for SLA evaluation.
510+
511+
#### M7.16 Progress Note (2026-04-16)
512+
513+
- [Done] expanded `src/server.ts` with escalation SLA/reminder routes:
514+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla?window=...&strategy=...&limit=...`,
515+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders?window=...&strategy=...&limit=...`.
516+
- [Done] added deterministic escalation monitor + SLA helper stack:
517+
- `refreshAgentWorkspaceDiagnosticsRemediationEscalationMonitorTrail(...)`,
518+
- `buildAgentWorkspaceDiagnosticsRemediationEscalationSlaReport(...)`,
519+
- persisted monitor artifact: `agent_workspace_diagnostics/triage_remediation_escalation_monitor.v1.json`.
520+
- [Done] extended escalation route observability:
521+
- `/triage/remediation/escalation` now emits `slaSummary` derived from current SLA report.
522+
- [Done] expanded evidence coverage:
523+
- `src/server.migration.test.ts` now validates stale escalation monitor seeding, ack-overdue SLA breach detection, reminder payload semantics, and monitor trail persistence invariants.
524+
- `src/knowledge.api.contract.test.ts` now fail-fast checks escalation SLA/reminder route contracts.
525+
- `src/agent_workspace.verification.contract.test.ts` + `scripts/verify-agent-workspace-runtime.js` now fail fast on SLA/reminder helper and route drift.
526+
- [Done] verification evidence:
527+
- `npm test -- src/server.migration.test.ts --runInBand --testNamePattern "triage route summarizes replay risk|triage history and alert-threshold governance|adaptive threshold simulation and remediation guardrails|remediation backtest and approval-gate flow|approval policy hardening and remediation trend-regression alarms|approval-policy drift detection and alarm-to-runbook escalation stay deterministic|escalation acknowledgement lifecycle and runbook-action status audit trail stay deterministic|escalation SLA breach detection and overdue acknowledgement reminders stay deterministic"`
528+
- `npm run test:agent-workspace:contracts`
529+
- `npm run verify:agent-workspace:runtime`
530+
503531
## Success Criteria
504532

505533
- CI failure mode that previously blocked the three agent-workspace suites is eliminated on mainline.
@@ -509,4 +537,4 @@ Deliverables:
509537

510538
## Next Step
511539

512-
Proceed to `/prompts:ce-plan` using this document as the source for `M7.16` decomposition (escalation SLA breach detection and overdue acknowledgement reminders), while preserving M7 lane boundary constraints.
540+
Proceed to `/prompts:ce-plan` using this document as the source for `M7.17` decomposition (escalation notification digest cadence and reminder suppression policy), while preserving M7 lane boundary constraints.

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,27 @@ Execution anchor:
504504
- `npm run test:agent-workspace:contracts`
505505
- `npm run verify:agent-workspace:runtime`
506506

507+
## Latest Mainline Increment (2026-04-16 M7.16 Escalation SLA Breach Detection and Overdue Reminder Lane)
508+
509+
- Expanded `src/server.ts` with escalation SLA/reminder routes:
510+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla?window=...&strategy=...&limit=...`,
511+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders?window=...&strategy=...&limit=...`.
512+
- Added deterministic escalation monitor + SLA helpers:
513+
- persisted monitor trail for first-detected timestamps,
514+
- overdue acknowledgement breach detection,
515+
- overdue resolution breach detection,
516+
- reminder synthesis for overdue escalation actions.
517+
- Extended escalation observability:
518+
- `/triage/remediation/escalation` now emits `slaSummary` for immediate governance visibility.
519+
- Extended executable evidence:
520+
- `src/server.migration.test.ts` now validates stale monitor seeding, SLA breach payload semantics, overdue reminder payloads, and monitor persistence invariants.
521+
- Hardened runtime verification gate:
522+
- `src/knowledge.api.contract.test.ts`, `src/agent_workspace.verification.contract.test.ts`, and `scripts/verify-agent-workspace-runtime.js` now fail fast on escalation SLA/reminder routes and helper drift.
523+
- Verification evidence:
524+
- `npm test -- src/server.migration.test.ts --runInBand --testNamePattern \"triage route summarizes replay risk|triage history and alert-threshold governance|adaptive threshold simulation and remediation guardrails|remediation backtest and approval-gate flow|approval policy hardening and remediation trend-regression alarms|approval-policy drift detection and alarm-to-runbook escalation stay deterministic|escalation acknowledgement lifecycle and runbook-action status audit trail stay deterministic|escalation SLA breach detection and overdue acknowledgement reminders stay deterministic\"`
525+
- `npm run test:agent-workspace:contracts`
526+
- `npm run verify:agent-workspace:runtime`
527+
507528
## Mainline vs Working-Branch Snapshot (2026-04-14)
508529

509530
| Capability Slice | Working Branch (`feat/learning-multi-tutor-adapter`) | Mainline (`origin/main`) | Integration Status |
@@ -552,7 +573,7 @@ This dashboard aligns against the following requirement chain:
552573
| L2 Retrieval | explainable hybrid/vector retrieval + governance | Expanded in branch-oriented plans | Mainline file-backed baseline only (`src/learning/store.ts`) | Re-enter lane after concrete module evidence lands on mainline |
553574
| L3 Learning | mastery diagnostics + path/session loop | Expanded in branch | Partially integrated | Contract and integration parity |
554575
| L4 Interaction | agent conversation + focus/path pane runtime | Implemented in branch | M1-M4 baseline integrated on mainline | Expand capability surface via typed contract only |
555-
| L5 Governance | runbook, diagnostics, replay/autonomy controls | Expanded in branch | Operator diagnostics persistence/triage/history/threshold governance + runbook automation/audit + adaptive simulation/remediation + remediation backtest/approval-gate + approval-policy hardening/regression-alarms + approval-policy drift/escalation + escalation acknowledgement lifecycle/audit baseline integrated | Add escalation SLA breach detection and overdue acknowledgement reminders |
576+
| L5 Governance | runbook, diagnostics, replay/autonomy controls | Expanded in branch | Operator diagnostics persistence/triage/history/threshold governance + runbook automation/audit + adaptive simulation/remediation + remediation backtest/approval-gate + approval-policy hardening/regression-alarms + approval-policy drift/escalation + escalation acknowledgement lifecycle/audit + escalation SLA/reminder baseline integrated | Add escalation notification digest cadence and reminder suppression policy |
556577

557578
## Verification Baseline
558579

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,27 @@
506506
- `npm run test:agent-workspace:contracts`
507507
- `npm run verify:agent-workspace:runtime`
508508

509+
## 主线最新增量(2026-04-16 M7.16 升级 SLA 超时检测与逾期提醒链路)
510+
511+
- 已在 `src/server.ts` 增加升级 SLA/提醒路由:
512+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla?window=...&strategy=...&limit=...`
513+
- `GET /api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders?window=...&strategy=...&limit=...`
514+
- 已新增确定性升级监控 + SLA helper 栈:
515+
- 升级 monitor 轨迹持久化(首检时间保留),
516+
- 逾期确认超时检测,
517+
- 逾期解决超时检测,
518+
- 逾期提醒动作合成。
519+
- 已扩展升级可观测性:
520+
- `/triage/remediation/escalation` 输出新增 `slaSummary`,用于治理面即时判断超时态势。
521+
- 已补可执行证据:
522+
- `src/server.migration.test.ts` 新增 stale monitor 注入、SLA breach 载荷断言、逾期提醒载荷断言与 monitor 落盘不变量断言。
523+
- 已加固 runtime 门禁:
524+
- `src/knowledge.api.contract.test.ts``src/agent_workspace.verification.contract.test.ts``scripts/verify-agent-workspace-runtime.js` 新增 escalation SLA/reminder 路由与 helper 的 fail-fast 断言。
525+
- 验证证据:
526+
- `npm test -- src/server.migration.test.ts --runInBand --testNamePattern \"triage route summarizes replay risk|triage history and alert-threshold governance|adaptive threshold simulation and remediation guardrails|remediation backtest and approval-gate flow|approval policy hardening and remediation trend-regression alarms|approval-policy drift detection and alarm-to-runbook escalation stay deterministic|escalation acknowledgement lifecycle and runbook-action status audit trail stay deterministic|escalation SLA breach detection and overdue acknowledgement reminders stay deterministic\"`
527+
- `npm run test:agent-workspace:contracts`
528+
- `npm run verify:agent-workspace:runtime`
529+
509530
## 主线 vs 工作分支快照(2026-04-14)
510531

511532
| 能力切片 | 工作分支(`feat/learning-multi-tutor-adapter`| 主线(`origin/main`| 集成状态 |
@@ -554,7 +575,7 @@
554575
| L2 检索层 | 可解释混合/向量检索 + 治理 | 分支规划增强中 | 主线当前为 file-backed 基线(`src/learning/store.ts`| 待主线出现对应模块证据后再收敛 |
555576
| L3 学习层 | 掌握诊断 + 路径/会话闭环 | 分支增强中 | 主线部分集成 | 契约与集成一致性 |
556577
| L4 交互层 | agent 对话 + focus/path pane 运行时 | 分支已实现 | 主线 M1-M4 已落入基线 | 继续通过 typed contract 扩展动作面 |
557-
| L5 治理层 | runbook/诊断/回放与自动化 | 分支增强中 | 主线已集成运维诊断持久化/分级/趋势历史/阈值治理 + runbook 自动化/阈值审计 + 自适应模拟/自动修复 + 回测/批准门禁 + 批准策略硬化/回归告警 + 批准策略漂移/升级 + 升级确认生命周期/审计基线 | 增补升级 SLA 超时检测与逾期确认提醒 |
578+
| L5 治理层 | runbook/诊断/回放与自动化 | 分支增强中 | 主线已集成运维诊断持久化/分级/趋势历史/阈值治理 + runbook 自动化/阈值审计 + 自适应模拟/自动修复 + 回测/批准门禁 + 批准策略硬化/回归告警 + 批准策略漂移/升级 + 升级确认生命周期/审计 + 升级 SLA/提醒基线 | 增补升级通知摘要节奏与提醒抑制策略 |
558579

559580
## 验证基线
560581

scripts/verify-agent-workspace-runtime.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,14 @@ function verifyAgentWorkspaceRuntime(repoRoot = path.resolve(__dirname, '..')) {
148148
serverSource.includes('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation'),
149149
'Missing diagnostics remediation escalation route in src/server.ts'
150150
);
151+
assert(
152+
serverSource.includes('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla'),
153+
'Missing diagnostics remediation escalation SLA route in src/server.ts'
154+
);
155+
assert(
156+
serverSource.includes('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders'),
157+
'Missing diagnostics remediation escalation reminders route in src/server.ts'
158+
);
151159
assert(
152160
serverSource.includes('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/acknowledgements'),
153161
'Missing diagnostics remediation escalation acknowledgement route in src/server.ts'
@@ -240,6 +248,14 @@ function verifyAgentWorkspaceRuntime(repoRoot = path.resolve(__dirname, '..')) {
240248
serverSource.includes('annotateAgentWorkspaceDiagnosticsRemediationEscalationActionsWithLifecycle'),
241249
'Missing remediation escalation lifecycle annotator in src/server.ts'
242250
);
251+
assert(
252+
serverSource.includes('refreshAgentWorkspaceDiagnosticsRemediationEscalationMonitorTrail'),
253+
'Missing remediation escalation monitor refresher in src/server.ts'
254+
);
255+
assert(
256+
serverSource.includes('buildAgentWorkspaceDiagnosticsRemediationEscalationSlaReport'),
257+
'Missing remediation escalation SLA report builder in src/server.ts'
258+
);
243259
assert(
244260
serverSource.includes('acknowledgeAgentWorkspaceDiagnosticsRemediationEscalation'),
245261
'Missing remediation escalation acknowledge helper in src/server.ts'
@@ -298,12 +314,13 @@ function verifyAgentWorkspaceRuntime(repoRoot = path.resolve(__dirname, '..')) {
298314
'diagnostics remediation policy route exists',
299315
'diagnostics remediation policy drift route exists',
300316
'diagnostics remediation escalation route exists',
317+
'diagnostics remediation escalation SLA/reminder routes exist',
301318
'diagnostics remediation escalation acknowledgement routes exist',
302319
'diagnostics remediation approval routes exist',
303320
'diagnostics triage remediation route exists',
304321
'diagnostics retention governance exists',
305322
'diagnostics alert-threshold governance helpers exist',
306-
'diagnostics threshold simulation, drift, remediation, and escalation helpers exist',
323+
'diagnostics threshold simulation, drift, remediation, escalation, and SLA helpers exist',
307324
'diagnostics remediation policy and alarm helpers exist',
308325
'diagnostics threshold audit helpers exist',
309326
'diagnostics remediation approval trail helpers exist',

src/agent_workspace.verification.contract.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ describe('agent workspace verification script contracts', () => {
6060
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation');
6161
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/acknowledgements');
6262
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/audit');
63+
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla');
64+
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders');
6365
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/acknowledge');
6466
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/approvals');
6567
expect(runtimeSource).toContain('/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/approve');
@@ -81,6 +83,8 @@ describe('agent workspace verification script contracts', () => {
8183
expect(runtimeSource).toContain('readAgentWorkspaceDiagnosticsRemediationEscalationAuditTrail');
8284
expect(runtimeSource).toContain('appendAgentWorkspaceDiagnosticsRemediationEscalationAuditEntry');
8385
expect(runtimeSource).toContain('annotateAgentWorkspaceDiagnosticsRemediationEscalationActionsWithLifecycle');
86+
expect(runtimeSource).toContain('refreshAgentWorkspaceDiagnosticsRemediationEscalationMonitorTrail');
87+
expect(runtimeSource).toContain('buildAgentWorkspaceDiagnosticsRemediationEscalationSlaReport');
8488
expect(runtimeSource).toContain('acknowledgeAgentWorkspaceDiagnosticsRemediationEscalation');
8589
expect(runtimeSource).toContain('requestAgentWorkspaceDiagnosticsRemediationApproval');
8690
expect(runtimeSource).toContain('executeAgentWorkspaceDiagnosticsAutoRemediation');

src/knowledge.api.contract.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ describe('Knowledge mastery API contract wiring', () => {
2424
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation',
2525
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/acknowledgements',
2626
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/audit',
27+
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/sla',
28+
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/reminders',
2729
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/escalation/acknowledge',
2830
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/approvals',
2931
'/api/knowledge/operator/agent-workspace-diagnostics/triage/remediation/approve',

0 commit comments

Comments
 (0)