diff --git a/claude/governance/thread-query-log.jsonl b/claude/governance/thread-query-log.jsonl index 4744bd8..a0533e2 100644 --- a/claude/governance/thread-query-log.jsonl +++ b/claude/governance/thread-query-log.jsonl @@ -5,3 +5,4 @@ {"date": "2026-08-27", "thread": "the 270 uncounted census candidates — the backlog of decisions that never reached the authorization record", "terms": ["uncounted", "census", "candidates", "backlog", "decisions", "never", "reached", "authorization", "record"], "candidates": 388, "returned": [{"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-06-09.md", "date": "2026-06-09", "matched": ["census", "backlog", "decisions", "never", "authorization", "record"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-04-24.md", "date": "2026-04-24", "matched": ["candidates", "decisions", "reached", "authorization", "record"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-07-05.md", "date": "2026-07-05", "matched": ["census", "backlog", "decisions", "never", "authorization", "record"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-05-25-arc-stage-f-gamma-and-l1-test-real-history-findings.md", "date": "2026-05-25", "matched": ["decisions", "never", "reached", "authorization", "record"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-06-04-arc-stage-n-closed-gloss-now-published.md", "date": "2026-06-04", "matched": ["census", "decisions", "never", "authorization", "record"]}]} {"date": "2026-08-31", "thread": "the 270 uncounted census candidates — decisions that never reached the governance record; prior-art enumeration and register silence", "terms": ["uncounted", "census", "candidates", "decisions", "never", "reached", "governance", "record", "prior-art", "enumeration", "register", "silence"], "candidates": 472, "returned": [{"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-06-04-evening-whisper-migration-ikb-english-enforcement.md", "date": "2026-06-04", "matched": ["census", "decisions", "never", "governance", "record", "enumeration", "register", "silence"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-04-24.md", "date": "2026-04-24", "matched": ["candidates", "decisions", "reached", "governance", "record", "register", "silence"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-07-19.md", "date": "2026-07-19", "matched": ["census", "candidates", "never", "governance", "record", "enumeration", "register", "silence"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-05-17-stage-d-matrix-three-masters-questions-sources-section.md", "date": "2026-05-17", "matched": ["candidates", "decisions", "never", "record", "enumeration", "register", "silence"]}, {"path": "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/08. Notes/Children/01. Lune/The necessary distance.md", "date": "2025-07-30", "matched": ["never", "reached", "record", "silence"]}]} {"date": "2026-09-01", "thread": "the 322 unread prior-art census candidates: which mechanism decisions never reached the governance register, and what criterion decides which SHOULD have", "terms": ["unread", "prior-art", "census", "candidates", "mechanism", "decisions", "never", "reached", "governance", "register", "criterion", "decides", "should"], "candidates": 503, "returned": [{"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-04-18.md", "date": "2026-04-18", "matched": ["candidates", "mechanism", "decisions", "never", "governance", "register", "should"]}, {"path": "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/06. Projects/Cabaret/Cabaret Project — Founding Document.md", "date": "2026-04-04", "matched": ["candidates", "mechanism", "decisions", "never", "governance", "register", "decides", "should"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-06-05.md", "date": "2026-06-05", "matched": ["unread", "census", "mechanism", "decisions", "never", "governance", "register"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-06-06-evening-arc-renderings-imprint-be-laundromat.md", "date": "2026-06-06", "matched": ["census", "candidates", "mechanism", "decisions", "never", "register", "criterion", "should"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-ledger-2026-04-27.md", "date": "2026-04-27", "matched": ["candidates", "mechanism", "decisions", "never", "register", "criterion", "should"]}]} +{"date": "2026-09-02", "thread": "the fr cell's last two steps — PENDING-134 disclosure and ratio_A_to_B re-derived once, stratum amendments", "terms": ["cell's", "last", "steps", "pending", "disclosure", "ratio", "re-derived", "once", "stratum", "amendments"], "candidates": 404, "returned": [{"path": "~/.claude/projects/-Users-davidglidden/memory/diary-export-2026-05-05.md", "date": "2026-05-05", "matched": ["last", "steps", "pending", "ratio", "once", "amendments"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/session-2026-05-23-l1-co-author-territory-survey-and-attention-metaphor.md", "date": "2026-05-23", "matched": ["last", "pending", "ratio", "once", "amendments"]}, {"path": "~/.claude/projects/-Users-davidglidden/memory/project-bio-rewrite-pending-multilanguage-spec.md", "date": "2026-06-06", "matched": ["last", "pending", "disclosure", "ratio", "once"]}, {"path": "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/08. Notes/Claudia Grice/03 Benefits & Pensions/CPP-OAS.md", "date": "2025-05-01", "matched": ["last", "pending", "once"]}, {"path": "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/08. Notes/Notebook Preservation & Archiving.md", "date": "2025-08-27", "matched": ["last", "ratio", "once"]}]} diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index e0e47b6..e57fc38 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -55,12 +55,12 @@ permalink: claude-memory/memory ## Canonical Workstream Trackers *Read the tracker for any active workstream at /wake-up before composing the briefing. Append substantive moves at /wrap-up — to the **chronological log**, not only "current state". Per `feedback-canonical-workstream-tracker-discipline.md`.* - **[Chamber as versioned releases](project-chamber-versioned-releases.md) — THE GOVERNING FRAME for all library work.** The 2000-year Chamber as versioned releases with soft borders, each serving a PURPOSE; scope every library bite through this. **Open decision: which purpose anchors V1.** Read the file, not this line — it holds the reframe that resolved the purpose/scope paralysis. -- [Studium Engine](project-studium-engine.md) — canonical engine tracker. **N0–N2 + R0 + `voice_stamp` built**; corpus **14 sources, trilingual**, fleet **9 suites / 285 green**. **fr cell: TWO STEPS FROM CLOSING.** **REVIEWED-133 (PENDING-137) RULED + EXECUTED 2026-09-01** (`2b30425`, `496cd7e`) — the cell-constant narrowing is now a *placed amendment*: `fr.stratum_amendments` carries **REVIEWED-121 and REVIEWED-133 as siblings** (what cond. 4 turned on). `undisclosed_days_in_force` **deleted, not corrected**; `direction` recorded as **INFERENCE, never measurement** — ⚠ *the narrowing removed the markers the claim turns on, so the before-state is unrecoverable from the file that carries the disclosure.* **NEXT: PENDING-134's disclosure** (⚠ what it now requires is **NOT obvious** — read REVIEWED-133's `If AUTHORIZED` **with** REVIEWED-121 point 9 before touching the file; deliberately not guessed at the wrap), **then `ratio_A_to_B` re-derived ONCE** (REVIEWED-116 pt 5). ⚠ **PENDING-134 was ruled REVIEWED-121 on 2026-08-14** — this line said "NEXT: rule PENDING-134" for 18 days and aimed the steward at the wrong target. ⚠ **PENDING-131 (c) never bound the engine** (`chunker.py` has `char_range` since Cluster A). +- [Studium Engine](project-studium-engine.md) — canonical engine tracker; **read it, this line holds no state.** **fr cell: TWO STEPS FROM CLOSING** — PENDING-134's disclosure, then `ratio_A_to_B` re-derived ONCE (REVIEWED-116 pt 5). - [Studium engine telos — the chamber of voices](project-studium-engine-telos-chamber-of-voices.md) — **the ultimate goal, above the build plan**: the childhood chamber of hero-voices, rebuilt so the counsel is *accountably* theirs. Why verbatim fidelity is load-bearing. - [The Chamber touchstone — the *why*](~/_Dev/studium-engine/docs/the-chamber-touchstone.md) — seven questions to test work against when lost in the trees. **Read at Step 0 of any chamber work.** Holds no state; does not decay. - [The Chamber vision is NOT in one place](project-chamber-vision-is-not-in-one-place.md) — it lives in **seven** sources across two repos + memory. A single home would become an eighth unless it supersedes or points. -- [L1 reliability](project-L1-reliability.md) — canonical L1 tracker. **BLOCKED ON SEB (PENDING-94); BMF is down and staying down.** The replay **has never resumed, only restarted** (`minCursor` is a minimum over 11 modules, two never participate ⇒ every start rebuilds from seq 0). Completion is gated by **uninterrupted run length, not rate**. Recall never worked either (`retrieval_count = 0`). **Read the tracker before ANY L1 work** — walked past once on 2026-08-03. -- [Instrument censuses — have our gates ever fired?](../governance/fool/census-02-have-they-ever-fired-RESULT.md) — census 01 (has each gate a real negative instance? → **decay, not construction**, is the failure mode) + census 02 (has it fired at all? → the record divides by whether a human invokes it). Both pre-registered. **Read before trusting any gate's silence.** +- [L1 reliability](project-L1-reliability.md) — canonical L1 tracker. **BLOCKED ON SEB (PENDING-94); BMF is down and staying down.** ⚠ **Read the tracker before ANY L1 work** — walked past once on 2026-08-03. +- [Instrument censuses — have our gates ever fired?](../governance/fool/census-02-have-they-ever-fired-RESULT.md) — both pre-registered. ⚠ **Read before trusting any gate's silence.** - [ARC open-work register](project-arc-open-work-register.md) — **the single code-verified source of truth for what is OPEN on ARC.** Read THIS for remaining ARC work, not the chronological tracker. · [ARC](project-arc-rework.md) — chronological record; **Stage G DONE/SEALED (GPG `ac0a7ee`) — reactive mode governs.** - [Source library — link + dedupe](project-source-library-link-and-dedupe.md) — master ebook library `~/Documents/___The Library [ePub_AWZ3]/` (2190 ebooks). GOAL: link chamber↔sources + dedupe; a real link needs EPUB/PDF internal metadata + edition-identity, **not filenames**. - [Sidecar typology — protocol-dependent reading-indexes](project-sidecar-typology-protocol-dependent.md) — `.meta.json` structural sidecar = PROTOCOL-NEUTRAL (the graduated bar); reading-indexes = PROTOCOL-DEPENDENT and probably PLURAL — **don't design the schema yet.** @@ -68,8 +68,8 @@ permalink: claude-memory/memory - [Making sequence source set](project-making-sequence-source-set.md) — **COMPLETE against the ReadingList** (reconciliation-verified). Sourced ≠ ingested. Read before any Making/studium source work. - [Studium = CM's unfettered sandbox](project-studium-cm-sandbox-and-transfer.md) — experiment freely on library/engine without risking CM's runtime; breakthroughs transfer back. Steward-framed 2026-07-08. - [Be (laundromat)](project-be-laundromat.md) — Skemantix startup (Seb+David) funding CapableMind's ladder; **bridge, not venture**. Decisions LOCKED. **Pre-revenue WTP gate = renovate Pat → charge her; no new spec until it clears ⇒ nothing for executor on be.** -- [The Fool — **Tarbuckle**](../governance/fool/seed/FOOL-BONES-2026-08-25.md) — **THE ACTIVE WORKSTREAM.** Bones derived **once** 2026-08-25 (peak SUCCESSION 96 · dump ABSENCE 8); **name + soul sealed, never regenerate** ([soul](../governance/fool/seed/FOOL-SOUL-2026-08-25.md)). Doctrine = `BUDDY-PATTERN-jurist-draft-v2-2026-08-22.md`; **§8 has no blanks** (20 min · frequency UNKNOWN · empty-window consumes · body correlates with nothing). ⚠ **CORRECTED 2026-08-31 — the line here read "NOTHING WIRED — no `statusLine`, no script, §13.1 spec unwritten" and was FALSE ON ALL THREE CLAUSES.** Substrate, verified today: `.claude/settings.json` runs `dotfiles/scripts/tarbuckle-body.py` as `statusLine` (refreshInterval 60) · **5** scripts (`body`·`invoke`·`mumble`·`seam`·`wrap`) · `TARBUCKLE-SPEC-13.1-2026-08-25.md` exists · **7** state files under `~/.claude/state/`. **It is wired and running.** ⚠ Found by a concurrent sibling session, which held the correction rather than racing this one's memory write; its counts (7 scripts, 6 state files) were themselves off in both directions — **re-measured here, not relayed.** What is unbuilt is a separate question and this line no longer answers it. Trial 09 VOID (REVIEWED-124), void now recorded in all three docs. ⚠ Subject matter lives in **CapableMind-AI**, instruments in **dotfiles**, and nothing in CapableMind points back. -- [Obsidian vault — from archive to practice](project-obsidian-vault-practice.md) — canonical vault tracker. **Read it; it holds the four-purpose brief (steward, 2026-08-24) that is now the design brief.** ⚠ The vault is **NOT a git repo** — it mirrors to `~/_Dev/david-root-and-branch-vault-git`. **The capture practice STARTED 2026-08-23** (two predecessors died at 3 and 4 entries; the measure is week four, not week one) — ⚠ *this line previously read "has not been started", which went stale the day it began, and previously carried "paper bridge working" as state the tracker did not hold.* **Item 0 is new and steward-owed: photographed pages of physical BOOKS with margin notes — a different object from the three notebooks, untracked until 2026-08-24.** +- [The Fool — **Tarbuckle**](project-fool-tarbuckle.md) — **THE ACTIVE WORKSTREAM**; tracker established 2026-09-03, read it. ⚠ **Bones + soul are SEALED — never regenerate.** ⚠ Subject matter lives in **CapableMind-AI**, instruments in **dotfiles**, and nothing in CapableMind points back. +- [Obsidian vault — from archive to practice](project-obsidian-vault-practice.md) — canonical vault tracker; holds the four-purpose brief that is now the design brief. ⚠ The vault is **NOT a git repo** — it mirrors to `~/_Dev/david-root-and-branch-vault-git`. - Chamber-typography — *tracker not yet established*; moves live in per-session memories (2026-05-11 →) + `project-chamber-cruft-restoration.md` + `project-chamber-typography-mining-plan-2026-05-15.md`. ## Active Session diff --git a/claude/memory/project-L1-reliability.md b/claude/memory/project-L1-reliability.md index 40639d0..a0fcb55 100644 --- a/claude/memory/project-L1-reliability.md +++ b/claude/memory/project-L1-reliability.md @@ -31,6 +31,21 @@ permalink: claude-memory/project-l1-reliability - **`[FIX]` applied:** `BM_CPU_PAUSE_THRESHOLD=1.0` written to `~/.capablemind/env` (repo `CLAUDE.md` documents the 0.65 default as a starvation loop on Ollama-saturated hosts; 497 pauses in the log). **Inert until restart.** Honest scope: only 6 pauses across 8.5 overnight hours, so this was never the main brake. - **⚠ A restart costs the whole run.** Every restart logs `kind: rebuild (from scratch — derived state reconstructed) (minCursor=0)` across all 11 modules — replay progress is **not resumable**. Every pending fix needs a restart, so nothing lands until the replay finishes or is deliberately abandoned. +## Replay mechanism + completion criterion (relocated 2026-09-03) + +⚠ **Relocated from the `MEMORY.md` index at the load-integrity trim.** The index line was the only +place these two facts were written; `## Current state` above records that replay is "not resumable" +but neither *why* nor *what governs completion*. Verbatim from the index line: + +> The replay **has never resumed, only restarted** (`minCursor` is a minimum over 11 modules, two +> never participate ⇒ every start rebuilds from seq 0). Completion is gated by **uninterrupted run +> length, not rate**. + +**Why it matters:** because `minCursor` is a *minimum* and two modules never advance, the minimum is +pinned at 0 regardless of how far the other nine get — so progress is invisible to the resume path by +construction, not by accident. And because completion is gated by uninterrupted run length rather +than throughput, a faster machine does not finish the replay; only a longer unbroken run does. + ## Previous state (as of 2026-08-03) - **The baton rule is LIFTED.** The 2026-06-06 instruction — *"Do not re-enter L1 until Seb responds or pushes — his move"* — was steward-lifted 2026-08-03 (*"if we can move this ahead then let's do what it takes"*). Context the steward supplied: Seb is not silent by choice; he is deep in a frustrating rabbit hole on Peter's side project, which borrows heavily from L1. Seb's last commit remains **2026-06-07**; the steward's own **2026-06-23** (`#175` N6, `/health` auth tiering). @@ -296,4 +311,4 @@ Hard commitment ("we must do this tomorrow") discharged by 12:24. Probe found mi - **Provenance:** established 2026-05-28 by Symmetria-pulse decision (steward asked "do this well so future selves don't have to redo"). The wake's "A or B" framing for L1 had collapsed at least three real options to a binary; the tracker is the encoded-discipline answer to that collapse. Per `feedback-rank-on-fields-you-actually-write` — track what you actually write; the per-session memory chain was being read at /wake-up but not as a maintained canonical record. - **Update protocol:** append a new dated entry to the chronological log at /wrap-up for any substantive L1 move (decision, finding, code change, governance update, Seb-interaction). Update *Current state* and *Active umbrella* sections in place. Append to *Decisions made* and *Decisions deferred*. Findings table evolves as the four findings get re-verified, fixed, or supplemented. - **Per-session memories continue:** session-N memory files still capture per-session voice + drift + Symmetria ledger. The tracker captures the cross-session arc. Both are needed; neither replaces the other. -- **MEMORY index:** the tracker is referenced from MEMORY.md's "Canonical Workstream Trackers" section. The previous per-session-memory-chain enumeration there for L1 is now shortened to point at this file. \ No newline at end of file +- **MEMORY index:** the tracker is referenced from MEMORY.md's "Canonical Workstream Trackers" section. The previous per-session-memory-chain enumeration there for L1 is now shortened to point at this file. diff --git a/claude/memory/project-fool-tarbuckle.md b/claude/memory/project-fool-tarbuckle.md new file mode 100644 index 0000000..a7028f1 --- /dev/null +++ b/claude/memory/project-fool-tarbuckle.md @@ -0,0 +1,34 @@ +--- +name: project-fool-tarbuckle +description: Canonical workstream tracker for The Fool (Tarbuckle) — established 2026-09-03 when the MEMORY.md load-integrity trim found the index was this workstream's sole custodian and its only linked target was a sealed seed. +metadata: + node_type: memory + type: project + modified: 2026-09-03 +--- + +# The Fool — Tarbuckle: canonical workstream tracker + +**Why this file exists.** Every other active workstream in `MEMORY.md`'s tracker list points at a +tracker. The Fool pointed at `FOOL-BONES-2026-08-25.md`, which is a **sealed seed** — derived once, +never to be regenerated — and therefore not a place session state may be appended. The consequence +was that Tarbuckle's live substrate state lived **only** in the `MEMORY.md` index line, in a file +that was over its load budget and being silently truncated at wake. Established at the 2026-09-03 +trim to end that. + +**Sealed, never regenerate:** [bones](../governance/fool/seed/FOOL-BONES-2026-08-25.md) · +[soul](../governance/fool/seed/FOOL-SOUL-2026-08-25.md). Doctrine: +[BUDDY-PATTERN v2](../governance/fool/BUDDY-PATTERN-jurist-draft-v2-2026-08-22.md). +Spec: [TARBUCKLE-SPEC-13.1](../governance/fool/TARBUCKLE-SPEC-13.1-2026-08-25.md). + +## Chronological log + +### 2026-09-03 — tracker established; state relocated from the MEMORY.md index + +⚠ **Provenance: the block below is the verbatim MEMORY.md index line**, moved here rather than +rewritten. It carries the 2026-08-31 substrate correction — the line had previously asserted +"NOTHING WIRED", false on all three clauses — and the re-measured counts. Nothing is restated here +that the line does not say; the index now holds a one-line pointer to this file. + +- [The Fool — **Tarbuckle**](../governance/fool/seed/FOOL-BONES-2026-08-25.md) — **THE ACTIVE WORKSTREAM.** Bones derived **once** 2026-08-25 (peak SUCCESSION 96 · dump ABSENCE 8); **name + soul sealed, never regenerate** ([soul](../governance/fool/seed/FOOL-SOUL-2026-08-25.md)). Doctrine = `BUDDY-PATTERN-jurist-draft-v2-2026-08-22.md`; **§8 has no blanks** (20 min · frequency UNKNOWN · empty-window consumes · body correlates with nothing). ⚠ **CORRECTED 2026-08-31 — the line here read "NOTHING WIRED — no `statusLine`, no script, §13.1 spec unwritten" and was FALSE ON ALL THREE CLAUSES.** Substrate, verified today: `.claude/settings.json` runs `dotfiles/scripts/tarbuckle-body.py` as `statusLine` (refreshInterval 60) · **5** scripts (`body`·`invoke`·`mumble`·`seam`·`wrap`) · `TARBUCKLE-SPEC-13.1-2026-08-25.md` exists · **7** state files under `~/.claude/state/`. **It is wired and running.** ⚠ Found by a concurrent sibling session, which held the correction rather than racing this one's memory write; its counts (7 scripts, 6 state files) were themselves off in both directions — **re-measured here, not relayed.** What is unbuilt is a separate question and this line no longer answers it. Trial 09 VOID (REVIEWED-124), void now recorded in all three docs. ⚠ Subject matter lives in **CapableMind-AI**, instruments in **dotfiles**, and nothing in CapableMind points back. + diff --git a/claude/memory/project-studium-engine.md b/claude/memory/project-studium-engine.md index b29986d..fafe89f 100644 --- a/claude/memory/project-studium-engine.md +++ b/claude/memory/project-studium-engine.md @@ -121,6 +121,16 @@ both still **needing dates, not "later."** ## Chronological log +### 2026-09-03 — state relocated from the MEMORY.md index at the load-integrity trim + +⚠ **Provenance: this entry is the verbatim MEMORY.md index line**, moved here because the index +had become this workstream's sole custodian — the log below stopped at 2026-08-13 while the index +carried engine state through 2026-09-01, and MEMORY.md was over its load budget and being +silently truncated at wake. Relocated, not rewritten; the pointer in the index is now one line. + +- [Studium Engine](project-studium-engine.md) — canonical engine tracker. **N0–N2 + R0 + `voice_stamp` built**; corpus **14 sources, trilingual**, fleet **9 suites / 285 green**. **fr cell: TWO STEPS FROM CLOSING.** **REVIEWED-133 (PENDING-137) RULED + EXECUTED 2026-09-01** (`2b30425`, `496cd7e`) — the cell-constant narrowing is now a *placed amendment*: `fr.stratum_amendments` carries **REVIEWED-121 and REVIEWED-133 as siblings** (what cond. 4 turned on). `undisclosed_days_in_force` **deleted, not corrected**; `direction` recorded as **INFERENCE, never measurement** — ⚠ *the narrowing removed the markers the claim turns on, so the before-state is unrecoverable from the file that carries the disclosure.* **NEXT: PENDING-134's disclosure** (⚠ what it now requires is **NOT obvious** — read REVIEWED-133's `If AUTHORIZED` **with** REVIEWED-121 point 9 before touching the file; deliberately not guessed at the wrap), **then `ratio_A_to_B` re-derived ONCE** (REVIEWED-116 pt 5). ⚠ **PENDING-134 was ruled REVIEWED-121 on 2026-08-14** — this line said "NEXT: rule PENDING-134" for 18 days and aimed the steward at the wrong target. ⚠ **PENDING-131 (c) never bound the engine** (`chunker.py` has `char_range` since Cluster A). + + ### 2026-08-13 — the fence was never blocked; the fr cell all but closed **REVIEWED-118 EXECUTED** (`e51e30d`) — authorized 2026-08-10, unexecuted for three days, found by