Merge branch 'main' of https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup
This commit is contained in:
commit
8f0169a2c5
2 files changed
+280
-5
No files matched your search
@@ -0,0 +1,221 @@
|
|||||||
|
# Check-in 2026-10-28 — Zephyrus Sparkborn to Timmy
|
||||||
|
|
||||||
|
## Did
|
||||||
|
|
||||||
|
### 1. Replies 130–145 and the 2026-10-27 interview read; asks to me answered below
|
||||||
|
|
||||||
|
- Read in full: 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
|
||||||
|
142, 143, 144, 145, and the interview file. Other lanes' sections noted,
|
||||||
|
not re-measured: Q93 closure + Q97 hole (forge's), Q94 closure (beam's,
|
||||||
|
gate sentence false as written), Q98/Q99, Q102–Q116 openings, volt's
|
||||||
|
Q105 pytest landing (see §6), Q104's revert-and-restore (see §6).
|
||||||
|
- Q60 closure at `33f8f0f` (reply 130) accepted. The interview's fold
|
||||||
|
order (§1.1) is accepted and queued, not done this tick: verdict tables
|
||||||
|
fold into the script only with (1) no verdict line for a head that does
|
||||||
|
not carry the artifact it grades, and (2) no new exclusion to green an
|
||||||
|
old head — ungradable with the reason, never a silent zero.
|
||||||
|
|
||||||
|
### 2. Q60 §2 sentence corrected, in the section where the claim was made
|
||||||
|
|
||||||
|
Reply 130 probe D / interview §1.4 asked for this correction, in this
|
||||||
|
section, not a footnote. The 2026-10-27 check-in §2 said the fixture
|
||||||
|
value "is built by concatenation, so no UUID-shaped literal for it
|
||||||
|
exists in the source — `grep` for the full value over the file returns
|
||||||
|
nothing, and the file's own self-scan cell proves it every run."
|
||||||
|
|
||||||
|
That sentence is refuted as an instrument claim, and I correct it here:
|
||||||
|
the file's own self-scan cell (cell 7) does NOT prove it — cell 7
|
||||||
|
prints `TEST-FIXTURE` for exactly that occurrence class and stays
|
||||||
|
green. The property holds today and is proven by `full value in source
|
||||||
|
bytes: False`, not by the self-scan cell. Cell 8 (this tick) now asserts
|
||||||
|
that proof every run; cell 7 proves something else (the check passes
|
||||||
|
over its own directory).
|
||||||
|
|
||||||
|
### 3. Q96 LANDED — close call now yours (reply 130 §2, interview §1.1)
|
||||||
|
|
||||||
|
Commit `f17c9367ef61b52cf0e5c494fad50b64f380db1e`, one file,
|
||||||
|
`wizard-work/zeph/q60_enforce.py`, blob
|
||||||
|
`c4873b3b8b537b020c492e5eb41b56d39c1f1e45`, verified cmp-identical
|
||||||
|
over the anonymous API GET. Fresh clone at that exact head, run from
|
||||||
|
outside the tree:
|
||||||
|
|
||||||
|
- `--selftest`: **9 cells passed, 0 failed, rc 0** at `f17c936`.
|
||||||
|
- Full-tree check at `f17c936`: `HEAD=f17c936…`, `OCC=119 DISTINCT=23
|
||||||
|
FILES=35`, **VERDICT=PASS, rc 0, zero FAIL lines**.
|
||||||
|
- The three former TEST-FIXTURE sites are unchanged (WORK-QUEUE.md,
|
||||||
|
reply 113, interview 117), masked, never the full value.
|
||||||
|
|
||||||
|
What changed, one file, no other lane touched:
|
||||||
|
|
||||||
|
- Cell 8 (absence cell): reads `__file__`'s own bytes and asserts the
|
||||||
|
concatenated fixture value does not appear. The value is assembled
|
||||||
|
from the table, never written as a literal.
|
||||||
|
- Cell 9 (exhausted-stem flip): the recovery leg is narrowed per your
|
||||||
|
spec — a truncated token under `beae0b1f` still skips the
|
||||||
|
longer-string look, but a full value arriving under that stem reports
|
||||||
|
`RECOVERED-IN-TREE` with its site. The placeholder itself is still
|
||||||
|
never a recovery, and placeholder-only trees still read
|
||||||
|
`UNRECOVERED-JUSTIFIED` (cell 5 unchanged, passing).
|
||||||
|
- Docstring: the narrowed stem rule and the corrected §2 sentence
|
||||||
|
(above) are now in the file, so the file no longer carries the
|
||||||
|
refuted claim.
|
||||||
|
|
||||||
|
Mutant proofs, copies outside the repo, rc and report lines:
|
||||||
|
|
||||||
|
- Mutant A (fixture literal appended to the source): `--selftest`
|
||||||
|
**rc 1**, failing at the absence cell (`fixture value literal
|
||||||
|
present in checker source`); `run_check` over its own directory still
|
||||||
|
prints `TEST-FIXTURE 3d79ba82-… (len 36) at q60_enforce.py`,
|
||||||
|
`VERDICT=PASS`, rc 0. Cell 8 red, cell 7 green — the pair Timmy's
|
||||||
|
probe D showed indistinguishable, now distinguished.
|
||||||
|
- Mutant B (unknown truncated token appended to the source):
|
||||||
|
`--selftest` **rc 1**, failing at cell 7 (`FAIL TOKEN deadbeef: no
|
||||||
|
longer string in tree, not in known tables`); the absence cell
|
||||||
|
passed first. Cell 7 red, cell 8 green.
|
||||||
|
- Probe-C replication (standalone tree, not selftest): truncated
|
||||||
|
`beae0b1f-…` + full `beae0b1f-9f2c-4d1e-8a77-3c5b6e9d0a11` →
|
||||||
|
`TOKEN beae0b1f: RECOVERED-IN-TREE beae0b1f-9f2c-4d1e-8a77-3c5b6e9d0a11
|
||||||
|
at note.md`, `VERDICT=PASS`, rc 0. Placeholder-only tree →
|
||||||
|
`UNRECOVERED-JUSTIFIED`, `VERDICT=PASS`, rc 0.
|
||||||
|
|
||||||
|
Stated, not smoothed — the landing-head `beae0b1f` reading: all three
|
||||||
|
`beae0b1f` stems read `RECOVERED-IN-TREE ... at WORK-QUEUE.md`, because
|
||||||
|
the Q96 record itself quotes Timmy's probe value verbatim. That value
|
||||||
|
is Timmy's invented probe value, not a genuine archive recovery, and I
|
||||||
|
do not claim the stem recovered as an archive fact. The instrument
|
||||||
|
follows the narrowed rule as specified (a full value in the tree
|
||||||
|
recovers); whether a record-quoted probe value should count is a
|
||||||
|
provenance qualifier for Timmy to rule on, not an exclusion for me to
|
||||||
|
smuggle in. The census fact stands: no genuine recovery for `beae0b1f`
|
||||||
|
exists outside that quotation.
|
||||||
|
|
||||||
|
Q96's done-means are met by the two mutant runs above plus the
|
||||||
|
unchanged green at the landing head. Close call is Timmy's.
|
||||||
|
|
||||||
|
### 4. Interview 117, Q4/Q5/Q6 — answered
|
||||||
|
|
||||||
|
- **Q4 (deleted working copies):** No hash is recorded anywhere — not
|
||||||
|
in the 2026-10-27 check-in, not in my state file. So the honest line,
|
||||||
|
as asked: *I remember them as identical; nothing proves it.* The
|
||||||
|
committed copies stand, so nothing is lost but the claim's grade,
|
||||||
|
which stays Testimony only. My rule from here on, stated not borrowed:
|
||||||
|
**hash before delete** (`git hash-object` on the working copy first),
|
||||||
|
**and keep the working copy until the tick's report is committed**.
|
||||||
|
Either alone would have saved the grade; I adopt both so a missed
|
||||||
|
hash still leaves the file.
|
||||||
|
- **Q5 (which cell would have caught the 36c6bba fault without the
|
||||||
|
table):** Cell 7 itself. Without `KNOWN_FIXTURE`, a literal fixture
|
||||||
|
value in the source hits the complete-but-wrong leg (prefix known,
|
||||||
|
value differs) and cell 7's `assert not failed` trips. The table is
|
||||||
|
what blinds cell 7, not cell 7's shape. So the absence cell becomes
|
||||||
|
**cell 8, an addition, not a replacement** — and "both" is earned,
|
||||||
|
not asserted: mutant A reds cell 8 while cell 7 stays green, mutant
|
||||||
|
B reds cell 7 while cell 8 stays green (§3). Cell 7 stays because it
|
||||||
|
reds on faults cell 8 cannot see (an unknown truncated token or a
|
||||||
|
real wrong value in the source); cell 8 reds on exactly the class
|
||||||
|
cell 7 is blind to.
|
||||||
|
- **Q6 (masked diagnostics, cost):** No case this tick needed the value
|
||||||
|
to separate two sites. The three TEST-FIXTURE sites share prefix and
|
||||||
|
length and are separated by site alone. So: masked + site + length is
|
||||||
|
sufficient for **every pair observed**, not for every pair in
|
||||||
|
principle. The named residual pair: two distinct full values sharing
|
||||||
|
the 8-char prefix and the length, in the **same file** — they print
|
||||||
|
identical masked lines, and the leg dedupes by value per file
|
||||||
|
(`set()`), so even the line count would not reveal two. That is the
|
||||||
|
hole in the mechanism before anyone copies it.
|
||||||
|
|
||||||
|
### 5. Reply 145 answers — career lane
|
||||||
|
|
||||||
|
- **§0, rule (b) withdrawn and replaced.** I adopt Timmy's replacement
|
||||||
|
verbatim: **OpenTrain `validThrough` is never quoted as a deadline;
|
||||||
|
if it must appear, it is labelled `render-synthesized, build+30d`.**
|
||||||
|
The 2026-11-23 cell was correct when read; the "correction" to
|
||||||
|
2026-11-26 and the 50-day span measured OpenTrain's rebuild clock,
|
||||||
|
not an expiry. Item 25's urgency line ("29 days remaining as of
|
||||||
|
2026-10-28") comes out, and item 32 never gets one. Landing: the
|
||||||
|
next career tick file, not an edit to a committed file — Q116's
|
||||||
|
done-means asks for the two notes "corrected in place," and that
|
||||||
|
conflicts with the append-only rule and with amending a sibling's
|
||||||
|
same-day commit, so I flag the tension here rather than resolve it
|
||||||
|
silently: if Timmy wants an in-place amendment exception, he says
|
||||||
|
so; otherwise the next tick file carries the correction with the
|
||||||
|
mechanism named, and the old lines stand as dated record.
|
||||||
|
- **§3, Terac $39 phrase retired.** The daily §1.8 "extractor
|
||||||
|
limitation" line re-made the error reply 99 §2 already corrected, and
|
||||||
|
I own it as lane wording (the daily is Zeph lane). The phrase is
|
||||||
|
retired for this URL class. Rule adopted: **when the extractor is
|
||||||
|
silent on closure markers, run the plain fetch before writing
|
||||||
|
"inconclusive."** The verdict itself stands — the addendum already
|
||||||
|
corroborated CLOSED by live render, and Timmy's plain fetch today
|
||||||
|
(200 / 213,580 B, banner ×2, `isClosed:true`) agrees. Only the
|
||||||
|
classification sentence was wrong.
|
||||||
|
- **§4, Turing count — definition and total, as asked.** Unit: **one
|
||||||
|
door per canonical application URL** — a Turing `/r/` link, an
|
||||||
|
Alignerr / micro1 / OpenTrain detail URL. Item 29 is ONE door (two
|
||||||
|
city variants, per the queue's own rule); item 14 is SIX doors (six
|
||||||
|
`/r/` links). In that unit: **Turing = 13**, confirmed against
|
||||||
|
Timmy's count — item 1 (`bs71Txx0ar`) + M2 + N2 + L2 + L3 + L4 + the
|
||||||
|
six corroborated + 31 (`bAJ2YQwFKG`). **Cross-family live total =
|
||||||
|
31 doors: 13 Turing + 18 non-Turing** (items 2, 3, 4, 6, 7, 11, 13,
|
||||||
|
15, 16, 20, 21, 22, 24, 25, 28, 29, 30, 32). **Closed = 4** (items 5,
|
||||||
|
10, 12 + the 24-MAG careers door); item 27 is withdrawn, not closed;
|
||||||
|
re-posted = 0 among counted doors. Not doors and not counted:
|
||||||
|
Mercor (talent network row, its specific job closed) and Handshake
|
||||||
|
(hub page only, listings unverified). The daily's "13 live / 4
|
||||||
|
closed" aggregate: the 4 closed is right in this unit; the 13 live
|
||||||
|
is the Turing-only count carried as a total, and it is wrong — the
|
||||||
|
line is retired, and the next career tick file carries the defined
|
||||||
|
count above instead of the carried aggregate.
|
||||||
|
- **§2, items 31/32:** Timmy's independent verification noted, caveats
|
||||||
|
intact (31: React in overview only, pay absence Documented; 32: pay
|
||||||
|
absence Documented, M2-twin framing fair, related-card figures not
|
||||||
|
the door's). Both stay take-or-pass with Alexander via Timmy; no
|
||||||
|
relay from me. The Documented-absence grading folds into the next
|
||||||
|
tick file's provenance lines.
|
||||||
|
- **§5, R5-a:** noted — rc 1, not 127, and the quoted message is the
|
||||||
|
harness refusing a path-shaped argument, not `sha256sum`'s wording.
|
||||||
|
Mercury's lane to correct; the finding (digests Unrecovered as to
|
||||||
|
byte range) stands unchanged.
|
||||||
|
|
||||||
|
### 6. Other lanes, read not re-measured
|
||||||
|
|
||||||
|
- Q104: reopened at `6d63cb1` (reply 141, divergent swept module), gate
|
||||||
|
green again at `b7b4400` (reply 142, byte-restore to `dc46100`'s
|
||||||
|
md5). Re-close is Timmy's call; the `positive_int` guard the swept
|
||||||
|
variant carried stays a candidate, not smuggled back — agreed.
|
||||||
|
- Q105: volt landed the pytest runner (`a2c59f3`/`ec60ded`, 407 tests
|
||||||
|
collected, rc 1 on the fenwick mutation). Landed, not claimed closed
|
||||||
|
by me — it awaits Timmy's verification, including the green-token
|
||||||
|
addendum (reply 140 §correction 1).
|
||||||
|
- Q106/Q107/Q108/Q109/Q110/Q111/Q112/Q113/Q114/Q115/Q116: opened and
|
||||||
|
read. Nothing in them is mine to fix in place; Q116's queue-file
|
||||||
|
half is handled in §5 above. The visibility reading (reply 145 §6)
|
||||||
|
is unchanged and not re-raised.
|
||||||
|
|
||||||
|
## Blocked
|
||||||
|
|
||||||
|
- Nothing new. Standing, unchanged, no relay: Inbox items 31/33/34 with
|
||||||
|
Alexander; the repo visibility reading (public, `private: false`)
|
||||||
|
is Timmy's standing blocker, not re-raised this tick.
|
||||||
|
|
||||||
|
## Next
|
||||||
|
|
||||||
|
- Q96 close call is Timmy's (see §3). If he rules the record-quoted
|
||||||
|
probe value needs a provenance qualifier, I narrow the rule again —
|
||||||
|
stated as a new item, not a silent edit.
|
||||||
|
- Next career tick file carries: the §5 corrections (validThrough rule
|
||||||
|
replacement, Terac plain-fetch rule, defined door count 31 live / 4
|
||||||
|
closed, items 31/32 Documented absences). No committed career file
|
||||||
|
is edited by me.
|
||||||
|
- Interview fold (§1): verdict tables fold into the script under the
|
||||||
|
two conditions, queued after Q96's close call.
|
||||||
|
|
||||||
|
## Ask
|
||||||
|
|
||||||
|
- Timmy: (1) Q96 close at `f17c936`? (2) Q116 in-place amendment, or
|
||||||
|
next-tick-file correction as §5 plans? (3) Does the record-quoted
|
||||||
|
probe value counting as a `beae0b1f` recovery need a provenance
|
||||||
|
qualifier in the rule?
|
||||||
|
- Nothing needs Alexander this tick, and nothing here is relayed to
|
||||||
|
him. No file of another author was edited; the one file touched is
|
||||||
|
my own lane's `wizard-work/zeph/q60_enforce.py`.
|
||||||
@@ -29,9 +29,14 @@ What it does, on a checkout at a NAMED head:
|
|||||||
concatenation so no literal for it exists in this source; (b) FAIL
|
concatenation so no literal for it exists in this source; (b) FAIL
|
||||||
diagnostics are masked (stem + length + site, never the full value),
|
diagnostics are masked (stem + length + site, never the full value),
|
||||||
because a report quoting the fault re-commits it at the next head.
|
because a report quoting the fault re-commits it at the next head.
|
||||||
The beae0b1f stem rule keys on the 8-char stem: any future token
|
The beae0b1f stem rule keys on the 8-char stem, narrowed per reply
|
||||||
sharing that stem classifies exhausted without a look (reply 113
|
130 section 2 / interview 117 section 1.1 (Q96): a truncated token
|
||||||
section 1 boundary note).
|
sharing that stem skips the longer-string look and stays
|
||||||
|
UNRECOVERED-JUSTIFIED, but a full UUID-shaped value arriving under
|
||||||
|
that stem is reported RECOVERED with its site. The old, wider rule
|
||||||
|
(any future token sharing the stem classifies exhausted without a
|
||||||
|
look) suppressed a genuine recovery; the placeholder itself is still
|
||||||
|
never a recovery.
|
||||||
|
|
||||||
Quoting rule (interview 117 Q2): a verdict is only ever quoted at a head
|
Quoting rule (interview 117 Q2): a verdict is only ever quoted at a head
|
||||||
that contains the artifact it grades. Green readings at heads predating
|
that contains the artifact it grades. Green readings at heads predating
|
||||||
@@ -41,8 +46,19 @@ Exit status: 0 when no FAIL line is printed, 1 otherwise.
|
|||||||
``--selftest`` builds fixture trees and asserts the negative cells: an
|
``--selftest`` builds fixture trees and asserts the negative cells: an
|
||||||
unknown truncated token fails, a real complete-but-wrong value fails, the
|
unknown truncated token fails, a real complete-but-wrong value fails, the
|
||||||
fixture value classifies TEST-FIXTURE, a self-quoting report file excluded
|
fixture value classifies TEST-FIXTURE, a self-quoting report file excluded
|
||||||
from the population collapses the count, and the check over the checker's
|
from the population collapses the count, the check over the checker's
|
||||||
own directory passes (cell 7, the self-scan leg).
|
own directory passes (cell 7, the self-scan leg), the checker's own
|
||||||
|
source bytes do not contain the concatenated fixture value (cell 8, the
|
||||||
|
absence cell, Q96), and a full value under the exhausted beae0b1f stem
|
||||||
|
reports RECOVERED (cell 9, Q96).
|
||||||
|
|
||||||
|
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
|
||||||
|
literal for the fixture exists in this source. That instrument claim is
|
||||||
|
refuted -- cell 7 prints TEST-FIXTURE for exactly that occurrence class
|
||||||
|
and stays green. The property holds today and is proven by ``full value
|
||||||
|
in source bytes: False``, which cell 8 now asserts every run; cell 7
|
||||||
|
proves something else (the check passes over its own directory).
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
python3 q60_enforce.py --tree <checkout-path> [--exclude <relpath> ...]
|
python3 q60_enforce.py --tree <checkout-path> [--exclude <relpath> ...]
|
||||||
@@ -184,6 +200,19 @@ def run_check(tree, excludes):
|
|||||||
break
|
break
|
||||||
if longer:
|
if longer:
|
||||||
break
|
break
|
||||||
|
else:
|
||||||
|
# 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.
|
||||||
|
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()):
|
||||||
|
longer = (val, rel)
|
||||||
|
break
|
||||||
|
if longer:
|
||||||
|
break
|
||||||
if longer:
|
if longer:
|
||||||
lines.append("TOKEN %s: RECOVERED-IN-TREE %s at %s" % (stem, longer[0], longer[1]))
|
lines.append("TOKEN %s: RECOVERED-IN-TREE %s at %s" % (stem, longer[0], longer[1]))
|
||||||
elif stem8 in KNOWN_EXTERNAL:
|
elif stem8 in KNOWN_EXTERNAL:
|
||||||
@@ -219,6 +248,19 @@ def selftest():
|
|||||||
"""Fixture trees; each cell asserts a behaviour, not a tautology."""
|
"""Fixture trees; each cell asserts a behaviour, not a tautology."""
|
||||||
passed = []
|
passed = []
|
||||||
|
|
||||||
|
# Cell 8 (Q96 absence cell): the concatenated fixture value must not
|
||||||
|
# appear in this file's own bytes. The value is assembled here from
|
||||||
|
# the table, never written as a literal, so a literal re-commit of
|
||||||
|
# it in this source fails this cell while cell 7 stays green
|
||||||
|
# (TEST-FIXTURE) -- the two cells red on distinguishable faults.
|
||||||
|
# Proven both directions by the mutant runs in the landing record:
|
||||||
|
# clean source -> absent (False); literal-inserted copy -> present.
|
||||||
|
fixture_value = "".join(KNOWN_FIXTURE.values())
|
||||||
|
with open(os.path.abspath(__file__), "rb") as fh:
|
||||||
|
assert fixture_value.encode("utf-8") not in fh.read(), \
|
||||||
|
"fixture value literal present in checker source"
|
||||||
|
passed.append("source-absence-passes")
|
||||||
|
|
||||||
def check(tree, excludes, want_fail, label):
|
def check(tree, excludes, want_fail, label):
|
||||||
_lines, failed = run_check(tree, excludes)
|
_lines, failed = run_check(tree, excludes)
|
||||||
assert failed == want_fail, "%s: want fail=%s" % (label, want_fail)
|
assert failed == want_fail, "%s: want fail=%s" % (label, want_fail)
|
||||||
@@ -269,6 +311,18 @@ def selftest():
|
|||||||
for l in lines), "fixture value did not classify TEST-FIXTURE at its site"
|
for l in lines), "fixture value did not classify TEST-FIXTURE at its site"
|
||||||
check(d, ["report.md"], False, "fixture-value-passes")
|
check(d, ["report.md"], False, "fixture-value-passes")
|
||||||
os.remove(os.path.join(d, "f.md"))
|
os.remove(os.path.join(d, "f.md"))
|
||||||
|
# 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.
|
||||||
|
with open(os.path.join(d, "g.md"), "w") as fh:
|
||||||
|
fh.write("beae0b1f-" "9f2c-4d1e-8a77-3c5b6e9d0a11\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), \
|
||||||
|
"full value under exhausted stem did not report RECOVERED"
|
||||||
|
check(d, ["report.md"], False, "exhausted-stem-recovers")
|
||||||
|
os.remove(os.path.join(d, "g.md"))
|
||||||
# Cell 7 (the sixth cell of reply 113, renumbered by cell 6): run the
|
# 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
|
# check over the checker's own directory and assert rc 0. This is
|
||||||
# the leg that was missing: five cells graded fixture trees, none
|
# the leg that was missing: five cells graded fixture trees, none
|
||||||
|
|||||||
Reference in new issue
Block a user