Conversation
…since APR-MONO
ALD-002 should be valid: "Failed to read ../../examples/ald/data_table_virtualized.yaml:
No such file or directory (os error 2)"
Every row in tests/examples.rs (27) and tests/prs_examples.rs (7) failed, all on
one cause. The examples are in the SIBLING crate,
crates/aprender-present/examples/{ald,apr,charts,dashboards,edge_cases,prs}/.
examples.rs `Path::new("../../examples/...")` -- two levels up from
crates/aprender-present-yaml/ is the repository ROOT, and CWD
is whatever the runner chose. Both wrong.
prs_examples.rs already anchored on CARGO_MANIFEST_DIR and then walked
`.parent().parent().join("examples").join("prs")` -- to the
same repository root. The CWD-independence was right and the
DESTINATION was wrong, which is why it looks deliberate.
`CARGO_MANIFEST_DIR` + `../aprender-present/examples` rather than a corrected
`../`: it resolves at COMPILE time against the crate being built, so no working
directory can break it and it survives the next move. One helper per file, 27 + 3
call sites.
Proved: pointing the helper back at `../../examples` turns all 27 rows red again;
restoring it turns them green. aprender-present-yaml now 205 lib + 27 + 17 + 7
pass, clippy -D warnings clean.
HOW THIS WAS FOUND, because it is the more useful half. Nothing in this repo runs
integration targets: ci.yml's workspace-test is `--workspace --lib` plus one
explicit `--test` list, and `make coverage` -- the only other full run -- is also
`--lib`. So I ran the whole surface once, on this box:
cargo nextest run --workspace --lib --tests --no-fail-fast
(GPU crates excluded, as the full tier excludes them)
Summary [1141.178s] 98621 tests run: 98584 passed, 37 failed, 329 skipped
19 minutes, and about 18,000 tests that CI has never executed. The 37 failures
are FIVE binaries, not a swamp:
aprender-present-yaml::examples 27 <- this commit
aprender-present-yaml::prs_examples 7 <- this commit
apr-format::golden_fixtures 1 <- #3248
aprender-mcp::falsify_mcp_008 1 <- #3238
aprender-cgp::falsify (doctor_speed_real) 1 <- open
That reframes #3239: the dark surface is cheap to run and has three distinct
defects left, two of which are already in flight.
Not wired here. ci.yml's --test chain is held by #3245 and #3248 this cycle and
only one PR may edit that line; a third would conflict with both. The wiring for
these two targets goes in after they land.
Pmat-Ticket: PMAT-1098
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noahgift
added a commit
that referenced
this pull request
Sep 14, 2026
Written before the PR was opened, so it cited the number this document then got. The three PRs that take the failing set from 37 to 1 are #3248 (golden_v2), #3250 (present-yaml paths) and #3238 (mcp contract copy). Pmat-Ticket: PMAT-1098 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noahgift
enabled auto-merge
September 14, 2026 07:23
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
noahgift
added a commit
that referenced
this pull request
Sep 14, 2026
… it was right on three counts All four agy lanes (3 plan + 1 teamwork) refused the draft. Three findings stand and the spec is revised rather than defended. 1. THE RATCHET HAD NO WRITER. The draft proposed shrink-only, tightening to hard-fail. Three lanes refused it independently and the defect is mechanical, not stylistic: `--update` writes a file and needs a commit, and a scheduled workflow has no PR and no author. Every other ratchet here (unwired_guards, pipe_grep_q, shell_lint) is updated by a human inside a PR BECAUSE it runs in one. A nightly's baseline would only ever be edited by someone who already noticed the job was red -- the exact population the ratchet exists to stop relying on. So: land #3250/#3248/#3238, gate doctor_speed_real, ship hard-failing on day one. The exit condition was already ONE test when the draft was written; there was never an interval in which a ratchet carried information. Fallback if the gating stalls: ONE named exclusion with its issue number, auditable in a line. 2. THE 39 GB TARGET DIR WAS UNBUDGETED. Unanimous, and the draft did not mention it once -- on the same day I spent an hour taking gx10 from 0 bytes free after it dequeued a PR from merge-queue position 1 (#3247). New §4bis makes it a constraint: not on gx10 (916 GB, the box that hit the wall), a per-run target dir reclaimed in-job rather than left to a reaper that already cannot reclaim under keep=3, and a preflight free-space assertion that fails ENV: instead of letting cargo die half-way and read as 650 new defects. 3. THE REVISIT CONDITION WAS WRONG. I keyed it on queue depth vs max_entries_to_build; lane 3 pointed out that is a CAP, not a measure of slack -- a queue can sit at depth 3 with idle capacity. Keyed on arrival rate vs drain rate instead. Also sharpened, from a measurement all lanes converged on: T-1 does not "add the full surface", it must BUILD `ci / deep`. That job has 0 hits in every workflow including the SHA-pinned upstream sovereign-ci.yml, and its other named parts run nowhere either -- `cargo test --doc` 0, `cargo run --example` 0, feature matrix 0, `--no-default-features` 1 hit that is a Windows BUILD flag. And the fast-pool pin leaves this spec entirely (§8bis). All four lanes rejected it with a computable break-even rather than a caveat: `runs-on` is a hard label filter with no fallback, so a pin is non-work-conserving and is a NET LOSS whenever fast-pool wait exceeds the ~18-22 min runtime delta -- which is the condition that holds exactly when the latency mattered. The asymmetry is real (#3251); the actuator is wrong. Lane 4 was briefed as /teamwork but agy 1.2.2 ran ZERO invoke_subagent calls and created no teamwork_projects dir (PMAT-126 reproduced). It is one model answering once and is not counted as a team review anywhere in this document. Refs #3239, #3251 Pmat-Ticket: PMAT-1098 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Superseded by #3295, which carries this change unmodified along with eight other Not abandoned and not rejected: the commits are merged into Why: a successful |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every row in
tests/examples.rs(27) andtests/prs_examples.rs(7) failed, all on one cause.The examples are in the sibling crate,
crates/aprender-present/examples/{ald,apr,charts,dashboards,edge_cases,prs}/.examples.rsPath::new("../../examples/…")— two levels up fromcrates/aprender-present-yaml/is the repository root, and CWD is whatever the runner chose. Both wrong.prs_examples.rsCARGO_MANIFEST_DIR, then walked.parent().parent().join("examples").join("prs")— to the same repository root. The CWD-independence was right and the destination was wrong, which is why it reads as deliberate.CARGO_MANIFEST_DIR+../aprender-present/examplesrather than a corrected../: it resolvesat compile time against the crate being built, so no working directory can break it and it
survives the next move. One helper per file, 27 + 3 call sites.
Proved: pointing the helper back at
../../examplesturns all 27 rows red again; restoring itturns them green.
aprender-present-yamlnow 205 lib + 27 + 17 + 7 pass,clippy -D warningsclean.
How this was found — the more useful half
Nothing in this repo runs integration targets:
ci.yml'sworkspace-testis--workspace --libplus one explicit
--testlist, andmake coverage— the only other full run — is also--lib. So I ran the whole surface once:19 minutes, and ~16,000 tests across 654 binaries that CI has never linked. The 37 failures
are five binaries, not a swamp:
The cadence decision that follows from it is #3249.
Not wired here
ci.yml's--testchain is held by #3245 and #3248 this cycle and only one PR may edit thatline; a third would conflict with both. The wiring for these two targets goes in after they land
— and the wiring must land with a fix, never before it, or main goes red the moment it merges.
Refs #3239
no-close: #3239 stays OPEN — this fixes 34 of its 37 measured failures; the tiering decision it
describes is #3249's.
🤖 Generated with Claude Code