Commit graph Ghostlight/Cargo.lock
Author SHA1 Message Date
Meta Vens
f859d2c4e3 Give the world library a sealed public boundary
Completes the move begun in the previous commit, which does not build on its
own. `ghostlight` is now a library crate with an explicit public surface;
`ghostlight-dungeon` is a consumer that reaches the kernel through it and
cannot reach past it.

Deleted first: `mod world;`, the nine unused re-exports, the `#[cfg(test)]`
re-export block, `fixture_controller_opportunities`, the five inference
`fixture_*` items, Dungeon's own `VerifiedPrincipalEvidence`, and Dungeon's
direct `ghostlight-persona-projection` dependency.

The seal. `WorldKernel`, `WorldState`, `reduce`, `apply_effect`,
`CommandEnvelope`, `AuthenticatedCaller`, the journal writer, every ID
`issue()`, and `ScopeDigest::fixture` carry no `pub` of any kind and no
feature gate; the crate declares no `[features]`, so no build configuration
can lift them. Ten `compile_fail` doc-tests stand outside the crate and pin
each one to its error code.

The principal seam. The library owns `VerifiedPrincipalEvidence` with a public
`new`; `mailbox` still bounds it by `valid_until` at ingress. A Dungeon test
counts the minters in production source and fails at anything but one.

The port contract (Q1-7). `PreparedInference::prepare` (renamed from the free
`prepare_invocation`), `InferenceOutput::new`, and
`InferenceFault::{retryable, recovery_required, integrity_violation}` are now
the port's public constructors, so a consumer-implemented `InferencePort` can
answer without test-only wrappers. `TracingInferencePort` is an ungated
decorator.

The tick-ordering test (Q1-8) derives its cover from a real active world
through `derive_cover` and asserts two cells; its ordering and shared-tick
assertions are unchanged.

Behaviour is unchanged. The library's 420 unit tests are the base `world::`
set with the prefix stripped — the names diff empty. Dungeon keeps all 49 of
its names and gains two Soul tests the boundary requires. No schema string,
digest preimage, or store layout is touched.

Windows verification only; the Linux release is Idunn's build.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 02:06:07 +02:00
Meta Vens
d0510ac85b Consume the core stack from CultLib instead of forking it
vendor/README.md declared cultcache-rs, cultnet-rs and cultmesh-rs "a locally
owned compatible protocol generation". That charter is the defect. A consumer
holding its own generation of the wire stack sits outside the only harness that
checks cross-runtime agreement, and the fork behaved exactly as that predicts:
runtime_authority_contracts.rs drifted to e542225 while this repo's own
authority map named f4ab237, and the Rust CultMesh implementation existed
nowhere else in GameCult.

All three now come from CultLib pinned at 85f7024, and 19,604 lines of forked
substrate are deleted. Nothing was lost on the way out. The vendored cultnet
tree was compared file by file against CultLib: ten of twelve matched, lib.rs
differed only in module declarations, and transport.rs carried one guard that
existed nowhere else -- a framed length checked against the advertised maximum
before allocating. That guard is now CultLib 85f7024 with a test.

The migration this was expected to need does not exist. RuntimePresenceCorrelation
changing from enum to struct is Odin's side of the contract and no file here
touches it; with line endings normalised the two contract copies differ by 132
lines, and the only production change that reaches a provider is
IdunnExpectedRoute requiring rudp:// schemes for rudp transport, which this
service does not use. The code compiles unchanged.

89 tests pass across the workspace against the pinned rev.

vendor/ still holds the cultcache-py and eve submodules. cultcache-py is the
same pattern -- a runtime-specific repo CultLib also carries as
packages/cultcache-py -- but it backs the state tooling rather than the
daemon, so it is left for its own change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 01:13:24 +02:00
Meta Vens
a0b16b927b Bind Ghostlight runtime presence to Idunn authority 2026-09-03 06:36:58 +02:00
Meta Vens
13d5136b69 Unify Ghostlight persistence under one CultCache 2026-09-02 15:00:48 +02:00
Meta Vens
6bb6869810 Rebuild Ghostlight around explicit world authority 2026-09-02 07:21:11 +02:00
Meta Vens
8e7d98051e Pin shared CodexConnector contract 2026-08-24 23:55:58 +02:00
Meta Vens
e9b78f9e88 Pin bounded connector diagnostics 2026-08-24 20:46:41 +02:00
Meta Vens
858fc16ef4 Pin corrected Codex provider lowering 2026-08-24 20:30:49 +02:00
Meta Vens
b3388e0c3b Use independent CodexConnector transport 2026-08-24 20:08:36 +02:00
Meta Vens
62e5f05d9a Route Ghostlight through Eve and Heimdall authorities 2026-08-22 02:04:56 +02:00
Meta Vens
f12de09d00 Add Yggdrasil runtime and signed health support 2026-08-21 20:15:21 +02:00
Meta Vens
9f8be42d5c Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
Meta Vens
92c3e81d92 Replace demo invites with Heimdall sign-in 2026-08-19 00:40:15 +02:00
Meta Vens
f905376a22 Authenticate API requests before extraction 2026-08-18 22:53:14 +02:00
Meta Vens
64595b443a Extract Ghostlight Persona projection membrane 2026-08-16 21:45:50 +02:00
Meta Vens
3f7c3f1d6a Validate structured model stages before acceptance 2026-08-16 21:24:24 +02:00
Meta Vens
a80a269f4b Publish Ghostlight state through CultMesh 2026-08-16 21:22:24 +02:00
Meta Vens
747b27e9bc Run GhostlightDungeon as a normal daemon 2026-08-16 16:58:36 +02:00
Meta Vens
0700c1d188 Run GhostlightDungeon as a native Windows service 2026-08-16 16:55:12 +02:00
Meta Vens
74177ac733 Protect GhostlightDungeon runtime credentials 2026-08-16 16:46:04 +02:00
Meta Vens
6f51f3a4a3 Build GhostlightDungeon kernel and private Eve harness 2026-08-16 16:35:50 +02:00