Repository navigation
fix(specs): integrate type renames without losing executable tests - #5869
Merged
dmitrii-f-t27 merged 2 commits intoOct 4, 2026
Merged
dmitrii-f-t27 merged 2 commits into
dmitrii-f-t27 merged 2 commits into
Conversation
… ratchet) `tri types ratchet` was red on master at 17f0986: ledger 77, observed 81, four NEW conflicts from the 2026-10-03 trinity port batch. Rename the newer definition inside its own file, as gHashTag#5504 did, instead of blessing the ledger: CounterState d_f19_test.t27 (gHashTag#5797) -> F19CounterState CounterState d_slow_blink.t27 (gHashTag#5798) -> SlowBlinkCounterState LRUCache gen_cache.t27 (gHashTag#5794) -> GenLRUCache TestCase gen_test_runner.t27 (gHashTag#5792) -> GenTestCase TestRunner gen_test_runner.t27 (gHashTag#5792) -> GenTestRunner All four backends emit byte-identical output for each file once the new name is mapped back. Ledger, classification and TYPE_CONFLICTS.md are unchanged (none of the names was in them); ratchet CLEAN at 77, classified OK. No seal existed for any of the four specs. Closes gHashTag#5810 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ests Merge current master into the original type-conflict repair, retaining the explicit zero initialization and all eight executable slow-blink tests. The four files differ from current master only in five type identifiers; all16backend pairs are otherwise byte-identical. The32existing Zig tests and9comptime invariants pass before and after. Type ratchet is77/77 CLEAN. The original0b4d69383 upstream commit and its genuine author remain in history. No compiler, generated file, classification or ledger changed. Update its single NOW receipt with current proof and implementation limits. Closes gHashTag#5810
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.
Closes #5810. Integrates the type renames from PR #5812 while preserving its original upstream commit and the executable counter tests accepted in #5851.
PR #5812 conflicts with current master in slow-blink zero-initialization and tuple bindings. The resolution keeps current master byte for byte except the five type names across four files. Function/test names, fields and runtime behavior are unchanged. One existing NOW receipt is corrected; no compiler, generated file, ledger, classification or seal is edited.
The source branch retains Dmitrii Vasilev's original0b4d69383 commit unchanged and adds one resolution merge authored by dmitrii-f-t27. Use a normal merge to preserve both commits/authors; the existing PR is retired only after this integration is accepted. This is a continuation of the same type-conflict repair, not an independent duplicate implementation.
Verification: current-master types ratchet81/77 fails; repaired77/77 CLEAN, classified77OK and same-file redef0. All four source pairs reverse exactly to current master. All16generator output pairs are byte-identical after reversing only type names and their backend uppercase/lowercase identifiers. Existing generated-Zig tests32/32 and9comptime invariants pass before and after; all four files have no discard/type errors/warnings. No duplicate group grows. Fresh cargo build -p tri succeeds with18existing warnings.
Generation equivalence does not establish C/Rust/RTL execution. Cache put/deinit and runner add/deinit remain stubs, and cache Verilog still says UNSUPPORTED_ICARUS. The fast corpus run completed:96primary failures versus95ledger, only existing packets.parse unexpected; no new primary failures, discards or ledger growth. Long phases were skipped; no full-repository green verdict is claimed. The independent packets parser/seal/ring issues are not hidden or blessed away.
{ "version": 1, "head_sha": "8bd31e74deb61425185334da9ffcf420c4b2ad5f", "summary": "Integrate existing corpus type renames while retaining executable slow-blink tests and genuine upstream authorship.", "changes": [ "Resolve the slow-blink conflict with current initialization, const bindings, eight tests and four invariants intact.", "Retain five original type renames in four ports and preserve original upstream commit0b4d69383 plus one owner-authored merge resolution.", "Update one NOW receipt; do not edit compiler, generated files, ledgers, classification or seals." ], "tests": [ { "command": "cargo build --release -p tri", "status": "passed", "result": "Fresh release build;18existing warnings.", "evidence": "type-renames-tri-build.log" }, { "command": "tri types ratchet; tri types classified; tri types redef", "status": "passed", "result": "Master81/77 fails, repaired77/77 CLEAN; classified77OK; redef0.", "evidence": "type-renames-type-gates.json and original master log." }, { "command": "Reverse approved source type names; t27c gen/gen-rust/gen-c/gen-verilog on all four master and repaired sources", "status": "passed", "result": "Four exact source reversals;16generated pairs differ only by type identifiers and their upper/lowercase backend spelling.", "evidence": "type-renames-verification.json and local proof outputs." }, { "command": "t27c parse-complete/typecheck/test-report all four sources, before and after", "status": "passed", "result": "Zero discarded tokens and type errors/warnings;32existing Zig tests and9comptime invariants pass before and after.", "evidence": "type-renames-proof per-file logs." }, { "command": "python3 tools/dupe_scan.py; python3 tools/check_now_entry_shape.py; git diff --check", "status": "passed", "result": "590of4752bodies/169groups, none grows; one well-formed NOW entry, clean diff.", "evidence": "type-renames-dupes.log and source diff." }, { "command": "t27c suite --repo-root . --fast --ratchet --corpus-only", "status": "failed", "result": "96primary failures vs95ledger, only existing packets.parse unexpected; no new discard/unexpectedpass/ledgergrowth/gatedrift. Long phases skipped.", "evidence": "type-renames-suite-fast.json/log at exact source8bd31e74d." } ], "limitations": [ "Fast corpus completed with the independent packets.parse failure; long phases skipped, no all-green full repository claim.", "Generated C/Rust/RTL equivalence is a names-only output comparison, not execution.", "Cache put/deinit and runner add/deinit remain original stubs; cache Verilog fields remain UNSUPPORTED_ICARUS.", "No board, synthesis, RF, timing or model inference verification." ], "tags": [ "Engineering", "Verification" ], "blog": { "title": "Type names must stay distinct without losing executable tests", "summary": "Integrate the existing corpus rename with current counter tests, preserving both authors and measuring unchanged generated behavior.", "outline": [ "An older rename collided with the counter test repair at initialization and tuple bindings.", "Preserve current executable tests and reverse only approved type identifiers.", "Measure77conflicted names and16names-only generated output pairs; report the remaining stubs separately." ] } }