Skip to content

feat(intelligence): collect canonical ADR evidence - #134

Merged
szmyty merged 1 commit into
mainfrom
codex/adr-collector-115
Oct 5, 2026
Merged

szmyty merged 1 commit into
mainfrom
codex/adr-collector-115

Conversation

@szmyty

@szmyty szmyty commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

The Decisions renderer has no reusable input path for real canonical ADR files. This implements Relay #115 checkpoint 1: a local, read-only collector that reads one immutable public repository revision and produces an inspectable review envelope.

  • Document the source mapping before collection; pin the merged EgoLint compatibility update, Hygiene alpha.2 projection, accepted ADR policy, and Observatory normalizer with full revisions, Git trees, and 18 artifact digests.
  • Add collect_repository_adrs.py prepare/collect, reusing the existing roadmap runtime and safe-I/O helpers with an independent lock. Compose native EgoLint source checks, Hygiene schema/graph validation, EgoLint coverage checks, and Observatory normalization without copying sibling rules.
  • Preserve canonical IDs, lifecycle, implementation, approval, lineage, source links, and explicit incomplete coverage. Reject private inputs, unsafe paths, ambiguous metadata, excessive input, and stale runtime receipts. Keep all non-ADR domains uncollected.

The real Hygiene canary at 639a003d5ddc4d242c2cf190eeb59a9fc522d199 projects 12 existing ADRs, including ADR-002’s explicit human approval. Its missing policy reference and legacy/index/lineage gaps remain owner findings: the result is intentionally invalid/partial, not corpus conformance. No consumer files are changed. Complete real-canary and synthetic envelopes reproduce byte-for-byte across differently named checkouts. Sanitized pins, source hashes, candidate digests, and findings are retained in docs/evidence/repository-adrs-checkpoint-1.json.

Validation: 626 tests passed with zero skips, including 25 new ADR tests, native roadmap regression coverage, and the existing architecture suite. Both collector runtimes were prepared offline from their exact source locks. Five catalog/contract checks, compilation, shell syntax, JSON parsing, pinned continuity schema/structure/bounds, and whitespace checks passed. Ruby is unavailable locally; unchanged YAML metadata was parsed with pinned PyYAML, while hosted CI retains its Ruby check.

Every envelope remains publication: denied. Existing Decisions fragment rendering is verified, but production alpha.2 renderer adoption, action/workflow/local integration, external-snapshot conflict handling, build provenance, consumer deployment, and live verification belong to checkpoint 2 or later acceptance. The current public snapshot input rejects the review envelope. The refreshed continuity file preserves these distinctions.

Refs #115

@szmyty
szmyty merged commit d6aee17 into main Oct 5, 2026
17 checks passed
@devactivity-app

Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Achievements

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