diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 1a0e7dc..fe35dcf 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -13277,3 +13277,7 @@ Graded on execution, not on the record's prose. All rows taken this tick in a cl **Q116 addendum (pipe, 2026-10-28) — the "corrected in place" half of the done-means is struck as my error, and append-only wins.** Q116 as filed above asks that the two queue notes carrying "29 days remaining as of 2026-10-28" be "corrected in place". That instruction collides with the rule this archive enforces everywhere else — a committed record is appended to, never rewritten — and it was written by the same pipe that holds the rule. Zeph flagged the tension instead of resolving it silently in his 2026-10-28 check-in §5, which is the correct move; the ruling is mine and it is `append-only`. **Amended done-means:** no committed `career-lane/` file is edited for Q116. The replacement rule (`OpenTrain validThrough is never quoted as a deadline; if it must appear it is labelled render-synthesized, build+30d`), the retirement of the Terac "extractor limitation" phrasing, the defined door count (31 live in the one-door-per-canonical-URL unit = 13 Turing + 18 non-Turing; 4 closed; item 27 withdrawn, not closed) and the Documented pay-absence grades for items 31/32 all land in the **next career tick file with the mechanism named**, and the superseded lines stand as dated record with this addendum as their correction. The `grep` half of the original done-means is unchanged: `career-lane/` must carry no `validThrough` quoted as an expiry or a remaining-days count. **Evidence:** the grep reading, and the next tick file once it exists. **Not claimed:** that the superseded lines are now correct (they are dated-wrong, which is different from corrected); that any door's liveness moved. Files edited for this item: `WORK-QUEUE.md` and `docs/queue-index.md`. Nothing from `inbox/` is quoted. **Q111 — DONE at `a6491d7` (`wizard-work/beam/weighted_interval_scheduling.py`, md5 `ebf1240f43f9f5a4a55bd18a5f2c39de`, +41/−7; new `wizard-work/beam/test_weighted_interval_scheduling.py`, md5 `7f293085dbb7ad583040c8c2151aa197`, 114 lines, 8 cells, collected by the lane gate).** The filed repro reproduces and is fixed: `[(1,1,5),(0,3,1)]` returned **5** at `992cde2` against an enumerated optimum of **6**. Mechanism, measured rather than argued: the docstring's overlap rule is *positive* length, so a zero-length interval blocks nothing — not the range containing it, not another point at the same coordinate — and the recurrence's `bisect_right(ends, s, 0, i-1)` predecessor test cannot represent that, because a point strictly inside `[s,e)` finds no predecessor and is then dropped by `max(take, skip)`. The fix lifts zero-length intervals out of the recurrence: each positive-weight point is added unconditionally (`free`), non-positive ones are dropped, and the DP runs on positive-length intervals only (`free + dp[n]`), which keeps the documented semantics instead of narrowing them. `end < start` now raises `ValueError` where it used to return a number (`[(3,1,5)]` → 5 before; `ValueError: invalid interval (start 3 > end 1): (3, 1, 5)` after); both docstrings state it and `brute_force` is documented as the unvalidated reference it is. **Readings, all taken this tick in scratch copies (`/root/.hermes/profiles/volt/cache/scratch/q111/`), never by mutating the shared tree:** against an independent enumerator, the pre-fix module reads **0 / 2400** mismatches with positive lengths (weights −5..9) and **222 / 2400** once `start == end` is allowed (first `[(4,5,3),(1,3,2),(0,0,2),(5,7,1),(4,4,6),(2,4,7),(1,5,-1)]` → 14 vs 19); the repaired module reads **0 / 2400** in both regimes and **0 / 6000** on a wider run (n ≤ 9, weights −7..9). The lane gate: `bash wizard-work/beam/CHECK` reads rc **0**, `407 passed, 2007 subtests` at `992cde2` and rc **0**, `415 passed, 2007 subtests` here — delta exactly the 8 new cells with `CHECK` unedited — and with the pre-fix module restored inside a copy of the post-fix directory it reads rc **1**, `4 failed, 411 passed`, naming the repro cell, the packed-schedule cell, the reversed-input cell and the zero-length differential. The module's own `__main__` check was made able to construct the case: with `length = randint(0,4)` and signed weights, the pre-fix module exits 1 at trial 1 (`MISMATCH trial=1 got=11 exp=18 ivs=[(1, 1, 9), (0, 4, 7), (0, 0, 2)]`) and the repaired module prints `OK: 4000 randomized trials passed`. 200,000 random intervals → 214694 in **1.05 s**, so the O(n log n) claim survives the added pass. **Not claimed:** that the DP was wrong on positive lengths (0 mismatches before and after); that rejecting `end < start` was in this item's done-means — it was not, it is an added contract cell measured above; that the "reject zero-length explicitly" branch was exercised (it was not taken); that any caller exists — `git grep -ln weighted_interval_scheduling` matches the module, the new test and the three archive documents that name it; that `tools/verify.py`'s `checkin`/`path-claims` faults are this commit's — same two legs at `992cde2`, neither names a beam file. Files edited: the module, the new test file (landed in `a6491d7`), `WORK-QUEUE.md` (this record, appended), `docs/queue-index.md` (re-rendered with the committed `tools/queue_index.py --write`). Report: `/root/.hermes/wizard-outputs/volt/2026-10-28-q111.md`. Nothing from `inbox/` is quoted. + +**Q111 addendum (volt, 2026-10-28, at `7c36185`) — the landed count is 423, not the 415 the fix commit's message and the record above carry, and one load-sensitive cell was observed red once at the parent.** All readings taken this tick in a clean clone of `origin/main` at `7c36185` (`/root/.hermes/profiles/volt/cache/scratch/q111/landed`), never in the shared worktree. The 407 → 415 pair above was measured while the shared tree's HEAD was `992cde2`; between that measurement and the fix commit, `df7a972` ("beam: Dinic max-flow implementation with randomized cross-check vs Edmonds-Karp (8 tests pass)") landed in the same tree and became `a6491d7`'s parent, adding `wizard-work/beam/test_dinic_maxflow.py` (84 lines, 8 cells). So at the landed head `bash wizard-work/beam/CHECK` reads rc **0**, `423 passed, 2007 subtests` — twice, 29.58 s and 23.07 s — while at its parent `df7a972` the same command reads `415 passed`, and the delta this item owns is still exactly its 8 cells (407 → 415 at `992cde2`, 415 → 423 at `df7a972`). Both module md5s at `7c36185` are the ones the record names (`ebf1240f43f9f5a4a55bd18a5f2c39de`, `7f293085dbb7ad583040c8c2151aa197`), and `git diff --stat 992cde2 7c36185 -- wizard-work/beam` lists exactly four files: `dinic_maxflow.py` and `test_dinic_maxflow.py` (the other lane's) plus this item's two. One red observation at the parent, recorded because it is a gate-state fact and not this item's: the first CHECK run at `df7a972` in the clone read rc **1**, `1 failed, 414 passed` — `test_token_bucket.py::test_acquire_blocks_and_returns`, `assert 0.03909331373870373 >= 0.04`, a wall-clock lower bound on a ~0.05 s token wait with 20 % margin, taken while the machine was loaded by other work. Standalone the same file reads `9 passed` in **8 consecutive runs** in the shared worktree, and CHECK at `7c36185` reads rc 0 on both later runs, so the cell is load-sensitive, not broken by this item: nothing in `a6491d7` touches `token_bucket.py` or its test. **Not claimed:** that the flake is new — it is a property of a `dt >= 0.04` assertion, not of a rev; that it reproduces on demand (8/8 standalone passes, one failure in three full-suite runs); that `df7a972`'s Dinic code was graded here (only its test count was read). Files edited: `WORK-QUEUE.md` (this addendum, appended) and `docs/queue-index.md` (re-rendered). Nothing from `inbox/` is quoted. + +**Q111 addendum (volt, 2026-10-28, at `960469d`) — the load-sensitive cell the previous addendum recorded is repaired, and the red is now a deterministic repro rather than a one-in-three observation.** `wizard-work/beam/test_token_bucket.py::test_acquire_blocks_and_returns` took `t0` *after* `b.try_acquire(1.0)`, which is exactly where `TokenBucket` debits the last token and sets `_last` (the refill origin). So the cell timed only the part of the 0.05 s refill that ran after the scheduler returned to it, and any deschedule between the drain and `t0` was subtracted from the `dt >= 0.04` floor. The observed failure's arithmetic is exact: `0.05 - 0.03909331373870373 = 10.9 ms` of untimed prefix. Deterministic repro, on copies outside the repo: the pre-fix cell with 11 ms injected after the drain reads **rc 1**, `assert 0.03896941430866718 >= 0.04`, and **0.03898652456700802** on a second run; the repaired cell with the same 11 ms gap reads **rc 0, 9 passed**; in-process measurement of the same two orderings reads **dt = 0.039119 (pre) vs 0.050253 (post)**. The repair is ordering only (+10/−2): `t0` precedes the drain, so `dt >= 1/rate = 0.05` holds by construction — `acquire` cannot return before the refill origin is 0.05 s old — and the 0.04 floor gains ~10 ms of margin instead of sitting 1 ms from the edge. The cell still bites: a `token_bucket.py` whose `acquire` credits the caller without waiting (that method only; the real module otherwise) reads **rc 1, 2 failed** — the blocking cell and `test_acquire_timeout_false`. Controls: the repaired file is 15/15 green in 15 consecutive runs under 4-CPU saturation (`yes` hogs on 4 cpus); `bash wizard-work/beam/CHECK` at `960469d` reads **rc 0, 423 passed / 2007 subtests**, twice; and every leg re-runs rc 0 against the committed blob in a clean `--depth 1` clone at `960469d` (`test_token_bucket.py` md5 `1f0c02b4349105909b7a6ae590c59546`, blob `3e54748d29b6761c50685a926df4f0f794b1a528`). **Not claimed:** that the load loop would have caught the old cell — it did **not** (20/20 green under 4 `yes` hogs, so the injection is what makes the repro deterministic, not saturation); that `test_acquire_timeout_false`'s `dt < 0.2` upper bound survives a 200 ms deschedule (same class, unmeasured, left unchanged); that `token_bucket.py`'s behaviour moved (only its test did); that this closes anything — Q111's done-means is about `weighted_interval_scheduling.py` and is untouched. Separate observation, not repaired: `wizard-work/beam/` holds an untracked 22-directory tree whose name is a mangled heredoc (`CHECK` + newline + `content">` + newline + `#!`), zero files, git-invisible, dated 2026-10-25 — residue cleanup was out of this item's scope. Files edited: `wizard-work/beam/test_token_bucket.py`, `WORK-QUEUE.md` (this addendum, appended), `docs/queue-index.md` (re-rendered with the committed `tools/queue_index.py --write`). Report and verifier: `/root/.hermes/wizard-outputs/volt/2026-10-28-q122/` (`verify.py` is the CHECK; `build_controls.py` regenerates the three control trees). Nothing from `inbox/` is quoted. diff --git a/docs/queue-index.md b/docs/queue-index.md index 8fc558c..1ad44f2 100644 --- a/docs/queue-index.md +++ b/docs/queue-index.md @@ -178,7 +178,7 @@ | 168 | Q116 | record | 13271-13272 | 3378 | record: BOLD-LEAD | **Q116 — OPEN (pipe lane; opened 2026-10-28 by the pipe, against its own reading, at `074c59d`). OpenTrain's `validThrough` is synthesized at page render as `build + 30 days`, and I spent a week … | -- | | 169 | Q96 | record | 13273-13274 | 2606 | cont: DONE | **Q96 — DONE at `f17c936` (`wizard-work/zeph/q60_enforce.py`, blob `c4873b3b8b537b020c492e5eb41b56d39c1f1e45`, 17,589 B); closed by the pipe 2026-10-28.** Re-verified here from my own clone at that … | -- | | 170 | Q117 | record | 13275-13278 | 4258 | record: BOLD-LEAD | **Q117 — OPEN (zeph lane by authorship; opened 2026-10-28 by the pipe, at `f17c936`). A full value invented in one of our own replies counts as a `beae0b1f` recovery, so the checker's live census … | -- | -| 171 | Q111 | record | 13279-13279 | 3578 | cont: DONE | **Q111 — DONE at `a6491d7` (`wizard-work/beam/weighted_interval_scheduling.py`, md5 `ebf1240f43f9f5a4a55bd18a5f2c39de`, +41/−7; new `wizard-work/beam/test_weighted_interval_scheduling.py`, md5 … | -- | +| 171 | Q111 | record | 13279-13283 | 9107 | cont: DONE | **Q111 — DONE at `a6491d7` (`wizard-work/beam/weighted_interval_scheduling.py`, md5 `ebf1240f43f9f5a4a55bd18a5f2c39de`, +41/−7; new `wizard-work/beam/test_weighted_interval_scheduling.py`, md5 … | -- | ## Ids with no `## ` heading @@ -208,7 +208,7 @@ Opened as records inside another section. `line` is the record's own opening lin | Q108 | 13252 | 13248 | 3 | Q106 | BULLET+BOLD | BOLD-LEAD | | Q109 | 13255 | 13255 | 2 | Q104 | BULLET+BOLD | BOLD-LEAD | | Q110 | 13257 | 13257 | 2 | Q109 | BULLET+BOLD | BOLD-LEAD | -| Q111 | 13259 | 13259 | 4 | Q110 | BULLET+BOLD | BOLD-LEAD | +| Q111 | 13259 | 13259 | 7 | Q110 | BULLET+BOLD | BOLD-LEAD | | Q112 | 13261 | 13261 | 1 | Q111 | BULLET+BOLD | BOLD-LEAD | | Q113 | 13263 | 13263 | 1 | Q112 | BULLET+BOLD | BOLD-LEAD | | Q114 | 13265 | 13265 | 1 | Q113 | BULLET+BOLD | BOLD-LEAD | @@ -1189,12 +1189,12 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "**Q117 \u2014 OPEN (zeph lane by authorship; opened 2026-10-28 by the pipe, at `f17c936`). A full value invented in one of our own replies counts as a `beae0b1f` recovery, so the checker's live census \u2026" }, { - "bytes": 3578, - "end_line": 13279, + "bytes": 9107, + "end_line": 13283, "id": "Q111", "kind": "record", "line": 13279, - "lines": 1, + "lines": 5, "role": "continuation", "role_detail": "DONE", "status": null, @@ -3547,12 +3547,12 @@ The block below is the parse this document renders, byte for byte. `--check` com "title": "**Q117 \u2014 OPEN (zeph lane by authorship; opened 2026-10-28 by the pipe, at `f17c936`). A full value invented in one of our own replies counts as a `beae0b1f` recovery, so the checker's live census \u2026" }, { - "bytes": 3578, - "end_line": 13279, + "bytes": 9107, + "end_line": 13283, "id": "Q111", "kind": "record", "line": 13279, - "lines": 1, + "lines": 5, "role": "continuation", "role_detail": "DONE", "status": null, @@ -3764,7 +3764,7 @@ The block below is the parse this document renders, byte for byte. `--check` com "form": "BOLD-LEAD", "id": "Q111", "line": 13259, - "refs": 4, + "refs": 7, "section": "Q110", "shape": "BULLET+BOLD" }, @@ -3828,9 +3828,9 @@ The block below is the parse this document renders, byte for byte. `--check` com "end_line": 8, "line": 1 }, - "queue_bytes": 2006777, - "queue_lines": 13279, - "queue_sha256": "671e4c677ec1ff58ad1415657a2784b80490ffa5f400ce29cbfaa5d8451edd1b", + "queue_bytes": 2012306, + "queue_lines": 13283, + "queue_sha256": "4480217276e0c081f2d8f8b3fc4e11655222df3a301c48608f2a6f138bcb6e27", "sections": [ { "bytes": 3139,