feat(gate): ADR-0074 materialization + no-coauthorship kombi (gitleaks value-rule + pytest commit-msg gate + auto-strip hook)#1165
Merged
Conversation
Promote Bearer-class titular gap (Frente 1) to PLAN_SUBJECT_CATEGORY_AXIS (candidate v1.9.0); PLANS_TODO + PLANS_HUB sync. Frente 2 (--report multi-lens) deferred. Audit-only — no product code.
Approve B-internal + Fideslang export-adapter hybrid: three PLAN_* slices (norm_tag hierarchy + Data-Subject, Data-Use, export adapter). Supersede #1072 narrow track. Evaluation-only — no product code or dependencies.
Add iter_scan_files with directory inode de-duplication and skip re-scanning the same file inode via symlink aliases. Closes infinite walk / duplicate finding risk on circular directory symlinks.
ADR-0076 OPA CI-lint (not runtime), ADR-0077 no client gitignore by design, ADR-0078 RegexSet-before-Vectorscan benchmark gate. Pin filesystem phase breakdown + refresh rust hotspot JSON. Isolated Rego prototype under research/.
…it-msg gate + auto-strip hook; b9ef0e1 co-author preservado como evidencia (forum #161253)
…r em synthetic_corpus:778)
Collaborator
Author
|
🔔 @FabioLeitao — PR #1165 VERDE: 14/14 checks pass, 0 fails. Fix gitleaks wrong-key (FP sintetico) landou LIMPO (co-author=0). Kombi anti-co-author + ADR-0074 prontos. Falta so o teu selo (Gate-Change sig) pra mergear. |
…o + kombi anti-co-author (gitleaks value-rule + pytest commit-msg gate + auto-strip hook); b9ef0e1 preservado como evidencia (forum #161253) | 2026-07-04 ``` -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgyEpOM79Y37xE8qOhlhghEfLh9P TzRdk6n8nzLfBNGqwAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx OQAAAEBBiQwFZfSnwrpVgJR5yamjMcOxprELHxFCkkCdyCuuSx3Rp2nPaxSyjItD1Qz2Rg qRlmL/25JaZDBH0Dv0DCcN -----END SSH SIGNATURE----- ```
Collaborator
Author
|
Gate-Close-Approved-By: @FabioLeitao (#1165) | ADR-0074 + kombi anti-co-author; b9ef0e1 preservado como evidencia (forum #161253) | 2026-07-04 |
Collaborator
Author
|
Gate-Close-Approved-By: @FabioLeitao (#1165) | ADR-0074 + kombi anti-co-author; b9ef0e1 preservado como evidencia (forum #161253) | head=d5493b4fc8b2bacbdacbbad950bb2ca17b634f5b | 2026-07-05 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(gate): ADR-0074 materialization + no-coauthorship kombi (gitleaks value-rule + pytest commit-msg gate + auto-strip hook)
Summary
Materializes the phantom ADR-0074 (supply-chain Layer 1 — digest pins + Rust SCA), closing the dangling
#987/#998references, and ships a deterministic no-coauthorship kombi that was born during the ADR-0074 smoke-test. Cohesive PR: the gate is the mechanism the ADR-0074 smoke-test exercised.Why these ship together
The ADR-0074 smoke-test (blind cursor-agent materializing the phantom) surfaced that Cursor injects
Co-authored-by: Cursorinto commits despite the "Commit Attribution" toggle being OFF — Anysphere's own position: "toggles are suggestions, not enforceable" (forum #161253; prior SEV-1). This repo therefore mechanically enforces what the vendor toggle won't (mechanism > trust).What's in it
ADR-0074 — born
Proposed, en_US, canonical sections, exact metadata (ADR-0045 §3/§5/§7). Resolves the#987/#998dangling refs.No-coauthorship kombi (defense-in-depth):
tests/test_commit_no_tool_coauthorship.py— fail-closed pytest gate on commit messages (ANYCo-authored-by:fails; no human allowlist — a name is forgeable). Deterministic esporro lists the violated ADRs to re-read in full..gitleaks.toml—no-coauthorship-at-allcontent rule (extend.useDefault=truepreserves all default secret rules)..githooks/commit-msg+ pre-commitcommit-msgstage — auto-strips injectedCo-authored-by:at commit time (defeats the broken toggle; the pytest gate is the LOUD backstop)..github/workflows/ci.yml,gitleaks.ymlnow--config .gitleaks.toml).Pre-existing FP hygiene (allowlist by VALUE, never by path):
.gitleaks.tomlregexesallowlist for the synthetic demo key (correct-key-12345) and the public GPG fingerprint (D6F81740…) — non-weakening (a new/real secret in the same files is still caught).core/demo/synthetic_corpus.py— source-fix of the synthetic placeholder (cosmetic).Evidence preservation (history is never rewritten)
Commit
b9ef0e14(the smoke-test ADR-0074 commit) carries the injectedCo-authored-by: Cursorand is intentionally preserved as evidence of the Cursor injection bug (for Anysphere/Anthropic analysis + transparency/dogfooding). The pytest gate exempts it by hash with a documented reason — a specific, sanctioned exception (not a weakening). Nogit reset/--amend/filter-repo.RCA (ADR-0047)
Root cause of the co-author: vendor-side, non-enforced control (Cursor Commit-Attribution toggle inoperative). Fix is at the root the operator controls — the repo's own commit-msg hook + gate — not a symptom suppression.
Acceptance criteria
./scripts/check-all.shgreen (pre-commit + 1600+ pytest + Bandit + Zizmor + Semgrep). ADR-0080.test_commit_no_tool_coauthorshippasses (HEAD clean; b9ef0e1 exempted).test_gitleaks_configpasses;gitleaks detect= no leaks.test_adr_governance_phase1= 9 passed (ADR-0074 conformant: born-Proposed, en_US, H1, date).80620964has zeroCo-authored-by).git commitNORMAL — no--no-verify/commit-tree/ bypass.docs/plans/PLAN_NO_COAUTHORSHIP_GATE.md+plans_hub_sync+PLANS_TODOentry.Grounded in
ADR-0037 (self-audit governance) · 0045 (ADR metadata) · 0046 (operator intent) · 0047 (RCA-first) · 0049 (no brittle) · 0056 (no --no-verify bypass) · 0062 (agent containment) · 0071 (self-protecting gate) · 0079 (rigor canon) · 0080 (local gate inviolable). ADR-0074 lineage: #987/#997/#998.
🤖 Generated with Claude Code