@cat-factory/kernel 0.159.1 → 0.161.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 (39) hide show
  1. package/dist/domain/catalog.d.ts +10 -1
  2. package/dist/domain/catalog.d.ts.map +1 -1
  3. package/dist/domain/catalog.js +13 -2
  4. package/dist/domain/catalog.js.map +1 -1
  5. package/dist/domain/change-class.d.ts +60 -0
  6. package/dist/domain/change-class.d.ts.map +1 -0
  7. package/dist/domain/change-class.js +306 -0
  8. package/dist/domain/change-class.js.map +1 -0
  9. package/dist/domain/types.d.ts +1 -1
  10. package/dist/domain/types.d.ts.map +1 -1
  11. package/dist/domain/workspace-cascade.d.ts +1 -1
  12. package/dist/domain/workspace-cascade.d.ts.map +1 -1
  13. package/dist/domain/workspace-cascade.js +2 -0
  14. package/dist/domain/workspace-cascade.js.map +1 -1
  15. package/dist/index.d.ts +10 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +10 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/ports/index.d.ts +4 -1
  20. package/dist/ports/index.d.ts.map +1 -1
  21. package/dist/ports/index.js +1 -0
  22. package/dist/ports/index.js.map +1 -1
  23. package/dist/ports/issue-writeback.d.ts +55 -0
  24. package/dist/ports/issue-writeback.d.ts.map +1 -1
  25. package/dist/ports/merge-track-record-repositories.d.ts +45 -0
  26. package/dist/ports/merge-track-record-repositories.d.ts.map +1 -0
  27. package/dist/ports/merge-track-record-repositories.js +2 -0
  28. package/dist/ports/merge-track-record-repositories.js.map +1 -0
  29. package/dist/ports/repo-files.d.ts +10 -0
  30. package/dist/ports/repo-files.d.ts.map +1 -1
  31. package/dist/ports/review-question-post-repositories.d.ts +71 -0
  32. package/dist/ports/review-question-post-repositories.d.ts.map +1 -0
  33. package/dist/ports/review-question-post-repositories.js +33 -0
  34. package/dist/ports/review-question-post-repositories.js.map +1 -0
  35. package/dist/shared/host-markdown.logic.d.ts +51 -0
  36. package/dist/shared/host-markdown.logic.d.ts.map +1 -0
  37. package/dist/shared/host-markdown.logic.js +202 -0
  38. package/dist/shared/host-markdown.logic.js.map +1 -0
  39. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import type { BlockType, ModelPreset, RequirementConcernLevel, StepGating, WorkspaceSettings } from './types.js';
1
+ import type { BlockType, MergeClassRules, ModelPreset, RequirementConcernLevel, StepGating, 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
@@ -34,6 +34,13 @@ export declare const DEFAULT_RISK_POLICY: {
34
34
  onMissingEstimate: "run" | "skip";
35
35
  };
36
36
  };
37
+ /**
38
+ * The built-in presets ship with NO per-class rules: every class falls back to the score
39
+ * ceilings, so the default policy is byte-for-byte the historical behaviour. Widening a class
40
+ * to `always` is an operator decision the workspace makes once its per-class track record
41
+ * justifies it — never something a seed decides on their behalf.
42
+ */
43
+ export declare const DEFAULT_MERGE_CLASS_RULES: MergeClassRules;
37
44
  /**
38
45
  * A built-in merge-preset template (no `createdAt` yet, but with a STABLE id so a
39
46
  * workspace's persisted copy can be matched against the catalog and reseeded). The
@@ -59,6 +66,8 @@ export interface RiskPolicySeed {
59
66
  autoMergeEnabled: boolean;
60
67
  /** Estimate gating for the implementation-fork decision phase; disabled on the built-ins. */
61
68
  forkDecision: StepGating | null;
69
+ /** Per-change-class auto-merge rules; empty on the built-ins (see DEFAULT_MERGE_CLASS_RULES). */
70
+ classRules: MergeClassRules;
62
71
  /** The workspace's fallback preset, used by tasks that pick none. Exactly one is true. */
63
72
  isDefault: boolean;
64
73
  /**
@@ -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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"}
@@ -70,6 +70,13 @@ export const DEFAULT_RISK_POLICY = {
70
70
  // Implementation-fork decision gate: disabled by default (see DEFAULT_FORK_DECISION_GATING).
71
71
  forkDecision: DEFAULT_FORK_DECISION_GATING,
72
72
  };
73
+ /**
74
+ * The built-in presets ship with NO per-class rules: every class falls back to the score
75
+ * ceilings, so the default policy is byte-for-byte the historical behaviour. Widening a class
76
+ * to `always` is an operator decision the workspace makes once its per-class track record
77
+ * justifies it — never something a seed decides on their behalf.
78
+ */
79
+ export const DEFAULT_MERGE_CLASS_RULES = {};
73
80
  /**
74
81
  * The built-in merge threshold presets seeded for every workspace. `Balanced` is the
75
82
  * default auto-merge policy; `Manual review only` disables auto-merge entirely
@@ -95,8 +102,9 @@ export const RISK_POLICY_SEEDS = [
95
102
  humanReviewGraceMinutes: DEFAULT_RISK_POLICY.humanReviewGraceMinutes,
96
103
  autoMergeEnabled: DEFAULT_RISK_POLICY.autoMergeEnabled,
97
104
  forkDecision: { ...DEFAULT_FORK_DECISION_GATING },
105
+ classRules: { ...DEFAULT_MERGE_CLASS_RULES },
98
106
  isDefault: true,
99
- version: 3,
107
+ version: 4,
100
108
  },
101
109
  {
102
110
  id: 'mp_manual_review',
@@ -115,8 +123,11 @@ export const RISK_POLICY_SEEDS = [
115
123
  // The whole point of this preset: never auto-merge — always raise a human review.
116
124
  autoMergeEnabled: false,
117
125
  forkDecision: { ...DEFAULT_FORK_DECISION_GATING },
126
+ // No per-class rules: a class rule can never override `autoMergeEnabled: false`, and
127
+ // shipping one here would only mislead an operator reading the preset.
128
+ classRules: { ...DEFAULT_MERGE_CLASS_RULES },
118
129
  isDefault: false,
119
- version: 3,
130
+ version: 4,
120
131
  },
121
132
  ];
122
133
  /** 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":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { ChangeClass, MergeClassRule, MergeClassRules } from '@cat-factory/contracts';
2
+ /**
3
+ * Risk rank per class — HIGHER means riskier, and a mixed diff resolves to the highest rank
4
+ * present. That precedence is what makes a per-class rule safe by construction: "always
5
+ * auto-merge `dependency`" can only fire on a diff that contains nothing riskier than a
6
+ * dependency change, because a single touched source file lifts the whole diff to `source`.
7
+ *
8
+ * `schema` outranks `source` because a migration is effectively irreversible once applied.
9
+ * `unknown` sits below everything at -1 and is never produced by a file match — it means the
10
+ * changed-file list itself was unavailable.
11
+ */
12
+ export declare const CHANGE_CLASS_RANK: Record<ChangeClass, number>;
13
+ /**
14
+ * Classify ONE changed path. Order matters and encodes intent, most specific first:
15
+ *
16
+ * 1. `schema` — a migration/schema definition, however it is otherwise named. A `.sql` file or
17
+ * a file under a migrations directory is a schema change even if it also looks like config.
18
+ * 2. `test` — a test/spec/fixture. Checked before `docs`/`source` so a `.md` snapshot fixture or
19
+ * a `*.test.ts` reads as a test, not as docs or code.
20
+ * 3. `dependency` — a manifest/lockfile basename.
21
+ * 4. `docs` — Markdown/text/doc directories, plus i18n message catalogs (user-facing COPY: a
22
+ * locale file is prose, not code, which is exactly the "docs/copy" bucket a policy wants).
23
+ * 5. `config` — CI/tooling/container/IaC.
24
+ * 6. `source` — everything else.
25
+ *
26
+ * Steps 4 and 5 match partly by DIRECTORY, so both are floored by {@link isSourceExtension}: a
27
+ * `.ts`/`.py`/`.sh` file under `docs/` or `deploy/` is code that happens to live there, and
28
+ * classifying it as prose or config would let a per-class `always` rule auto-merge executable
29
+ * code. Steps 1–3 are deliberately NOT floored — a migration and a test are what they are
30
+ * regardless of extension.
31
+ *
32
+ * Never returns `unknown`: that is reserved for "there was no changed-file list at all".
33
+ */
34
+ export declare function classifyChangedPath(path: string): Exclude<ChangeClass, 'unknown'>;
35
+ /** The verdict of classifying a whole pull request. */
36
+ export interface ChangeClassification {
37
+ /** The dominant (highest-ranked) class present, or `unknown` for an empty/absent file list. */
38
+ changeClass: ChangeClass;
39
+ /** How many files were classified (0 when the list was empty/absent). */
40
+ fileCount: number;
41
+ }
42
+ /**
43
+ * Classify a pull request from the paths it changed, taking the HIGHEST-RANKED class present
44
+ * (see {@link CHANGE_CLASS_RANK}). Deterministic and order-independent: the same set of paths
45
+ * always yields the same class, regardless of the order the VCS returned them in.
46
+ *
47
+ * An empty list yields `unknown` (with `fileCount: 0`) rather than guessing — and `unknown`
48
+ * never matches a per-class rule, so a diff we could not read can never widen the merge policy.
49
+ */
50
+ export declare function classifyChangedFiles(paths: readonly string[]): ChangeClassification;
51
+ /**
52
+ * The rule a preset applies to a given change class: the explicit entry when there is one, else
53
+ * `thresholds` (so an empty/absent rule map behaves exactly as it did before per-class rules).
54
+ *
55
+ * `unknown` ALWAYS resolves to `thresholds` — no rule may match it. This is the invariant that
56
+ * keeps a classification failure inert: a transient VCS outage falls back to the score
57
+ * comparison instead of silently adopting a widened (or tightened) policy.
58
+ */
59
+ export declare function resolveMergeClassRule(rules: MergeClassRules | null | undefined, changeClass: ChangeClass): MergeClassRule;
60
+ //# sourceMappingURL=change-class.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,306 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Pure, DETERMINISTIC change classification: given the paths a pull request
3
+ // changed, decide WHAT KIND of change it is. Lives in kernel (pure logic, no
4
+ // ports) so both the engine's merge policy and the track-record service read the
5
+ // same rules, and so a gate/preset package never has to depend on orchestration.
6
+ //
7
+ // Deliberately path-based, not agent-derived: this feeds a POLICY gate (a preset's
8
+ // per-class rule can auto-merge without consulting the merger's scores at all), so
9
+ // it must be reproducible from the diff alone, need no container/harness change,
10
+ // and be identical for a GitHub or a GitLab deployment.
11
+ //
12
+ // Full design + the rationale for the precedence rule:
13
+ // `docs/initiatives/merge-track-record.md`.
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Risk rank per class — HIGHER means riskier, and a mixed diff resolves to the highest rank
17
+ * present. That precedence is what makes a per-class rule safe by construction: "always
18
+ * auto-merge `dependency`" can only fire on a diff that contains nothing riskier than a
19
+ * dependency change, because a single touched source file lifts the whole diff to `source`.
20
+ *
21
+ * `schema` outranks `source` because a migration is effectively irreversible once applied.
22
+ * `unknown` sits below everything at -1 and is never produced by a file match — it means the
23
+ * changed-file list itself was unavailable.
24
+ */
25
+ export const CHANGE_CLASS_RANK = {
26
+ unknown: -1,
27
+ docs: 0,
28
+ test: 1,
29
+ dependency: 2,
30
+ config: 3,
31
+ source: 4,
32
+ schema: 5,
33
+ };
34
+ /** Case-insensitive basename of a repo-relative path. */
35
+ function basenameOf(path) {
36
+ const normalized = path.replaceAll('\\', '/');
37
+ const lastSlash = normalized.lastIndexOf('/');
38
+ return (lastSlash === -1 ? normalized : normalized.slice(lastSlash + 1)).toLowerCase();
39
+ }
40
+ /** Whether any path segment (directory OR file) equals one of `names`. */
41
+ function hasSegment(lowerPath, names) {
42
+ const segments = lowerPath.split('/');
43
+ return names.some((name) => segments.includes(name));
44
+ }
45
+ /** Dependency manifests + lockfiles across the ecosystems we plausibly meet. */
46
+ const DEPENDENCY_BASENAMES = [
47
+ 'package.json',
48
+ 'package-lock.json',
49
+ 'pnpm-lock.yaml',
50
+ 'yarn.lock',
51
+ 'bun.lock',
52
+ 'bun.lockb',
53
+ 'npm-shrinkwrap.json',
54
+ 'cargo.toml',
55
+ 'cargo.lock',
56
+ 'go.mod',
57
+ 'go.sum',
58
+ 'requirements.txt',
59
+ 'requirements-dev.txt',
60
+ 'poetry.lock',
61
+ 'pyproject.toml',
62
+ 'pipfile',
63
+ 'pipfile.lock',
64
+ 'uv.lock',
65
+ 'gemfile',
66
+ 'gemfile.lock',
67
+ 'composer.json',
68
+ 'composer.lock',
69
+ 'pom.xml',
70
+ 'build.gradle',
71
+ 'build.gradle.kts',
72
+ 'gradle.lockfile',
73
+ 'mix.lock',
74
+ ];
75
+ /** Documentation + user-facing copy extensions. */
76
+ const DOC_EXTENSIONS = ['.md', '.mdx', '.markdown', '.rst', '.txt', '.adoc'];
77
+ /** Doc basenames with no (or an unhelpful) extension. */
78
+ const DOC_BASENAMES = [
79
+ 'readme',
80
+ 'license',
81
+ 'licence',
82
+ 'changelog',
83
+ 'contributing',
84
+ 'authors',
85
+ 'notice',
86
+ 'codeowners',
87
+ ];
88
+ /** Config/tooling basenames — CI, linters, formatters, type/build config, containers. */
89
+ const CONFIG_BASENAMES = [
90
+ 'dockerfile',
91
+ 'containerfile',
92
+ 'docker-compose.yml',
93
+ 'docker-compose.yaml',
94
+ 'compose.yml',
95
+ 'compose.yaml',
96
+ '.dockerignore',
97
+ '.gitignore',
98
+ '.gitattributes',
99
+ '.editorconfig',
100
+ '.npmrc',
101
+ '.nvmrc',
102
+ '.node-version',
103
+ 'makefile',
104
+ 'justfile',
105
+ 'procfile',
106
+ 'turbo.json',
107
+ 'knip.jsonc',
108
+ 'renovate.json',
109
+ 'wrangler.toml',
110
+ 'wrangler.jsonc',
111
+ 'pnpm-workspace.yaml',
112
+ 'lefthook.yml',
113
+ ];
114
+ /** Config directories — anything under one of these is tooling/deployment config. */
115
+ const CONFIG_SEGMENTS = [
116
+ '.github',
117
+ '.gitlab',
118
+ '.circleci',
119
+ '.husky',
120
+ '.vscode',
121
+ '.idea',
122
+ '.changeset',
123
+ 'k8s',
124
+ 'kubernetes',
125
+ 'helm',
126
+ 'terraform',
127
+ 'deploy',
128
+ 'charts',
129
+ ];
130
+ /** Test directories. */
131
+ const TEST_SEGMENTS = [
132
+ 'test',
133
+ 'tests',
134
+ '__tests__',
135
+ '__mocks__',
136
+ '__snapshots__',
137
+ 'e2e',
138
+ 'fixtures',
139
+ 'testdata',
140
+ ];
141
+ /** Directories whose contents are database schema/migration definitions. */
142
+ const SCHEMA_SEGMENTS = ['migrations', 'migration', 'drizzle', 'alembic'];
143
+ /** Documentation directories. */
144
+ const DOC_SEGMENTS = ['docs', 'doc', 'documentation'];
145
+ /**
146
+ * Extensions that are EXECUTABLE PROGRAM SOURCE wherever they live.
147
+ *
148
+ * This is a safety floor for the directory-segment heuristics below, and it is the reason the
149
+ * per-class rules can be trusted. `docs/`, `deploy/`, `k8s/`, `terraform/` and `.github/` are
150
+ * matched by whole path SEGMENT, which is right for the prose and manifests that dominate them
151
+ * — but a repo that keeps a build script at `docs/scripts/build.ts`, or (like this one) service
152
+ * entry points under `deploy/node/src/main.ts`, would otherwise have real code classified `docs`
153
+ * or `config`. A workspace that set `docs: always` on the reasonable belief that docs are prose
154
+ * would then auto-merge executable code with the scores never consulted.
155
+ *
156
+ * So a source extension wins over a directory-segment match. It does NOT win over the checks
157
+ * that come first — a migration is still `schema` and a `*.test.ts` is still `test`, however it
158
+ * is filed — because those are classifications of what the code IS, not of the folder it is in.
159
+ */
160
+ const SOURCE_EXTENSIONS = [
161
+ '.ts',
162
+ '.tsx',
163
+ '.mts',
164
+ '.cts',
165
+ '.js',
166
+ '.jsx',
167
+ '.mjs',
168
+ '.cjs',
169
+ '.vue',
170
+ '.svelte',
171
+ '.py',
172
+ '.rb',
173
+ '.go',
174
+ '.rs',
175
+ '.java',
176
+ '.kt',
177
+ '.kts',
178
+ '.scala',
179
+ '.cs',
180
+ '.c',
181
+ '.h',
182
+ '.cc',
183
+ '.cpp',
184
+ '.hpp',
185
+ '.m',
186
+ '.mm',
187
+ '.swift',
188
+ '.php',
189
+ '.ex',
190
+ '.exs',
191
+ '.erl',
192
+ '.sh',
193
+ '.bash',
194
+ '.zsh',
195
+ '.ps1',
196
+ ];
197
+ /** Whether a path names executable program source by extension (see {@link SOURCE_EXTENSIONS}). */
198
+ function isSourceExtension(lowerPath) {
199
+ return SOURCE_EXTENSIONS.some((ext) => lowerPath.endsWith(ext));
200
+ }
201
+ /**
202
+ * Classify ONE changed path. Order matters and encodes intent, most specific first:
203
+ *
204
+ * 1. `schema` — a migration/schema definition, however it is otherwise named. A `.sql` file or
205
+ * a file under a migrations directory is a schema change even if it also looks like config.
206
+ * 2. `test` — a test/spec/fixture. Checked before `docs`/`source` so a `.md` snapshot fixture or
207
+ * a `*.test.ts` reads as a test, not as docs or code.
208
+ * 3. `dependency` — a manifest/lockfile basename.
209
+ * 4. `docs` — Markdown/text/doc directories, plus i18n message catalogs (user-facing COPY: a
210
+ * locale file is prose, not code, which is exactly the "docs/copy" bucket a policy wants).
211
+ * 5. `config` — CI/tooling/container/IaC.
212
+ * 6. `source` — everything else.
213
+ *
214
+ * Steps 4 and 5 match partly by DIRECTORY, so both are floored by {@link isSourceExtension}: a
215
+ * `.ts`/`.py`/`.sh` file under `docs/` or `deploy/` is code that happens to live there, and
216
+ * classifying it as prose or config would let a per-class `always` rule auto-merge executable
217
+ * code. Steps 1–3 are deliberately NOT floored — a migration and a test are what they are
218
+ * regardless of extension.
219
+ *
220
+ * Never returns `unknown`: that is reserved for "there was no changed-file list at all".
221
+ */
222
+ export function classifyChangedPath(path) {
223
+ const lower = path.replaceAll('\\', '/').toLowerCase();
224
+ const base = basenameOf(path);
225
+ // 1. Schema / migrations.
226
+ if (lower.endsWith('.sql') || hasSegment(lower, SCHEMA_SEGMENTS))
227
+ return 'schema';
228
+ // A drizzle-style snapshot travels beside its migration.sql inside the migrations dir, which
229
+ // the segment check already caught; a top-level `schema.ts` under a `db/` dir is the other
230
+ // canonical schema-definition site.
231
+ if (/(^|\/)db\/schema(\.[a-z]+)?\.[cm]?ts$/.test(lower))
232
+ return 'schema';
233
+ // 2. Tests / fixtures.
234
+ if (/\.(test|spec)(-d)?\.[cm]?[jt]sx?$/.test(lower))
235
+ return 'test';
236
+ if (/_test\.(go|py|rb)$/.test(lower) || /(^|\/)test_[^/]+\.py$/.test(lower))
237
+ return 'test';
238
+ if (hasSegment(lower, TEST_SEGMENTS))
239
+ return 'test';
240
+ // 3. Dependency manifests + lockfiles.
241
+ if (DEPENDENCY_BASENAMES.includes(base))
242
+ return 'dependency';
243
+ // Executable source outranks the directory-segment heuristics in steps 4 and 5 (see
244
+ // `SOURCE_EXTENSIONS`): code filed under `docs/` or `deploy/` is still code.
245
+ const isSource = isSourceExtension(lower);
246
+ // 4. Documentation + user-facing copy.
247
+ if (DOC_EXTENSIONS.some((ext) => base.endsWith(ext)))
248
+ return 'docs';
249
+ if (DOC_BASENAMES.includes(base.replace(/\.[^.]+$/, '')))
250
+ return 'docs';
251
+ if (!isSource && hasSegment(lower, DOC_SEGMENTS))
252
+ return 'docs';
253
+ // i18n message catalogs are prose the product SHOWS a user — the "copy" half of docs/copy.
254
+ if (/(^|\/)(i18n|locales|lang|translations)\/.*\.(json|ya?ml)$/.test(lower))
255
+ return 'docs';
256
+ // 5. CI / tooling / container / IaC config.
257
+ if (CONFIG_BASENAMES.includes(base))
258
+ return 'config';
259
+ if (!isSource && hasSegment(lower, CONFIG_SEGMENTS))
260
+ return 'config';
261
+ if (/(^|\/)(tsconfig|jsconfig)[^/]*\.json$/.test(lower))
262
+ return 'config';
263
+ if (/(^|\/)\.?(oxlintrc|eslintrc|prettierrc|babelrc|swcrc)[^/]*$/.test(lower))
264
+ return 'config';
265
+ if (/\.config\.[cm]?[jt]s$/.test(lower))
266
+ return 'config';
267
+ if (/\.(tf|tfvars)$/.test(lower))
268
+ return 'config';
269
+ // 6. Everything else is code.
270
+ return 'source';
271
+ }
272
+ /**
273
+ * Classify a pull request from the paths it changed, taking the HIGHEST-RANKED class present
274
+ * (see {@link CHANGE_CLASS_RANK}). Deterministic and order-independent: the same set of paths
275
+ * always yields the same class, regardless of the order the VCS returned them in.
276
+ *
277
+ * An empty list yields `unknown` (with `fileCount: 0`) rather than guessing — and `unknown`
278
+ * never matches a per-class rule, so a diff we could not read can never widen the merge policy.
279
+ */
280
+ export function classifyChangedFiles(paths) {
281
+ let winner = 'unknown';
282
+ let fileCount = 0;
283
+ for (const path of paths) {
284
+ if (path.trim() === '')
285
+ continue;
286
+ fileCount += 1;
287
+ const cls = classifyChangedPath(path);
288
+ if (CHANGE_CLASS_RANK[cls] > CHANGE_CLASS_RANK[winner])
289
+ winner = cls;
290
+ }
291
+ return { changeClass: winner, fileCount };
292
+ }
293
+ /**
294
+ * The rule a preset applies to a given change class: the explicit entry when there is one, else
295
+ * `thresholds` (so an empty/absent rule map behaves exactly as it did before per-class rules).
296
+ *
297
+ * `unknown` ALWAYS resolves to `thresholds` — no rule may match it. This is the invariant that
298
+ * keeps a classification failure inert: a transient VCS outage falls back to the score
299
+ * comparison instead of silently adopting a widened (or tightened) policy.
300
+ */
301
+ export function resolveMergeClassRule(rules, changeClass) {
302
+ if (changeClass === 'unknown')
303
+ return 'thresholds';
304
+ return rules?.[changeClass] ?? 'thresholds';
305
+ }
306
+ //# sourceMappingURL=change-class.js.map
@@ -0,0 +1 @@
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
- export type { AgentKind, AgentState, AgentFailure, AgentFailureKind, AgentRunKind, ModelFamily, ModelFamilyPolicy, ModelPolicyMode, AccountRegion, ModelFamilyPolicyPreset, Block, BlockLevel, BlockStatus, BlockType, TaskType, CreateTaskType, TaskTypeFields, DocKind, Decision, EnvConfigRepairJob, EnvConfigRepairStatus, EnvironmentTestRun, EnvironmentTestStage, EnvironmentTestStatus, ExecutionInstance, ExecutionStatus, IntakeOrigin, Pipeline, PipelineAvailability, PipelineStep, Position, PriorStepOutput, PromptFragment, PullRequestRef, PeerPullRequest, ReferenceRepo, AprioriBranch, SpendStatus, StepApproval, StepReviewComment, StepSubtasks, WebSearchAvailability, WebSearchProvider, Workspace, WorkspaceSnapshot, FragmentOwnerKind, FragmentTier, CreatePromptFragmentInput, CreateDocumentFragmentInput, UpdatePromptFragmentInput, FragmentSource, LinkFragmentSourceInput, FragmentSyncResult, FragmentSourceStatus, ResolvedFragment, ResolvedFragmentCatalog, Account, AccountType, AccountRole, AccountMember, CreateAccountInput, AddMemberInput, WorkspaceRole, WorkspacePermission, WorkspaceAccessMode, WorkspaceMember, Service, WorkspaceMount, MountServiceInput, UpdateMountInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubConnection, GitHubInstallationOption, GitHubAvailableRepo, GitHubIssue, GitHubIssueState, GitHubPullRequest, GitHubPullRequestState, OpenedPullRequest, GitHubRepo, RepoTreeEntry, SetRepoMonorepoInput, CommitFilesInput, LinkReposInput, OpenPullRequestInput, MergePullRequestInput, ProviderConfigFieldType, ProviderConfigField, ProviderDescriptor, ConnectionTestResult, UserSecretKind, UserSecretStatus, StoreUserSecretInput, TestUserSecretInput, UserSecretDescriptor, DocumentSourceKind, DocumentLinkRole, DocumentSourceDescriptor, CredentialField, DocumentConnection, SourceDocument, DocumentSearchResult, DocumentBoardPlan, PlanFrame, PlanModule, PlanTask, TaskSourceKind, TaskSourceDescriptor, TaskSourceState, TaskSourceDiagnostic, TaskSourceDiagnosticStatus, TaskConnection, TaskComment, TaskDependencyLink, SourceTask, TaskSearchResult, EnvironmentSecretRef, EnvironmentAuthScheme, EnvironmentHttpMethod, EnvironmentRequestTemplate, EnvironmentStatus, EnvironmentAccessScheme, EnvironmentAccessMapping, EnvironmentResponseMapping, EnvironmentManifest, EnvironmentBackendConfig, EnvironmentBackendKind, KubernetesEnvironmentConfig, KubernetesManifestSource, KubernetesUrlSource, KubernetesRenderer, KubernetesImageOverride, KubernetesHelmRelease, KubernetesHelmSet, KubernetesSecretEntry, KubernetesSecretInjection, KubernetesProvisionConfig, ProvisionType, EnvironmentFailureReason, InfraEngine, ManifestId, ServiceProvisioning, StackRecipe, RecipeStep, RecipeStepKind, RecipeHealthGate, RecipeEnvFile, PreflightCheckId, PreflightParams, PreflightRef, PreflightStatus, PreflightResult, FrontendConfig, FrontendBackendBinding, FrontendBackendSource, ResolvedFrontendBinding, LiveEnvHandle, ServiceConnection, KubernetesEngineConfig, InfraHandlerConfig, CustomManifestType, CustomManifestTypeSource, UpsertCustomManifestTypeInput, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentConnection, TestEnvironmentConnectionInput, TestEnvironmentHandlerInput, ValidateEnvironmentRepoInput, BootstrapEnvironmentRepoInput, BootstrapRepoResult, TestSecretRef, TestSecretEntry, ServiceTestSecretsView, UpsertServiceTestSecretsInput, ProvisioningSubsystem, ProvisioningOperation, ProvisioningOutcome, ProvisioningLogEntry, RunnerPoolSecretRef, RunnerPoolAuthScheme, RunnerPoolRequestTemplate, RunnerJobState, RunnerPoolResponseMapping, RunnerPoolManifest, RunnerPoolConnection, TestRunnerPoolConnectionInput, RunnerBackendConfig, RunnerBackendKind, KubernetesRunnerConfig, KubernetesResourceQuantities, ReferenceArchitecture, CreateReferenceArchitectureInput, UpdateReferenceArchitectureInput, BootstrapStatus, BootstrapFailure, BootstrapFailureKind, BootstrapJob, BootstrapRepoInput, BlueprintModule, BlueprintService, BlueprintSource, BoardScanSpawnResult, ReviewItemCategory, ReviewItemSeverity, ReviewItemStatus, RequirementReviewItem, RequirementReviewStatus, RequirementReview, DocInterviewQa, DocInterviewStatus, DocInterviewSession, AnswerDocInterviewInput, KaizenGradingStatus, KaizenGrading, KaizenVerifiedCombo, KaizenOverview, KaizenRunGradings, RecommendationStatus, RequirementRecommendation, ReplyReviewItemInput, UpdateReviewItemStatusInput, IncorporateRequirementsInput, RequestRecommendationItem, RequestRecommendationsInput, ReRequestRecommendationInput, ResolveRequirementsExceededInput, ResolveRequirementsExceededChoice, FollowUpItemKind, FollowUpItemStatus, FollowUpItem, FollowUpsStepState, AnswerFollowUpInput, StreamedFollowUp, ForkOption, ForkChatMessage, ForkDecisionStatus, ForkChoice, ForkDecisionStepState, ForkChatRequestInput, ChooseForkInput, ForkProposal, PrReviewSeverity, PrReviewCategory, PrReviewSlice, PrReviewFinding, PrReviewFindingChallenge, PrReviewStatus, PrReviewResolution, PrReviewStepState, PrReviewPostReport, PrReviewPostFailure, PrReviewAgentOutput, PrReviewChallengeOutput, ResolvePrReviewInput, ChallengePrReviewFindingInput, ClarityReviewItem, ClarityReviewStatus, ClarityReview, ReplyClarityItemInput, UpdateClarityItemStatusInput, IncorporateClarityInput, ResolveClarityExceededInput, ResolveClarityExceededChoice, BrainstormStage, BrainstormItem, BrainstormStatus, BrainstormSession, ReplyBrainstormItemInput, UpdateBrainstormItemStatusInput, IncorporateBrainstormInput, ResolveBrainstormExceededInput, ResolveBrainstormExceededChoice, IterationCapChoice, ResolveIterationCapInput, RequirementPriority, RequirementKind, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, RalphStepState, RalphVerdict, RalphAttempt, ValidationCheck, ValidationCheckOutcome, ValidationReport, ResolvedValidationChecks, ServiceValidationConfig, UpsertServiceValidationConfigInput, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmRound, MergeAssessment, MergeAxis, MergeDecision, MergeDecisionThresholds, PrVerificationReport, PrReportSectionStatus, PrReportStep, PrReportIssue, PrReportRun, PrReportCheck, PrReportCi, PrReportTestOutcome, PrReportTestConcern, PrReportTests, PrReportEnvironment, PrReportEnvironments, PrReportMerge, PrReportObservability, RiskPolicy, RequirementConcernLevel, CreateRiskPolicyInput, UpdateRiskPolicyInput, SharedStack, SharedStackStatus, CreateSharedStackInput, UpdateSharedStackInput, DetectSharedStackInput, SharedStackRecommendation, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, TesterQualityConfig, StepOptions, CloudProvider, InstanceSize, UpdateAccountInput, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, UserSettings, UpdateUserSettingsInput, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, IssueIntakeConfig, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, Initiative, InitiativeStatus, InitiativeItem, InitiativeItemStatus, InitiativePhase, InitiativeEstimate, InitiativePipelineRule, InitiativeExecutionPolicy, InitiativeDecision, InitiativeDeviation, InitiativeFollowUp, InitiativeQa, InitiativeQaStatus, InitiativeInterviewState, InitiativePlanDraft, InitiativeDraftItem, InitiativeVersion, CreateInitiativeInput, AnswerInitiativeQuestionInput, PromoteInitiativeFollowUpInput, UpdateInitiativeItemInput, UpdateInitiativePolicyInput, AccountSettingsConfig, ContentStorageConfig, LinearOAuthSecret, S3CredentialsSecret, SlackOAuthSecret, WebSearchSecret, } from '@cat-factory/contracts';
1
+ export type { AgentKind, AgentState, AgentFailure, AgentFailureKind, AgentRunKind, ModelFamily, ModelFamilyPolicy, ModelPolicyMode, AccountRegion, ModelFamilyPolicyPreset, Block, BlockLevel, BlockStatus, BlockType, TaskType, CreateTaskType, TaskTypeFields, DocKind, Decision, EnvConfigRepairJob, EnvConfigRepairStatus, EnvironmentTestRun, EnvironmentTestStage, EnvironmentTestStatus, ExecutionInstance, ExecutionStatus, IntakeOrigin, Pipeline, PipelineAvailability, PipelineStep, Position, PriorStepOutput, PromptFragment, PullRequestRef, PeerPullRequest, ReferenceRepo, AprioriBranch, SpendStatus, StepApproval, StepReviewComment, StepSubtasks, WebSearchAvailability, WebSearchProvider, Workspace, WorkspaceSnapshot, FragmentOwnerKind, FragmentTier, CreatePromptFragmentInput, CreateDocumentFragmentInput, UpdatePromptFragmentInput, FragmentSource, LinkFragmentSourceInput, FragmentSyncResult, FragmentSourceStatus, ResolvedFragment, ResolvedFragmentCatalog, Account, AccountType, AccountRole, AccountMember, CreateAccountInput, AddMemberInput, WorkspaceRole, WorkspacePermission, WorkspaceAccessMode, WorkspaceMember, Service, WorkspaceMount, MountServiceInput, UpdateMountInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubConnection, GitHubInstallationOption, GitHubAvailableRepo, GitHubIssue, GitHubIssueState, GitHubPullRequest, GitHubPullRequestState, OpenedPullRequest, GitHubRepo, RepoTreeEntry, SetRepoMonorepoInput, CommitFilesInput, LinkReposInput, OpenPullRequestInput, MergePullRequestInput, ProviderConfigFieldType, ProviderConfigField, ProviderDescriptor, ConnectionTestResult, UserSecretKind, UserSecretStatus, StoreUserSecretInput, TestUserSecretInput, UserSecretDescriptor, DocumentSourceKind, DocumentLinkRole, DocumentSourceDescriptor, CredentialField, DocumentConnection, SourceDocument, DocumentSearchResult, DocumentBoardPlan, PlanFrame, PlanModule, PlanTask, TaskSourceKind, TaskSourceDescriptor, TaskSourceState, TaskSourceDiagnostic, TaskSourceDiagnosticStatus, TaskConnection, TaskComment, TaskDependencyLink, SourceTask, TaskSearchResult, EnvironmentSecretRef, EnvironmentAuthScheme, EnvironmentHttpMethod, EnvironmentRequestTemplate, EnvironmentStatus, EnvironmentAccessScheme, EnvironmentAccessMapping, EnvironmentResponseMapping, EnvironmentManifest, EnvironmentBackendConfig, EnvironmentBackendKind, KubernetesEnvironmentConfig, KubernetesManifestSource, KubernetesUrlSource, KubernetesRenderer, KubernetesImageOverride, KubernetesHelmRelease, KubernetesHelmSet, KubernetesSecretEntry, KubernetesSecretInjection, KubernetesProvisionConfig, ProvisionType, EnvironmentFailureReason, InfraEngine, ManifestId, ServiceProvisioning, StackRecipe, RecipeStep, RecipeStepKind, RecipeHealthGate, RecipeEnvFile, PreflightCheckId, PreflightParams, PreflightRef, PreflightStatus, PreflightResult, FrontendConfig, FrontendBackendBinding, FrontendBackendSource, ResolvedFrontendBinding, LiveEnvHandle, ServiceConnection, KubernetesEngineConfig, InfraHandlerConfig, CustomManifestType, CustomManifestTypeSource, UpsertCustomManifestTypeInput, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentConnection, TestEnvironmentConnectionInput, TestEnvironmentHandlerInput, ValidateEnvironmentRepoInput, BootstrapEnvironmentRepoInput, BootstrapRepoResult, TestSecretRef, TestSecretEntry, ServiceTestSecretsView, UpsertServiceTestSecretsInput, ProvisioningSubsystem, ProvisioningOperation, ProvisioningOutcome, ProvisioningLogEntry, RunnerPoolSecretRef, RunnerPoolAuthScheme, RunnerPoolRequestTemplate, RunnerJobState, RunnerPoolResponseMapping, RunnerPoolManifest, RunnerPoolConnection, TestRunnerPoolConnectionInput, RunnerBackendConfig, RunnerBackendKind, KubernetesRunnerConfig, KubernetesResourceQuantities, ReferenceArchitecture, CreateReferenceArchitectureInput, UpdateReferenceArchitectureInput, BootstrapStatus, BootstrapFailure, BootstrapFailureKind, BootstrapJob, BootstrapRepoInput, BlueprintModule, BlueprintService, BlueprintSource, BoardScanSpawnResult, ReviewItemCategory, ReviewItemSeverity, ReviewItemStatus, RequirementReviewItem, RequirementReviewStatus, RequirementReview, DocInterviewQa, DocInterviewStatus, DocInterviewSession, AnswerDocInterviewInput, KaizenGradingStatus, KaizenGrading, KaizenVerifiedCombo, KaizenOverview, KaizenRunGradings, RecommendationStatus, RequirementRecommendation, ReplyReviewItemInput, UpdateReviewItemStatusInput, IncorporateRequirementsInput, RequestRecommendationItem, RequestRecommendationsInput, ReRequestRecommendationInput, ResolveRequirementsExceededInput, ResolveRequirementsExceededChoice, FollowUpItemKind, FollowUpItemStatus, FollowUpItem, FollowUpsStepState, AnswerFollowUpInput, StreamedFollowUp, ForkOption, ForkChatMessage, ForkDecisionStatus, ForkChoice, ForkDecisionStepState, ForkChatRequestInput, ChooseForkInput, ForkProposal, PrReviewSeverity, PrReviewCategory, PrReviewSlice, PrReviewFinding, PrReviewFindingChallenge, PrReviewStatus, PrReviewResolution, PrReviewStepState, PrReviewPostReport, PrReviewPostFailure, PrReviewAgentOutput, PrReviewChallengeOutput, ResolvePrReviewInput, ChallengePrReviewFindingInput, ClarityReviewItem, ClarityReviewStatus, ClarityReview, ReplyClarityItemInput, UpdateClarityItemStatusInput, IncorporateClarityInput, ResolveClarityExceededInput, ResolveClarityExceededChoice, BrainstormStage, BrainstormItem, BrainstormStatus, BrainstormSession, ReplyBrainstormItemInput, UpdateBrainstormItemStatusInput, IncorporateBrainstormInput, ResolveBrainstormExceededInput, ResolveBrainstormExceededChoice, IterationCapChoice, ResolveIterationCapInput, RequirementPriority, RequirementKind, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, RalphStepState, RalphVerdict, RalphAttempt, ValidationCheck, ValidationCheckOutcome, ValidationReport, ResolvedValidationChecks, ServiceValidationConfig, UpsertServiceValidationConfigInput, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmRound, MergeAssessment, MergeAxis, MergeDecision, MergeDecisionThresholds, MergeClassRule, MergeClassRules, ChangeClass, ReviewEffort, MergeTrackDecision, MergeTrackRecord, MergeClassRollup, ReviewEffortDistribution, TagReviewEffortInput, PrVerificationReport, PrReportSectionStatus, PrReportStep, PrReportIssue, PrReportRun, PrReportCheck, PrReportCi, PrReportTestOutcome, PrReportTestConcern, PrReportTests, PrReportEnvironment, PrReportEnvironments, PrReportMerge, PrReportObservability, RiskPolicy, RequirementConcernLevel, CreateRiskPolicyInput, UpdateRiskPolicyInput, SharedStack, SharedStackStatus, CreateSharedStackInput, UpdateSharedStackInput, DetectSharedStackInput, SharedStackRecommendation, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, TesterQualityConfig, StepOptions, CloudProvider, InstanceSize, UpdateAccountInput, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, UserSettings, UpdateUserSettingsInput, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, IssueIntakeConfig, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, Initiative, InitiativeStatus, InitiativeItem, InitiativeItemStatus, InitiativePhase, InitiativeEstimate, InitiativePipelineRule, InitiativeExecutionPolicy, InitiativeDecision, InitiativeDeviation, InitiativeFollowUp, InitiativeQa, InitiativeQaStatus, InitiativeInterviewState, InitiativePlanDraft, InitiativeDraftItem, InitiativeVersion, CreateInitiativeInput, AnswerInitiativeQuestionInput, PromoteInitiativeFollowUpInput, UpdateInitiativeItemInput, UpdateInitiativePolicyInput, AccountSettingsConfig, ContentStorageConfig, LinearOAuthSecret, S3CredentialsSecret, SlackOAuthSecret, WebSearchSecret, } from '@cat-factory/contracts';
2
2
  /**
3
3
  * A backend-prepared file to inject into a container agent's `.cat-context/` directory before
4
4
  * it runs — the deterministic analogue of the linked-doc context the executor already
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  * - Runtime-specific tables that only exist on one facade (e.g. the Cloudflare-only
19
19
  * `live_containers` Durable-Object tracking table) are appended by that facade.
20
20
  */
21
- export declare const WORKSPACE_SCOPED_TABLES: readonly ['agent_runs', 'blocks', 'brainstorm_sessions', 'clarity_reviews', 'consensus_sessions', 'custom_manifest_types', 'doc_interview_sessions', 'document_connections', 'documents', 'environment_connections', 'environment_test_runs', 'environment_user_handlers', 'environments', 'github_branches', 'github_check_runs', 'github_commits', 'github_installations', 'github_issues', 'github_pull_requests', 'github_repos', 'incident_enrichment_connections', 'initiatives', 'kaizen_gradings', 'kaizen_verified_combos', 'merge_threshold_presets', 'model_presets', 'notification_webhooks', 'notifications', 'observability_connections', 'package_registry_connections', 'pipeline_schedule_runs', 'pipeline_schedules', 'pipelines', 'provider_model_catalog', 'provider_subscription_tokens', 'public_api_keys', 'reference_architectures', 'release_health_configs', 'requirement_reviews', 'runner_pool_connections', 'shared_stacks', 'slack_settings', 'task_connections', 'task_source_settings', 'tasks', 'test_secrets', 'token_usage', 'tracker_settings', 'validation_configs', 'workspace_fragment_defaults', 'workspace_members', 'workspace_settings'];
21
+ export declare const WORKSPACE_SCOPED_TABLES: readonly ['agent_runs', 'blocks', 'brainstorm_sessions', 'clarity_reviews', 'consensus_sessions', 'custom_manifest_types', 'doc_interview_sessions', 'document_connections', 'documents', 'environment_connections', 'environment_test_runs', 'environment_user_handlers', 'environments', 'github_branches', 'github_check_runs', 'github_commits', 'github_installations', 'github_issues', 'github_pull_requests', 'github_repos', 'incident_enrichment_connections', 'initiatives', 'kaizen_gradings', 'kaizen_verified_combos', 'merge_threshold_presets', 'merge_track_records', 'model_presets', 'notification_webhooks', 'notifications', 'observability_connections', 'package_registry_connections', 'pipeline_schedule_runs', 'pipeline_schedules', 'pipelines', 'provider_model_catalog', 'provider_subscription_tokens', 'public_api_keys', 'reference_architectures', 'release_health_configs', 'requirement_reviews', 'review_question_posts', 'runner_pool_connections', 'shared_stacks', 'slack_settings', 'task_connections', 'task_source_settings', 'tasks', 'test_secrets', 'token_usage', 'tracker_settings', 'validation_configs', 'workspace_fragment_defaults', 'workspace_members', 'workspace_settings'];
22
22
  export type WorkspaceScopedTable = (typeof WORKSPACE_SCOPED_TABLES)[number];
23
23
  /**
24
24
  * Tables that carry a `workspace_id` column but are NOT in {@link WORKSPACE_SCOPED_TABLES}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-cascade.d.ts","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,YAClC,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAI,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}
1
+ {"version":3,"file":"workspace-cascade.d.ts","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,YAClC,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,iCAAiC,EACjC,aAAa,EACb,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,WAAW,EACX,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,CACZ,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,YAAI,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}
@@ -68,6 +68,7 @@ export const WORKSPACE_SCOPED_TABLES = [
68
68
  'kaizen_gradings',
69
69
  'kaizen_verified_combos',
70
70
  'merge_threshold_presets',
71
+ 'merge_track_records',
71
72
  'model_presets',
72
73
  'notification_webhooks',
73
74
  'notifications',
@@ -82,6 +83,7 @@ export const WORKSPACE_SCOPED_TABLES = [
82
83
  'reference_architectures',
83
84
  'release_health_configs',
84
85
  'requirement_reviews',
86
+ 'review_question_posts',
85
87
  'runner_pool_connections',
86
88
  'shared_stacks',
87
89
  'slack_settings',
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-cascade.js","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;IACZ,QAAQ;IACR,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,iCAAiC;IACjC,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,wBAAwB;IACxB,8BAA8B;IAC9B,iBAAiB;IACjB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,OAAO;IACP,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,mBAAmB;IACnB,oBAAoB;CACZ,CAAA;AAIV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}
1
+ {"version":3,"file":"workspace-cascade.js","sourceRoot":"","sources":["../../src/domain/workspace-cascade.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,mFAAmF;AACnF,oFAAoF;AACpF,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;IACZ,QAAQ;IACR,qBAAqB;IACrB,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,WAAW;IACX,yBAAyB;IACzB,uBAAuB;IACvB,2BAA2B;IAC3B,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,sBAAsB;IACtB,cAAc;IACd,iCAAiC;IACjC,aAAa;IACb,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,oBAAoB;IACpB,WAAW;IACX,wBAAwB;IACxB,8BAA8B;IAC9B,iBAAiB;IACjB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,OAAO;IACP,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,mBAAmB;IACnB,oBAAoB;CACZ,CAAA;AAIV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAU,CAAA"}