Skip to content

A3/H1/H5: cells run the pinned rc apr; hard cell timeout = FAIL; takt tripwires (#3715) - #4611

Closed
noahgift wants to merge 2 commits into
split/ont10-rest-0.70from
0d/3715-a3-apr-pin
Closed

noahgift wants to merge 2 commits into
split/ont10-rest-0.70from
0d/3715-a3-apr-pin

Conversation

@noahgift

Copy link
Copy Markdown
Member

Refs #3715. This PR is stacked on #4603 (B1).

A3 (operator 17:28Z). In release mode, model_ladder.sh step 0 accepts only an ABSOLUTE $APR whose sha256 equals APR_RELEASE_SHA256 and whose --version names APR_RELEASE_COMMIT. models_t1.sh passes both legs the rc build this way, and the receipt records apr_sha256.

Falsifier scripts/check_ladder_apr_release_pin.sh puts a different-sha apr first on PATH in every case:

  • 9 cases, with 0 invocations of the planted apr.
  • 5 mutants killed: no release_pin, no absolute check (a bare name is checked in cwd but run from PATH), no sha256, no version, and PATH lookup inside the cell.

H1 (operator 17:50Z). Every cell has a hard timeout: 600 s by default, per class floored at 300 s. A timeout is a FAIL, and timeout_s, wall_s and timed_out go into every row. The process group is killed; before this, only flock died and the apr grandchild kept the GPU.

H5. --takt-plan (env MODEL_LADDER_TAKT_PLAN) checks at +2, +4 and +6 h. Completed cells below 90% of plan write ANDON H5 at once.

scripts/check_ladder_cell_timeout_takt.sh: 10 cases, 6 mutants killed.

Local receipts (lambda, plus intel for the two new checks):

  • check_ladder_apr_release_pin PASS
  • check_ladder_cell_timeout_takt PASS
  • check_ladder_cells_producer PASS
  • check_release_models_t1 PASS, 43 rows
  • check_ladder_provenance OK
  • check_model_ladder --self-test: 152 cases, 1 bad. The bad case is tomllib missing from python < 3.11 on lambda and intel (ladder_equiv.py); this PR does not touch that file.

🤖 Generated with Claude Code

noahgift and others added 2 commits September 28, 2026 20:04
#3715)

A3 (operator 17:28Z): in release mode (APR_RELEASE_SHA256/APR_RELEASE_COMMIT)
model_ladder.sh step 0 refuses any $APR that is not an ABSOLUTE path whose
sha256 equals the pin and whose --version names the release commit. models_t1.sh
hands both legs the rc build that way; the receipt records apr_sha256, and apr_sha
is the release commit. check_ladder_apr_release_pin.sh plants a different-sha apr
first on PATH: 9 cases (0 planted invocations), 5 mutants killed.

H1 (operator 17:50Z): every cell runs under a hard timeout, 600 s by default,
with per-class values floored at 300 s. A timeout is a FAIL with timeout_s,
wall_s and timed_out recorded in the row. The whole process GROUP is killed: the
old subprocess timeout killed only flock, so the apr grandchild kept the GPU.

H5: --takt-plan arms clock-driven checkpoints (+2/+4/+6 h). A checkpoint below
90% of plan writes ANDON H5 to stderr and <takt-log>.andon at once.
check_ladder_cell_timeout_takt.sh: 10 cases, 6 mutants killed.

H4 sampling: --select <rung>:<mode|max>.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-0d
…adline (#3715)

The run verb retries up to 3 times on low density; each retry got a fresh
600 s, so one cell could take 1800 s while its receipt said timeout_s=600.
The cell now has one deadline and every call inside it gets what is left.
Falsifier: case timeout-bounds-the-cell-not-the-call + mutant per-call-not-per-cell.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent: aprender-0d
Base automatically changed from 0d/3715-b1-main to split/ont10-rest-0.70 September 29, 2026 20:03
noahgift added a commit that referenced this pull request Oct 3, 2026
…rename release:ModelCell

Re-ran the hotspot check that §4 requires before B2 and OBS-05, git only,
against origin/main 316dee2. Trial merges used the old git merge-tree,
with one positive and two negative controls. Every conflict in B2 (6 code
files) and OBS-05 (ontology/shapes.rs) comes from one commit, 989cb01
(fold(0.70) #4655). Of the added lines in the ONT-10 PR heads,
#4587/#4588/#4589/#4611 have 99-100% on main and #4615 has 93%; the
not-on-main controls score 2.6% and 11.2%. So the "after ONT-10" condition
is met in content.

B2 duplicates nothing on main, but the class release:ModelCell now means
two things. On main, v1 (since 989cb01) uses it for a non-generating
model-command cell whose shape requires release:row. Seg 7's v2 uses it for
a cell derived from kernel cells whose shape requires release:usesKernel.
B2 renames its class before the PR. This is a static reading; no cargo
was run (C277).

Agent: la-0.71
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@noahgift

noahgift commented Oct 4, 2026

Copy link
Copy Markdown
Member Author

Closed: grows build-path Python, against the operator ruling of 2026-10-04. The work returns as a Rust port (the build-path Python port ticket). Branch kept.

@noahgift noahgift closed this Oct 4, 2026
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.

1 participant