Skip to content

Track repo-config/configure.sh + settings.json in the manifest (#379 follow-up) - #382

Merged
ptr727 merged 1 commit into
developfrom
repo-config-manifest-gap-379
Jul 22, 2026
Merged

Track repo-config/configure.sh + settings.json in the manifest (#379 follow-up)#382
ptr727 merged 1 commit into
developfrom
repo-config-manifest-gap-379

Conversation

@ptr727

@ptr727 ptr727 commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Follow-up from #379, surfaced by the Financial-Modeling agent while applying the item-2 re-vendor (Financial-Modeling#28).

The gap

repo-config/configure.sh and repo-config/settings.json are carried by every repo (configure.sh applies the rulesets; settings.json holds the values it applies), but neither was in spec/files.json. So they drifted unaudited — re-vendoring the now-tracked repo-config/README.md alone shipped a doc describing configure.sh behavior (sole-arg model, payload inference) that a repo's stale script did not have. The README and the script are a matched pair; only the README was tracked.

Fix

  • configure.shverbatim — a repo-agnostic tool (no hardcoded owner/repo) with nothing legitimate to diverge, where byte-drift is a functional bug. Presence-only (intent) would miss a stale-but-present script, which is exactly the gap here. A live audit now flags Financial-Modeling's old copy as stale (matches a past hub revision → re-vendor) — correctly, not "modified".
  • settings.jsonintent — its values are already audited by the settings diff, and its formatting varies harmlessly (2-space vs 4-space), so a byte check would false-flag; presence + intent is the right check.

Verification

spec/validate.py green; spec/audit.py --selftest pass; live audit surfaces the stale configure.sh and stays silent on the present settings.json. CRLF preserved.

Note: configure.sh as verbatim means downstreams on an older script now show verbatim DRIFT (stale → re-vendor) — the intended detection.

🤖 Generated with Claude Code

repo-config/configure.sh and repo-config/settings.json are carried by every repo
(configure.sh applies the rulesets; settings.json holds the values it applies)
but were absent from spec/files.json. So they drifted unaudited: re-vendoring the
now-tracked repo-config/README.md alone shipped a doc describing configure.sh
behavior a repo's stale script did not have (surfaced from Financial-Modeling).

- configure.sh -> verbatim: a repo-agnostic tool with nothing legitimate to
  diverge, where byte-drift is a functional bug. The audit now catches a stale
  copy directly (a live run flags Financial-Modeling's old script as stale ->
  re-vendor, exactly the case the gap was hiding).
- settings.json -> intent: its values are already audited by the settings diff,
  and formatting varies harmlessly, so presence + intent is the right check.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 22, 2026 00:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the spec baseline manifest to ensure the repo-config ruleset tooling is audited consistently across downstream repos, closing a gap where repo-config/configure.sh and repo-config/settings.json could drift without being detected.

Changes:

  • Add repo-config/configure.sh to spec/files.json with fidelity: verbatim to detect stale/modified copies.
  • Add repo-config/settings.json to spec/files.json with fidelity: intent to require presence without enforcing byte-identical formatting.

@ptr727
ptr727 merged commit 1860a40 into develop Jul 22, 2026
7 checks passed
@ptr727
ptr727 deleted the repo-config-manifest-gap-379 branch July 22, 2026 01:27
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.

2 participants