@phamvuhoang/otto-core 0.19.0 → 0.21.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.
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/journal-config.d.ts +9 -0
- package/dist/journal-config.d.ts.map +1 -0
- package/dist/journal-config.js +31 -0
- package/dist/journal-config.js.map +1 -0
- package/dist/journal-gate.d.ts +46 -0
- package/dist/journal-gate.d.ts.map +1 -0
- package/dist/journal-gate.js +135 -0
- package/dist/journal-gate.js.map +1 -0
- package/dist/journal-ledger.d.ts +13 -0
- package/dist/journal-ledger.d.ts.map +1 -0
- package/dist/journal-ledger.js +33 -0
- package/dist/journal-ledger.js.map +1 -0
- package/dist/journal-source.d.ts +19 -0
- package/dist/journal-source.d.ts.map +1 -0
- package/dist/journal-source.js +38 -0
- package/dist/journal-source.js.map +1 -0
- package/dist/journal.d.ts +46 -0
- package/dist/journal.d.ts.map +1 -0
- package/dist/journal.js +158 -0
- package/dist/journal.js.map +1 -0
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +31 -3
- package/dist/loop.js.map +1 -1
- package/dist/model-tier.d.ts +5 -0
- package/dist/model-tier.d.ts.map +1 -1
- package/dist/model-tier.js +13 -0
- package/dist/model-tier.js.map +1 -1
- package/dist/panel.d.ts +37 -3
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +126 -39
- package/dist/panel.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +3 -1
- package/dist/render.js.map +1 -1
- package/dist/review-severity.d.ts +41 -0
- package/dist/review-severity.d.ts.map +1 -0
- package/dist/review-severity.js +101 -0
- package/dist/review-severity.js.map +1 -0
- package/dist/risk.d.ts +3 -2
- package/dist/risk.d.ts.map +1 -1
- package/dist/risk.js +8 -7
- package/dist/risk.js.map +1 -1
- package/dist/run-bin.js +1 -1
- package/dist/run-bin.js.map +1 -1
- package/dist/run-report.d.ts +8 -0
- package/dist/run-report.d.ts.map +1 -1
- package/dist/run-report.js.map +1 -1
- package/dist/stages.d.ts +10 -0
- package/dist/stages.d.ts.map +1 -1
- package/dist/stages.js +13 -0
- package/dist/stages.js.map +1 -1
- package/dist/threads-api.d.ts +46 -0
- package/dist/threads-api.d.ts.map +1 -0
- package/dist/threads-api.js +101 -0
- package/dist/threads-api.js.map +1 -0
- package/package.json +1 -1
- package/templates/journal-screen.md +19 -0
- package/templates/journal-write.md +16 -0
- package/templates/lens-guidance/correctness.md +1 -0
- package/templates/lens-guidance/security.md +1 -0
- package/templates/lens-guidance/structural.md +25 -0
- package/templates/lens-guidance/task-fit.md +1 -0
- package/templates/lens-guidance/tests.md +1 -0
- package/templates/review-lens.md +16 -1
- package/templates/review-synth.md +18 -2
- package/templates/review-verify.md +11 -6
package/dist/panel.js
CHANGED
|
@@ -1,9 +1,64 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join, posix } from "node:path";
|
|
3
|
+
import { DEFAULT_AGENT } from "./agent-runtime.js";
|
|
3
4
|
import { git } from "./git.js";
|
|
4
5
|
import { executeStage } from "./stage-exec.js";
|
|
6
|
+
import { tierForLens } from "./model-tier.js";
|
|
5
7
|
import { sleep } from "./pacing.js";
|
|
8
|
+
import { classifyRisk, reviewDepthForLevel, selectLenses } from "./risk.js";
|
|
9
|
+
import { dedupeFindings, parseFindings, severityCounts, } from "./review-severity.js";
|
|
6
10
|
import { bold, dim, green, red, SYM } from "./stream-render.js";
|
|
11
|
+
import { emptyTokenUsage } from "./tokens.js";
|
|
12
|
+
/** Which lenses actually run this iteration. Router off → the full configured
|
|
13
|
+
* pool (today's behavior). Router on → risk-routed subset (Task 5). */
|
|
14
|
+
export function routedLenses(changedPaths, available, adaptiveRouter) {
|
|
15
|
+
if (!adaptiveRouter)
|
|
16
|
+
return [...available];
|
|
17
|
+
const depth = reviewDepthForLevel(classifyRisk(changedPaths).level);
|
|
18
|
+
const routed = selectLenses(depth, available);
|
|
19
|
+
if (routed.length)
|
|
20
|
+
return routed;
|
|
21
|
+
// depth === "single" → no lens subset, but the panel always runs ≥1 lens.
|
|
22
|
+
// Fall back to the medium subset (correctness/tests/task-fit — drops the
|
|
23
|
+
// strong-tier structural/security lenses, matching the low-risk depth) before
|
|
24
|
+
// the full pool, so a low-risk change still gets a proportionate review.
|
|
25
|
+
const medium = selectLenses("lenses", available);
|
|
26
|
+
return medium.length ? medium : [...available];
|
|
27
|
+
}
|
|
28
|
+
/** Parse every lens's findings file, tag with its lens, and dedupe across lenses
|
|
29
|
+
* so the verifier sees each issue once. `total` is the pre-dedupe count. */
|
|
30
|
+
export function mergeLensFindings(files) {
|
|
31
|
+
const all = [];
|
|
32
|
+
for (const { lens, text } of files)
|
|
33
|
+
all.push(...parseFindings(text, lens).findings);
|
|
34
|
+
return { findings: dedupeFindings(all), total: all.length };
|
|
35
|
+
}
|
|
36
|
+
/** Serialize a deduped finding back to a wire-format line:
|
|
37
|
+
* `SEVERITY | file:line | claim | why | fix?` (the trailing `| fix` is omitted
|
|
38
|
+
* when there is no suggested fix). The verifier globs `findings-*.md`, so the
|
|
39
|
+
* single merged file matches and is read exactly once. */
|
|
40
|
+
function findingToWire(f) {
|
|
41
|
+
const loc = f.line ? `${f.file}:${f.line}` : f.file;
|
|
42
|
+
const head = `${f.severity} | ${loc} | ${f.claim} | ${f.why}`;
|
|
43
|
+
return f.suggestedFix ? `${head} | ${f.suggestedFix}` : head;
|
|
44
|
+
}
|
|
45
|
+
/** Bounded-concurrency map over `items` (inline to avoid coupling to fanout.ts).
|
|
46
|
+
* Preserves input order in the result array regardless of completion order. */
|
|
47
|
+
async function boundedMap(items, limit, fn) {
|
|
48
|
+
const out = new Array(items.length);
|
|
49
|
+
let next = 0;
|
|
50
|
+
const width = Math.max(1, Math.min(limit, items.length));
|
|
51
|
+
const worker = async () => {
|
|
52
|
+
while (next < items.length) {
|
|
53
|
+
const i = next++;
|
|
54
|
+
out[i] = await fn(items[i], i);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
await Promise.all(Array.from({ length: width }, worker));
|
|
58
|
+
return out;
|
|
59
|
+
}
|
|
60
|
+
/** Max lens agents run concurrently (independent read-only reviews of one HEAD). */
|
|
61
|
+
const LENS_CONCURRENCY = 4;
|
|
7
62
|
const LENS_STAGE = {
|
|
8
63
|
name: "review-lens",
|
|
9
64
|
template: "review-lens.md",
|
|
@@ -28,19 +83,6 @@ function outcomeLine(note, ok = true) {
|
|
|
28
83
|
const mark = ok ? green(SYM.check) : red(SYM.cross);
|
|
29
84
|
process.stderr.write(`${dim(SYM.cont)} ${mark} ${dim(note)}\n`);
|
|
30
85
|
}
|
|
31
|
-
/** Human count of a lens's findings from its free-form output ("skip" = no commit to review). */
|
|
32
|
-
function findingsNote(result) {
|
|
33
|
-
const t = result.trim();
|
|
34
|
-
if (/<lens>\s*SKIP\s*<\/lens>/i.test(t))
|
|
35
|
-
return "skipped (no commit)";
|
|
36
|
-
const n = t
|
|
37
|
-
.split("\n")
|
|
38
|
-
.map((l) => l.trim())
|
|
39
|
-
.filter((l) => /^[-*]\s+\S/.test(l)).length;
|
|
40
|
-
if (n === 0)
|
|
41
|
-
return "no findings";
|
|
42
|
-
return `${n} finding${n === 1 ? "" : "s"}`;
|
|
43
|
-
}
|
|
44
86
|
function readVerdicts(panelHostDir) {
|
|
45
87
|
try {
|
|
46
88
|
const txt = readFileSync(join(panelHostDir, "verdicts.md"), "utf8");
|
|
@@ -75,7 +117,9 @@ function lensMutatedRepo(workspaceDir, baseHead) {
|
|
|
75
117
|
}
|
|
76
118
|
/** Harness-orchestrated reviewer panel: read-only lens reviews → one synth fix(review) commit. */
|
|
77
119
|
export async function runPanel(opts) {
|
|
78
|
-
const {
|
|
120
|
+
const { workspaceDir, packageDir, iteration, maxRetries, cooldownMs, tokenMode = "off", signal, agentId, resumeNote = "", onStage, recordStage, } = opts;
|
|
121
|
+
// Router off → the full configured pool (today's behavior); on → risk-routed.
|
|
122
|
+
const lenses = routedLenses(opts.changedPaths ?? [], opts.lenses, opts.adaptiveRouter ?? false);
|
|
79
123
|
const isoNow = () => new Date().toISOString();
|
|
80
124
|
const panelRel = `panel-${process.pid}-${iteration}-${Date.now()}`;
|
|
81
125
|
const panelHostDir = join(workspaceDir, ".otto-tmp", panelRel);
|
|
@@ -104,33 +148,76 @@ export async function runPanel(opts) {
|
|
|
104
148
|
return false;
|
|
105
149
|
};
|
|
106
150
|
try {
|
|
107
|
-
// 1. Lenses — each finds defects through one lens, read-only.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
151
|
+
// 1. Lenses — each finds defects through one lens, read-only. Run them
|
|
152
|
+
// concurrently (bounded) since they are independent reads of the same
|
|
153
|
+
// HEAD. The per-lens reset guard is UNSAFE while siblings run, so we do
|
|
154
|
+
// NOT restore inside the parallel region — the worktree started
|
|
155
|
+
// tracked-clean (when enforceReadOnly), so a single end-of-batch reset
|
|
156
|
+
// below undoes any read-only violation by any lens before verify runs.
|
|
157
|
+
phaseLine(`${lenses.length} lenses (parallel): ${lenses.join(", ")}`);
|
|
158
|
+
const lensStartedAt = isoNow();
|
|
159
|
+
// boundedMap preserves input (lens-index) order in `results`.
|
|
160
|
+
const results = await boundedMap(lenses, LENS_CONCURRENCY, (lens) => executeStage({
|
|
161
|
+
stage: { ...LENS_STAGE, tier: tierForLens(lens) },
|
|
162
|
+
vars: { LENS: lens, RESUME: resumeNote },
|
|
163
|
+
workspaceDir,
|
|
164
|
+
packageDir,
|
|
165
|
+
iteration,
|
|
166
|
+
maxRetries,
|
|
167
|
+
tokenMode,
|
|
168
|
+
signal,
|
|
169
|
+
agentId,
|
|
170
|
+
logLabel: `lens-${lens}`,
|
|
171
|
+
modelRouting: opts.modelRouting,
|
|
172
|
+
tierLadder: opts.tierLadder,
|
|
173
|
+
riskAssessment: opts.riskAssessment,
|
|
174
|
+
}).then((sr) => ({ lens, sr })));
|
|
175
|
+
// One reset for the whole batch: undoes any tracked mutation/commit a lens
|
|
176
|
+
// made in violation of the read-only contract, before the verifier reads.
|
|
177
|
+
restoreIfMutated("lenses");
|
|
178
|
+
// Emit evidence + budget control in lens-INDEX order (deterministic), even
|
|
179
|
+
// though the agents ran concurrently. onStage still owns the budget stop —
|
|
180
|
+
// but since every lens already ran, a stop just skips verify + synth.
|
|
181
|
+
let stop = false;
|
|
182
|
+
let cooldownFactor = 1;
|
|
183
|
+
for (const { lens, sr } of results) {
|
|
184
|
+
const parsed = parseFindings(sr.result, lens).findings.length;
|
|
185
|
+
outcomeLine(/<lens>\s*SKIP\s*<\/lens>/i.test(sr.result.trim())
|
|
186
|
+
? "skipped (no commit)"
|
|
187
|
+
: `${parsed} finding${parsed === 1 ? "" : "s"}`);
|
|
127
188
|
recordStage?.(lens, sr, lensStartedAt);
|
|
128
189
|
const ctrl = onStage?.(sr) ?? { stop: false, cooldownFactor: 1 };
|
|
129
190
|
if (ctrl.stop)
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
191
|
+
stop = true;
|
|
192
|
+
// Lenses ran concurrently, so there is one batch cooldown — pace it by the
|
|
193
|
+
// most-throttled lens (max factor) to honor adaptive backoff.
|
|
194
|
+
cooldownFactor = Math.max(cooldownFactor, ctrl.cooldownFactor);
|
|
195
|
+
}
|
|
196
|
+
if (stop) {
|
|
197
|
+
// Budget exhausted — skip verify + synth, return the last lens result.
|
|
198
|
+
return results[results.length - 1].sr;
|
|
133
199
|
}
|
|
200
|
+
// Merge + dedupe across lenses into a single findings-merged.md so the
|
|
201
|
+
// verifier (which globs findings-*.md) reads each issue exactly once. We
|
|
202
|
+
// deliberately do NOT also write per-lens findings-<lens>.md files — both
|
|
203
|
+
// would double-count under the glob.
|
|
204
|
+
const { findings } = mergeLensFindings(results.map((r) => ({ lens: r.lens, text: r.sr.result })));
|
|
205
|
+
const counts = severityCounts(findings);
|
|
206
|
+
if (findings.length === 0) {
|
|
207
|
+
// Nothing to verify or fix — return a synthetic clean result.
|
|
208
|
+
outcomeLine("no findings — skipping verify + synth");
|
|
209
|
+
return {
|
|
210
|
+
result: "<review>OK</review>",
|
|
211
|
+
costUsd: 0,
|
|
212
|
+
isError: false,
|
|
213
|
+
apiErrorStatus: null,
|
|
214
|
+
usage: emptyTokenUsage(),
|
|
215
|
+
runtimeId: agentId ?? DEFAULT_AGENT,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
writeFileSync(join(panelHostDir, "findings-merged.md"), findings.map(findingToWire).join("\n") + "\n", "utf8");
|
|
219
|
+
if (cooldownMs > 0)
|
|
220
|
+
await sleep(cooldownMs * cooldownFactor, signal);
|
|
134
221
|
// 2. Adversarial verify — a skeptic refutes the lens findings, writing
|
|
135
222
|
// verdicts.md (CONFIRMED/REJECTED) so synth only fixes survivors.
|
|
136
223
|
phaseLine("adversarial verify");
|
|
@@ -148,7 +235,7 @@ export async function runPanel(opts) {
|
|
|
148
235
|
logLabel: "verify",
|
|
149
236
|
});
|
|
150
237
|
restoreIfMutated("verify");
|
|
151
|
-
recordStage?.(VERIFY_STAGE.name, verify, verifyStartedAt);
|
|
238
|
+
recordStage?.(VERIFY_STAGE.name, verify, verifyStartedAt, counts);
|
|
152
239
|
const verdicts = readVerdicts(panelHostDir);
|
|
153
240
|
if (verdicts.exists) {
|
|
154
241
|
outcomeLine(`${verdicts.confirmed} confirmed, ${verdicts.rejected} rejected`);
|
|
@@ -204,7 +291,7 @@ export async function runPanel(opts) {
|
|
|
204
291
|
else {
|
|
205
292
|
outcomeLine("clean — no fix needed");
|
|
206
293
|
}
|
|
207
|
-
recordStage?.(SYNTH_STAGE.name, synth, synthStartedAt);
|
|
294
|
+
recordStage?.(SYNTH_STAGE.name, synth, synthStartedAt, counts);
|
|
208
295
|
onStage?.(synth);
|
|
209
296
|
return synth;
|
|
210
297
|
}
|
package/dist/panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAuB5B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,MAAM,CAAC,EAAE,YAAY,CAAC;IAItB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE,aAAkB,GACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAuB5B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,MAAM,CAAC,EAAE,YAAY,CAAC;IAItB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE,aAAkB,GACvB,MAAM,CAuIR"}
|
package/dist/render.js
CHANGED
|
@@ -53,9 +53,11 @@ export function renderTemplate(templatePath, vars, opts = {}) {
|
|
|
53
53
|
};
|
|
54
54
|
// Expand @include directives recursively until no directives remain.
|
|
55
55
|
// Each pass resolves relative paths against the including file's directory.
|
|
56
|
+
// vars are substituted into the path so @include:lens-guidance/{{ LENS }}.md works.
|
|
56
57
|
function expandIncludes(text, fromDir) {
|
|
57
58
|
const expanded = text.replace(INCLUDE_TAG, (_match, rel) => {
|
|
58
|
-
const
|
|
59
|
+
const resolvedRel = rel.replace(/\{\{\s*([A-Z0-9_]+)\s*\}\}/g, (m, k) => Object.prototype.hasOwnProperty.call(vars, k) ? vars[k] : m);
|
|
60
|
+
const target = isAbsolute(resolvedRel) ? resolvedRel : resolve(fromDir, resolvedRel);
|
|
59
61
|
const content = readFileSync(target, "utf8").replace(/\r?\n$/, "");
|
|
60
62
|
// Recurse so includes within included files are resolved relative to
|
|
61
63
|
// the included file's own directory.
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE/D,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,oBAAoB,CAAC;AAE5B,iFAAiF;AACjF,mFAAmF;AACnF,wFAAwF;AACxF,sFAAsF;AACtF,wFAAwF;AACxF,2FAA2F;AAE3F,qFAAqF;AACrF,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,wFAAwF;AACxF,kFAAkF;AAClF,gFAAgF;AAChF,MAAM,SAAS,GAAG,kCAAkC,CAAC;AACrD,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,MAAM,OAAO,GAAG,KAAK,CAAC;AACtB,gFAAgF;AAChF,kFAAkF;AAClF,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAsB1C,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC;IACrD,mFAAmF;IACnF,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,YAAoB,EACpB,IAAgB,EAChB,OAAsB,EAAE;IAExB,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAE7B,+EAA+E;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;IAC7C,MAAM,eAAe,GAAG,CAAC,OAAe,EAAW,EAAE;QACnD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,KAAK,MAAM,CAAC,IAAI,UAAU;YAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,qEAAqE;IACrE,4EAA4E;IAC5E,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;YACjE,MAAM,MAAM,GAAG,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Severity model + structured-finding plumbing for the review panel (P14).
|
|
3
|
+
* Pure — no I/O. Lenses and the verifier emit pipe-delimited finding lines;
|
|
4
|
+
* this module parses, ranks, dedupes, and applies the nit-suppression rule.
|
|
5
|
+
*/
|
|
6
|
+
export type Severity = "blocker" | "major" | "minor" | "nit";
|
|
7
|
+
export type Finding = {
|
|
8
|
+
severity: Severity;
|
|
9
|
+
file: string;
|
|
10
|
+
line?: string;
|
|
11
|
+
claim: string;
|
|
12
|
+
why: string;
|
|
13
|
+
suggestedFix?: string;
|
|
14
|
+
lens?: string;
|
|
15
|
+
};
|
|
16
|
+
/** Wire format, one finding per line: `SEVERITY | file:line | claim | why | fix?`
|
|
17
|
+
* `file:line` may be just `file`; the trailing `fix` field is optional. A line
|
|
18
|
+
* that does not yield a valid severity + ≥4 fields is dropped (counted). */
|
|
19
|
+
export declare function parseFindings(text: string, lens?: string): {
|
|
20
|
+
findings: Finding[];
|
|
21
|
+
dropped: number;
|
|
22
|
+
};
|
|
23
|
+
/** Stable sort by severity (blocker first); input order preserved within a tier. */
|
|
24
|
+
export declare function rankFindings(findings: Finding[]): Finding[];
|
|
25
|
+
/** Cursor output hierarchy: if any blocker/major exists, drop nits so synth and
|
|
26
|
+
* the report stay high-signal. Minors are kept (they are cheap and often real). */
|
|
27
|
+
export declare function suppressLowValue(findings: Finding[]): {
|
|
28
|
+
kept: Finding[];
|
|
29
|
+
suppressed: number;
|
|
30
|
+
};
|
|
31
|
+
/** Tally findings by severity and count how many nits were suppressed by the
|
|
32
|
+
* low-value suppression rule (i.e. how many nits would be dropped when a
|
|
33
|
+
* blocker or major is present). */
|
|
34
|
+
export declare function severityCounts(findings: Finding[]): Record<Severity, number> & {
|
|
35
|
+
suppressed: number;
|
|
36
|
+
};
|
|
37
|
+
/** Merge findings pointing at the same place: same file, overlapping line range,
|
|
38
|
+
* and the same normalized claim. Keeps the highest severity, unions the raising
|
|
39
|
+
* lenses (comma-joined, de-duped, sorted), and concatenates distinct why-text. */
|
|
40
|
+
export declare function dedupeFindings(findings: Finding[]): Finding[];
|
|
41
|
+
//# sourceMappingURL=review-severity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-severity.d.ts","sourceRoot":"","sources":["../src/review-severity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAUF;;6EAE6E;AAC7E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAmB1C;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAK3D;AAED;oFACoF;AACpF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG;IACrD,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAOA;AAmBD;;oCAEoC;AACpC,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,EAAE,GAClB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAKnD;AAED;;mFAEmF;AACnF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAsB7D"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Severity model + structured-finding plumbing for the review panel (P14).
|
|
3
|
+
* Pure — no I/O. Lenses and the verifier emit pipe-delimited finding lines;
|
|
4
|
+
* this module parses, ranks, dedupes, and applies the nit-suppression rule.
|
|
5
|
+
*/
|
|
6
|
+
const ORDER = ["blocker", "major", "minor", "nit"];
|
|
7
|
+
const RANK = { blocker: 0, major: 1, minor: 2, nit: 3 };
|
|
8
|
+
function asSeverity(token) {
|
|
9
|
+
const t = token.trim().toLowerCase();
|
|
10
|
+
return ORDER.includes(t) ? t : null;
|
|
11
|
+
}
|
|
12
|
+
/** Wire format, one finding per line: `SEVERITY | file:line | claim | why | fix?`
|
|
13
|
+
* `file:line` may be just `file`; the trailing `fix` field is optional. A line
|
|
14
|
+
* that does not yield a valid severity + ≥4 fields is dropped (counted). */
|
|
15
|
+
export function parseFindings(text, lens) {
|
|
16
|
+
const findings = [];
|
|
17
|
+
let dropped = 0;
|
|
18
|
+
for (const raw of text.split("\n")) {
|
|
19
|
+
if (!raw.includes("|"))
|
|
20
|
+
continue;
|
|
21
|
+
const parts = raw.split("|").map((p) => p.trim());
|
|
22
|
+
const severity = asSeverity(parts[0]);
|
|
23
|
+
if (!severity || parts.length < 4) {
|
|
24
|
+
dropped++;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const [fileRaw, claim, why] = [parts[1], parts[2], parts[3]];
|
|
28
|
+
const fix = parts[4]?.length ? parts[4] : undefined;
|
|
29
|
+
const m = fileRaw.match(/^(.*?):(\d+(?:-\d+)?)$/);
|
|
30
|
+
const file = m ? m[1] : fileRaw;
|
|
31
|
+
const line = m ? m[2] : undefined;
|
|
32
|
+
findings.push({ severity, file, line, claim, why, suggestedFix: fix, lens });
|
|
33
|
+
}
|
|
34
|
+
return { findings, dropped };
|
|
35
|
+
}
|
|
36
|
+
/** Stable sort by severity (blocker first); input order preserved within a tier. */
|
|
37
|
+
export function rankFindings(findings) {
|
|
38
|
+
return findings
|
|
39
|
+
.map((f, i) => ({ f, i }))
|
|
40
|
+
.sort((a, b) => RANK[a.f.severity] - RANK[b.f.severity] || a.i - b.i)
|
|
41
|
+
.map((x) => x.f);
|
|
42
|
+
}
|
|
43
|
+
/** Cursor output hierarchy: if any blocker/major exists, drop nits so synth and
|
|
44
|
+
* the report stay high-signal. Minors are kept (they are cheap and often real). */
|
|
45
|
+
export function suppressLowValue(findings) {
|
|
46
|
+
const hasHigh = findings.some((f) => f.severity === "blocker" || f.severity === "major");
|
|
47
|
+
if (!hasHigh)
|
|
48
|
+
return { kept: findings, suppressed: 0 };
|
|
49
|
+
const kept = findings.filter((f) => f.severity !== "nit");
|
|
50
|
+
return { kept, suppressed: findings.length - kept.length };
|
|
51
|
+
}
|
|
52
|
+
function range(line) {
|
|
53
|
+
if (!line)
|
|
54
|
+
return null;
|
|
55
|
+
const m = line.match(/^(\d+)(?:-(\d+))?$/);
|
|
56
|
+
if (!m)
|
|
57
|
+
return null;
|
|
58
|
+
const lo = Number(m[1]);
|
|
59
|
+
return [lo, m[2] ? Number(m[2]) : lo];
|
|
60
|
+
}
|
|
61
|
+
function overlaps(a, b) {
|
|
62
|
+
const ra = range(a);
|
|
63
|
+
const rb = range(b);
|
|
64
|
+
if (!ra || !rb)
|
|
65
|
+
return a === b; // no parsable range → exact-string match
|
|
66
|
+
return ra[0] <= rb[1] && rb[0] <= ra[1];
|
|
67
|
+
}
|
|
68
|
+
const norm = (s) => s.toLowerCase().replace(/\s+/g, " ").trim();
|
|
69
|
+
/** Tally findings by severity and count how many nits were suppressed by the
|
|
70
|
+
* low-value suppression rule (i.e. how many nits would be dropped when a
|
|
71
|
+
* blocker or major is present). */
|
|
72
|
+
export function severityCounts(findings) {
|
|
73
|
+
const counts = { blocker: 0, major: 0, minor: 0, nit: 0, suppressed: 0 };
|
|
74
|
+
for (const f of findings)
|
|
75
|
+
counts[f.severity]++;
|
|
76
|
+
counts.suppressed = suppressLowValue(findings).suppressed;
|
|
77
|
+
return counts;
|
|
78
|
+
}
|
|
79
|
+
/** Merge findings pointing at the same place: same file, overlapping line range,
|
|
80
|
+
* and the same normalized claim. Keeps the highest severity, unions the raising
|
|
81
|
+
* lenses (comma-joined, de-duped, sorted), and concatenates distinct why-text. */
|
|
82
|
+
export function dedupeFindings(findings) {
|
|
83
|
+
const out = [];
|
|
84
|
+
for (const f of findings) {
|
|
85
|
+
const hit = out.find((g) => g.file === f.file &&
|
|
86
|
+
norm(g.claim) === norm(f.claim) &&
|
|
87
|
+
overlaps(g.line, f.line));
|
|
88
|
+
if (!hit) {
|
|
89
|
+
out.push({ ...f });
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (RANK[f.severity] < RANK[hit.severity])
|
|
93
|
+
hit.severity = f.severity;
|
|
94
|
+
const lenses = new Set([hit.lens, f.lens].filter(Boolean).flatMap((l) => l.split(", ")));
|
|
95
|
+
hit.lens = [...lenses].sort().join(", ") || undefined;
|
|
96
|
+
if (f.why && !hit.why.includes(f.why))
|
|
97
|
+
hit.why = hit.why ? `${hit.why}; ${f.why}` : f.why;
|
|
98
|
+
}
|
|
99
|
+
return out;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=review-severity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-severity.js","sourceRoot":"","sources":["../src/review-severity.ts"],"names":[],"mappings":"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"}
|
package/dist/risk.d.ts
CHANGED
|
@@ -30,8 +30,9 @@ export declare function classifyRisk(changedPaths: string[]): RiskAssessment;
|
|
|
30
30
|
export declare function reviewDepthForLevel(level: RiskLevel): ReviewDepth;
|
|
31
31
|
/**
|
|
32
32
|
* Choose which review lenses run at a {@link ReviewDepth}, drawn (in order) from
|
|
33
|
-
* the available pool: `single` → none (a plain single reviewer), `lenses` →
|
|
34
|
-
*
|
|
33
|
+
* the available pool: `single` → none (a plain single reviewer), `lenses` → the
|
|
34
|
+
* medium subset (correctness, tests, task-fit — excludes security and structural),
|
|
35
|
+
* `panel` → the full pool including structural. Pure.
|
|
35
36
|
*/
|
|
36
37
|
export declare function selectLenses(depth: ReviewDepth, available: string[]): string[];
|
|
37
38
|
/** A per-iteration review-routing decision: how deep, which lenses, and why. */
|
package/dist/risk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.d.ts","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gEAAgE;AAChE,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,WAAW,GACX,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,CAAC;AAEd,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAwCF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,cAAc,CAiCnE;AAMD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CASjE;
|
|
1
|
+
{"version":3,"file":"risk.d.ts","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gEAAgE;AAChE,MAAM,MAAM,SAAS,GACjB,WAAW,GACX,WAAW,GACX,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,SAAS,CAAC;AAEd,uDAAuD;AACvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,mFAAmF;AACnF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAwCF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,cAAc,CAiCnE;AAMD,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,CASjE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAW9E;AAED,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,GAClB,aAAa,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAU3D"}
|
package/dist/risk.js
CHANGED
|
@@ -82,21 +82,22 @@ export function reviewDepthForLevel(level) {
|
|
|
82
82
|
return "panel";
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
/** Lenses to run at a given review depth, drawn from the available pool. */
|
|
86
|
-
const LENSES_DEPTH_CAP = 2;
|
|
87
85
|
/**
|
|
88
86
|
* Choose which review lenses run at a {@link ReviewDepth}, drawn (in order) from
|
|
89
|
-
* the available pool: `single` → none (a plain single reviewer), `lenses` →
|
|
90
|
-
*
|
|
87
|
+
* the available pool: `single` → none (a plain single reviewer), `lenses` → the
|
|
88
|
+
* medium subset (correctness, tests, task-fit — excludes security and structural),
|
|
89
|
+
* `panel` → the full pool including structural. Pure.
|
|
91
90
|
*/
|
|
92
91
|
export function selectLenses(depth, available) {
|
|
93
92
|
switch (depth) {
|
|
94
93
|
case "single":
|
|
95
94
|
return [];
|
|
96
|
-
case "lenses":
|
|
97
|
-
|
|
95
|
+
case "lenses": {
|
|
96
|
+
const medium = ["correctness", "tests", "task-fit"];
|
|
97
|
+
return available.filter((l) => medium.includes(l));
|
|
98
|
+
}
|
|
98
99
|
case "panel":
|
|
99
|
-
return available;
|
|
100
|
+
return [...available];
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
/**
|
package/dist/risk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"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"}
|
package/dist/run-bin.js
CHANGED
|
@@ -25,7 +25,7 @@ function ensureStateGitignored(workspaceDir) {
|
|
|
25
25
|
let existing = existsSync(gitignorePath)
|
|
26
26
|
? readFileSync(gitignorePath, "utf8")
|
|
27
27
|
: "";
|
|
28
|
-
for (const entry of [".otto/state.json", ".otto/runs/"]) {
|
|
28
|
+
for (const entry of [".otto/state.json", ".otto/runs/", ".otto/journal/"]) {
|
|
29
29
|
const alreadyPresent = existing
|
|
30
30
|
.split("\n")
|
|
31
31
|
.some((line) => line.trim() === entry);
|