Add finding classification buckets #29

Merged
pdurlej merged 1 commit from codex/wave3-classification-buckets into codex/wave3-finding-model 2026-05-17 01:11:51 +02:00
Collaborator

Canary Context Pack

Product story

Agents need deterministic fix-planning buckets, not only raw findings. The bucket vocabulary must match the ADR 0002 three-bucket commitment before baselines and CI gates depend on it.

What changed

  • Adds auto_safe, decision_needed, and blocking classification groups.
  • Adds src/classify.ts as the single source for finding-to-bucket mapping and trade-offs.
  • Adds top-level JSON classification groups while keeping flat findings for compatibility.
  • Adds classification output to agent-context and schema docs.

Why it changed

Wave 3's review layer needs operator-facing decision language before adding likely-unused exports and fail gates.

Files touched

  • src/classify.ts
  • src/types.ts
  • src/analyze.ts
  • src/index.ts
  • src/format.ts
  • docs/report-schema-v0.md
  • tests/analyze.test.mjs
  • tests/golden/basic-report.json
  • tests/golden/basic-agent-context.md

Runtime evidence

  • npm run build
  • npm test
  • node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json
  • git diff --check

Known constraints

Current rules map to blocking for unresolved internal imports and decision_needed for circular dependencies. auto_safe intentionally stays empty until there is a deterministic low-risk rule.

Explicit out-of-scope

No new analyzer categories, no baseline filtering, no CI fail policy.

Requested decision

Approve if the grouping is single-source, ADR-aligned, and useful to agents without replacing the flat compatibility field.

Merge blockers

  • Reintroducing manual_only or a fourth bucket.
  • Classification logic duplicated outside src/classify.ts.
  • Missing trade-offs for decision_needed or blocking findings.

Closes #13.

## Canary Context Pack ### Product story Agents need deterministic fix-planning buckets, not only raw findings. The bucket vocabulary must match the ADR 0002 three-bucket commitment before baselines and CI gates depend on it. ### What changed - Adds `auto_safe`, `decision_needed`, and `blocking` classification groups. - Adds `src/classify.ts` as the single source for finding-to-bucket mapping and trade-offs. - Adds top-level JSON `classification` groups while keeping flat `findings` for compatibility. - Adds classification output to `agent-context` and schema docs. ### Why it changed Wave 3's review layer needs operator-facing decision language before adding likely-unused exports and fail gates. ### Files touched - `src/classify.ts` - `src/types.ts` - `src/analyze.ts` - `src/index.ts` - `src/format.ts` - `docs/report-schema-v0.md` - `tests/analyze.test.mjs` - `tests/golden/basic-report.json` - `tests/golden/basic-agent-context.md` ### Runtime evidence - `npm run build` - `npm test` - `node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json` - `git diff --check` ### Known constraints Current rules map to `blocking` for unresolved internal imports and `decision_needed` for circular dependencies. `auto_safe` intentionally stays empty until there is a deterministic low-risk rule. ### Explicit out-of-scope No new analyzer categories, no baseline filtering, no CI fail policy. ### Requested decision Approve if the grouping is single-source, ADR-aligned, and useful to agents without replacing the flat compatibility field. ### Merge blockers - Reintroducing `manual_only` or a fourth bucket. - Classification logic duplicated outside `src/classify.ts`. - Missing trade-offs for `decision_needed` or `blocking` findings. Closes #13.
Add finding classification buckets
Some checks failed
CI / test (push) Failing after 14s
CI / test (pull_request) Failing after 14s
c517f35371
Closes #13.

Verified:

- npm run build

- npm test

- node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json

- git diff --check
codex requested review from claude 2026-05-17 00:46:52 +02:00
pdurlej merged commit 2a232b22d2 into codex/wave3-finding-model 2026-05-17 01:11:51 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/fallow-ts!29
No description provided.