Skip to content

feat(lint): verify reachable vendored imports - #46

Merged
jbeda merged 2 commits into
mainfrom
feat/recursive-lint-provenance
Sep 23, 2026
Merged

jbeda merged 2 commits into
mainfrom
feat/recursive-lint-provenance

Conversation

@jbeda

@jbeda jbeda commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Summary

Lint now plans all explicit inputs as one local import graph and verifies provenance digests for reachable vendored copies. Explicit roots retain full lint behavior; discovered models receive provenance verification only.

Semantics

  • Local filesystem traversal only; no network or subprocess path.
  • Resolved-path queue and visited set deduplicate shared dependencies and terminate cycles.
  • A digest mismatch is emitted once under the affected file path with its direct update remedy.
  • Nested unreadable, invalid, unsupported, or out-of-bound edges stop silently; this does not add transitive semantic lint.
  • Explicit input paths remain unchanged in text and JSON output.

Verification

  • task check
  • Graph fixtures cover direct children, owned intermediaries, shared dependencies, cycles, broken nested edges, explicit/discovered deduplication, unsupported vendored children, and path attribution.

Review

This is draft pending the required high review round.

Signed-off-by: Joe Beda <joe@stacklok.com>
Signed-off-by: Joe Beda <joe@stacklok.com>
@jbeda
jbeda marked this pull request as ready for review September 23, 2026 21:51
@jbeda
jbeda merged commit 907eb28 into main Sep 23, 2026
2 checks passed
@jbeda
jbeda deleted the feat/recursive-lint-provenance branch September 23, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant