@jterrats/open-orchestra 0.1.0 → 0.3.0
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/AGENTS.md +90 -0
- package/CHANGELOG.md +104 -0
- package/CLAUDE.md +103 -0
- package/README.md +173 -22
- package/dist/assets/web-console.js +743 -0
- package/dist/autonomous-workflow.d.ts +45 -0
- package/dist/autonomous-workflow.js +386 -0
- package/dist/autonomous-workflow.js.map +1 -0
- package/dist/benchmark.d.ts +8 -0
- package/dist/benchmark.js +193 -0
- package/dist/benchmark.js.map +1 -0
- package/dist/burndown.d.ts +3 -0
- package/dist/burndown.js +141 -0
- package/dist/burndown.js.map +1 -0
- package/dist/clarification.d.ts +6 -0
- package/dist/clarification.js +88 -0
- package/dist/clarification.js.map +1 -0
- package/dist/cli.js +221 -4
- package/dist/cli.js.map +1 -1
- package/dist/collaboration-flows.d.ts +5 -0
- package/dist/collaboration-flows.js +256 -0
- package/dist/collaboration-flows.js.map +1 -0
- package/dist/command-manifest.d.ts +11 -0
- package/dist/command-manifest.js +52 -0
- package/dist/command-manifest.js.map +1 -0
- package/dist/commands.d.ts +39 -0
- package/dist/commands.js +1069 -2
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +22 -0
- package/dist/constants.js.map +1 -1
- package/dist/defaults.d.ts +7 -11
- package/dist/defaults.js +7 -625
- package/dist/defaults.js.map +1 -1
- package/dist/delegation-decision.d.ts +14 -0
- package/dist/delegation-decision.js +391 -0
- package/dist/delegation-decision.js.map +1 -0
- package/dist/detect-commands.d.ts +3 -0
- package/dist/detect-commands.js +28 -0
- package/dist/detect-commands.js.map +1 -0
- package/dist/diagram-validation.d.ts +36 -0
- package/dist/diagram-validation.js +118 -0
- package/dist/diagram-validation.js.map +1 -0
- package/dist/fs-utils.d.ts +2 -0
- package/dist/fs-utils.js +75 -6
- package/dist/fs-utils.js.map +1 -1
- package/dist/github.d.ts +11 -0
- package/dist/github.js +48 -0
- package/dist/github.js.map +1 -0
- package/dist/health-checks.d.ts +28 -0
- package/dist/health-checks.js +219 -0
- package/dist/health-checks.js.map +1 -0
- package/dist/health-commands.d.ts +2 -0
- package/dist/health-commands.js +18 -0
- package/dist/health-commands.js.map +1 -0
- package/dist/instruction-apply.d.ts +34 -0
- package/dist/instruction-apply.js +150 -0
- package/dist/instruction-apply.js.map +1 -0
- package/dist/instruction-blocks.d.ts +22 -0
- package/dist/instruction-blocks.js +120 -0
- package/dist/instruction-blocks.js.map +1 -0
- package/dist/instruction-imports.d.ts +12 -0
- package/dist/instruction-imports.js +45 -0
- package/dist/instruction-imports.js.map +1 -0
- package/dist/instruction-stale.d.ts +9 -0
- package/dist/instruction-stale.js +106 -0
- package/dist/instruction-stale.js.map +1 -0
- package/dist/instruction-types.d.ts +66 -0
- package/dist/instruction-types.js +2 -0
- package/dist/instruction-types.js.map +1 -0
- package/dist/instruction-updates.d.ts +4 -0
- package/dist/instruction-updates.js +5 -0
- package/dist/instruction-updates.js.map +1 -0
- package/dist/knowledge-base.d.ts +10 -0
- package/dist/knowledge-base.js +117 -0
- package/dist/knowledge-base.js.map +1 -0
- package/dist/mcp-oauth-proxy.d.ts +39 -0
- package/dist/mcp-oauth-proxy.js +80 -0
- package/dist/mcp-oauth-proxy.js.map +1 -0
- package/dist/pr-review.d.ts +20 -0
- package/dist/pr-review.js +142 -0
- package/dist/pr-review.js.map +1 -0
- package/dist/project-detection.d.ts +22 -0
- package/dist/project-detection.js +174 -0
- package/dist/project-detection.js.map +1 -0
- package/dist/prompt-registry.d.ts +56 -0
- package/dist/prompt-registry.js +163 -0
- package/dist/prompt-registry.js.map +1 -0
- package/dist/release-candidate.d.ts +41 -0
- package/dist/release-candidate.js +196 -0
- package/dist/release-candidate.js.map +1 -0
- package/dist/release-commands.d.ts +4 -0
- package/dist/release-commands.js +50 -0
- package/dist/release-commands.js.map +1 -0
- package/dist/roles/ai-support-roles.d.ts +11 -0
- package/dist/roles/ai-support-roles.js +67 -0
- package/dist/roles/ai-support-roles.js.map +1 -0
- package/dist/roles/core-roles.d.ts +11 -0
- package/dist/roles/core-roles.js +144 -0
- package/dist/roles/core-roles.js.map +1 -0
- package/dist/roles/engineering-roles.d.ts +11 -0
- package/dist/roles/engineering-roles.js +176 -0
- package/dist/roles/engineering-roles.js.map +1 -0
- package/dist/roles/governance-roles.d.ts +11 -0
- package/dist/roles/governance-roles.js +117 -0
- package/dist/roles/governance-roles.js.map +1 -0
- package/dist/roles/index.d.ts +11 -0
- package/dist/roles/index.js +17 -0
- package/dist/roles/index.js.map +1 -0
- package/dist/roles/platform-ops-roles.d.ts +11 -0
- package/dist/roles/platform-ops-roles.js +158 -0
- package/dist/roles/platform-ops-roles.js.map +1 -0
- package/dist/roles/qa-ux-roles.d.ts +11 -0
- package/dist/roles/qa-ux-roles.js +193 -0
- package/dist/roles/qa-ux-roles.js.map +1 -0
- package/dist/roles/release-ops-roles.d.ts +11 -0
- package/dist/roles/release-ops-roles.js +109 -0
- package/dist/roles/release-ops-roles.js.map +1 -0
- package/dist/runtime-adapters.d.ts +6 -0
- package/dist/runtime-adapters.js +88 -0
- package/dist/runtime-adapters.js.map +1 -0
- package/dist/runtime-bootstrap.d.ts +12 -0
- package/dist/runtime-bootstrap.js +136 -0
- package/dist/runtime-bootstrap.js.map +1 -0
- package/dist/skills.d.ts +36 -0
- package/dist/skills.js +665 -0
- package/dist/skills.js.map +1 -0
- package/dist/subagent-protocol.d.ts +41 -0
- package/dist/subagent-protocol.js +179 -0
- package/dist/subagent-protocol.js.map +1 -0
- package/dist/telemetry-consent.d.ts +24 -0
- package/dist/telemetry-consent.js +95 -0
- package/dist/telemetry-consent.js.map +1 -0
- package/dist/telemetry-export.d.ts +14 -0
- package/dist/telemetry-export.js +126 -0
- package/dist/telemetry-export.js.map +1 -0
- package/dist/telemetry-records.d.ts +3 -0
- package/dist/telemetry-records.js +96 -0
- package/dist/telemetry-records.js.map +1 -0
- package/dist/telemetry-redaction.d.ts +9 -0
- package/dist/telemetry-redaction.js +55 -0
- package/dist/telemetry-redaction.js.map +1 -0
- package/dist/telemetry-types.d.ts +52 -0
- package/dist/telemetry-types.js +2 -0
- package/dist/telemetry-types.js.map +1 -0
- package/dist/telemetry.d.ts +4 -0
- package/dist/telemetry.js +4 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/types.d.ts +304 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/validation.d.ts +3 -1
- package/dist/validation.js +28 -5
- package/dist/validation.js.map +1 -1
- package/dist/web-api.js +167 -3
- package/dist/web-api.js.map +1 -1
- package/dist/web-console.js +6 -160
- package/dist/web-console.js.map +1 -1
- package/dist/workflow-gates.js +4 -2
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-services.js +143 -67
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-templates.d.ts +10 -0
- package/dist/workflow-templates.js +141 -0
- package/dist/workflow-templates.js.map +1 -0
- package/dist/workspace-classification.d.ts +5 -0
- package/dist/workspace-classification.js +127 -0
- package/dist/workspace-classification.js.map +1 -0
- package/dist/workspace-validator.js +11 -1
- package/dist/workspace-validator.js.map +1 -1
- package/dist/workspace.d.ts +8 -4
- package/dist/workspace.js +111 -4
- package/dist/workspace.js.map +1 -1
- package/docs/autonomous-workflow.md +165 -0
- package/docs/benchmark.md +219 -0
- package/docs/dev-team-specialist-role-profiles.md +171 -0
- package/docs/mcp-oauth-proxy-evaluation.md +44 -0
- package/docs/multi-agent-orchestrator-backlog.md +413 -1
- package/docs/open-orchestra-dogfooding-findings.md +66 -0
- package/docs/orchestra-mvp.md +161 -3
- package/docs/runtime-adapters.md +86 -0
- package/docs/runtime-llm-flow.md +124 -0
- package/docs/setup-agents-dogfooding-findings.md +101 -0
- package/docs/skill-loading-strategy.md +114 -0
- package/docs/source-of-truth-and-agent-learning.md +83 -0
- package/package.json +9 -5
- package/rules/agent-roles.mdc +30 -0
- package/rules/ai-assisted-development.mdc +22 -0
- package/skills/agent-learning/SKILL.md +24 -0
- package/skills/agent-learning/manifest.json +40 -0
- package/skills/backlog-sync/SKILL.md +24 -0
- package/skills/backlog-sync/manifest.json +41 -0
- package/skills/diagram-export/SKILL.md +35 -0
- package/skills/diagram-export/manifest.json +40 -0
- package/skills/model-evaluation/SKILL.md +25 -0
- package/skills/model-evaluation/manifest.json +41 -0
- package/skills/playwright-evidence/SKILL.md +28 -0
- package/skills/playwright-evidence/manifest.json +46 -0
- package/skills/pr-review/SKILL.md +23 -0
- package/skills/pr-review/manifest.json +43 -0
- package/skills/prompt-registry/SKILL.md +24 -0
- package/skills/prompt-registry/manifest.json +45 -0
- package/skills/release-readiness/SKILL.md +25 -0
- package/skills/release-readiness/manifest.json +45 -0
- package/skills/source-of-truth/SKILL.md +24 -0
- package/skills/source-of-truth/manifest.json +47 -0
- package/skills/static-analysis/SKILL.md +26 -0
- package/skills/static-analysis/manifest.json +46 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
export const platformOpsRoles = [
|
|
2
|
+
{
|
|
3
|
+
id: "toolsmith",
|
|
4
|
+
name: "Toolsmith / Integration Engineer",
|
|
5
|
+
description: "Owns tools, MCPs, adapters, provider integrations, automation surfaces, and tool safety contracts.",
|
|
6
|
+
capabilities: [
|
|
7
|
+
"tooling",
|
|
8
|
+
"mcp",
|
|
9
|
+
"provider_adapters",
|
|
10
|
+
"automation",
|
|
11
|
+
"tool_guardrails",
|
|
12
|
+
],
|
|
13
|
+
requiredHandoffFields: ["toolContract", "permissions", "risk", "tests"],
|
|
14
|
+
blockingAuthority: ["tooling"],
|
|
15
|
+
activationCriteria: [
|
|
16
|
+
"new tool",
|
|
17
|
+
"provider adapter",
|
|
18
|
+
"automation integration",
|
|
19
|
+
"tool permission change",
|
|
20
|
+
],
|
|
21
|
+
expectedEvidence: ["tool contract", "adapter tests", "permission review"],
|
|
22
|
+
gateParticipation: ["architecture", "risk-review"],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "context_curator",
|
|
26
|
+
name: "Context Curator / Memory Manager",
|
|
27
|
+
description: "Owns shared context hygiene, decisions, assumptions, stale context, and durable memory quality.",
|
|
28
|
+
capabilities: [
|
|
29
|
+
"context_management",
|
|
30
|
+
"memory_hygiene",
|
|
31
|
+
"decision_tracking",
|
|
32
|
+
"staleness_review",
|
|
33
|
+
],
|
|
34
|
+
requiredHandoffFields: [
|
|
35
|
+
"currentContext",
|
|
36
|
+
"decisions",
|
|
37
|
+
"assumptions",
|
|
38
|
+
"staleItems",
|
|
39
|
+
],
|
|
40
|
+
blockingAuthority: ["context"],
|
|
41
|
+
activationCriteria: [
|
|
42
|
+
"long-running work",
|
|
43
|
+
"multiple agents",
|
|
44
|
+
"conflicting decisions",
|
|
45
|
+
"stale assumptions",
|
|
46
|
+
],
|
|
47
|
+
expectedEvidence: [
|
|
48
|
+
"context summary",
|
|
49
|
+
"decision links",
|
|
50
|
+
"stale context notes",
|
|
51
|
+
],
|
|
52
|
+
gateParticipation: ["readiness", "release-readiness"],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: "devops",
|
|
56
|
+
name: "DevOps",
|
|
57
|
+
description: "Owns CI/CD, deployment, runtime config, rollback, infrastructure automation, and operational readiness.",
|
|
58
|
+
capabilities: ["cicd", "deployment", "rollback", "iac", "observability"],
|
|
59
|
+
requiredHandoffFields: ["deployment", "rollback", "monitoring"],
|
|
60
|
+
blockingAuthority: ["deployment"],
|
|
61
|
+
activationCriteria: [
|
|
62
|
+
"deployment change",
|
|
63
|
+
"CI/CD change",
|
|
64
|
+
"runtime config",
|
|
65
|
+
"infrastructure change",
|
|
66
|
+
],
|
|
67
|
+
expectedEvidence: [
|
|
68
|
+
"pipeline result",
|
|
69
|
+
"deployment plan",
|
|
70
|
+
"rollback plan",
|
|
71
|
+
"config diff",
|
|
72
|
+
],
|
|
73
|
+
gateParticipation: ["risk-review", "release-readiness"],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
id: "platform_engineer",
|
|
77
|
+
name: "Platform Engineer",
|
|
78
|
+
description: "Owns internal developer platform capabilities, golden paths, self-service workflows, reusable templates, and platform guardrails.",
|
|
79
|
+
capabilities: [
|
|
80
|
+
"developer_platform",
|
|
81
|
+
"golden_paths",
|
|
82
|
+
"self_service",
|
|
83
|
+
"templates",
|
|
84
|
+
"platform_guardrails",
|
|
85
|
+
],
|
|
86
|
+
requiredHandoffFields: [
|
|
87
|
+
"platformCapability",
|
|
88
|
+
"developerExperience",
|
|
89
|
+
"guardrails",
|
|
90
|
+
"adoptionPlan",
|
|
91
|
+
],
|
|
92
|
+
blockingAuthority: ["platform", "developer_experience"],
|
|
93
|
+
activationCriteria: [
|
|
94
|
+
"new reusable platform capability",
|
|
95
|
+
"CI/CD or environment template",
|
|
96
|
+
"developer self-service workflow",
|
|
97
|
+
"cross-repo standardization",
|
|
98
|
+
],
|
|
99
|
+
expectedEvidence: [
|
|
100
|
+
"golden path documentation",
|
|
101
|
+
"template validation",
|
|
102
|
+
"self-service smoke test",
|
|
103
|
+
"adoption notes",
|
|
104
|
+
],
|
|
105
|
+
gateParticipation: ["architecture", "risk-review", "release-readiness"],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
id: "sre",
|
|
109
|
+
name: "SRE",
|
|
110
|
+
description: "Owns reliability, SLOs, capacity, incident readiness, resilience, and recovery.",
|
|
111
|
+
capabilities: [
|
|
112
|
+
"slos",
|
|
113
|
+
"capacity",
|
|
114
|
+
"incident_response",
|
|
115
|
+
"dashboards",
|
|
116
|
+
"resilience",
|
|
117
|
+
],
|
|
118
|
+
requiredHandoffFields: ["sloImpact", "alerts", "recovery"],
|
|
119
|
+
blockingAuthority: ["reliability"],
|
|
120
|
+
activationCriteria: [
|
|
121
|
+
"availability impact",
|
|
122
|
+
"latency risk",
|
|
123
|
+
"capacity change",
|
|
124
|
+
"incident-prone area",
|
|
125
|
+
],
|
|
126
|
+
expectedEvidence: ["SLO impact", "alert plan", "runbook", "recovery test"],
|
|
127
|
+
gateParticipation: ["risk-review", "release-readiness"],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: "observability_incident",
|
|
131
|
+
name: "Observability / Incident Response",
|
|
132
|
+
description: "Owns logs, metrics, traces, alerts, dashboards, runbooks, incident workflow, and postmortem readiness.",
|
|
133
|
+
capabilities: [
|
|
134
|
+
"logs",
|
|
135
|
+
"metrics",
|
|
136
|
+
"tracing",
|
|
137
|
+
"alerting",
|
|
138
|
+
"runbooks",
|
|
139
|
+
"postmortems",
|
|
140
|
+
],
|
|
141
|
+
requiredHandoffFields: ["signals", "alerts", "runbook", "owners"],
|
|
142
|
+
blockingAuthority: ["observability"],
|
|
143
|
+
activationCriteria: [
|
|
144
|
+
"new critical flow",
|
|
145
|
+
"production operation change",
|
|
146
|
+
"missing telemetry",
|
|
147
|
+
"incident follow-up",
|
|
148
|
+
],
|
|
149
|
+
expectedEvidence: [
|
|
150
|
+
"dashboard link",
|
|
151
|
+
"alert rule",
|
|
152
|
+
"runbook",
|
|
153
|
+
"synthetic check",
|
|
154
|
+
],
|
|
155
|
+
gateParticipation: ["risk-review", "release-readiness"],
|
|
156
|
+
},
|
|
157
|
+
];
|
|
158
|
+
//# sourceMappingURL=platform-ops-roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-ops-roles.js","sourceRoot":"","sources":["../../src/roles/platform-ops-roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const qaUxRoles: {
|
|
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,193 @@
|
|
|
1
|
+
export const qaUxRoles = [
|
|
2
|
+
{
|
|
3
|
+
id: "qa",
|
|
4
|
+
name: "QA",
|
|
5
|
+
description: "Owns test planning, verification, regression risk, Playwright evidence, and release confidence.",
|
|
6
|
+
capabilities: [
|
|
7
|
+
"test_plan",
|
|
8
|
+
"manual_testing",
|
|
9
|
+
"playwright_review",
|
|
10
|
+
"regression_testing",
|
|
11
|
+
],
|
|
12
|
+
requiredHandoffFields: ["testPlan", "results", "evidence"],
|
|
13
|
+
blockingAuthority: ["qa"],
|
|
14
|
+
activationCriteria: [
|
|
15
|
+
"user-facing change",
|
|
16
|
+
"bug fix",
|
|
17
|
+
"release candidate",
|
|
18
|
+
"acceptance criteria present",
|
|
19
|
+
],
|
|
20
|
+
expectedEvidence: [
|
|
21
|
+
"test plan",
|
|
22
|
+
"test results",
|
|
23
|
+
"Playwright trace or screenshot",
|
|
24
|
+
"defect notes",
|
|
25
|
+
],
|
|
26
|
+
gateParticipation: ["qa-release", "release-readiness"],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "sdet",
|
|
30
|
+
name: "SDET / Test Automation Engineer",
|
|
31
|
+
description: "Owns reliable automated test strategy, Playwright architecture, fixtures, page objects, CI test stability, and automation evidence.",
|
|
32
|
+
capabilities: [
|
|
33
|
+
"test_automation",
|
|
34
|
+
"playwright_architecture",
|
|
35
|
+
"fixtures",
|
|
36
|
+
"page_objects",
|
|
37
|
+
"ci_test_reliability",
|
|
38
|
+
],
|
|
39
|
+
requiredHandoffFields: [
|
|
40
|
+
"automationScope",
|
|
41
|
+
"selectors",
|
|
42
|
+
"fixtures",
|
|
43
|
+
"evidenceArtifacts",
|
|
44
|
+
],
|
|
45
|
+
blockingAuthority: ["test_automation", "qa"],
|
|
46
|
+
activationCriteria: [
|
|
47
|
+
"new browser automation",
|
|
48
|
+
"flaky or brittle E2E tests",
|
|
49
|
+
"critical regression path",
|
|
50
|
+
"CI test reliability risk",
|
|
51
|
+
],
|
|
52
|
+
expectedEvidence: [
|
|
53
|
+
"automation plan",
|
|
54
|
+
"Playwright trace or screenshot",
|
|
55
|
+
"locator strategy",
|
|
56
|
+
"CI stability notes",
|
|
57
|
+
],
|
|
58
|
+
gateParticipation: ["qa-release", "release-readiness"],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "ux_ui_designer",
|
|
62
|
+
name: "UX/UI Designer",
|
|
63
|
+
description: "Owns user flows, responsive behavior, visual hierarchy, UI copy, and usability quality.",
|
|
64
|
+
capabilities: ["ux_review", "ui_design", "responsive", "copy_review"],
|
|
65
|
+
requiredHandoffFields: ["flow", "states", "evidence"],
|
|
66
|
+
blockingAuthority: ["ux"],
|
|
67
|
+
activationCriteria: [
|
|
68
|
+
"user-facing UI",
|
|
69
|
+
"new flow",
|
|
70
|
+
"mobile behavior",
|
|
71
|
+
"copy-sensitive interaction",
|
|
72
|
+
],
|
|
73
|
+
expectedEvidence: [
|
|
74
|
+
"flow review",
|
|
75
|
+
"responsive screenshots",
|
|
76
|
+
"state coverage",
|
|
77
|
+
"copy notes",
|
|
78
|
+
],
|
|
79
|
+
gateParticipation: ["risk-review", "qa-release"],
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: "ux_researcher_accessibility",
|
|
83
|
+
name: "UX Researcher / Accessibility Reviewer",
|
|
84
|
+
description: "Validates user fit, mobile-first experience, accessibility, onboarding, tooltips, and player guidance for games.",
|
|
85
|
+
capabilities: [
|
|
86
|
+
"ux_research",
|
|
87
|
+
"accessibility",
|
|
88
|
+
"mobile_first",
|
|
89
|
+
"onboarding",
|
|
90
|
+
"game_guidance",
|
|
91
|
+
],
|
|
92
|
+
requiredHandoffFields: [
|
|
93
|
+
"userFlow",
|
|
94
|
+
"accessibility",
|
|
95
|
+
"guidance",
|
|
96
|
+
"findings",
|
|
97
|
+
],
|
|
98
|
+
blockingAuthority: ["accessibility", "ux"],
|
|
99
|
+
activationCriteria: [
|
|
100
|
+
"new user flow",
|
|
101
|
+
"accessibility risk",
|
|
102
|
+
"onboarding",
|
|
103
|
+
"game tutorial or player assistance",
|
|
104
|
+
],
|
|
105
|
+
expectedEvidence: [
|
|
106
|
+
"accessibility checklist",
|
|
107
|
+
"mobile screenshots",
|
|
108
|
+
"user-flow notes",
|
|
109
|
+
"guidance review",
|
|
110
|
+
],
|
|
111
|
+
gateParticipation: ["qa-release", "release-readiness"],
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: "accessibility_reviewer",
|
|
115
|
+
name: "Accessibility Reviewer",
|
|
116
|
+
description: "Owns WCAG-oriented accessibility review, keyboard navigation, semantic structure, assistive technology behavior, and inclusive interaction risk.",
|
|
117
|
+
capabilities: [
|
|
118
|
+
"accessibility_review",
|
|
119
|
+
"keyboard_navigation",
|
|
120
|
+
"semantic_html",
|
|
121
|
+
"assistive_technology",
|
|
122
|
+
"inclusive_design",
|
|
123
|
+
],
|
|
124
|
+
requiredHandoffFields: [
|
|
125
|
+
"accessibilityScope",
|
|
126
|
+
"keyboardFlow",
|
|
127
|
+
"assistiveTechRisk",
|
|
128
|
+
"evidence",
|
|
129
|
+
],
|
|
130
|
+
blockingAuthority: ["accessibility"],
|
|
131
|
+
activationCriteria: [
|
|
132
|
+
"accessibility risk",
|
|
133
|
+
"keyboard or focus behavior",
|
|
134
|
+
"semantic structure change",
|
|
135
|
+
"public user-facing UI",
|
|
136
|
+
],
|
|
137
|
+
expectedEvidence: [
|
|
138
|
+
"accessibility checklist",
|
|
139
|
+
"keyboard navigation notes",
|
|
140
|
+
"screen reader risk notes",
|
|
141
|
+
"responsive screenshots",
|
|
142
|
+
],
|
|
143
|
+
gateParticipation: ["risk-review", "qa-release", "release-readiness"],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
id: "game_designer",
|
|
147
|
+
name: "Game Designer",
|
|
148
|
+
description: "Owns gameplay loops, progression, difficulty, tutorialization, player feedback, and fun/clarity trade-offs.",
|
|
149
|
+
capabilities: [
|
|
150
|
+
"gameplay_design",
|
|
151
|
+
"tutorialization",
|
|
152
|
+
"player_feedback",
|
|
153
|
+
"difficulty_tuning",
|
|
154
|
+
],
|
|
155
|
+
requiredHandoffFields: ["loop", "playerGoal", "feedback", "balanceRisk"],
|
|
156
|
+
blockingAuthority: ["gameplay"],
|
|
157
|
+
activationCriteria: [
|
|
158
|
+
"gameplay change",
|
|
159
|
+
"tutorial or guidance",
|
|
160
|
+
"difficulty tuning",
|
|
161
|
+
"player-facing mechanic",
|
|
162
|
+
],
|
|
163
|
+
expectedEvidence: [
|
|
164
|
+
"playtest notes",
|
|
165
|
+
"mechanic rationale",
|
|
166
|
+
"tutorial coverage",
|
|
167
|
+
"balance notes",
|
|
168
|
+
],
|
|
169
|
+
gateParticipation: ["qa-release", "risk-review"],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
id: "technical_writer",
|
|
173
|
+
name: "Content / Technical Writer",
|
|
174
|
+
description: "Owns user docs, technical docs, runbooks, release notes, help content, and support-facing copy.",
|
|
175
|
+
capabilities: [
|
|
176
|
+
"documentation",
|
|
177
|
+
"runbooks",
|
|
178
|
+
"release_notes",
|
|
179
|
+
"help_content",
|
|
180
|
+
],
|
|
181
|
+
requiredHandoffFields: ["docsUpdated", "audience", "links"],
|
|
182
|
+
blockingAuthority: ["documentation"],
|
|
183
|
+
activationCriteria: [
|
|
184
|
+
"user-visible behavior",
|
|
185
|
+
"API change",
|
|
186
|
+
"operational runbook",
|
|
187
|
+
"release notes",
|
|
188
|
+
],
|
|
189
|
+
expectedEvidence: ["doc diff", "release note", "runbook link"],
|
|
190
|
+
gateParticipation: ["release-readiness"],
|
|
191
|
+
},
|
|
192
|
+
];
|
|
193
|
+
//# sourceMappingURL=qa-ux-roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qa-ux-roles.js","sourceRoot":"","sources":["../../src/roles/qa-ux-roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const releaseOpsRoles: {
|
|
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,109 @@
|
|
|
1
|
+
export const releaseOpsRoles = [
|
|
2
|
+
{
|
|
3
|
+
id: "dba",
|
|
4
|
+
name: "DBA",
|
|
5
|
+
description: "Owns database performance, migrations, indexes, locking, backups, and restore safety.",
|
|
6
|
+
capabilities: [
|
|
7
|
+
"database_review",
|
|
8
|
+
"migrations",
|
|
9
|
+
"query_plans",
|
|
10
|
+
"backup_restore",
|
|
11
|
+
],
|
|
12
|
+
requiredHandoffFields: ["migration", "rollback", "queryRisk"],
|
|
13
|
+
blockingAuthority: ["database"],
|
|
14
|
+
activationCriteria: [
|
|
15
|
+
"schema change",
|
|
16
|
+
"query performance risk",
|
|
17
|
+
"migration",
|
|
18
|
+
"backup or restore change",
|
|
19
|
+
],
|
|
20
|
+
expectedEvidence: [
|
|
21
|
+
"migration plan",
|
|
22
|
+
"rollback SQL",
|
|
23
|
+
"query plan",
|
|
24
|
+
"restore proof",
|
|
25
|
+
],
|
|
26
|
+
gateParticipation: ["risk-review", "release-readiness"],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "data_engineer",
|
|
30
|
+
name: "Data Engineer / Data Platform Specialist",
|
|
31
|
+
description: "Owns data pipelines, data contracts, transformations, lineage, quality checks, analytics reliability, and data platform operational risk.",
|
|
32
|
+
capabilities: [
|
|
33
|
+
"data_pipelines",
|
|
34
|
+
"data_contracts",
|
|
35
|
+
"lineage",
|
|
36
|
+
"data_quality",
|
|
37
|
+
"analytics_reliability",
|
|
38
|
+
],
|
|
39
|
+
requiredHandoffFields: [
|
|
40
|
+
"dataContract",
|
|
41
|
+
"lineage",
|
|
42
|
+
"qualityChecks",
|
|
43
|
+
"backfillPlan",
|
|
44
|
+
],
|
|
45
|
+
blockingAuthority: ["data_quality", "data_platform"],
|
|
46
|
+
activationCriteria: [
|
|
47
|
+
"data pipeline change",
|
|
48
|
+
"analytics or reporting contract",
|
|
49
|
+
"backfill or transformation",
|
|
50
|
+
"data quality risk",
|
|
51
|
+
],
|
|
52
|
+
expectedEvidence: [
|
|
53
|
+
"data contract",
|
|
54
|
+
"lineage notes",
|
|
55
|
+
"quality check result",
|
|
56
|
+
"backfill or rollback plan",
|
|
57
|
+
],
|
|
58
|
+
gateParticipation: ["architecture", "risk-review", "release-readiness"],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "performance_engineer",
|
|
62
|
+
name: "Performance Engineer",
|
|
63
|
+
description: "Owns latency, scalability, throughput, concurrency, caching, load behavior, and graceful degradation.",
|
|
64
|
+
capabilities: [
|
|
65
|
+
"performance",
|
|
66
|
+
"load_testing",
|
|
67
|
+
"scalability",
|
|
68
|
+
"caching",
|
|
69
|
+
"concurrency",
|
|
70
|
+
],
|
|
71
|
+
requiredHandoffFields: ["baseline", "risk", "test", "recommendation"],
|
|
72
|
+
blockingAuthority: ["performance"],
|
|
73
|
+
activationCriteria: [
|
|
74
|
+
"hot path",
|
|
75
|
+
"high traffic",
|
|
76
|
+
"concurrency change",
|
|
77
|
+
"SLO or cost risk",
|
|
78
|
+
],
|
|
79
|
+
expectedEvidence: [
|
|
80
|
+
"benchmark",
|
|
81
|
+
"load test",
|
|
82
|
+
"profiling result",
|
|
83
|
+
"degradation plan",
|
|
84
|
+
],
|
|
85
|
+
gateParticipation: ["risk-review", "release-readiness"],
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "release_manager",
|
|
89
|
+
name: "Release Manager",
|
|
90
|
+
description: "Owns release coordination, go/no-go, changelog, rollout, rollback, communication, and residual risk.",
|
|
91
|
+
capabilities: ["release", "rollout", "rollback", "changelog", "go_no_go"],
|
|
92
|
+
requiredHandoffFields: ["releasePlan", "rollback", "communications"],
|
|
93
|
+
blockingAuthority: ["release"],
|
|
94
|
+
activationCriteria: [
|
|
95
|
+
"release candidate",
|
|
96
|
+
"production deployment",
|
|
97
|
+
"customer communication",
|
|
98
|
+
"rollback risk",
|
|
99
|
+
],
|
|
100
|
+
expectedEvidence: [
|
|
101
|
+
"release checklist",
|
|
102
|
+
"rollback plan",
|
|
103
|
+
"changelog",
|
|
104
|
+
"go/no-go decision",
|
|
105
|
+
],
|
|
106
|
+
gateParticipation: ["release-readiness"],
|
|
107
|
+
},
|
|
108
|
+
];
|
|
109
|
+
//# sourceMappingURL=release-ops-roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-ops-roles.js","sourceRoot":"","sources":["../../src/roles/release-ops-roles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,WAAW,EACT,uFAAuF;QACzF,YAAY,EAAE;YACZ,iBAAiB;YACjB,YAAY;YACZ,aAAa;YACb,gBAAgB;SACjB;QACD,qBAAqB,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;QAC7D,iBAAiB,EAAE,CAAC,UAAU,CAAC;QAC/B,kBAAkB,EAAE;YAClB,eAAe;YACf,wBAAwB;YACxB,WAAW;YACX,0BAA0B;SAC3B;QACD,gBAAgB,EAAE;YAChB,gBAAgB;YAChB,cAAc;YACd,YAAY;YACZ,eAAe;SAChB;QACD,iBAAiB,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;KACxD;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,0CAA0C;QAChD,WAAW,EACT,2IAA2I;QAC7I,YAAY,EAAE;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,SAAS;YACT,cAAc;YACd,uBAAuB;SACxB;QACD,qBAAqB,EAAE;YACrB,cAAc;YACd,SAAS;YACT,eAAe;YACf,cAAc;SACf;QACD,iBAAiB,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;QACpD,kBAAkB,EAAE;YAClB,sBAAsB;YACtB,iCAAiC;YACjC,4BAA4B;YAC5B,mBAAmB;SACpB;QACD,gBAAgB,EAAE;YAChB,eAAe;YACf,eAAe;YACf,sBAAsB;YACtB,2BAA2B;SAC5B;QACD,iBAAiB,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,mBAAmB,CAAC;KACxE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,uGAAuG;QACzG,YAAY,EAAE;YACZ,aAAa;YACb,cAAc;YACd,aAAa;YACb,SAAS;YACT,aAAa;SACd;QACD,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACrE,iBAAiB,EAAE,CAAC,aAAa,CAAC;QAClC,kBAAkB,EAAE;YAClB,UAAU;YACV,cAAc;YACd,oBAAoB;YACpB,kBAAkB;SACnB;QACD,gBAAgB,EAAE;YAChB,WAAW;YACX,WAAW;YACX,kBAAkB;YAClB,kBAAkB;SACnB;QACD,iBAAiB,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;KACxD;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sGAAsG;QACxG,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;QACzE,qBAAqB,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,gBAAgB,CAAC;QACpE,iBAAiB,EAAE,CAAC,SAAS,CAAC;QAC9B,kBAAkB,EAAE;YAClB,mBAAmB;YACnB,uBAAuB;YACvB,wBAAwB;YACxB,eAAe;SAChB;QACD,gBAAgB,EAAE;YAChB,mBAAmB;YACnB,eAAe;YACf,WAAW;YACX,mBAAmB;SACpB;QACD,iBAAiB,EAAE,CAAC,mBAAmB,CAAC;KACzC;CACe,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { RuntimeAdapter, SkillRenderTarget } from "./types.js";
|
|
2
|
+
export declare function listRuntimeAdapters(): RuntimeAdapter[];
|
|
3
|
+
export declare function listRuntimeTargets(): SkillRenderTarget[];
|
|
4
|
+
export declare function getRuntimeAdapter(target: SkillRenderTarget): RuntimeAdapter;
|
|
5
|
+
export declare function isRuntimeTarget(value: string): value is SkillRenderTarget;
|
|
6
|
+
export declare function parseRuntimeTarget(value: string): SkillRenderTarget;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
const runtimeAdapters = [
|
|
2
|
+
{
|
|
3
|
+
target: "generic",
|
|
4
|
+
label: "Generic LLM",
|
|
5
|
+
kind: "llm",
|
|
6
|
+
defaultInstructionFiles: ["ORCHESTRA.md"],
|
|
7
|
+
supportsStructuredPayload: false,
|
|
8
|
+
supportsManagedBlocks: true,
|
|
9
|
+
supportsImports: false,
|
|
10
|
+
guidance: "Use provider-agnostic Markdown when the runtime has no dedicated project memory format.",
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
target: "claude",
|
|
14
|
+
label: "Claude",
|
|
15
|
+
kind: "llm",
|
|
16
|
+
defaultInstructionFiles: ["CLAUDE.md"],
|
|
17
|
+
supportsStructuredPayload: false,
|
|
18
|
+
supportsManagedBlocks: true,
|
|
19
|
+
supportsImports: true,
|
|
20
|
+
guidance: "Reference compact Open Orchestra blocks from CLAUDE.md and load task skills on demand.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
target: "cursor",
|
|
24
|
+
label: "Cursor",
|
|
25
|
+
kind: "ide",
|
|
26
|
+
defaultInstructionFiles: [".cursor/rules/open-orchestra.mdc"],
|
|
27
|
+
supportsStructuredPayload: false,
|
|
28
|
+
supportsManagedBlocks: true,
|
|
29
|
+
supportsImports: true,
|
|
30
|
+
guidance: "Use MDC rules for compact task routing and keep detailed skills in referenced files.",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
target: "codex",
|
|
34
|
+
label: "Codex",
|
|
35
|
+
kind: "cli",
|
|
36
|
+
defaultInstructionFiles: ["AGENTS.md"],
|
|
37
|
+
supportsStructuredPayload: false,
|
|
38
|
+
supportsManagedBlocks: true,
|
|
39
|
+
supportsImports: false,
|
|
40
|
+
guidance: "Reference Open Orchestra from AGENTS.md so local CLI work follows workflow gates.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
target: "vscode",
|
|
44
|
+
label: "VS Code",
|
|
45
|
+
kind: "ide",
|
|
46
|
+
defaultInstructionFiles: [
|
|
47
|
+
".vscode/open-orchestra.runtime.json",
|
|
48
|
+
".vscode/open-orchestra.md",
|
|
49
|
+
],
|
|
50
|
+
supportsStructuredPayload: true,
|
|
51
|
+
supportsManagedBlocks: true,
|
|
52
|
+
supportsImports: false,
|
|
53
|
+
guidance: "Expose structured JSON to extensions and Markdown guidance to chat surfaces.",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
target: "windsurf",
|
|
57
|
+
label: "Windsurf",
|
|
58
|
+
kind: "ide",
|
|
59
|
+
defaultInstructionFiles: [".windsurf/rules/open-orchestra.md"],
|
|
60
|
+
supportsStructuredPayload: false,
|
|
61
|
+
supportsManagedBlocks: true,
|
|
62
|
+
supportsImports: true,
|
|
63
|
+
guidance: "Reference compact Open Orchestra guidance from Windsurf rules and keep skills task-scoped.",
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
export function listRuntimeAdapters() {
|
|
67
|
+
return runtimeAdapters.map((adapter) => ({ ...adapter }));
|
|
68
|
+
}
|
|
69
|
+
export function listRuntimeTargets() {
|
|
70
|
+
return runtimeAdapters.map((adapter) => adapter.target);
|
|
71
|
+
}
|
|
72
|
+
export function getRuntimeAdapter(target) {
|
|
73
|
+
const adapter = runtimeAdapters.find((candidate) => candidate.target === target);
|
|
74
|
+
if (!adapter) {
|
|
75
|
+
throw new Error("unknown runtime adapter: " + target);
|
|
76
|
+
}
|
|
77
|
+
return { ...adapter };
|
|
78
|
+
}
|
|
79
|
+
export function isRuntimeTarget(value) {
|
|
80
|
+
return runtimeAdapters.some((adapter) => adapter.target === value);
|
|
81
|
+
}
|
|
82
|
+
export function parseRuntimeTarget(value) {
|
|
83
|
+
if (isRuntimeTarget(value)) {
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
throw new Error("unknown runtime target: " + value);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=runtime-adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-adapters.js","sourceRoot":"","sources":["../src/runtime-adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ManagedInstructionBlockResult } from "./instruction-types.js";
|
|
2
|
+
import type { SkillRenderTarget } from "./types.js";
|
|
3
|
+
export interface RuntimeBootstrap {
|
|
4
|
+
target: SkillRenderTarget;
|
|
5
|
+
content: string;
|
|
6
|
+
managedBlock: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function renderRuntimeBootstrap(target?: SkillRenderTarget): RuntimeBootstrap;
|
|
9
|
+
export declare function renderRuntimeBootstrapManagedBlock(target: SkillRenderTarget, content: string): string;
|
|
10
|
+
export declare function upsertRuntimeBootstrapBlock(existing: string, bootstrap: RuntimeBootstrap, options?: {
|
|
11
|
+
force?: boolean;
|
|
12
|
+
}): ManagedInstructionBlockResult;
|