Skip to content

spec(port): the two CR-CHAT-04 padding guards compile under t27b natively (Refs #8884) - #9614

Merged
gHashTag merged 3 commits into
gHashTag:masterfrom
dmitrii-f-t27:port/cr-chat-04-wave2-t27b
Oct 17, 2026
Merged

gHashTag merged 3 commits into
gHashTag:masterfrom
dmitrii-f-t27:port/cr-chat-04-wave2-t27b

Conversation

@dmitrii-f-t27

Copy link
Copy Markdown
Contributor

Refs #8884 (CR-CHAT-04 ring tracker). Follow-up to #9613.

What changed

The t27b-native-ratchet run of #9613 named both new specs UNLISTED - the native backend blocked on:

  • padding_alignment_boundary_guard.t27: ExprArrayLiteral (const msgs = [N]PaddedMessage{...}, an array literal with no result type)
  • padding_block_size_alignment_guard.t27: ExprCall(@truncate) in the PBSA-06 fixture, then the same ExprArrayLiteral

Two rewrites, same tests, same rule order, same verdicts:

  1. Every const test array now carries its type annotation (const msgs: [1]PaddedMessage = [1]PaddedMessage{...}) - typed arrays lower in both backends (probe: t27b and t27c both pass a typed-const and typed-var array test).
  2. The PBSA-06 fixture marks each of its 257 IDs with one non-zero byte instead of a truncated index byte - the batch-size rule fires before any ID is examined, so the fixture needs no cast.

Measured (t27b built from this tree @ c54f94f, t27c same compiler sources)

gate alignment block_size
t27b test (native) 14 passed, 0 failed 13 passed, 0 failed
t27c test-report 14/14, 0 FAIL, 0 vacuous 13/13, 0 FAIL, 0 vacuous
gen-rust + rustc --edition 2021 exit 0 exit 0
coverage Untested 0 0
seal --save + --verify all hashes MATCH all hashes MATCH

With this, both specs are t27b passes: no ledger entries, no max_not_pass change (the ledger stays at its cap of 28 with zero additions from this lane).

Not done here

The remaining 34 targets of the #8884 tracker; the trios-side swaps (start after W0 lands).

…vely (Refs gHashTag#8884)

Follow-up to gHashTag#9613: the ratchet named both specs UNLISTED - t27b
blocked on ExprArrayLiteral (an untyped const array literal) and
ExprCall(@truncate). Both rewrites keep the same tests and the same
rule order: every const test array now carries its type annotation,
and the PBSA-06 fixture marks each ID with one non-zero byte instead
of a truncated index byte (the batch-size rule fires before any ID is
examined). Measured with t27b built from this tree:

- padding_alignment_boundary_guard: t27b test 14 passed, 0 failed
- padding_block_size_alignment_guard: t27b test 13 passed, 0 failed

Both specs re-pass the reference gates (t27c test-report 14/14 and
13/13, 0 vacuous; gen-rust output compiles under rustc; coverage
Untested 0) and carry fresh seals, all hashes MATCH.
…o CR-CHAT-04 padding guards (Refs gHashTag#8884)

The follow-up commit c54f94f was empty by mistake: the branch was
cut from the merged tree and the patched files were overwritten by
the checkout, so only the seal timestamps travelled - which is also
why the t27b-native workflow skipped the PR (its paths filter saw no
specs change). This commit carries the actual rewrite:

- every const test array now carries its type annotation (t27b's
  ExprArrayLiteral blocker: an untyped array literal has no result
  type);
- the PBSA-06 fixture marks each of its 257 IDs with one non-zero
  byte instead of a truncated index byte (the ExprCall(@truncate)
  blocker; the batch-size rule fires before any ID is examined).

Measured with t27b built from this tree: 14 passed 0 failed and 13
passed 0 failed; the reference gates re-pass (t27c test-report 14/14
and 13/13, 0 vacuous; gen-rust compiles under rustc; coverage
Untested 0) and both seals are fresh, all hashes MATCH.
…ledger (Refs gHashTag#8884)

Both measured t27b pass by this PR's ratchet run (the rows themselves
said so); the ledger names every spec the reference passes, so the two
entries land as pass rows. Hand edit in the PR, per the ledger's own
rule for OVER CAP moves; the non-pass count and max_not_pass are
untouched (28/28).
@dmitrii-f-t27

Copy link
Copy Markdown
Contributor Author

Merge request for the gHashTag merger: the steward gate on the final SHA 86ef02a answers READY (required checks all SUCCESS; the three red - cli-tri, duplicate-bodies, t27b-native-ratchet - are non-required per Q16 and red on master too: 157 pre-existing rows, none from this PR after the ledger rows landed). Progress note: #8884 (comment)

@gHashTag
gHashTag merged commit 088588c into gHashTag:master Oct 17, 2026
28 of 31 checks passed
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