Backlog triage Part B: 125 finished rows + 20 id-less rows moved to CLOSED-ITEMS (full text at 9e2786c); open rows normalised to one 6-column shape; narratives archived verbatim; closed_register_gate RULE 3 refuses a finished row in OPEN-ITEMS (decoys, seen red); rules rehomed to CONTEXT + 07 §11; loose notes triaged; R-814..R-819 filed; register 444 -> 325
gates / gates (push) Successful in 30s

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:
2026-10-03 09:17:22 +02:00
parent 9e2786c907
commit 71b8c8c62b
22 changed files with 1080 additions and 815 deletions
+27
View File
@@ -503,10 +503,29 @@ def register_state(workspace_root):
closed_text = fh.read()
state = {}
# 2026-10-03: the register declares its columns in each table's header, and since the triage of
# that day its rows read `| ID | Category | Sev | What | State | … |` — the State is no longer
# index 2, and the first bold cell is now the TITLE, whose words ("shipped", "closed") describe
# the finding, not its state. `register_table` reads the State column BY NAME; the positional
# scan below is kept only for a row in a table without a header (none today).
by_name = {}
try:
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import register_table
for _n, rid, columns, cells, _line in register_table.rows(reg):
st = register_table.cell(columns, cells, "State")
if st is not None:
by_name[rid] = ("closed" if register_table.CLOSED_FAMILY.match(
register_table.leading_verdict(st)) else "open")
except ImportError:
by_name = {}
for line in reg_text.split("\n"):
m = re.match(r"\|\s*\*\*(R-\d+[a-z]?)\*\*\s*\|", line)
if not m:
continue
if m.group(1) in by_name:
state[m.group(1)] = by_name[m.group(1)]
continue
cells = [c.strip() for c in line.rstrip().strip("|").split("|")]
# The State column is index 2 in BOTH table shapes here (`ID|What|State` and
# `ID|What|State|Blocked on|Next action|Owner`). Scan from there rather than taking the
@@ -536,6 +555,14 @@ def register_state(workspace_root):
if m and m.group(1) not in state:
state[m.group(1)] = "closed"
# 2026-10-03: the register's narrative sections (campaign write-ups, rulings, ranking
# paragraphs) moved word for word to this archive. An id cited only there — R-153, named in the
# 2026-08-02 intake paragraph and in felhom.eu/CLAUDE.md — is history, not "a reference to nothing".
narr = os.path.join(workspace_root, "felhom.eu", "documentation", "archive",
"OPEN-ITEMS-narratives-2026-10-03.md")
if os.path.exists(narr):
with io_open(narr) as fh:
hist_text += "\n" + fh.read()
mentioned = set(re.findall(r"\bR-\d+[a-z]?\b", reg_text)) | set(
re.findall(r"\bR-\d+[a-z]?\b", hist_text)
) | set(re.findall(r"\bR-\d+[a-z]?\b", closed_text))