Skip to content

The secret-scan gate goes green by fixing what it found - #2757

Merged
gHashTag merged 1 commit into
masterfrom
w699-coq-artifacts
Aug 28, 2026
Merged

The secret-scan gate goes green by fixing what it found#2757
gHashTag merged 1 commit into
masterfrom
w699-coq-artifacts

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Refs #2754

233 tracked files carried one developer's home directory, and the gate that rejects it had been red for months — it is paths:-filtered and had not run. Editing the root Cargo.toml for the release work woke it.

files what they were
fixed in #2756 60 seal spec_path fields the seal gate resolves, and scripts whose repository root could only ever be one person's
untracked here 208 committed Coq build artifacts — .vo/.vok/.vos/.glob/.aux, six megabytes, each recording the absolute path of the machine that produced it
rewritten here 98 markdown: research notes and setup docs quoting a path, now repository-relative
fixed here 3 a benchmark and a test writing to an absolute output directory, and a usage example naming one machine

Nothing reads the artifacts: coq-proofs.yml builds from source with coqc -R . Trinity <file>.v, and no tool or workflow references a .vo.

Four remain, and they are named

.mcp.json, .codex/config.toml, .codex/hooks.json, .claude/gitbutler-hooks.json each configure local tooling and must give an absolute path at run time, so there is no portable literal to substitute. They are excluded individually and with a reason in the gate, not hidden behind a count — if they move to an expanded variable, the line in the gate goes with the change.

The allowlist tolerates an optional ./ prefix: GNU grep on the runner prints it, BSD grep on a Mac does not, and a filter anchored to one of them means different things in the two places it is run.

tracked files carrying the path: 233 -> 0 outside those four
gate on this tree: 0 violations

Confirmed still able to fail: a planted file is caught immediately.

Found on the way, not fixed here

Two of the files touched are committed Python that does not parseclara-bridge/benchmarks/vsa_performance.py (_ = 0 1) and clara-bridge/tests/ta2/test_redteam.py — both broken before this change. Five of the first four hundred tracked .py files do not parse. Left to #2754 rather than mixed in here.

Suite 2424 passed / 0 failed; seal gate and check_gate_preconditions.py both exit 0.

🤖 Generated with Claude Code

233 tracked files carried one developer's home directory, and the gate that
rejects it had been red for months because it is paths-filtered and had not run.
Editing the root Cargo.toml for the release work woke it.

  60   load-bearing, fixed in the previous change: seal spec_path fields, which
       the seal gate RESOLVES, and scripts whose repository root could only ever
       be one person's
  208  committed Coq build artifacts -- .vo/.vok/.vos/.glob/.aux, six megabytes
       of them, each recording the absolute path of the machine that produced
       it. Nothing reads them: coq-proofs.yml builds from source with
       `coqc -R . Trinity <file>.v`, and no tool or workflow references one.
       Untracked here and covered by .gitignore.
  98   markdown -- research notes and setup docs quoting a path. Now
       repository-relative, which is what a reader of this repository can act on.
  3    a benchmark and a test writing to an absolute output directory, and a
       usage example naming one machine. Fixed.

Four remain, and they are NAMED INDIVIDUALLY in the gate rather than swept under
a count: .mcp.json, .codex/config.toml, .codex/hooks.json and
.claude/gitbutler-hooks.json each configure LOCAL TOOLING and must give an
absolute path at run time, so there is no portable literal to substitute. If
they move to an expanded variable, the line in the gate goes with the change.

The allowlist tolerates an optional `./` prefix: GNU grep on the runner prints
it and BSD grep on a Mac does not, and a filter anchored to one of them means
different things in the two places it is run.

    tracked files carrying the path: 233 -> 0 outside those four
    gate on this tree: 0 violations

Confirmed still able to fail: a planted file is caught immediately.

Two files were found to be committed Python that does not parse --
clara-bridge/benchmarks/vsa_performance.py and
clara-bridge/tests/ta2/test_redteam.py, both broken before this change. Five of
the first four hundred tracked .py files do not parse. Left to #2754.

Refs #2754

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-28 16:17:57 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=25a9c40dc273 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 26185a8 into master Aug 28, 2026
32 of 33 checks passed
@gHashTag
gHashTag deleted the w699-coq-artifacts branch August 28, 2026 16:28
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