@jterrats/open-orchestra 1.0.3 → 1.0.4
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/dist/phase-playbooks.js +27 -1
- package/dist/phase-playbooks.js.map +1 -1
- package/dist/skills-catalog.js +69 -0
- package/dist/skills-catalog.js.map +1 -1
- package/dist/workflow-phase-planner.js +36 -5
- package/dist/workflow-phase-planner.js.map +1 -1
- package/docs/backlog/chaos-testing-stack-strategy.md +146 -0
- package/docs/backlog/project-persona-registry-epic.md +350 -0
- package/package.json +1 -1
- package/skills/chaos-resilience-testing/SKILL.md +127 -0
- package/skills/chaos-resilience-testing/manifest.json +61 -0
package/dist/phase-playbooks.js
CHANGED
|
@@ -18,6 +18,28 @@ export const DEFAULT_PHASE_PLAYBOOKS = {
|
|
|
18
18
|
"- Confirm backlog item ID, dependencies, assumptions, and edge cases.",
|
|
19
19
|
"- Clarify what is out of scope before implementation starts.",
|
|
20
20
|
].join("\n"),
|
|
21
|
+
ux_design: [
|
|
22
|
+
"# UX Design Playbook",
|
|
23
|
+
"",
|
|
24
|
+
"## UX Design",
|
|
25
|
+
"",
|
|
26
|
+
"- Translate acceptance criteria into a concrete user flow before architecture starts.",
|
|
27
|
+
"- Define layout intent, navigation, component states, loading, empty, error, success, and recovery behavior.",
|
|
28
|
+
"- Specify mobile-first behavior, accessibility expectations, copy, labels, and tooltip needs.",
|
|
29
|
+
"- Identify user-facing data/API needs, validation rules, and edge cases that architecture must account for.",
|
|
30
|
+
"- Attach wireframe, annotated screenshot, flow diagram, or compact UX spec when UI behavior is affected.",
|
|
31
|
+
"- Record assumptions, open questions, and scope changes that require Product/BA validation before architecture.",
|
|
32
|
+
].join("\n"),
|
|
33
|
+
po_validation: [
|
|
34
|
+
"# Product UX Validation Playbook",
|
|
35
|
+
"",
|
|
36
|
+
"## Product / BA Validation",
|
|
37
|
+
"",
|
|
38
|
+
"- Compare UX artifacts against the story, user goal, acceptance criteria, assumptions, and edge cases.",
|
|
39
|
+
"- Confirm the UX design does not silently expand scope or remove required user outcomes.",
|
|
40
|
+
"- Resolve copy, workflow, information architecture, and state-behavior questions before architecture starts.",
|
|
41
|
+
"- Record approve, changes, or block with concrete findings and the artifacts reviewed.",
|
|
42
|
+
].join("\n"),
|
|
21
43
|
architect: [
|
|
22
44
|
"# Architect Playbook",
|
|
23
45
|
"",
|
|
@@ -204,14 +226,18 @@ function roleForPhase(phase) {
|
|
|
204
226
|
const entries = Object.entries({
|
|
205
227
|
product_manager: "pm",
|
|
206
228
|
product_owner: "po",
|
|
229
|
+
"product_owner:validation": "po_validation",
|
|
207
230
|
architect: "architect",
|
|
208
231
|
developer: "developer",
|
|
209
232
|
qa: "qa",
|
|
210
233
|
technical_writer: "docs_review",
|
|
234
|
+
"ux_ui_designer:design": "ux_design",
|
|
211
235
|
ux_ui_designer: "ux_review",
|
|
212
236
|
release_manager: "release",
|
|
213
237
|
});
|
|
214
|
-
return entries
|
|
238
|
+
return (entries
|
|
239
|
+
.find(([, mappedPhase]) => mappedPhase === phase)?.[0]
|
|
240
|
+
?.split(":")[0] ?? phase);
|
|
215
241
|
}
|
|
216
242
|
function renderPlaybookStub(phase, role) {
|
|
217
243
|
const title = phase
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-playbooks.js","sourceRoot":"","sources":["../src/phase-playbooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"phase-playbooks.js","sourceRoot":"","sources":["../src/phase-playbooks.ts"],"names":[],"mappings":"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"}
|
package/dist/skills-catalog.js
CHANGED
|
@@ -309,6 +309,75 @@ export const defaultSkills = [
|
|
|
309
309
|
"Store large evidence artifacts as files and reference paths from a compact report instead of pasting raw logs into agent context.",
|
|
310
310
|
],
|
|
311
311
|
},
|
|
312
|
+
{
|
|
313
|
+
id: "chaos-resilience-testing",
|
|
314
|
+
name: "Chaos Resilience Testing",
|
|
315
|
+
summary: "Design deterministic failure scenarios that prove workflows, APIs, providers, gates, budgets, and regulated flows degrade safely.",
|
|
316
|
+
triggers: [
|
|
317
|
+
"chaos",
|
|
318
|
+
"resilience",
|
|
319
|
+
"fault injection",
|
|
320
|
+
"failure mode",
|
|
321
|
+
"provider timeout",
|
|
322
|
+
"provider unavailable",
|
|
323
|
+
"offline mode",
|
|
324
|
+
"circuit breaker",
|
|
325
|
+
"rate limit",
|
|
326
|
+
"budget exhaustion",
|
|
327
|
+
"approval race",
|
|
328
|
+
"policy failure",
|
|
329
|
+
"audit failure",
|
|
330
|
+
"stale data",
|
|
331
|
+
"corrupted state",
|
|
332
|
+
"tenant isolation",
|
|
333
|
+
"regulated flow",
|
|
334
|
+
],
|
|
335
|
+
roles: [
|
|
336
|
+
"qa",
|
|
337
|
+
"sdet",
|
|
338
|
+
"sre",
|
|
339
|
+
"security",
|
|
340
|
+
"architect",
|
|
341
|
+
"developer",
|
|
342
|
+
"devops",
|
|
343
|
+
"platform_engineer",
|
|
344
|
+
"release_manager",
|
|
345
|
+
],
|
|
346
|
+
capabilities: [
|
|
347
|
+
"resilience-testing",
|
|
348
|
+
"chaos-testing",
|
|
349
|
+
"failure-mode-analysis",
|
|
350
|
+
"operational-readiness",
|
|
351
|
+
],
|
|
352
|
+
riskAreas: [
|
|
353
|
+
"security",
|
|
354
|
+
"release",
|
|
355
|
+
"integration",
|
|
356
|
+
"governance",
|
|
357
|
+
"sre",
|
|
358
|
+
"devops",
|
|
359
|
+
"compliance",
|
|
360
|
+
"performance",
|
|
361
|
+
],
|
|
362
|
+
sourceGroups: [
|
|
363
|
+
"quality-security",
|
|
364
|
+
"devops-runtime",
|
|
365
|
+
"architecture",
|
|
366
|
+
"product-backlog",
|
|
367
|
+
"agent-memory",
|
|
368
|
+
],
|
|
369
|
+
entry: "skills/chaos-resilience-testing/SKILL.md",
|
|
370
|
+
assets: [],
|
|
371
|
+
evidence: ["command", "file", "log", "report", "trace"],
|
|
372
|
+
loadBudget: "normal",
|
|
373
|
+
instructions: [
|
|
374
|
+
"Classify each failure as fail-closed, degrade-with-recovery, or bounded-retry before implementation.",
|
|
375
|
+
"Use deterministic stubs, fake providers, fixture corruption, injected stores, and bounded timeout simulation instead of random production-style fault injection for MVP validation.",
|
|
376
|
+
"Cover relevant failures: provider/API unavailable, corrupted state, stale reads, approval races, budget exhaustion, policy failure, audit write failure, offline mode, and tenant or regulatory boundary enforcement.",
|
|
377
|
+
"Capture observable evidence for final state, emitted events, user/operator messages, skipped activation, blocked gates, and recovery paths mapped to acceptance criteria.",
|
|
378
|
+
"Treat security, compliance, tenant isolation, approvals, regulated authority, secrets, and payment failures as fail-closed unless Product/Security/Compliance explicitly accept the risk.",
|
|
379
|
+
],
|
|
380
|
+
},
|
|
312
381
|
{
|
|
313
382
|
id: "playwright-evidence",
|
|
314
383
|
name: "Playwright Evidence",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-catalog.js","sourceRoot":"","sources":["../src/skills-catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills-catalog.js","sourceRoot":"","sources":["../src/skills-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,16 @@ import { detectProjectProfile } from "./project-detection.js";
|
|
|
3
3
|
import { getWorkflowConfig } from "./workflow-services.js";
|
|
4
4
|
import { loadWorkspace } from "./workspace.js";
|
|
5
5
|
export const OPTIONAL_RECOMMENDED_PHASES = [
|
|
6
|
+
{
|
|
7
|
+
phase: "ux_design",
|
|
8
|
+
role: "ux_ui_designer",
|
|
9
|
+
summary: "UX design input, user-flow specification, responsive states, and accessibility criteria before architecture",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
phase: "po_validation",
|
|
13
|
+
role: "product_owner",
|
|
14
|
+
summary: "Product and BA validation of UX artifacts before architecture commits to implementation design",
|
|
15
|
+
},
|
|
6
16
|
{
|
|
7
17
|
phase: "ux_review",
|
|
8
18
|
role: "ux_ui_designer",
|
|
@@ -71,14 +81,27 @@ function recommendedPhases(task, signalIds) {
|
|
|
71
81
|
const text = taskText(task);
|
|
72
82
|
const signals = new Set(signalIds);
|
|
73
83
|
const recommendations = [];
|
|
74
|
-
if (signals.has("frontend") &&
|
|
75
|
-
|
|
84
|
+
if (signals.has("frontend") && hasUserFacingUxSignal(task, text)) {
|
|
85
|
+
recommendations.push({
|
|
86
|
+
phase: "ux_design",
|
|
87
|
+
role: "ux_ui_designer",
|
|
88
|
+
summary: "UX design input, user-flow specification, responsive states, and accessibility criteria before architecture",
|
|
89
|
+
reason: "Frontend project signal plus task scope indicates UX, accessibility, or browser behavior risk that should inform architecture before implementation design.",
|
|
90
|
+
insertAfter: "po",
|
|
91
|
+
});
|
|
92
|
+
recommendations.push({
|
|
93
|
+
phase: "po_validation",
|
|
94
|
+
role: "product_owner",
|
|
95
|
+
summary: "Product and BA validation of UX artifacts before architecture commits to implementation design",
|
|
96
|
+
reason: "UX artifacts can change flow, layout, copy, states, or scope; Product/BA should validate them before architecture.",
|
|
97
|
+
insertAfter: "ux_design",
|
|
98
|
+
});
|
|
76
99
|
recommendations.push({
|
|
77
100
|
phase: "ux_review",
|
|
78
101
|
role: "ux_ui_designer",
|
|
79
102
|
summary: "UX, accessibility, responsive behavior, and user-flow validation",
|
|
80
|
-
reason: "Frontend project signal plus task scope indicates UX, accessibility, or browser behavior risk.",
|
|
81
|
-
insertAfter: "
|
|
103
|
+
reason: "Frontend project signal plus task scope indicates UX, accessibility, or browser behavior risk that needs post-implementation validation.",
|
|
104
|
+
insertAfter: "qa",
|
|
82
105
|
});
|
|
83
106
|
}
|
|
84
107
|
if (/\b(docs?|documentation|readme|changelog|runbook|public site|site copy|help content)\b/i.test(text) ||
|
|
@@ -124,7 +147,11 @@ function applyRequiredRoles(sequence, requiredRoles) {
|
|
|
124
147
|
const phase = phaseByRole.get(role);
|
|
125
148
|
if (!phase)
|
|
126
149
|
continue;
|
|
127
|
-
const insertAfter = phase.phase === "docs_review"
|
|
150
|
+
const insertAfter = phase.phase === "docs_review"
|
|
151
|
+
? "qa"
|
|
152
|
+
: phase.phase === "ux_design"
|
|
153
|
+
? "po"
|
|
154
|
+
: "developer";
|
|
128
155
|
next = applyRecommendations(next, [
|
|
129
156
|
{
|
|
130
157
|
phase: phase.phase,
|
|
@@ -137,6 +164,10 @@ function applyRequiredRoles(sequence, requiredRoles) {
|
|
|
137
164
|
}
|
|
138
165
|
return next;
|
|
139
166
|
}
|
|
167
|
+
function hasUserFacingUxSignal(task, text) {
|
|
168
|
+
return (/\b(ui|ux|frontend|responsive|mobile|accessibility|browser|site|web|navigation|layout|form|forms|table|tables|dashboard|filter|filters|pagination|copy|tooltip|tooltips|loading|empty|error|success|recovery|visual)\b/i.test(text) ||
|
|
169
|
+
(task.paths ?? []).some((item) => /(^|\/)(site|web-console)\/src\/|\.jsx$|\.css$/i.test(item)));
|
|
170
|
+
}
|
|
140
171
|
function sequenceFromIds(ids) {
|
|
141
172
|
const definitions = [
|
|
142
173
|
...AUTONOMOUS_PHASE_SEQUENCE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-phase-planner.js","sourceRoot":"","sources":["../src/workflow-phase-planner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workflow-phase-planner.js","sourceRoot":"","sources":["../src/workflow-phase-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Story: Chaos testing stack strategy and deterministic fault harness
|
|
2
|
+
|
|
3
|
+
Backlog Item ID: CHAOS-TESTING-STACK-STRATEGY-20260517
|
|
4
|
+
|
|
5
|
+
## User Story
|
|
6
|
+
|
|
7
|
+
As an architect, QA, SRE, security reviewer, or developer, I want a progressive
|
|
8
|
+
chaos testing stack so that Open Orchestra can validate failure behavior locally
|
|
9
|
+
first and adopt heavier tooling only when the runtime or SaaS architecture needs
|
|
10
|
+
it.
|
|
11
|
+
|
|
12
|
+
## Problem
|
|
13
|
+
|
|
14
|
+
The `chaos-resilience-testing` skill defines how to reason about deterministic
|
|
15
|
+
failure scenarios, but the project also needs a clear tooling strategy. Without
|
|
16
|
+
that strategy, teams may either under-test provider/API failure modes or add
|
|
17
|
+
heavy infrastructure dependencies too early for the npm package.
|
|
18
|
+
|
|
19
|
+
## Stack Strategy
|
|
20
|
+
|
|
21
|
+
### Layer 1: MVP Local Deterministic Fault Harness
|
|
22
|
+
|
|
23
|
+
Use this layer first. It must work offline and should not add heavyweight
|
|
24
|
+
runtime dependencies.
|
|
25
|
+
|
|
26
|
+
Recommended tools:
|
|
27
|
+
|
|
28
|
+
- Node test runner for domain, service, CLI, and workflow tests.
|
|
29
|
+
- Fake model providers for timeout, unavailable provider, malformed response,
|
|
30
|
+
fallback, and budget exhaustion.
|
|
31
|
+
- Fake storage/repository adapters for partial writes, corrupted records,
|
|
32
|
+
stale reads, and audit write failures.
|
|
33
|
+
- Controlled timers, `AbortController`, and injected clocks for bounded timeout
|
|
34
|
+
behavior.
|
|
35
|
+
- Local fixtures for malformed imports, stale registry data, missing approvals,
|
|
36
|
+
and policy-denied activation.
|
|
37
|
+
- Orchestra evidence reports for scenario matrix, expected behavior, actual
|
|
38
|
+
behavior, final state, events, and recovery path.
|
|
39
|
+
|
|
40
|
+
Use for:
|
|
41
|
+
|
|
42
|
+
- persona registry and activation;
|
|
43
|
+
- provider routing and model fallbacks;
|
|
44
|
+
- approval and gate behavior;
|
|
45
|
+
- budget envelope enforcement;
|
|
46
|
+
- policy fail-closed behavior;
|
|
47
|
+
- local/offline mode.
|
|
48
|
+
|
|
49
|
+
### Layer 2: Web/API Resilience
|
|
50
|
+
|
|
51
|
+
Use this when user-facing web or API flows need visible degraded states.
|
|
52
|
+
|
|
53
|
+
Recommended tools:
|
|
54
|
+
|
|
55
|
+
- Playwright route stubs for API timeout, 500, stale response, empty response,
|
|
56
|
+
slow response, and malformed payload.
|
|
57
|
+
- Existing web console E2E patterns for screenshots, traces, and visible state.
|
|
58
|
+
- Optional mock handlers such as MSW only if repeated browser/API mocking
|
|
59
|
+
becomes noisy with native Playwright stubs.
|
|
60
|
+
|
|
61
|
+
Use for:
|
|
62
|
+
|
|
63
|
+
- web console personas;
|
|
64
|
+
- dashboard/runtime status;
|
|
65
|
+
- approval and gate UX;
|
|
66
|
+
- evidence browsing;
|
|
67
|
+
- settings/provider/budget panels.
|
|
68
|
+
|
|
69
|
+
### Layer 3: Integration And SaaS Simulation
|
|
70
|
+
|
|
71
|
+
Use this when tests need real network behavior or service boundaries.
|
|
72
|
+
|
|
73
|
+
Recommended tools:
|
|
74
|
+
|
|
75
|
+
- Docker Compose profiles for optional integration test stacks.
|
|
76
|
+
- Toxiproxy for latency, disconnects, resets, bandwidth constraints, and
|
|
77
|
+
intermittent network behavior.
|
|
78
|
+
- WireMock or equivalent HTTP stub server for external APIs when receiver-side
|
|
79
|
+
behavior matters.
|
|
80
|
+
- Pact only when consumer/provider contract testing is part of the product
|
|
81
|
+
contract.
|
|
82
|
+
- k6 for API load and resilience checks once SaaS endpoints exist.
|
|
83
|
+
- OpenTelemetry for correlation IDs, spans, metrics, and failure traceability.
|
|
84
|
+
|
|
85
|
+
Use for:
|
|
86
|
+
|
|
87
|
+
- SaaS supervisor or registry APIs;
|
|
88
|
+
- external prompt/persona registry;
|
|
89
|
+
- GitHub worker execution;
|
|
90
|
+
- tenant-scoped APIs;
|
|
91
|
+
- long-running runtime scheduler behavior.
|
|
92
|
+
|
|
93
|
+
### Layer 4: Production-Grade Infrastructure Chaos
|
|
94
|
+
|
|
95
|
+
Do not include this in the npm package MVP. Use only if Open Orchestra operates
|
|
96
|
+
managed services on orchestration platforms.
|
|
97
|
+
|
|
98
|
+
Recommended tools:
|
|
99
|
+
|
|
100
|
+
- Chaos Mesh or LitmusChaos for Kubernetes.
|
|
101
|
+
- Cloud provider failure testing where permitted.
|
|
102
|
+
- Synthetic monitoring and SLO/error-budget checks.
|
|
103
|
+
|
|
104
|
+
Use for:
|
|
105
|
+
|
|
106
|
+
- SaaS production control plane;
|
|
107
|
+
- multi-tenant worker infrastructure;
|
|
108
|
+
- managed model gateway or registry services.
|
|
109
|
+
|
|
110
|
+
## First Implementation Slices
|
|
111
|
+
|
|
112
|
+
1. Provider timeout and fallback harness.
|
|
113
|
+
2. Registry corruption and import failure harness.
|
|
114
|
+
3. Approval race and missing approver policy harness.
|
|
115
|
+
4. Policy engine fail-closed harness.
|
|
116
|
+
5. Audit/event write failure harness.
|
|
117
|
+
6. Budget exhaustion harness.
|
|
118
|
+
7. Offline mode with optional sources unavailable.
|
|
119
|
+
8. Web console stale/error/timeout state harness.
|
|
120
|
+
|
|
121
|
+
## Acceptance Criteria
|
|
122
|
+
|
|
123
|
+
- MVP local chaos validation uses deterministic in-process faults and offline
|
|
124
|
+
tests first.
|
|
125
|
+
- Heavy tools such as Toxiproxy, Docker Compose, k6, OpenTelemetry, Chaos Mesh,
|
|
126
|
+
and LitmusChaos are optional progressive layers, not package MVP
|
|
127
|
+
dependencies.
|
|
128
|
+
- Every fault scenario maps to acceptance criteria, expected behavior, final
|
|
129
|
+
state, evidence, and recovery path.
|
|
130
|
+
- Security, compliance, tenant isolation, regulated authority, payment, secrets,
|
|
131
|
+
policy, and approval failures fail closed by default.
|
|
132
|
+
- Optional enrichment and advisory features may degrade only with clear user or
|
|
133
|
+
operator rationale.
|
|
134
|
+
|
|
135
|
+
## Non-Goals
|
|
136
|
+
|
|
137
|
+
- Adding Toxiproxy, k6, OpenTelemetry, Chaos Mesh, or LitmusChaos dependencies
|
|
138
|
+
in the first implementation.
|
|
139
|
+
- Randomized failure injection in local unit tests.
|
|
140
|
+
- Running production chaos experiments from the npm package.
|
|
141
|
+
|
|
142
|
+
## Suggested Size
|
|
143
|
+
|
|
144
|
+
S for strategy.
|
|
145
|
+
|
|
146
|
+
Future implementation slices should be estimated independently.
|
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
# Epic: Project persona registry and generated domain personas
|
|
2
|
+
|
|
3
|
+
Backlog Item ID: PERSONA-REGISTRY-EPIC-20260517
|
|
4
|
+
|
|
5
|
+
## Epic Story
|
|
6
|
+
|
|
7
|
+
As a project owner, I want Open Orchestra to register, govern, and activate
|
|
8
|
+
project-specific personas through APIs and UI instead of manual markdown edits,
|
|
9
|
+
so that each project can orchestrate the right domain experts, reviewers, and
|
|
10
|
+
delivery roles for its own context.
|
|
11
|
+
|
|
12
|
+
## Problem
|
|
13
|
+
|
|
14
|
+
Open Orchestra ships with software delivery roles, but real projects may need
|
|
15
|
+
domain personas that do not fit a fixed role catalog. A music production project
|
|
16
|
+
may need producers, mastering QA, and rights reviewers. A neural network project
|
|
17
|
+
may need ML researchers, MLOps, data stewards, and AI safety reviewers. A medical
|
|
18
|
+
project may need clinical SMEs, medical reviewers, privacy, compliance, and
|
|
19
|
+
regulatory reviewers.
|
|
20
|
+
|
|
21
|
+
Those personas should not require users to open or edit markdown files manually.
|
|
22
|
+
They also should not be blindly activated because a generated profile sounds
|
|
23
|
+
plausible. Projects need a registry, generation workflow, governance model, and
|
|
24
|
+
runtime activation rules.
|
|
25
|
+
|
|
26
|
+
## MVP Outcome
|
|
27
|
+
|
|
28
|
+
- Local persona registry stored in project workflow state and exportable to
|
|
29
|
+
version-controlled artifacts.
|
|
30
|
+
- CLI/API operations to list, show, create, update, generate, approve,
|
|
31
|
+
deactivate, export, and import personas.
|
|
32
|
+
- Generated personas start as drafts and require human approval before runtime
|
|
33
|
+
activation.
|
|
34
|
+
- Runtime activation uses task signals, phase, required roles, risk level, and
|
|
35
|
+
persona triggers.
|
|
36
|
+
- Regulated or high-risk personas can advise and review, but cannot approve
|
|
37
|
+
regulated outcomes unless a human approver is configured.
|
|
38
|
+
- Web console can manage project personas without editing markdown files.
|
|
39
|
+
- Offline-first operation works from packaged baselines and local project
|
|
40
|
+
context; internet or SaaS enrichment is optional.
|
|
41
|
+
|
|
42
|
+
## To-Be Outcome
|
|
43
|
+
|
|
44
|
+
- SaaS-backed persona registry with tenant isolation, versioning, approval
|
|
45
|
+
workflows, audit trails, quality scores, and reusable persona packs.
|
|
46
|
+
- Domain packs for software, music/audio, ML/AI, healthcare, data, security,
|
|
47
|
+
operations, education, legal/compliance, and other project types.
|
|
48
|
+
- Optional state-of-the-art refresh pipeline that proposes persona updates from
|
|
49
|
+
curated references, prompt bank entries, lessons learned, and approved domain
|
|
50
|
+
packs.
|
|
51
|
+
- Guarded supervisor can detect missing personas from project activity and
|
|
52
|
+
propose draft personas or capability changes.
|
|
53
|
+
- Runtime scheduler and budget policies constrain generation, enrichment, and
|
|
54
|
+
multi-agent activation.
|
|
55
|
+
- Chaos and resilience validation proves persona workflows degrade safely when
|
|
56
|
+
providers, registries, approvals, budgets, or context sources fail.
|
|
57
|
+
|
|
58
|
+
## Persona Model
|
|
59
|
+
|
|
60
|
+
Minimum fields:
|
|
61
|
+
|
|
62
|
+
- `id`
|
|
63
|
+
- `displayName`
|
|
64
|
+
- `roleFamily`
|
|
65
|
+
- `domain`
|
|
66
|
+
- `purpose`
|
|
67
|
+
- `responsibilities`
|
|
68
|
+
- `activationTriggers`
|
|
69
|
+
- `workflowPhases`
|
|
70
|
+
- `requiredCapabilities`
|
|
71
|
+
- `optionalCapabilities`
|
|
72
|
+
- `requiredSkills`
|
|
73
|
+
- `authorityLevel`: advisory, reviewer, approver, executor
|
|
74
|
+
- `approvalConstraints`
|
|
75
|
+
- `evidenceExpectations`
|
|
76
|
+
- `securityConstraints`
|
|
77
|
+
- `regulatoryScope`
|
|
78
|
+
- `riskLevel`
|
|
79
|
+
- `sourcePolicy`: packaged, project, generated, imported, external
|
|
80
|
+
- `version`
|
|
81
|
+
- `status`: draft, active, deprecated, rejected
|
|
82
|
+
- `createdBy`
|
|
83
|
+
- `approvedBy`
|
|
84
|
+
- `provenance`
|
|
85
|
+
|
|
86
|
+
## Proposed Child Stories
|
|
87
|
+
|
|
88
|
+
### Story 1: Local Persona Registry API
|
|
89
|
+
|
|
90
|
+
As a project owner, I want a typed local persona registry API so that personas
|
|
91
|
+
can be managed without editing markdown files manually.
|
|
92
|
+
|
|
93
|
+
Acceptance criteria:
|
|
94
|
+
|
|
95
|
+
- Provides CLI/API operations: list, show, create, update, deactivate, approve,
|
|
96
|
+
reject, export, and import.
|
|
97
|
+
- Persists project personas in workflow state with schema validation and
|
|
98
|
+
deterministic IDs.
|
|
99
|
+
- Supports versioning and immutable approval provenance.
|
|
100
|
+
- Prevents duplicate active personas with the same project ID and role family.
|
|
101
|
+
- Exports approved personas to a portable version-controlled artifact.
|
|
102
|
+
- Rejects malformed, oversized, conflicting, or partially imported persona data
|
|
103
|
+
without corrupting the registry.
|
|
104
|
+
- Includes unit tests for create, update, approval, deactivation, import/export,
|
|
105
|
+
invalid schema, and duplicate prevention.
|
|
106
|
+
|
|
107
|
+
Suggested size: M.
|
|
108
|
+
|
|
109
|
+
Suggested owners: Architect, Developer, QA.
|
|
110
|
+
|
|
111
|
+
### Story 2: Persona Generation Assistant
|
|
112
|
+
|
|
113
|
+
As a project owner, I want Open Orchestra to generate draft personas from project
|
|
114
|
+
needs and context so that I can define domain roles quickly without starting from
|
|
115
|
+
a blank file.
|
|
116
|
+
|
|
117
|
+
Acceptance criteria:
|
|
118
|
+
|
|
119
|
+
- Generates draft personas from a requested role, domain, task context,
|
|
120
|
+
workflow phase, existing roles, local standards, lessons learned, and approved
|
|
121
|
+
prompt bank entries.
|
|
122
|
+
- Uses offline packaged baselines first and optional external enrichment only
|
|
123
|
+
when enabled.
|
|
124
|
+
- Marks generated personas as draft and inactive by default.
|
|
125
|
+
- Records provenance: prompt id, context sources, model/provider when available,
|
|
126
|
+
generated timestamp, and reviewer requirements.
|
|
127
|
+
- Applies prompt-injection and secret redaction checks to context before
|
|
128
|
+
generation.
|
|
129
|
+
- Includes chaos/resilience tests for provider timeout, provider unavailable,
|
|
130
|
+
unsafe context, prompt registry unavailable, and budget exhaustion.
|
|
131
|
+
- Includes tests for draft status, provenance, source filtering, offline mode,
|
|
132
|
+
and blocked unsafe context.
|
|
133
|
+
|
|
134
|
+
Suggested size: L.
|
|
135
|
+
|
|
136
|
+
Suggested owners: Product Owner, Architect, Security, Developer, QA.
|
|
137
|
+
|
|
138
|
+
### Story 3: Domain Persona Packs
|
|
139
|
+
|
|
140
|
+
As a project owner, I want reusable domain persona packs so that non-software
|
|
141
|
+
projects can bootstrap relevant expert profiles.
|
|
142
|
+
|
|
143
|
+
Acceptance criteria:
|
|
144
|
+
|
|
145
|
+
- Defines packaged baseline packs for software delivery, music/audio, ML/AI,
|
|
146
|
+
healthcare, data/analytics, security, operations, and compliance.
|
|
147
|
+
- Packs are compact metadata, not long prompt bodies.
|
|
148
|
+
- Each pack declares default personas, capabilities, activation triggers,
|
|
149
|
+
evidence expectations, and risk constraints.
|
|
150
|
+
- Healthcare and other regulated packs mark expert personas as human-approval
|
|
151
|
+
required for regulated decisions.
|
|
152
|
+
- Includes tests for pack loading, filtering by domain, and high-risk activation
|
|
153
|
+
constraints.
|
|
154
|
+
|
|
155
|
+
Suggested size: M.
|
|
156
|
+
|
|
157
|
+
Suggested owners: Product Manager, Architect, Compliance/Privacy, QA.
|
|
158
|
+
|
|
159
|
+
### Story 4: Runtime Persona Activation
|
|
160
|
+
|
|
161
|
+
As a workflow runtime, I want to activate personas only when a task, phase, risk,
|
|
162
|
+
or required role needs them so that context stays bounded and relevant.
|
|
163
|
+
|
|
164
|
+
Acceptance criteria:
|
|
165
|
+
|
|
166
|
+
- Resolves active personas from task signals, required roles, optional roles,
|
|
167
|
+
phase, paths, domain, risk level, and explicit user request.
|
|
168
|
+
- Does not load every persona for every task.
|
|
169
|
+
- Returns activation rationale and skipped-persona rationale.
|
|
170
|
+
- Integrates with capability and skill resolution without duplicating
|
|
171
|
+
hardcoded role maps.
|
|
172
|
+
- Blocks unapproved, rejected, deprecated, or policy-ineligible personas.
|
|
173
|
+
- Includes chaos/resilience tests for corrupted registry state, missing
|
|
174
|
+
approvals, disabled persona packs, and provider-independent offline
|
|
175
|
+
activation.
|
|
176
|
+
- Includes tests for phase-scoped activation, domain triggers, no-match cases,
|
|
177
|
+
high-risk human approval, and capability resolution.
|
|
178
|
+
|
|
179
|
+
Suggested size: M.
|
|
180
|
+
|
|
181
|
+
Suggested owners: Architect, Developer, QA.
|
|
182
|
+
|
|
183
|
+
### Story 5: Persona Governance and Safety Gates
|
|
184
|
+
|
|
185
|
+
As a security and compliance reviewer, I want persona creation and activation to
|
|
186
|
+
respect authority boundaries so that generated personas cannot approve unsafe or
|
|
187
|
+
regulated outcomes.
|
|
188
|
+
|
|
189
|
+
Acceptance criteria:
|
|
190
|
+
|
|
191
|
+
- Requires human approval before any generated persona becomes active.
|
|
192
|
+
- Requires explicit human approver mapping for regulated authority levels.
|
|
193
|
+
- Prevents generated medical, legal, financial, privacy, or regulatory personas
|
|
194
|
+
from issuing final approval unless policy allows a configured human approver.
|
|
195
|
+
- Records audit events for generation, approval, rejection, activation, and
|
|
196
|
+
deactivation.
|
|
197
|
+
- Adds security review when personas touch secrets, PII, PHI, financial data,
|
|
198
|
+
regulated decisions, network calls, or external references.
|
|
199
|
+
- Includes chaos/resilience tests for approval race conditions, missing approver
|
|
200
|
+
mappings, policy engine failure, audit write failure, and denied regulated
|
|
201
|
+
authority escalation.
|
|
202
|
+
- Includes tests for approval policy, audit events, blocked activation, and
|
|
203
|
+
unsafe authority escalation.
|
|
204
|
+
|
|
205
|
+
Suggested size: M.
|
|
206
|
+
|
|
207
|
+
Suggested owners: Security, Compliance/Privacy, Architect, QA.
|
|
208
|
+
|
|
209
|
+
### Story 6: Web Console Persona Management
|
|
210
|
+
|
|
211
|
+
As a human user, I want to manage project personas in the web console so that I
|
|
212
|
+
can review and approve personas without editing local files.
|
|
213
|
+
|
|
214
|
+
Acceptance criteria:
|
|
215
|
+
|
|
216
|
+
- Adds a Personas management page or section with list, detail, create,
|
|
217
|
+
generate, edit draft, approve, reject, deactivate, export, and import flows.
|
|
218
|
+
- Shows persona status, authority level, domain, risk, triggers, capabilities,
|
|
219
|
+
evidence expectations, and approval state.
|
|
220
|
+
- Provides empty, loading, error, success, and recovery states.
|
|
221
|
+
- Uses tooltips for authority level, regulated scope, activation triggers, and
|
|
222
|
+
evidence expectations.
|
|
223
|
+
- Includes resilience coverage for API timeout, failed generation, rejected
|
|
224
|
+
approval, import validation failure, and stale registry data.
|
|
225
|
+
- Includes Playwright coverage for list, create draft, approve, reject, and
|
|
226
|
+
high-risk warning flows.
|
|
227
|
+
|
|
228
|
+
Suggested size: L.
|
|
229
|
+
|
|
230
|
+
Suggested owners: UX/UI Designer, Developer, QA, Technical Writer.
|
|
231
|
+
|
|
232
|
+
### Story 7: Persona Documentation and User Guide
|
|
233
|
+
|
|
234
|
+
As a user, I want clear persona registry documentation so that I understand how
|
|
235
|
+
to define domain experts, generated personas, and approval constraints.
|
|
236
|
+
|
|
237
|
+
Acceptance criteria:
|
|
238
|
+
|
|
239
|
+
- Documents CLI and API usage for persona registry operations.
|
|
240
|
+
- Explains packaged personas, generated drafts, approval, activation, and
|
|
241
|
+
regulated-domain limits.
|
|
242
|
+
- Includes examples for software, music/audio, ML/AI, and healthcare projects.
|
|
243
|
+
- Documents offline-first behavior and optional SaaS/external enrichment.
|
|
244
|
+
- Updates the public site docs if persona management becomes user-facing.
|
|
245
|
+
|
|
246
|
+
Suggested size: S.
|
|
247
|
+
|
|
248
|
+
Suggested owners: Technical Writer, Product Owner, QA.
|
|
249
|
+
|
|
250
|
+
## Epic Acceptance Criteria
|
|
251
|
+
|
|
252
|
+
- Persona registry avoids manual markdown editing for normal persona management.
|
|
253
|
+
- Persona generation produces draft, reviewable personas, not automatically
|
|
254
|
+
active authorities.
|
|
255
|
+
- Runtime activation is bounded by task need, phase, role, risk, and project
|
|
256
|
+
domain.
|
|
257
|
+
- Regulated domains require explicit human approval policies.
|
|
258
|
+
- Offline-first mode works without internet access.
|
|
259
|
+
- SaaS/external enrichment is optional and tenant-scoped when enabled.
|
|
260
|
+
- Child stories are independently estimable and testable.
|
|
261
|
+
- Chaos testing validates safe degradation for persona registry, runtime
|
|
262
|
+
activation, generation, governance, and web console flows.
|
|
263
|
+
|
|
264
|
+
## Non-Goals
|
|
265
|
+
|
|
266
|
+
- Replacing built-in delivery roles in the first release.
|
|
267
|
+
- Building a full SaaS registry in the MVP.
|
|
268
|
+
- Allowing generated personas to approve regulated clinical, legal, financial,
|
|
269
|
+
or compliance outcomes without a configured human approver.
|
|
270
|
+
- Making internet access mandatory for persona generation.
|
|
271
|
+
- Storing raw prompts or sensitive project context by default.
|
|
272
|
+
|
|
273
|
+
## Risks
|
|
274
|
+
|
|
275
|
+
- Generated personas may sound authoritative without enough domain validation.
|
|
276
|
+
- Prompt injection from lessons learned, issues, docs, or external references.
|
|
277
|
+
- Secret or sensitive data leakage during persona generation.
|
|
278
|
+
- Context bloat if runtime activation loads too many personas.
|
|
279
|
+
- Tenant and regulatory boundary violations in SaaS mode.
|
|
280
|
+
- Duplicate or conflicting personas if registry ownership is unclear.
|
|
281
|
+
- Workflow degradation if multiple agents generate or activate personas while
|
|
282
|
+
providers, approval stores, or prompt/context registries are unavailable.
|
|
283
|
+
|
|
284
|
+
## Chaos And Resilience Testing
|
|
285
|
+
|
|
286
|
+
Persona features should load the `chaos-resilience-testing` skill for controlled
|
|
287
|
+
failure scenarios where they affect runtime behavior or authority. The goal is
|
|
288
|
+
not random fault injection in the first MVP; it is deterministic chaos-style
|
|
289
|
+
validation that proves the product fails closed, preserves auditability, and
|
|
290
|
+
keeps offline operation usable.
|
|
291
|
+
|
|
292
|
+
Minimum scenarios:
|
|
293
|
+
|
|
294
|
+
- provider timeout or unavailable model during persona generation;
|
|
295
|
+
- prompt bank, lessons, or external enrichment source unavailable;
|
|
296
|
+
- malformed, oversized, or partially imported persona registry data;
|
|
297
|
+
- concurrent approval/update attempts for the same persona;
|
|
298
|
+
- missing human approver mapping for regulated authority;
|
|
299
|
+
- budget envelope exhausted before or during generation;
|
|
300
|
+
- policy engine denies activation or fails closed;
|
|
301
|
+
- audit/event write failure during approval or activation;
|
|
302
|
+
- web console API timeout or stale registry response;
|
|
303
|
+
- offline mode with no external network access.
|
|
304
|
+
|
|
305
|
+
Expected behavior:
|
|
306
|
+
|
|
307
|
+
- generated personas remain `draft` unless approval succeeds;
|
|
308
|
+
- regulated personas cannot approve final outcomes without configured human
|
|
309
|
+
authority;
|
|
310
|
+
- runtime activation skips unsafe personas and records the rationale;
|
|
311
|
+
- unavailable optional sources degrade with explicit evidence instead of
|
|
312
|
+
blocking local workflows;
|
|
313
|
+
- failures produce QA evidence that maps back to the story acceptance criteria.
|
|
314
|
+
|
|
315
|
+
## Suggested Epic Size
|
|
316
|
+
|
|
317
|
+
XL for full epic.
|
|
318
|
+
|
|
319
|
+
MVP slice: L.
|
|
320
|
+
|
|
321
|
+
Recommended first implementation order:
|
|
322
|
+
|
|
323
|
+
1. Dynamic UX phase routing for user-facing work
|
|
324
|
+
(`UX-DYNAMIC-PHASE-ROUTING-20260517`) before the persona web console story.
|
|
325
|
+
2. Local Persona Registry API.
|
|
326
|
+
3. Runtime Persona Activation.
|
|
327
|
+
4. Persona Governance and Safety Gates.
|
|
328
|
+
5. Persona Generation Assistant.
|
|
329
|
+
6. Web Console Persona Management.
|
|
330
|
+
7. Domain Persona Packs.
|
|
331
|
+
8. Documentation and user guide.
|
|
332
|
+
|
|
333
|
+
## Related Workflow Story
|
|
334
|
+
|
|
335
|
+
`UX-DYNAMIC-PHASE-ROUTING-20260517` should add dynamic UX routing for
|
|
336
|
+
user-facing tasks before persona management UI is implemented. The current
|
|
337
|
+
workflow can recommend `ux_review` after implementation, but it does not yet
|
|
338
|
+
support a pre-architecture `ux_design` phase or BA/PO validation of UX artifacts
|
|
339
|
+
before architecture.
|
|
340
|
+
|
|
341
|
+
Expected target sequence for user-facing work:
|
|
342
|
+
|
|
343
|
+
```txt
|
|
344
|
+
po/ba -> ux_design -> po_validation -> architect -> developer -> qa -> ux_review -> release
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
The first implementation may keep this advisory when a task or global
|
|
348
|
+
`workflow.phaseSequence` is manually configured, but the phase planner should
|
|
349
|
+
make the recommendation explicit and explain why UX must provide design inputs
|
|
350
|
+
before architecture for UI-heavy work.
|
package/package.json
CHANGED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Chaos Resilience Testing
|
|
2
|
+
|
|
3
|
+
Design deterministic failure scenarios that prove workflows, APIs, providers,
|
|
4
|
+
gates, budgets, and regulated flows degrade safely.
|
|
5
|
+
|
|
6
|
+
## When To Load
|
|
7
|
+
|
|
8
|
+
- Trigger: `chaos`
|
|
9
|
+
- Trigger: `resilience`
|
|
10
|
+
- Trigger: `fault injection`
|
|
11
|
+
- Trigger: `failure mode`
|
|
12
|
+
- Trigger: `provider timeout`
|
|
13
|
+
- Trigger: `provider unavailable`
|
|
14
|
+
- Trigger: `offline mode`
|
|
15
|
+
- Trigger: `circuit breaker`
|
|
16
|
+
- Trigger: `rate limit`
|
|
17
|
+
- Trigger: `budget exhaustion`
|
|
18
|
+
- Trigger: `approval race`
|
|
19
|
+
- Trigger: `policy failure`
|
|
20
|
+
- Trigger: `audit failure`
|
|
21
|
+
- Trigger: `stale data`
|
|
22
|
+
- Trigger: `corrupted state`
|
|
23
|
+
- Trigger: `tenant isolation`
|
|
24
|
+
- Trigger: `regulated flow`
|
|
25
|
+
|
|
26
|
+
## Procedure
|
|
27
|
+
|
|
28
|
+
1. Identify the task, acceptance criteria, impacted runtime surfaces, and the
|
|
29
|
+
user-visible or release-critical outcome that must survive failure.
|
|
30
|
+
2. Classify each failure as one of:
|
|
31
|
+
- fail closed: security, approvals, regulated authority, secrets, PII/PHI,
|
|
32
|
+
payment, policy, tenant isolation, or destructive actions;
|
|
33
|
+
- degrade with recovery: optional enrichment, UI panels, advisory features,
|
|
34
|
+
non-critical telemetry, or external references;
|
|
35
|
+
- retry with bounds: transient provider/API, storage, webhook, or scheduler
|
|
36
|
+
failures with explicit timeout, backoff, and retry limits.
|
|
37
|
+
3. Select deterministic scenarios before implementation. Prefer controlled
|
|
38
|
+
stubs, fake providers, injected stores, fixture corruption, and bounded
|
|
39
|
+
timeout simulation over random production-style fault injection.
|
|
40
|
+
4. For each scenario, define:
|
|
41
|
+
- fault injected;
|
|
42
|
+
- expected behavior;
|
|
43
|
+
- expected user/operator message;
|
|
44
|
+
- expected audit/event/evidence output;
|
|
45
|
+
- recovery path;
|
|
46
|
+
- acceptance criteria covered.
|
|
47
|
+
5. Validate at least the relevant categories:
|
|
48
|
+
- provider/model timeout or unavailable provider;
|
|
49
|
+
- external API/network unavailable;
|
|
50
|
+
- corrupted or partially written local state;
|
|
51
|
+
- stale reads or cache mismatch;
|
|
52
|
+
- concurrent update/approval race;
|
|
53
|
+
- budget/rate-limit exhaustion;
|
|
54
|
+
- policy engine denial or failure;
|
|
55
|
+
- audit/event write failure;
|
|
56
|
+
- offline mode with optional sources unavailable;
|
|
57
|
+
- tenant/regulatory boundary enforcement.
|
|
58
|
+
6. Capture observable evidence. A passing command alone is not enough; prove the
|
|
59
|
+
final state, emitted event, user message, skipped activation, blocked gate, or
|
|
60
|
+
recovery artifact.
|
|
61
|
+
7. Record unresolved resilience gaps with owner, severity, release impact, and
|
|
62
|
+
whether Product/Security/Compliance accepted the risk.
|
|
63
|
+
|
|
64
|
+
## Stack Guidance
|
|
65
|
+
|
|
66
|
+
- Start with local deterministic faults: Node tests, fake providers, fake
|
|
67
|
+
storage/repositories, controlled timers, `AbortController`, injected clocks,
|
|
68
|
+
and fixture corruption.
|
|
69
|
+
- Use Playwright route stubs for web/API degraded states such as timeout, stale
|
|
70
|
+
data, malformed payload, empty response, or server error.
|
|
71
|
+
- Use Docker Compose, Toxiproxy, WireMock/MSW/Pact, k6, and OpenTelemetry only
|
|
72
|
+
when integration or SaaS boundaries require network/service-level evidence.
|
|
73
|
+
- Use Chaos Mesh or LitmusChaos only for future Kubernetes-managed services;
|
|
74
|
+
these are not npm package MVP dependencies.
|
|
75
|
+
- Keep stack details in backlog or architecture docs and load only the relevant
|
|
76
|
+
scenario guidance into task context.
|
|
77
|
+
|
|
78
|
+
## Evidence Report Template
|
|
79
|
+
|
|
80
|
+
```md
|
|
81
|
+
# Chaos / Resilience Evidence
|
|
82
|
+
|
|
83
|
+
Task:
|
|
84
|
+
Issue/User Story:
|
|
85
|
+
Environment:
|
|
86
|
+
Date:
|
|
87
|
+
|
|
88
|
+
## Scenario Matrix
|
|
89
|
+
|
|
90
|
+
| Scenario | Fault | Expected behavior | Actual behavior | Evidence | Result |
|
|
91
|
+
| -------- | ----- | ----------------- | --------------- | -------- | ------ |
|
|
92
|
+
|
|
93
|
+
## Acceptance Criteria Coverage
|
|
94
|
+
|
|
95
|
+
| AC | Scenario | Result | Notes |
|
|
96
|
+
| -- | -------- | ------ | ----- |
|
|
97
|
+
|
|
98
|
+
## Recovery And Audit
|
|
99
|
+
|
|
100
|
+
| Scenario | Recovery path | Audit/event evidence | User/operator message |
|
|
101
|
+
| -------- | ------------- | -------------------- | --------------------- |
|
|
102
|
+
|
|
103
|
+
## Gaps
|
|
104
|
+
|
|
105
|
+
| Gap | Severity | Owner | Release decision |
|
|
106
|
+
| --- | -------- | ----- | ---------------- |
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Acceptance Rules
|
|
110
|
+
|
|
111
|
+
- Security, compliance, tenant isolation, approval, regulated authority, secrets,
|
|
112
|
+
and payment-related failures must fail closed unless an explicit accepted risk
|
|
113
|
+
says otherwise.
|
|
114
|
+
- Optional enrichment and advisory features may degrade, but must expose clear
|
|
115
|
+
rationale and recovery guidance.
|
|
116
|
+
- Retries must be bounded by timeout, retry count, backoff, and budget policy.
|
|
117
|
+
- Chaos evidence must map back to acceptance criteria and release gates.
|
|
118
|
+
- A generated or automated reviewer cannot self-approve resilience gaps in
|
|
119
|
+
regulated or high-risk flows.
|
|
120
|
+
|
|
121
|
+
## Evidence
|
|
122
|
+
|
|
123
|
+
- `command`
|
|
124
|
+
- `file`
|
|
125
|
+
- `log`
|
|
126
|
+
- `report`
|
|
127
|
+
- `trace`
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "chaos-resilience-testing",
|
|
3
|
+
"name": "Chaos Resilience Testing",
|
|
4
|
+
"summary": "Design deterministic failure scenarios that prove workflows, APIs, providers, gates, budgets, and regulated flows degrade safely.",
|
|
5
|
+
"triggers": [
|
|
6
|
+
"chaos",
|
|
7
|
+
"resilience",
|
|
8
|
+
"fault injection",
|
|
9
|
+
"failure mode",
|
|
10
|
+
"provider timeout",
|
|
11
|
+
"provider unavailable",
|
|
12
|
+
"offline mode",
|
|
13
|
+
"circuit breaker",
|
|
14
|
+
"rate limit",
|
|
15
|
+
"budget exhaustion",
|
|
16
|
+
"approval race",
|
|
17
|
+
"policy failure",
|
|
18
|
+
"audit failure",
|
|
19
|
+
"stale data",
|
|
20
|
+
"corrupted state",
|
|
21
|
+
"tenant isolation",
|
|
22
|
+
"regulated flow"
|
|
23
|
+
],
|
|
24
|
+
"roles": [
|
|
25
|
+
"qa",
|
|
26
|
+
"sdet",
|
|
27
|
+
"sre",
|
|
28
|
+
"security",
|
|
29
|
+
"architect",
|
|
30
|
+
"developer",
|
|
31
|
+
"devops",
|
|
32
|
+
"platform_engineer",
|
|
33
|
+
"release_manager"
|
|
34
|
+
],
|
|
35
|
+
"capabilities": [
|
|
36
|
+
"resilience-testing",
|
|
37
|
+
"chaos-testing",
|
|
38
|
+
"failure-mode-analysis",
|
|
39
|
+
"operational-readiness"
|
|
40
|
+
],
|
|
41
|
+
"riskAreas": [
|
|
42
|
+
"security",
|
|
43
|
+
"release",
|
|
44
|
+
"integration",
|
|
45
|
+
"governance",
|
|
46
|
+
"sre",
|
|
47
|
+
"devops",
|
|
48
|
+
"compliance",
|
|
49
|
+
"performance"
|
|
50
|
+
],
|
|
51
|
+
"sourceGroups": [
|
|
52
|
+
"quality-security",
|
|
53
|
+
"devops-runtime",
|
|
54
|
+
"architecture",
|
|
55
|
+
"product-backlog",
|
|
56
|
+
"agent-memory"
|
|
57
|
+
],
|
|
58
|
+
"evidence": ["command", "file", "log", "report", "trace"],
|
|
59
|
+
"loadBudget": "normal",
|
|
60
|
+
"entry": "skills/chaos-resilience-testing/SKILL.md"
|
|
61
|
+
}
|