Commit Graph
15 Commits
Author SHA1 Message Date
David F GliddenandClaude Opus 5 f1c91d9866 [FIX] Retire the dead thinking-mirror agent; one writer, and it reports
The vault held two mirrors of docs/thinking/David/ in two folders, neither
aware of the other. /wrap-up §7 writes 08. Notes/CapableMind/thinking-mirror
at every wrap and is byte-current with upstream. The launchd agent
com.dglidden.thinking-mirror wrote 00. Compass/00b. Constellations/... every
48h, and had been failing since roughly March 2026: last exit 1, ending in
`rsync … > /dev/null 2>&1`, so its own plist StandardOutPath received nothing
and its log has been 0 bytes since 10 Mar. Its tree was 115 files behind.

Nobody noticed the archive job had died because a second, undocumented writer
was quietly doing the same work to a different folder. That is the failure the
duplication caused: not a lost archive, but a lost signal.

The steward asked a previous executor to build that script. Option A chosen:
keep the wrap, retire the agent. Agent unloaded, plist and deployed script
removed. Removing the plist from config/capablemind/ is load-bearing, not
tidiness — setup-capablemind.sh:135 copies every *.plist there into
LaunchAgents, so leaving it would resurrect the retired job on the next setup.

Stale tree deleted from the vault after three independent checks that nothing
was lost: all 151 of its .md files present in the live tree by basename, all
five files that `diff -rq` reported as unique present in both the live tree and
the repo (they only looked unique because the stale tree is flat and upstream
reorganised into l2-constitution/, amendments/, chamber/), and 156 files
tracked in the vault mirror's git HEAD at a58fc00. Siblings daily-log/,
sessions/ and l2-design-narrative.md preserved.

§7 rewritten: it now states it is the only writer, that the destination is a
derived tree no pass may edit, and that the outcome is reported in §8 with the
exit code — never skipped silently. The file already required exactly that of a
failed push in §6.5 and contradicted itself eight lines later.

Frontmatter Specification bumped to v1.0.1 in the vault (steward-authorized,
scoped to this amendment): principle 7 and a new §1a declare mirrored trees out
of scope. Pass 2 brought that subtree to v1.0.0 and reported an end state for
it; the 2026-08-22 wrap rewrote it from source at 23:42 and every edit vanished.
A derived tree cannot hold an edit.

Tracker: the mechanism claim filed earlier today named the launchd agent as the
writer, on nothing stronger than matching upstream content. Wrong agent,
explicitly superseded in place.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JQKeKY9T9d95KpvHwwok8T
2026-08-23 10:35:07 +02:00
David F Glidden 7574ab6bdd session 2026-08-08: PENDING-116 (fleet-on-corpus-change) filed; /wrap-up Instruments field (FIX lane) 2026-08-08 13:06:59 +02:00
David F GliddenandClaude Opus 5 33c11fff87 session 2026-08-07 evening: PENDING-112 + REVIEWED-95 (route harvested capabilities by firing moment)
Register censused and rebuilt from the archive: 177 claimed -> 154 real live
proposals, legible, with exact archive:L### pointers. The 2026-08-01 compaction
was lossless but illegible (55 scraped header rows; 95% of cells cut mid-word);
completeness verified 124 = 124, so nothing had been dropped.

Skills pruned 63 -> 12 after measuring that 53 had never been invoked across 64
sessions / ~5 months. The finding underneath: retrieval is set by a capability's
HOME, not its importance -- MEMORY.md 83%, register 77% (named in a wake step),
ladder 14%, 'THE GOVERNING FRAME' 12%, 'Read at Step 0' 9%, recall-bound skills 0%.

PENDING-112 filed, jurist design-gated, steward concurred; REVIEWED-95 drafted.
Landed: the /wrap-up 1.6 filing gate (prospective) and the /wake-up ladder
sentence (a pre-registered trial intervention, landed alone). The 20-session
falsifier is WIRED, not intended -- DEFERRED-DECISION ladder-ritual-trial,
trigger: transcripts 84. Wiring it exposed two defects in the deferral checker:
no way to express a session count except as a date proxy, and a scan that never
looked at claude/governance/. Controls 16 -> 19.

Stroke 2's 41-entry ladder append deliberately NOT done: REVIEWED-95 Q3
sequences it after the ladder trigger, which now exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NEWjLBP4quXbDPDL2byEzZ
2026-08-07 19:09:46 +02:00
David F GliddenandClaude Opus 5 0a48e6934d [FIX] L1 pin root-caused and cleared; S-series closed; instrument census
mindfabric-00 had been event-loop-pinned for 6+ days (100% CPU, /health silent).
Profile + CDP inspector named two hot paths, both from runTemporalPipeline:

  checkForCycle -> getCausalEdgesFromSqlite   99.8% of samples
  tryExtendChains -> getChainsContainingSeq   now dominant (json_each scan)

Cause of the first: ANALYZE had never been run, so SQLite preferred a boolean
index (idx_caused_tombstoned, matching ~all 836k edges) over idx_caused_from.
ANALYZE across 15 module DBs flipped the plan; 6.4x on a microbenchmark and
99.8% -> 6.0% in the live profile. /health went from silent to 200 in 0.13s.

B1.1's fan-out cap is IMPLEMENTED AND WORKING (today: max in-degree exactly 20,
zero violations; pre-23-June: max 629, avg 67.6). The defect is data, not code —
836k edges / 813k chains minted under ungoverned fan-out before the fix landed.
Repair run: derived stores wiped, logchain preserved, replay in flight.

S-series closed (jurist had already ruled all of Q1-Q5 on 2026-05-18):
  S6/S7/S9 implemented (Symmetria §3 flags, `suspend` outcome, wrap-up §8 tenses)
  S2 rebuilt as [FIX] — wake-digest unwrapped-session detector, discrimination-
    gated on real sessions (11 wrapped / 2 unwrapped)
  S4/S5 withdrawn with MemPalace (steward ruling)
Dormant legacy dispositioned: PENDING-4/5/11/12, CD-03, ICP-19 duplicate.
Open authorization items 22 -> 10.

Census 01: which instruments have no real negative instance. Finding — the
governance drift-check has 3 of 5 families inert against the current CLAUDE.md,
and 71 of 75 verification-ladder entries are cited nowhere outside the ladder.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuMjg3ipEVa3n8CoSzoyvc
2026-08-03 20:57:41 +02:00
David F GliddenandClaude Opus 5 62b92bd425 [FIX] Land the skill-harvest FIX lane and apply its first batch (REVIEWED-85)
REVIEWED-85 was placed by the steward at 10:41 today; the wake flagged at 10:44
that /wrap-up SKILL.md was still untouched since 2026-07-07. Landing it.

Precondition discharged first. The ruling states its own verification limit: the
jurist could not read the skill files, so the /wrap-up §1.6 and /wake-up §2.a
quotes underpinning Part III's "contradicts itself" claim were affirmed on
timeline evidence rather than checked. Required before landing was mechanical
containment-with-positive-control verification of exactly those quotes. Run:
7/7 contained verbatim against the live skills, 5/5 controls absent, instrument
verified.

§1.6 now carries the two-clause disjunctive test (the executor's own narrower
single-clause alternative declined at the gate as less safe), the hard floor with
its catch-all sharpened per Q4 and tied to the measured failure rather than left
as open judgment, and all three instruments as mandatory. The lane is provisional
pending the steward-jurist check-in.

The §Important-constraints line still stated the blanket rule the ruling narrowed.
Left alone it would have been a second live version of a governance rule inside
the file that forbids exactly that. Reconciled, with a note saying why.

First batch applied -- the four class-(i) proposals the steward raised 2026-07-29
and which REVIEWED-85 itself dispositions as batch 1, so their classification was
ruled rather than self-assessed: a `## What held` ledger section (the ledger could
previously only record debits), a `prevention` KG predicate capturing transfer
between failure classes, one wake line surfacing it, and the retirement of the
standing question's self-report framing in favour of the checkable form -- the
last on the grounds contamination-problem.md gives, that direct self-report is
the most contaminated form of inquiry.

The FIX-lane index is created and carries all four. It records explicitly what is
NOT in it: the §1.6 edit itself, which changed what the executor may do without
asking and was therefore PROPOSAL by its own test. A lane cannot authorize its
own construction.

Register rows 174-177 marked applied.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuMjg3ipEVa3n8CoSzoyvc
2026-08-02 11:55:15 +02:00
David F Glidden 2e362b3801 session 2026-07-07 (evening): chamber A4+B(iii) spec v2.0.2 + A1 Agent/Nomen registry v1 (REVIEWED-49/51); /wake-up + /wrap-up rewired off MemPalace to the files layer (wind-down item 3) 2026-07-07 22:29:51 +02:00
David F Glidden f802f905e4 session 2026-07-06: MEMORY.md two-file compaction (213→17KB) + self-bounding wiring (/wrap-up §3 demote-on-promote, /wake-up §2.a load-gate); skill-harvest closures; Olson graduation-state note 2026-07-06 12:43:39 +02:00
David F Glidden 9ca673fe50 🔧 Auto-commit from sysupdate on 2026-07-05 22:41 2026-07-05 22:41:29 +02:00
David F Glidden 161fad7ae2 session 2026-06-05 evening: housekeeping wrap — AI-posture ruling memory, MemPalace forensics + workaround, harvest register ruled, verification ladder, Symmetria flags, register wiring applied 2026-06-05 22:03:53 +02:00
David F GliddenandClaude Opus 4.8 8cca9de024 session 2026-06-05: REVIEWED-28/29 filed + wrap/wake dotfiles-push patches (§6.5/§2.c) + session memories 06-04/05
First live run of wrap-up §6.5: governance state and session memory
now push at session boundaries, not sysupdate cadence. REVIEWED-28
(PENDING-25 translated renderings, closed) + REVIEWED-29 (SEO crawl
infrastructure, jurist-relay) steward-filed; skill patches steward-
authorized this session; harvest register records the lineage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 18:36:13 +02:00
David F Glidden bc53c94742 🔧 Auto-commit from sysupdate on 2026-06-03 21:09 2026-06-03 21:09:27 +02:00
David F Glidden fffcf173c1 🔧 Auto-commit from sysupdate on 2026-05-29 09:43 2026-05-29 09:43:53 +02:00
David F Glidden f83aae27c5 🔧 Auto-commit from sysupdate on 2026-05-19 21:49 2026-05-19 21:49:14 +02:00
David F GliddenandClaude Opus 4.7 7a71c7a07c wake-up/wrap-up: codify MemPalace 5-step protocol
MemPalace has always had a full memory protocol embedded in its
status response, but the skills were treating it as a library
catalog — one search on wake, nothing on wrap. Inspection revealed
the gap: the KG was empty (0 entities, 0 triples ever), and the
diary had exactly one entry, from 2026-04-09. Storage without
protocol is not memory; it is unindexed potential.

The protocol, as MemPalace itself states it:
  1. ON WAKE-UP: mempalace_status (loads protocol + AAAK spec)
  2. BEFORE RESPONDING: kg_query or search first; never guess
  3. IF UNSURE: "let me check" and query — wrong is worse than slow
  4. AFTER EACH SESSION: diary_write in AAAK format
  5. WHEN FACTS CHANGE: kg_invalidate old, kg_add new

wake-up changes:
- Step b.0: mempalace_status first (loads protocol, not just data)
- Step b.1: diary_read for claude-code agent (last 3 entries) —
  the previous self's voice
- Step b.2: kg_query on claude-code (drift patterns to hold today)
  and on pulling-thread subjects (authoritative current state)
- Step b.3: semantic searches as before
- Constraints: MemPalace is primary memory; when it disagrees with
  a memory file, trust MemPalace

wrap-up changes:
- Step 4 split into 4.a (drawer — semantic full content) and
  4.b (diary_write — AAAK compressed agent voice). Both surfaces;
  different future queries.
- New step 5: kg_invalidate facts that changed this session; kg_add
  new drift patterns, decisions, entities.
- Output template surfaces diary + KG update counts, not just drawer.

The drift-pattern handling replaces the proposed patterns-i-drift-
toward.md file idea. KG is the better home: queryable, temporal,
invalidatable. When a return is a repeat, kg_add it; wake-up's
kg_query surfaces it next session.

Verified by usage on today's session: diary entry filed (AAAK),
3 KG facts added (drift-pattern register-import-without-checking,
ARC versioning-regime ADR-005, after-the-reply-sequence staged).
This is the first real exercise of the protocol.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 14:19:09 +02:00
David F GliddenandClaude Opus 4.7 119285cf43 claude: back up custom skills, memory, and settings with symlink pattern
The ~/.claude/ directory was previously local-only — a machine wipe
would have lost the accumulated memory, custom skills, and settings.
This commit moves the durable parts into dotfiles with the same
symlink-to-home pattern used for CLAUDE.md, PENDING.md, REVIEWED.md,
and L2-BOOTSTRAP.md.

Preserved (symlinked from ~/.claude/* into here):
  skills/audit/              — thinking-folder drift scanner
  skills/symmetria/          — practice-of-return discipline
  skills/vault-update-people/ — Obsidian People-file maintainer
  skills/wake-up/            — session restoration
  skills/wrap-up/            — session state capture
  memory/                    — 55+ memory files (MEMORY.md, sessions,
                               ledgers, project state, feedback, etc.)
  settings/settings.json     — user preferences (hooks, flags, no secrets)

Deliberately NOT backed up:
  settings.local.json   — contains operational secrets (HF_TOKEN,
                           SSH password in expect scripts); by naming
                           convention, *.local.* is not synced.
                           Needs separate review and probable rotation.
  sessions/, history.jsonl, caches, telemetry — ephemeral
  plugins/, marketplace skills and agents — reinstallable

The working copies at ~/.claude/skills/* and
~/.claude/projects/-Users-davidglidden/memory are symlinks into this
directory, so every write flows here automatically. install.sh
recreates the symlinks on a fresh machine.

FOLLOW-ON (flagged, not in this commit):
  settings.local.json contains a HuggingFace token and an SSH password
  as plaintext strings inside allowed Bash command patterns. These
  should be rotated and moved to secure storage (keychain / pass /
  env file outside the settings file).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:51:04 +02:00