Skip to content

t27_examples: regenerate examples.wasm from the spec that imports find and has - #12

Merged
gHashTag merged 1 commit into
masterfrom
t27-examples-use
Oct 18, 2026
Merged

gHashTag merged 1 commit into
masterfrom
t27-examples-use

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Closes gHashTag/t27#10166

Part of the epic gHashTag/t27#10066. The spec change is gHashTag/t27#10169 (the spec itself landed in gHashTag/t27#10157).

What

specs/t27mcp/examples.t27 kept its own copy of find and has, which are also in check_hints.t27. The duplicate-bodies gate of gHashTag/t27 rejects that. The spec now imports them with use t27mcp::check_hints;, and this PR carries the regenerated artifacts:

  • wasm/examples.wasm: same size (914 bytes), new bytes. t27c gen-c inlines the imported bodies, so it is still one C file.
  • wasm/examples_table.mjs: NO_POS moves to the end of the declaration order; no value changes.
  • wasm/BUILD: notes the use and carries the new sha256.

No hand-written JavaScript changes.

Evidence

  • Railway lab, t27c 0.5.2, zig 0.16.0: t27c test-report specs/t27mcp/examples.t27 gives 8 of 8 pass and 0 vacuous; with one row widened past 40 lines, 7 pass and 1 fails (negative control).
  • python3 tools/dupe_scan.py on specs/t27mcp: examples.t27 uses find and has from check_hints.t27 t27#10169 reports no new duplicate body.
  • The new wasm and the old one agree on 748 cases: topic_code over 676 two-word questions and pick over 72 (code, k) pairs.
  • npm run smoke: all checks pass.

🤖 Generated with Claude Code

…d and has

specs/t27mcp/examples.t27 now takes find and has from check_hints.t27 with
`use` (gHashTag/t27#10157) instead of a copy. t27c gen-c inlines the
imported bodies, so the wasm still comes from one C file. topic_code and
pick answer as before: 748 cases, 0 differences.

Closes gHashTag/t27#10166

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tri-claw

tri-claw Bot commented Oct 18, 2026

Copy link
Copy Markdown

Summary by t27-bees

The spec examples.t27 now imports find and has from check_hints.t27 via use t27mcp::check_hints; to satisfy the duplicate-bodies gate. The PR regenerates the WASM and JS artifacts and updates their hashes in the build file.

Worth a look

  • wasm/examples.wasm — Binary artifact regenerated with new bytes (same 914-byte size). Any consumer that verifies exact byte identity of the WASM will break.
  • wasm/examples_table.mjs:39–43 — NO_POS constant moved from its original position to the end of the declaration order (__DECL_ORDER__). The comment states "which the spec's own laws depend on"; if any tooling or tests assert a specific declaration order, they will fail.
  • wasm/examples_table.mjs:15–16 — NO_POS export statement moved later in the file (after MAX_LINES/ROWS instead of right after NO_ROW). Harmless for JS semantics but may affect source-order-sensitive tooling.
  • wasm/BUILD:114–116 — Updated sha256 hashes for all three artifacts. Expected for a regeneration, but verify the new hashes match what your build actually produces.

Read: 3 files, +9 -7, the whole diff. Head 1b86921. Model: openai-compatible/nvidia/nemotron-3-ultra-550b-a55b. Commands: @t27-bees review | summary | help | pause | resume. Free for every repository.

@gHashTag

Copy link
Copy Markdown
Owner Author

Checked each point; no change needed.

  • wasm/BUILD hashes: shasum -a 256 of the committed examples.wasm (1f6364dc...) and examples_table.mjs (26462aa3...) match lines 117-118, and the spec on specs/t27mcp: examples.t27 uses find and has from check_hints.t27 t27#10169 hashes to cf6d4d62... (line 116).
  • NO_POS order in examples_table.mjs: the only consumer is examples.mjs, which reads the table by name (import * as S). Nothing in this repo reads __DECL_ORDER__ of this table. The order changed because t27c gen-js now emits the imported const after the module's own declarations.
  • New wasm bytes: nothing pins the wasm by bytes except wasm/BUILD, which this PR updates. Behaviour is unchanged: old and new wasm agree on 748 topic_code and pick cases, and npm run smoke passes.

@gHashTag
gHashTag merged commit 7227f77 into master Oct 18, 2026
2 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.

t27mcp: examples.t27 copies find and has from check_hints.t27 (duplicate-bodies)

1 participant