Repository navigation
nn/hslm: add the per-block VSA stream of the trained HSLM #10099
Copy link
Copy link
Closed as not planned
Labels
shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens itClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
Description
What
After #10062 (PR #10068), the nn/hslm spec has the trained shape of the HSLM that gHashTag/trinity-training trained (src/hslm @3e9648c1), but it still leaves out the per-block VSA stream from trinity_block.zig / model.zig forwardTrain. In that stream each block binds and rotates the trit sequence and gates on max similarity >= PHI_INV. When the gate fires, the block adds 0.1 * project(context) to its output, and the next block takes that output as its input.
The ternary STE update (shadow weights, TWN requantize, the STE backward) is not in this issue's scope. It belongs to the STE lane, #10076.
The conformance file nn_hslm_vectors.json still describes the 6-layer, FF 972, ctx 81 model, and nothing reads it.
Boundary
- specs/nn/hslm.t27
- specs/igla/own_model.t27
- specs/igla/own_model_board.t27
- conformance/nn_hslm_vectors.json
- .trinity/seals/HSLM.json
- .trinity/seals/nn_HSLM.json
User Scenarios
- Given the spec at position 0, when every block runs, then every gate fires and the VSA stream hands the block input on unchanged.
- Given the probe token at position 1, when block 0 runs, then its similarity stays under PHI_INV, the gate stays shut, and the output equals the stream-off output.
- Given the stream on, when the gradient checks run, then every central-difference check still passes, because the stream never reads a float parameter.
Requirements
- Write
.t27only; no hand-written foreign code. - The VSA offset does not depend on the float parameters, so the existing finite-difference gradient checks still hold with the stream on.
- Add a mutation control: a gate mutant and a gain mutant each fail at least one test.
- Raise own_model's forward-pass cell and mirror the change in own_model_board; leave the STE cells to spec(own-model): ternary STE, HSLM backward and data/checkpoint layout in t27 (cells 16-18) #10076.
- Delete the stale conformance file.
Success Criteria
t27c test-report specs/nn/hslm.t27on the Railway lab: 0 FAIL, 0 vacuous.t27c test-reportofspecs/igla/own_model.t27andspecs/igla/own_model_board.t27: 0 FAIL, 0 vacuous.t27c seal specs/nn/hslm.t27 --savere-saves.trinity/seals/HSLM.jsonand.trinity/seals/nn_HSLM.json.- Each of the 2 mutants fails at least 1 test.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens itClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
Activity
spec(hslm): nn/hslm runs the per-block VSA stream (Closes #10099)
[-]spec(hslm): nn/hslm runs the VSA stream and the trainer's ternary STE step[/-][+]nn/hslm: add the per-block VSA stream of the trained HSLM[/+]github-actions commentedon Oct 17, 2026
Closed by the issue-shape gate (specs/policy/issue_shape.t27, #7498): an issue must have the template's sections. Edit the body; an edit that passes reopens it.
FR-001: ... MUST ...Merge master into feat/hslm-vsa-ste; keep both own_model sides (Closes …
spec(hslm): nn/hslm runs the per-block VSA stream (Closes #10099) (#1…