Skip to content

spec(git): diff.t27 counts files by status with if/else, not a Rust match (Closes #12351) - #12352

Merged
gHashTag merged 1 commit into
masterfrom
claude/fix-git-diff-match
Oct 25, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/fix-git-diff-match

Conversation

@gHashTag

Copy link
Copy Markdown
Collaborator

Closes #12351

What

emit-bitexact ("No spec newly fails to generate") has been red on master since #4634. That PR filled count_files_by_status in specs/git/diff.t27 with a Rust match block, but t27 has no match, so typecheck refuses the spec and no backend generates it. Every PR opened on master since then inherits the failure, for example #12341.

This PR replaces the three match arms with an if / else if chain on item.status == Kind::X, the same idiom the file's own asserts already use. It also resaves the two seal files that name the spec (GitDiff.json and git_GitDiff.json) with a t27c built from master commit a6bdfefa5.

Checks

  • t27c typecheck specs/git/diff.t27: Typecheck OK (0 errors, 0 warnings).
  • t27c seal --verify specs/git/diff.t27: all hashes MATCH.
  • Neither seal contains a home path.
  • 3 files changed. The spec edit touches only count_files_by_status.

Not fixed here

t27c test-report specs/git/diff.t27 still reports BLOCKED. The spec calls a host function, execute_command, at 8 sites, and nothing declares it. That defect predates this PR, and the generation gate does not depend on it.

🤖 Generated with Claude Code

…atch (Closes #12351)

#4634 filled count_files_by_status with a Rust match block, which t27 does
not have, so specs/git/diff.t27 stopped typechecking. As a result the
emit-bitexact gate (tools/check_specs_generate.py) has been red on master
and on every PR opened since then. The three arms become an if / else if
chain on item.status == Kind::X, the idiom the file's own asserts already
use. Both seal files naming the spec were resaved with a t27c built from
master commit a6bdfef.

t27c typecheck specs/git/diff.t27: Typecheck OK (0 errors, 0 warnings).
t27c seal --verify specs/git/diff.t27: all hashes MATCH.

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

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-25 08:35:34 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 25
PRs with All Checks Green 25
READY 18
FAILING 25
PENDING 0
NO CHECKS YET 0

These columns do not partition: 18 + 25 + 0 + 0 = 43, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=75249fe1efad != 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 672aaca into master Oct 25, 2026
33 of 37 checks passed
gHashTag added a commit that referenced this pull request Oct 25, 2026
Clears inherited reds: diff.t27 typecheck (#12352) and TriBuilder seals (#12348).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag deleted the claude/fix-git-diff-match branch October 26, 2026 03:41
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.

spec(git): diff.t27 count_files_by_status uses a Rust match, master emit-bitexact red since #4634

1 participant