diff --git a/notes/epiphany-current-algorithmic-map.md b/notes/epiphany-current-algorithmic-map.md index 0768a865..ed3e99a1 100644 --- a/notes/epiphany-current-algorithmic-map.md +++ b/notes/epiphany-current-algorithmic-map.md @@ -1,9 +1,10 @@ # Epiphany current algorithmic map Updated: 2026-08-25 -Latest committed implementation cut: `125d77a2` on `codex/epiphany-shakedown-live` -Current pass: reorientation result review consumes one runtime snapshot; -terminal-admission reader audit is next; Ox17 remains paused +Latest committed implementation cut: `a721b763` on `codex/epiphany-shakedown-live` +Current pass: one native model event/receipt family and one model-adapter +package own provider projection; audit the library-only model-runtime package +next. Ox17 remains paused This document describes the live machine. Historical cuts, rejected paths, and proof chronology belong in git, `state/ledgers.msgpack`, and bounded smoke @@ -692,6 +693,11 @@ from it. Pending, Completed, and Failed are the complete live vocabulary. Storage failure is an error, and completed-without-result is a broken invariant; neither is laundered into a synthetic lifecycle state. +Exact `dfe3757b` carries terminal failure disposition out of that same +projection. The coordinator does not reopen the runtime job to rediscover a +fact the projection already observed; success and failure admission owners +still enforce their own exact strong dependencies. + The target boundary is independent `GameCult/CodexConnector`; exact `6dc80f6d266db4d82566d2434adcc55a48e8ecad` owns one typed multi-caller transport package and one public daemon binary without linking a Codex crate. @@ -717,9 +723,10 @@ spine, compiled Codex graph, direct auth/HTTP/SSE path, and Codex-home/readiness plumbing are gone. OpenRouter remains a separate direct provider edge. Durable model receipts retain Connector caller identity, exact native/provider digests, and cached-token usage without requiring a transcript. Redacted CultMesh/Odin -readiness, the independent Idunn target, Yggdrasil installation, one real -Epiphany round trip, and Ghostlight's copied wire/deployment deletion remain -open. +readiness and one real Epiphany round trip remain open. Yggdrasil now runs the +independent service and Idunn target for Ghostlight; Ghostlight can consume the +ABI but cannot mutate Connector's source, package, service, credential, or +rollback authority. Exact `c37cae8b` closes the remaining request-authorship split. The consumer adapter turns the canonical native request directly into one closed durable @@ -732,6 +739,18 @@ exact direct request variant. Decision contexts and runtime model execution persist the same provider-request bytes; runtime v47 and decision context v3 refuse the old writable shape. +Exact `b83c0416` deletes the transient provider-specific request-input, tool, +event, payload, and receipt vocabulary. CodexConnector and OpenRouter both emit +the canonical `EpiphanyModelStreamEvent` family directly, whose completed event +carries the canonical `EpiphanyModelReceipt`. No isomorphic normalization pass +or provider-receipt field copy remains. + +Exact `a721b763` deletes the `epiphany-openai-adapter` Cargo package. Pure +provider lowering and OpenRouter response projection are modules of +`epiphany-model-adapter`, beside the native contracts they translate. Network +transport remains outside: OpenRouter at the release edge and Codex in the +independent daemon. + ## Canonical authority map | Owner | Inputs | Outputs | Invariant | diff --git a/notes/epiphany-fork-implementation-plan.md b/notes/epiphany-fork-implementation-plan.md index 74055ff7..376121df 100644 --- a/notes/epiphany-fork-implementation-plan.md +++ b/notes/epiphany-fork-implementation-plan.md @@ -222,23 +222,19 @@ Delete or demote: ## Immediate Next Action Keep the five-day shakedown, Ox17 deployment, and Model Atlas operational Gate -1 paused. Exact `ed7357a2` removes Codex transport from Epiphany's body, and -exact `c37cae8b` closes the residual request-authorship split. Epiphany now -seals the exact final `CodexProviderRequest` as durable Mind input before the -release edge sees it. The edge adds authenticated invocation physiology but no -schema, tool, call-ID, tool-choice, or output-format opinion. Modeling still -consumes typed Body and keyed RepoModel state directly; Persona still consumes -keyed memory and social state directly. No Epiphany-owned Rider or Unity bridge -exists: Brokkr owns Unity through typed Eve/CultMesh capabilities, and a future -Rider daemon owns Rider. Do not admit a fresh package until the standalone -Connector has redacted signed readiness, an independent Idunn target, and a -real digest-bound Epiphany round trip. +1 paused. Exact `a721b763` leaves Epiphany with one native model event/receipt +family and one package owning native contracts plus pure provider lowering. +Audit the library-only `epiphany-openai-runtime` package next. Its production +model and Persona entrypoints already belong to `epiphany-release-bundle`; if +the separate package protects no independent compile, dependency, or test +invariant, make it the root package's library target and delete its manifest +and dependency edge. -The immediate comparison is now explicit. The former release-edge -`codex-login` graph is gone from Epiphany. `epiphany-core` remains broad and -`runtime_spine.rs` remains its largest mixed owner; audit those as owned -behavior, not as cleanup chores. A future core split must expose an existing -semantic owner rather than invent a package taxonomy. +Preserve exact provider-request sealing, the lean Connector client ABI, +OpenRouter's separate temporary release edge, keyed Mind audit/CAS guarantees, +direct Body-to-Modeling flow, Persona state, and the complete unrun Model Atlas +slice. No Epiphany-owned Rider or Unity bridge exists: Brokkr owns Unity through +typed Eve/CultMesh capabilities, and a future Rider daemon owns Rider. The provider decision is the independent `GameCult/CodexConnector` service; exact `6dc80f6d266db4d82566d2434adcc55a48e8ecad` owns the v2 multi-caller contract, @@ -248,19 +244,19 @@ keyed replay. No features yields only the typed contract; default `client` adds authenticated framing and socket transport; `daemon` adds service authority. It links no Codex crate. Active replay identity is written before network access; the exact encrypted completion is durable before reply; restart -ambiguity refuses rather than re-executing. Redacted CultMesh/Odin readiness is -the remaining daemon source cut before its independent Idunn deployment. +ambiguity refuses rather than re-executing. Yggdrasil now runs Connector as an +independent service and Idunn target for Ghostlight. One digest-bound Epiphany +round trip remains unaccepted while Epiphany's selected edge is OpenRouter. Epiphany pins the contract-only surface in its adapter and enables the client only at its release edge. Exact `87ea81db` also deletes Epiphany's obsolete public schema for the extinct generic provider request; the shared Codex contract belongs to Connector, while Epiphany's wrapper remains private Mind -state. Ghostlight exact `8e7d980` now pins the same Connector source without -changing its live deployment. Exact `7a125d78` removes the excluded 3,592-file +state. Ghostlight exact `8e7d980` pins the same Connector source; its live Ygg +deployment consumes the independent service without owning it. Exact `7a125d78` removes the excluded 3,592-file Codex implementation tree and its obsolete keeper notes; gamecult-ops exact `cb63e77` repairs the independent deployment ownership map. No dual daemon or -refresh writer is an acceptable transition state. Resume the semantic-owner -audit of `runtime_spine.rs`. +refresh writer is an acceptable transition state. Model Atlas has component proofs but no live inter-swarm collaboration run. Preserve its publication, trust, transport, projection, Soul verification, Self @@ -363,7 +359,7 @@ Cut in this order: projection assembled from exact keyed Mind document versions. The final model request must render that projection; citing keyed sources while rendering the old thread snapshot is explicitly forbidden. -2. **Body admission landed at `2eb95df6`; current-work projection landed at `e42788c9`, consumes one exact snapshot at `7374be5e`, typed fulfillment reuses it at `5f1bea39`, coordinator scheduling becomes its sole consumer projection at `2bcbf268`, and reorientation result review becomes a single-cache typed read at `125d77a2`:** one pure typed projection derives Body Modeling, Eyes continuation, proposal Modeling, frontier planning, Hands readiness, and accepted manual-regather obligation from one pulled keyed Mind/runtime cache. Immutable result replay, family admission, PlanMind continuation, worker archival, Resident Self completion, and operator status validate or route against that same projection rather than reopening runtime state or accepting a parallel CRRC action. Reorientation result review likewise reads its job and structured result from one runtime snapshot and exposes no synthetic backend lifecycle. +2. **Body admission landed at `2eb95df6`; current-work projection landed at `e42788c9`, consumes one exact snapshot at `7374be5e`, typed fulfillment reuses it at `5f1bea39`, coordinator scheduling becomes its sole consumer projection at `2bcbf268`, reorientation result review becomes a single-cache typed read at `125d77a2`, and terminal disposition stays in that projection at `dfe3757b`:** one pure typed projection derives Body Modeling, Eyes continuation, proposal Modeling, frontier planning, Hands readiness, accepted manual-regather obligation, and exact Reorientation success/failure disposition from one pulled keyed Mind/runtime cache. Immutable result replay, family admission, PlanMind continuation, worker archival, Resident Self completion, and operator status validate or route against that same projection rather than reopening runtime state or accepting a parallel CRRC action. Reorientation result review likewise reads its job and structured result from one runtime snapshot and exposes no synthetic backend lifecycle. Modeling must derive from the current Body/RepoModel obligation; Eyes only from explicit external-evidence obligations. Body-generation Modeling identity, typed Body-to-Mind admission, sealed reasoning, and atomic decision diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index fec6149d..ea154922 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -2,10 +2,11 @@ Updated: 2026-08-25 Branch: `codex/epiphany-shakedown-live` -Latest committed Epiphany source cut: `125d77a2` +Latest committed Epiphany source cut: `a721b763` Current connector source: `6dc80f6d266db4d82566d2434adcc55a48e8ecad` -Current pass: reorientation result review uses one typed runtime snapshot; -continue the terminal-admission reader audit; Ox17 and Atlas Gate 1 remain paused +Current pass: one native model event/receipt family serves every provider and +the model adapter owns pure provider lowering; audit the library-only model +runtime package next. Ox17 and Atlas Gate 1 remain paused ## Orientation @@ -16,7 +17,7 @@ Idunn's Yggdrasil CI/CD task with local compiler work, or wake resident cognition without an explicit operator resumption. Epiphany is a supervised engineering alpha. Exact source `d2ca6630` remains the -production symlink body and is inactive. Exact `87ea81db` is the current +production symlink body and is inactive. Exact `a721b763` is the current build-affecting source on this branch. Historical live proofs remain evidence; they do not authorize the next capstone or Gate 1. @@ -46,6 +47,24 @@ they do not authorize the next capstone or Gate 1. ## What just landed +Exact `dfe3757b` retains terminal Reorientation failure disposition inside the +one current-work projection. The coordinator no longer reopens the runtime job +to choose success or failure admission; each admission owner still validates +its exact strong dependencies. Core check, Reorientation 1/1, and the +release-owned coordinator compile pass. Verification produced 1.6 GiB across +2,924 files and was removed. + +Exact `b83c0416` deletes the provider-specific request-input, tool, stream, +payload, and receipt mirrors. CodexConnector and OpenRouter now produce the one +native model event and receipt family directly. Exact `a721b763` then deletes +the one-file `epiphany-openai-adapter` Cargo package and moves pure provider +lowering beside the native contracts in `epiphany-model-adapter`. Together the +cuts remove 174 maintained lines and one Cargo package without changing any +durable CultCache identity or field order. Model adapter 5/5, decision context +8/8, runtime 21/21, and release model edge 12/12 pass. The two bounded build +roots reached 3.9 GiB/5,598 files and 4.7 GiB/6,524 files; both were removed and +only the exact authenticated state inspector remains. + Independent repository `GameCult/CodexConnector` owns the Codex credential and transport authority as one Cargo package with one public daemon binary and no linked Codex crates. Exact @@ -86,10 +105,11 @@ Clippy passes. The test runs generated 6.2 GiB and 4.6 GiB in the bounded target both roots were removed. Only the exact 1,776,640-byte state inspector remains, SHA-256 `DD38855C6F092C2C53D2212A938E737643F41130F4681708840BA6075320A04E`. -Redacted CultMesh/Odin publication, the independent Connector Idunn target, -Yggdrasil installation, a real Epiphany connector round trip, and Ghostlight's -shared-client/deployment cut remain open. No live service, credential, or -deployment authority moved in this source pass. +Yggdrasil now runs the independent Connector service and Idunn target for +Ghostlight. Ghostlight observes its exact receipt but cannot build, select, +restart, or roll it back. Epiphany's source client is present; a live Epiphany +caller admission and round trip remain open while the selected Epiphany +provider edge is OpenRouter. Exact `07529fb5` deletes `epiphany-state-model` as a Cargo package. Only `epiphany-core` consumed it; the semantic Serde contracts now live in a plain @@ -1359,9 +1379,9 @@ their existing typed audit cargo. Mind/runtime/RepoModel epochs advance to v4/v5/v2. Local acceptance is core `494/494`, OpenAI runtime `26/26`, coordinator `12/12`, swarm `10/10`, and model-runtime `13/13`. -## Immediate next action +## Historical subtraction ledger -The Ox17 deployment lane remains paused. Exact Epiphany `c37cae8b` closes the +The Ox17 deployment lane remained paused through this cut. Exact Epiphany `c37cae8b` closes the remaining two-stage Codex request seam. The consumer adapter now derives and seals one closed durable provider-request document: either the exact final `CodexProviderRequest` or the exact OpenRouter request. The release edge no @@ -1383,9 +1403,9 @@ Exact `87ea81db` pins the current Connector source and deletes Epiphany's stale 106-line public JSON schema for the extinct generic request; the public catalog now contains only the portable Persona and work-organ contracts. -Ghostlight exact `8e7d980` now pins the same Connector source contract. Only -Cargo metadata and the additive Connector API diff were checked locally; no -Ghostlight compilation or deployment ran on Starfire. +Ghostlight exact `8e7d980` pinned the same Connector source contract. The later +Yggdrasil cut installed Connector as an independent service and Idunn target; +Ghostlight can consume its ABI but cannot deploy or mutate the daemon. Exact `7a125d78` deletes the entire 3,592-file vendored Codex tree: 851,099 net lines removed. Cargo metadata and manifest/source guards prove it had no build @@ -1396,12 +1416,10 @@ superseded live migration notes are gone. Gamecult-ops exact `cb63e77` repairs the inventory to name the independent `yggdrasil-codex-connector` Idunn target; no service or deployment state changed. -Continue subtraction from exact `7a125d78` in `runtime_spine.rs`. Group its -surface by semantic owner, then delete or internalize single-caller public -wrappers, duplicate load/validate paths, and retention/session cargo that buys -no independent invariant. Preserve keyed Mind, exact audit and CAS guarantees, -direct Body-to-Modeling flow, OpenRouter as a separate temporary provider edge, -and the complete unrun Model Atlas slice. +The subsequent source-subtraction passes grouped `runtime_spine.rs` by semantic +owner and removed single-caller wrappers, duplicate reads, and unowned cargo. +The current next action is owned by the handoff header and `state/map.yaml`, not +this historical ledger. Yggdrasil previously exposed 96 GiB of dead native Cargo targets after interrupted full-workspace builds; exact cleanup returned the builder target diff --git a/notes/standalone-codex-transport-migration.md b/notes/standalone-codex-transport-migration.md index a6d61838..5ae965cb 100644 --- a/notes/standalone-codex-transport-migration.md +++ b/notes/standalone-codex-transport-migration.md @@ -14,32 +14,32 @@ and release cadence. ## Current mechanism -The source and live mechanisms are deliberately distinct during the braked cut: +The source and live mechanisms are deliberately distinct while Epiphany remains +braked: -1. Exact Epiphany `c37cae8b` seals the final Codex provider request and uses the - standalone Connector client ABI only for authenticated transport. Its - embedded spine, direct Codex auth/HTTP/SSE path, compiled Codex graph, - `CODEX_HOME`, auth.json readiness, and second release-edge request lowering - are deleted. That source is not deployed; production Epiphany remains - inactive on its historical release. -2. Yggdrasil still runs `epiphany-model-connector.service` for Ghostlight. - It uses encrypted CultNet/MessagePack on loopback TCP 4103, owns a private - writable Codex home, serializes refresh through one `AuthManager`, bounds - payloads and parallelism, rejects replay/substitution, and advertises a - redacted `model.generate.structured` capability through Odin. +1. Exact Epiphany `a721b763` seals the final provider request and retains only + the standalone Connector client ABI for Codex transport. Its embedded Codex + spine, direct Codex auth/HTTP/SSE path, compiled Codex graph, `CODEX_HOME`, + auth readiness, second request lowering, mirrored provider event family, + and one-file OpenAI adapter package are deleted. That source is not deployed; + production Epiphany remains inactive on its historical release and its + selected live-provider design is the separate direct OpenRouter edge. +2. Yggdrasil runs independent `codex-connector.service` on loopback TCP 4103. + `yggdrasil-codex-connector` is its own Idunn target with its own source, + package, signed health, selection, and rollback. Ghostlight may consume its + encrypted MessagePack ABI but cannot configure, build, select, start, stop, + or roll it back. Epiphany participates in neither release graph. -The live Ghostlight path is source-owned by the stale -`codex/epiphany-model-bridge` branch, admits only -`ghostlight-dungeon-yggdrasil`, and is built/deployed inside Ghostlight's Idunn -transaction. Ghostlight duplicates its wire documents locally. The live proof -is useful; the ownership is not. +Ghostlight owns request derivation, schema projection, retry, interpretation, +and world admission. CodexConnector owns caller admission, replay, credential +custody, provider transport, and exact transport receipts. The service boundary +is live; an Epiphany caller admission and round trip remain unaccepted. ## Current cut status Independent `GameCult/CodexConnector` exact -`6dc80f6d266db4d82566d2434adcc55a48e8ecad` completes migration steps 1-4 on -the source side except redacted CultMesh/Odin publication and the Ghostlight -cut. It owns one Cargo package, one public daemon binary, the v2 multi-caller +`6dc80f6d266db4d82566d2434adcc55a48e8ecad` established the independent source +boundary. It owns one Cargo package, one public daemon binary, the v2 multi-caller MessagePack contract, caller-native and exact provider-request digest binding, typed tool/result transport, a private digest-pinned official `codex app-server` credential child, raw Responses HTTP/SSE, and durable keyed @@ -83,11 +83,18 @@ the obsolete public JSON schema for the extinct generic OpenAI-shaped request. Provider wire contracts are published by their owning provider boundary; Epiphany's closed provider-request wrapper remains private Mind state. -Exact Ghostlight `8e7d980` pins the same Connector source contract. Cargo -metadata and the additive Connector API diff validate the dependency seam; no -local Ghostlight compilation, Idunn transaction, or live service mutation was -performed. The current Yggdrasil Ghostlight connector remains historical live -physiology until the standalone deployment cut is admitted separately. +Exact Epiphany `b83c0416` deletes the provider-specific request-input, tool, +event, payload, and receipt mirrors. CodexConnector and OpenRouter now produce +the canonical native model event and receipt family directly. Exact `a721b763` +then deletes the one-file `epiphany-openai-adapter` Cargo package and moves pure +provider lowering beside the native contracts in `epiphany-model-adapter`. +Transport remains outside that package boundary. + +Exact Ghostlight `8e7d980` pinned the same Connector source contract. The live +Yggdrasil cut now gives Connector its own service and bounded Idunn target; +Ghostlight consumes the ABI and observes its receipt without owning its daemon +or credential. The current Ghostlight test profile may select another provider +without changing this ownership boundary. ## Authority map diff --git a/state/ledgers.msgpack b/state/ledgers.msgpack index 85899aa0..a493c4f0 100644 Binary files a/state/ledgers.msgpack and b/state/ledgers.msgpack differ diff --git a/state/map.yaml b/state/map.yaml index 5f767293..71b7ad31 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -115,7 +115,7 @@ current_status: summary: The keyed RepoModel hard cut, decision-context foundation, Model Atlas code slice, complete Body, Proposal, frontier-verdict Modeling, frontier Research, frontier Verification, frontier Planning/PlanMind, Reorientation, and Persona decision-context lifecycles are landed on codex/epiphany-shakedown-live. Keyed Mind plus exact runtime receipts own coordinator presence, work discovery, deterministic launch, job-bound continuation, review, typed failure, semantic admission, and retained decision reachability. Exact 07d891ba and ec1431ff delete the persisted/global thread aggregate and its generic coordinator/prompt/revision surfaces. Exact f7948795 deletes MindGatewayReview, MindStateCommitReceipt v0, the generic interpreter prompt, runtime registration/read APIs, false thought/state-effect/adoption CultNet mouths, and stale launch proof profiles. CultMesh now projects only reasoning basis, decision context, and exact Mind commit receipt, read-only. Exact 1c9aafd8 seals the terminal decision context before model-backed frontier-Planning failure and binds the typed failure to it. Exact e0e75a30 deletes the residual aggregate role patch/parser/policy surface, gives Research one closed typed decision, and deletes the unowned generic Imagination planning patch. Exact 12b1b285 makes runtime model/tool binding validation the shared owner for execution and decision sealing; hostile provider, receipt, and stored-binding substitutions refuse, while retained basis/context audit survives transcript-delta deletion. Exact 01602fd3 advances Mind/runtime to v2/v1 and refuses historical or split writable identity pairs before registered writers see them. Exact 26b6a5bf proves simultaneous disjoint Modeling writes, simultaneous Verification+Modeling admission, same-identity conflict, exact replay, and reopened graph assembly; raw mutation primitives are crate-private. Exact 7c2ebd81 moves Persona state-note admission from the legacy agent-memory aggregate into keyed Mind documents and proves a concrete Hands consequence can commit simultaneously. Exact 79c0e373 seals the assembled Persona input and observed source versions in Mind before inference. Exact d3300bba authenticates that input through its one exact Mind commit, refuses naked typed documents, re-enters without external observation or model inference, and proves current-work reconstruction is identical and read-only across Launch, Wait, completed, and post-Research boundaries. Exact edb5c3a3 deletes the launch, heartbeat, and terminal-result family identity mirrors: the sealed typed launch owns live pass identity and the archived attempt owns historical request identity. Exact cabdd6c3 separates immutable coordinator incarnation basis/terminality from minimal model-session admission and removes the remaining session prose, clocks, dead states, redundant options, and whole-store coordinator snapshot. Exact a46725a1 reduces runtime jobs to Queued/Completed/Failed admission latches and removes timestamp selection from Research. Exact 10a70afc derives job role/session ownership from sealed launches and model bindings, leaving the generic job as identity plus status. Exact 53e869c0 removes generic job-result evidence/artifact mirrors; exact 8eaa96c5 stops persisting generic result documents for structured worker decisions; exact 2c3335dc deletes the generic result family entirely and makes typed decisions, model receipts/failures, job status, and process claims own their respective terminal facts. Exact dbb00c2b retains the minimal live/archive session pair for explicit phase closure and retired-identity refusal while deleting display echoes and a wrapper. Exact 24023265 makes the sealed Verification projection the sole Hands receipt input and deletes the duplicate live reread path. Exact a01c6842 deletes the coordinator's same-function always-approved Hands review, derives consequence authority through route/intent/grant identities, and refuses ambiguous receipt sets instead of selecting by timestamp. No compatibility reader, bootstrap aggregate, schema migrator, or dual reader survives. The source-level Decision-Auditable Concurrent Mind migration is accepted; the fresh exact-package capstone remains open. The machine remains a supervised engineering alpha; Model Atlas operational Gate 1 stays paused. public_positioning: docs/positioning.md is the current public claim owner. Epiphany is the organizational layer above frontier AI workers; global coherence collapse is the primary failure; prompts are bounded projections of governed organizational state; humans retain purpose, judgment, authority, disagreement, exceptions, and acceptance. GameCult is the forge and longitudinal evidence program for a target federation of one locally owned Epiphany project organism per living project Body. Model Atlas carries typed offers, claims, evidence, and derived technical relationships; Bifrost is the intended external work, membership, governance, attribution, and identity-linked receipt rail. Public Persona relationships and visitor surfaces are intended social infrastructure, while private Mind and consequence authority remain local. The fleet, real three-repository Gate 1, complete Bifrost attribution, sustained autonomous production, visitor experience, and external design-partner pilots remain gated alpha targets. competitive_launch_signal: The 2026-08-22 Munder Difflin launch analysis in notes/munder-difflin-launch-intelligence-2026-08-23.md is the current Eyes/Imagination owner for this category signal. It establishes strong demand to try a packaged, local, visual multi-agent control plane and supplies repeated qualitative demand for an operator-attention surface over plans, questions, blockers, decisions, consequences, and liveness; it does not establish retention, reliable autonomy, or paid product-market fit. Munder is materially ahead in installation, cross-platform reach, provider reuse, category compression, community formation, and feedback velocity. Its public failures make renderer-owned physiology, cross-Body restoration, proxy safety metrics, false consequence receipts, provider parity, and marketed-but-unavailable federation concrete falsification targets. Epiphany does not yet own a general operator UI: Persona projection into shared asynchronous chat is the concrete human surface, while CultMesh remains projection-neutral. Social Aquarium, a dense operator cockpit, TUI, and audit surfaces may use distinct Eve compositions over the same provider-owned facts. A one-hour projection experiment and managed continuity/federation remain evidence-led options rather than adopted roadmap authority; the source-subtraction and test-authority audit remains next. - latest_phase: Fresh-package Ox17 remains paused while source subtraction continues. The live source owns keyed Mind, sealed reasoning projections and exact provider requests, direct Body-to-Modeling work, typed frontier planning, Persona, provider-owned Bifrost feedback, and Odin/Idunn deployment receipts. Provider events and receipts are transient transport values normalized into one native persisted model stream/receipt family. The pure OpenAI runtime library opens exact model execution and admits typed provider events. OpenRouter auth/networking remains a direct release-entrypoint boundary. For Codex, the consumer adapter seals the exact final `CodexProviderRequest` into Mind before inference; the release edge only wraps it in the authenticated Connector invocation. No Codex auth, HTTP/SSE, Codex-home, or compiled Codex implementation remains in Epiphany. Runtime model bindings are request-to-session/job edges; provider, worker ancestry, and reasoning basis remain on the native model request. Runtime tool bindings are intent-to-session/job edges; model ancestry remains on the exact tool intent. Workers use one governed tool-capable route; no parallel no-tools mode survives. The sealed typed worker launch is the sole live owner of pass-family identity; terminal role results contain semantic decision cargo rather than routing echoes, and archived attempts retain historical request identity plus the structured decision. Runtime jobs are only mutable job-identity plus Queued/Completed/Failed admission latches; clocks, role/session mirrors, unowned intermediate states, and generic terminal-result documents are absent. Model bindings own model-session membership, sealed launches own outer-worker role, root membership is structural, and Research derives attempt authority as an exact set rather than timestamp order. Runtime child documents, Hands consequence receipts, and repository-frontier documents carry only causal identity, lifecycle, strong dependencies, semantic payload, and consequence; CultCache plus the runtime root epoch own internal type/schema identity. Runtime identity and swarm binding retain their explicit epoch fields. Sealed worker contexts retain explicit schema and contract because they are exact model input. Autonomous proposal origin belongs to the Proposal-Modeling request; there is no companion binding document or stored hash echo. The immutable repository-domain receipt carries only the canonical repository name and exact authenticated Body hash; runtime, swarm, workspace, envelope identity/schema, prose, and time remain derived. Operator objective intake carries only thread provenance, the asserted objective, source actor/reference, and submission time; CultCache owns envelope identity/schema and the Mind objective owns active state. Persona-memory v2 owns exact Interpreter effect/context provenance; Persona social mention v2 relies on its queue and turn request for routing; tool-receipt v1 owns exact result JSON or error. Research authenticates the real Substrate Gate grant and tool receipts in place, then writes keyed evidence/observations under one exact `Eyes.frontier_research` Mind commit; no source-lookup document or evidence packet survives. Resident Self state v3 and retention head v1 retain lifecycle counts and the exact deletion chain without a causal clock. Structured role/reorientation outcomes terminalize jobs and process claims through exact-envelope CAS; native model receipt/failure records own model terminality, process claims own process death, and archives retain typed decisions including typed failures. Mind/runtime writable epochs are v11/v47. The public CultNet catalog contains only two earned portable boundaries: Persona state and work-organ state. Provider request contracts belong to their provider boundary; Epiphany's closed provider-request document is private Mind state. Old writable stores refuse with no migrator or dual reader. Brokkr owns Unity through Eve/CultMesh; a future Rider daemon owns Rider. No Idunn build, package, deployment, Ox root, or Model Atlas Gate run is authorized. Ox16 remains sealed historical evidence. + latest_phase: Fresh-package Ox17 and Model Atlas Gate 1 remain paused while source subtraction continues. Exact a721b763 leaves one canonical native model request/event/receipt family, one model-adapter package owning native contracts plus pure provider lowering, a direct temporary OpenRouter release edge, and a lean authenticated CodexConnector client ABI. The independent CodexConnector daemon owns Codex caller admission, credential custody, provider transport, replay, and transport receipts; Yggdrasil runs it as its own service and Idunn target for Ghostlight, while a live Epiphany caller remains unaccepted. Keyed typed Mind, sealed reasoning bases and decision contexts, exact strong-read batch CAS, state-driven work, direct Body-to-Modeling flow, family-owned admission, Persona state, Hands consequences, Verification audits, and decision-preserving archival remain authoritative. Runtime events, role lanes, timestamps, global revisions, aggregate RepoModel authority, provider-event mirrors, embedded Codex transport, and the one-file OpenAI adapter package own no behavior. Continue by auditing whether the library-only epiphany-openai-runtime package protects an independent invariant or should become the release package's library target. execution_binding_authority_cut: Exact ce6bff12 reduces model and tool execution bindings to the only facts they own. A model binding maps one native request to its runtime session and job; a tool binding maps one typed intent to its runtime session and job. Provider identity, source worker, reasoning basis, and model-request ancestry are no longer copied into bindings or compared through timestamp-shaped API arguments. Validation, retention, public-source lookup, worker terminality, decision sealing, and tool continuation reload the exact native request or tool intent. Runtime writable state advances to v37. Core, epoch refusal, transcript-free decision audit, OpenAI tool continuation, and the release-owned tool runtime pass. The cut removes 67 net source lines and leaves runtime_spine.rs at 9,300 physical lines with 50 public functions and 25 public structs. Verification generated 12.713 GiB across 19,134 files; Cargo cleanup restored the single 1.78 MiB state inspector. Atlas is untouched; no live inter-swarm collaboration has run. provider_transport_boundary_cut: Exact ed7357a2 removes Codex transport from Epiphany's compiled body. The complete epiphany-openai-codex-spine package, codex-login/codex-client graph, CODEX_HOME/auth.json readiness, direct Codex HTTP/SSE, and Codex credential creation/argv are gone. Model and Persona entrypoints use the lean typed client from exact CodexConnector 54d8bc2525b7e7fa1b9dd26b95871247ff4c7566 over authenticated loopback MessagePack; Connector owns Codex auth, transport, replay, and exact native/provider digest receipts. Epiphany retains sealed native/provider requests, strict schema/call-ID projection, tool continuation, decision admission, and typed receipt evidence. OpenRouter remains one direct ureq/Rustls boundary with its own credential and terminal-tool dialect. Model receipts advance to v1 and runtime to v38; caller identity, both request digests, and cached-token usage survive transcript deletion. The maintained non-lock source shrinks by 857 lines and Cargo.lock drops 4,830 lines. Core 150/150, runtime 21/21, adapter 5/5, model edge 12/12, Persona 1/1, exact launch checks, and focused no-deps Clippy pass. Two focused build roots totaling 10.8 GiB were removed; only the exact 1,776,640-byte state inspector at SHA-256 DD38855C6F092C2C53D2212A938E737643F41130F4681708840BA6075320A04E remains. Atlas is untouched and no collaboration acceptance is claimed. provider_request_authority_cut: Exact c37cae8b replaces the durable generic OpenAI-shaped request with a closed provider-request document. The consumer adapter now lowers the canonical native request directly to either the exact final `CodexProviderRequest` or the exact OpenRouter request before inference and decision-context sealing. The release edge no longer performs Codex schema, tool, call-ID, or output-format lowering; it supplies the already sealed Codex request to the authenticated Connector invocation. Runtime and decision-context writable schemas advance to v47/v3 with no compatibility reader. Exact 87ea81db pins current Connector source 6dc80f6d266db4d82566d2434adcc55a48e8ecad and deletes Epiphany's obsolete 106-line public schema for the dead generic request, leaving two earned portable CultNet contracts. Connector separates contract-only, client, and daemon compile surfaces; Epiphany uses the contract-only surface in the adapter and the client surface only at the release edge. The Epiphany source cuts remove 125 net maintained lines; Core 152/152, runtime 21/21, adapter 5/5, model edge 12/12, Persona 1/1, and Connector contract/client/daemon 8/8, 10/10, 29/29 pass. Atlas is untouched and no live collaboration acceptance is claimed. @@ -124,7 +124,7 @@ current_status: runtime_job_binding_cut: Exact 10a70afc makes EpiphanyRuntimeJob a two-field identity/status latch. The sealed worker launch owns outer-worker role; EpiphanyRuntimeModelExecutionBinding owns model-session membership; outer workers belong to the root session by definition. Role and session disappear from jobs and generic job results, the result's always-empty metadata map is deleted, and heartbeat launch options lose constant root-session plus unused objective/note cargo. Session closure and retention derive their exact job set from model bindings; tool ownership derives from either the sealed launch or one exact model binding; duplicate terminal results refuse instead of sorting by completion time. Runtime advances to v42 without a compatibility reader. Keyed lifecycle, model-failure audit, transcript-free binding, tool continuation, Persona replay, coordinator terminality, epoch refusal, OpenAI runtime, release coordinator, and release model-runtime checks pass. The cut removes 73 maintained lines net. Verification created 3.7 GiB across 4,764 Cargo files; cleanup restored exactly the authenticated 1,776,640-byte state inspector. Atlas remains untouched and live inter-swarm collaboration remains unproven. runtime_job_result_cargo_cut: Exact 53e869c0 deletes evidence and artifact mirrors from EpiphanyRuntimeJobResult and its completion API. Structured role/reorientation outcomes remain the sole evidence/artifact owners; the generic result retains only lifecycle verdict, terse summary/next-move account, completion time, and optional decision-context binding for transport and process-death physiology. Reorientation failure display no longer invents generic evidence. Runtime advances to v43 with no compatibility reader. Keyed lifecycle, auditable model failure, epoch refusal, reorientation, typed worker admission, Persona replay, OpenAI runtime, release coordinator, and release model-runtime checks pass. The cut removes 51 maintained lines net. Verification created 3.654 GiB across 4,759 Cargo files; Cargo cleanup restored exactly the authenticated 1,776,640-byte state inspector. Atlas remains untouched and live inter-swarm collaboration remains unproven. structured_worker_result_cut: Exact 8eaa96c5 makes typed role/reorientation outcomes the sole durable structured worker decisions. Runtime completion strong-reads and byte-identically replays the exact structured envelope while atomically terminalizing job/process physiology; it persists a generic result only when no structured outcome exists. Fulfilled worker archives retain decision context plus the full typed role result, not a generic companion. Coordinator reorientation success derives from job status and requires the typed reorientation result. Runtime advances to v44 and archived worker attempts to v3 with no compatibility reader. Keyed lifecycle, decision audit, model-failure audit, reorientation, role admission, Persona replay, runtime-error/tool-loop failures, release coordinator, and release model-runtime checks pass. The source cut adds 7 maintained lines because the exact CAS dependency fence replaces a larger durable duplication. Verification created 5.632 GiB across 6,826 Cargo files; Cargo cleanup restored exactly the authenticated 1,776,640-byte state inspector. Atlas remains untouched and live inter-swarm collaboration remains unproven. - standalone_codex_transport_target: Independent GameCult/CodexConnector source exact 6dc80f6d266db4d82566d2434adcc55a48e8ecad owns one Cargo package and one public daemon binary. Its no-feature library is the typed provider/result contract only; the default `client` feature adds authenticated encryption, bounded framing, and one-request socket transport; `daemon` adds the public service, bounded raw Responses transport, the private digest-pinned official codex app-server credential child, and keyed CultCache replay. Active identity is sealed before provider I/O; the exact encrypted completion is durable before reply; completed replay survives restart byte-identically; restart-era active work refuses as indeterminate without consuming current capacity. Callers own native/provider projection, prompts, tools, decisions, and admission. Connector docs exact 8c57be4 describe the three compile surfaces; Ghostlight exact 8e7d980 pins the same source contract. Redacted CultMesh/Odin readiness, the independent Idunn target, and Yggdrasil service installation remain open. No live credential or deployment authority moved in this cut. + standalone_codex_transport_target: Independent GameCult/CodexConnector source exact 6dc80f6d266db4d82566d2434adcc55a48e8ecad owns one Cargo package and one public daemon binary. Its no-feature library is the typed provider/result contract only; the default `client` feature adds authenticated encryption, bounded framing, and one-request socket transport; `daemon` adds the public service, bounded raw Responses transport, the private digest-pinned official codex app-server credential child, and keyed CultCache replay. Active identity is sealed before provider I/O; the exact encrypted completion is durable before reply; completed replay survives restart byte-identically; restart-era active work refuses as indeterminate without consuming current capacity. Callers own native/provider projection, prompts, tools, decisions, and admission. Connector docs exact 8c57be4 describe the three compile surfaces; Ghostlight exact 8e7d980 pins the same source contract. Yggdrasil runs the independent `codex-connector.service` and Idunn target for Ghostlight; Ghostlight cannot deploy or mutate it. Epiphany's source client exists, but a live Epiphany caller admission and round trip remain unaccepted while its current provider edge is OpenRouter. fixed_routing_and_retention_cargo_cut: Exact ffd91c20 deletes EyesEvidencePacket.source_role_id, PersonaSocialMention.target_agent_id, and ResidentSelfRetentionHead.retained_at_millis. Each producer supplied one fixed or non-causal value and no consumer read it; the request/context, Persona queue plus turn request, and retention chain remain the real owners. Eyes packet v2, Persona mention v2, Resident Self state v3/retention head v1, and runtime v27 form a hard cut. Core and the three consuming release entrypoints compile; consequential Persona, Research, and epoch-refusal proofs pass. The maintained source delta is 6 net deletions. Atlas is untouched; no live inter-swarm collaboration has run. provider_stream_authority_cut: Exact fe118e13 makes OpenAI/OpenRouter events and receipts transient transport values. The runtime immediately normalizes them into the single persisted native model event/receipt family used by tool continuation, assistant reconstruction, terminal validation, and bounded retention. Duplicate provider writes, registrations, archive requirements, schema IDs, two public schemas/index rows, and the include-only model-runtime shell are gone; the exact provider request remains durable. Runtime advances to v28 and the catalog drops to 18 schemas. The cut removes 270 net maintained lines. Adapter 1/1, provider spine 14/14, reasoning context 8/8, runtime 23/23, model entrypoint 11/11, swarm 4/4, epoch refusal 1/1, and release construction 15/15 pass. Atlas is untouched; live inter-swarm collaboration remains unproven. cultnet_catalog_authority_cut: Exact dbed11b3 and 8bb0719b delete the hand-maintained JSON shadow registry. The nonexistent runtime-event contract and obsolete public archived-session tombstone schema disappear first. Runtime-local identity, session, job, binding, coordinator, native model/tool, and state-ledger schemas then disappear because no live CultNet provider carries them and several contradicted their Rust owners. Typed CultCache registration and owner-projected CultMesh state remain authoritative. The catalog has exactly three earned boundaries: the exact OpenAI-compatible provider request, gamecult.persona_state.v0, and epiphany.work_organ_state.v0. Parse/path/unindexed/forbidden-contract checks pass at 3/3/0/0/0. The cuts remove 850 net maintained lines. Atlas is untouched; live inter-swarm collaboration remains unproven. @@ -226,11 +226,14 @@ current_status: resident_physiology: historical_c011_exact_465af24d_zero_zombie_proof_accepted_current_containers_exited_255 vendored_codex_eviction: Exact 7a125d78 deletes all 3,592 tracked vendored Codex files and 851,099 lines after Cargo metadata and manifest/source guards prove no build consumer. The seven dirty files contained only rustfmt and blank-line churn, so no semantic work was discarded or preserved as a counterfeit artifact. The root workspace exclusion, obsolete AGENTS search recipes, vendor-specific license clauses, and two superseded live migration notes are gone. The independent Connector contract remains the sole Codex-facing compile dependency. Gamecult-ops exact cb63e77 corrects the Yggdrasil inventory from the extinct Epiphany-branded/Ghostlight-owned daemon to the independent `yggdrasil-codex-connector` Idunn target. Historical archive notes and the explicitly dated June Body whitepaper remain inert history. No compilation or deployment mutation was required. unresolved_authority: `runtime_spine.rs` remains the largest central liability; it still mixes immutable identity, minimal model sessions/jobs, process claims, model/tool execution binding, family admission, consequence receipts, retention, and resurrection fences. Exact a01c6842 removes the counterfeit Hands review; route, Substrate Gate grant, minimal intent, frontier authority, and exact consequences now own that chain. No production actuator authors those receipts, so the coordinator truthfully stops at `awaitingHandsExecutor`. Exact c37cae8b closes the two-stage Codex request seam, exact 7a125d78 removes the excluded implementation corpse, exact 7374be5e removes split-snapshot current-work projection, exact 5f1bea39 removes the second fulfillment/replay store snapshot, and exact 2bcbf268 makes current work the sole coordinator scheduling projection. Ghostlight exact 8e7d980 pins the same Connector source contract. Historical c011 and partial Gate roots stay untouched/read-only. - next_action: Continue source subtraction from exact 125d77a2. Audit coordinator `accept_reorient`, which still projects current work, reopens the runtime job to select success/failure admission, and then calls an admission owner that opens the store again. Move terminal disposition selection to one typed Reorientation owner or prove why the split reads protect distinct invariants; do not add a generic admission router. Preserve exact model/tool binding, decision audit, CAS, terminality, retention, and resurrection guarantees. Keep the lean Codex Connector client as the shared ABI stub, OpenRouter as a separate temporary provider edge, Model Atlas operationally paused, and avoid local workspace-wide builds or deployment mutation. + next_action: Continue source subtraction from exact a721b763. Audit the `epiphany-openai-runtime` library package, whose production model and Persona entrypoints are already owned by `epiphany-release-bundle`. Prove whether its separate Cargo package protects an independent compile, dependency, or test invariant; otherwise make it the root package's library target and delete the package manifest/dependency. Preserve the one native model event/receipt family, exact provider-request sealing, Connector wire ABI, OpenRouter's separate temporary edge, decision audit, CAS, terminality, retention, and resurrection guarantees. Keep Model Atlas operationally paused and avoid local workspace-wide builds or deployment mutation. single_snapshot_current_work_cut: Exact 7374be5e makes one pulled CultCache snapshot the sole input to Mind assembly, keyed RepoModel assembly, current-work Research and Planning lifecycles, Hands readiness, Modeling launches, reasoning-basis assembly, and Reorientation request projection. Three path-based wrappers and numerous repeated open/pull sequences are gone; Research and Verification admission also reuse their already authenticated cache for review and public-source consequence checks. The public Codex Connector client remains the earned ABI stub: deleting it would duplicate authenticated encryption and framing in every consumer, while no daemon/auth/HTTP/SSE implementation compiles into Epiphany. The cut is one net maintained line smaller, adds no schema, dependency, target, or process, and passes Core check, current-work 3/3, reasoning-context 8/8, Reorientation 1/1, Mind determinism 1/1, and RepoModel determinism 1/1. The focused run produced 2.0 GiB across 2,867 files; cleanup restored exactly the 1,776,640-byte inspector at SHA-256 DD38855C6F092C2C53D2212A938E737643F41130F4681708840BA6075320A04E. single_snapshot_fulfillment_cut: Exact 5f1bea39 makes typed fulfillment replay consume the caller's already pulled runtime Mind snapshot. Research, Verification, Proposal Modeling, PlanMind continuation, fulfilled-worker archival, and Resident Self completion no longer reopen the same `.cc` file while validating one immutable result. The generic path-based fulfillment wrapper is deleted. The public provider-runtime role-result function remains the sole path-based CAS writer; cache-local fulfillment can only replay the exact result already present in its supplied snapshot. The cut adds 17 maintained lines net to remove repeated physical reads while adding no schema, dependency, target, process, or decision authority. Core check, current-work 3/3, reasoning-context 8/8, structured-failure refusal, and the release-owned swarm entrypoint pass. Verification produced 2.2 GiB across 3,189 files; cleanup restored the exact authenticated state inspector. single_projection_coordinator_cut: Exact 2bcbf268 makes the current-work projection the sole scheduling input for operator status and Resident Self. An accepted reorientation decision's real manual-regather obligation is projected once with Body, Research, Planning, Modeling, Verification, Imagination, and Hands work. Status no longer opens and assembles Mind separately, and Resident Self no longer hard-codes a contradictory Continue value. `EpiphanyCrrcAction`, its five impossible transition variants, the parallel coordinator-input field, and the second Mind read are gone. The existing reorientation lifecycle now proves the durable regather decision reaches the user-visible coordinator action. The cut removes 12 maintained lines net, adds no persisted schema, dependency, target, or process, and passes Core check, current-work 3/3, Reorientation 1/1, operator-sanitization 1/1, and the release-owned coordinator compile. Verification produced 1.6 GiB across 2,924 files; cleanup restored the exact authenticated state inspector. reorientation_result_projection_cut: Exact 125d77a2 collapses operator reorientation-result review onto one pulled runtime cache. Job and typed result cannot come from different store moments. The caller's never-used missing-store option, six impossible CRRC statuses, error-to-state translation, and the residual `surfaces/crrc.rs` module are deleted. The live typed result status is only Pending, Completed, or Failed; store failures propagate as errors, and a completed job without its exact typed result is rejected as corruption rather than displayed as backend unavailability. The existing Reorientation lifecycle now exercises the public result projection before Mind admission. The cut removes 64 maintained lines net, adds no schema, dependency, target, or process, and passes Core check, Reorientation 1/1, and the release-owned coordinator compile. Verification produced 1.6 GiB across 2,924 files; cleanup restored the exact authenticated state inspector. + reorientation_terminal_projection_cut: Exact dfe3757b makes the one current-work projection retain whether terminal Reorientation review represents a typed model failure. The coordinator no longer reopens the runtime job merely to select success or failure admission; each admission owner still performs its exact strong validation. Production code shrinks by three lines, while two consequential assertions distinguish successful and failed review. Core check, Reorientation 1/1, and the release-owned coordinator compile pass. Verification produced 1.6 GiB across 2,924 files; cleanup restored the exact authenticated state inspector. + native_model_event_cut: Exact b83c0416 deletes the transient OpenAI/provider request-input, tool, stream-event, payload, and receipt mirrors. CodexConnector and OpenRouter now terminate directly into the one native `EpiphanyModelStreamEvent` and `EpiphanyModelReceipt` family already persisted and admitted by Mind. The native receipt already carries provider response identity, usage, transport, caller identity, exact native/provider digests, and cached-token usage, so no evidence was lost. The cut removes 147 maintained lines with no schema epoch change. Adapter 5/5, runtime 21/21, release model edge 12/12, and focused checks pass; both verification roots were removed. + model_adapter_package_cut: Exact a721b763 deletes the one-file `epiphany-openai-adapter` Cargo package. Its pure provider request lowering and OpenRouter response projection now live beside the canonical native model contracts in `epiphany-model-adapter`; transport remains in the release edge or independent Connector daemon. One manifest, workspace target, dependency edge, and 27 maintained lines disappear without changing serialized identities or field order. Model adapter 5/5, decision context 8/8, runtime 21/21, release model edge 12/12, and focused checks pass. Verification produced 4.7 GiB across 6,524 files; cleanup restored the exact authenticated state inspector. runtime_spine_surface_cut: `runtime_spine.rs` owns immutable runtime identity, minimal model sessions/jobs and process claims, model/tool execution bindings, family admission, consequence receipts, retention, and identity-resurrection fences. Provider requests remain exact durable audit input; provider events/receipts normalize into one native persisted stream/receipt family. The sealed typed worker launch owns live pass-family identity and outer-worker role. Model execution bindings own model-session membership; outer-worker root membership is structural. Archived worker attempts retain exact request kind/ID, deletion digest, decision context, and full typed structured outcome after live launch deletion, including typed failures. Model sessions carry only grouping identity plus the active/completed phase latch; completed-session retention derives its exact jobs from model bindings and writes one private tombstone containing retired identities plus the deletion-chain digest. The live and archived documents protect distinct admission and resurrection invariants and do not duplicate decision cargo. Runtime jobs carry only job identity plus the Queued/Completed/Failed latch. No job clock, role/session mirror, intermediate status, generic terminal-result document, latest-result selector, or model-turn identity echo participates in causality. Typed role/reorientation outcomes own structured terminal decisions and atomically close their job/process physiology; native model receipt/failure records own model-pass terminality; process claims own process death. Verification reasons from the exact route, authority, intent, patch, command, and commit bodies sealed in its basis and has no review document or live receipt-reread tool. Mind/runtime writable epochs remain v11/v47; archived worker attempts are v3. Family launch CAS, model execution, and coordinator basis admission are the only session/job creation owners. Continue subtraction through the remaining single-caller runtime-spine surfaces; do not recreate deleted authority through registries, adapters, compatibility readers, or summary DTOs.