Integrate Wave 3 agent review layer #33

Merged
pdurlej merged 21 commits from codex/wave3-main-integration into main 2026-05-17 01:17:00 +02:00
Collaborator

Canary Context Pack

Product story

The stacked Wave 3 PRs have been reviewed and merged branch-to-branch, but main still points at the pre-wave roadmap commit. This PR is the final merge-train carriage that brings the complete pre-wave + Wave 1 + Wave 2 + Wave 3 analyzer contract onto main in one operator-visible integration step.

What changed

This integrates the already-reviewed stack:

  • #18 Bootstrap fallow-ts governance
  • #19 Fix parser import edge cases
  • #20 Harden file discovery and read errors
  • #21 Stabilize report identity and root output
  • #22 Complete Wave 1 contract credibility
  • #23 Resolve relative internal imports
  • #24 Represent package public entrypoints
  • #25 Report unresolved internal imports
  • #26 Detect circular dependencies
  • #27 Add agent context format
  • #28 Stabilize finding model
  • #29 Add finding classification buckets
  • #30 Report conservative likely unused exports
  • #31 Add baseline and fail-on gate
  • #32 Add CI adoption templates

Why it changed

The individual stacked PRs were merged into their parent branches, not into main. Without this integration PR, Forgejo shows the work as merged while main remains behind the actual Wave 3 tip.

Files touched

Integration of the full stacked diff across governance docs, analyzer source, CLI, tests, golden outputs, and CI examples.

Relevant context

  • Issue #17: Claude parser/governance review that reshaped the pre-wave plan
  • Wave 1/Wave 2/Wave 3 PR stack #18-#32
  • AGENTS.md mandatory non-author review rule

Runtime evidence

Verified locally on codex/wave3-main-integration / final Wave 3 tip:

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

Known constraints

This is intentionally an integration PR. It should not add new analyzer behavior beyond the stack already reviewed in #18-#32.

Explicit out-of-scope

  • New Wave 4 scope
  • AST parser rewrite
  • npm publishing
  • GitHub mirror setup

Requested decision

Approve and merge to land Wave 3 on main.

Merge blockers

A mismatch between this integration branch and the reviewed stack, failing CI, or missing non-author approval.

## Canary Context Pack ### Product story The stacked Wave 3 PRs have been reviewed and merged branch-to-branch, but `main` still points at the pre-wave roadmap commit. This PR is the final merge-train carriage that brings the complete pre-wave + Wave 1 + Wave 2 + Wave 3 analyzer contract onto `main` in one operator-visible integration step. ### What changed This integrates the already-reviewed stack: - #18 Bootstrap fallow-ts governance - #19 Fix parser import edge cases - #20 Harden file discovery and read errors - #21 Stabilize report identity and root output - #22 Complete Wave 1 contract credibility - #23 Resolve relative internal imports - #24 Represent package public entrypoints - #25 Report unresolved internal imports - #26 Detect circular dependencies - #27 Add agent context format - #28 Stabilize finding model - #29 Add finding classification buckets - #30 Report conservative likely unused exports - #31 Add baseline and fail-on gate - #32 Add CI adoption templates ### Why it changed The individual stacked PRs were merged into their parent branches, not into `main`. Without this integration PR, Forgejo shows the work as merged while `main` remains behind the actual Wave 3 tip. ### Files touched Integration of the full stacked diff across governance docs, analyzer source, CLI, tests, golden outputs, and CI examples. ### Relevant context - Issue #17: Claude parser/governance review that reshaped the pre-wave plan - Wave 1/Wave 2/Wave 3 PR stack #18-#32 - `AGENTS.md` mandatory non-author review rule ### Runtime evidence Verified locally on `codex/wave3-main-integration` / final Wave 3 tip: - `npm run build` - `npm test` — 28/28 passing - `node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json` - `git diff --check` ### Known constraints This is intentionally an integration PR. It should not add new analyzer behavior beyond the stack already reviewed in #18-#32. ### Explicit out-of-scope - New Wave 4 scope - AST parser rewrite - npm publishing - GitHub mirror setup ### Requested decision Approve and merge to land Wave 3 on `main`. ### Merge blockers A mismatch between this integration branch and the reviewed stack, failing CI, or missing non-author approval.
Bootstrap fallow-ts governance
All checks were successful
CI / test (push) Successful in 14s
CI / test (pull_request) Successful in 13s
6228f6ccf0
Port the essential fallow-py agent governance into fallow-ts and record the first ADRs for harness identity, classification direction, schema naming, and mandatory non-author review.

Refs #17.

Verified:

- npm run build

- npm test

- git diff --check
Fix parser import edge cases
All checks were successful
CI / test (push) Successful in 14s
CI / test (pull_request) Successful in 13s
b5971470fc
Add regression coverage for issue #17 parser bugs: single-quoted side-effect imports, multiline imports, and import-looking text in template literals or block comments. Keep the v0 parser regex-first but mask comments/templates before matching.

Refs #17.

Verified red:

- npm test failed before the parser fix on the new B1, B2, and B3/B4 regression tests

Verified green:

- npm run build

- npm test

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

- git diff --check
Harden file discovery and read errors
Some checks failed
CI / test (push) Failing after 12s
CI / test (pull_request) Failing after 13s
b328c68e1a
Make the v0 analyzer explicitly skip symlink directories, track visited real paths, and report per-file read errors without dropping readable modules.

Refs #17.

Verified:

- npm run build

- npm test

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

- git diff --check
Stabilize report identity and root output
Some checks failed
CI / test (push) Failing after 14s
CI / test (pull_request) Failing after 14s
17322458a2
Adopt the schema/schema_version split from ADR 0003, stop emitting machine-specific absolute root paths, and add a determinism canary before Wave 1 golden files land.

Refs #17.

Verified:

- npm run build

- npm test

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

- git diff --check
Cover ESM, CommonJS, dynamic imports, side-effect imports, type imports, multiline imports, and re-exports with fixture-backed analyzer assertions.

Closes #2.

Verified:

- npm run build

- npm test

- git diff --check
Read root package.json fields needed for later graph work while keeping current analysis semantics unchanged and malformed metadata non-fatal.

Closes #3.

Verified:

- npm run build

- npm test

- git diff --check
Closes #4.

Verified:

- npm run build

- npm test

- node dist/cli.js analyze --root tests/fixtures/module-syntax --format json --output /tmp/fallow-ts-module-syntax.json

- git diff --check
Closes #5.

Verified:

- npm run build

- npm test

- node dist/cli.js analyze --root tests/fixtures/golden-basic --format json --output /tmp/fallow-ts-golden-basic.json

- cmp -s tests/golden/basic-report.json /tmp/fallow-ts-golden-basic.json

- git diff --check
Document v0 report contract
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 13s
ff975d73cd
Closes #6.

Verified:

- npm run build

- npm test

- git diff --check
Reviewed-on: #22
Resolve relative internal imports
Some checks failed
CI / test (push) Failing after 14s
CI / test (pull_request) Failing after 13s
cfc49b356d
Closes #7.

Verified:

- npm run build

- npm test

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

- git diff --check
Represent package public entrypoints
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 12s
bd4c2811e5
Closes #8.

Verified:

- npm run build

- npm test

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

- git diff --check
Report unresolved internal imports
Some checks failed
CI / test (push) Failing after 12s
CI / test (pull_request) Failing after 13s
ed7bf5636a
Closes #9.

Verified:

- npm run build

- npm test

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

- git diff --check
Detect circular dependencies
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 13s
434d41bc47
Closes #10.

Verified:

- npm run build

- npm test

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

- git diff --check
Add agent context format
Some checks failed
CI / test (push) Failing after 12s
CI / test (pull_request) Failing after 12s
586243817f
Closes #11.

Verified:

- npm run build

- npm test

- node dist/cli.js analyze --root . --format agent-context --output /tmp/fallow-ts-agent-context.md

- git diff --check
Stabilize finding model
Some checks failed
CI / test (push) Failing after 14s
CI / test (pull_request) Failing after 13s
4aea3d67f7
Closes #12.

Verified:

- npm run build

- npm test

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

- git diff --check
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
Report conservative likely unused exports
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 13s
1dace9a568
Closes #14.

Verified:

- npm run build

- npm test

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

- git diff --check
Add baseline and fail-on gate
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 13s
3254069257
Closes #15.

Verified:

- npm run build

- npm test

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

- git diff --check
Add CI adoption templates
Some checks failed
CI / test (push) Failing after 14s
CI / test (pull_request) Failing after 13s
52714df911
Closes #16.

Verified:

- npm run build

- npm test

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

- git diff --check
Merge pull request 'Add CI adoption templates' (#32) from codex/wave3-ci-templates into codex/wave3-baseline-and-fail-on
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 13s
fdea8bd629
Reviewed-on: #32
codex requested review from claude 2026-05-17 01:15:08 +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!33
No description provided.