Repository navigation
feat(t27c): gen-json -- the IGLA board event a spec states, as one JSON object (Closes #10050) - #10064
Merged
Conversation
…bject (Closes #10050) t27c gen-json reuses the gen-js value layer (const_value through the JS Target) and arranges the values into the board's event {job, stage, msg, progress, metrics}, the metrics keys taken from the spec's KEY_LENS/KEY_CELLS/KEY_STATUS/KEY_PCT and the 27 cells zipped from CELL_STATUS and CELL_PCT. Hand-written Rust: +30 lines, all in bootstrap/src/main.rs (already on the owner's exception list; a new file would need a protected list change). Offset named by the owner: docs/reports/data/W564-harness.sh (-26) and tools/jtag/read_user1.py (-20, already ported as specs/port/tools/jtag/read_user1.t27); the devhome baseline drops the deleted harness's line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 17, 2026 17:57
Contributor
This was referenced Oct 17, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 17, 2026
…irectory (Closes #10079) BACKENDS and SUBCOMMANDS gain the pair json / gen-json at index 4, pinned by the_backend_table_is_pinned. A gen/json/<stem>.json copy is then checked like every other copy: t27c gen-json specs/<stem>.t27 must reproduce it byte for byte. gen/jsonl/ stays an unknown backend. The L2 check runs the base's copy of this rule, so #10064 (gen-json, #10050) needs this entry on master before its committed gen/json/igla/own_model_board.json can pass. gen/c/policy/l2_generation.c is t27c gen-c output from the Railway lab (sha256 5d625a4c...33d1, 42175 bytes); test report 22/22, 0 vacuous. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Status of the PR-specific reds on d5af744:
🤖 Generated with Claude Code |
This was referenced Oct 17, 2026
Merged
Merged
Merged
gHashTag
added a commit
that referenced
this pull request
Oct 17, 2026
…irectory (Closes #10079) (#10082) * spec(policy): l2_generation -- gen/json/ is t27c gen-json's backend directory (Closes #10079) BACKENDS and SUBCOMMANDS gain the pair json / gen-json at index 4, pinned by the_backend_table_is_pinned. A gen/json/<stem>.json copy is then checked like every other copy: t27c gen-json specs/<stem>.t27 must reproduce it byte for byte. gen/jsonl/ stays an unknown backend. The L2 check runs the base's copy of this rule, so #10064 (gen-json, #10050) needs this entry on master before its committed gen/json/igla/own_model_board.json can pass. gen/c/policy/l2_generation.c is t27c gen-c output from the Railway lab (sha256 5d625a4c...33d1, 42175 bytes); test report 22/22, 0 vacuous. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * seal(policy): reseal l2_generation after the json backend entry (Refs #10079) spec-guards and coverage reported the seal stale: the spec changed in the previous commit. Resealed on the Railway lab with t27c seal specs/policy/l2_generation.t27 --save (zig 0.16.0): 22/22 pass, and the four gen hashes equal the "current" values CI printed (c 9bde97a5, rust 1381dab7, verilog c8b31e83, zig 1b937eda). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Merged
Merged
policy: owner-approved-foreign only for new foreign files and the gate itself (Closes #10197)
#10201
Merged
Merged
Merged
… post time (Refs #10050) The committed gen/json/igla/own_model_board.json went stale the moment master's map moved (622 bytes / 42% committed, master now states its own METRICS_BYTES and percentage), and every REVIEWED flip would move it again. It was a second home for what own_model_board.t27 already states, and the L2 rule refused it as a copy in a backend directory it does not know. The event is produced when it is posted, by t27c gen-json specs/igla/own_model_board.t27, and is never committed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-18 04:50:24 UTC
Summary
Seal Status
|
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 #10050
What
t27c gen-json <spec>prints the IGLA board event a spec states, as one compact JSON object:codegen_js::const_value(&JS, ...). That layer already spells strings, numbers and arrays as valid JSON, so no value is written in Rust.metricscome from the spec'sKEY_*consts.CELL_STATUSwithCELL_PCT. If the two arrays differ in length, the command stops with an error.gen-json: the spec declares no const KEY_PCT.gen/; whatever posts it runst27c gen-jsonat post time.gen/json/as a backend directory it does not know.Foreign-code gate
This adds Rust under
bootstrap/. The owner approved the label on 2026-10-18 and named the offset (translated from chat): "the label is approved; for the offset, deletedocs/reports/data/W564-harness.shandtools/jtag/read_user1.py, and keep the glue to 46 lines or fewer".bootstrap/src/main.rsonly: subcommand, 2 dispatch arms,run_gen_json)docs/reports/data/W564-harness.shdeletedtools/jtag/read_user1.pydeleted (already ported asspecs/port/tools/jtag/read_user1.t27)tools/devhome_baseline.txtdrops the deleted harness's line. It is modified, not deleted.foreign-budgetandown-languagepass in lefthook, on both pre-commit and pre-push.Lab output (Railway lab, /tmp/gj10050, PATH=/opt/zig, HEAD 9243cbf = this branch with origin/master 538df07 merged)
The metrics object is 626 bytes, equal to master's
METRICS_BYTES.An earlier run (before the drop commit) included a negative control: with
KEY_PCTremoved from a copy of the spec, the command printedError: gen-json: the spec declares no const KEY_PCTand exited 1.Not in this PR
The
igla-judgeRailway cron that POSTs this body toboard.railway.internal:8081/eventis the next step. It is config-only and is not part of this PR.🤖 Generated with Claude Code