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
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:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user