Skip to content

Corpus ratchet red after #8209: constants.t27 discard channel moved (top-level-resync 37 -> 0) #8345

Closed

Description

@gHashTag

#8209 made specs/math/constants.t27 parse its former forall properties as sampled asserts, so the parser's top-level-resync channel for that spec went from 37 to 0 (total discard 386 -> 349). The suite ratchet treats any moved pin as a failure on purpose (it is an unexpected improvement), so "Corpus ratchet (expected-failure ledger)" is red on every PR since.

Fix: re-record the one entry with t27c suite --ratchet --bless-expectations and keep the ledger's hand-written history notes, which the writer drops.

Acceptance criteria

  • t27c suite --corpus-only --ratchet prints RATCHET: CLEAN
  • the _why_entries_fell and _why_entries_rose notes are kept

Boundary

docs/reports/suite_expectations.json

User Scenarios

  • Given the corpus ratchet ledger at docs/reports/suite_expectations.json contains an outdated entry for specs/math/constants.t27 with a top-level-resync discard count of 37, when the spec was changed by math/constants: compile again and pass 36 of 36, seal v2 (Closes #8301) #8209 so the parser now produces 0 discards for that channel, then running t27c suite --corpus-only --ratchet fails because the ratchet treats the moved pin as an unexpected improvement.
  • Given the fix is to re-record the ledger entry for specs/math/constants.t27 using the blessed ratchet command, when the command t27c suite --ratchet --bless-expectations is run, then the ledger updates the discard count from 37 to 0 while preserving the hand-written _why_entries_fell and _why_entries_rose history notes.
  • Given the ledger has been re-recorded, when a contributor runs t27c suite --corpus-only --ratchet on any PR, then the command prints RATCHET: CLEAN and exits successfully.

Requirements

  • FR-001: The corpus ratchet ledger at docs/reports/suite_expectations.json MUST be updated to reflect the current top-level-resync discard count (0) for specs/math/constants.t27.
  • FR-002: The hand-written history notes _why_entries_fell and _why_entries_rose in the ledger MUST be preserved during the re-recording.
  • FR-003: The command t27c suite --corpus-only --ratchet MUST print RATCHET: CLEAN and exit 0 after the ledger is updated.
  • FR-004: The re-recording MUST be performed using t27c suite --ratchet --bless-expectations as specified in the issue.

Success Criteria

  • t27c suite --corpus-only --ratchet prints RATCHET: CLEAN and exits 0
  • The ledger file docs/reports/suite_expectations.json shows top-level-resync discard count 0 for specs/math/constants.t27
  • The _why_entries_fell and _why_entries_rose notes remain present and unchanged in docs/reports/suite_expectations.json

Activity

  1. added a commit that references this issue on Oct 9, 2026
    8881377
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions