@cat-factory/kernel 0.224.0 → 0.226.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.
Files changed (43) hide show
  1. package/dist/domain/catalog.d.ts +13 -1
  2. package/dist/domain/catalog.d.ts.map +1 -1
  3. package/dist/domain/catalog.js +16 -2
  4. package/dist/domain/catalog.js.map +1 -1
  5. package/dist/domain/change-class.d.ts +47 -1
  6. package/dist/domain/change-class.d.ts.map +1 -1
  7. package/dist/domain/change-class.js +59 -0
  8. package/dist/domain/change-class.js.map +1 -1
  9. package/dist/domain/llm-rollup.d.ts +51 -4
  10. package/dist/domain/llm-rollup.d.ts.map +1 -1
  11. package/dist/domain/llm-rollup.js +77 -5
  12. package/dist/domain/llm-rollup.js.map +1 -1
  13. package/dist/domain/seed.d.ts.map +1 -1
  14. package/dist/domain/seed.js +14 -4
  15. package/dist/domain/seed.js.map +1 -1
  16. package/dist/domain/types.d.ts +1 -1
  17. package/dist/domain/types.d.ts.map +1 -1
  18. package/dist/index.d.ts +3 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/ports/agent-executor.d.ts +1 -1
  23. package/dist/ports/index.d.ts +2 -1
  24. package/dist/ports/index.d.ts.map +1 -1
  25. package/dist/ports/index.js.map +1 -1
  26. package/dist/ports/llm-metrics.d.ts +37 -6
  27. package/dist/ports/llm-metrics.d.ts.map +1 -1
  28. package/dist/ports/llm-metrics.js.map +1 -1
  29. package/dist/ports/operational-metrics.d.ts +19 -1
  30. package/dist/ports/operational-metrics.d.ts.map +1 -1
  31. package/dist/ports/operational-metrics.js.map +1 -1
  32. package/dist/ports/runner-transport.d.ts +1 -1
  33. package/dist/ports/task-repositories.d.ts +24 -1
  34. package/dist/ports/task-repositories.d.ts.map +1 -1
  35. package/dist/ports/tutorial-progress-repositories.d.ts +17 -0
  36. package/dist/ports/tutorial-progress-repositories.d.ts.map +1 -0
  37. package/dist/ports/tutorial-progress-repositories.js +2 -0
  38. package/dist/ports/tutorial-progress-repositories.js.map +1 -0
  39. package/dist/shared/host-markdown.logic.d.ts +59 -0
  40. package/dist/shared/host-markdown.logic.d.ts.map +1 -1
  41. package/dist/shared/host-markdown.logic.js +100 -4
  42. package/dist/shared/host-markdown.logic.js.map +1 -1
  43. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import type { BlockType, MergeClassRules, ModelPreset, RequirementConcernLevel, StepGating, WorkspaceSettings } from './types.js';
1
+ import type { BlockType, ClassRulesByRole, MergeClassRules, ModelPreset, RequirementConcernLevel, StepGating, WorkspaceRole, WorkspaceSettings } from './types.js';
2
2
  /**
3
3
  * The runtime settings every workspace starts with (lazily seeded on first read).
4
4
  * `waitingEscalationMinutes` is how long a run may wait for human input before its
@@ -43,6 +43,14 @@ export declare const DEFAULT_RISK_POLICY: {
43
43
  * justifies it — never something a seed decides on their behalf.
44
44
  */
45
45
  export declare const DEFAULT_MERGE_CLASS_RULES: MergeClassRules;
46
+ /**
47
+ * The built-in presets ship with NO role-scoped narrowing and NO sandboxed roles, for the same
48
+ * reason they ship no per-class rules: who a deployment trusts with what is exactly the judgement
49
+ * a seed cannot make on an operator's behalf, and the identity of these two empties is what keeps
50
+ * every existing workspace on byte-for-byte its previous merge behaviour.
51
+ */
52
+ export declare const DEFAULT_CLASS_RULES_BY_ROLE: ClassRulesByRole;
53
+ export declare const DEFAULT_DRY_RUN_ROLES: readonly WorkspaceRole[];
46
54
  /**
47
55
  * A built-in merge-preset template (no `createdAt` yet, but with a STABLE id so a
48
56
  * workspace's persisted copy can be matched against the catalog and reseeded). The
@@ -74,6 +82,10 @@ export interface RiskPolicySeed {
74
82
  forkDecision: StepGating | null;
75
83
  /** Per-change-class auto-merge rules; empty on the built-ins (see DEFAULT_MERGE_CLASS_RULES). */
76
84
  classRules: MergeClassRules;
85
+ /** Per-role narrowing of `classRules`; empty on the built-ins. */
86
+ classRulesByRole: ClassRulesByRole;
87
+ /** Roles whose runs are forced into dry-run mode; empty on the built-ins. */
88
+ dryRunRoles: WorkspaceRole[];
77
89
  /** The workspace's fallback preset, used by tasks that pick none. Exactly one is true. */
78
90
  isDefault: boolean;
79
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,14 @@ export const DEFAULT_RISK_POLICY = {
95
95
  * justifies it — never something a seed decides on their behalf.
96
96
  */
97
97
  export const DEFAULT_MERGE_CLASS_RULES = {};
98
+ /**
99
+ * The built-in presets ship with NO role-scoped narrowing and NO sandboxed roles, for the same
100
+ * reason they ship no per-class rules: who a deployment trusts with what is exactly the judgement
101
+ * a seed cannot make on an operator's behalf, and the identity of these two empties is what keeps
102
+ * every existing workspace on byte-for-byte its previous merge behaviour.
103
+ */
104
+ export const DEFAULT_CLASS_RULES_BY_ROLE = {};
105
+ export const DEFAULT_DRY_RUN_ROLES = [];
98
106
  /**
99
107
  * The built-in merge threshold presets seeded for every workspace. `Balanced` is the
100
108
  * default auto-merge policy; `Manual review only` disables auto-merge entirely
@@ -123,8 +131,10 @@ export const RISK_POLICY_SEEDS = [
123
131
  autoMergeEnabled: DEFAULT_RISK_POLICY.autoMergeEnabled,
124
132
  forkDecision: { ...DEFAULT_FORK_DECISION_GATING },
125
133
  classRules: { ...DEFAULT_MERGE_CLASS_RULES },
134
+ classRulesByRole: { ...DEFAULT_CLASS_RULES_BY_ROLE },
135
+ dryRunRoles: [...DEFAULT_DRY_RUN_ROLES],
126
136
  isDefault: true,
127
- version: 5,
137
+ version: 6,
128
138
  },
129
139
  {
130
140
  id: 'mp_manual_review',
@@ -150,8 +160,12 @@ export const RISK_POLICY_SEEDS = [
150
160
  // No per-class rules: a class rule can never override `autoMergeEnabled: false`, and
151
161
  // shipping one here would only mislead an operator reading the preset.
152
162
  classRules: { ...DEFAULT_MERGE_CLASS_RULES },
163
+ // Nor any role-scoped narrowing: narrowing is subtractive, and there is nothing left to
164
+ // subtract from a preset that already routes every PR to a human.
165
+ classRulesByRole: { ...DEFAULT_CLASS_RULES_BY_ROLE },
166
+ dryRunRoles: [...DEFAULT_DRY_RUN_ROLES],
153
167
  isDefault: false,
154
- version: 5,
168
+ version: 6,
155
169
  },
156
170
  ];
157
171
  /** The built-in merge presets, fresh copies so callers can stamp ids/timestamps safely. */
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAU3F;;;;;GAKG;AACH,MAAM,4BAA4B,GAAe;IAC/C,OAAO,EAAE,KAAK;IACd,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,iBAAiB,EAAE,KAAK;CACzB,CAAA;AAED,wDAAwD;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,wBAAwB,EAAE,GAAG;IAC7B,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,IAAI;IACvB,2BAA2B,EAAE,IAAI;IACjC,qBAAqB,EAAE,EAAE;IACzB,aAAa,EAAE,IAAI;IACnB,0BAA0B,EAAE,KAAK;IACjC,kBAAkB,EAAE,KAAK;IACzB,uBAAuB,EAAE,CAAC;IAC1B,wBAAwB,EAAE,IAAI;IAC9B,+BAA+B,EAAE,IAAI;IACrC,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,IAAI;IACvB,mFAAmF;IACnF,qFAAqF;IACrF,4EAA4E;IAC5E,oBAAoB,EAAE,IAAI;IAC1B,0BAA0B,EAAE,IAAI;IAChC,yFAAyF;IACzF,0FAA0F;IAC1F,4EAA4E;IAC5E,iBAAiB,EAAE,IAAI;IACvB,sFAAsF;IACtF,yDAAyD;IACzD,QAAQ,EAAE,EAAE;CACb,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,UAAU;IAChB,aAAa,EAAE,GAAG;IAClB,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,aAAa,EAAE,EAAE;IACjB,wBAAwB,EAAE,CAAC;IAC3B,gFAAgF;IAChF,4BAA4B,EAAE,MAAM;IACpC,mFAAmF;IACnF,qFAAqF;IACrF,0BAA0B,EAAE,CAAC;IAC7B,6EAA6E;IAC7E,4EAA4E;IAC5E,kFAAkF;IAClF,+DAA+D;IAC/D,yBAAyB,EAAE,EAAE;IAC7B,kBAAkB,EAAE,CAAC;IACrB,uFAAuF;IACvF,qFAAqF;IACrF,wFAAwF;IACxF,8DAA8D;IAC9D,uBAAuB,EAAE,EAAE;IAC3B,0FAA0F;IAC1F,uFAAuF;IACvF,0EAA0E;IAC1E,aAAa,EAAE,uBAAuB;IACtC,eAAe,EAAE,yBAAyB;IAC1C,0FAA0F;IAC1F,gBAAgB,EAAE,IAAI;IACtB,6FAA6F;IAC7F,YAAY,EAAE,4BAA4B;CAClC,CAAA;AAEV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoB,EAAE,CAAA;AA2C5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,aAAa,EAAE,mBAAmB,CAAC,aAAa;QAChD,OAAO,EAAE,mBAAmB,CAAC,OAAO;QACpC,SAAS,EAAE,mBAAmB,CAAC,SAAS;QACxC,aAAa,EAAE,mBAAmB,CAAC,aAAa;QAChD,wBAAwB,EAAE,mBAAmB,CAAC,wBAAwB;QACtE,4BAA4B,EAAE,mBAAmB,CAAC,4BAA4B;QAC9E,0BAA0B,EAAE,mBAAmB,CAAC,0BAA0B;QAC1E,yBAAyB,EAAE,mBAAmB,CAAC,yBAAyB;QACxE,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB;QAC1D,uBAAuB,EAAE,mBAAmB,CAAC,uBAAuB;QACpE,aAAa,EAAE,mBAAmB,CAAC,aAAa;QAChD,eAAe,EAAE,mBAAmB,CAAC,eAAe;QACpD,gBAAgB,EAAE,mBAAmB,CAAC,gBAAgB;QACtD,YAAY,EAAE,EAAE,GAAG,4BAA4B,EAAE;QACjD,UAAU,EAAE,EAAE,GAAG,yBAAyB,EAAE;QAC5C,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,CAAC;KACX;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,oBAAoB;QAC1B,yFAAyF;QACzF,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,mBAAmB,CAAC,aAAa;QAChD,wBAAwB,EAAE,mBAAmB,CAAC,wBAAwB;QACtE,4BAA4B,EAAE,MAAM;QACpC,0BAA0B,EAAE,mBAAmB,CAAC,0BAA0B;QAC1E,yBAAyB,EAAE,mBAAmB,CAAC,yBAAyB;QACxE,kBAAkB,EAAE,mBAAmB,CAAC,kBAAkB;QAC1D,uBAAuB,EAAE,mBAAmB,CAAC,uBAAuB;QACpE,aAAa,EAAE,mBAAmB,CAAC,aAAa;QAChD,yFAAyF;QACzF,8DAA8D;QAC9D,eAAe,EAAE,CAAC;QAClB,kFAAkF;QAClF,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,EAAE,GAAG,4BAA4B,EAAE;QACjD,qFAAqF;QACrF,uEAAuE;QACvE,UAAU,EAAE,EAAE,GAAG,yBAAyB,EAAE;QAC5C,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC;KACX;CACF,CAAA;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB;IAC9B,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,aAAa,CAAA;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,mBAAmB,CAAC,wBAAwB,CAAA;AAE9F;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,8DAA8D;IAC9D,QAAQ,EAAE,EAAE;IACZ,2DAA2D;IAC3D,YAAY,EAAE,GAAG;IACjB,iFAAiF;IACjF,gBAAgB,EAAE,IAAI;IACtB,qFAAqF;IACrF,mBAAmB,EAAE,OAAO;CACpB,CAAA;AAyBV,0GAA0G;AAC1G,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,YAAY;CACZ,CAAA;AAEV;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD;QACE,EAAE,EAAE,qBAAqB,CAAC,IAAI;QAC9B,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC;KACX;IACD,EAAE,EAAE,EAAE,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;IACjG;QACE,EAAE,EAAE,qBAAqB,CAAC,MAAM;QAChC,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,EAAE;QACb,iFAAiF;QACjF,gFAAgF;QAChF,4CAA4C;QAC5C,OAAO,EAAE,CAAC;KACX;CACF,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAW,qBAAqB,CAAC,IAAI,CAAA;AAEzE,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB;IAC9B,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;AACpF,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,uBAAuB,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAE,CAAA;AAElG;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAwD,EACxD,SAAiB;IAEjB,MAAM,CAAC,GAAG,MAAM,IAAI,oBAAoB,CAAA;IACxC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,CAAA;AAChD,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,qBAAqB;IAC/B,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;CAC3B,CAAA"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ChangeClass, MergeClassRule, MergeClassRules } from '@cat-factory/contracts';
1
+ import type { ChangeClass, ClassRulesByRole, MergeClassRule, MergeClassRules, WorkspaceRole } from '@cat-factory/contracts';
2
2
  /**
3
3
  * Risk rank per class — HIGHER means riskier, and a mixed diff resolves to the highest rank
4
4
  * present. That precedence is what makes a per-class rule safe by construction: "always
@@ -57,4 +57,50 @@ export declare function classifyChangedFiles(paths: readonly string[]): ChangeCl
57
57
  * comparison instead of silently adopting a widened (or tightened) policy.
58
58
  */
59
59
  export declare function resolveMergeClassRule(rules: MergeClassRules | null | undefined, changeClass: ChangeClass): MergeClassRule;
60
+ /**
61
+ * Compose a base rule with a ROLE's rule, taking the STRICTER of the two.
62
+ *
63
+ * Narrow-only is the whole safety property of role-scoped rules, and it is enforced here rather
64
+ * than trusted to whoever authors a preset: a role entry can subtract capability but can never add
65
+ * it, so `{ source: 'always' }` under `viewer` on a preset whose base holds `source` at
66
+ * `thresholds` grants a viewer nothing — it reads as a mistake and behaves as a no-op, instead of
67
+ * quietly becoming the widest rule in the preset for its least-trusted tier.
68
+ *
69
+ * The consequence worth stating: a role entry is REVIEWABLE ON ITS OWN. Reading one tells you what
70
+ * that role at most may do, with no need to hold the base map in your head at the same time.
71
+ */
72
+ export declare function narrowMergeClassRule(base: MergeClassRule, role: MergeClassRule): MergeClassRule;
73
+ /** The rule that governs a run, before and after its initiator's role narrowed it. */
74
+ export interface RoleScopedMergeClassRule {
75
+ /** What the preset's base `classRules` say for this change class. */
76
+ base: MergeClassRule;
77
+ /** What actually applies: `base` narrowed by the initiator's role entry. */
78
+ effective: MergeClassRule;
79
+ /**
80
+ * Whether the role CHANGED the outcome. False both when no role was pinned and when the role's
81
+ * entry was no stricter than the base, so a caller can report "a role narrowed this" without
82
+ * re-comparing — and never attributes to a role a refusal the base map would have made anyway.
83
+ */
84
+ narrowedByRole: boolean;
85
+ }
86
+ /**
87
+ * Resolve the per-class rule that governs one run: the preset's base rule for the run's change
88
+ * class, narrowed by the entry (if any) its initiator's ROLE carries.
89
+ *
90
+ * Two absences pass straight through to the base rule, deliberately and for the same reason:
91
+ * an unattributed run (no pinned role — a schedule fire, a public-API start, auth-disabled dev)
92
+ * and a role with no authored entry. Neither is evidence about how much review the work needs,
93
+ * and inventing a tier for the first would either hand it the preset's widest rules or sandbox
94
+ * every scheduled run in the deployment the day someone first authors a role entry.
95
+ *
96
+ * `unknown` remains inert through both layers: {@link resolveMergeClassRule} already forces it to
97
+ * `thresholds`, and narrowing `thresholds` by a rule authored for some OTHER class cannot reach
98
+ * it, so a diff we could not read still falls back to the score comparison whoever started it.
99
+ */
100
+ export declare function resolveRoleScopedMergeClassRule(input: {
101
+ rules: MergeClassRules | null | undefined;
102
+ byRole: ClassRulesByRole | null | undefined;
103
+ role: WorkspaceRole | null | undefined;
104
+ changeClass: ChangeClass;
105
+ }): RoleScopedMergeClassRule;
60
106
  //# sourceMappingURL=change-class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-class.d.ts","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAiB1F;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAQzD,CAAA;AAqLD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAwCjF;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,WAAW,EAAE,WAAW,CAAA;IACxB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAUnF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,WAAW,EAAE,WAAW,GACvB,cAAc,CAGhB"}
1
+ {"version":3,"file":"change-class.d.ts","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAA;AAiB/B;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAQzD,CAAA;AAqLD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAwCjF;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,WAAW,EAAE,WAAW,CAAA;IACxB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAUnF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EACzC,WAAW,EAAE,WAAW,GACvB,cAAc,CAGhB;AAiBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,CAE/F;AAED,sFAAsF;AACtF,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,IAAI,EAAE,cAAc,CAAA;IACpB,4EAA4E;IAC5E,SAAS,EAAE,cAAc,CAAA;IACzB;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAA;IACzC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3C,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAA;IACtC,WAAW,EAAE,WAAW,CAAA;CACzB,GAAG,wBAAwB,CAc3B"}
@@ -303,4 +303,63 @@ export function resolveMergeClassRule(rules, changeClass) {
303
303
  return 'thresholds';
304
304
  return rules?.[changeClass] ?? 'thresholds';
305
305
  }
306
+ /**
307
+ * How much review a rule DEMANDS — higher is stricter. The ordering is the point of the scale:
308
+ * `always` merges with nothing consulted, `thresholds` merges only within the score ceilings, and
309
+ * `never` merges nothing, so it is total and every pair has a strictest member.
310
+ *
311
+ * A plain rank rather than a `Record<MergeClassRule, number>` of opaque numbers used once: this is
312
+ * the only place the three rules are ORDERED, and {@link narrowMergeClassRule} is the only
313
+ * consumer, so the two are kept adjacent and a new rule fails the typecheck here first.
314
+ */
315
+ const MERGE_CLASS_RULE_STRICTNESS = {
316
+ always: 0,
317
+ thresholds: 1,
318
+ never: 2,
319
+ };
320
+ /**
321
+ * Compose a base rule with a ROLE's rule, taking the STRICTER of the two.
322
+ *
323
+ * Narrow-only is the whole safety property of role-scoped rules, and it is enforced here rather
324
+ * than trusted to whoever authors a preset: a role entry can subtract capability but can never add
325
+ * it, so `{ source: 'always' }` under `viewer` on a preset whose base holds `source` at
326
+ * `thresholds` grants a viewer nothing — it reads as a mistake and behaves as a no-op, instead of
327
+ * quietly becoming the widest rule in the preset for its least-trusted tier.
328
+ *
329
+ * The consequence worth stating: a role entry is REVIEWABLE ON ITS OWN. Reading one tells you what
330
+ * that role at most may do, with no need to hold the base map in your head at the same time.
331
+ */
332
+ export function narrowMergeClassRule(base, role) {
333
+ return MERGE_CLASS_RULE_STRICTNESS[role] > MERGE_CLASS_RULE_STRICTNESS[base] ? role : base;
334
+ }
335
+ /**
336
+ * Resolve the per-class rule that governs one run: the preset's base rule for the run's change
337
+ * class, narrowed by the entry (if any) its initiator's ROLE carries.
338
+ *
339
+ * Two absences pass straight through to the base rule, deliberately and for the same reason:
340
+ * an unattributed run (no pinned role — a schedule fire, a public-API start, auth-disabled dev)
341
+ * and a role with no authored entry. Neither is evidence about how much review the work needs,
342
+ * and inventing a tier for the first would either hand it the preset's widest rules or sandbox
343
+ * every scheduled run in the deployment the day someone first authors a role entry.
344
+ *
345
+ * `unknown` remains inert through both layers: {@link resolveMergeClassRule} already forces it to
346
+ * `thresholds`, and narrowing `thresholds` by a rule authored for some OTHER class cannot reach
347
+ * it, so a diff we could not read still falls back to the score comparison whoever started it.
348
+ */
349
+ export function resolveRoleScopedMergeClassRule(input) {
350
+ const base = resolveMergeClassRule(input.rules, input.changeClass);
351
+ if (!input.role || input.changeClass === 'unknown') {
352
+ return { base, effective: base, narrowedByRole: false };
353
+ }
354
+ // Read the role's entry as an OPTIONAL lookup, NOT through `resolveMergeClassRule`. That helper
355
+ // substitutes `thresholds` for an absent class, which is right when it IS the policy and wrong
356
+ // here: a role that authored nothing has said nothing, and folding its silence in as
357
+ // `thresholds` would narrow every `always` in the base map the moment a preset gained its first
358
+ // role entry — for the roles that entry is not even about. Absent is not a rule.
359
+ const roleRule = input.byRole?.[input.role]?.[input.changeClass];
360
+ if (!roleRule)
361
+ return { base, effective: base, narrowedByRole: false };
362
+ const effective = narrowMergeClassRule(base, roleRule);
363
+ return { base, effective, narrowedByRole: effective !== base };
364
+ }
306
365
  //# sourceMappingURL=change-class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-class.js","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-class.js","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { LlmCallMetricSummary, LlmCallRollupTotals } from '../ports/llm-metrics.js';
1
+ import type { LlmCallMetricSummary, LlmCallRollupTotals, LlmRollupCell } from '../ports/llm-metrics.js';
2
2
  /** A rollup of one agent kind's calls, folded across that kind's phases. */
3
3
  export interface LlmKindRollup extends LlmCallRollupTotals {
4
4
  agentKind: string;
@@ -7,21 +7,68 @@ export interface LlmKindRollup extends LlmCallRollupTotals {
7
7
  export interface LlmPhaseRollup extends LlmCallRollupTotals {
8
8
  phase: string;
9
9
  }
10
+ /**
11
+ * Per-1M rates for one model's four token classes — the shape a price table resolves to,
12
+ * restated here so the pricing fold stays in the domain without kernel depending on the spend
13
+ * package (which depends on kernel).
14
+ */
15
+ export interface LlmTokenRates {
16
+ inputPerMillion: number;
17
+ cacheReadPerMillion: number;
18
+ cacheWritePerMillion: number;
19
+ outputPerMillion: number;
20
+ }
21
+ /**
22
+ * Resolve a cell's rates, or null where this deployment cannot price that model — which is
23
+ * NOT the same as pricing it at zero (see {@link LlmCallRollupTotals.costEstimate}).
24
+ */
25
+ export type LlmRateResolver = (provider: string, model: string) => LlmTokenRates | null;
26
+ /** The four token counts a cost is a function of, however they were aggregated. */
27
+ export interface LlmTokenClassCounts {
28
+ /** FRESH (uncached) input tokens, exclusive of both cache classes. */
29
+ promptTokens: number;
30
+ cacheReadTokens: number;
31
+ cacheWriteTokens: number;
32
+ completionTokens: number;
33
+ }
34
+ /**
35
+ * Cost of a set of token counts at one model's rates, each class at its own tier.
36
+ *
37
+ * The ONE place this arithmetic lives. Every producer of money in the codebase routes through
38
+ * it — the ledger's per-call estimate, the rollup fold, the export's per-call sum — because
39
+ * three copies of a four-term sum are three chances for a class to be priced at the wrong
40
+ * tier, and a wrong cost looks exactly like a right one.
41
+ */
42
+ export declare function costOfTokenClasses(rates: LlmTokenRates, tokens: LlmTokenClassCounts): number;
43
+ /**
44
+ * Price each cell of the store's finest grain and collapse the MODEL dimension, returning the
45
+ * {@link LlmRollupCell}s every consumer reads — now carrying `costEstimate`.
46
+ *
47
+ * This is the one place the model is used, and the reason it is in the grain at all: cost is a
48
+ * function of `(model, token classes)`, so it has to be computed while the model is still
49
+ * attached and can only be summed afterwards. Every coarser view is then the same pure fold it
50
+ * always was, and the costs it adds up agree with the breakdown beside it by construction.
51
+ *
52
+ * `rates` is OPTIONAL because collapsing is not conditional on pricing: a deployment with no
53
+ * price table still owes its consumers the same `(agentKind, phase)` shape, with every cost
54
+ * null. Omitting it is that case stated in code, rather than a resolver that answers nothing.
55
+ */
56
+ export declare function priceRollupCells(cells: readonly LlmCallMetricSummary[], rates?: LlmRateResolver): LlmRollupCell[];
10
57
  /** Fold every cell into one set of run-wide totals. */
11
- export declare function foldRollupTotals(cells: readonly LlmCallMetricSummary[]): LlmCallRollupTotals;
58
+ export declare function foldRollupTotals(cells: readonly LlmRollupCell[]): LlmCallRollupTotals;
12
59
  /**
13
60
  * Fold the cells into one rollup per agent kind — the grain a pipeline step's `metrics`
14
61
  * carries, since the proxy keys a conversation by `(execution, agentKind)` and not by step
15
62
  * index. Insertion-ordered on first appearance, so a caller that wants a stable order sorts.
16
63
  */
17
- export declare function foldRollupsByAgentKind(cells: readonly LlmCallMetricSummary[]): LlmKindRollup[];
64
+ export declare function foldRollupsByAgentKind(cells: readonly LlmRollupCell[]): LlmKindRollup[];
18
65
  /**
19
66
  * Fold the cells into one rollup per phase — the burn breakdown. The `''` phase is a cell like
20
67
  * any other and is NEVER filtered out: a run whose calls are all unattributed was metered by a
21
68
  * channel with no phase concept, not one that spent nothing, and hiding the cell makes the two
22
69
  * indistinguishable while the table still looks complete.
23
70
  */
24
- export declare function foldRollupsByPhase(cells: readonly LlmCallMetricSummary[]): LlmPhaseRollup[];
71
+ export declare function foldRollupsByPhase(cells: readonly LlmRollupCell[]): LlmPhaseRollup[];
25
72
  /**
26
73
  * Total input tokens a rollup covers: the three classes are orthogonal at the source, so the
27
74
  * volume figure is simply their sum (the like-for-like of Claude Code's own context gauge,
@@ -1 +1 @@
1
- {"version":3,"file":"llm-rollup.d.ts","sourceRoot":"","sources":["../../src/domain/llm-rollup.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAExF,4EAA4E;AAC5E,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,KAAK,EAAE,MAAM,CAAA;CACd;AAgDD,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,mBAAmB,CAE5F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,aAAa,EAAE,CAU9F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,GAAG,cAAc,EAAE,CAO3F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAErE"}
1
+ {"version":3,"file":"llm-rollup.d.ts","sourceRoot":"","sources":["../../src/domain/llm-rollup.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACd,MAAM,yBAAyB,CAAA;AAEhC,4EAA4E;AAC5E,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,KAAK,EAAE,MAAM,CAAA;CACd;AAiED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAA;AAEvF,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAO5F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,oBAAoB,EAAE,EACtC,KAAK,CAAC,EAAE,eAAe,GACtB,aAAa,EAAE,CAsBjB;AAOD,uDAAuD;AACvD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,mBAAmB,CAErF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAUvF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,cAAc,EAAE,CAOpF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAErE"}
@@ -1,10 +1,14 @@
1
1
  // Pure folds over the LLM-call rollup the telemetry stores compute.
2
2
  //
3
- // The store aggregates ONE grain — `(agentKind, phase)` — and every coarser view a consumer
4
- // wants (a step's per-kind rollup, a run's per-phase burn breakdown, the run totals) is a fold
5
- // over that same result set. Keeping the folds here rather than in each consumer is what makes
6
- // the numbers agree: a per-phase table whose rows didn't sum to the totals printed above it
7
- // would be worse than no table at all.
3
+ // The store aggregates ONE grain — `(agentKind, phase, provider, model)` — and every coarser
4
+ // view a consumer wants (a step's per-kind rollup, a run's per-phase burn breakdown, the run
5
+ // totals) is a fold over that same result set. Keeping the folds here rather than in each
6
+ // consumer is what makes the numbers agree: a per-phase table whose rows didn't sum to the
7
+ // totals printed above it would be worse than no table at all.
8
+ //
9
+ // The model is in the grain only so `priceRollupCells` can cost a cell before folding it away;
10
+ // what every consumer then reads is the `(agentKind, phase)` view it always read, typed as
11
+ // `LlmRollupCell` so a collapsed cell cannot be asked which model it was.
8
12
  //
9
13
  // These are folds over a handful of cells (kinds x phases in one run), NOT over the rows they
10
14
  // were computed from — the aggregation itself stays in SQL, per the repo's "push counts and
@@ -23,6 +27,9 @@ const EMPTY = {
23
27
  errors: 0,
24
28
  warnings: 0,
25
29
  carryCostTokens: 0,
30
+ // The IDENTITY of the cost fold, not "unpriced": folding an unpriced cell in must be able to
31
+ // turn a running total null, and starting at null would make every fold null instead.
32
+ costEstimate: 0,
26
33
  };
27
34
  /**
28
35
  * Combine two rollup cells. Counts and sums add; `peakCompletionTokens` and `maxOutputTokens`
@@ -45,6 +52,7 @@ function merge(a, b) {
45
52
  errors: a.errors + b.errors,
46
53
  warnings: a.warnings + b.warnings,
47
54
  carryCostTokens: a.carryCostTokens + b.carryCostTokens,
55
+ costEstimate: addCost(a.costEstimate, b.costEstimate),
48
56
  };
49
57
  }
50
58
  function maxNullable(a, b) {
@@ -54,6 +62,70 @@ function maxNullable(a, b) {
54
62
  return a;
55
63
  return Math.max(a, b);
56
64
  }
65
+ /**
66
+ * Sum two costs, where NULL (unpriced) CONTAMINATES rather than being skipped as a zero.
67
+ *
68
+ * The opposite of {@link maxNullable}, and deliberately so: an unknown ceiling losing to a
69
+ * known one still describes a real ceiling somebody requested, whereas a total that quietly
70
+ * dropped the one cell it could not price is a smaller number presented as complete. A reader
71
+ * cannot tell that from a genuinely cheaper run, so the fold declines to answer instead.
72
+ */
73
+ function addCost(a, b) {
74
+ if (a == null || b == null)
75
+ return null;
76
+ return a + b;
77
+ }
78
+ /**
79
+ * Cost of a set of token counts at one model's rates, each class at its own tier.
80
+ *
81
+ * The ONE place this arithmetic lives. Every producer of money in the codebase routes through
82
+ * it — the ledger's per-call estimate, the rollup fold, the export's per-call sum — because
83
+ * three copies of a four-term sum are three chances for a class to be priced at the wrong
84
+ * tier, and a wrong cost looks exactly like a right one.
85
+ */
86
+ export function costOfTokenClasses(rates, tokens) {
87
+ return ((tokens.promptTokens / 1_000_000) * rates.inputPerMillion +
88
+ (tokens.cacheReadTokens / 1_000_000) * rates.cacheReadPerMillion +
89
+ (tokens.cacheWriteTokens / 1_000_000) * rates.cacheWritePerMillion +
90
+ (tokens.completionTokens / 1_000_000) * rates.outputPerMillion);
91
+ }
92
+ /**
93
+ * Price each cell of the store's finest grain and collapse the MODEL dimension, returning the
94
+ * {@link LlmRollupCell}s every consumer reads — now carrying `costEstimate`.
95
+ *
96
+ * This is the one place the model is used, and the reason it is in the grain at all: cost is a
97
+ * function of `(model, token classes)`, so it has to be computed while the model is still
98
+ * attached and can only be summed afterwards. Every coarser view is then the same pure fold it
99
+ * always was, and the costs it adds up agree with the breakdown beside it by construction.
100
+ *
101
+ * `rates` is OPTIONAL because collapsing is not conditional on pricing: a deployment with no
102
+ * price table still owes its consumers the same `(agentKind, phase)` shape, with every cost
103
+ * null. Omitting it is that case stated in code, rather than a resolver that answers nothing.
104
+ */
105
+ export function priceRollupCells(cells, rates) {
106
+ const byCell = new Map();
107
+ for (const cell of cells) {
108
+ // `merge(EMPTY, cell)` projects the TOTALS half at the fold's identity, which is what drops
109
+ // `provider`/`model` — no hand-copied field list a new column could quietly fall out of.
110
+ const priced = {
111
+ agentKind: cell.agentKind,
112
+ phase: cell.phase,
113
+ ...merge(EMPTY, cell),
114
+ costEstimate: costOfCell(cell, rates),
115
+ };
116
+ // NUL as the separator, written as an ESCAPE. A raw control byte in the source makes git
117
+ // classify this file as BINARY, which hides every future change to it from code review.
118
+ // It cannot occur in an agent kind or a phase, so two distinct cells can never collide.
119
+ const key = `${cell.agentKind}\u0000${cell.phase}`;
120
+ const prev = byCell.get(key);
121
+ byCell.set(key, prev ? { agentKind: prev.agentKind, phase: prev.phase, ...merge(prev, priced) } : priced);
122
+ }
123
+ return [...byCell.values()];
124
+ }
125
+ function costOfCell(cell, rates) {
126
+ const resolved = rates?.(cell.provider, cell.model);
127
+ return resolved ? costOfTokenClasses(resolved, cell) : null;
128
+ }
57
129
  /** Fold every cell into one set of run-wide totals. */
58
130
  export function foldRollupTotals(cells) {
59
131
  return cells.reduce((acc, cell) => merge(acc, cell), EMPTY);
@@ -1 +1 @@
1
- {"version":3,"file":"llm-rollup.js","sourceRoot":"","sources":["../../src/domain/llm-rollup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-rollup.js","sourceRoot":"","sources":["../../src/domain/llm-rollup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAA;AAO7D,wBAAgB,UAAU,IAAI,KAAK,EAAE,CAgHpC;AA+sBD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAkBrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAW/E;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AAEnD,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,uBAAuB,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAO3C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sBAAsB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAE7C,2GAA2G;AAC3G,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,MAAM,GAAG,SAAS,CAOpB;AAED,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AACnD,kHAAkH;AAClH,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AACrD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAQ7C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,YAAY,CAAA"}
1
+ {"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAA;AAO7D,wBAAgB,UAAU,IAAI,KAAK,EAAE,CAgHpC;AAytBD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAkBrE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAW/E;AAED,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AAEnD,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,uBAAuB,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAC3D,eAAO,MAAM,yBAAyB,qBAAqB,CAAA;AAE3D;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,gBAAgB,CAAA;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAO3C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sBAAsB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAE7C,2GAA2G;AAC3G,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,MAAM,GAAG,SAAS,CAOpB;AAED,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AACnD,kHAAkH;AAClH,eAAO,MAAM,sBAAsB,kBAAkB,CAAA;AACrD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAQ7C;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAa,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,YAAY,CAAA"}
@@ -289,19 +289,29 @@ function buildDeliveryPipelines() {
289
289
  // A bug-fix preset, front-loaded with the investigate → triage pair: `bug-investigator` reads
290
290
  // the codebase from the raw report (read-only) and emits an enriched report; `clarity-review`
291
291
  // triages it for fixability (the ONLY human gate — the iterative answer → incorporate → re-review
292
- // loop); `spec-writer` folds the clarified brief into the spec; architect → coder → reviewer is
293
- // the core; conflicts → ci → merger is the standard tail.
292
+ // loop); `spec-writer` folds the clarified brief into the spec; architect → `repro-test` → coder
293
+ // → reviewer is the core; conflicts → ci → merger is the standard tail.
294
+ //
295
+ // `repro-test` sits between the design and the fix, exactly where `pl_bug_triage` puts it: it
296
+ // writes a FAILING test onto the shared work branch that the coder then resumes. It belongs in
297
+ // a bugfix preset on its own merits (produce a red test before the fix), and it is also the
298
+ // declaration seam the reproduction proof reads — without it the coder's PR carries no evidence
299
+ // that the defect ever manifested, which is the one claim a bugfix PR is really making. The
300
+ // step never blocks: an agent that cannot reproduce the bug concedes structurally, and the
301
+ // concede is published on the PR with its reason rather than looking like nobody tried.
294
302
  definePipeline({
295
303
  id: 'pl_bugfix',
296
304
  name: 'Triage & fix bug',
297
305
  purpose: 'build',
298
- version: 3,
299
- description: 'Investigate a bug report against the codebase, triage it for fixability with you, then fix, review, and ship the PR.',
306
+ // Bumped for the reseed offer that adopts the `repro-test` step into existing workspaces.
307
+ version: 4,
308
+ description: 'Investigate a bug report against the codebase, triage it for fixability with you, write a failing reproduction test, then fix, review, and ship the PR.',
300
309
  steps: [
301
310
  'bug-investigator',
302
311
  { kind: 'clarity-review', gate: true },
303
312
  'spec-writer',
304
313
  'architect',
314
+ 'repro-test',
305
315
  'coder',
306
316
  'reviewer',
307
317
  'conflicts',
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/domain/seed.ts"],"names":[],"mappings":"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"}