@jterrats/open-orchestra 0.1.0 → 0.2.1

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.
Files changed (187) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +17 -2
  3. package/dist/assets/web-console.js +743 -0
  4. package/dist/cli.js +157 -4
  5. package/dist/cli.js.map +1 -1
  6. package/dist/collaboration-flows.d.ts +5 -0
  7. package/dist/collaboration-flows.js +256 -0
  8. package/dist/collaboration-flows.js.map +1 -0
  9. package/dist/command-manifest.d.ts +11 -0
  10. package/dist/command-manifest.js +52 -0
  11. package/dist/command-manifest.js.map +1 -0
  12. package/dist/commands.d.ts +31 -0
  13. package/dist/commands.js +644 -2
  14. package/dist/commands.js.map +1 -1
  15. package/dist/constants.d.ts +4 -0
  16. package/dist/constants.js +22 -0
  17. package/dist/constants.js.map +1 -1
  18. package/dist/defaults.d.ts +7 -11
  19. package/dist/defaults.js +7 -625
  20. package/dist/defaults.js.map +1 -1
  21. package/dist/delegation-decision.d.ts +14 -0
  22. package/dist/delegation-decision.js +391 -0
  23. package/dist/delegation-decision.js.map +1 -0
  24. package/dist/detect-commands.d.ts +3 -0
  25. package/dist/detect-commands.js +28 -0
  26. package/dist/detect-commands.js.map +1 -0
  27. package/dist/diagram-validation.d.ts +36 -0
  28. package/dist/diagram-validation.js +118 -0
  29. package/dist/diagram-validation.js.map +1 -0
  30. package/dist/fs-utils.d.ts +2 -0
  31. package/dist/fs-utils.js +75 -6
  32. package/dist/fs-utils.js.map +1 -1
  33. package/dist/health-checks.d.ts +28 -0
  34. package/dist/health-checks.js +219 -0
  35. package/dist/health-checks.js.map +1 -0
  36. package/dist/health-commands.d.ts +2 -0
  37. package/dist/health-commands.js +18 -0
  38. package/dist/health-commands.js.map +1 -0
  39. package/dist/instruction-apply.d.ts +34 -0
  40. package/dist/instruction-apply.js +150 -0
  41. package/dist/instruction-apply.js.map +1 -0
  42. package/dist/instruction-blocks.d.ts +22 -0
  43. package/dist/instruction-blocks.js +120 -0
  44. package/dist/instruction-blocks.js.map +1 -0
  45. package/dist/instruction-imports.d.ts +12 -0
  46. package/dist/instruction-imports.js +45 -0
  47. package/dist/instruction-imports.js.map +1 -0
  48. package/dist/instruction-stale.d.ts +9 -0
  49. package/dist/instruction-stale.js +106 -0
  50. package/dist/instruction-stale.js.map +1 -0
  51. package/dist/instruction-types.d.ts +66 -0
  52. package/dist/instruction-types.js +2 -0
  53. package/dist/instruction-types.js.map +1 -0
  54. package/dist/instruction-updates.d.ts +4 -0
  55. package/dist/instruction-updates.js +5 -0
  56. package/dist/instruction-updates.js.map +1 -0
  57. package/dist/knowledge-base.d.ts +10 -0
  58. package/dist/knowledge-base.js +117 -0
  59. package/dist/knowledge-base.js.map +1 -0
  60. package/dist/mcp-oauth-proxy.d.ts +39 -0
  61. package/dist/mcp-oauth-proxy.js +80 -0
  62. package/dist/mcp-oauth-proxy.js.map +1 -0
  63. package/dist/pr-review.d.ts +20 -0
  64. package/dist/pr-review.js +142 -0
  65. package/dist/pr-review.js.map +1 -0
  66. package/dist/project-detection.d.ts +22 -0
  67. package/dist/project-detection.js +174 -0
  68. package/dist/project-detection.js.map +1 -0
  69. package/dist/prompt-registry.d.ts +56 -0
  70. package/dist/prompt-registry.js +163 -0
  71. package/dist/prompt-registry.js.map +1 -0
  72. package/dist/release-candidate.d.ts +41 -0
  73. package/dist/release-candidate.js +196 -0
  74. package/dist/release-candidate.js.map +1 -0
  75. package/dist/release-commands.d.ts +4 -0
  76. package/dist/release-commands.js +50 -0
  77. package/dist/release-commands.js.map +1 -0
  78. package/dist/roles/ai-support-roles.d.ts +11 -0
  79. package/dist/roles/ai-support-roles.js +67 -0
  80. package/dist/roles/ai-support-roles.js.map +1 -0
  81. package/dist/roles/core-roles.d.ts +11 -0
  82. package/dist/roles/core-roles.js +144 -0
  83. package/dist/roles/core-roles.js.map +1 -0
  84. package/dist/roles/engineering-roles.d.ts +11 -0
  85. package/dist/roles/engineering-roles.js +176 -0
  86. package/dist/roles/engineering-roles.js.map +1 -0
  87. package/dist/roles/governance-roles.d.ts +11 -0
  88. package/dist/roles/governance-roles.js +117 -0
  89. package/dist/roles/governance-roles.js.map +1 -0
  90. package/dist/roles/index.d.ts +11 -0
  91. package/dist/roles/index.js +17 -0
  92. package/dist/roles/index.js.map +1 -0
  93. package/dist/roles/platform-ops-roles.d.ts +11 -0
  94. package/dist/roles/platform-ops-roles.js +158 -0
  95. package/dist/roles/platform-ops-roles.js.map +1 -0
  96. package/dist/roles/qa-ux-roles.d.ts +11 -0
  97. package/dist/roles/qa-ux-roles.js +193 -0
  98. package/dist/roles/qa-ux-roles.js.map +1 -0
  99. package/dist/roles/release-ops-roles.d.ts +11 -0
  100. package/dist/roles/release-ops-roles.js +109 -0
  101. package/dist/roles/release-ops-roles.js.map +1 -0
  102. package/dist/runtime-adapters.d.ts +6 -0
  103. package/dist/runtime-adapters.js +88 -0
  104. package/dist/runtime-adapters.js.map +1 -0
  105. package/dist/runtime-bootstrap.d.ts +12 -0
  106. package/dist/runtime-bootstrap.js +85 -0
  107. package/dist/runtime-bootstrap.js.map +1 -0
  108. package/dist/skills.d.ts +36 -0
  109. package/dist/skills.js +665 -0
  110. package/dist/skills.js.map +1 -0
  111. package/dist/subagent-protocol.d.ts +41 -0
  112. package/dist/subagent-protocol.js +179 -0
  113. package/dist/subagent-protocol.js.map +1 -0
  114. package/dist/telemetry-consent.d.ts +24 -0
  115. package/dist/telemetry-consent.js +95 -0
  116. package/dist/telemetry-consent.js.map +1 -0
  117. package/dist/telemetry-export.d.ts +14 -0
  118. package/dist/telemetry-export.js +126 -0
  119. package/dist/telemetry-export.js.map +1 -0
  120. package/dist/telemetry-records.d.ts +3 -0
  121. package/dist/telemetry-records.js +96 -0
  122. package/dist/telemetry-records.js.map +1 -0
  123. package/dist/telemetry-redaction.d.ts +9 -0
  124. package/dist/telemetry-redaction.js +55 -0
  125. package/dist/telemetry-redaction.js.map +1 -0
  126. package/dist/telemetry-types.d.ts +52 -0
  127. package/dist/telemetry-types.js +2 -0
  128. package/dist/telemetry-types.js.map +1 -0
  129. package/dist/telemetry.d.ts +4 -0
  130. package/dist/telemetry.js +4 -0
  131. package/dist/telemetry.js.map +1 -0
  132. package/dist/types.d.ts +176 -1
  133. package/dist/validation.d.ts +3 -1
  134. package/dist/validation.js +28 -5
  135. package/dist/validation.js.map +1 -1
  136. package/dist/web-api.js +167 -3
  137. package/dist/web-api.js.map +1 -1
  138. package/dist/web-console.js +6 -160
  139. package/dist/web-console.js.map +1 -1
  140. package/dist/workflow-gates.js +4 -2
  141. package/dist/workflow-gates.js.map +1 -1
  142. package/dist/workflow-services.js +125 -67
  143. package/dist/workflow-services.js.map +1 -1
  144. package/dist/workflow-templates.d.ts +10 -0
  145. package/dist/workflow-templates.js +141 -0
  146. package/dist/workflow-templates.js.map +1 -0
  147. package/dist/workspace-classification.d.ts +5 -0
  148. package/dist/workspace-classification.js +127 -0
  149. package/dist/workspace-classification.js.map +1 -0
  150. package/dist/workspace-validator.js +11 -1
  151. package/dist/workspace-validator.js.map +1 -1
  152. package/dist/workspace.d.ts +8 -4
  153. package/dist/workspace.js +111 -4
  154. package/dist/workspace.js.map +1 -1
  155. package/docs/dev-team-specialist-role-profiles.md +171 -0
  156. package/docs/mcp-oauth-proxy-evaluation.md +44 -0
  157. package/docs/multi-agent-orchestrator-backlog.md +413 -1
  158. package/docs/open-orchestra-dogfooding-findings.md +66 -0
  159. package/docs/orchestra-mvp.md +46 -1
  160. package/docs/runtime-adapters.md +86 -0
  161. package/docs/runtime-llm-flow.md +124 -0
  162. package/docs/setup-agents-dogfooding-findings.md +101 -0
  163. package/docs/skill-loading-strategy.md +114 -0
  164. package/docs/source-of-truth-and-agent-learning.md +83 -0
  165. package/package.json +9 -5
  166. package/rules/agent-roles.mdc +30 -0
  167. package/rules/ai-assisted-development.mdc +22 -0
  168. package/skills/agent-learning/SKILL.md +24 -0
  169. package/skills/agent-learning/manifest.json +40 -0
  170. package/skills/backlog-sync/SKILL.md +24 -0
  171. package/skills/backlog-sync/manifest.json +41 -0
  172. package/skills/diagram-export/SKILL.md +35 -0
  173. package/skills/diagram-export/manifest.json +40 -0
  174. package/skills/model-evaluation/SKILL.md +25 -0
  175. package/skills/model-evaluation/manifest.json +41 -0
  176. package/skills/playwright-evidence/SKILL.md +28 -0
  177. package/skills/playwright-evidence/manifest.json +46 -0
  178. package/skills/pr-review/SKILL.md +23 -0
  179. package/skills/pr-review/manifest.json +43 -0
  180. package/skills/prompt-registry/SKILL.md +24 -0
  181. package/skills/prompt-registry/manifest.json +45 -0
  182. package/skills/release-readiness/SKILL.md +25 -0
  183. package/skills/release-readiness/manifest.json +45 -0
  184. package/skills/source-of-truth/SKILL.md +24 -0
  185. package/skills/source-of-truth/manifest.json +47 -0
  186. package/skills/static-analysis/SKILL.md +26 -0
  187. package/skills/static-analysis/manifest.json +46 -0
@@ -0,0 +1,144 @@
1
+ export const coreRoles = [
2
+ {
3
+ id: "parent",
4
+ name: "Parent Agent / Orchestrator",
5
+ description: "Coordinates task decomposition, role activation, gates, locks, handoffs, escalation, and final integration.",
6
+ capabilities: [
7
+ "orchestration",
8
+ "task_graph",
9
+ "handoff_routing",
10
+ "status",
11
+ "integration",
12
+ ],
13
+ requiredHandoffFields: ["status", "decisions", "risks", "evidence"],
14
+ blockingAuthority: ["readiness", "integration"],
15
+ activationCriteria: [
16
+ "all orchestrated work",
17
+ "multi-role tasks",
18
+ "blocked or risky tasks",
19
+ ],
20
+ expectedEvidence: [
21
+ "execution plan",
22
+ "selected roles",
23
+ "handoff summary",
24
+ "final integration summary",
25
+ ],
26
+ gateParticipation: ["readiness", "release-readiness"],
27
+ },
28
+ {
29
+ id: "product_manager",
30
+ name: "Product Manager",
31
+ description: "Owns product strategy, outcome framing, prioritization, roadmap trade-offs, and success metrics.",
32
+ capabilities: ["product_strategy", "prioritization", "metrics", "roadmap"],
33
+ requiredHandoffFields: [
34
+ "userValue",
35
+ "priority",
36
+ "successMetrics",
37
+ "tradeoffs",
38
+ ],
39
+ blockingAuthority: ["scope", "priority"],
40
+ activationCriteria: [
41
+ "new product capability",
42
+ "scope or priority ambiguity",
43
+ "roadmap impact",
44
+ ],
45
+ expectedEvidence: [
46
+ "problem statement",
47
+ "success metrics",
48
+ "priority rationale",
49
+ ],
50
+ gateParticipation: ["readiness"],
51
+ },
52
+ {
53
+ id: "product_owner",
54
+ name: "Product Owner",
55
+ description: "Owns backlog clarity, acceptance criteria, user value, and final business acceptance.",
56
+ capabilities: [
57
+ "backlog_refinement",
58
+ "acceptance_criteria",
59
+ "business_acceptance",
60
+ ],
61
+ requiredHandoffFields: [
62
+ "backlogItem",
63
+ "acceptanceCriteria",
64
+ "businessRules",
65
+ ],
66
+ blockingAuthority: ["readiness", "business_acceptance"],
67
+ activationCriteria: [
68
+ "new backlog item",
69
+ "unclear acceptance criteria",
70
+ "business rule changes",
71
+ ],
72
+ expectedEvidence: [
73
+ "refined story",
74
+ "acceptance criteria",
75
+ "business acceptance note",
76
+ ],
77
+ gateParticipation: ["readiness", "release-readiness"],
78
+ },
79
+ {
80
+ id: "business_analyst",
81
+ name: "Business Analyst",
82
+ description: "Owns requirements analysis, process rules, edge cases, constraints, and stakeholder alignment.",
83
+ capabilities: ["requirements_analysis", "process_modeling", "edge_cases"],
84
+ requiredHandoffFields: [
85
+ "requirements",
86
+ "rules",
87
+ "edgeCases",
88
+ "assumptions",
89
+ ],
90
+ blockingAuthority: ["requirements"],
91
+ activationCriteria: [
92
+ "ambiguous workflow",
93
+ "domain rules",
94
+ "multi-stakeholder requirements",
95
+ ],
96
+ expectedEvidence: ["requirements notes", "rule matrix", "open questions"],
97
+ gateParticipation: ["readiness"],
98
+ },
99
+ {
100
+ id: "planner",
101
+ name: "Planner",
102
+ description: "Decomposes epics and stories into executable task plans, dependencies, sequencing, and role assignments.",
103
+ capabilities: [
104
+ "planning",
105
+ "dependency_mapping",
106
+ "role_selection",
107
+ "work_breakdown",
108
+ ],
109
+ requiredHandoffFields: [
110
+ "plan",
111
+ "dependencies",
112
+ "selectedRoles",
113
+ "nonGoals",
114
+ ],
115
+ blockingAuthority: ["planning"],
116
+ activationCriteria: [
117
+ "multi-step work",
118
+ "unclear sequencing",
119
+ "parallelizable tasks",
120
+ ],
121
+ expectedEvidence: [
122
+ "execution plan",
123
+ "dependency graph",
124
+ "role activation rationale",
125
+ ],
126
+ gateParticipation: ["readiness"],
127
+ },
128
+ {
129
+ id: "architect",
130
+ name: "Architect",
131
+ description: "Owns system boundaries, data flow, integration contracts, and architecture trade-offs.",
132
+ capabilities: ["architecture", "adr", "design_review"],
133
+ requiredHandoffFields: ["decision", "tradeoffs", "risks"],
134
+ blockingAuthority: ["architecture"],
135
+ activationCriteria: [
136
+ "non-trivial design change",
137
+ "cross-module contract change",
138
+ "new integration",
139
+ ],
140
+ expectedEvidence: ["architecture proposal", "ADR", "trade-off analysis"],
141
+ gateParticipation: ["architecture", "release-readiness"],
142
+ },
143
+ ];
144
+ //# sourceMappingURL=core-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-roles.js","sourceRoot":"","sources":["../../src/roles/core-roles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,6GAA6G;QAC/G,YAAY,EAAE;YACZ,eAAe;YACf,YAAY;YACZ,iBAAiB;YACjB,QAAQ;YACR,aAAa;SACd;QACD,qBAAqB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC;QACnE,iBAAiB,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;QAC/C,kBAAkB,EAAE;YAClB,uBAAuB;YACvB,kBAAkB;YAClB,wBAAwB;SACzB;QACD,gBAAgB,EAAE;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,2BAA2B;SAC5B;QACD,iBAAiB,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACtD;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,kGAAkG;QACpG,YAAY,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,CAAC;QAC1E,qBAAqB,EAAE;YACrB,WAAW;YACX,UAAU;YACV,gBAAgB;YAChB,WAAW;SACZ;QACD,iBAAiB,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QACxC,kBAAkB,EAAE;YAClB,wBAAwB;YACxB,6BAA6B;YAC7B,gBAAgB;SACjB;QACD,gBAAgB,EAAE;YAChB,mBAAmB;YACnB,iBAAiB;YACjB,oBAAoB;SACrB;QACD,iBAAiB,EAAE,CAAC,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,uFAAuF;QACzF,YAAY,EAAE;YACZ,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;SACtB;QACD,qBAAqB,EAAE;YACrB,aAAa;YACb,oBAAoB;YACpB,eAAe;SAChB;QACD,iBAAiB,EAAE,CAAC,WAAW,EAAE,qBAAqB,CAAC;QACvD,kBAAkB,EAAE;YAClB,kBAAkB;YAClB,6BAA6B;YAC7B,uBAAuB;SACxB;QACD,gBAAgB,EAAE;YAChB,eAAe;YACf,qBAAqB;YACrB,0BAA0B;SAC3B;QACD,iBAAiB,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACtD;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,gGAAgG;QAClG,YAAY,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,YAAY,CAAC;QACzE,qBAAqB,EAAE;YACrB,cAAc;YACd,OAAO;YACP,WAAW;YACX,aAAa;SACd;QACD,iBAAiB,EAAE,CAAC,cAAc,CAAC;QACnC,kBAAkB,EAAE;YAClB,oBAAoB;YACpB,cAAc;YACd,gCAAgC;SACjC;QACD,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,CAAC;QACzE,iBAAiB,EAAE,CAAC,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EACT,0GAA0G;QAC5G,YAAY,EAAE;YACZ,UAAU;YACV,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;SACjB;QACD,qBAAqB,EAAE;YACrB,MAAM;YACN,cAAc;YACd,eAAe;YACf,UAAU;SACX;QACD,iBAAiB,EAAE,CAAC,UAAU,CAAC;QAC/B,kBAAkB,EAAE;YAClB,iBAAiB;YACjB,oBAAoB;YACpB,sBAAsB;SACvB;QACD,gBAAgB,EAAE;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,2BAA2B;SAC5B;QACD,iBAAiB,EAAE,CAAC,WAAW,CAAC;KACjC;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,wFAAwF;QAC1F,YAAY,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,eAAe,CAAC;QACtD,qBAAqB,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC;QACzD,iBAAiB,EAAE,CAAC,cAAc,CAAC;QACnC,kBAAkB,EAAE;YAClB,2BAA2B;YAC3B,8BAA8B;YAC9B,iBAAiB;SAClB;QACD,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,CAAC;QACxE,iBAAiB,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;KACzD;CACe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const engineeringRoles: {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ capabilities: string[];
6
+ requiredHandoffFields: string[];
7
+ blockingAuthority: string[];
8
+ activationCriteria: string[];
9
+ expectedEvidence: string[];
10
+ gateParticipation: string[];
11
+ }[];
@@ -0,0 +1,176 @@
1
+ export const engineeringRoles = [
2
+ {
3
+ id: "developer",
4
+ name: "Developer",
5
+ description: "Owns implementation quality, unit tests, integration changes, and developer handoff.",
6
+ capabilities: [
7
+ "implementation",
8
+ "unit_tests",
9
+ "integration_tests",
10
+ "handoff",
11
+ ],
12
+ requiredHandoffFields: [
13
+ "changedComponents",
14
+ "behaviorChanged",
15
+ "unitTests",
16
+ "commandsRun",
17
+ ],
18
+ blockingAuthority: [],
19
+ activationCriteria: ["code change", "bug fix", "test implementation"],
20
+ expectedEvidence: [
21
+ "unit test results",
22
+ "commands run",
23
+ "changed files",
24
+ "known gaps",
25
+ ],
26
+ gateParticipation: ["qa-release", "release-readiness"],
27
+ },
28
+ {
29
+ id: "tech_lead",
30
+ name: "Tech Lead / Engineering Lead",
31
+ description: "Owns implementation direction, code ownership boundaries, technical sequencing, review standards, and integration quality for delivery teams.",
32
+ capabilities: [
33
+ "technical_leadership",
34
+ "implementation_strategy",
35
+ "code_ownership",
36
+ "integration_review",
37
+ "engineering_standards",
38
+ ],
39
+ requiredHandoffFields: [
40
+ "implementationPlan",
41
+ "ownershipBoundaries",
42
+ "reviewFocus",
43
+ "integrationRisks",
44
+ ],
45
+ blockingAuthority: ["implementation", "integration_quality"],
46
+ activationCriteria: [
47
+ "multi-developer work",
48
+ "cross-module implementation",
49
+ "technical sequencing ambiguity",
50
+ "high change coordination risk",
51
+ ],
52
+ expectedEvidence: [
53
+ "implementation plan",
54
+ "ownership map",
55
+ "review checklist",
56
+ "integration risk notes",
57
+ ],
58
+ gateParticipation: ["architecture", "risk-review", "release-readiness"],
59
+ },
60
+ {
61
+ id: "frontend_specialist",
62
+ name: "Frontend Specialist",
63
+ description: "Owns browser behavior, component architecture, responsive UI, accessibility implementation, client performance, and visual regression risk.",
64
+ capabilities: [
65
+ "frontend_architecture",
66
+ "component_design",
67
+ "responsive_ui",
68
+ "client_performance",
69
+ "accessibility_implementation",
70
+ ],
71
+ requiredHandoffFields: [
72
+ "userFlow",
73
+ "states",
74
+ "accessibility",
75
+ "browserEvidence",
76
+ ],
77
+ blockingAuthority: ["frontend_quality", "accessibility"],
78
+ activationCriteria: [
79
+ "user-facing web UI",
80
+ "component architecture change",
81
+ "responsive or mobile layout risk",
82
+ "client-side performance risk",
83
+ ],
84
+ expectedEvidence: [
85
+ "responsive screenshots",
86
+ "accessibility notes",
87
+ "component test result",
88
+ "browser smoke evidence",
89
+ ],
90
+ gateParticipation: ["qa-release", "risk-review"],
91
+ },
92
+ {
93
+ id: "backend_specialist",
94
+ name: "Backend Specialist",
95
+ description: "Owns service boundaries, API contracts, persistence integration, concurrency, reliability behavior, and server-side test coverage.",
96
+ capabilities: [
97
+ "backend_architecture",
98
+ "api_contracts",
99
+ "service_boundaries",
100
+ "concurrency",
101
+ "server_reliability",
102
+ ],
103
+ requiredHandoffFields: [
104
+ "apiContract",
105
+ "dataFlow",
106
+ "failureModes",
107
+ "serviceTests",
108
+ ],
109
+ blockingAuthority: ["backend_quality", "api_contract"],
110
+ activationCriteria: [
111
+ "API or service contract change",
112
+ "business logic or domain service change",
113
+ "concurrency or transaction risk",
114
+ "server-side reliability impact",
115
+ ],
116
+ expectedEvidence: [
117
+ "API contract notes",
118
+ "unit or integration test result",
119
+ "failure mode review",
120
+ "observability notes",
121
+ ],
122
+ gateParticipation: ["architecture", "qa-release", "risk-review"],
123
+ },
124
+ {
125
+ id: "mobile_specialist",
126
+ name: "Mobile Specialist",
127
+ description: "Owns mobile UX, native or hybrid runtime constraints, offline behavior, device compatibility, store readiness, and mobile test evidence.",
128
+ capabilities: [
129
+ "mobile_ux",
130
+ "device_compatibility",
131
+ "offline_behavior",
132
+ "mobile_performance",
133
+ "store_readiness",
134
+ ],
135
+ requiredHandoffFields: [
136
+ "devices",
137
+ "mobileFlow",
138
+ "offlineBehavior",
139
+ "releaseConstraints",
140
+ ],
141
+ blockingAuthority: ["mobile_quality", "release"],
142
+ activationCriteria: [
143
+ "mobile application change",
144
+ "responsive behavior cannot cover native constraints",
145
+ "offline or device capability change",
146
+ "app store release impact",
147
+ ],
148
+ expectedEvidence: [
149
+ "device matrix",
150
+ "mobile screenshots or recordings",
151
+ "offline test notes",
152
+ "store readiness checklist",
153
+ ],
154
+ gateParticipation: ["qa-release", "risk-review", "release-readiness"],
155
+ },
156
+ {
157
+ id: "reviewer_critic",
158
+ name: "Reviewer / Critic",
159
+ description: "Challenges agent outputs for correctness, completeness, regression risk, and missing evidence before handoff or release.",
160
+ capabilities: ["critical_review", "regression_analysis", "evidence_review"],
161
+ requiredHandoffFields: ["findings", "risk", "recommendation"],
162
+ blockingAuthority: ["review"],
163
+ activationCriteria: [
164
+ "high-risk output",
165
+ "cross-role handoff",
166
+ "release candidate",
167
+ ],
168
+ expectedEvidence: [
169
+ "review findings",
170
+ "risk notes",
171
+ "approval or change request",
172
+ ],
173
+ gateParticipation: ["risk-review", "release-readiness"],
174
+ },
175
+ ];
176
+ //# sourceMappingURL=engineering-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engineering-roles.js","sourceRoot":"","sources":["../../src/roles/engineering-roles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,sFAAsF;QACxF,YAAY,EAAE;YACZ,gBAAgB;YAChB,YAAY;YACZ,mBAAmB;YACnB,SAAS;SACV;QACD,qBAAqB,EAAE;YACrB,mBAAmB;YACnB,iBAAiB;YACjB,WAAW;YACX,aAAa;SACd;QACD,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,qBAAqB,CAAC;QACrE,gBAAgB,EAAE;YAChB,mBAAmB;YACnB,cAAc;YACd,eAAe;YACf,YAAY;SACb;QACD,iBAAiB,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;KACvD;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,+IAA+I;QACjJ,YAAY,EAAE;YACZ,sBAAsB;YACtB,yBAAyB;YACzB,gBAAgB;YAChB,oBAAoB;YACpB,uBAAuB;SACxB;QACD,qBAAqB,EAAE;YACrB,oBAAoB;YACpB,qBAAqB;YACrB,aAAa;YACb,kBAAkB;SACnB;QACD,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;QAC5D,kBAAkB,EAAE;YAClB,sBAAsB;YACtB,6BAA6B;YAC7B,gCAAgC;YAChC,+BAA+B;SAChC;QACD,gBAAgB,EAAE;YAChB,qBAAqB;YACrB,eAAe;YACf,kBAAkB;YAClB,wBAAwB;SACzB;QACD,iBAAiB,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,CAAC;KACxE;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,6IAA6I;QAC/I,YAAY,EAAE;YACZ,uBAAuB;YACvB,kBAAkB;YAClB,eAAe;YACf,oBAAoB;YACpB,8BAA8B;SAC/B;QACD,qBAAqB,EAAE;YACrB,UAAU;YACV,QAAQ;YACR,eAAe;YACf,iBAAiB;SAClB;QACD,iBAAiB,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;QACxD,kBAAkB,EAAE;YAClB,oBAAoB;YACpB,+BAA+B;YAC/B,kCAAkC;YAClC,8BAA8B;SAC/B;QACD,gBAAgB,EAAE;YAChB,wBAAwB;YACxB,qBAAqB;YACrB,uBAAuB;YACvB,wBAAwB;SACzB;QACD,iBAAiB,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;KACjD;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oIAAoI;QACtI,YAAY,EAAE;YACZ,sBAAsB;YACtB,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,oBAAoB;SACrB;QACD,qBAAqB,EAAE;YACrB,aAAa;YACb,UAAU;YACV,cAAc;YACd,cAAc;SACf;QACD,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;QACtD,kBAAkB,EAAE;YAClB,gCAAgC;YAChC,yCAAyC;YACzC,iCAAiC;YACjC,gCAAgC;SACjC;QACD,gBAAgB,EAAE;YAChB,oBAAoB;YACpB,iCAAiC;YACjC,qBAAqB;YACrB,qBAAqB;SACtB;QACD,iBAAiB,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,CAAC;KACjE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0IAA0I;QAC5I,YAAY,EAAE;YACZ,WAAW;YACX,sBAAsB;YACtB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;SAClB;QACD,qBAAqB,EAAE;YACrB,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,oBAAoB;SACrB;QACD,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;QAChD,kBAAkB,EAAE;YAClB,2BAA2B;YAC3B,qDAAqD;YACrD,qCAAqC;YACrC,0BAA0B;SAC3B;QACD,gBAAgB,EAAE;YAChB,eAAe;YACf,kCAAkC;YAClC,oBAAoB;YACpB,2BAA2B;SAC5B;QACD,iBAAiB,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAC;KACtE;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,0HAA0H;QAC5H,YAAY,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;QAC3E,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC;QAC7D,iBAAiB,EAAE,CAAC,QAAQ,CAAC;QAC7B,kBAAkB,EAAE;YAClB,kBAAkB;YAClB,oBAAoB;YACpB,mBAAmB;SACpB;QACD,gBAAgB,EAAE;YAChB,iBAAiB;YACjB,YAAY;YACZ,4BAA4B;SAC7B;QACD,iBAAiB,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;KACxD;CACe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const governanceRoles: {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ capabilities: string[];
6
+ requiredHandoffFields: string[];
7
+ blockingAuthority: string[];
8
+ activationCriteria: string[];
9
+ expectedEvidence: string[];
10
+ gateParticipation: string[];
11
+ }[];
@@ -0,0 +1,117 @@
1
+ export const governanceRoles = [
2
+ {
3
+ id: "security",
4
+ name: "Security",
5
+ description: "Owns threat modeling, secrets, auth, input handling, dependency risk, and security review.",
6
+ capabilities: ["security_review", "threat_modeling", "secrets", "sast"],
7
+ requiredHandoffFields: ["risk", "finding", "recommendation"],
8
+ blockingAuthority: ["security"],
9
+ activationCriteria: [
10
+ "auth change",
11
+ "secret handling",
12
+ "network boundary",
13
+ "dependency or supply-chain change",
14
+ ],
15
+ expectedEvidence: [
16
+ "threat notes",
17
+ "SAST result",
18
+ "dependency scan",
19
+ "risk acceptance",
20
+ ],
21
+ gateParticipation: ["risk-review", "release-readiness"],
22
+ },
23
+ {
24
+ id: "policy_governance",
25
+ name: "Policy / Governance Agent",
26
+ description: "Enforces workflow policy, approvals, issue refinement, budget guardrails, evidence rules, and compliance gates.",
27
+ capabilities: [
28
+ "policy_enforcement",
29
+ "approval_control",
30
+ "budget_guardrails",
31
+ "workflow_audit",
32
+ ],
33
+ requiredHandoffFields: ["policy", "decision", "evidence", "exceptions"],
34
+ blockingAuthority: ["governance", "budget", "approval"],
35
+ activationCriteria: [
36
+ "approval required",
37
+ "budget fallback",
38
+ "policy exception",
39
+ "release readiness",
40
+ ],
41
+ expectedEvidence: [
42
+ "approval record",
43
+ "policy decision",
44
+ "exception rationale",
45
+ ],
46
+ gateParticipation: ["readiness", "release-readiness"],
47
+ },
48
+ {
49
+ id: "data_privacy_officer",
50
+ name: "Data / Privacy Officer",
51
+ description: "Owns data classification, PII, retention, encryption, access policy, residency, and data compliance.",
52
+ capabilities: [
53
+ "data_classification",
54
+ "pii_review",
55
+ "retention",
56
+ "encryption",
57
+ "access_control",
58
+ ],
59
+ requiredHandoffFields: [
60
+ "dataTypes",
61
+ "classification",
62
+ "retention",
63
+ "controls",
64
+ ],
65
+ blockingAuthority: ["privacy", "data_compliance"],
66
+ activationCriteria: [
67
+ "PII or sensitive data",
68
+ "retention change",
69
+ "data export",
70
+ "cross-region data movement",
71
+ ],
72
+ expectedEvidence: [
73
+ "data classification",
74
+ "privacy review",
75
+ "retention decision",
76
+ "access review",
77
+ ],
78
+ gateParticipation: ["risk-review", "release-readiness"],
79
+ },
80
+ {
81
+ id: "compliance_privacy",
82
+ name: "Compliance / Privacy",
83
+ description: "Owns regulatory requirements, policy conformance, consent, auditability, and compliance evidence.",
84
+ capabilities: ["privacy_review", "compliance", "retention", "audit"],
85
+ requiredHandoffFields: ["dataImpact", "policy", "risk"],
86
+ blockingAuthority: ["compliance"],
87
+ activationCriteria: [
88
+ "regulated domain",
89
+ "audit requirement",
90
+ "policy exception",
91
+ "privacy impact",
92
+ ],
93
+ expectedEvidence: ["policy mapping", "audit note", "compliance approval"],
94
+ gateParticipation: ["risk-review", "release-readiness"],
95
+ },
96
+ {
97
+ id: "domain_expert",
98
+ name: "Domain Expert",
99
+ description: "Provides project-specific business, legal, industry, gameplay, medical, financial, or operational expertise.",
100
+ capabilities: ["domain_review", "business_rules", "specialist_judgment"],
101
+ requiredHandoffFields: ["domainRules", "assumptions", "risks", "decision"],
102
+ blockingAuthority: ["domain"],
103
+ activationCriteria: [
104
+ "specialized domain rules",
105
+ "regulated workflow",
106
+ "game design nuance",
107
+ "business-critical decision",
108
+ ],
109
+ expectedEvidence: [
110
+ "domain review",
111
+ "rule clarification",
112
+ "assumption validation",
113
+ ],
114
+ gateParticipation: ["readiness", "risk-review"],
115
+ },
116
+ ];
117
+ //# sourceMappingURL=governance-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-roles.js","sourceRoot":"","sources":["../../src/roles/governance-roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const defaultRoles: {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ capabilities: string[];
6
+ requiredHandoffFields: string[];
7
+ blockingAuthority: string[];
8
+ activationCriteria: string[];
9
+ expectedEvidence: string[];
10
+ gateParticipation: string[];
11
+ }[];
@@ -0,0 +1,17 @@
1
+ import { aiSupportRoles } from "./ai-support-roles.js";
2
+ import { coreRoles } from "./core-roles.js";
3
+ import { engineeringRoles } from "./engineering-roles.js";
4
+ import { governanceRoles } from "./governance-roles.js";
5
+ import { platformOpsRoles } from "./platform-ops-roles.js";
6
+ import { qaUxRoles } from "./qa-ux-roles.js";
7
+ import { releaseOpsRoles } from "./release-ops-roles.js";
8
+ export const defaultRoles = [
9
+ ...coreRoles,
10
+ ...engineeringRoles,
11
+ ...qaUxRoles,
12
+ ...governanceRoles,
13
+ ...platformOpsRoles,
14
+ ...releaseOpsRoles,
15
+ ...aiSupportRoles,
16
+ ];
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/roles/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,GAAG,SAAS;IACZ,GAAG,gBAAgB;IACnB,GAAG,SAAS;IACZ,GAAG,eAAe;IAClB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,cAAc;CACD,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const platformOpsRoles: {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ capabilities: string[];
6
+ requiredHandoffFields: string[];
7
+ blockingAuthority: string[];
8
+ activationCriteria: string[];
9
+ expectedEvidence: string[];
10
+ gateParticipation: string[];
11
+ }[];