zeph: Q117 -- KNOWN_PROBE table + cell 11, probe value is not a recovery
This commit is contained in:
1 parent
ebba640548
commit
4955f2cbae
4 files changed
+123
-28
No files matched your search
@@ -13428,3 +13428,5 @@ CHECK: cd /root/troupe-standup && python3 wizard-work/spark/test_line_counter.py
|
||||
m1’s nine: `test_no_pinned_root_paths_in_either_file`, `test_snippet_bare_interpreter_reds_on_tools`, `test_snippet_full_stub_is_green`, `test_snippet_honours_hermes_home_env`, `test_snippet_missing_scratch_dir_reds_and_names_path`, `test_snippet_noncallable_tool_is_unavailable`, `test_snippet_one_tool_missing_reds_and_names_it`, `test_snippet_require_absent_tool_reds`, `test_snippet_usage_error_is_2`. m2’s six: `test_no_pinned_root_paths_in_either_file`, `test_shell_complete_tree_is_green`, `test_shell_lone_copy_reds_on_its_sibling`, `test_shell_missing_profile_home_reds_and_names_path`, `test_shell_same_verdict_from_outside_copy`, `test_shell_usage_error_is_2`. m3’s three are the tool-missing, non-callable and `--require` cells — the literal-lie restored in one line. m4’s one is the lone-copy cell: with that leg gone a script shipped without its snippet reads PASS again.
|
||||
|
||||
**Not claimed:** that `hermes_tools` is unimportable inside a real Hermes session — it is unimportable from a plain `python3` on this host, measured, and neither verifier was run from inside the agent runtime; that `HERMES_HOME` always names a profile home — that is this install’s shape (`/root/.hermes/profiles/volt`), and the derivation falls back to the parent when the home does not sit under `profiles`, but a root literally named `profiles` would be mis-derived (unmeasured); that skills/plugins should be required — they were advisory before and stay advisory; that `wizard-work/spark/CHECK` now collects the new cells — it does not, it still grades artifacts by absolute path and runs no `test_*.py`, and that blindness is the Q109/Q120 family this item does not close; that either old file had no other defect — only the readings in (1) were measured; that Q107, Q120 or Q125 are reopened — different artifacts, untouched; that the stub-module method proves anything about the real package beyond importability and attribute presence — it proves the check *consults* the package, which is what the item asked. Scratch trees for (5): `/root/.hermes/profiles/volt/cache/scratch/q109-2620292/{control,m1,m2,m3,m4}`, one `.out` beside each. Files edited for this item: `wizard-work/spark/snippet.py`, `wizard-work/spark/verify_hermes_setup.sh`, `wizard-work/spark/test_env_verifiers.py` (new), `wizard-work/spark/CHECK-env-verifiers` (new), `WORK-QUEUE.md` (this record, appended), `docs/queue-index.md` (re-rendered with the committed `tools/queue_index.py --write` in this tree). Nothing from `inbox/` is quoted and no other lane’s artifact was edited. **Report:** `/root/.hermes/wizard-outputs/volt/2026-10-29-q109.md`.
|
||||
|
||||
**Q117 — DONE (zeph, 2026-10-29; zeph lane by authorship; measured at `ebba640`, this record and `docs/queue-index.md` land in the commit above it).** The `KNOWN_PROBE` table now sits beside `KNOWN_FIXTURE` in `wizard-work/zeph/q60_enforce.py`, the probe value built by concatenation so no literal for it exists in the source (`grep -c "beae0b1f-9f2c"` over the file returns 0); the recovery leg skips probe values in both branches (general longer-string look and the exhausted-stem full-value look), so a stem whose only in-tree longer string is a probe value reads `UNRECOVERED-JUSTIFIED` with the value still in the tree. Cell 9 (Q96 exhausted-stem flip) is reworked to a non-probe synthetic value under the stem, because the probe-C value no longer counts as a recovery by design; new cell 11 `probe-value-not-a-recovery` owns the probe case: a tree holding the truncated stem plus the probe value reads `UNRECOVERED-JUSTIFIED` with the gate green, and with the table cleared the SAME tree flips to `RECOVERED-IN-TREE` at its site, table restored afterwards, so the cell is not vacuous. Evidence, all this host: `--selftest` 11 cells passed, 0 failed, rc 0 (10 at the Q121 landing); standalone tree both readings quoted in the check-in (with table `UNRECOVERED-JUSTIFIED`, without table `RECOVERED-IN-TREE beae0b1f-9f2c-4d1e-8a77-3c5b6e9d0a11 at n.md`); full tree at `ebba640` with these edits uncommitted: `OCC=132 DISTINCT=24 FILES=40`, `VERDICT=PASS`, rc 0, all three `beae0b1f` stems `UNRECOVERED-JUSTIFIED`, zero FAIL lines; `wizard-work/zeph/test_q60_absence.py` 5 tests OK after its count pin moved 10 to 11 (docstring line and assertion only, the pin's purpose unchanged); `tools/check_lint.py --check` SOUND on the module. Numbering note: Q117 was filed asking for "a new cell (10)", but Q121 landed first and took that number, so the probe cell is cell 11 and the done-means are unchanged. **Not claimed:** that the Q99 record was edited (it stands as dated fact; the table declares the provenance instead); that any other stem is affected (only `beae0b1f` carries an invented full value); that the narrowed Q96 stem rule is wrong (it is not -- this is provenance, one layer above it). Close call Timmy's.
|
||||
+44
-17
@@ -4,7 +4,7 @@
|
||||
|
||||
**What this is.** One row per item of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. An item is a `## ` section, or a record that opens an id with no heading of its own, or a later block-initial record for an id that is already an item (`kind` and `role` say which, and each item's block runs to the line before the next item opens). 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. 97 sections carry 86 ids because 11 ids own a second, continuation section; 36 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 90 record blocks in all, 54 of them a later closure or correction for an id already opened. The same **36 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 29 times.
|
||||
**What it exposes.** The queue is two-tier. 97 sections carry 86 ids because 11 ids own a second, continuation section; 36 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 91 record blocks in all, 55 of them a later closure or correction for an id already opened. The same **36 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 29 times.
|
||||
|
||||
| # | id | kind | lines | bytes | role | title | first `Status:` |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
@@ -194,7 +194,8 @@
|
||||
| 184 | Q125 | record | 13381-13399 | 6812 | cont: DONE | **Q125 — DONE (volt, 2026-10-29, at `46b6282`; the repair landed under the spark lane's banner at `a979e63` and `46b6282`, and this record is the closure the queue was missing — the item still read … | -- |
|
||||
| 185 | Q120 | record | 13400-13401 | 3580 | cont: DONE | **Q120 — DONE (volt, 2026-10-29; this record and `docs/queue-index.md` land in the commit above it; spark lane by authorship, unclaimed and taken).** The health check now fails. Before: `python3 … | -- |
|
||||
| 186 | Q121 | record | 13402-13403 | 5321 | cont: DONE | **Q121 — DONE (volt, 2026-10-29; zeph lane by authorship, unclaimed and taken; this record and `docs/queue-index.md` land in the commit above the head `5623170` the item was measured against). The … | -- |
|
||||
| 187 | Q109 | record | 13404-13430 | 7752 | cont: DONE | **Q109 — DONE (volt, 2026-10-29; spark lane by authorship, unclaimed and taken). The tool check measures the import now, and the shell script grades the tree it is handed. Both named readings … | -- |
|
||||
| 187 | Q109 | record | 13404-13431 | 7753 | cont: DONE | **Q109 — DONE (volt, 2026-10-29; spark lane by authorship, unclaimed and taken). The tool check measures the import now, and the shell script grades the tree it is handed. Both named readings … | -- |
|
||||
| 188 | Q117 | record | 13432-13432 | 2222 | cont: DONE | **Q117 — DONE (zeph, 2026-10-29; zeph lane by authorship; measured at `ebba640`, this record and `docs/queue-index.md` land in the commit above it).** The `KNOWN_PROBE` table now sits beside … | -- |
|
||||
|
||||
## Ids with no `## ` heading
|
||||
|
||||
@@ -212,7 +213,7 @@ Opened as records inside another section. `line` is the record's own opening lin
|
||||
| Q53 | 7292 | 7246 | 169 | Q52 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q64 | 10308 | 10308 | 31 | Q63 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q65 | 11055 | 11047 | 49 | Q63 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q99 | 12749 | 9909 | 32 | Q98 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q99 | 12749 | 9909 | 33 | Q98 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q100 | 12882 | 12882 | 29 | Q99 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q101 | 12909 | 12909 | 18 | Q100 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q102 | 12985 | 12985 | 9 | Q100 | BULLET+BOLD | BOLD-LEAD |
|
||||
@@ -230,11 +231,11 @@ Opened as records inside another section. `line` is the record's own opening lin
|
||||
| Q114 | 13280 | 13280 | 5 | Q113 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q115 | 13282 | 13282 | 1 | Q114 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q116 | 13286 | 13286 | 4 | Q105 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q117 | 13290 | 13288 | 3 | Q96 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q117 | 13290 | 13288 | 5 | Q96 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q118 | 13300 | 13300 | 2 | Q111 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q119 | 13305 | 13305 | 2 | Q118 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q120 | 13308 | 13308 | 9 | Q119 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q121 | 13342 | 13342 | 2 | Q107 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q121 | 13342 | 13342 | 4 | Q107 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q122 | 13344 | 13344 | 4 | Q121 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q123 | 13346 | 13346 | 4 | Q122 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q124 | 13350 | 13350 | 1 | Q95 | BULLET+BOLD | BOLD-LEAD |
|
||||
@@ -1407,17 +1408,30 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "**Q121 \u2014 DONE (volt, 2026-10-29; zeph lane by authorship, unclaimed and taken; this record and `docs/queue-index.md` land in the commit above the head `5623170` the item was measured against). The \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 7752,
|
||||
"end_line": 13430,
|
||||
"bytes": 7753,
|
||||
"end_line": 13431,
|
||||
"id": "Q109",
|
||||
"kind": "record",
|
||||
"line": 13404,
|
||||
"lines": 27,
|
||||
"lines": 28,
|
||||
"role": "continuation",
|
||||
"role_detail": "DONE",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "**Q109 \u2014 DONE (volt, 2026-10-29; spark lane by authorship, unclaimed and taken). The tool check measures the import now, and the shell script grades the tree it is handed. Both named readings \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 2222,
|
||||
"end_line": 13432,
|
||||
"id": "Q117",
|
||||
"kind": "record",
|
||||
"line": 13432,
|
||||
"lines": 1,
|
||||
"role": "continuation",
|
||||
"role_detail": "DONE",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "**Q117 \u2014 DONE (zeph, 2026-10-29; zeph lane by authorship; measured at `ebba640`, this record and `docs/queue-index.md` land in the commit above it).** The `KNOWN_PROBE` table now sits beside \u2026"
|
||||
}
|
||||
],
|
||||
"ids_multi_section": {
|
||||
@@ -3974,17 +3988,30 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "**Q121 \u2014 DONE (volt, 2026-10-29; zeph lane by authorship, unclaimed and taken; this record and `docs/queue-index.md` land in the commit above the head `5623170` the item was measured against). The \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 7752,
|
||||
"end_line": 13430,
|
||||
"bytes": 7753,
|
||||
"end_line": 13431,
|
||||
"id": "Q109",
|
||||
"kind": "record",
|
||||
"line": 13404,
|
||||
"lines": 27,
|
||||
"lines": 28,
|
||||
"role": "continuation",
|
||||
"role_detail": "DONE",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "**Q109 \u2014 DONE (volt, 2026-10-29; spark lane by authorship, unclaimed and taken). The tool check measures the import now, and the shell script grades the tree it is handed. Both named readings \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 2222,
|
||||
"end_line": 13432,
|
||||
"id": "Q117",
|
||||
"kind": "record",
|
||||
"line": 13432,
|
||||
"lines": 1,
|
||||
"role": "continuation",
|
||||
"role_detail": "DONE",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "**Q117 \u2014 DONE (zeph, 2026-10-29; zeph lane by authorship; measured at `ebba640`, this record and `docs/queue-index.md` land in the commit above it).** The `KNOWN_PROBE` table now sits beside \u2026"
|
||||
}
|
||||
],
|
||||
"nested": [
|
||||
@@ -4083,7 +4110,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q99",
|
||||
"line": 12749,
|
||||
"refs": 32,
|
||||
"refs": 33,
|
||||
"section": "Q98",
|
||||
"shape": "BULLET+BOLD"
|
||||
},
|
||||
@@ -4245,7 +4272,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q117",
|
||||
"line": 13290,
|
||||
"refs": 3,
|
||||
"refs": 5,
|
||||
"section": "Q96",
|
||||
"shape": "BULLET+BOLD"
|
||||
},
|
||||
@@ -4281,7 +4308,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q121",
|
||||
"line": 13342,
|
||||
"refs": 2,
|
||||
"refs": 4,
|
||||
"section": "Q107",
|
||||
"shape": "BULLET+BOLD"
|
||||
},
|
||||
@@ -4318,9 +4345,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"end_line": 8,
|
||||
"line": 1
|
||||
},
|
||||
"queue_bytes": 2093408,
|
||||
"queue_lines": 13430,
|
||||
"queue_sha256": "bc4a5fbac8d035fa2845e50f002a8b712d4f0d5d3d25a4b6aeea0efb5c9c969c",
|
||||
"queue_bytes": 2095631,
|
||||
"queue_lines": 13432,
|
||||
"queue_sha256": "cc261e2bd90f1c26f67d31204a6c50643ffe3606eaba2b60a9213c535be972e3",
|
||||
"sections": [
|
||||
{
|
||||
"bytes": 3139,
|
||||
|
||||
@@ -53,7 +53,22 @@ never as a joined string (cell 8, the absence cell, Q96; per-entry form
|
||||
per Q121) -- a full value under the exhausted beae0b1f stem reports
|
||||
RECOVERED (cell 9, Q96), and a two-entry table with one entry's literal
|
||||
inserted names exactly that entry (cell 10, the Q121 cell: the joined form
|
||||
named nothing once the table held two values).
|
||||
named nothing once the table held two values) -- and a record-quoted
|
||||
probe value under that stem does NOT report RECOVERED (cell 11, Q117).
|
||||
|
||||
Provenance rule (Q117, reply 146 section 4 / interview section 3):
|
||||
a full value invented in one of our own replies is never an archive
|
||||
recovery, however many bytes of it sit in the tree. It is implemented
|
||||
as data, not site heuristics: a KNOWN_PROBE table beside
|
||||
KNOWN_FIXTURE. Probe values are skipped by the recovery leg exactly
|
||||
like the placeholder and the fixture, so a stem whose only in-tree
|
||||
longer string is a probe value reads UNRECOVERED-JUSTIFIED with the
|
||||
value still in the tree. The Q99 record that quotes the probe value
|
||||
is NOT edited: the table declares its provenance, and the record
|
||||
stands as dated fact. Cell numbering note: Q117 was filed asking for
|
||||
"a new cell (10)", but Q121 landed first and took that number, so
|
||||
the probe cell is cell 11; the done-means (table suppresses, flip-back
|
||||
proves it) are unchanged.
|
||||
|
||||
Correction, reply 130 probe D / interview 117 section 1.4: the
|
||||
2026-10-27 check-in credited cell 7 with proving that no UUID-shaped
|
||||
@@ -130,6 +145,18 @@ KNOWN_FIXTURE = {
|
||||
KNOWN_UNRECOVERED = {"beae0b1f"}
|
||||
PLACEHOLDER = "beae0b1f-0000-0000-0000-000000000000"
|
||||
|
||||
# Probe values invented in our own investigation (Q117): Timmy's probe-C
|
||||
# value, quoted in full by his own Q99 record (WORK-QUEUE.md) to
|
||||
# demonstrate the over-wide stem rule. It is the ONLY full value in the
|
||||
# tree under this stem that is not the placeholder, and it is not an
|
||||
# archive recovery: the record created the value that would satisfy the
|
||||
# recovery leg. Built by concatenation, like the fixture, so no literal
|
||||
# for it exists in this source; the recovery leg skips it, and cell 11
|
||||
# proves the table is what suppresses it. The Q99 record is not edited.
|
||||
KNOWN_PROBE = {
|
||||
"beae0b1f": "beae0b1f-" "9f2c-4d1e-8a77-3c5b6e9d0a11",
|
||||
}
|
||||
|
||||
|
||||
def list_files(tree):
|
||||
"""Tracked files if tree is a git checkout, else every file under it."""
|
||||
@@ -195,10 +222,12 @@ def run_check(tree, excludes):
|
||||
for rel, text in contents.items():
|
||||
for m in pat.finditer(text):
|
||||
cand = m.group(0)
|
||||
# The placeholder and the test fixture are not
|
||||
# recoveries: skip both, or the recovery line would
|
||||
# name the fixture value as a recovery.
|
||||
if cand != PLACEHOLDER and cand not in KNOWN_FIXTURE.values():
|
||||
# The placeholder, the test fixture and any probe
|
||||
# value are not recoveries: skip all three, or the
|
||||
# recovery line would name one of them as a recovery.
|
||||
if (cand != PLACEHOLDER
|
||||
and cand not in KNOWN_FIXTURE.values()
|
||||
and cand not in KNOWN_PROBE.values()):
|
||||
longer = (cand, rel)
|
||||
break
|
||||
if longer:
|
||||
@@ -207,11 +236,13 @@ def run_check(tree, excludes):
|
||||
# Q96 narrowing: a truncated token under an exhausted stem
|
||||
# skips the longer-string look, but a full value that arrives
|
||||
# under that stem is a recovery, not an exhaustion. The
|
||||
# placeholder (and the fixture, by symmetry) never counts.
|
||||
# placeholder (and the fixture, by symmetry) never counts;
|
||||
# since Q117 neither does a record-quoted probe value.
|
||||
for rel, text in contents.items():
|
||||
for val in FULL_RE.findall(text):
|
||||
if (val[:8] == stem8 and val != PLACEHOLDER
|
||||
and val not in KNOWN_FIXTURE.values()):
|
||||
and val not in KNOWN_FIXTURE.values()
|
||||
and val not in KNOWN_PROBE.values()):
|
||||
longer = (val, rel)
|
||||
break
|
||||
if longer:
|
||||
@@ -336,9 +367,12 @@ def selftest():
|
||||
# Cell 9 (Q96 exhausted-stem flip): a full value arriving under
|
||||
# the exhausted beae0b1f stem reports RECOVERED with its site.
|
||||
# Built by concatenation, as in cell 4, so no second UUID-shaped
|
||||
# literal enters this source; the value is Timmy's probe-C value.
|
||||
# literal enters this source. Since Q117 this must be a NON-probe
|
||||
# value: Timmy's probe-C value no longer counts as a recovery
|
||||
# (cell 11 owns that case), so the flip is demonstrated with a
|
||||
# synthetic value that appears in no table.
|
||||
with open(os.path.join(d, "g.md"), "w") as fh:
|
||||
fh.write("beae0b1f-" "9f2c-4d1e-8a77-3c5b6e9d0a11\n")
|
||||
fh.write("beae0b1f-" "1111-2222-3333-444444444444\n")
|
||||
lines, _ = run_check(d, ["report.md"])
|
||||
assert any(l.startswith("TOKEN beae0b1f: RECOVERED-IN-TREE")
|
||||
and l.endswith("at g.md") for l in lines), \
|
||||
@@ -367,6 +401,36 @@ def selftest():
|
||||
assert fixture_literals_in_source(both, two_entry) == want_both, \
|
||||
"both-inserted scan did not name both stems"
|
||||
passed.append("absence-scan-per-entry")
|
||||
# Cell 11 (Q117): a record-quoted probe value under the exhausted
|
||||
# stem does NOT report RECOVERED. The tree holds the truncated
|
||||
# stem plus Timmy's probe-C value (built by concatenation, as in
|
||||
# cell 4); with KNOWN_PROBE in place the stem must read
|
||||
# UNRECOVERED-JUSTIFIED and the gate must stay green. Then the
|
||||
# flip-back mutant: with the probe value removed from the table
|
||||
# the SAME tree must read RECOVERED-IN-TREE, proving the table
|
||||
# is what suppresses it -- otherwise this cell would be vacuous
|
||||
# (a tree with no recovery at all reads UNRECOVERED either way).
|
||||
probe_val = KNOWN_PROBE["beae0b1f"]
|
||||
with open(os.path.join(d, "h.md"), "w") as fh:
|
||||
fh.write("beae0b1f-\u2026 and probe %s\n" % probe_val)
|
||||
lines, failed = run_check(d, ["report.md"])
|
||||
assert any(l.startswith("TOKEN beae0b1f: UNRECOVERED-JUSTIFIED")
|
||||
for l in lines), "probe tree did not read UNRECOVERED-JUSTIFIED: %s" % lines
|
||||
assert not any(l.startswith("TOKEN beae0b1f: RECOVERED")
|
||||
for l in lines), "probe value reported as recovery"
|
||||
assert not failed, "probe tree failed the gate"
|
||||
saved_probe = dict(KNOWN_PROBE)
|
||||
try:
|
||||
KNOWN_PROBE.clear()
|
||||
lines, _ = run_check(d, ["report.md"])
|
||||
finally:
|
||||
KNOWN_PROBE.update(saved_probe)
|
||||
assert any(l.startswith("TOKEN beae0b1f: RECOVERED-IN-TREE")
|
||||
and l.endswith("at h.md") for l in lines), \
|
||||
"flip-back mutant did not recover without the table: %s" % lines
|
||||
assert KNOWN_PROBE == saved_probe, "probe table not restored after mutant"
|
||||
os.remove(os.path.join(d, "h.md"))
|
||||
passed.append("probe-value-not-a-recovery")
|
||||
# Cell 7 (the sixth cell of reply 113, renumbered by cell 6): run the
|
||||
# check over the checker's own directory and assert rc 0. This is
|
||||
# the leg that was missing: five cells graded fixture trees, none
|
||||
|
||||
@@ -9,7 +9,9 @@ the module's own selftest cannot write: a module cannot put a second entry in
|
||||
its own table at run time without shipping one.
|
||||
|
||||
Cells:
|
||||
1. control the shipped module's selftest is green and reports 10 cells.
|
||||
1. control the shipped module's selftest is green and reports 11 cells.
|
||||
(10 at Q121 landing; 11 after Q117 added the probe cell.
|
||||
The count pin moves with the cell count by design.)
|
||||
2. two-entry the queue's mutant (second KNOWN_FIXTURE entry plus that
|
||||
entry's full literal in the source) reds NAMING the stem.
|
||||
3. join-legacy the pre-repair algorithm restored inside the cell reds --
|
||||
@@ -94,7 +96,7 @@ class Q121Cells(unittest.TestCase):
|
||||
def test_1_control_is_green(self):
|
||||
rc, out, err = run_selftest(MODULE)
|
||||
self.assertEqual(rc, 0, "shipped selftest not green: %s" % err[-300:])
|
||||
self.assertIn("SELFTEST: 10 cells passed, 0 failed", out)
|
||||
self.assertIn("SELFTEST: 11 cells passed, 0 failed", out)
|
||||
self.assertIn("SELFTEST PASS absence-scan-per-entry", out)
|
||||
|
||||
def test_2_two_entry_mutant_reds_naming_the_stem(self):
|
||||
|
||||
Reference in new issue
Block a user