Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .trinity/seals/claw_ClawLabDisk.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"built_by": "t27c-bootstrap@0.5.2+9448ab4be",
"closure": [
{
"spec": "specs/claw/text.t27",
"spec_hash": "sha256:968755ec1917f766eb2cdd0ab4c0c48aef028a0e7d69e191911695e925b286ad"
}
],
"config": "gen=c,rust,verilog,zig;tests=zig",
"gen_hash_c": "sha256:a5832b28b521ad179e99fee0b263f599b5a8c82e42366cb24c595b8a4a750924",
"gen_hash_rust": "sha256:cfc04e8965f0f5164765cb597ca99533e4ec134bcbf451cd889698f6fa25f58b",
"gen_hash_verilog": "sha256:3a90cbd4b4ad92a271bf63c7ae8da58fa4a453b1ea26518f4ca05d653746ff63",
"gen_hash_zig": "sha256:a13391de0f3672d872614e98bfe16e7022515df16a09cdd28e5f0320e1430e7b",
"module": "ClawLabDisk",
"ring": 12,
"seal_schema": 2,
"sealed_at": "2026-10-19T03:21:48Z",
"sealed_by": "t27c-bootstrap@0.5.2",
"spec_hash": "sha256:e6f72ecf00aec2c63dce43b3cce803db99b676ea4bf258e03689df9eb20b6018",
"spec_path": "specs/claw/lab_disk.t27",
"tests": {
"failed": 0,
"failing": [],
"forced": false,
"passed": 18,
"total": 18,
"vacuous": 0
},
"toolchain": {
"test_runner": "sha256:8512b80da533b79289110fca4a65f3336abd7a059ca4b72ea595d5e33ff8ad10",
"zig": "0.16.0"
}
}
33 changes: 33 additions & 0 deletions .trinity/seals/claw_ClawLabReceipt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"built_by": "t27c-bootstrap@0.5.2+9448ab4be",
"closure": [
{
"spec": "specs/claw/text.t27",
"spec_hash": "sha256:968755ec1917f766eb2cdd0ab4c0c48aef028a0e7d69e191911695e925b286ad"
}
],
"config": "gen=c,rust,verilog,zig;tests=zig",
"gen_hash_c": "sha256:2acc9111cc283136a731bf7d06118ceaca105af33587643a6936f1b0c0516304",
"gen_hash_rust": "sha256:87d52527a2ad710b42de89eb29ef582e5abe11aa4a644516ac0b666950bc8858",
"gen_hash_verilog": "sha256:8a6938e577ce38d1c18a28c97d9c448961f941c368db939703cdff653158f0e3",
"gen_hash_zig": "sha256:9a8adacb105c2e3754029cdb6288e11421368ec5d5641adec41aa1f271cfd454",
"module": "ClawLabReceipt",
"ring": 12,
"seal_schema": 2,
"sealed_at": "2026-10-19T03:11:31Z",
"sealed_by": "t27c-bootstrap@0.5.2",
"spec_hash": "sha256:cd1a19fbf10edaff4f258cf5265a5fc28243062e58d9987a56f214545e569560",
"spec_path": "specs/claw/lab_receipt.t27",
"tests": {
"failed": 0,
"failing": [],
"forced": false,
"passed": 18,
"total": 18,
"vacuous": 0
},
"toolchain": {
"test_runner": "sha256:8512b80da533b79289110fca4a65f3336abd7a059ca4b72ea595d5e33ff8ad10",
"zig": "0.16.0"
}
}
33 changes: 33 additions & 0 deletions .trinity/seals/claw_ClawMutKnown.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"built_by": "t27c-bootstrap@0.5.2+9448ab4be",
"closure": [
{
"spec": "specs/claw/text.t27",
"spec_hash": "sha256:968755ec1917f766eb2cdd0ab4c0c48aef028a0e7d69e191911695e925b286ad"
}
],
"config": "gen=c,rust,verilog,zig;tests=zig",
"gen_hash_c": "sha256:4d8214dd7ec4721c48dfc9fff85291cd3ae826c50f6fb1bc8194610a8ab0bd02",
"gen_hash_rust": "sha256:933124083d9a6e92e554585447af7cccd1b0c375bb48066b9d91cd23060c9c90",
"gen_hash_verilog": "sha256:2c5ea6b85656230964260b2d750a28fd4db1c878b1450b2e4b06982e1f2ba0b9",
"gen_hash_zig": "sha256:d62cd56e4f7d36a85737fafa40cf973e97fc541deb44459a5e2a5f4d2116cb8f",
"module": "ClawMutKnown",
"ring": 12,
"seal_schema": 2,
"sealed_at": "2026-10-19T05:23:05Z",
"sealed_by": "t27c-bootstrap@0.5.2",
"spec_hash": "sha256:6a2f2e78d54f8492572f9b962da69fbd7099ebeba42f96b6ef6aaeab803c889b",
"spec_path": "specs/claw/mut_known.t27",
"tests": {
"failed": 0,
"failing": [],
"forced": false,
"passed": 28,
"total": 28,
"vacuous": 0
},
"toolchain": {
"test_runner": "sha256:8512b80da533b79289110fca4a65f3336abd7a059ca4b72ea595d5e33ff8ad10",
"zig": "0.16.0"
}
}
33 changes: 33 additions & 0 deletions .trinity/seals/claw_ClawRedOrigin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"built_by": "t27c-bootstrap@0.5.2+9448ab4be",
"closure": [
{
"spec": "specs/claw/text.t27",
"spec_hash": "sha256:968755ec1917f766eb2cdd0ab4c0c48aef028a0e7d69e191911695e925b286ad"
}
],
"config": "gen=c,rust,verilog,zig;tests=zig",
"gen_hash_c": "sha256:9aadf5a0c6fb059a4c986f2e4ded6c8d4a5e2837b7d31b014d9ba03eb9d3fd9b",
"gen_hash_rust": "sha256:515a25e36579d2525c44bd2b5d1f982f0fb37ba16350cbd5b0d42e9c2c676678",
"gen_hash_verilog": "sha256:ad520108d7b60f60ab6d3257a44ee992e61a5b62dbb3ab36a91ba64628e58f6b",
"gen_hash_zig": "sha256:3d2b2ba9bfa9c1109c4ab5a09135df2e121d2f1e6df45d58ab32e29dcf09333a",
"module": "ClawRedOrigin",
"ring": 12,
"seal_schema": 2,
"sealed_at": "2026-10-19T03:41:21Z",
"sealed_by": "t27c-bootstrap@0.5.2",
"spec_hash": "sha256:ca93d2b89d539b2f811f8d42465df012dc2c664791fe2121f0809214b576bcbe",
"spec_path": "specs/claw/red_origin.t27",
"tests": {
"failed": 0,
"failing": [],
"forced": false,
"passed": 18,
"total": 18,
"vacuous": 0
},
"toolchain": {
"test_runner": "sha256:8512b80da533b79289110fca4a65f3336abd7a059ca4b72ea595d5e33ff8ad10",
"zig": "0.16.0"
}
}
4 changes: 4 additions & 0 deletions docs/claw/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ behind one front door, with the gate logic in `.t27` specs. Epic
| Required red: push_gate's req_red flag from the rollup, newest run per required check, so a red check that is not required never triggers a fix push | `specs/claw/required_red.t27` (check_latest rows in; an R count line and an `F req_red true/false/unknown` line out; not wired to a job yet) | #10606 |
| Merge lane: is the merger starved, and does it merge anything? Counts its runs, the oldest open age, the PRs each run merged, and its share of the whole queue, so an hour-long wait, a zero yield or a tenth of the queue shows up as data | `specs/claw/merge_lane.t27` (rows per merger run or per queued run; `F merger`, `F merger-yield` and `F merger-share low/high/unknown/none` out) | #10644 |
| Shape race: the issue-shape gate judges the event payload, which can be twenty minutes old; replays a gate timeline under the payload reading and a live reading, so an issue closed with a passing body shows up as data | `specs/claw/shape_race.t27` (rows `created TAB ran TAB ok` per gate event; an `R` line and `F shape-race clean/race/unknown/none` out; #10644 is the fixture; the workflow change is the owner's decision) | #10662 |
| Lab receipt: whether a hand-run lab check of a patch really ran on the patch. A `git apply` that changed fewer files than the diff, a blank or BLOCKED test report, zero tests, a failure or a vacuous pass all hold | `specs/claw/lab_receipt.t27` (expected and applied file counts and the t27c `test-report` text in; one `L pass/hold` line with the reason out; not wired to a job yet) | #10810 |
| Lab disk: whether a lab volume has room for a check, read from `df -Pk` before it runs. Under 1 GiB free holds; under 5 GiB or under 10% free warns; a mount df does not list, or a line with no readable size, holds | `specs/claw/lab_disk.t27` (`df -Pk` text and a mount in; one `D go/warn/hold` line with the reason out; not wired to a job yet) | #10813 |
| Red origin: whose red a failing check is. A file the log names that the PR changes, or a green master, makes it the PR's; a red master, or a named file master changed since the PR's base, makes it inherited, and the PR gets no push. Ask required_red first | `specs/claw/red_origin.t27` (the PR's paths, the log's named paths, master's moved paths and master's state in; one `O own/inherited/unknown` line with the reason out; not wired to a job yet) | #10821 |
| Known survivors: whether a mutation sweep holds anything new. A survivor is keyed by its spec, operator and line text, not its line number, so an argued equivalent stays known when lines above it move; a new survivor, a NOAPPLY line or an unreadable line holds; a known entry no line matches asks to be pruned | `specs/claw/mut_known.t27` (the sweep text and the known list in; one `E pass/hold` line with the reason, and one `E new/harness/unreadable` line per holding sweep line, out; applied by hand, not wired to the sweep script yet) | #10835 |
| Model routing: Opus 5.5 orchestrates, Sonnet 5.5 runs sub-tasks | `specs/claw/model_route.t27`, skill `model-routing`, `.claude/settings.json` + `.claude/agents/*` | owner directive 2026-10-18 |
| A T27F visual in every answer that needs one | rule `specs/t27mcp/visual_output.t27`, particle-still layer `specs/claw/visual_output.t27`, procedure in skill `t27f`, "Visual in every output" | owner directive 2026-10-18 |
| `reel_still`: one particle still (PNG at STILL_MS of a token_floor reel) from TRI CLAW's `/mcp` | `specs/claw/reel_still.t27`, rendered on the Railway lab only | follow-up of the row above |
Expand Down
4 changes: 4 additions & 0 deletions docs/reports/t27b_expectations.json
Original file line number Diff line number Diff line change
Expand Up @@ -197,14 +197,18 @@
{"path": "specs/claw/gates.t27", "t27b": "pass"},
{"path": "specs/claw/gates_pins.t27", "t27b": "pass"},
{"path": "specs/claw/github_surface.t27", "t27b": "pass"},
{"path": "specs/claw/lab_disk.t27", "t27b": "pass"},
{"path": "specs/claw/lab_receipt.t27", "t27b": "pass"},
{"path": "specs/claw/ledger_union.t27", "t27b": "pass"},
{"path": "specs/claw/merge_lane.t27", "t27b": "pass"},
{"path": "specs/claw/model_route.t27", "t27b": "pass"},
{"path": "specs/claw/move_gate.t27", "t27b": "pass"},
{"path": "specs/claw/mut_known.t27", "t27b": "pass"},
{"path": "specs/claw/preview.t27", "t27b": "pass"},
{"path": "specs/claw/push_gate.t27", "t27b": "pass"},
{"path": "specs/claw/queue_cost.t27", "t27b": "pass"},
{"path": "specs/claw/recipes.t27", "t27b": "pass"},
{"path": "specs/claw/red_origin.t27", "t27b": "pass"},
{"path": "specs/claw/reel_still.t27", "t27b": "pass"},
{"path": "specs/claw/refresh.t27", "t27b": "pass"},
{"path": "specs/claw/required_red.t27", "t27b": "pass"},
Expand Down
Loading
Loading