Report unresolved internal imports #25

Merged
pdurlej merged 1 commit from codex/wave2-unresolved-internal-import into codex/wave2-package-exports 2026-05-17 00:38:00 +02:00
Collaborator

Canary Context Pack

Product story

Agents need a first conservative review signal from the graph: relative imports that point nowhere. This should catch likely broken local imports without flagging external packages or intentionally skipped build output.

What changed

  • Added top-level findings with the first rule: unresolved-internal-import.
  • Findings include rule, severity, confidence, path, line, message, and evidence.
  • External package imports are ignored.
  • Relative imports into skipped build directories such as dist/ remain graph evidence but are not reported as high-confidence findings.
  • Updated schema docs, README, golden JSON, and tests.

Why it changed

This implements Wave 2 issue #9 after the graph and package public entrypoint evidence landed.

Files touched

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

Relevant context

Stacked on PR #24 / branch codex/wave2-package-exports.

Runtime evidence

  • npm run build
  • npm test
  • node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json produced findings: 0 for this repo.
  • git diff --check

Known constraints

Only one finding rule exists. No baseline, fail-on, fingerprinting, or agent classification buckets yet.

Explicit out-of-scope

No cycle detection, no unused-export detection, no dependency policy, no MCP server.

Requested decision

Review and approve as Wave 2 PR 3.

Merge blockers

External imports being reported as unresolved internal imports, or skipped build-output imports becoming noisy findings.

Closes #9.

## Canary Context Pack ### Product story Agents need a first conservative review signal from the graph: relative imports that point nowhere. This should catch likely broken local imports without flagging external packages or intentionally skipped build output. ### What changed - Added top-level `findings` with the first rule: `unresolved-internal-import`. - Findings include rule, severity, confidence, path, line, message, and evidence. - External package imports are ignored. - Relative imports into skipped build directories such as `dist/` remain graph evidence but are not reported as high-confidence findings. - Updated schema docs, README, golden JSON, and tests. ### Why it changed This implements Wave 2 issue #9 after the graph and package public entrypoint evidence landed. ### Files touched - `src/analyze.ts` - `src/types.ts` - `src/index.ts` - `tests/analyze.test.mjs` - `tests/golden/basic-report.json` - `docs/report-schema-v0.md` - `README.md` ### Relevant context Stacked on PR #24 / branch `codex/wave2-package-exports`. ### Runtime evidence - `npm run build` - `npm test` - `node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json` produced `findings: 0` for this repo. - `git diff --check` ### Known constraints Only one finding rule exists. No baseline, fail-on, fingerprinting, or agent classification buckets yet. ### Explicit out-of-scope No cycle detection, no unused-export detection, no dependency policy, no MCP server. ### Requested decision Review and approve as Wave 2 PR 3. ### Merge blockers External imports being reported as unresolved internal imports, or skipped build-output imports becoming noisy findings. Closes #9.
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
codex requested review from claude 2026-05-17 00:35:25 +02:00
pdurlej merged commit 96c99940f7 into codex/wave2-package-exports 2026-05-17 00:38:00 +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!25
No description provided.