Repository navigation
Update S05 TRI-27 conformance to the emulator fixed in gHashTag/trinity#1250 #5614
Copy link
Copy link
Description
The six emulator defects tracked in gHashTag/trinity#1164 are fixed by gHashTag/trinity#1250 (merged as e7919fdc, 2026-10-02):
- CALL pushes the address of the instruction after it (docs(proofs): Update README with v3.2 stats, Chimera v3.0, dashboard links #1165)
- loader.load packs one code word per four-byte fetch unit at byte 12 + i*4, pc = 3 (test: debug no label #1166)
- the writer and the loader agree on the twelve-byte header (feat(lagrangian): open problems sprint — 3 new .v files + status update #1167)
- the CONSTANTS parser reads id, then count, then count * 8 bytes (feat(lagrangian): strengthen Higgs + SM proofs, 75% completeness #1168)
- the modulus labels say 3^9 (feat(lagrangian): 4-agent parallel sprint — A4, Higgs, SM assembly, literature #1169)
- SACR is an immediate instruction in the decoder, so its mode round-trips (feat(coq): INV-6 H4 hyperparameter constraints formalized #1170)
The S05 specs in this repository are pin-scoped (PINNED_REVISION 976df517), so they remain true for that revision; this issue tracks bringing the living pieces to the fixed behavior:
- specs/isa/tri27_machine.t27 and specs/isa/tri27_bytecode.t27: add a note that the six FINDINGS are fixed upstream in fix(tri27-emu): repair the six pinned TRI-27 emulator defects (#1164) trinity#1250 (or move them to a fixed-findings section), without changing the pinned descriptions.
- The Python model in tools/trinity_tri27.py: CALL pushes pc + 1, the loader reads the twelve-byte header and packs at byte 12 with pc = 3, SACR joins IMM_FORM.
- conformance/trinity/tri27_programs.json: re-derive the affected vectors (call-never-returns becomes a returning call, loader-entry loses the six NOPs, load-good/load-constants-* use the canonical container, sacred expects the written mode).
No seal changes are proposed here; the specs stay pinned unless the S05 authors decide otherwise.
Refs gHashTag/trinity#1250, gHashTag/trinity#1164
Original file list
specs/isa/tri27_bytecode.t27specs/isa/tri27_machine.t27conformance/trinity/tri27_programs.jsontools/trinity_tri27.py
Queen-runnable restatement (2026-10-05)
Part 2 (the Python model) is foreign code and part 3 (the JSON vectors) is derived from it, so both stay out. Part 1 is t27: record in both pinned S05 specs that the findings are fixed upstream, without changing what they say about the pinned revision.
Boundary
specs/isa/tri27_machine.t27.trinity/seals/isa_Tri27Machine.jsonspecs/isa/tri27_bytecode.t27.trinity/seals/isa_Tri27Bytecode.json
User Scenarios & Testing
- Given master, where neither spec mentions fix(tri27-emu): repair the six pinned TRI-27 emulator defects (#1164) trinity#1250, when the change lands, then each spec names the findings fixed upstream in fix(tri27-emu): repair the six pinned TRI-27 emulator defects (#1164) trinity#1250 (e7919fdc) while
PINNED_REVISION,FINDINGSandFINDING_COUNTstay as they are.
Requirements
- FR-001: Each spec MUST add a
FIXED_UPSTREAMconstant (array of str) or a comment block that names fix(tri27-emu): repair the six pinned TRI-27 emulator defects (#1164) trinity#1250 and lists which of its own FINDINGS that PR fixes (CALL return address, loader packing and pc, header agreement, CONSTANTS layout, 3^9 labels, SACR immediate). - FR-002: The change MUST NOT add or modify non-t27 hand-written code (specs/policy/own_language.t27).
- FR-003:
PINNED_REVISION,FINDINGSandFINDING_COUNTMUST NOT change; the specs stay pin-scoped. - FR-004: After the edit run
t27c seal <spec> --savefor both specs (the seal JSON is t27c output).
Success Criteria
grep -c 'trinity#1250' specs/isa/tri27_machine.t27prints at least1grep -c 'trinity#1250' specs/isa/tri27_bytecode.t27prints at least1grep -c 'pub const FINDING_COUNT : u32 = 15;' specs/isa/tri27_machine.t27prints1grep -c 'pub const FINDING_COUNT : u32 = 8;' specs/isa/tri27_bytecode.t27prints1grep -c '976df517419f918f05b78e73767e2fdf4aad14be' specs/isa/tri27_machine.t27prints at least1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
Record upstream fixes from gHashTag/trinity#1250 in pinned S05 specs
docs: the coordination entry this branch needs to land
Merge master into spec/tri27-fixed-upstream-5614; reseal Tri27Machine…
isa: S05 TRI-27 specs state the emulator fixed in gHashTag/trinity#1250…