Skip to content

feat(cli): tri igla — search/list/gate/check/triplet for IGLA RACE ledger#542

Open
gHashTag wants to merge 1 commit intomasterfrom
feat/tri-igla-541
Open

feat(cli): tri igla — search/list/gate/check/triplet for IGLA RACE ledger#542
gHashTag wants to merge 1 commit intomasterfrom
feat/tri-igla-541

Conversation

@gHashTag
Copy link
Copy Markdown
Owner

Summary

Adds a tri igla subcommand family — five commands for querying the IGLA RACE training ledger (trios-trainer-igla/assertions/seed_results.jsonl) and the embargo list.

Command Purpose
tri igla search Filter by --seed, --bpb-max, --step-min, --sha, --gate-status. Emits canonical R7 triplet per match.
tri igla list --last N Last N rows in triplet form (default 10).
tri igla gate --target T Gate-2 quorum check: PASS iff ≥3 seeds satisfy bpb < T AND step ≥ 4000. Exit 0 on PASS, 2 on NOT YET.
tri igla check <sha> Embargo refusal (R9). Exits non-zero if SHA is on assertions/embargo.txt.
tri igla triplet <i> Print canonical R7 triplet for row index i.

Triplet (R7)

BPB=<v> @ step=<N> seed=<S> sha=<7c> jsonl_row=<L> gate_status=<g>

Constitutional discipline

Hashes

  • spec_hash_after = cf443c08…3063f
  • gen_hash_after = 3d5ed0ea…46698
  • test_vector_hash = 6a6256e8…17a15a

Tests

  • cargo test (in cli/tri/): 17/17 pass — all spec tests, invariants, format-bpb edge cases.
  • E2E smoke against synthetic 4-row ledger + 8-SHA embargo:
    • gate --target 1.85PASS quorum=3/3 (rc=0)
    • check 477e3377 (embargoed) → REFUSED (rc=1)
    • check 2446855 (clean) → OK (rc=0)
    • search --bpb-max 1.85 --step-min 4000 → 3 hits
    • triplet 0BPB=2.497 @ step=12000 seed=43 sha=6a40e17 jsonl_row=1 gate_status=below_target_evidence
  • cargo fmt --check clean.

Files

  • specs/cli/igla.t27 (new, 401 lines)
  • cli/tri/src/igla.rs (new, 551 lines incl. tests)
  • cli/tri/src/main.rs (+1 import, +1 enum variant, +1 dispatch arm)
  • cli/tri/Cargo.toml (decoupled from workspace so cli/tri builds standalone)
  • .trinity/state/active-skill.json, .trinity/state/issue-binding.json
  • .trinity/seals/CliIgla.json
  • .trinity/events/akashic-log.jsonl

Closes #541

@github-actions
Copy link
Copy Markdown

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

…dger

Adds a five-subcommand `tri igla` family that reads the
trios-trainer-igla `assertions/seed_results.jsonl` ledger
plus `assertions/embargo.txt`:

- search   — filter by --seed/--bpb-max/--step-min/--sha/--gate-status,
             emits canonical R7 triplet per match
- list     — last N rows in triplet form (default 10)
- gate     — Gate-2 quorum (>= 3 seeds with bpb<target AND step>=4000)
- check    — embargo refusal (R9), exits non-zero on hit
- triplet  — print canonical R7 triplet for a row index

Triplet (R7):
  BPB=<v> @ step=<N> seed=<S> sha=<7c> jsonl_row=<L> gate_status=<g>

Constitutional discipline:
- Spec authored first at `specs/cli/igla.t27`
  (10 `test`, 6 `invariant`, 3 `bench`; ASCII-only).
- Backend at `cli/tri/src/igla.rs` matches the spec 1:1.
- Skill begin / spec seal / verdict / experience save /
  commit recorded under `.trinity/`.

Tests: 17 `cargo test` cases pass; e2e smoke verifies all five
subcommands against a synthetic three-seed Gate-2 PASS ledger and
the eight-SHA embargo file.

Closes #541
@gHashTag gHashTag force-pushed the feat/tri-igla-541 branch from 6704490 to b96a293 Compare April 26, 2026 17:17
@github-actions
Copy link
Copy Markdown

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

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.

feat(cli): tri igla — search/list/gate/check/triplet commands for IGLA RACE ledger

1 participant