@urateam/core 0.1.32 → 0.1.34

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 (132) hide show
  1. package/dist/__tests__/audit-immutability.test.js +50 -1
  2. package/dist/__tests__/audit-immutability.test.js.map +1 -1
  3. package/dist/__tests__/auth-monitor.test.d.ts +2 -0
  4. package/dist/__tests__/auth-monitor.test.d.ts.map +1 -0
  5. package/dist/__tests__/auth-monitor.test.js +253 -0
  6. package/dist/__tests__/auth-monitor.test.js.map +1 -0
  7. package/dist/__tests__/bec-186-repro.test.d.ts +16 -0
  8. package/dist/__tests__/bec-186-repro.test.d.ts.map +1 -0
  9. package/dist/__tests__/bec-186-repro.test.js +223 -0
  10. package/dist/__tests__/bec-186-repro.test.js.map +1 -0
  11. package/dist/__tests__/db-migrations.test.d.ts +2 -0
  12. package/dist/__tests__/db-migrations.test.d.ts.map +1 -0
  13. package/dist/__tests__/db-migrations.test.js +237 -0
  14. package/dist/__tests__/db-migrations.test.js.map +1 -0
  15. package/dist/__tests__/executor-issue-id.test.js +2 -0
  16. package/dist/__tests__/executor-issue-id.test.js.map +1 -1
  17. package/dist/__tests__/pm-scheduler.test.js +59 -0
  18. package/dist/__tests__/pm-scheduler.test.js.map +1 -1
  19. package/dist/__tests__/post-fanout-comments.test.js +36 -0
  20. package/dist/__tests__/post-fanout-comments.test.js.map +1 -1
  21. package/dist/__tests__/preflight-claude-auth.test.d.ts +2 -0
  22. package/dist/__tests__/preflight-claude-auth.test.d.ts.map +1 -0
  23. package/dist/__tests__/preflight-claude-auth.test.js +36 -0
  24. package/dist/__tests__/preflight-claude-auth.test.js.map +1 -0
  25. package/dist/__tests__/resolve-claude-auth.test.d.ts +2 -0
  26. package/dist/__tests__/resolve-claude-auth.test.d.ts.map +1 -0
  27. package/dist/__tests__/resolve-claude-auth.test.js +129 -0
  28. package/dist/__tests__/resolve-claude-auth.test.js.map +1 -0
  29. package/dist/__tests__/runner-retry-strategies.test.d.ts +23 -0
  30. package/dist/__tests__/runner-retry-strategies.test.d.ts.map +1 -0
  31. package/dist/__tests__/runner-retry-strategies.test.js +274 -0
  32. package/dist/__tests__/runner-retry-strategies.test.js.map +1 -0
  33. package/dist/__tests__/scratch-file-guard.test.d.ts +2 -0
  34. package/dist/__tests__/scratch-file-guard.test.d.ts.map +1 -0
  35. package/dist/__tests__/scratch-file-guard.test.js +144 -0
  36. package/dist/__tests__/scratch-file-guard.test.js.map +1 -0
  37. package/dist/__tests__/spec-vs-impl-gate.test.d.ts +2 -0
  38. package/dist/__tests__/spec-vs-impl-gate.test.d.ts.map +1 -0
  39. package/dist/__tests__/spec-vs-impl-gate.test.js +222 -0
  40. package/dist/__tests__/spec-vs-impl-gate.test.js.map +1 -0
  41. package/dist/__tests__/stage-models.test.js +4 -0
  42. package/dist/__tests__/stage-models.test.js.map +1 -1
  43. package/dist/__tests__/typecheck-gate.test.d.ts +2 -0
  44. package/dist/__tests__/typecheck-gate.test.d.ts.map +1 -0
  45. package/dist/__tests__/typecheck-gate.test.js +196 -0
  46. package/dist/__tests__/typecheck-gate.test.js.map +1 -0
  47. package/dist/audit/events.d.ts +52 -0
  48. package/dist/audit/events.d.ts.map +1 -1
  49. package/dist/audit/events.js +81 -0
  50. package/dist/audit/events.js.map +1 -1
  51. package/dist/db/client.d.ts.map +1 -1
  52. package/dist/db/client.js +8 -0
  53. package/dist/db/client.js.map +1 -1
  54. package/dist/db/migrations/postgres/014_missing_indexes.sql +28 -0
  55. package/dist/db/migrations/sqlite/013_missing_indexes.sql +28 -0
  56. package/dist/executor/auth-check.d.ts +39 -0
  57. package/dist/executor/auth-check.d.ts.map +1 -1
  58. package/dist/executor/auth-check.js +31 -0
  59. package/dist/executor/auth-check.js.map +1 -1
  60. package/dist/executor/auth-monitor.d.ts +40 -0
  61. package/dist/executor/auth-monitor.d.ts.map +1 -0
  62. package/dist/executor/auth-monitor.js +114 -0
  63. package/dist/executor/auth-monitor.js.map +1 -0
  64. package/dist/executor/executor.d.ts.map +1 -1
  65. package/dist/executor/executor.js +12 -26
  66. package/dist/executor/executor.js.map +1 -1
  67. package/dist/executor/index.d.ts +2 -0
  68. package/dist/executor/index.d.ts.map +1 -1
  69. package/dist/executor/index.js +2 -0
  70. package/dist/executor/index.js.map +1 -1
  71. package/dist/executor/review/post-fanout-comments.d.ts +8 -0
  72. package/dist/executor/review/post-fanout-comments.d.ts.map +1 -1
  73. package/dist/executor/review/post-fanout-comments.js +23 -3
  74. package/dist/executor/review/post-fanout-comments.js.map +1 -1
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +2 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/notifier/composite.d.ts +1 -0
  80. package/dist/notifier/composite.d.ts.map +1 -1
  81. package/dist/notifier/composite.js +3 -0
  82. package/dist/notifier/composite.js.map +1 -1
  83. package/dist/notifier/linear.d.ts +2 -0
  84. package/dist/notifier/linear.d.ts.map +1 -1
  85. package/dist/notifier/linear.js +12 -2
  86. package/dist/notifier/linear.js.map +1 -1
  87. package/dist/pipeline/runner.d.ts.map +1 -1
  88. package/dist/pipeline/runner.js +152 -2
  89. package/dist/pipeline/runner.js.map +1 -1
  90. package/dist/pipeline/scratch-file-guard.d.ts +21 -0
  91. package/dist/pipeline/scratch-file-guard.d.ts.map +1 -0
  92. package/dist/pipeline/scratch-file-guard.js +155 -0
  93. package/dist/pipeline/scratch-file-guard.js.map +1 -0
  94. package/dist/pipeline/spec-vs-impl-gate.d.ts +49 -0
  95. package/dist/pipeline/spec-vs-impl-gate.d.ts.map +1 -0
  96. package/dist/pipeline/spec-vs-impl-gate.js +177 -0
  97. package/dist/pipeline/spec-vs-impl-gate.js.map +1 -0
  98. package/dist/pipeline/typecheck-gate.d.ts +34 -0
  99. package/dist/pipeline/typecheck-gate.d.ts.map +1 -0
  100. package/dist/pipeline/typecheck-gate.js +89 -0
  101. package/dist/pipeline/typecheck-gate.js.map +1 -0
  102. package/dist/pm/scheduler.d.ts.map +1 -1
  103. package/dist/pm/scheduler.js +19 -0
  104. package/dist/pm/scheduler.js.map +1 -1
  105. package/dist/release-manager/index.d.ts +2 -0
  106. package/dist/release-manager/index.d.ts.map +1 -1
  107. package/dist/release-manager/index.js +2 -0
  108. package/dist/release-manager/index.js.map +1 -1
  109. package/dist/release-manager/release-helpers.d.ts +112 -0
  110. package/dist/release-manager/release-helpers.d.ts.map +1 -0
  111. package/dist/release-manager/release-helpers.js +164 -0
  112. package/dist/release-manager/release-helpers.js.map +1 -0
  113. package/dist/release-manager/release-tick.d.ts +101 -0
  114. package/dist/release-manager/release-tick.d.ts.map +1 -0
  115. package/dist/release-manager/release-tick.js +374 -0
  116. package/dist/release-manager/release-tick.js.map +1 -0
  117. package/dist/release-manager/scheduler.d.ts +28 -3
  118. package/dist/release-manager/scheduler.d.ts.map +1 -1
  119. package/dist/release-manager/scheduler.js +41 -417
  120. package/dist/release-manager/scheduler.js.map +1 -1
  121. package/dist/server.d.ts.map +1 -1
  122. package/dist/server.js +3 -0
  123. package/dist/server.js.map +1 -1
  124. package/dist/types.d.ts +15 -0
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/types.js +17 -0
  127. package/dist/types.js.map +1 -1
  128. package/dist/webhook/github-handler.d.ts +7 -1
  129. package/dist/webhook/github-handler.d.ts.map +1 -1
  130. package/dist/webhook/github-handler.js +82 -38
  131. package/dist/webhook/github-handler.js.map +1 -1
  132. package/package.json +1 -1
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Tier 1c — spec-vs-impl JSDoc gate.
3
+ *
4
+ * Scans newly-added JSDoc blocks for references to `config.X` / `opts.X` /
5
+ * `env.X` / `deps.X` / `options.X` and verifies the referenced symbol exists
6
+ * SOMEWHERE in the worktree's TS/TSX/JS files. If absent, the runner pushes a
7
+ * blocking `category: "spec-vs-impl"` finding. Catches PR #254-style failures
8
+ * where docs promised `implementProviderFallback` but it was never added to
9
+ * the Zod schema or referenced in any implementation.
10
+ *
11
+ * The matcher is a pure function (`extractPromisedSymbols`) so the unit tests
12
+ * don't need a git or worktree. The verification step (`isSymbolDefined`)
13
+ * uses a configurable lookup so tests inject a fake source corpus.
14
+ */
15
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
16
+ import { extractPromisedSymbols, checkSpecVsImplFromContent, } from "../pipeline/spec-vs-impl-gate.js";
17
+ const ENV_KEY = "URATEAM_DISABLE_SPEC_VS_IMPL_GATE";
18
+ describe("extractPromisedSymbols — extracts config.X / opts.X / env.X / deps.X / options.X from JSDoc blocks", () => {
19
+ it("extracts a single config.foo reference from a JSDoc block", () => {
20
+ const content = `
21
+ /**
22
+ * Does a thing. Reads \`config.maxAttempts\` to determine the limit.
23
+ */
24
+ export function doThing() {}
25
+ `;
26
+ expect(extractPromisedSymbols(content)).toEqual([
27
+ { prefix: "config", symbol: "maxAttempts" },
28
+ ]);
29
+ });
30
+ it("extracts multiple references across one block, deduplicated", () => {
31
+ const content = `
32
+ /**
33
+ * Uses config.maxAttempts and config.maxAttempts (twice) and opts.timeoutMs.
34
+ * Also references env.NODE_ENV.
35
+ */
36
+ `;
37
+ const result = extractPromisedSymbols(content);
38
+ // Order preserved on first occurrence; duplicates removed.
39
+ expect(result).toEqual([
40
+ { prefix: "config", symbol: "maxAttempts" },
41
+ { prefix: "opts", symbol: "timeoutMs" },
42
+ { prefix: "env", symbol: "NODE_ENV" },
43
+ ]);
44
+ });
45
+ it("extracts the BEC-201-style case (docblock promises a non-existent provider-fallback field)", () => {
46
+ // Synthetic symbol so the runtime corpus check isn't laundered by this
47
+ // test file itself appearing in the worktree's tracked-source corpus.
48
+ const content = `
49
+ /**
50
+ * Configures the provider chain. When \`config.aBec201RegressionField\` is
51
+ * set, the secondary provider is used if the primary fails.
52
+ */
53
+ export const Schema = z.object({ implementProvider: z.string() });
54
+ `;
55
+ expect(extractPromisedSymbols(content)).toEqual([
56
+ { prefix: "config", symbol: "aBec201RegressionField" },
57
+ ]);
58
+ });
59
+ it("handles multi-line JSDoc blocks", () => {
60
+ const content = `
61
+ /**
62
+ * Long block.
63
+ *
64
+ * @remarks
65
+ * Reads
66
+ * config.foo
67
+ * and
68
+ * opts.bar
69
+ * to compute the result.
70
+ */
71
+ `;
72
+ expect(extractPromisedSymbols(content)).toEqual([
73
+ { prefix: "config", symbol: "foo" },
74
+ { prefix: "opts", symbol: "bar" },
75
+ ]);
76
+ });
77
+ it("supports deps.X and options.X prefixes", () => {
78
+ const content = `
79
+ /**
80
+ * Uses deps.logger and options.timeout.
81
+ */
82
+ `;
83
+ expect(extractPromisedSymbols(content)).toEqual([
84
+ { prefix: "deps", symbol: "logger" },
85
+ { prefix: "options", symbol: "timeout" },
86
+ ]);
87
+ });
88
+ });
89
+ describe("extractPromisedSymbols — ignores code outside JSDoc blocks", () => {
90
+ it("does NOT match references in regular code", () => {
91
+ const content = `
92
+ const x = config.foo;
93
+ const y = opts.bar;
94
+ return env.NODE_ENV;
95
+ `;
96
+ expect(extractPromisedSymbols(content)).toEqual([]);
97
+ });
98
+ it("does NOT match references in single-line // comments", () => {
99
+ const content = `
100
+ // References config.foo in a line comment
101
+ const x = 1;
102
+ `;
103
+ expect(extractPromisedSymbols(content)).toEqual([]);
104
+ });
105
+ it("does NOT match references in regular /* */ block comments (only JSDoc /** */)", () => {
106
+ const content = `
107
+ /* config.foo here is in a regular block comment, not JSDoc */
108
+ const x = 1;
109
+ `;
110
+ expect(extractPromisedSymbols(content)).toEqual([]);
111
+ });
112
+ it("returns empty for content without any JSDoc", () => {
113
+ expect(extractPromisedSymbols("")).toEqual([]);
114
+ expect(extractPromisedSymbols("const x = 1;\nfunction f() {}\n")).toEqual([]);
115
+ });
116
+ });
117
+ describe("checkSpecVsImplFromContent — flags symbols not defined in any TS file", () => {
118
+ it("BEC-201-style regression: docblock promises a config field absent from code → finding", () => {
119
+ // Uses a synthetic symbol (rather than the real BEC-201 string) so that
120
+ // the runtime corpus check is not laundered by this test file itself.
121
+ const fileContent = `
122
+ /**
123
+ * Configures the provider chain. When \`config.aBec201RegressionField\` is
124
+ * set, the secondary provider is used if the primary fails.
125
+ */
126
+ export const Schema = z.object({
127
+ implementProvider: z.string(),
128
+ });
129
+ `;
130
+ // Pretend the worktree's TS corpus contains only `implementProvider`, not
131
+ // the promised `aBec201RegressionField`.
132
+ const corpus = "implementProvider implementProvider implementProvider";
133
+ const findings = checkSpecVsImplFromContent({
134
+ files: [{ path: "src/pipeline/config.ts", content: fileContent }],
135
+ corpusContainsSymbol: (sym) => corpus.includes(sym),
136
+ });
137
+ expect(findings).toHaveLength(1);
138
+ expect(findings[0]).toMatchObject({
139
+ filePath: "src/pipeline/config.ts",
140
+ promisedSymbol: "aBec201RegressionField",
141
+ });
142
+ });
143
+ it("emits one finding per (file, symbol), deduped across multiple JSDoc blocks in the same file", () => {
144
+ const fileContent = `
145
+ /** First block: config.fooMissing */
146
+ export function a() {}
147
+
148
+ /** Second block: config.fooMissing again, and opts.barMissing */
149
+ export function b() {}
150
+ `;
151
+ const findings = checkSpecVsImplFromContent({
152
+ files: [{ path: "src/foo.ts", content: fileContent }],
153
+ corpusContainsSymbol: () => false, // nothing defined
154
+ });
155
+ expect(findings).toHaveLength(2);
156
+ expect(findings.map((f) => f.promisedSymbol).sort()).toEqual([
157
+ "barMissing",
158
+ "fooMissing",
159
+ ]);
160
+ });
161
+ it("emits findings per file when same symbol is promised in two files but defined in neither", () => {
162
+ const findings = checkSpecVsImplFromContent({
163
+ files: [
164
+ { path: "a.ts", content: "/** config.zzz */" },
165
+ { path: "b.ts", content: "/** config.zzz */" },
166
+ ],
167
+ corpusContainsSymbol: () => false,
168
+ });
169
+ expect(findings).toHaveLength(2);
170
+ expect(findings.map((f) => f.filePath).sort()).toEqual(["a.ts", "b.ts"]);
171
+ });
172
+ });
173
+ describe("checkSpecVsImplFromContent — does NOT fire when the symbol IS defined somewhere", () => {
174
+ it("config.maxAttempts in docs + maxAttempts in schema → no finding", () => {
175
+ const fileContent = `
176
+ /**
177
+ * Reads \`config.maxAttempts\` to determine the limit.
178
+ */
179
+ export const PipelineConfigSchema = z.object({
180
+ maxAttempts: z.number(),
181
+ });
182
+ `;
183
+ const findings = checkSpecVsImplFromContent({
184
+ files: [{ path: "src/config.ts", content: fileContent }],
185
+ corpusContainsSymbol: (sym) => sym === "maxAttempts",
186
+ });
187
+ expect(findings).toEqual([]);
188
+ });
189
+ it("multiple promised symbols, all defined elsewhere → no findings", () => {
190
+ const fileContent = `
191
+ /** Uses config.a, opts.b, env.c, deps.d. */
192
+ `;
193
+ const defined = new Set(["a", "b", "c", "d"]);
194
+ const findings = checkSpecVsImplFromContent({
195
+ files: [{ path: "src/x.ts", content: fileContent }],
196
+ corpusContainsSymbol: (sym) => defined.has(sym),
197
+ });
198
+ expect(findings).toEqual([]);
199
+ });
200
+ it("returns empty for an empty file list", () => {
201
+ const findings = checkSpecVsImplFromContent({
202
+ files: [],
203
+ corpusContainsSymbol: () => false,
204
+ });
205
+ expect(findings).toEqual([]);
206
+ });
207
+ });
208
+ describe("checkSpecVsImpl env-var escape hatch", () => {
209
+ beforeEach(() => {
210
+ delete process.env[ENV_KEY];
211
+ });
212
+ afterEach(() => {
213
+ delete process.env[ENV_KEY];
214
+ });
215
+ it("when URATEAM_DISABLE_SPEC_VS_IMPL_GATE=true, returns skipped=true and empty findings", async () => {
216
+ process.env[ENV_KEY] = "true";
217
+ const { checkSpecVsImpl } = await import("../pipeline/spec-vs-impl-gate.js");
218
+ const result = await checkSpecVsImpl("/nonexistent", "main");
219
+ expect(result).toEqual({ findings: [], skipped: true });
220
+ });
221
+ });
222
+ //# sourceMappingURL=spec-vs-impl-gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-vs-impl-gate.test.js","sourceRoot":"","sources":["../../src/__tests__/spec-vs-impl-gate.test.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ vi.mock("@anthropic-ai/claude-agent-sdk", () => ({
17
17
  }));
18
18
  vi.mock("../executor/auth-check.js", () => ({
19
19
  isClaudeAuthValid: vi.fn().mockResolvedValue(true),
20
+ // BEC-207: executor.ts also calls resolveClaudeAuth() to log the active
21
+ // auth method. Mock returns the "session" default so the test doesn't
22
+ // depend on env vars.
23
+ resolveClaudeAuth: vi.fn().mockReturnValue({ method: "session" }),
20
24
  }));
21
25
  vi.mock("../executor/extract-handoff.js", () => ({
22
26
  extractHandoff: vi.fn().mockResolvedValue({
@@ -1 +1 @@
1
- {"version":3,"file":"stage-models.test.js","sourceRoot":"","sources":["../../src/__tests__/stage-models.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-models.test.js","sourceRoot":"","sources":["../../src/__tests__/stage-models.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=typecheck-gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typecheck-gate.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/typecheck-gate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Tier 1b — typecheck gate.
3
+ *
4
+ * `runTypecheck` runs the project's idiomatic typecheck command inside the
5
+ * worktree and reports pass/fail with a structured payload (errorCount, first
6
+ * 5 messages, raw output). The runner consumes the result, surfaces a
7
+ * `category: "typecheck"` blocking review finding on failure, and emits a
8
+ * `pipeline.typecheck_failed` audit event.
9
+ *
10
+ * The function takes a `runner` DI hook so the unit tests don't require a
11
+ * real `pnpm` / `tsc` install; the real default uses `execFile` per repo
12
+ * convention (CLAUDE.md: "Use `execFile` (never `exec`) for shell commands").
13
+ */
14
+ import { describe, it, expect, beforeEach, afterEach } from "vitest";
15
+ import { runTypecheck } from "../pipeline/typecheck-gate.js";
16
+ const ENV_KEY = "URATEAM_DISABLE_TYPECHECK_GATE";
17
+ describe("runTypecheck — fires on type errors", () => {
18
+ beforeEach(() => {
19
+ delete process.env[ENV_KEY];
20
+ });
21
+ afterEach(() => {
22
+ delete process.env[ENV_KEY];
23
+ });
24
+ it("parses TS errors from stdout when the command exits non-zero", async () => {
25
+ const tscOutput = [
26
+ "src/foo.ts:42:5 - error TS2322: Type 'number' is not assignable to type 'string'.",
27
+ "",
28
+ "src/bar.ts:7:1 - error TS2304: Cannot find name 'undefinedVar'.",
29
+ "",
30
+ "Found 2 errors in 2 files.",
31
+ ].join("\n");
32
+ const runner = async () => ({
33
+ stdout: tscOutput,
34
+ stderr: "",
35
+ code: 1,
36
+ });
37
+ const result = await runTypecheck("/fake/worktree", { runner });
38
+ expect(result.passed).toBe(false);
39
+ expect(result.skipped).toBe(false);
40
+ expect(result.errorCount).toBe(2);
41
+ expect(result.firstMessages).toHaveLength(2);
42
+ expect(result.firstMessages[0]).toContain("TS2322");
43
+ expect(result.firstMessages[1]).toContain("TS2304");
44
+ });
45
+ it("parses TS errors from stderr too (tsc emits to both)", async () => {
46
+ const runner = async () => ({
47
+ stdout: "",
48
+ stderr: "src/x.ts:1:1 - error TS2304: Cannot find name 'foo'.",
49
+ code: 1,
50
+ });
51
+ const result = await runTypecheck("/fake/worktree", { runner });
52
+ expect(result.passed).toBe(false);
53
+ expect(result.errorCount).toBe(1);
54
+ expect(result.firstMessages[0]).toContain("TS2304");
55
+ });
56
+ it("caps firstMessages at 5 even when there are more errors", async () => {
57
+ const tscOutput = Array.from({ length: 10 }, (_, i) => `src/f${i}.ts:1:1 - error TS2322: synthetic error ${i}.`).join("\n");
58
+ const runner = async () => ({
59
+ stdout: tscOutput,
60
+ stderr: "",
61
+ code: 1,
62
+ });
63
+ const result = await runTypecheck("/fake/worktree", { runner });
64
+ expect(result.errorCount).toBe(10);
65
+ expect(result.firstMessages).toHaveLength(5);
66
+ });
67
+ it("truncates individual messages over 500 chars", async () => {
68
+ const longMessage = "src/long.ts:1:1 - error TS2322: " + "x".repeat(1000);
69
+ const runner = async () => ({
70
+ stdout: longMessage,
71
+ stderr: "",
72
+ code: 1,
73
+ });
74
+ const result = await runTypecheck("/fake/worktree", { runner });
75
+ expect(result.firstMessages[0].length).toBeLessThanOrEqual(501);
76
+ expect(result.firstMessages[0]).toMatch(/…$/);
77
+ });
78
+ it("truncates the full output above 50KB and marks it (so audit payload is bounded)", async () => {
79
+ const oversized = "src/x.ts:1:1 - error TS2322: a\n".repeat(2500); // ~80KB
80
+ const runner = async () => ({
81
+ stdout: oversized,
82
+ stderr: "",
83
+ code: 1,
84
+ });
85
+ const result = await runTypecheck("/fake/worktree", { runner });
86
+ expect(result.passed).toBe(false);
87
+ expect(result.output.length).toBeLessThanOrEqual(50_100); // sentinel + small margin
88
+ expect(result.output).toContain("(truncated)");
89
+ });
90
+ it("treats non-zero exit with no parseable TS errors as failed with errorCount=0", async () => {
91
+ // Edge case: typecheck command itself crashed (e.g., tsc missing) — fail
92
+ // closed so the operator sees something, but with a clear "not typecheck"
93
+ // signal in errorCount=0.
94
+ const runner = async () => ({
95
+ stdout: "",
96
+ stderr: "Cannot find module 'typescript'",
97
+ code: 127,
98
+ });
99
+ const result = await runTypecheck("/fake/worktree", { runner });
100
+ expect(result.passed).toBe(false);
101
+ expect(result.errorCount).toBe(0);
102
+ expect(result.output).toContain("Cannot find module");
103
+ });
104
+ });
105
+ describe("runTypecheck — does NOT fire on a clean repo", () => {
106
+ beforeEach(() => {
107
+ delete process.env[ENV_KEY];
108
+ });
109
+ afterEach(() => {
110
+ delete process.env[ENV_KEY];
111
+ });
112
+ it("returns passed=true when the runner exits 0", async () => {
113
+ const runner = async () => ({
114
+ stdout: "",
115
+ stderr: "",
116
+ code: 0,
117
+ });
118
+ const result = await runTypecheck("/fake/worktree", { runner });
119
+ expect(result).toEqual({
120
+ passed: true,
121
+ errorCount: 0,
122
+ firstMessages: [],
123
+ output: "",
124
+ skipped: false,
125
+ });
126
+ });
127
+ it("passes the default command (`pnpm -w typecheck`) to the runner", async () => {
128
+ let observedCommand;
129
+ const runner = async (cmd) => {
130
+ observedCommand = cmd;
131
+ return { stdout: "", stderr: "", code: 0 };
132
+ };
133
+ await runTypecheck("/fake/worktree", { runner });
134
+ expect(observedCommand).toEqual(["pnpm", "-w", "typecheck"]);
135
+ });
136
+ it("respects a custom command via opts.command", async () => {
137
+ let observedCommand;
138
+ const runner = async (cmd) => {
139
+ observedCommand = cmd;
140
+ return { stdout: "", stderr: "", code: 0 };
141
+ };
142
+ await runTypecheck("/fake/worktree", {
143
+ runner,
144
+ command: ["yarn", "typecheck"],
145
+ });
146
+ expect(observedCommand).toEqual(["yarn", "typecheck"]);
147
+ });
148
+ });
149
+ describe("runTypecheck — escape hatch", () => {
150
+ beforeEach(() => {
151
+ delete process.env[ENV_KEY];
152
+ });
153
+ afterEach(() => {
154
+ delete process.env[ENV_KEY];
155
+ });
156
+ it("when URATEAM_DISABLE_TYPECHECK_GATE=true, returns skipped=true and does NOT invoke the runner", async () => {
157
+ process.env[ENV_KEY] = "true";
158
+ let runnerInvoked = false;
159
+ const runner = async () => {
160
+ runnerInvoked = true;
161
+ return { stdout: "", stderr: "", code: 0 };
162
+ };
163
+ const result = await runTypecheck("/fake/worktree", { runner });
164
+ expect(runnerInvoked).toBe(false);
165
+ expect(result).toEqual({
166
+ passed: true,
167
+ errorCount: 0,
168
+ firstMessages: [],
169
+ output: "",
170
+ skipped: true,
171
+ });
172
+ });
173
+ it("when URATEAM_DISABLE_TYPECHECK_GATE is unset, runner IS invoked", async () => {
174
+ let runnerInvoked = false;
175
+ const runner = async () => {
176
+ runnerInvoked = true;
177
+ return { stdout: "", stderr: "", code: 0 };
178
+ };
179
+ await runTypecheck("/fake/worktree", { runner });
180
+ expect(runnerInvoked).toBe(true);
181
+ });
182
+ it("env-var values other than 'true' do NOT disable the gate (false, 0, '', undefined)", async () => {
183
+ for (const value of ["false", "0", "", "1", "yes"]) {
184
+ process.env[ENV_KEY] = value;
185
+ let runnerInvoked = false;
186
+ const runner = async () => {
187
+ runnerInvoked = true;
188
+ return { stdout: "", stderr: "", code: 0 };
189
+ };
190
+ const result = await runTypecheck("/fake/worktree", { runner });
191
+ expect(runnerInvoked, `env=${value}`).toBe(true);
192
+ expect(result.skipped, `env=${value}`).toBe(false);
193
+ }
194
+ });
195
+ });
196
+ //# sourceMappingURL=typecheck-gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typecheck-gate.test.js","sourceRoot":"","sources":["../../src/__tests__/typecheck-gate.test.ts"],"names":[],"mappings":"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"}
@@ -211,4 +211,56 @@ export declare function reviewModelLowOutputRatioEvent(args: {
211
211
  runs: number;
212
212
  threshold: number;
213
213
  }): AuditEvent;
214
+ /**
215
+ * BEC-207: emitted by AuthMonitor when `claude auth status` reports the
216
+ * session has expired. Operational signal — the operator must run `claude
217
+ * login` or configure CLAUDE_CODE_OAUTH_TOKEN / ANTHROPIC_API_KEY before
218
+ * new pipeline runs will succeed.
219
+ *
220
+ * NOTE: this event is written via `logAuditEventUnchecked` (the bypass call
221
+ * site list in CLAUDE.md), because session expiry is a base-tier operational
222
+ * concern that any operator needs to see regardless of `audit-log` licensing.
223
+ */
224
+ export declare function claudeAuthExpiredEvent(args: {
225
+ detectedAt: Date;
226
+ }): AuditEvent;
227
+ /**
228
+ * Tier 1a — emitted when the scratch-file denylist gate matches one or more
229
+ * agent-added files and forces the PR to draft. Payload includes the matched
230
+ * paths so operators can see the rate and categories. Capped at 50 paths to
231
+ * keep the audit row bounded.
232
+ */
233
+ export declare function pipelineScratchFilesBlockedEvent(args: {
234
+ runId: string;
235
+ issueId: string;
236
+ files: string[];
237
+ }): AuditEvent;
238
+ /**
239
+ * Tier 1b — emitted when the typecheck gate detects type errors on the agent's
240
+ * diff before push. The runner forces draft + a `category: "typecheck"`
241
+ * blocking finding from this signal; the audit event surfaces the rate so
242
+ * operators can spot regressions in agent code-quality.
243
+ */
244
+ export declare function pipelineTypecheckFailedEvent(args: {
245
+ runId: string;
246
+ issueId: string;
247
+ errorCount: number;
248
+ firstMessages: string[];
249
+ }): AuditEvent;
250
+ /**
251
+ * Tier 1c — emitted when the spec-vs-impl gate detects JSDoc references to
252
+ * `config.X` / `opts.X` / etc. that aren't defined anywhere in the worktree.
253
+ * The runner pushes one `category: "spec-vs-impl"` blocking finding per
254
+ * undefined symbol; the audit event captures the list (capped at 20 tuples)
255
+ * for rate-tracking.
256
+ */
257
+ export declare function pipelineSpecVsImplFailedEvent(args: {
258
+ runId: string;
259
+ issueId: string;
260
+ findings: Array<{
261
+ filePath: string;
262
+ promisedPrefix: string;
263
+ promisedSymbol: string;
264
+ }>;
265
+ }): AuditEvent;
214
266
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/audit/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/audit/events.ts"],"names":[],"mappings":"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"}