@jterrats/open-orchestra 1.0.15 → 1.0.16

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 (94) hide show
  1. package/AGENTS.md +3 -3
  2. package/CLAUDE.md +2 -2
  3. package/dist/command-manifest.js +6 -1
  4. package/dist/command-manifest.js.map +1 -1
  5. package/dist/command-routes.js +8 -1
  6. package/dist/command-routes.js.map +1 -1
  7. package/dist/commands.d.ts +2 -1
  8. package/dist/commands.js +2 -1
  9. package/dist/commands.js.map +1 -1
  10. package/dist/context-vault-commands.d.ts +5 -0
  11. package/dist/context-vault-commands.js +79 -0
  12. package/dist/context-vault-commands.js.map +1 -0
  13. package/dist/context-vault-file-metadata.d.ts +3 -0
  14. package/dist/context-vault-file-metadata.js +25 -0
  15. package/dist/context-vault-file-metadata.js.map +1 -0
  16. package/dist/context-vault-model.d.ts +79 -0
  17. package/dist/context-vault-model.js +2 -0
  18. package/dist/context-vault-model.js.map +1 -0
  19. package/dist/context-vault-redaction.d.ts +5 -0
  20. package/dist/context-vault-redaction.js +22 -0
  21. package/dist/context-vault-redaction.js.map +1 -0
  22. package/dist/context-vault-renderer.d.ts +3 -0
  23. package/dist/context-vault-renderer.js +30 -0
  24. package/dist/context-vault-renderer.js.map +1 -0
  25. package/dist/context-vault-service.d.ts +17 -0
  26. package/dist/context-vault-service.js +183 -0
  27. package/dist/context-vault-service.js.map +1 -0
  28. package/dist/delivery-commands.d.ts +1 -0
  29. package/dist/delivery-commands.js +19 -1
  30. package/dist/delivery-commands.js.map +1 -1
  31. package/dist/diagram-schema.d.ts +2 -0
  32. package/dist/diagram-schema.js +148 -0
  33. package/dist/diagram-schema.js.map +1 -0
  34. package/dist/diagrams/index.d.ts +2 -0
  35. package/dist/diagrams/index.js +2 -0
  36. package/dist/diagrams/index.js.map +1 -1
  37. package/dist/diagrams/pipeline.js +7 -5
  38. package/dist/diagrams/pipeline.js.map +1 -1
  39. package/dist/evidence-compaction-model.d.ts +62 -0
  40. package/dist/evidence-compaction-model.js +2 -0
  41. package/dist/evidence-compaction-model.js.map +1 -0
  42. package/dist/evidence-compaction-renderer.d.ts +2 -0
  43. package/dist/evidence-compaction-renderer.js +35 -0
  44. package/dist/evidence-compaction-renderer.js.map +1 -0
  45. package/dist/evidence-compaction-service.d.ts +11 -0
  46. package/dist/evidence-compaction-service.js +94 -0
  47. package/dist/evidence-compaction-service.js.map +1 -0
  48. package/dist/evidence-compaction-summary.d.ts +4 -0
  49. package/dist/evidence-compaction-summary.js +160 -0
  50. package/dist/evidence-compaction-summary.js.map +1 -0
  51. package/dist/knowledge-base.js +7 -1
  52. package/dist/knowledge-base.js.map +1 -1
  53. package/dist/planning-commands.js +23 -1
  54. package/dist/planning-commands.js.map +1 -1
  55. package/dist/quality-contracts.js +12 -6
  56. package/dist/quality-contracts.js.map +1 -1
  57. package/dist/report-index.d.ts +3 -0
  58. package/dist/report-index.js +3 -0
  59. package/dist/report-index.js.map +1 -0
  60. package/dist/report-model.d.ts +22 -0
  61. package/dist/report-model.js +2 -0
  62. package/dist/report-model.js.map +1 -0
  63. package/dist/report-render-markdown.d.ts +1 -0
  64. package/dist/report-render-markdown.js +40 -0
  65. package/dist/report-render-markdown.js.map +1 -0
  66. package/dist/report-schema.d.ts +2 -0
  67. package/dist/report-schema.js +109 -0
  68. package/dist/report-schema.js.map +1 -0
  69. package/dist/rule-catalog.d.ts +33 -0
  70. package/dist/rule-catalog.js +215 -0
  71. package/dist/rule-catalog.js.map +1 -0
  72. package/dist/runtime-context-manifest.js +3 -24
  73. package/dist/runtime-context-manifest.js.map +1 -1
  74. package/dist/structured-output-validation.d.ts +9 -0
  75. package/dist/structured-output-validation.js +20 -0
  76. package/dist/structured-output-validation.js.map +1 -0
  77. package/dist/web-api-read-routes.js +2 -0
  78. package/dist/web-api-read-routes.js.map +1 -1
  79. package/dist/web-console/assets/index-BJuVTqfQ.js +11 -0
  80. package/dist/web-console/index.html +1 -1
  81. package/dist/workflow-evidence-service.js +16 -0
  82. package/dist/workflow-evidence-service.js.map +1 -1
  83. package/dist/workflow-services.d.ts +1 -0
  84. package/dist/workflow-services.js +8 -1
  85. package/dist/workflow-services.js.map +1 -1
  86. package/docs/autonomous-workflow.md +3 -3
  87. package/docs/context-vault.md +34 -11
  88. package/docs/diagrams/deterministic-pipeline/README.md +35 -1
  89. package/docs/evidence-compaction.md +25 -0
  90. package/docs/rule-loading-strategy.md +37 -0
  91. package/docs/sonar-quality-gates.md +1 -1
  92. package/package.json +1 -1
  93. package/rules/development/semantic-code.md +28 -0
  94. package/dist/web-console/assets/index-Bis4CecA.js +0 -11
@@ -1,3 +1,4 @@
1
+ import { rulePathsForIds } from "./rule-catalog.js";
1
2
  const GENERIC_CONTRACT = {
2
3
  id: "generic-advisory",
3
4
  appliesToRoles: ["*"],
@@ -21,8 +22,11 @@ export const QUALITY_CONTRACT_REGISTRY = [
21
22
  requiredInputs: ["task goal", "acceptance criteria", "architecture notes"],
22
23
  requiredContextFiles: [
23
24
  "AGENTS.md",
24
- "rules/development-engineering.mdc",
25
- "rules/testing-discipline.mdc",
25
+ ...rulePathsForIds([
26
+ "semantic-code",
27
+ "development-engineering",
28
+ "testing-discipline",
29
+ ]),
26
30
  ],
27
31
  requiredOutputs: [
28
32
  requirement("consumed-context", "Consumed context files", [
@@ -73,8 +77,11 @@ export const QUALITY_CONTRACT_REGISTRY = [
73
77
  requiredInputs: ["acceptance criteria", "developer handoff", "test plan"],
74
78
  requiredContextFiles: [
75
79
  "AGENTS.md",
76
- "rules/testing-discipline.mdc",
77
- "rules/delivery-quality-gates.mdc",
80
+ ...rulePathsForIds([
81
+ "semantic-code",
82
+ "testing-discipline",
83
+ "delivery-quality-gates",
84
+ ]),
78
85
  ],
79
86
  requiredOutputs: [
80
87
  requirement("consumed-context", "Consumed context files", [
@@ -141,8 +148,7 @@ export const QUALITY_CONTRACT_REGISTRY = [
141
148
  requiredInputs: ["QA evidence", "accepted risks", "release notes"],
142
149
  requiredContextFiles: [
143
150
  "AGENTS.md",
144
- "rules/delivery-quality-gates.mdc",
145
- "rules/release-rollback.mdc",
151
+ ...rulePathsForIds(["delivery-quality-gates", "release-rollback"]),
146
152
  ],
147
153
  requiredOutputs: [
148
154
  requirement("consumed-context", "Consumed context files", [
@@ -1 +1 @@
1
- {"version":3,"file":"quality-contracts.js","sourceRoot":"","sources":["../src/quality-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-contracts.js","sourceRoot":"","sources":["../src/quality-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { ReportDocument, ReportItem, ReportItemSeverity, ReportSection, ReportSectionKind, } from "./report-model.js";
2
+ export { renderReportMarkdown } from "./report-render-markdown.js";
3
+ export { validateReportDocumentPayload } from "./report-schema.js";
@@ -0,0 +1,3 @@
1
+ export { renderReportMarkdown } from "./report-render-markdown.js";
2
+ export { validateReportDocumentPayload } from "./report-schema.js";
3
+ //# sourceMappingURL=report-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-index.js","sourceRoot":"","sources":["../src/report-index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type ReportSectionKind = "summary" | "findings" | "decisions" | "risks" | "evidence" | "nextSteps";
2
+ export type ReportItemSeverity = "info" | "low" | "medium" | "high" | "critical";
3
+ export interface ReportItem {
4
+ id: string;
5
+ text: string;
6
+ severity?: ReportItemSeverity;
7
+ owner?: string;
8
+ status?: string;
9
+ }
10
+ export interface ReportSection {
11
+ id: string;
12
+ kind: ReportSectionKind;
13
+ title: string;
14
+ body?: string;
15
+ items?: ReportItem[];
16
+ }
17
+ export interface ReportDocument {
18
+ id: string;
19
+ title: string;
20
+ summary: string;
21
+ sections: ReportSection[];
22
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=report-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-model.js","sourceRoot":"","sources":["../src/report-model.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function renderReportMarkdown(payload: unknown): string;
@@ -0,0 +1,40 @@
1
+ import { validateReportDocumentPayload } from "./report-schema.js";
2
+ export function renderReportMarkdown(payload) {
3
+ const report = validateReportDocumentPayload(payload);
4
+ return [
5
+ `# ${escapeMarkdown(report.title)}`,
6
+ "",
7
+ escapeMarkdown(report.summary),
8
+ "",
9
+ ...report.sections.flatMap(renderSection),
10
+ ]
11
+ .join("\n")
12
+ .trimEnd()
13
+ .concat("\n");
14
+ }
15
+ function renderSection(section) {
16
+ return [
17
+ `## ${escapeMarkdown(section.title)}`,
18
+ "",
19
+ ...(section.body ? [escapeMarkdown(section.body), ""] : []),
20
+ ...renderItems(section.items ?? []),
21
+ ];
22
+ }
23
+ function renderItems(items) {
24
+ if (items.length === 0)
25
+ return [];
26
+ return [...items.map(renderItem), ""];
27
+ }
28
+ function renderItem(item) {
29
+ const metadata = [
30
+ item.severity ? `severity: ${item.severity}` : "",
31
+ item.status ? `status: ${item.status}` : "",
32
+ item.owner ? `owner: ${item.owner}` : "",
33
+ ].filter(Boolean);
34
+ const suffix = metadata.length > 0 ? ` (${metadata.join(", ")})` : "";
35
+ return `- ${escapeMarkdown(item.text)}${suffix}`;
36
+ }
37
+ function escapeMarkdown(value) {
38
+ return value.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
39
+ }
40
+ //# sourceMappingURL=report-render-markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-render-markdown.js","sourceRoot":"","sources":["../src/report-render-markdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,MAAM,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACnC,EAAE;QACF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;QAC9B,EAAE;QACF,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;KAC1C;SACE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE;SACT,MAAM,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,OAAO;QACL,MAAM,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACrC,EAAE;QACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB;IAClC,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;QACjD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;KACzC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,OAAO,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ReportDocument } from "./report-model.js";
2
+ export declare function validateReportDocumentPayload(payload: unknown): ReportDocument;
@@ -0,0 +1,109 @@
1
+ import { assertNoStructuredOutputIssues, } from "./structured-output-validation.js";
2
+ const SECTION_KINDS = [
3
+ "summary",
4
+ "findings",
5
+ "decisions",
6
+ "risks",
7
+ "evidence",
8
+ "nextSteps",
9
+ ];
10
+ const ITEM_SEVERITIES = [
11
+ "info",
12
+ "low",
13
+ "medium",
14
+ "high",
15
+ "critical",
16
+ ];
17
+ export function validateReportDocumentPayload(payload) {
18
+ const issues = [];
19
+ if (!isObjectMap(payload)) {
20
+ fail(issues, "$", "must be a report object");
21
+ assertNoStructuredOutputIssues("report", issues);
22
+ throw new Error("unreachable report validation state");
23
+ }
24
+ validateReportRoot(payload, issues);
25
+ assertNoStructuredOutputIssues("report", issues);
26
+ return payload;
27
+ }
28
+ function validateReportRoot(value, issues) {
29
+ requireString(value, "id", "$", issues);
30
+ requireString(value, "title", "$", issues);
31
+ requireString(value, "summary", "$", issues);
32
+ validateSections(value.sections, issues);
33
+ }
34
+ function validateSections(value, issues) {
35
+ if (!Array.isArray(value) || value.length === 0) {
36
+ fail(issues, "$.sections", "must be a non-empty array");
37
+ return;
38
+ }
39
+ const ids = new Set();
40
+ value.forEach((section, index) => validateSection(section, index, ids, issues));
41
+ }
42
+ function validateSection(value, index, ids, issues) {
43
+ const path = `$.sections[${index}]`;
44
+ if (!isObjectMap(value))
45
+ return fail(issues, path, "must be an object");
46
+ const id = requireString(value, "id", path, issues);
47
+ if (id && ids.has(id))
48
+ fail(issues, `${path}.id`, "must be unique");
49
+ if (id)
50
+ ids.add(id);
51
+ requireEnum(value, "kind", path, SECTION_KINDS, issues);
52
+ requireString(value, "title", path, issues);
53
+ optionalString(value, "body", path, issues);
54
+ validateItems(value.items, `${path}.items`, issues);
55
+ }
56
+ function validateItems(value, path, issues) {
57
+ if (value === undefined)
58
+ return;
59
+ if (!Array.isArray(value))
60
+ return fail(issues, path, "must be an array when provided");
61
+ const ids = new Set();
62
+ value.forEach((item, index) => validateItem(item, `${path}[${index}]`, ids, issues));
63
+ }
64
+ function validateItem(value, path, ids, issues) {
65
+ if (!isObjectMap(value))
66
+ return fail(issues, path, "must be an object");
67
+ const id = requireString(value, "id", path, issues);
68
+ if (id && ids.has(id))
69
+ fail(issues, `${path}.id`, "must be unique within section");
70
+ if (id)
71
+ ids.add(id);
72
+ requireString(value, "text", path, issues);
73
+ optionalString(value, "owner", path, issues);
74
+ optionalString(value, "status", path, issues);
75
+ optionalEnum(value, "severity", path, ITEM_SEVERITIES, issues);
76
+ }
77
+ function isObjectMap(value) {
78
+ return typeof value === "object" && value !== null && !Array.isArray(value);
79
+ }
80
+ function requireString(value, key, path, issues) {
81
+ const field = value[key];
82
+ if (typeof field === "string" && field.trim() !== "")
83
+ return field;
84
+ fail(issues, `${path}.${key}`, "must be a non-empty string");
85
+ return undefined;
86
+ }
87
+ function optionalString(value, key, path, issues) {
88
+ if (value[key] !== undefined && typeof value[key] !== "string") {
89
+ fail(issues, `${path}.${key}`, "must be a string when provided");
90
+ }
91
+ }
92
+ function requireEnum(value, key, path, allowed, issues) {
93
+ const field = value[key];
94
+ if (typeof field === "string" && allowed.includes(field))
95
+ return;
96
+ fail(issues, `${path}.${key}`, `must be one of: ${allowed.join(", ")}`);
97
+ }
98
+ function optionalEnum(value, key, path, allowed, issues) {
99
+ const field = value[key];
100
+ if (field === undefined)
101
+ return;
102
+ if (typeof field === "string" && allowed.includes(field))
103
+ return;
104
+ fail(issues, `${path}.${key}`, `must be one of: ${allowed.join(", ")}`);
105
+ }
106
+ function fail(issues, path, message) {
107
+ issues.push({ path, message });
108
+ }
109
+ //# sourceMappingURL=report-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-schema.js","sourceRoot":"","sources":["../src/report-schema.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,8BAA8B,GAE/B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,aAAa,GAAiC;IAClD,SAAS;IACT,UAAU;IACV,WAAW;IACX,OAAO;IACP,UAAU;IACV,WAAW;CACZ,CAAC;AACF,MAAM,eAAe,GAAkC;IACrD,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAC3C,OAAgB;IAEhB,MAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC7C,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,OAAoC,CAAC;AAC9C,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAgB,EAChB,MAAyC;IAEzC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAc,EACd,MAAyC;IAEzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,2BAA2B,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC/B,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,KAAc,EACd,KAAa,EACb,GAAgB,EAChB,MAAyC;IAEzC,MAAM,IAAI,GAAG,cAAc,KAAK,GAAG,CAAC;IACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACpE,IAAI,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxD,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CACpB,KAAc,EACd,IAAY,EACZ,MAAyC;IAEzC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC5B,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAc,EACd,IAAY,EACZ,GAAgB,EAChB,MAAyC;IAEzC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,EAAE,+BAA+B,CAAC,CAAC;IAC9D,IAAI,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AAID,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CACpB,KAAgB,EAChB,GAAW,EACX,IAAY,EACZ,MAAyC;IAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC7D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CACrB,KAAgB,EAChB,GAAW,EACX,IAAY,EACZ,MAAyC;IAEzC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAClB,KAAgB,EAChB,GAAW,EACX,IAAY,EACZ,OAAqB,EACrB,MAAyC;IAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAU,CAAC;QAAE,OAAO;IACtE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,YAAY,CACnB,KAAgB,EAChB,GAAW,EACX,IAAY,EACZ,OAAqB,EACrB,MAAyC;IAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAU,CAAC;QAAE,OAAO;IACtE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,IAAI,CACX,MAAyC,EACzC,IAAY,EACZ,OAAe;IAEf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { SkillRenderTarget } from "./types.js";
2
+ export interface RuleDefinition {
3
+ id: string;
4
+ title: string;
5
+ summary: string;
6
+ canonicalPath: string;
7
+ renderedPaths?: Partial<Record<SkillRenderTarget, string>>;
8
+ roles: string[];
9
+ capabilities: string[];
10
+ triggers: string[];
11
+ riskAreas: string[];
12
+ }
13
+ export interface RuleSelectionInput {
14
+ role: string;
15
+ capabilities?: string[];
16
+ signals?: string[];
17
+ target?: SkillRenderTarget;
18
+ }
19
+ export interface RuleSelection {
20
+ rule: RuleDefinition;
21
+ path: string;
22
+ score: number;
23
+ rationale: string[];
24
+ }
25
+ export declare const DEFAULT_RULE_TARGET: SkillRenderTarget;
26
+ export declare const defaultRuleCatalog: RuleDefinition[];
27
+ export declare const ROLE_RULE_IDS: Record<string, string[]>;
28
+ export declare function listRuleDefinitions(): RuleDefinition[];
29
+ export declare function getRuleDefinition(id: string): RuleDefinition | undefined;
30
+ export declare function rulePathForTarget(rule: RuleDefinition, target?: SkillRenderTarget): string;
31
+ export declare function rulePathsForIds(ids: string[], target?: SkillRenderTarget): string[];
32
+ export declare function rulePathsForRole(role: string, target?: SkillRenderTarget): string[];
33
+ export declare function selectRulesForRuntime(input: RuleSelectionInput): RuleSelection[];
@@ -0,0 +1,215 @@
1
+ export const DEFAULT_RULE_TARGET = "generic";
2
+ export const defaultRuleCatalog = [
3
+ {
4
+ id: "semantic-code",
5
+ title: "Semantic Code",
6
+ summary: "Code should be readable by intent through domain names, narrow types, and clear module boundaries.",
7
+ canonicalPath: "rules/development/semantic-code.md",
8
+ roles: ["developer", "qa", "sdet", "devops", "architect"],
9
+ capabilities: ["implementation", "code", "automation", "review"],
10
+ triggers: [
11
+ "code",
12
+ "implementation",
13
+ "refactor",
14
+ "script",
15
+ "test",
16
+ "automation",
17
+ ],
18
+ riskAreas: ["maintainability", "quality"],
19
+ },
20
+ {
21
+ id: "development-engineering",
22
+ title: "Development Engineering",
23
+ summary: "Stack-agnostic implementation standards for service, integration, async, and testable code.",
24
+ canonicalPath: "rules/development-engineering.mdc",
25
+ renderedPaths: { cursor: "rules/development-engineering.mdc" },
26
+ roles: ["developer", "architect"],
27
+ capabilities: ["implementation", "code", "architecture-review"],
28
+ triggers: [
29
+ "service",
30
+ "integration",
31
+ "entry point",
32
+ "async",
33
+ "implementation",
34
+ ],
35
+ riskAreas: ["maintainability", "integration", "performance"],
36
+ },
37
+ {
38
+ id: "dry-clean-code",
39
+ title: "DRY Clean Code",
40
+ summary: "Duplication, naming, hardcoded data, and readability standards.",
41
+ canonicalPath: "rules/dry-clean-code.mdc",
42
+ renderedPaths: { cursor: "rules/dry-clean-code.mdc" },
43
+ roles: ["developer"],
44
+ capabilities: ["implementation", "code"],
45
+ triggers: ["duplication", "hardcoded", "helper", "refactor"],
46
+ riskAreas: ["maintainability"],
47
+ },
48
+ {
49
+ id: "module-boundaries",
50
+ title: "Module Boundaries",
51
+ summary: "Domain, service, adapter, and entry-point boundary rules.",
52
+ canonicalPath: "rules/module-boundaries.mdc",
53
+ renderedPaths: { cursor: "rules/module-boundaries.mdc" },
54
+ roles: ["developer", "architect"],
55
+ capabilities: ["implementation", "architecture-review"],
56
+ triggers: ["domain", "service", "adapter", "boundary", "god file"],
57
+ riskAreas: ["architecture", "maintainability"],
58
+ },
59
+ {
60
+ id: "testing-discipline",
61
+ title: "Testing Discipline",
62
+ summary: "Unit, integration, E2E, and evidence expectations.",
63
+ canonicalPath: "rules/testing-discipline.mdc",
64
+ renderedPaths: { cursor: "rules/testing-discipline.mdc" },
65
+ roles: ["developer", "qa", "sdet"],
66
+ capabilities: ["test", "testing", "automation", "qa-evidence"],
67
+ triggers: ["test", "unit", "e2e", "playwright", "coverage", "qa"],
68
+ riskAreas: ["quality"],
69
+ },
70
+ {
71
+ id: "delivery-quality-gates",
72
+ title: "Delivery Quality Gates",
73
+ summary: "Definition of ready, definition of done, evidence, and release gate rules.",
74
+ canonicalPath: "rules/delivery-quality-gates.mdc",
75
+ renderedPaths: { cursor: "rules/delivery-quality-gates.mdc" },
76
+ roles: ["qa", "sdet", "release_manager"],
77
+ capabilities: ["qa-evidence", "release"],
78
+ triggers: ["gate", "release", "evidence", "handoff", "go no-go"],
79
+ riskAreas: ["quality", "release", "governance"],
80
+ },
81
+ {
82
+ id: "agent-collaboration",
83
+ title: "Agent Collaboration",
84
+ summary: "Handoff, review, and cross-role collaboration rules.",
85
+ canonicalPath: "rules/agent-collaboration.mdc",
86
+ renderedPaths: { cursor: "rules/agent-collaboration.mdc" },
87
+ roles: ["qa", "product_owner", "architect", "developer"],
88
+ capabilities: ["workflow-discipline", "auditability"],
89
+ triggers: ["handoff", "review", "phase", "collaboration"],
90
+ riskAreas: ["governance"],
91
+ },
92
+ {
93
+ id: "architecture-decisions",
94
+ title: "Architecture Decisions",
95
+ summary: "Architecture decision, ADR, trade-off, and technical boundary rules.",
96
+ canonicalPath: "rules/architecture-decisions.mdc",
97
+ renderedPaths: { cursor: "rules/architecture-decisions.mdc" },
98
+ roles: ["architect"],
99
+ capabilities: ["architecture-review"],
100
+ triggers: ["architecture", "adr", "decision", "trade off"],
101
+ riskAreas: ["architecture", "maintainability"],
102
+ },
103
+ {
104
+ id: "release-rollback",
105
+ title: "Release Rollback",
106
+ summary: "Release, rollback, monitoring, and go/no-go rules.",
107
+ canonicalPath: "rules/release-rollback.mdc",
108
+ renderedPaths: { cursor: "rules/release-rollback.mdc" },
109
+ roles: ["release_manager"],
110
+ capabilities: ["release", "deployment", "rollback"],
111
+ triggers: ["release", "rollback", "deploy", "publish"],
112
+ riskAreas: ["release"],
113
+ },
114
+ ];
115
+ export const ROLE_RULE_IDS = {
116
+ developer: [
117
+ "semantic-code",
118
+ "development-engineering",
119
+ "dry-clean-code",
120
+ "module-boundaries",
121
+ "testing-discipline",
122
+ ],
123
+ qa: [
124
+ "semantic-code",
125
+ "testing-discipline",
126
+ "delivery-quality-gates",
127
+ "agent-collaboration",
128
+ ],
129
+ sdet: [
130
+ "semantic-code",
131
+ "testing-discipline",
132
+ "delivery-quality-gates",
133
+ "agent-collaboration",
134
+ ],
135
+ architect: [
136
+ "semantic-code",
137
+ "architecture-decisions",
138
+ "module-boundaries",
139
+ "development-engineering",
140
+ ],
141
+ devops: ["semantic-code", "development-engineering"],
142
+ release_manager: ["release-rollback", "delivery-quality-gates"],
143
+ };
144
+ export function listRuleDefinitions() {
145
+ return defaultRuleCatalog.map(cloneRule);
146
+ }
147
+ export function getRuleDefinition(id) {
148
+ const rule = defaultRuleCatalog.find((candidate) => candidate.id === id);
149
+ return rule ? cloneRule(rule) : undefined;
150
+ }
151
+ export function rulePathForTarget(rule, target = DEFAULT_RULE_TARGET) {
152
+ return rule.renderedPaths?.[target] ?? rule.canonicalPath;
153
+ }
154
+ export function rulePathsForIds(ids, target = DEFAULT_RULE_TARGET) {
155
+ return ids
156
+ .map((id) => getRuleDefinition(id))
157
+ .filter((rule) => Boolean(rule))
158
+ .map((rule) => rulePathForTarget(rule, target));
159
+ }
160
+ export function rulePathsForRole(role, target = DEFAULT_RULE_TARGET) {
161
+ return rulePathsForIds(ROLE_RULE_IDS[role] ?? [], target);
162
+ }
163
+ export function selectRulesForRuntime(input) {
164
+ const role = input.role;
165
+ const capabilities = new Set((input.capabilities ?? []).map(normalize));
166
+ const signalText = normalize((input.signals ?? []).join(" "));
167
+ const roleRuleIds = new Set(ROLE_RULE_IDS[role] ?? []);
168
+ return defaultRuleCatalog
169
+ .map((rule) => {
170
+ const rationale = [];
171
+ let score = 0;
172
+ if (roleRuleIds.has(rule.id) || rule.roles.includes(role)) {
173
+ score += 3;
174
+ rationale.push(`role match: ${role}`);
175
+ }
176
+ const matchedCapabilities = rule.capabilities.filter((capability) => capabilities.has(normalize(capability)));
177
+ if (matchedCapabilities.length > 0) {
178
+ score += matchedCapabilities.length;
179
+ rationale.push(`capability match: ${matchedCapabilities.join(", ")}`);
180
+ }
181
+ const matchedTriggers = rule.triggers.filter((trigger) => signalText.includes(normalize(trigger)));
182
+ if (matchedTriggers.length > 0) {
183
+ score += matchedTriggers.length * 2;
184
+ rationale.push(`signal match: ${matchedTriggers.join(", ")}`);
185
+ }
186
+ return {
187
+ rule: cloneRule(rule),
188
+ path: rulePathForTarget(rule, input.target),
189
+ score,
190
+ rationale,
191
+ };
192
+ })
193
+ .filter((selection) => selection.score > 0)
194
+ .sort((left, right) => right.score - left.score || left.rule.id.localeCompare(right.rule.id));
195
+ }
196
+ function cloneRule(rule) {
197
+ const clone = {
198
+ ...rule,
199
+ roles: rule.roles.slice(),
200
+ capabilities: rule.capabilities.slice(),
201
+ triggers: rule.triggers.slice(),
202
+ riskAreas: rule.riskAreas.slice(),
203
+ };
204
+ if (rule.renderedPaths) {
205
+ clone.renderedPaths = { ...rule.renderedPaths };
206
+ }
207
+ return clone;
208
+ }
209
+ function normalize(value) {
210
+ return value
211
+ .toLowerCase()
212
+ .replace(/[^a-z0-9]+/g, " ")
213
+ .trim();
214
+ }
215
+ //# sourceMappingURL=rule-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-catalog.js","sourceRoot":"","sources":["../src/rule-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { readFile } from "node:fs/promises";
3
3
  import { exists, resolveWorkspaceWritePath } from "./fs-utils.js";
4
- const ROLE_RULES = {
5
- developer: [
6
- "rules/development-engineering.mdc",
7
- "rules/dry-clean-code.mdc",
8
- "rules/module-boundaries.mdc",
9
- "rules/testing-discipline.mdc",
10
- ],
11
- qa: [
12
- "rules/testing-discipline.mdc",
13
- "rules/delivery-quality-gates.mdc",
14
- "rules/agent-collaboration.mdc",
15
- ],
16
- architect: [
17
- "rules/architecture-decisions.mdc",
18
- "rules/module-boundaries.mdc",
19
- "rules/development-engineering.mdc",
20
- ],
21
- release_manager: [
22
- "rules/release-rollback.mdc",
23
- "rules/delivery-quality-gates.mdc",
24
- ],
25
- };
4
+ import { rulePathsForRole } from "./rule-catalog.js";
26
5
  const UNIVERSAL_RULES = ["AGENTS.md"];
27
6
  const FULL_CONTENT_LIMIT = 5000;
28
7
  const EXCERPT_LIMIT = 1600;
@@ -46,11 +25,11 @@ export async function buildRuntimeContextManifest({ root, taskId, phase, role, p
46
25
  required: true,
47
26
  reason: "Required root runtime instructions for project-wide agent behavior.",
48
27
  })),
49
- ...(ROLE_RULES[role] ?? []).map((path) => ({
28
+ ...rulePathsForRole(role).map((path) => ({
50
29
  path,
51
30
  source: "rule",
52
31
  required: true,
53
- reason: `Required ${role} rule file for role-specific execution quality.`,
32
+ reason: `Required ${role} rule selected from the neutral rule catalog for role-specific execution quality.`,
54
33
  })),
55
34
  ];
56
35
  const entries = [];