@caddis/cli 0.4.44 → 0.4.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/antigravity-plugin/plugin.json +1 -1
- package/bundles/antigravity-plugin/scripts/claude-oss.ps1 +15 -3
- package/bundles/antigravity-plugin/scripts/claude-oss.sh +12 -1
- package/bundles/antigravity-plugin/skills/_registry.md +1 -0
- package/bundles/antigravity-plugin/skills/flow-studio/README.md +92 -0
- package/bundles/antigravity-plugin/skills/flow-studio/SKILL.md +102 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/README.md +19 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/agent-journey.json +103 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/approval-flow.json +134 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/ci-cd-pipeline.json +132 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/hostile.json +1783 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/incident-timeline.json +109 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/lineage.json +1778 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/order-desk.json +99 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/service-map.json +133 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/state-machine.json +106 -0
- package/bundles/antigravity-plugin/skills/flow-studio/examples/ticket-lifecycle.json +107 -0
- package/bundles/antigravity-plugin/skills/flow-studio/model.schema.json +142 -0
- package/bundles/antigravity-plugin/skills/flow-studio/package.json +11 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/FlowStudioView.test.tsx +82 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/FlowStudioView.tsx +67 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/README.md +37 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/index.ts +3 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/FlowCanvas.tsx +58 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/Inspector.tsx +27 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/index.ts +6 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/native.css +18 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/native.test.tsx +161 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/useFlowGeometry.ts +22 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/useTrace.ts +29 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/native/useViewport.ts +75 -0
- package/bundles/antigravity-plugin/skills/flow-studio/react/states.tsx +13 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/design-language.md +169 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/implement-in-app.md +213 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/model-schema.md +254 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/notes-and-spec.md +74 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/patterns.md +415 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/ux-rules.md +91 -0
- package/bundles/antigravity-plugin/skills/flow-studio/references/verify.md +124 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/build-engine.mjs +95 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/build.mjs +54 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/check.mjs +680 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/default-notes.json +67 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/auto-entry-guard.mjs +5 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/auto-entry-guard.test.mjs +14 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/auto-entry.test.mjs +31 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/build-engine.test.mjs +54 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/check-args.mjs +18 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/check-args.test.mjs +15 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/check-selftest.test.mjs +135 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/cli.test.mjs +179 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/demo-pack.mjs +23 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/demo-pack.test.mjs +34 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/docs.test.mjs +128 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/embed.mjs +24 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/embed.test.mjs +29 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/library.test.mjs +26 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/react-proof-cleanup.mjs +12 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/react-proof-cleanup.test.mjs +45 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/react-proof-page.mjs +3 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/lib/react-proof-page.test.mjs +9 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/react-proof.mjs +92 -0
- package/bundles/antigravity-plugin/skills/flow-studio/scripts/validate.mjs +42 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/autolayout.test.ts +78 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/autolayout.ts +132 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/chrome.ts +175 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/controls.ts +239 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/ctx.ts +134 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/diff.test.ts +31 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/diff.ts +34 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/engine.ts +193 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/inspector.ts +126 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/interact.ts +253 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/layout.test.ts +144 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/layout.ts +95 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/lib.ts +20 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/metrics.test.ts +57 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/metrics.ts +29 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/model.test.ts +167 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/model.ts +250 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/notes.ts +100 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/page.ts +21 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/playback.test.ts +104 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/playback.ts +106 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/playbackui.ts +193 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/render.ts +203 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/routing.test.ts +33 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/routing.ts +43 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/rules.test.ts +135 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/rules.ts +86 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/selection.test.ts +12 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/selection.ts +4 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/stateCss.test.ts +73 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/stateCss.ts +45 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/styles.css +190 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/trace.test.ts +40 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/trace.ts +40 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/viewport.test.ts +55 -0
- package/bundles/antigravity-plugin/skills/flow-studio/src/viewport.ts +45 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/engine.html +2656 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/engine.shell.html +23 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/flow-studio.css +190 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/flow-studio.lib.d.mts +1 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/flow-studio.lib.mjs +2491 -0
- package/bundles/antigravity-plugin/skills/flow-studio/templates/shell-body.html +50 -0
- package/bundles/antigravity-plugin/skills/flow-studio/tsconfig.json +17 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/README.md +92 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/SKILL.md +102 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/README.md +19 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/agent-journey.json +103 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/approval-flow.json +134 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/ci-cd-pipeline.json +132 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/hostile.json +1783 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/incident-timeline.json +109 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/lineage.json +1778 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/order-desk.json +99 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/service-map.json +133 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/state-machine.json +106 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/examples/ticket-lifecycle.json +107 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/model.schema.json +142 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/package.json +11 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/FlowStudioView.test.tsx +82 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/FlowStudioView.tsx +67 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/README.md +37 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/index.ts +3 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/FlowCanvas.tsx +58 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/Inspector.tsx +27 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/index.ts +6 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/native.css +18 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/native.test.tsx +161 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/useFlowGeometry.ts +22 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/useTrace.ts +29 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/native/useViewport.ts +75 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/react/states.tsx +13 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/design-language.md +169 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/implement-in-app.md +213 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/model-schema.md +254 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/notes-and-spec.md +74 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/patterns.md +415 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/ux-rules.md +91 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/references/verify.md +124 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/build-engine.mjs +95 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/build.mjs +54 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/check.mjs +680 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/default-notes.json +67 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/auto-entry-guard.mjs +5 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/auto-entry-guard.test.mjs +14 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/auto-entry.test.mjs +31 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/build-engine.test.mjs +54 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/check-args.mjs +18 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/check-args.test.mjs +15 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/check-selftest.test.mjs +135 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/cli.test.mjs +179 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/demo-pack.mjs +23 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/demo-pack.test.mjs +34 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/docs.test.mjs +128 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/embed.mjs +24 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/embed.test.mjs +29 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/library.test.mjs +26 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/react-proof-cleanup.mjs +12 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/react-proof-cleanup.test.mjs +45 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/react-proof-page.mjs +3 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/lib/react-proof-page.test.mjs +9 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/react-proof.mjs +92 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/scripts/validate.mjs +42 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/autolayout.test.ts +78 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/autolayout.ts +132 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/chrome.ts +175 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/controls.ts +239 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/ctx.ts +134 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/diff.test.ts +31 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/diff.ts +34 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/engine.ts +193 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/inspector.ts +126 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/interact.ts +253 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/layout.test.ts +144 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/layout.ts +95 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/lib.ts +20 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/metrics.test.ts +57 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/metrics.ts +29 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/model.test.ts +167 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/model.ts +250 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/notes.ts +100 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/page.ts +21 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/playback.test.ts +104 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/playback.ts +106 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/playbackui.ts +193 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/render.ts +203 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/routing.test.ts +33 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/routing.ts +43 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/rules.test.ts +135 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/rules.ts +86 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/selection.test.ts +12 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/selection.ts +4 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/stateCss.test.ts +73 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/stateCss.ts +45 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/styles.css +190 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/trace.test.ts +40 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/trace.ts +40 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/viewport.test.ts +55 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/src/viewport.ts +45 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/engine.html +2656 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/engine.shell.html +23 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/flow-studio.css +190 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/flow-studio.lib.d.mts +1 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/flow-studio.lib.mjs +2491 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/templates/shell-body.html +50 -0
- package/bundles/codex/.codex/skills/frontend/flow-studio/tsconfig.json +17 -0
- package/bundles/manifest.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"meta": {
|
|
4
|
+
"title": "OUTAGE INCIDENT TIMELINE",
|
|
5
|
+
"help": "Examine a multi-service outage timeline from root failure through blast radius propagation and final recovery.",
|
|
6
|
+
"asOf": "2026-10-06",
|
|
7
|
+
"source": "Fictional Contoso Retail production telemetry. No real hostnames or outage incidents are used."
|
|
8
|
+
},
|
|
9
|
+
"layout": "columns-lanes",
|
|
10
|
+
"columns": [
|
|
11
|
+
{ "id": "t_minus_30", "title": "T-30m", "width": 150 },
|
|
12
|
+
{ "id": "t_minus_10", "title": "T-10m", "width": 150 },
|
|
13
|
+
{ "id": "t_zero", "title": "T0", "width": 150 },
|
|
14
|
+
{ "id": "t_plus_10", "title": "T+10m", "width": 150 },
|
|
15
|
+
{ "id": "t_plus_30", "title": "T+30m", "width": 150 },
|
|
16
|
+
{ "id": "t_plus_1h", "title": "T+1h", "width": 150 }
|
|
17
|
+
],
|
|
18
|
+
"lanes": [
|
|
19
|
+
{ "id": "gateway", "title": "Gateway" },
|
|
20
|
+
{ "id": "orders", "title": "Orders API" },
|
|
21
|
+
{ "id": "db", "title": "Database" },
|
|
22
|
+
{ "id": "cache", "title": "Cache" },
|
|
23
|
+
{ "id": "alerting", "title": "Alerting" },
|
|
24
|
+
{ "id": "oncall", "title": "On-call" }
|
|
25
|
+
],
|
|
26
|
+
"states": {
|
|
27
|
+
"normal": { "word": "NORMAL", "tone": "ok", "border": "solid", "edge": "flow", "motion": "flow", "bucket": "good" },
|
|
28
|
+
"degraded": { "word": "DEGRADED", "tone": "warn", "border": "dashed", "edge": "dash", "motion": "flow-slow", "bucket": "neutral" },
|
|
29
|
+
"failed": { "word": "FAILED", "tone": "crit", "border": "dotted", "edge": "dot", "motion": "breathe", "bucket": "gap" },
|
|
30
|
+
"recovered": { "word": "RECOVERED", "tone": "accent", "border": "solid", "edge": "dash-short", "motion": "none", "bucket": "good" }
|
|
31
|
+
},
|
|
32
|
+
"views": [
|
|
33
|
+
{ "id": "detection", "label": "At detection", "default": true },
|
|
34
|
+
{ "id": "fixed", "label": "After the fix" }
|
|
35
|
+
],
|
|
36
|
+
"nodes": [
|
|
37
|
+
{ "id": "gw-drain", "kind": "card", "lane": "gateway", "col": 3, "row": 0, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Throttle ingress" },
|
|
38
|
+
{ "id": "gw-green", "kind": "end", "lane": "gateway", "col": 5, "row": 0, "state": "recovered", "stateIn": { "fixed": "recovered" }, "title": "Gateway clear" },
|
|
39
|
+
{ "id": "ord-normal", "kind": "start", "lane": "orders", "col": 0, "row": 2, "state": "normal", "stateIn": { "fixed": "normal" }, "title": "Baseline traffic" },
|
|
40
|
+
{ "id": "ord-circuit", "kind": "card", "lane": "orders", "col": 3, "row": 2, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Trip circuit breaker" },
|
|
41
|
+
{ "id": "ord-healthy", "kind": "end", "lane": "orders", "col": 5, "row": 2, "state": "recovered", "stateIn": { "fixed": "recovered" }, "title": "Orders nominal" },
|
|
42
|
+
{ "id": "db-load", "kind": "card", "lane": "db", "col": 1, "row": 4, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Lock contention" },
|
|
43
|
+
{ "id": "db-fail", "kind": "card", "lane": "db", "col": 2, "row": 4, "state": "failed", "stateIn": { "fixed": "normal" }, "title": "Pool exhausted" },
|
|
44
|
+
{ "id": "db-restart", "kind": "card", "lane": "db", "col": 3, "row": 4, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Promote replica" },
|
|
45
|
+
{ "id": "db-stable", "kind": "end", "lane": "db", "col": 5, "row": 4, "state": "recovered", "stateIn": { "fixed": "recovered" }, "title": "Database stable" },
|
|
46
|
+
{ "id": "c-flush", "kind": "card", "lane": "cache", "col": 1, "row": 6, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Memory eviction" },
|
|
47
|
+
{ "id": "c-reconnect", "kind": "card", "lane": "cache", "col": 4, "row": 6, "state": "normal", "stateIn": { "fixed": "recovered" }, "title": "Rebuild cache" },
|
|
48
|
+
{ "id": "alt-status", "kind": "card", "lane": "alerting", "col": 3, "row": 8, "state": "degraded", "stateIn": { "fixed": "normal" }, "title": "Post status page" },
|
|
49
|
+
{ "id": "onc-page", "kind": "card", "lane": "oncall", "col": 3, "row": 10, "state": "failed", "stateIn": { "fixed": "normal" }, "title": "Page engineer", "sla": 120, "metrics": { "label": "Ack time", "value": 150, "max": 180, "unit": "s" } },
|
|
50
|
+
{ "id": "onc-mitigate", "kind": "card", "lane": "oncall", "col": 4, "row": 10, "state": "normal", "stateIn": { "fixed": "recovered" }, "title": "Execute runbook" },
|
|
51
|
+
{ "id": "onc-resolve", "kind": "end", "lane": "oncall", "col": 5, "row": 10, "state": "recovered", "stateIn": { "fixed": "recovered" }, "title": "Incident resolved" }
|
|
52
|
+
],
|
|
53
|
+
"links": [
|
|
54
|
+
{ "id": "l-ord-dbload", "from": "ord-normal", "to": "db-load", "state": "degraded" },
|
|
55
|
+
{ "id": "l-ord-cflush", "from": "ord-normal", "to": "c-flush", "state": "degraded" },
|
|
56
|
+
{ "id": "l-dbload-fail", "from": "db-load", "to": "db-fail", "state": "failed" },
|
|
57
|
+
{ "id": "l-cflush-fail", "from": "c-flush", "to": "db-fail", "state": "failed" },
|
|
58
|
+
{ "id": "l-fail-page", "from": "db-fail", "to": "onc-page", "state": "failed", "label": "P1 alarm" },
|
|
59
|
+
{ "id": "l-fail-gw", "from": "db-fail", "to": "gw-drain", "state": "degraded", "label": "Ingress drop" },
|
|
60
|
+
{ "id": "l-fail-ord", "from": "db-fail", "to": "ord-circuit", "state": "degraded", "label": "500 spikes" },
|
|
61
|
+
{ "id": "l-fail-restart", "from": "db-fail", "to": "db-restart", "state": "degraded", "label": "Failover" },
|
|
62
|
+
{ "id": "l-fail-alt", "from": "db-fail", "to": "alt-status", "state": "degraded", "label": "SLO breached" },
|
|
63
|
+
{ "id": "l-restart-cache", "from": "db-restart", "to": "c-reconnect", "state": "normal" },
|
|
64
|
+
{ "id": "l-page-mitigate", "from": "onc-page", "to": "onc-mitigate", "state": "normal" },
|
|
65
|
+
{ "id": "l-ord-mitigate", "from": "ord-circuit", "to": "onc-mitigate", "state": "normal" },
|
|
66
|
+
{ "id": "l-cache-ord", "from": "c-reconnect", "to": "ord-healthy", "state": "recovered" },
|
|
67
|
+
{ "id": "l-gw-green", "from": "gw-drain", "to": "gw-green", "state": "recovered" },
|
|
68
|
+
{ "id": "l-mitigate-db", "from": "onc-mitigate", "to": "db-stable", "state": "recovered" },
|
|
69
|
+
{ "id": "l-mitigate-resolve", "from": "onc-mitigate", "to": "onc-resolve", "state": "recovered" },
|
|
70
|
+
{ "id": "l-alt-resolve", "from": "alt-status", "to": "onc-resolve", "state": "recovered" }
|
|
71
|
+
],
|
|
72
|
+
"scenarios": [
|
|
73
|
+
{
|
|
74
|
+
"id": "mitigation",
|
|
75
|
+
"label": "Remediation path",
|
|
76
|
+
"steps": [
|
|
77
|
+
{ "link": "l-page-mitigate", "at": 0, "caption": "On-call executes mitigation runbook" },
|
|
78
|
+
{ "link": "l-mitigate-db", "at": 30, "caption": "Database replica confirmed stable" }
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "escalated",
|
|
83
|
+
"label": "Incident replay",
|
|
84
|
+
"steps": [
|
|
85
|
+
{ "link": "l-ord-dbload", "at": 0, "caption": "T-30m: High volume drives database connection strain" },
|
|
86
|
+
{ "link": "l-dbload-fail", "at": 30, "caption": "T-10m: Lock contention triggers connection pool exhaustion" },
|
|
87
|
+
{ "link": "l-fail-page", "at": 150, "caption": "T0: Outage alarm breaches acknowledgment SLA" },
|
|
88
|
+
{ "link": "l-page-mitigate", "at": 210, "caption": "T+10m: Primary failover script executed" },
|
|
89
|
+
{ "link": "l-mitigate-resolve", "at": 300, "caption": "T+30m: Services restored and status cleared" }
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"inspector": {
|
|
94
|
+
"relations": [
|
|
95
|
+
{ "id": "upstream-cause", "label": "Root cause", "dir": "up" },
|
|
96
|
+
{ "id": "down", "label": "Blast radius", "dir": "down" },
|
|
97
|
+
{ "id": "recovery", "label": "Resolved at", "dir": "down", "filter": { "kind": "end" } }
|
|
98
|
+
],
|
|
99
|
+
"actions": [
|
|
100
|
+
{ "id": "sim-blast", "label": "Simulate: this failed", "dir": "down", "staleText": "Simulating failure propagation across dependents" }
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"notes": [
|
|
104
|
+
{ "anchor": "#n_db-fail", "title": "Root failure trigger", "text": "Connection pool collapse directly triggers downstream throttling and circuit breaker activation." },
|
|
105
|
+
{ "anchor": "#n_onc-page", "title": "On-call paging SLA", "text": "Paging policies mandate engineer acknowledgement within two minutes of P1 alarm generation." },
|
|
106
|
+
{ "anchor": "#modeSwitch", "title": "Incident timeline views", "text": "Toggle between initial outage detection and post-mitigation stable state." },
|
|
107
|
+
{ "anchor": "#playbar", "title": "Incident chronology replay", "text": "Run replay to observe chronological outage progression from trigger to resolution." }
|
|
108
|
+
]
|
|
109
|
+
}
|