session 2026-07-28 evening: chamber scope verified + Harrison re-gate pilot decided
Session record, MEMORY.md promote/demote, versioned-releases tracker update, 5 KG drift-patterns. Corpus scope verified from a regenerated quality ledger: 952/1297 clean, 69 apparatus-defect, 11 pass graduation — the gap is conformance, not content. Docling trial proved re-conversion recovers addressable apparatus (96.5%->99.1%). Nine instances of one shape: instrument-coverage-never-established. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WuMjg3ipEVa3n8CoSzoyvc
This commit is contained in:
co-authored by
Claude Opus 5
parent
dc9b6f53d9
commit
30fc1694a4
@@ -478,3 +478,8 @@
|
||||
{"subject": "claude-code", "predicate": "drift-pattern-good-direction", "object": "my-own-instruments-caught-my-own-errors-unprompted — twice in one session a check surfaced a defect it was not looking for: the union-losslessness verifier returned FAIL on 3 header lines, which is how the unlogged header rewrite inside 8abfe88 came to light; and the doctrine byte-identity comparator flagged a difference that turned out to be two consecutive '---' rules left where I had excised a table. Both times the first instinct was that the test was wrong — and both times the test was wrong AND had found something real underneath. Do not dismiss a failing check just because its framing is off.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-afternoon-the-jurist-got-eyes-and-a-second-cache-appeared.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-app", "predicate": "has-property", "object": "memory-system-is-a-second-uninstrumented-cache-of-project-state — actively retrieved mid-answer, holds state about the steward's projects, and NO instrument on the executor's side can read or audit it: no MCP tool reaches it, no drift-check covers it. Unlike the preferences' §Standing Context it cannot be SEEN going stale. The mitigation placed in the jurist's doctrine (name which of four stores a claim was read from; flag memory-sourced facts for steward cross-check) rests on SELF-REPORT, the channel the contamination problem says to distrust. Candidate [HARDENING], parked 2026-07-28.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-afternoon-the-jurist-got-eyes-and-a-second-cache-appeared.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "governance-mcp", "predicate": "is-a", "object": "read-only MCP server at ~/dotfiles/scripts/governance-mcp.py giving the jurist (Claude.app chat) verbatim access to the governance substrate: governance_state, governance_item(id), governance_read(file,offset,limit), drift_report, repo_activity. Four refusals with same-run controls: no writes (AST-audited, git log/status only), no path arguments (keys from a fixed enum), no second parser (item_spans imported from wake-digest.py), not an agent. 29 controls under Python 3.13.14 and 3.9.6. PENDING-82 / REVIEWED-82. Install proven from Claude.app's own mcp-server-governance.log.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-afternoon-the-jurist-got-eyes-and-a-second-cache-appeared.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-code", "predicate": "drift-pattern", "object": "instrument-coverage-never-established — NINE instances in one day, and NOT ONE caught by an instrument: a bibliography detector that omitted the word 'Notes'; 'bibliography' asserted where the book says 'Works Cited'; English-only patterns over a corpus carrying `bibliographie` x19; `import docling` in the default python when the runbook DECLARES ~/.local/bin/docling; ssh by raw IP when the credentials live on the `capablehands` alias (IdentitiesOnly); two-column inferred about a BOOK from its INDEX; re-deriving a defect the ledger had classified 25 days earlier. FOUR were caught by the steward pointing at a physical copy / a runbook / an alias / a ledger; the rest by a number looking implausible. CRITICALLY this is NOT the morning's medium-collision class and the morning's rule never fired: those instruments were well-formed and simply did not REACH the domain. RULE: before reporting an absence, enumerate the domain the instrument covers and show it covers the domain the claim is about.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-evening-the-chamber-scoped-and-nine-blind-instruments.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-code", "predicate": "drift-pattern", "object": "re-derived-what-the-banked-record-already-held — I built three successively broken detectors to discover that Harrison's apparatus was collapsed, while `_curation/corpus-quality-ledger.tsv` had recorded `appt_state: stranded-suspect` / `defect_class: A-convention+C-apparatus` on 2026-07-03, and `_curation/conversion-runbook.yaml` held the tool path, the reanchor obligation, and the running-head gap. The steward's correction was two words: 'read the runbook?'. Recurrence of feedback-resurface-banked-notes-before-rederiving, now at instrument-building scale. RULE: before MEASURING, check whether the measurement already exists — the runbook, the ledger, and the tool-evolution-log are where it usually does.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-evening-the-chamber-scoped-and-nine-blind-instruments.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-code", "predicate": "drift-pattern", "object": "ledger-delta-confounds-corpus-change-with-instrument-change — regenerating corpus-quality-ledger.tsv showed 20 files moving A-convention -> A-convention+B-textdamage. They had NOT degraded: audit_corpus.py was unchanged AND the files were unchanged, but the tool DYNAMICALLY IMPORTS its classifiers and verify_conversion.py changed 2026-07-21. 'Did the script change?' is the wrong question in a declared-data architecture where tools are thin consumers. Caught only because the number was implausible. RULE: before treating a ledger delta as corpus fact, re-run the OLD instrument on the NEW corpus, or stamp each row with the classifier version. Bites directly on the re-gate work, where ledger deltas ARE the progress metric.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-evening-the-chamber-scoped-and-nine-blind-instruments.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-code", "predicate": "drift-pattern-good-direction", "object": "convert-the-strategy-question-into-a-measurement — 'rebuild or retrofit?' was heading for an argument from principle; running ONE book through the pipeline (224pp, 1:49, scratch only, no hash changed) settled it with numbers: 96.5%->99.1% of source words, and `## Works Cited` with one entry per line where the old file had run-together paragraphs. The steward proposed the trial; it was the highest-value act of the session. Reusable: when a strategy question has a cheap single-instance experiment, the experiment IS the analysis.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-evening-the-chamber-scoped-and-nine-blind-instruments.md", "extracted_at": "2026-07-28"}
|
||||
{"subject": "claude-code", "predicate": "drift-pattern-good-direction", "object": "corrections-that-ran-against-my-own-published-claims — three times in one session the next check overturned what I had just told the steward: the Harrison retraction, then the retraction OF that retraction (96% word retention), then the near-miss on '20 files degraded'. Each correction cost less than the claim would have. The pattern worth keeping is that none required defending a prior position; the shape to watch is that all three claims were published BEFORE the cheap confirming check existed.", "valid_from": "2026-07-28", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-28-evening-the-chamber-scoped-and-nine-blind-instruments.md", "extracted_at": "2026-07-28"}
|
||||
|
||||
Reference in New Issue
Block a user