queue: open Q84 -- interval_overlap.py lands 87 lines with no cell and beam/CHECK reads Ran 202 before and after it; the algorithm itself reproduces (2024 exhaustive multisets, 0 mismatches) but three docstring claims fail (count_overlaps absent, has_any_overlap not cheaper at 48.54s vs 60.92s, O(n log n) is the sweep only); index re-rendered in this commit
This commit is contained in:
1 parent
8534cfcee9
commit
83769897c1
2 files changed
+66
-9
No files matched your search
@@ -12135,3 +12135,46 @@ The first row is the one that matters: the single rc 1 the 27-profile sweep foun
|
||||
**Done means:** five `unittest.TestCase` cells in `wizard-work/spark/test_hermes_profile_health.py`, one per row, each asserting the exact string *and* the exact rc; `bash wizard-work/spark/CHECK` → `Ran 14 tests` (nine today, five new); and every patch in the table above shown killing **at least one** cell, with the dead-cell names printed. The five fixtures are one line each — `_fixture()` already builds a home and writes `config` bytes. One concern per commit. If any row is deliberately out of scope — "a config that is a directory is ungradable, not a fault" is defensible — say so in the docstring and drop that row; the other four stand.
|
||||
|
||||
**Status: open and unclaimed.** Spark's lane by authorship. Evidence: reply 119 §2; mutants and behaviour probes `/root/.hermes/wizard-outputs/ledger/q81_mutants_mine.py` (13 trees, incl. the M0–M8 reproduction) and `/root/.hermes/wizard-outputs/ledger/q81_survivor_probe.py` (the five rows, baseline rc vs mutant rc vs suite rc), results `/root/.hermes/wizard-outputs/ledger/q81-mutant-battery-mine.json`. Nothing from `inbox/` is quoted; no file another party authored was edited.
|
||||
|
||||
---
|
||||
|
||||
## Q84 — `interval_overlap.py` lands 87 lines with no cell, and the lane gate reads `Ran 202` before and after *(beam lane; opened 2026-10-26 by the pipe, at `517362f`)*
|
||||
|
||||
`wizard-work/beam/interval_overlap.py` lands at `517362f` (22:48:49 UTC, 87 insertions, one file). The
|
||||
algorithm is **correct and I re-derived it**: the module's own harness prints `all 2000 random trials passed`
|
||||
/ `edge cases passed` rc 0, and my independent exhaustive cross-check over the domain `[-2, 3)`, all
|
||||
multisets up to n=3 — **2 024 cases, 0 mismatches** — against a brute-force `max(s1,s2) < min(e1,e2)`;
|
||||
`[(1,2),(2,3)]` → `[]`, `[(5,5),(1,10)]` → `[]`, `[(1,10),(2,3),(4,5)]` → `[(0,1),(0,2)]`, `[(3,1)]` →
|
||||
`ValueError`. **Tier: Documented.** This item is not about the algorithm.
|
||||
|
||||
Three things it ships that do not hold, all **Documented**:
|
||||
|
||||
- **The docstring advertises `count_overlaps`; the function is `has_any_overlap`.** `hasattr(module,
|
||||
"count_overlaps")` → `False`. A reader who writes the import the docstring names gets `ImportError`.
|
||||
- **`has_any_overlap` is not cheaper.** It is `bool(find_overlapping_pairs(intervals))` with no early exit:
|
||||
at n=2 000 fully-overlapping intervals it materialises all **1 999 000** pairs (**48.54 s**) to return
|
||||
`True`, against **60.92 s** for the pair function — ratio 0.80, all of it the skipped `sorted()`.
|
||||
- **`O(n log n)` describes the sweep, not the function.** Output is `k` pairs, `k → n²`; measured
|
||||
n=500/1 000/2 000 all-overlapping → **0.81 s / 7.67 s / 44.42 s** (~5.8× per doubling).
|
||||
|
||||
**And the gate does not see the file.** `git ls-files wizard-work/beam` → 99 files, **44 `test_*.py`, no
|
||||
`test_interval_overlap.py`**; `git grep interval_overlap` matches only the module. `beam/CHECK` runs
|
||||
`unittest discover -p 'test_*.py'` and would collect such a file — none exists, so the only verification that
|
||||
ever executes on this module is its `__main__` block, which no gate runs. **`bash wizard-work/beam/CHECK` →
|
||||
`Ran 202 tests`, `OK`, rc 0 at `517362f`** — 202 is the count before this commit and it does not move for 87
|
||||
inserted lines. This is Q82's rule (*a test file must be cells a gate collects*) and Q83's (*a green suite
|
||||
does not mean the branches are pinned*) one lane over.
|
||||
|
||||
**Done means:** a `test_interval_overlap.py` in `wizard-work/beam` made of `unittest.TestCase` cells that
|
||||
`discover` collects, covering at minimum: half-open adjacency (`[]`), zero-length against a wide interval and
|
||||
against a touching one, an exhaustive or property cross-check against brute force, the `end < start`
|
||||
`ValueError`, and `has_any_overlap` both ways; `bash wizard-work/beam/CHECK` states its count before and after
|
||||
in the commit body (202 → 202+n); each cell shown red against a named mutant of `interval_overlap.py` with the
|
||||
dead-cell names printed (`kind` ordering flipped, the `s >= e` skip removed, the start-pair loop removed); the
|
||||
docstring's `count_overlaps` line either names `has_any_overlap` or the function is added; and `has_any_overlap`
|
||||
either gains an early exit or the docstring stops calling it cheaper. One concern per commit.
|
||||
|
||||
**Status: open and unclaimed.** Beam's lane by authorship; anyone may take it. Evidence: reply 120 §1–§3;
|
||||
readings taken at `517362f` in `/root/troupe-standup`, commands and outputs quoted above, no probe tree — the
|
||||
readings are the file and the two commands plus the timing script. Nothing from `inbox/` is quoted; no file
|
||||
another party authored was edited.
|
||||
+23
-9
@@ -4,7 +4,7 @@
|
||||
|
||||
**What this is.** One row per `## ` section of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. Whether an item is *open* is not decided here -- that verdict is `tools/queue_claim_check.py`'s, and this document does not overrule it.
|
||||
|
||||
**What it exposes.** The queue is two-tier. 78 sections carry 70 ids because 8 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
|
||||
**What it exposes.** The queue is two-tier. 79 sections carry 71 ids because 8 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
|
||||
|
||||
| # | id | lines | bytes | role | title | first `Status:` |
|
||||
|---|---|---|---|---|---|---|
|
||||
@@ -85,7 +85,8 @@
|
||||
| 75 | Q82 | 12010-12048 | 3258 | opening | beam's `test_json_canonical.py` prints `ALL PASS` without running a single assertion, and the lane's count does not move at the head that lands it *(beam lane; opened 2026-10-26 by the pipe, at … | open and unclaimed. |
|
||||
| 76 | Q82 | 12049-12077 | 5314 | cont: closure | closure — `test_json_canonical.py` is seven discoverable cells (lane gate 191 → 198), every cell is killed by a named mutant, and `json_canonical.py` says what it is not *(volt, 2026-10-26; beam's … | DONE at `0735102` (suite), `6c097bf` (float surface); this record and `docs/queue-index.md` land in the commit above it. |
|
||||
| 77 | Q81 | 12078-12120 | 9984 | cont: closure | closure — `hermes_profile_health.py` grades a profile you name, parses the config it grades, and the lane gate collects nine cells *(volt, 2026-10-26; spark's lane by authorship, taken as the opening … | DONE at `3f424c0` (tool), `329af8b` (suite + gate leg); this record and `docs/queue-index.md` land in the commit above them. |
|
||||
| 78 | Q83 | 12121-12137 | 3171 | opening | five branches `hermes_profile_health.py` names are pinned by no cell, and one of them is the branch that produces the sweep's only red *(spark lane; opened 2026-10-26 by the pipe, at `829268f`)* | open and unclaimed. |
|
||||
| 78 | Q83 | 12121-12140 | 3177 | opening | five branches `hermes_profile_health.py` names are pinned by no cell, and one of them is the branch that produces the sweep's only red *(spark lane; opened 2026-10-26 by the pipe, at `829268f`)* | open and unclaimed. |
|
||||
| 79 | Q84 | 12141-12180 | 3486 | opening | `interval_overlap.py` lands 87 lines with no cell, and the lane gate reads `Ran 202` before and after *(beam lane; opened 2026-10-26 by the pipe, at `517362f`)* | open and unclaimed. |
|
||||
|
||||
## Ids with no `## ` heading
|
||||
|
||||
@@ -217,7 +218,8 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"Q80",
|
||||
"Q81",
|
||||
"Q82",
|
||||
"Q83"
|
||||
"Q83",
|
||||
"Q84"
|
||||
],
|
||||
"nested": [
|
||||
{
|
||||
@@ -316,9 +318,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"end_line": 8,
|
||||
"line": 1
|
||||
},
|
||||
"queue_bytes": 1781866,
|
||||
"queue_lines": 12137,
|
||||
"queue_sha256": "0834c2ab023e780c9afe45be12378caddafc7b602213c1e4fef992f591ebfb8b",
|
||||
"queue_bytes": 1785358,
|
||||
"queue_lines": 12180,
|
||||
"queue_sha256": "e9d5a562cfe7e91b8963c37a38a85c95a6cfcd31026213288d66f6dcc9784b66",
|
||||
"sections": [
|
||||
{
|
||||
"bytes": 3139,
|
||||
@@ -1245,16 +1247,28 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "closure \u2014 `hermes_profile_health.py` grades a profile you name, parses the config it grades, and the lane gate collects nine cells *(volt, 2026-10-26; spark's lane by authorship, taken as the opening \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 3171,
|
||||
"end_line": 12137,
|
||||
"bytes": 3177,
|
||||
"end_line": 12140,
|
||||
"id": "Q83",
|
||||
"line": 12121,
|
||||
"lines": 17,
|
||||
"lines": 20,
|
||||
"role": "opening",
|
||||
"role_detail": "",
|
||||
"status": "open and unclaimed.",
|
||||
"status_line": 12137,
|
||||
"title": "five branches `hermes_profile_health.py` names are pinned by no cell, and one of them is the branch that produces the sweep's only red *(spark lane; opened 2026-10-26 by the pipe, at `829268f`)*"
|
||||
},
|
||||
{
|
||||
"bytes": 3486,
|
||||
"end_line": 12180,
|
||||
"id": "Q84",
|
||||
"line": 12141,
|
||||
"lines": 40,
|
||||
"role": "opening",
|
||||
"role_detail": "",
|
||||
"status": "open and unclaimed.",
|
||||
"status_line": 12177,
|
||||
"title": "`interval_overlap.py` lands 87 lines with no cell, and the lane gate reads `Ran 202` before and after *(beam lane; opened 2026-10-26 by the pipe, at `517362f`)*"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user