Skip to content

feat(website): a Chip tab — the datapath each spec declares, and its silicon record - #955

Merged
gHashTag merged 1 commit into
mainfrom
feat/spec-chip-tab
Sep 6, 2026
Merged

feat(website): a Chip tab — the datapath each spec declares, and its silicon record#955
gHashTag merged 1 commit into
mainfrom
feat/spec-chip-tab

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Adds a Chip tab to the Spec Explorer: every .t27 spec is drawn as the
datapath it declares, and the formats that have been through the AX7203 carry
their hardware evidence chain beside the drawing.

Three new files plus five small edits to SpecExplorer.tsx. Nothing else moves.

The schematic

Derived from declarations the language already forces you to write — the bit
width of every constant, the field layout of every packed struct, the parameter
and return widths of every function. Buses render as parallel lanes with a
travelling pulse; the animation is pausable.

It is deliberately not presented as a netlist. The .t27 → Verilog backend
emits module shells today: 361 of 676 specs produce Verilog yosys accepts, and
every one yields 0 LUTs and 0 flip-flops. There is no placement to draw, and the
panel says so rather than drawing something suggestive.

Rows are capped at 12. The SVG scales to the panel width, so a 53-function spec
such as specs/numeric/gf16.t27 would otherwise shrink every label past reading;
the remainder is counted in words instead of rendered illegibly.

The hardware history

Keyed by an explicit spec-path table, never by name similarity — a spec
cannot acquire a hardware claim by resembling one.

gf4 gf8 gf12 gf16 gf20 gf24 ADD and MUL measured on silicon
SUB "bitstream ready, not yet flashed" — shown as preparation, not as a result
everything else, incl. gf32 "No hardware run", stated outright

Each claim displays at the strength it was earned: declared / proven by SAT /
bitstream ready / on silicon. Figures are transcribed from
research/goldenfloat-hw-conformance/GOLDENFLOAT_HW_CONFORMANCE_v0.2.md and the
evidence chain it cites — CI run, bitstream SHA-256, JTAG flash, UART log. The
GF16 and GF20 case studies are included, because what the hardware caught that
simulation missed is the most useful thing on the panel.

The section states explicitly that those silicon results belong to hand-written
RTL of the same format
, not to the Verilog these specs compile to. The spec and
the core describe the same number format; they are not the same artifact.

Why this is separate from #953

That branch is 16 commits and 787 changed files and conflicts with main — one
add/add conflict on SpecExplorer.tsx, which was added independently on both
sides. The two versions are content-identical apart from this chip work and a
RUNGO rename, so the feature needs none of the other 786 files. The rename
is left out here as unrelated scope.

Verified

  • tsc -b --force — zero errors naming any of the four files; repo baseline is
    179 pre-existing errors, unchanged
  • Production build green, and ON THE CHIP confirmed present in the emitted
    SpecExplorer chunk
  • Rendered and read back in a browser: specs/numeric/gf16.t27 shows ADD 512/512
    and MUL 512/512 on silicon with the NaN-fix note and the four-link chain; a
    tutorial spec shows "No hardware run"

EN and RU copy for every new string.

…silicon record

Every .t27 spec gets an animated schematic of how it looks as hardware, and the
formats that have actually been through the AX7203 carry their evidence chain
beside it.

The schematic is derived from declarations the language already forces you to
write: the bit width of every constant, the field layout of every packed struct,
and the parameter and return widths of every function. Buses render as parallel
lanes with a travelling pulse, pausable.

It is deliberately not presented as a netlist. The .t27 to Verilog backend emits
module shells today -- 361 of 676 specs produce Verilog yosys accepts, and every
one yields 0 LUTs and 0 flip-flops -- so no placement is drawn and the panel says
why. Rows are capped at 12 because the SVG scales to the panel width and a
53-function spec would otherwise shrink every label past reading; the remainder
is counted in words.

The hardware section is keyed by an explicit spec-path table rather than by name
similarity, so a spec cannot acquire a hardware claim by resembling one.
gf4/8/12/16/20/24 carry ADD and MUL measured on silicon; SUB is shown as
"bitstream ready, not yet flashed" rather than as a result; specs with no run say
so plainly instead of rendering an empty timeline that reads as pending. Figures
are transcribed from GOLDENFLOAT_HW_CONFORMANCE_v0.2 and the evidence chain it
cites: CI run, bitstream SHA-256, JTAG flash, UART log.

The panel states that those silicon results belong to hand-written RTL of the
same format, not to the Verilog these specs compile to.

EN and RU copy for every new string.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit b7bc7f5 into main Sep 6, 2026
27 of 33 checks passed
@gHashTag
gHashTag deleted the feat/spec-chip-tab branch September 6, 2026 09:07
github-actions Bot added a commit that referenced this pull request Sep 6, 2026
feat(website): a Chip tab — the datapath each spec declares, and its silicon record (#955)

Every .t27 spec gets an animated schematic of how it looks as hardware, and the
formats that have actually been through the AX7203 carry their evidence chain
beside it.

The schematic is derived from declarations the language already forces you to
write: the bit width of every constant, the field layout of every packed struct,
and the parameter and return widths of every function. Buses render as parallel
lanes with a travelling pulse, pausable.

It is deliberately not presented as a netlist. The .t27 to Verilog backend emits
module shells today -- 361 of 676 specs produce Verilog yosys accepts, and every
one yields 0 LUTs and 0 flip-flops -- so no placement is drawn and the panel says
why. Rows are capped at 12 because the SVG scales to the panel width and a
53-function spec would otherwise shrink every label past reading; the remainder
is counted in words.

The hardware section is keyed by an explicit spec-path table rather than by name
similarity, so a spec cannot acquire a hardware claim by resembling one.
gf4/8/12/16/20/24 carry ADD and MUL measured on silicon; SUB is shown as
"bitstream ready, not yet flashed" rather than as a result; specs with no run say
so plainly instead of rendering an empty timeline that reads as pending. Figures
are transcribed from GOLDENFLOAT_HW_CONFORMANCE_v0.2 and the evidence chain it
cites: CI run, bitstream SHA-256, JTAG flash, UART log.

The panel states that those silicon results belong to hand-written RTL of the
same format, not to the Verilog these specs compile to.

EN and RU copy for every new string.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
gHashTag added a commit to gHashTag/trinity-fpga that referenced this pull request Sep 6, 2026
… than planned

D99: gHashTag/trinity#955 merged to main (b7bc7f53) and published; the Chip tab
and its hardware history are on t27.ai now.

The branch PR (#953) could not carry it. 16 commits, 787 changed files, dirty
against main -- but the conflict was a SINGLE add/add on SpecExplorer.tsx,
which had been added independently on both sides. Diffing the two showed them
content-identical apart from the chip work and a RUN->GO rename, so the feature
needed none of the other 786 files. #955 is 4 files onto main directly.

Four checks were red on it and none were mine, verified against run history
rather than assumed: project-auto-status is 12/12 failures across unrelated
branches (expired token, HTTP 401), claude-code-review likewise 12/12, and
brain-ci fails on main itself. Every gate that exercises the change passed.

t27.ai is published by ghashtag.github.io's */15 cron, not by trinity's
deploy-docs. GitHub had throttled the schedule -- 46 minutes past the last
tick with nothing queued -- so the standing "never hand-dispatch" rule's own
exception applied and the dispatch was clean.

Verified by fetching the live bytes before looking at the page: the served
SpecExplorer chunk is the exact hash my build emitted and contains both marker
strings. That ordering is A43's lesson applied the same day it was learned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant