hub v0.137.0 source + burn-down round 2 in felhom.eu: R-277 R-581 R-600 R-544 R-855 R-134 R-92 R-292 R-599 R-725 R-728 (hub), R-819 R-857 R-555 R-364 R-587 (gates/tools), R-571 R-129 R-124-runbook (docs); 28 rows closed incl. catalog + agent v0.147.0 rows, R-350 merged into R-132, R-888 opened, R-887 mechanism (249 -> 222)
gates / gates (push) Successful in 2m3s
gates / gates (push) Successful in 2m3s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -53,6 +53,12 @@ COVERS = {
|
||||
"(2026-10-03) an old-shape row under the new header, a near-miss category, an "
|
||||
"old rank tag as Sev, an undefined state word, and a pipe outside backticks"),
|
||||
"decoy-coverage": "a gate registered in a runner with no decoy and no exemption (its red-proof)",
|
||||
"wire-contract": ("R-555: an emitted tag whose name the receiver carries ONLY in a // and a /* */ comment "
|
||||
"must convict (it passed for months as `language` did); the genuine article — the same "
|
||||
"name in a struct tag beside a `//` inside a string literal — must pass"),
|
||||
"stands": ("R-819: a stand citing a register id that exists in NEITHER register, and a stand "
|
||||
"marked 'walked' whose only source is a register row (a green dot from a label); "
|
||||
"plus the genuine article — a stand citing only a CLOSED row, which must PASS"),
|
||||
"site": "R-423: a NEW page under website/ that PAGES does not list (the gate used to scan 7 of 9)",
|
||||
"script-tests": ("R-885: FIVE cases in scripts/test_script_tests_gate.py, run from here: a suite that PRINTS "
|
||||
"OK and exits 1 (label without fact), a failing suite three levels deep (scope is a walk), "
|
||||
@@ -486,6 +492,52 @@ _rsg_case("pipe-outside-backticks",
|
||||
_HEALTHY.replace("**A finding.**", "**A finding.** owner: CC | operator"),
|
||||
must_convict=True, expect_rule="RULE 5")
|
||||
|
||||
# ── wire-contract (R-555) ────────────────────────────────────────────────────────────────────────
|
||||
#
|
||||
# The real receiver (the hub tree) with ONE received tag taken out of its token set and put back only
|
||||
# through a file that names it in prose. The gate runs end to end against the real emitters, so the
|
||||
# decoy needs the controller and agent clones beside this one (CI fetches both; a missing clone is
|
||||
# INCONCLUSIVE and fails this suite, never a pass). `repo_size_bytes` is `offsite.repo_size_bytes`,
|
||||
# which the hub really decodes, so the genuine case passes for the right reason.
|
||||
_WC = r"""
|
||||
import os, sys, tempfile
|
||||
sys.path.insert(0, "scripts")
|
||||
import wire_contract_gate as g
|
||||
T, mode = "repo_size_bytes", sys.argv[1]
|
||||
tmp = tempfile.mkdtemp(prefix="r555-")
|
||||
body = {"comment": "package prose\n// %s is described here, in prose only.\n/* and %s again */\n" % (T, T),
|
||||
"genuine": "package prose\nvar u = \"http://x\" // not a comment start inside a string\n"
|
||||
"type X struct { A int `json:\"%s\"` }\n" % T}[mode]
|
||||
open(os.path.join(tmp, "prose.go"), "w").write(body)
|
||||
orig, hub = g.receiver_tokens, os.path.abspath(g.REPOS["hub"])
|
||||
g.receiver_tokens = lambda p: ((orig(p) - {T}) | orig(tmp)) if os.path.abspath(p) == hub else orig(p)
|
||||
rc, conv = g.run(quiet=True)
|
||||
print("rc=%d convicted_T=%s" % (rc, any(T in str(c) for c in conv)))
|
||||
sys.exit(0 if rc == 0 else (10 if any(T in str(c) for c in conv) else 11))
|
||||
"""
|
||||
for _mode, _want in (("comment", 10), ("genuine", 0)):
|
||||
ran += 1
|
||||
_p = subprocess.run([sys.executable, "-c", _WC, _mode], cwd=ROOT, capture_output=True, text=True)
|
||||
if _p.returncode != _want:
|
||||
fails.append("wire-contract/%s: rc=%d, want %d (10 = the comment-only tag convicted, 0 = passed)\n%s"
|
||||
% (_mode, _p.returncode, _want, (_p.stdout + _p.stderr)[-500:]))
|
||||
else:
|
||||
print(" ok %-20s %s" % ("wire-contract/" + _mode,
|
||||
"decoy rejected" if _want else "genuine accepted"))
|
||||
|
||||
# ── stands (R-819) ───────────────────────────────────────────────────────────────────────────────
|
||||
#
|
||||
# check_stands.py was red and in no runner. Its decoys are stand files written as a session would write
|
||||
# them, checked with the real registers. The genuine case is the one R-819 fixed: a citation of a row
|
||||
# that CLOSED (R-273, the never-tagged agent) is a valid source, not a dangling one.
|
||||
_STANDS = os.path.join(ROOT, "documentation", "architecture", "zz-r819-decoy-stands.yaml")
|
||||
_stand = lambda status, ref: (u"claims:\n - id: decoy.stand\n title: \"decoy\"\n status: %s\n"
|
||||
u" sources:\n - register: %s\n" % (status, ref))
|
||||
decoy("stands/dangling-id", "check_stands.py", plant_file(_STANDS, _stand("built", "R-99999")), args=(_STANDS,))
|
||||
decoy("stands/walked-no-walk", "check_stands.py", plant_file(_STANDS, _stand("walked", "R-273")), args=(_STANDS,))
|
||||
decoy("stands/closed-row-ok", "check_stands.py", plant_file(_STANDS, _stand("built", "R-273")), args=(_STANDS,),
|
||||
expect="pass")
|
||||
|
||||
print()
|
||||
if fails:
|
||||
for f in fails:
|
||||
|
||||
Reference in New Issue
Block a user