Skip to content

Update S05 TRI-27 conformance to the emulator fixed in gHashTag/trinity#1250 #5614

Description

@dmitrii-f-t27

The six emulator defects tracked in gHashTag/trinity#1164 are fixed by gHashTag/trinity#1250 (merged as e7919fdc, 2026-10-02):

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:

  1. 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.
  2. 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.
  3. 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.t27
  • specs/isa/tri27_machine.t27
  • conformance/trinity/tri27_programs.json
  • tools/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.json
  • specs/isa/tri27_bytecode.t27
  • .trinity/seals/isa_Tri27Bytecode.json

User Scenarios & Testing

Requirements

  • FR-001: Each spec MUST add a FIXED_UPSTREAM constant (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, FINDINGS and FINDING_COUNT MUST NOT change; the specs stay pin-scoped.
  • FR-004: After the edit run t27c seal <spec> --save for both specs (the seal JSON is t27c output).

Success Criteria

  • grep -c 'trinity#1250' specs/isa/tri27_machine.t27 prints at least 1
  • grep -c 'trinity#1250' specs/isa/tri27_bytecode.t27 prints at least 1
  • grep -c 'pub const FINDING_COUNT : u32 = 15;' specs/isa/tri27_machine.t27 prints 1
  • grep -c 'pub const FINDING_COUNT : u32 = 8;' specs/isa/tri27_bytecode.t27 prints 1
  • grep -c '976df517419f918f05b78e73767e2fdf4aad14be' specs/isa/tri27_machine.t27 prints at least 1

Activity

  1. added
    needs-boundaryNo '## Boundary' section, so the Queen can reserve nothing for it and no bee can take it
    and removed
    needs-boundaryNo '## Boundary' section, so the Queen can reserve nothing for it and no bee can take it
    on Oct 3, 2026
  2. added a commit that references this issue on Oct 6, 2026
    e14276a
  3. added a commit that references this issue on Oct 6, 2026
    11b5be2
  4. added a commit that references this issue on Oct 11, 2026
    b05f8e0
  5. added a commit that references this issue on Oct 17, 2026
    9c3bae6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions