Skip to content

refactor(tri): a mutate --lab run uploads any number of files (Refs #7471) - #8146

Merged
gHashTag merged 1 commit into
masterfrom
claude/tri-mutate-lab-files-7471-s1
Oct 9, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/tri-mutate-lab-files-7471-s1

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 9, 2026

Copy link
Copy Markdown
Owner

What

Slice 1 of 2 for #7471 (tri mutate census --dir D --lab as one lab job). LabRun.spec becomes files (repo path + bytes each); lab_run_name hashes every file; lab_launch uploads f<i>.b64 per file and decodes each to its own path in the run's copy. mutate spec --lab still sends one file.

This is e1df87e from the pushed branch claude/tri-mutate-census-lab-7471, cherry-picked onto master after #8042 (#7472) merged; the #7433 and #7472 commits under it are already on master and are dropped.

Why two PRs, not one

Both slices together add 67 hand-written lines to cli/tri/src/mutate.rs (git diff --numstat: 67 added, 20 removed), over the own-language budget of 40 per file (specs/policy/own_language.t27 check_budget, #7371); the lefthook pre-push gate refused the combined branch. Slice 2 (mutate census --dir D --lab, +40/-10, Closes #7471) is ready on a local branch and is pushed as its own PR after this one merges.

Hand-written foreign lines

cli/tri/src/mutate.rs: 30 added, 13 removed (budget 40 per file / 80 per diff). The other file is a NOW note.

Evidence (Railway lab)

  • This branch at 707c5da: cargo test --release -p tri mutate:: 57 passed, 0 failed (new: every_file_of_a_lab_run_goes_up).
  • With slice 2 applied on top: build rc 0, mutate:: 58 passed in 2 of 2 runs.
  • Original branch: an end-to-end spec --lab run through T27C_LAB_LOCAL=1 prints what the tri mutate: load survivors.t27 and lab.t27 through gen-rust, drop the hand copies #7472 tri prints apart from run name, pid and tool line; the control "decode every file from f0.b64" fails only the new test (see docs/now/2026-10-07-mutate-lab-files.md).

Refs #7471

🤖 Generated with Claude Code

…7471)

Slice 1 of 2 for `tri mutate census --dir D --lab` (plan on #7471).
LabRun.spec becomes `files` (repo path + bytes each); lab_run_name hashes
every file; lab_launch uploads f<i>.b64 per file and decodes each to its
own path in the run's copy. `mutate spec --lab` sends one file, as before.

numstat mutate.rs: 30 added, 13 removed. Lab: build rc 0, 57 passed
(new: every_file_of_a_lab_run_goes_up); an end-to-end `spec --lab` run
through T27C_LAB_LOCAL=1 prints what #7472's tri prints, apart from the
run name, pid and tool line. Control: decoding every file from f0.b64
fails the new test and no older one (each sends one file).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag gHashTag added the owner-approved-foreign Owner-approved exception to the only-t27 rule: hand-written foreign code allowed in this PR label Oct 9, 2026
@gHashTag
gHashTag enabled auto-merge (squash) October 9, 2026 10:16
This was referenced Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-09 11:42:19 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 43
PRs with All Checks Green 7
READY 0
FAILING 43
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 43 + 0 + 0 = 43, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=3c0ade9e73e4 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

owner-approved-foreign Owner-approved exception to the only-t27 rule: hand-written foreign code allowed in this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tri mutate census --lab: one lab job for a directory of specs

1 participant