Commit graph Epiphany/epiphany-core/Cargo.toml
Author SHA1 Message Date
Meta Vens
0bc90b9c2b Move the Ghostlight pin off the dead cultcache-py submodule
Epiphany pinned ghostlight-persona-projection at 2228189
(2026-08-16), which still carries the vendor/cultcache-py submodule
pointing at https://github.com/GameCult/cultcache-py.git. That repo
was folded into CultLib's packages/cultcache-py and no longer exists,
so a fresh clone that recursively fetches Ghostlight submodules fails
cargo's `unable to update` step even though Epiphany's own tree is
otherwise clean.

Move the pin to 22937b7 (2026-09-13), the nearest Ghostlight revision
without a dead submodule: it replaces vendor/cultcache-py with the
published cultcache-py PyPI package and keeps only vendor/eve. Between
the two revisions the crate's public surface stayed source-compatible
for the three call sites Epiphany uses, with three additive/field
changes: ProjectorPrompt and PersonaPrompt gained a required
word_budget field (set to 180, matching Ghostlight's own
PERSONA_WORD_BUDGET convention for narrative Persona controllers), and
InterpreterPrompt's output_schema became Option<&str> (wrapped in
Some(..) to keep the always-supplied schema).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 17:17:31 +02:00
Meta Vens
7ab838f167 Extract epiphany-pipeline, and add the three kinds a mind is keyed by
Ruling 1 keeps schema ownership in Epiphany; ruling 17 puts admission in
Huginn. Huginn must not take on epiphany-core -- about 41,000 lines and 295
lock packages -- to use about 1,000 lines of document types. So the documents
leave as a leaf library, and epiphany-core keeps no pipeline surface at all:
its consumption is campaign two.

`epiphany-core/src/pipeline_documents.rs` moves whole to
`epiphany-pipeline/src/lib.rs`, with its nine tests. Only three things changed
in the move: the module doc now describes a package rather than a cut map
section; `anyhow` joins `rmp-serde` behind `cfg(test)`, because the write path
has been test-only since 186dbc62 and the live library's errors are all
`PipelineRefusal`; and the decode refusal, which was pinned against
epiphany-core's Mind commit receipt, is pinned against a local `ForeignDocument`
carrying that receipt's type id, since the receipt belongs to the harness.

The package declares four dependencies. chrono parses a Date, cultcache-rs
supplies DatabaseEntry, schemars derives the published schemas (Q5), and serde
is the document format. anyhow, rmp-serde and serde_json are dev-dependencies:
every use of them is `cfg(test)`. `autobins = false`, as a leaf library must.
The workspace lock grows by exactly one entry, the member itself; no new
third-party package.

Deleted rather than re-exported: epiphany-core's `mod pipeline_documents;` and
`pub use pipeline_documents::*;`, and `schemars` from its manifest, whose only
user was this module. No shim, no duplicate type.

`runtime_spine_cache_refuses_a_pipeline_store` stays in epiphany-core, because
the rule is the spine registry's: it registers its own types and nothing else.
It now builds its foreign envelope from a `cfg(test)` stand-in carrying
`epiphany.pipeline.campaign.v1` rather than from the moved documents, so the
rule keeps its test without the package keeping a dependency.

D2's three new kinds arrive with the move, each with a live consumer in the
organ: `instance` is a mind's identity document, `stewardship` records the
repos an instance is assigned, and `hand_off` records a reassignment in both
minds. All three hang off an instance rather than a campaign, so they compose
their own keys instead of borrowing the `<campaign>:<kind>:<local>` tail. A
repo inside a key is escaped to `Org_Repo`, because `/` is not a Label byte.

Thirteen schemas now derive. The five that embed `PipelineKind` gained three
enum variants, which is additive, so Q2 keeps `epiphany.pipeline.epoch.v1`.

epiphany-pipeline: 12 tests, 0 warnings. epiphany-core: 163 tests -- 172 minus
the nine that moved -- 0 warnings. epiphany-state.exe is byte-identical.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 11:40:12 +02:00
Meta Vens
ad18c385dc Add pipeline documents, store opener, writer lease and schemas
Cut 3a of the Eureka pipeline state campaign (cut map D1-D3).

- pipeline_documents.rs: the ten kinds as serde + JsonSchema values in
  one-slot DatabaseEntry wrappers (epiphany.pipeline.<kind>.v1), the
  identity, provenance and writer-holder documents, UTF-8 byte bounds,
  semantic key derivation, and the pipeline write validator (bounds, then
  key recomputation).
- pipeline_store.rs: PipelineStore::open (read-only, no lease),
  PipelineWriter::attach (fs2 lock in the git common dir, display-only
  holder file, binary/ignore checks), require_branch, PipelineRefusal,
  and PIPELINE_COMMIT_STORE on the one commit owner. The opener refuses
  foreign types, missing identity and foreign epochs before attaching.
- schemars 1 is an unconditional core dependency (Q5-A); the ten published
  schemas are derived and checked byte-for-byte, with index.json entries.

The profile and the prepare path carry expect(dead_code) naming Cut 3b as
their consumer, so the attribute fails the build once admission uses them.

Builds: yes. cargo test -p epiphany-core --lib: 171/171, 0 warnings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:55:04 +02:00
Meta Vens
2b76c2e758 Re-pin CultLib to a0813c6
Cut 1 of the Eureka pipeline state campaign. Moves every CultLib
dependency from e171eca3 to main a0813c6.

- load_envelope was deleted upstream (CultLib 4ed9871). The 12 sites in
  persona_conversation, persona_social_state and resident_self now call
  put_envelope. Each site feeds a cache built with CultCache::new() in
  the same function with no backing store attached, so home_index
  returns None and put_envelope only inserts into memory, exactly as
  load_envelope did. validate_envelope is byte-identical across the pins.
- add_generic_backing_store now returns Result; the three production
  sites and five test sites propagate it with ?.

No ownership change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 20:00:01 +02:00
Meta Vens
68939b2c1f Consume the core stack from CultLib instead of forking it
Epiphany carried three vendored copies: CultCache and CultNet as submodules on
their own branches of the retiring standalone repos, and a 491-line in-tree
CultMesh, a third Rust CultMesh lineage after CultLib's and Odin's.

None of it was load-bearing. Against CultLib the CultCache fork held nothing
unique, CultNet held one function that CultLib had all along but kept private,
and CultMesh held two thin delegations to CultCache. All three are now exposed
in CultLib, so this repoint needed no code changes at all: the workspace
compiles and its 16 test binaries pass against the pinned revision unchanged.

The submodule working tree also carried an uncommitted change, which turned out
to be a rustfmt reflow of one test expression. Nothing was lost with it.

Only the manifests move here. The in-flight epiphany-core work is left
uncommitted and untouched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 04:21:52 +02:00
Meta Vens
8086d66fc3 Collapse release construction package 2026-08-25 02:08:14 +02:00
Meta Vens
a721b76372 Collapse model adapter package boundary 2026-08-25 01:44:59 +02:00
Meta Vens
07529fb521 Collapse semantic state contracts into core 2026-08-24 18:29:58 +02:00
Meta Vens
695af6c630 Remove unowned release dependencies 2026-08-24 07:17:54 +02:00
Meta Vens
a78c1802e1 Delete ceremonial compaction checker 2026-08-23 19:58:26 +02:00
Meta Vens
940982232d Reduce host identity to public verification 2026-08-23 19:18:58 +02:00
Meta Vens
6ea4ff3cab Narrow RepoModel to repository semantics 2026-08-23 15:03:12 +02:00
Meta Vens
856648decc Delete unused semantic projection subsystem 2026-08-23 14:47:31 +02:00
Meta Vens
ab3cacfbf7 Delete fictional contracts and dead prompt surfaces 2026-08-23 11:40:39 +02:00
Meta Vens
387afe4941 Remove parallel executable control planes 2026-08-23 01:51:24 +02:00
Meta Vens
1d5a1f1793 Delete unowned executable surfaces 2026-08-23 01:32:47 +02:00
Meta Vens
39adf3a4d9 Delete Discord operator control plane 2026-08-22 06:16:40 +02:00
Meta Vens
ec1431fff8 Remove global thread state model 2026-08-18 04:51:18 +02:00
Meta Vens
4ad62ac49d Update Ghostlight Persona projection handback 2026-08-16 23:09:44 +02:00
Meta Vens
98a69667d6 Consume Ghostlight Persona projection membrane 2026-08-16 21:57:43 +02:00
Meta Vens
4c0cbd57e0 Build federated Model Atlas vertical slice 2026-08-14 16:19:35 +02:00
Meta Vens
18d3783ab8 Delete aggregate RepoModel bootstrap binary 2026-08-14 12:24:40 +02:00
Meta Vens
a786273d77 Delete aggregate acceptance repair authority 2026-08-14 11:38:46 +02:00
Meta Vens
ec5c7ff995 Add public source authority gate probe 2026-08-13 19:55:57 +02:00
Meta Vens
00ee38210d Give resident Self graceful shutdown ownership 2026-08-09 08:53:39 +01:00
Meta Vens
76afdaf0ce Extract release construction from core 2026-08-09 08:27:27 +01:00
Meta Vens
052d5b1ec1 persona: connect Starfire cognition to Bifrost mouth 2026-08-08 20:10:48 +01:00
Meta Vens
9d671aeef0 runtime: cut repository body observation latency 2026-08-08 19:31:27 +01:00
Meta Vens
5d6a731607 runtime: add keyed spine migration and narrow release builds 2026-08-08 19:07:43 +01:00
Meta Vens
d910158fd0 Isolate Self policy from stable core builds 2026-08-08 17:14:00 +01:00
Meta Vens
9f51bab14c Reuse compatible release build graphs 2026-08-07 23:11:15 +01:00
Meta Vens
7970347af1 Bind deployment to one witnessed release 2026-07-16 03:46:31 +01:00
Meta Vens
348024071e Prove live workspace coverage recovery 2026-07-16 03:24:54 +01:00
Meta Vens
42c9f7d109 Cut generic coverage process authority 2026-07-16 01:29:43 +01:00
Meta Vens
9720efe054 Enroll a truthful host incarnation root 2026-07-16 01:00:51 +01:00
Meta Vens
fe3ceac8be Bind process authority to native incarnation 2026-07-16 00:52:21 +01:00
Meta Vens
1ba7ba3c36 Prove semantic claim recovery across real processes 2026-07-15 16:53:04 +01:00
Meta Vens
b924fe5b7d Package the Idunn semantic projector body 2026-07-15 09:32:53 +01:00
Meta Vens
fcbab316e6 Bind Modeling memory to live source truth 2026-07-13 18:51:38 +01:00
Meta Vens
eeb1dce363 Reconcile Idunn managed services 2026-07-12 13:12:46 +01:00
Meta Vens
286c11f339 Seal runbook artifact provenance in swarm actions 2026-06-18 16:41:03 +01:00
Meta Vens
3e19a6aa2a Move Epiphany prompt launch authority into core 2026-05-28 21:02:26 +01:00
Meta Vens
65a65c19e7 Add typed tool invocation contracts 2026-05-27 22:51:13 +01:00
Meta Vens
a9b21d7782 Add provider-neutral model documents 2026-05-27 22:37:53 +01:00
Meta Vens
9af7850ea5 Repair Epiphany Rust substrate 2026-05-27 14:47:23 +01:00
Meta Vens
603ee8cd84 Integrate local CultMesh status surface 2026-05-24 11:51:44 +01:00
Meta Vens
abfcf77f97 Remove Codex file search from Epiphany core 2026-05-13 11:37:33 +01:00
Meta Vens
0687c74504 Remove Codex protocol from Epiphany core 2026-05-13 11:26:41 +01:00
Meta Vens
ed88350642 Move Epiphany state model out of Codex protocol 2026-05-13 11:04:50 +01:00
Meta Vens
6c18bdaa6e Persist worker launch documents in runtime spine 2026-05-13 08:13:51 +01:00