@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.
@@ -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.find(([, mappedPhase]) => mappedPhase === phase)?.[0] ?? phase;
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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"}
@@ -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":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EACL,mGAAmG;QACrG,QAAQ,EAAE;YACR,WAAW;YACX,UAAU;YACV,WAAW;YACX,WAAW;YACX,SAAS;YACT,SAAS;YACT,UAAU;SACX;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,CAAC;QACpE,YAAY,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,CAAC;QAC3E,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACpC,YAAY,EAAE,CAAC,sBAAsB,EAAE,cAAc,CAAC;QACtD,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACvC,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,oFAAoF;YACpF,0GAA0G;YAC1G,2FAA2F;SAC5F;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,sFAAsF;QACxF,QAAQ,EAAE;YACR,QAAQ;YACR,WAAW;YACX,UAAU;YACV,MAAM;YACN,IAAI;YACJ,MAAM;YACN,SAAS;YACT,MAAM;SACP;QACD,KAAK,EAAE;YACL,QAAQ;YACR,WAAW;YACX,WAAW;YACX,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;YACnB,MAAM;YACN,IAAI;YACJ,kBAAkB;YAClB,wBAAwB;SACzB;QACD,YAAY,EAAE;YACZ,eAAe;YACf,uBAAuB;YACvB,oBAAoB;SACrB;QACD,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,+EAA+E;YAC/E,uGAAuG;YACvG,6FAA6F;SAC9F;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,6EAA6E;QAC/E,QAAQ,EAAE;YACR,SAAS;YACT,SAAS;YACT,cAAc;YACd,MAAM;YACN,UAAU;YACV,SAAS;YACT,OAAO;SACR;QACD,KAAK,EAAE;YACL,WAAW;YACX,kBAAkB;YAClB,iBAAiB;YACjB,WAAW;YACX,kBAAkB;SACnB;QACD,YAAY,EAAE,CAAC,aAAa,EAAE,4BAA4B,CAAC;QAC3D,SAAS,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC;QACjE,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,qFAAqF;YACrF,oEAAoE;YACpE,yFAAyF;YACzF,mFAAmF;YACnF,0EAA0E;SAC3E;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,iFAAiF;QACnF,QAAQ,EAAE;YACR,MAAM;YACN,WAAW;YACX,QAAQ;YACR,MAAM;YACN,WAAW;YACX,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,MAAM;SACP;QACD,KAAK,EAAE;YACL,WAAW;YACX,WAAW;YACX,IAAI;YACJ,MAAM;YACN,UAAU;YACV,QAAQ;YACR,mBAAmB;SACpB;QACD,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QACrE,SAAS,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,iBAAiB,CAAC;QACrD,YAAY,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC;QAC9D,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,CAAC,qCAAqC,CAAC;QAC/C,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC/B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,4DAA4D;YAC5D,qFAAqF;YACrF,kGAAkG;SACnG;KACF;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EACL,qJAAqJ;QACvJ,QAAQ,EAAE;YACR,YAAY;YACZ,aAAa;YACb,WAAW;YACX,OAAO;YACP,QAAQ;YACR,KAAK;YACL,MAAM;YACN,WAAW;YACX,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;YACV,QAAQ;YACR,UAAU;YACV,UAAU;YACV,WAAW;YACX,MAAM;YACN,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,aAAa;YACb,cAAc;YACd,KAAK;YACL,MAAM;YACN,OAAO;SACR;QACD,KAAK,EAAE;YACL,WAAW;YACX,WAAW;YACX,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;YACnB,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,mBAAmB;YACnB,KAAK;YACL,sBAAsB;SACvB;QACD,YAAY,EAAE;YACZ,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;SACrB;QACD,SAAS,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;QACzE,YAAY,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC;QAC9D,KAAK,EAAE,sCAAsC;QAC7C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;QACvC,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,8NAA8N;YAC9N,2LAA2L;YAC3L,sLAAsL;YACtL,4PAA4P;YAC5P,0JAA0J;SAC3J;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,qFAAqF;QACvF,QAAQ,EAAE;YACR,IAAI;YACJ,cAAc;YACd,QAAQ;YACR,MAAM;YACN,OAAO;YACP,iBAAiB;SAClB;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,WAAW;YACX,IAAI;YACJ,UAAU;YACV,iBAAiB;YACjB,WAAW;SACZ;QACD,YAAY,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,gBAAgB,CAAC;QAC1D,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC;QACrD,YAAY,EAAE;YACZ,UAAU;YACV,kBAAkB;YAClB,iBAAiB;YACjB,cAAc;SACf;QACD,KAAK,EAAE,2BAA2B;QAClC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,0FAA0F;YAC1F,0DAA0D;YAC1D,0FAA0F;SAC3F;KACF;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EACL,gIAAgI;QAClI,QAAQ,EAAE;YACR,aAAa;YACb,eAAe;YACf,8BAA8B;YAC9B,YAAY;YACZ,KAAK;YACL,YAAY;YACZ,OAAO;YACP,OAAO;YACP,aAAa;YACb,sBAAsB;YACtB,YAAY;YACZ,QAAQ;YACR,QAAQ;YACR,cAAc;YACd,aAAa;YACb,SAAS;SACV;QACD,KAAK,EAAE;YACL,IAAI;YACJ,MAAM;YACN,WAAW;YACX,qBAAqB;YACrB,oBAAoB;YACpB,QAAQ;YACR,KAAK;YACL,kBAAkB;YAClB,eAAe;YACf,WAAW;YACX,iBAAiB;SAClB;QACD,YAAY,EAAE;YACZ,aAAa;YACb,qBAAqB;YACrB,mBAAmB;YACnB,uBAAuB;SACxB;QACD,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC;QACpE,YAAY,EAAE;YACZ,kBAAkB;YAClB,iBAAiB;YACjB,UAAU;YACV,cAAc;SACf;QACD,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACR,SAAS;YACT,MAAM;YACN,YAAY;YACZ,OAAO;YACP,OAAO;YACP,KAAK;YACL,QAAQ;SACT;QACD,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,2IAA2I;YAC3I,sKAAsK;YACtK,qKAAqK;YACrK,mIAAmI;SACpI;KACF;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EACL,mIAAmI;QACrI,QAAQ,EAAE;YACR,OAAO;YACP,YAAY;YACZ,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,sBAAsB;YACtB,cAAc;YACd,iBAAiB;YACjB,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,YAAY;YACZ,iBAAiB;YACjB,kBAAkB;YAClB,gBAAgB;SACjB;QACD,KAAK,EAAE;YACL,IAAI;YACJ,MAAM;YACN,KAAK;YACL,UAAU;YACV,WAAW;YACX,WAAW;YACX,QAAQ;YACR,mBAAmB;YACnB,iBAAiB;SAClB;QACD,YAAY,EAAE;YACZ,oBAAoB;YACpB,eAAe;YACf,uBAAuB;YACvB,uBAAuB;SACxB;QACD,SAAS,EAAE;YACT,UAAU;YACV,SAAS;YACT,aAAa;YACb,YAAY;YACZ,KAAK;YACL,QAAQ;YACR,YAAY;YACZ,aAAa;SACd;QACD,YAAY,EAAE;YACZ,kBAAkB;YAClB,gBAAgB;YAChB,cAAc;YACd,iBAAiB;YACjB,cAAc;SACf;QACD,KAAK,EAAE,0CAA0C;QACjD,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,sGAAsG;YACtG,qLAAqL;YACrL,uNAAuN;YACvN,2KAA2K;YAC3K,2LAA2L;SAC5L;KACF;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EACL,8EAA8E;QAChF,QAAQ,EAAE;YACR,YAAY;YACZ,SAAS;YACT,KAAK;YACL,YAAY;YACZ,OAAO;YACP,OAAO;YACP,YAAY;YACZ,KAAK;YACL,IAAI;SACL;QACD,KAAK,EAAE;YACL,IAAI;YACJ,MAAM;YACN,qBAAqB;YACrB,gBAAgB;YAChB,6BAA6B;SAC9B;QACD,YAAY,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;QACxE,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;QAC5B,YAAY,EAAE;YACZ,kBAAkB;YAClB,UAAU;YACV,iBAAiB;YACjB,cAAc;SACf;QACD,KAAK,EAAE,qCAAqC;QAC5C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;QACpD,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,0EAA0E;YAC1E,6DAA6D;YAC7D,mFAAmF;SACpF;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gEAAgE;QACzE,QAAQ,EAAE;YACR,SAAS;YACT,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;YACR,qBAAqB;YACrB,QAAQ;SACT;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,eAAe;YACf,kBAAkB;YAClB,SAAS;YACT,QAAQ;SACT;QACD,YAAY,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,CAAC;QACzE,SAAS,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC;QAClC,YAAY,EAAE,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,CAAC;QACzE,KAAK,EAAE,8BAA8B;QACrC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,oEAAoE;YACpE,qEAAqE;YACrE,oEAAoE;SACrE;KACF;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EACL,0HAA0H;QAC5H,QAAQ,EAAE;YACR,UAAU;YACV,eAAe;YACf,MAAM;YACN,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,SAAS;YACT,cAAc;YACd,KAAK;YACL,eAAe;YACf,aAAa;YACb,iBAAiB;SAClB;QACD,KAAK,EAAE;YACL,kBAAkB;YAClB,iBAAiB;YACjB,WAAW;YACX,iBAAiB;YACjB,eAAe;YACf,mBAAmB;YACnB,sBAAsB;YACtB,QAAQ;SACT;QACD,YAAY,EAAE;YACZ,oBAAoB;YACpB,eAAe;YACf,4BAA4B;YAC5B,YAAY;YACZ,mBAAmB;SACpB;QACD,SAAS,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,CAAC;QACrE,YAAY,EAAE;YACZ,sBAAsB;YACtB,iBAAiB;YACjB,cAAc;YACd,UAAU;YACV,gBAAgB;YAChB,kBAAkB;YAClB,cAAc;SACf;QACD,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;QACvC,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,+IAA+I;YAC/I,wIAAwI;YACxI,6IAA6I;YAC7I,wJAAwJ;YACxJ,qJAAqJ;YACrJ,yHAAyH;SAC1H;KACF;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EACL,iFAAiF;QACnF,QAAQ,EAAE;YACR,SAAS;YACT,QAAQ;YACR,UAAU;YACV,SAAS;YACT,WAAW;YACX,UAAU;YACV,eAAe;SAChB;QACD,KAAK,EAAE;YACL,iBAAiB;YACjB,QAAQ;YACR,KAAK;YACL,mBAAmB;YACnB,sBAAsB;YACtB,UAAU;SACX;QACD,YAAY,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,CAAC;QAC1E,SAAS,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnD,YAAY,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,CAAC;QACpE,KAAK,EAAE,mCAAmC;QAC1C,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACvC,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,2FAA2F;YAC3F,qFAAqF;YACrF,iEAAiE;SAClE;KACF;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EACL,wEAAwE;QAC1E,QAAQ,EAAE;YACR,OAAO;YACP,KAAK;YACL,QAAQ;YACR,UAAU;YACV,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS;SACV;QACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;QACrE,YAAY,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;QACtE,SAAS,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACpC,YAAY,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC;QACjE,KAAK,EAAE,kCAAkC;QACzC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,kGAAkG;YAClG,gFAAgF;YAChF,2EAA2E;SAC5E;KACF;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,2EAA2E;QAC7E,QAAQ,EAAE;YACR,QAAQ;YACR,eAAe;YACf,MAAM;YACN,UAAU;YACV,QAAQ;YACR,OAAO;YACP,SAAS;SACV;QACD,KAAK,EAAE;YACL,QAAQ;YACR,SAAS;YACT,iBAAiB;YACjB,WAAW;YACX,WAAW;YACX,IAAI;YACJ,UAAU;YACV,QAAQ;SACT;QACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,CAAC;QACtE,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE;YACZ,sBAAsB;YACtB,iBAAiB;YACjB,cAAc;YACd,UAAU;YACV,aAAa;YACb,cAAc;SACf;QACD,KAAK,EAAE,iCAAiC;QACxC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,gFAAgF;YAChF,wFAAwF;YACxF,oEAAoE;SACrE;KACF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,oFAAoF;QACtF,QAAQ,EAAE;YACR,SAAS;YACT,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,QAAQ;YACR,OAAO;SACR;QACD,KAAK,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC;QACpE,YAAY,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;QACzE,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC5C,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;QAC1C,KAAK,EAAE,gCAAgC;QACvC,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE;YACZ,4DAA4D;YAC5D,4GAA4G;YAC5G,uEAAuE;SACxE;KACF;CACF,CAAC"}
@@ -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
- /\b(ui|ux|frontend|responsive|mobile|accessibility|browser|site|web)\b/i.test(text)) {
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: "developer",
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" ? "qa" : "developer";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jterrats/open-orchestra",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  "extensions/vscode-open-orchestra",
@@ -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
+ }