@urateam/core 0.1.33 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/audit-immutability.test.js +50 -0
- package/dist/__tests__/audit-immutability.test.js.map +1 -1
- package/dist/__tests__/pm-scheduler.test.js +59 -0
- package/dist/__tests__/pm-scheduler.test.js.map +1 -1
- package/dist/__tests__/review-convention-prompt.test.d.ts +2 -0
- package/dist/__tests__/review-convention-prompt.test.d.ts.map +1 -0
- package/dist/__tests__/review-convention-prompt.test.js +142 -0
- package/dist/__tests__/review-convention-prompt.test.js.map +1 -0
- package/dist/__tests__/runner-retry-strategies.test.d.ts +23 -0
- package/dist/__tests__/runner-retry-strategies.test.d.ts.map +1 -0
- package/dist/__tests__/runner-retry-strategies.test.js +274 -0
- package/dist/__tests__/runner-retry-strategies.test.js.map +1 -0
- package/dist/__tests__/scratch-file-guard.test.d.ts +2 -0
- package/dist/__tests__/scratch-file-guard.test.d.ts.map +1 -0
- package/dist/__tests__/scratch-file-guard.test.js +144 -0
- package/dist/__tests__/scratch-file-guard.test.js.map +1 -0
- package/dist/__tests__/spec-vs-impl-gate.test.d.ts +2 -0
- package/dist/__tests__/spec-vs-impl-gate.test.d.ts.map +1 -0
- package/dist/__tests__/spec-vs-impl-gate.test.js +222 -0
- package/dist/__tests__/spec-vs-impl-gate.test.js.map +1 -0
- package/dist/__tests__/typecheck-gate.test.d.ts +2 -0
- package/dist/__tests__/typecheck-gate.test.d.ts.map +1 -0
- package/dist/__tests__/typecheck-gate.test.js +196 -0
- package/dist/__tests__/typecheck-gate.test.js.map +1 -0
- package/dist/audit/events.d.ts +39 -0
- package/dist/audit/events.d.ts.map +1 -1
- package/dist/audit/events.js +60 -0
- package/dist/audit/events.js.map +1 -1
- package/dist/executor/prompt/templates.d.ts.map +1 -1
- package/dist/executor/prompt/templates.js +6 -3
- package/dist/executor/prompt/templates.js.map +1 -1
- package/dist/executor/review/review-prompt.d.ts.map +1 -1
- package/dist/executor/review/review-prompt.js +8 -2
- package/dist/executor/review/review-prompt.js.map +1 -1
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +145 -1
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/scratch-file-guard.d.ts +21 -0
- package/dist/pipeline/scratch-file-guard.d.ts.map +1 -0
- package/dist/pipeline/scratch-file-guard.js +155 -0
- package/dist/pipeline/scratch-file-guard.js.map +1 -0
- package/dist/pipeline/spec-vs-impl-gate.d.ts +49 -0
- package/dist/pipeline/spec-vs-impl-gate.d.ts.map +1 -0
- package/dist/pipeline/spec-vs-impl-gate.js +177 -0
- package/dist/pipeline/spec-vs-impl-gate.js.map +1 -0
- package/dist/pipeline/typecheck-gate.d.ts +34 -0
- package/dist/pipeline/typecheck-gate.d.ts.map +1 -0
- package/dist/pipeline/typecheck-gate.js +89 -0
- package/dist/pipeline/typecheck-gate.js.map +1 -0
- package/dist/security/index.d.ts +1 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/review-checklist.d.ts +16 -1
- package/dist/security/review-checklist.d.ts.map +1 -1
- package/dist/security/review-checklist.js +85 -1
- package/dist/security/review-checklist.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +13 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 1c — spec-vs-impl JSDoc gate.
|
|
3
|
+
*
|
|
4
|
+
* Catches the failure mode where the autonomous agent writes a JSDoc that
|
|
5
|
+
* references a config / option / env / deps / options field by name, but
|
|
6
|
+
* never actually adds that field to any schema or implementation. (The PR
|
|
7
|
+
* #254 failure mode is detailed in `docs/superpowers/plans/2026-05-11-
|
|
8
|
+
* pipeline-reliability-tiers.md`; we intentionally do NOT spell the
|
|
9
|
+
* canonical example symbol here so the corpus check doesn't launder it
|
|
10
|
+
* past the gate in regression tests.)
|
|
11
|
+
*
|
|
12
|
+
* Algorithm (per file in the agent's diff):
|
|
13
|
+
* 1. Find every `/** ... *\/` block.
|
|
14
|
+
* 2. Inside each block, extract identifiers matching
|
|
15
|
+
* `\b(config|opts|env|deps|options)\.([A-Za-z_][A-Za-z0-9_]*)\b`.
|
|
16
|
+
* 3. For each unique (file, symbol), check whether the symbol exists in any
|
|
17
|
+
* `.ts` / `.tsx` / `.js` / `.jsx` file under the worktree.
|
|
18
|
+
* 4. If not found, emit a `SpecVsImplFinding`. The runner pushes a
|
|
19
|
+
* `category: "spec-vs-impl"` blocking ReviewFinding and forces draft.
|
|
20
|
+
*
|
|
21
|
+
* Heuristic — false positives are accepted as warnings in v1. Calibrate after
|
|
22
|
+
* two weeks of production data per the operator brief. Escape hatch:
|
|
23
|
+
* `URATEAM_DISABLE_SPEC_VS_IMPL_GATE=true`.
|
|
24
|
+
*
|
|
25
|
+
* Architecture: the matcher (`extractPromisedSymbols`) is pure and unit-
|
|
26
|
+
* tested directly. The corpus-lookup is injected via `corpusContainsSymbol`
|
|
27
|
+
* so tests don't need a real worktree. The git layer
|
|
28
|
+
* (`enumerateChangedTsFiles` + `buildWorktreeCorpus`) is glued together by
|
|
29
|
+
* the public `checkSpecVsImpl` entry point.
|
|
30
|
+
*/
|
|
31
|
+
import { readFile } from "node:fs/promises";
|
|
32
|
+
import { join } from "node:path";
|
|
33
|
+
import { gitExecSafe } from "../repo/git.js";
|
|
34
|
+
const PROMISED_REF_REGEX = /\b(config|opts|env|deps|options)\.([A-Za-z_][A-Za-z0-9_]*)\b/g;
|
|
35
|
+
const JSDOC_BLOCK_REGEX = /\/\*\*[\s\S]*?\*\//g;
|
|
36
|
+
/**
|
|
37
|
+
* Pure matcher: scans `content` for JSDoc blocks and returns the list of
|
|
38
|
+
* `<prefix>.<symbol>` references inside them, preserving first-occurrence
|
|
39
|
+
* order and deduplicating across blocks.
|
|
40
|
+
*/
|
|
41
|
+
export function extractPromisedSymbols(content) {
|
|
42
|
+
const seen = new Set();
|
|
43
|
+
const result = [];
|
|
44
|
+
const jsdocBlocks = content.match(JSDOC_BLOCK_REGEX);
|
|
45
|
+
if (!jsdocBlocks)
|
|
46
|
+
return result;
|
|
47
|
+
for (const block of jsdocBlocks) {
|
|
48
|
+
for (const match of block.matchAll(PROMISED_REF_REGEX)) {
|
|
49
|
+
const prefix = match[1];
|
|
50
|
+
const symbol = match[2];
|
|
51
|
+
const key = `${prefix}.${symbol}`;
|
|
52
|
+
if (seen.has(key))
|
|
53
|
+
continue;
|
|
54
|
+
seen.add(key);
|
|
55
|
+
result.push({ prefix, symbol });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Pure orchestrator for the per-file check. Given a list of changed files
|
|
62
|
+
* (path + content) and a corpus-lookup function, returns the list of
|
|
63
|
+
* findings. Exported for unit testing; the runner uses `checkSpecVsImpl`
|
|
64
|
+
* instead.
|
|
65
|
+
*/
|
|
66
|
+
export function checkSpecVsImplFromContent(args) {
|
|
67
|
+
const findings = [];
|
|
68
|
+
for (const file of args.files) {
|
|
69
|
+
const promised = extractPromisedSymbols(file.content);
|
|
70
|
+
for (const p of promised) {
|
|
71
|
+
if (!args.corpusContainsSymbol(p.symbol)) {
|
|
72
|
+
findings.push({
|
|
73
|
+
filePath: file.path,
|
|
74
|
+
promisedSymbol: p.symbol,
|
|
75
|
+
promisedPrefix: p.prefix,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return findings;
|
|
81
|
+
}
|
|
82
|
+
const TS_EXT_REGEX = /\.(tsx?|jsx?)$/;
|
|
83
|
+
/**
|
|
84
|
+
* Enumerate TS/TSX/JS/JSX files added or modified vs `origin/<baseBranch>`.
|
|
85
|
+
* The gate only inspects the agent's own changes; pre-existing JSDoc drift in
|
|
86
|
+
* the rest of the repo is not in scope.
|
|
87
|
+
*
|
|
88
|
+
* Fail-open: a git error returns an empty list.
|
|
89
|
+
*/
|
|
90
|
+
async function enumerateChangedTsFiles(worktreePath, baseBranch) {
|
|
91
|
+
const out = await gitExecSafe([
|
|
92
|
+
"diff",
|
|
93
|
+
"--name-only",
|
|
94
|
+
"--diff-filter=AM",
|
|
95
|
+
`origin/${baseBranch}...HEAD`,
|
|
96
|
+
], worktreePath);
|
|
97
|
+
return out
|
|
98
|
+
.split("\n")
|
|
99
|
+
.map((s) => s.trim())
|
|
100
|
+
.filter(Boolean)
|
|
101
|
+
.filter((p) => TS_EXT_REGEX.test(p));
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Build a string corpus by concatenating every TS/TSX/JS/JSX file under the
|
|
105
|
+
* worktree (excluding `node_modules`, `dist`, `.git`). The corpus is searched
|
|
106
|
+
* via `.includes(symbol)` — fast and good enough for heuristic detection.
|
|
107
|
+
* False positives are acceptable per the brief.
|
|
108
|
+
*/
|
|
109
|
+
async function buildWorktreeCorpus(worktreePath) {
|
|
110
|
+
const out = await gitExecSafe([
|
|
111
|
+
"ls-files",
|
|
112
|
+
"--cached",
|
|
113
|
+
"--others",
|
|
114
|
+
"--exclude-standard",
|
|
115
|
+
"--",
|
|
116
|
+
"*.ts",
|
|
117
|
+
"*.tsx",
|
|
118
|
+
"*.js",
|
|
119
|
+
"*.jsx",
|
|
120
|
+
], worktreePath);
|
|
121
|
+
const paths = out
|
|
122
|
+
.split("\n")
|
|
123
|
+
.map((s) => s.trim())
|
|
124
|
+
.filter(Boolean);
|
|
125
|
+
let corpus = "";
|
|
126
|
+
for (const p of paths) {
|
|
127
|
+
try {
|
|
128
|
+
corpus += "\n" + (await readFile(join(worktreePath, p), "utf8"));
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
// Skip unreadable files; the corpus is best-effort.
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return corpus;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Public entry point. Scans the agent's added/modified TS files for JSDoc
|
|
138
|
+
* references that aren't defined anywhere in the worktree's tracked source.
|
|
139
|
+
* Returns a flat list of findings.
|
|
140
|
+
*
|
|
141
|
+
* Escape hatch: `URATEAM_DISABLE_SPEC_VS_IMPL_GATE=true` short-circuits.
|
|
142
|
+
*
|
|
143
|
+
* Fail-open behavior: errors during git or filesystem access return an empty
|
|
144
|
+
* result with `skipped: false`. The runner additionally wraps the call in a
|
|
145
|
+
* try/catch and logs a warning rather than blocking the pipeline.
|
|
146
|
+
*/
|
|
147
|
+
export async function checkSpecVsImpl(worktreePath, baseBranch) {
|
|
148
|
+
if (process.env.URATEAM_DISABLE_SPEC_VS_IMPL_GATE === "true") {
|
|
149
|
+
return { findings: [], skipped: true };
|
|
150
|
+
}
|
|
151
|
+
const changedFiles = await enumerateChangedTsFiles(worktreePath, baseBranch);
|
|
152
|
+
if (changedFiles.length === 0) {
|
|
153
|
+
return { findings: [], skipped: false };
|
|
154
|
+
}
|
|
155
|
+
// Read only the changed files for the JSDoc scan. The corpus (used for
|
|
156
|
+
// symbol existence) is built once over the whole worktree.
|
|
157
|
+
const filePairs = [];
|
|
158
|
+
for (const p of changedFiles) {
|
|
159
|
+
try {
|
|
160
|
+
const content = await readFile(join(worktreePath, p), "utf8");
|
|
161
|
+
filePairs.push({ path: p, content });
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Skip — likely deleted in HEAD; not relevant for the JSDoc scan.
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (filePairs.length === 0) {
|
|
168
|
+
return { findings: [], skipped: false };
|
|
169
|
+
}
|
|
170
|
+
const corpus = await buildWorktreeCorpus(worktreePath);
|
|
171
|
+
const findings = checkSpecVsImplFromContent({
|
|
172
|
+
files: filePairs,
|
|
173
|
+
corpusContainsSymbol: (sym) => corpus.includes(sym),
|
|
174
|
+
});
|
|
175
|
+
return { findings, skipped: false };
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=spec-vs-impl-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-vs-impl-gate.js","sourceRoot":"","sources":["../../src/pipeline/spec-vs-impl-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DI seam: the function that actually invokes the typecheck command. Tests
|
|
3
|
+
* inject a synthetic version; the runner imports and uses the real one (via
|
|
4
|
+
* the default in `runTypecheck`'s opts).
|
|
5
|
+
*/
|
|
6
|
+
export type TypecheckRunner = (command: string[], cwd: string, timeoutMs: number) => Promise<{
|
|
7
|
+
stdout: string;
|
|
8
|
+
stderr: string;
|
|
9
|
+
code: number;
|
|
10
|
+
}>;
|
|
11
|
+
export interface TypecheckResult {
|
|
12
|
+
/** True when typecheck exited 0. */
|
|
13
|
+
passed: boolean;
|
|
14
|
+
/** Number of lines matching a TypeScript error signature (`error TSnnnn`).
|
|
15
|
+
* Zero when the command failed for a non-typecheck reason (e.g. missing
|
|
16
|
+
* binary); the caller distinguishes by also reading `passed` and `output`. */
|
|
17
|
+
errorCount: number;
|
|
18
|
+
/** Up to 5 error lines, each truncated at 500 chars with a trailing `…`. */
|
|
19
|
+
firstMessages: string[];
|
|
20
|
+
/** Full combined stdout + stderr, capped at 50 KB with a `(truncated)`
|
|
21
|
+
* sentinel when oversize. Goes into the PR-body excerpt; the audit payload
|
|
22
|
+
* uses `firstMessages` to stay bounded. */
|
|
23
|
+
output: string;
|
|
24
|
+
/** True when `URATEAM_DISABLE_TYPECHECK_GATE=true` short-circuited the gate.
|
|
25
|
+
* In that case the rest of the fields are zero/empty; treat as "skip, don't
|
|
26
|
+
* block". */
|
|
27
|
+
skipped: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function runTypecheck(worktreePath: string, opts?: {
|
|
30
|
+
command?: string[];
|
|
31
|
+
timeoutMs?: number;
|
|
32
|
+
runner?: TypecheckRunner;
|
|
33
|
+
}): Promise<TypecheckResult>;
|
|
34
|
+
//# sourceMappingURL=typecheck-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheck-gate.d.ts","sourceRoot":"","sources":["../../src/pipeline/typecheck-gate.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB;;mFAE+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;gDAE4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf;;kBAEc;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAqDD,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GACA,OAAO,CAAC,eAAe,CAAC,CAoC1B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 1b — typecheck gate.
|
|
3
|
+
*
|
|
4
|
+
* Runs the project's idiomatic typecheck command inside the worktree before
|
|
5
|
+
* push. On failure, the runner surfaces a `category: "typecheck"` blocking
|
|
6
|
+
* `ReviewFinding` and emits a `pipeline.typecheck_failed` audit event. The
|
|
7
|
+
* existing draft-PR renderer picks up the finding and surfaces the first 5
|
|
8
|
+
* messages in the PR body.
|
|
9
|
+
*
|
|
10
|
+
* Escape hatch: `URATEAM_DISABLE_TYPECHECK_GATE=true`. Documented in CLAUDE.md.
|
|
11
|
+
*
|
|
12
|
+
* The gate is unit-tested via a runner DI hook (`TypecheckRunner`) so the test
|
|
13
|
+
* suite doesn't need a real `pnpm` / `tsc` install. The real default uses
|
|
14
|
+
* `execFile` per repo convention.
|
|
15
|
+
*/
|
|
16
|
+
import { execFile as execFileCb } from "node:child_process";
|
|
17
|
+
import { promisify } from "node:util";
|
|
18
|
+
const execFileAsync = promisify(execFileCb);
|
|
19
|
+
const TS_ERROR_REGEX = /\berror TS\d+\b/;
|
|
20
|
+
function parseFirstMessages(combinedOutput) {
|
|
21
|
+
const errorLines = combinedOutput
|
|
22
|
+
.split("\n")
|
|
23
|
+
.map((l) => l.trim())
|
|
24
|
+
.filter((l) => TS_ERROR_REGEX.test(l));
|
|
25
|
+
const firstMessages = errorLines.slice(0, 5).map((l) => l.length > 500 ? l.slice(0, 500) + "…" : l);
|
|
26
|
+
return { errorCount: errorLines.length, firstMessages };
|
|
27
|
+
}
|
|
28
|
+
function truncateOutput(combined, limit = 50_000) {
|
|
29
|
+
if (combined.length <= limit)
|
|
30
|
+
return combined;
|
|
31
|
+
return combined.slice(0, limit) + "\n…(truncated)";
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Default runner: invokes the typecheck command via `execFile`. Captures both
|
|
35
|
+
* stdout and stderr and returns the exit code (0 = pass, anything else = fail).
|
|
36
|
+
*/
|
|
37
|
+
const defaultRunner = async (command, cwd, timeoutMs) => {
|
|
38
|
+
try {
|
|
39
|
+
const { stdout, stderr } = await execFileAsync(command[0], command.slice(1), {
|
|
40
|
+
cwd,
|
|
41
|
+
timeout: timeoutMs,
|
|
42
|
+
maxBuffer: 100 * 1024 * 1024, // 100 MB — typecheck output is bounded but not tiny
|
|
43
|
+
});
|
|
44
|
+
return { stdout, stderr, code: 0 };
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
const e = err;
|
|
48
|
+
const code = typeof e.code === "number" ? e.code : 1;
|
|
49
|
+
return {
|
|
50
|
+
stdout: e.stdout ?? "",
|
|
51
|
+
stderr: e.stderr ?? e.message ?? "",
|
|
52
|
+
code,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
export async function runTypecheck(worktreePath, opts) {
|
|
57
|
+
if (process.env.URATEAM_DISABLE_TYPECHECK_GATE === "true") {
|
|
58
|
+
return {
|
|
59
|
+
passed: true,
|
|
60
|
+
errorCount: 0,
|
|
61
|
+
firstMessages: [],
|
|
62
|
+
output: "",
|
|
63
|
+
skipped: true,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const command = opts?.command ?? ["pnpm", "-w", "typecheck"];
|
|
67
|
+
const timeoutMs = opts?.timeoutMs ?? 5 * 60 * 1000;
|
|
68
|
+
const runner = opts?.runner ?? defaultRunner;
|
|
69
|
+
const { stdout, stderr, code } = await runner(command, worktreePath, timeoutMs);
|
|
70
|
+
const combined = `${stderr}\n${stdout}`.trim();
|
|
71
|
+
if (code === 0) {
|
|
72
|
+
return {
|
|
73
|
+
passed: true,
|
|
74
|
+
errorCount: 0,
|
|
75
|
+
firstMessages: [],
|
|
76
|
+
output: "",
|
|
77
|
+
skipped: false,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const { errorCount, firstMessages } = parseFirstMessages(combined);
|
|
81
|
+
return {
|
|
82
|
+
passed: false,
|
|
83
|
+
errorCount,
|
|
84
|
+
firstMessages,
|
|
85
|
+
output: truncateOutput(combined),
|
|
86
|
+
skipped: false,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=typecheck-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typecheck-gate.js","sourceRoot":"","sources":["../../src/pipeline/typecheck-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/security/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { SECURITY_REVIEW_CHECKLIST, REVIEW_OUTPUT_FORMAT } from "./review-checklist.js";
|
|
1
|
+
export { SECURITY_REVIEW_CHECKLIST, PROJECT_CONVENTION_CHECKLIST, REVIEW_OUTPUT_FORMAT } from "./review-checklist.js";
|
|
2
2
|
export { createSandboxConfig } from "./sandbox.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/security/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { SECURITY_REVIEW_CHECKLIST, REVIEW_OUTPUT_FORMAT } from "./review-checklist.js";
|
|
1
|
+
export { SECURITY_REVIEW_CHECKLIST, PROJECT_CONVENTION_CHECKLIST, REVIEW_OUTPUT_FORMAT } from "./review-checklist.js";
|
|
2
2
|
export { createSandboxConfig } from "./sandbox.js";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 2 — project-convention checklist injected into the review prompt.
|
|
3
|
+
*
|
|
4
|
+
* Each entry names a `category` string the review agent must use verbatim in
|
|
5
|
+
* its `ReviewFinding` output. The pipeline runner already treats blocking
|
|
6
|
+
* findings as a draft-PR trigger (and the review-fix loop re-runs implement
|
|
7
|
+
* to address them), so adding categories here automatically picks up the
|
|
8
|
+
* existing gate machinery — no runner-side changes needed.
|
|
9
|
+
*
|
|
10
|
+
* The 9 categories mirror the operator brief; their names are also the
|
|
11
|
+
* `category` strings used by Tiers 1a/1b/1c's deterministic gates so the
|
|
12
|
+
* review-stage agent's findings classify into the same buckets as the gate
|
|
13
|
+
* findings (operators see one consistent vocabulary across both surfaces).
|
|
14
|
+
*/
|
|
15
|
+
export declare const PROJECT_CONVENTION_CHECKLIST = "## Project Convention Checklist\n\nFor each item below, scan the diff and emit a blocking `ReviewFinding` with the\nexact `category` string shown when the convention is violated. The autonomous\npipeline has historically shipped PRs that fail one or more of these checks;\nyour job is to catch every regression deterministically.\n\n### category: \"scratch-files\"\nAny new file matching `*.bak`, `*_REPORT.md`, `FINAL_*.md`, `TESTING_*.md`,\n`TEST_*.md`, `*_CHECKLIST.md`, repo-root `commit-*.sh`, `run-*.sh`, `*.tmp`,\n`*.log`, OR any new `*.md` at the repo root that isn't one of:\nCLAUDE.md, README.md, CHANGELOG.md, CONTRIBUTING.md, SECURITY.md,\nCODE_OF_CONDUCT.md, LICENSE.md, AUTHORS.md.\n\n### category: \"db-ddl-drift\"\nIf `packages/core/src/db/migrations/{sqlite,postgres}/*.sql` are added or\nmodified, verify ALL THREE required sites are updated (CLAUDE.md \"DB schema\nchanges\" is the authority):\n1. `MIGRATION_COLUMNS` array in `db/client.ts` \u2014 generates the ALTER TABLE\n statements for existing installs on startup.\n2. `getCreateTablesDDL()` in `db/client.ts` \u2014 the CREATE TABLE template for\n fresh installs.\n3. The Drizzle schema in `db/schema.ts` \u2014 keeps ORM types in sync.\nMismatch in any of the three ships a release that's broken on fresh installs,\nbroken on existing installs, or both.\n\n### category: \"audit-bypass-undocumented\"\nIf `logAuditEventUnchecked` is added to a new file, verify the file appears\nin the allow-list in `__tests__/audit-immutability.test.ts` AND in CLAUDE.md's\nenumeration of bypass call sites.\n\n### category: \"credential-in-interface\"\nFlag any public interface field named `*Token`, `*Secret`, `*Key`,\n`*Credential`, `*Password`, `*Auth` \u2014 credentials should never leave\n`process.env`. (PR #251 BEC-207 had a raw OAuth token field \"for logging\";\ncatch this class deterministically.)\n\n### category: \"spec-vs-impl\"\nJSDoc that references a config/option/env/deps/options field by name; verify\nthat field exists in the relevant type/schema. Tier 1c's deterministic gate\nruns the same check; the review-stage backup catches anything the gate's\nheuristic misses (e.g., `@param` annotation styles).\n\n### category: \"convention-execfile\"\nFlag any new use of `child_process.exec` or the global `exec()` \u2014 CLAUDE.md\nmandates `execFile` (no shell parsing) for all subprocess invocations.\n\n### category: \"convention-console\"\nFlag any `console.log` / `console.error` / etc. \u2014 structured logging via\n`createLogger` from `logger.js` only. Console calls won't reach the audit\nlog or operator dashboards.\n\n### category: \"convention-throw\"\nFlag bare `throw` statements in ANY pipeline failure path \u2014 not only\n`pipeline/runner.ts`, but also `executor/executor.ts`, every module under\n`pm/actions/`, feedback-pipeline / RALPH / review-fix paths, and any other\nmodule that owns a pipeline-stage execution. Use `failPipeline()` so the\nerror classification (transient vs permanent) and DB state stay consistent.\nException: re-throwing after `failPipeline()` to exit a push-queue / lock\ncallback is allowed and documented in CLAUDE.md.\n\n### category: \"convention-as-any\"\nFlag new `as any` casts outside the documented `AnyDb` / db-cast pattern\nin CLAUDE.md. If you reach for `as any`, either the code or the types are\nwrong \u2014 fix the underlying issue.\n";
|
|
1
16
|
/**
|
|
2
17
|
* Security review checklist used by the review stage agent.
|
|
3
18
|
*/
|
|
@@ -11,5 +26,5 @@ export declare const SECURITY_REVIEW_CHECKLIST = "## Security Review Checklist\n
|
|
|
11
26
|
* ("Stage review completed — agent output was not parseable prose") from appearing
|
|
12
27
|
* in PR descriptions when the review stage runs without errors (BEC-167).
|
|
13
28
|
*/
|
|
14
|
-
export declare const REVIEW_OUTPUT_FORMAT = "Emit your final output as a single ```json code block containing a HandoffArtifact JSON envelope. The JSON block MUST match this shape exactly:\n\n```json\n{\n \"stage\": \"review\",\n \"summary\": \"<1\u20132 sentence prose summary of what was reviewed and the overall verdict>\",\n \"filesChanged\": [\"path/to/reviewed/file.ts\"],\n \"approach\": \"<short prose: what the implementation does and how>\",\n \"context\": {\n \"issueIntent\": \"<what the issue was trying to achieve>\",\n \"constraints\": [],\n \"assumptions\": [],\n \"reviewFindings\": [\n {\n \"severity\": \"blocking\",\n \"file\": \"path/to/file.ts\",\n \"line\": 42,\n \"category\": \"SQL Injection\",\n \"description\": \"Clear explanation of the issue\",\n \"fix\": \"Suggested remediation\"\n }\n ]\n },\n \"tokenBudget\": {\n \"contextTokensUsed\": 0,\n \"recommendedMaxTurns\": 10\n }\n}\n```\n\nRules:\n- `severity` must be one of: `\"blocking\"`, `\"warning\"`, `\"suggestion\"`\n- `category` can be any of: `\"SQL Injection\"`, `\"XSS\"`, `\"Command Injection\"`, `\"Path Traversal\"`, `\"Auth\"`, `\"Data Exposure\"`, `\"Dependency\"
|
|
29
|
+
export declare const REVIEW_OUTPUT_FORMAT = "Emit your final output as a single ```json code block containing a HandoffArtifact JSON envelope. The JSON block MUST match this shape exactly:\n\n```json\n{\n \"stage\": \"review\",\n \"summary\": \"<1\u20132 sentence prose summary of what was reviewed and the overall verdict>\",\n \"filesChanged\": [\"path/to/reviewed/file.ts\"],\n \"approach\": \"<short prose: what the implementation does and how>\",\n \"context\": {\n \"issueIntent\": \"<what the issue was trying to achieve>\",\n \"constraints\": [],\n \"assumptions\": [],\n \"reviewFindings\": [\n {\n \"severity\": \"blocking\",\n \"file\": \"path/to/file.ts\",\n \"line\": 42,\n \"category\": \"SQL Injection\",\n \"description\": \"Clear explanation of the issue\",\n \"fix\": \"Suggested remediation\"\n }\n ]\n },\n \"tokenBudget\": {\n \"contextTokensUsed\": 0,\n \"recommendedMaxTurns\": 10\n }\n}\n```\n\nRules:\n- `severity` must be one of: `\"blocking\"`, `\"warning\"`, `\"suggestion\"`\n- `category` can be any of:\n - Security: `\"SQL Injection\"`, `\"XSS\"`, `\"Command Injection\"`, `\"Path Traversal\"`, `\"Auth\"`, `\"Data Exposure\"`, `\"Dependency\"`\n - Quality: `\"incomplete-implementation\"`, `\"dead-code\"`, `\"missing-documentation\"`\n - Tier 2 project conventions (use these exact strings): `\"scratch-files\"`, `\"db-ddl-drift\"`, `\"audit-bypass-undocumented\"`, `\"credential-in-interface\"`, `\"spec-vs-impl\"`, `\"convention-execfile\"`, `\"convention-console\"`, `\"convention-throw\"`, `\"convention-as-any\"`\n - Fallback: `\"Other\"`\n- If there are NO findings, emit an empty array: `\"reviewFindings\": []`\n- ALL fields (`summary`, `filesChanged`, `approach`, `context`, `tokenBudget`) are REQUIRED \u2014 even when there are no findings\n- `summary` must be prose (NOT JSON). Write 1\u20132 sentences describing what was reviewed and the verdict.\n";
|
|
15
30
|
//# sourceMappingURL=review-checklist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-checklist.d.ts","sourceRoot":"","sources":["../../src/security/review-checklist.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,yBAAyB,srCAyBrC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"review-checklist.d.ts","sourceRoot":"","sources":["../../src/security/review-checklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,4zGAiExC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,srCAyBrC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,o5DAwChC,CAAC"}
|
|
@@ -1,3 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tier 2 — project-convention checklist injected into the review prompt.
|
|
3
|
+
*
|
|
4
|
+
* Each entry names a `category` string the review agent must use verbatim in
|
|
5
|
+
* its `ReviewFinding` output. The pipeline runner already treats blocking
|
|
6
|
+
* findings as a draft-PR trigger (and the review-fix loop re-runs implement
|
|
7
|
+
* to address them), so adding categories here automatically picks up the
|
|
8
|
+
* existing gate machinery — no runner-side changes needed.
|
|
9
|
+
*
|
|
10
|
+
* The 9 categories mirror the operator brief; their names are also the
|
|
11
|
+
* `category` strings used by Tiers 1a/1b/1c's deterministic gates so the
|
|
12
|
+
* review-stage agent's findings classify into the same buckets as the gate
|
|
13
|
+
* findings (operators see one consistent vocabulary across both surfaces).
|
|
14
|
+
*/
|
|
15
|
+
export const PROJECT_CONVENTION_CHECKLIST = `## Project Convention Checklist
|
|
16
|
+
|
|
17
|
+
For each item below, scan the diff and emit a blocking \`ReviewFinding\` with the
|
|
18
|
+
exact \`category\` string shown when the convention is violated. The autonomous
|
|
19
|
+
pipeline has historically shipped PRs that fail one or more of these checks;
|
|
20
|
+
your job is to catch every regression deterministically.
|
|
21
|
+
|
|
22
|
+
### category: "scratch-files"
|
|
23
|
+
Any new file matching \`*.bak\`, \`*_REPORT.md\`, \`FINAL_*.md\`, \`TESTING_*.md\`,
|
|
24
|
+
\`TEST_*.md\`, \`*_CHECKLIST.md\`, repo-root \`commit-*.sh\`, \`run-*.sh\`, \`*.tmp\`,
|
|
25
|
+
\`*.log\`, OR any new \`*.md\` at the repo root that isn't one of:
|
|
26
|
+
CLAUDE.md, README.md, CHANGELOG.md, CONTRIBUTING.md, SECURITY.md,
|
|
27
|
+
CODE_OF_CONDUCT.md, LICENSE.md, AUTHORS.md.
|
|
28
|
+
|
|
29
|
+
### category: "db-ddl-drift"
|
|
30
|
+
If \`packages/core/src/db/migrations/{sqlite,postgres}/*.sql\` are added or
|
|
31
|
+
modified, verify ALL THREE required sites are updated (CLAUDE.md "DB schema
|
|
32
|
+
changes" is the authority):
|
|
33
|
+
1. \`MIGRATION_COLUMNS\` array in \`db/client.ts\` — generates the ALTER TABLE
|
|
34
|
+
statements for existing installs on startup.
|
|
35
|
+
2. \`getCreateTablesDDL()\` in \`db/client.ts\` — the CREATE TABLE template for
|
|
36
|
+
fresh installs.
|
|
37
|
+
3. The Drizzle schema in \`db/schema.ts\` — keeps ORM types in sync.
|
|
38
|
+
Mismatch in any of the three ships a release that's broken on fresh installs,
|
|
39
|
+
broken on existing installs, or both.
|
|
40
|
+
|
|
41
|
+
### category: "audit-bypass-undocumented"
|
|
42
|
+
If \`logAuditEventUnchecked\` is added to a new file, verify the file appears
|
|
43
|
+
in the allow-list in \`__tests__/audit-immutability.test.ts\` AND in CLAUDE.md's
|
|
44
|
+
enumeration of bypass call sites.
|
|
45
|
+
|
|
46
|
+
### category: "credential-in-interface"
|
|
47
|
+
Flag any public interface field named \`*Token\`, \`*Secret\`, \`*Key\`,
|
|
48
|
+
\`*Credential\`, \`*Password\`, \`*Auth\` — credentials should never leave
|
|
49
|
+
\`process.env\`. (PR #251 BEC-207 had a raw OAuth token field "for logging";
|
|
50
|
+
catch this class deterministically.)
|
|
51
|
+
|
|
52
|
+
### category: "spec-vs-impl"
|
|
53
|
+
JSDoc that references a config/option/env/deps/options field by name; verify
|
|
54
|
+
that field exists in the relevant type/schema. Tier 1c's deterministic gate
|
|
55
|
+
runs the same check; the review-stage backup catches anything the gate's
|
|
56
|
+
heuristic misses (e.g., \`@param\` annotation styles).
|
|
57
|
+
|
|
58
|
+
### category: "convention-execfile"
|
|
59
|
+
Flag any new use of \`child_process.exec\` or the global \`exec()\` — CLAUDE.md
|
|
60
|
+
mandates \`execFile\` (no shell parsing) for all subprocess invocations.
|
|
61
|
+
|
|
62
|
+
### category: "convention-console"
|
|
63
|
+
Flag any \`console.log\` / \`console.error\` / etc. — structured logging via
|
|
64
|
+
\`createLogger\` from \`logger.js\` only. Console calls won't reach the audit
|
|
65
|
+
log or operator dashboards.
|
|
66
|
+
|
|
67
|
+
### category: "convention-throw"
|
|
68
|
+
Flag bare \`throw\` statements in ANY pipeline failure path — not only
|
|
69
|
+
\`pipeline/runner.ts\`, but also \`executor/executor.ts\`, every module under
|
|
70
|
+
\`pm/actions/\`, feedback-pipeline / RALPH / review-fix paths, and any other
|
|
71
|
+
module that owns a pipeline-stage execution. Use \`failPipeline()\` so the
|
|
72
|
+
error classification (transient vs permanent) and DB state stay consistent.
|
|
73
|
+
Exception: re-throwing after \`failPipeline()\` to exit a push-queue / lock
|
|
74
|
+
callback is allowed and documented in CLAUDE.md.
|
|
75
|
+
|
|
76
|
+
### category: "convention-as-any"
|
|
77
|
+
Flag new \`as any\` casts outside the documented \`AnyDb\` / db-cast pattern
|
|
78
|
+
in CLAUDE.md. If you reach for \`as any\`, either the code or the types are
|
|
79
|
+
wrong — fix the underlying issue.
|
|
80
|
+
`;
|
|
1
81
|
/**
|
|
2
82
|
* Security review checklist used by the review stage agent.
|
|
3
83
|
*/
|
|
@@ -68,7 +148,11 @@ export const REVIEW_OUTPUT_FORMAT = `Emit your final output as a single \`\`\`js
|
|
|
68
148
|
|
|
69
149
|
Rules:
|
|
70
150
|
- \`severity\` must be one of: \`"blocking"\`, \`"warning"\`, \`"suggestion"\`
|
|
71
|
-
- \`category\` can be any of:
|
|
151
|
+
- \`category\` can be any of:
|
|
152
|
+
- Security: \`"SQL Injection"\`, \`"XSS"\`, \`"Command Injection"\`, \`"Path Traversal"\`, \`"Auth"\`, \`"Data Exposure"\`, \`"Dependency"\`
|
|
153
|
+
- Quality: \`"incomplete-implementation"\`, \`"dead-code"\`, \`"missing-documentation"\`
|
|
154
|
+
- Tier 2 project conventions (use these exact strings): \`"scratch-files"\`, \`"db-ddl-drift"\`, \`"audit-bypass-undocumented"\`, \`"credential-in-interface"\`, \`"spec-vs-impl"\`, \`"convention-execfile"\`, \`"convention-console"\`, \`"convention-throw"\`, \`"convention-as-any"\`
|
|
155
|
+
- Fallback: \`"Other"\`
|
|
72
156
|
- If there are NO findings, emit an empty array: \`"reviewFindings": []\`
|
|
73
157
|
- ALL fields (\`summary\`, \`filesChanged\`, \`approach\`, \`context\`, \`tokenBudget\`) are REQUIRED — even when there are no findings
|
|
74
158
|
- \`summary\` must be prose (NOT JSON). Write 1–2 sentences describing what was reviewed and the verdict.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-checklist.js","sourceRoot":"","sources":["../../src/security/review-checklist.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"review-checklist.js","sourceRoot":"","sources":["../../src/security/review-checklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiE3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBxC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCnC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -526,6 +526,9 @@ export declare const AuditEventTypeSchema: z.ZodEnum<{
|
|
|
526
526
|
"qa.gap_issue_filed": "qa.gap_issue_filed";
|
|
527
527
|
"review.fanout_fallback_used": "review.fanout_fallback_used";
|
|
528
528
|
"review.model_low_output_ratio": "review.model_low_output_ratio";
|
|
529
|
+
"pipeline.scratch_files_blocked": "pipeline.scratch_files_blocked";
|
|
530
|
+
"pipeline.typecheck_failed": "pipeline.typecheck_failed";
|
|
531
|
+
"pipeline.spec_vs_impl_failed": "pipeline.spec_vs_impl_failed";
|
|
529
532
|
}>;
|
|
530
533
|
export type AuditEventType = z.infer<typeof AuditEventTypeSchema>;
|
|
531
534
|
export declare const AuditActorTypeSchema: z.ZodEnum<{
|
|
@@ -582,6 +585,9 @@ export declare const AuditEventSchema: z.ZodObject<{
|
|
|
582
585
|
"qa.gap_issue_filed": "qa.gap_issue_filed";
|
|
583
586
|
"review.fanout_fallback_used": "review.fanout_fallback_used";
|
|
584
587
|
"review.model_low_output_ratio": "review.model_low_output_ratio";
|
|
588
|
+
"pipeline.scratch_files_blocked": "pipeline.scratch_files_blocked";
|
|
589
|
+
"pipeline.typecheck_failed": "pipeline.typecheck_failed";
|
|
590
|
+
"pipeline.spec_vs_impl_failed": "pipeline.spec_vs_impl_failed";
|
|
585
591
|
}>;
|
|
586
592
|
actor: z.ZodString;
|
|
587
593
|
actorType: z.ZodEnum<{
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -297,6 +297,19 @@ export const AuditEventTypeSchema = z.enum([
|
|
|
297
297
|
"slack.post_failed",
|
|
298
298
|
"qa.run_triggered", "qa.run_completed", "qa.gap_issue_filed",
|
|
299
299
|
"review.fanout_fallback_used", "review.model_low_output_ratio",
|
|
300
|
+
/** Tier 1a — the scratch-file denylist gate fired on this run, forcing a
|
|
301
|
+
* draft PR. Payload includes the matched paths. */
|
|
302
|
+
"pipeline.scratch_files_blocked",
|
|
303
|
+
/** Tier 1b — `pnpm typecheck` (or the configured equivalent) reported
|
|
304
|
+
* errors on the agent's diff before push. Payload includes errorCount and
|
|
305
|
+
* up to 5 first messages. The runner forces draft and surfaces the output
|
|
306
|
+
* in the PR body. */
|
|
307
|
+
"pipeline.typecheck_failed",
|
|
308
|
+
/** Tier 1c — the spec-vs-impl JSDoc gate found one or more docblock
|
|
309
|
+
* references to `config.X` / `opts.X` / etc. that aren't defined anywhere
|
|
310
|
+
* in the worktree. Payload lists matched (file, prefix, symbol) tuples
|
|
311
|
+
* (capped at 20). */
|
|
312
|
+
"pipeline.spec_vs_impl_failed",
|
|
300
313
|
]);
|
|
301
314
|
export const AuditActorTypeSchema = z.enum([
|
|
302
315
|
"system", "pm-agent", "webhook", "dashboard-user", "cli",
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|