2026-09-15 22:46:54 +02:00
|
|
|
|
# Ghostlight Dungeon Session Zero
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
|
2026-09-22 00:53:24 +02:00
|
|
|
|
Status: adopted direction, 2026-09-15. Not implemented. Its role as the
|
|
|
|
|
|
playtest gate is superseded (operator, 2026-09-22) by the play agent,
|
|
|
|
|
|
`ghostlight-play-agent.md` (plan step 16). D1–D3 and the library passes
|
|
|
|
|
|
L2–L4 they consume are deferred by ruling, not dropped. Plan step 15 in
|
|
|
|
|
|
`notes/ghostlight-implementation-plan.md` carries the deferred pass order.
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
|
2026-09-15 22:46:54 +02:00
|
|
|
|
## Ownership
|
|
|
|
|
|
|
|
|
|
|
|
Session Zero is Ghostlight Dungeon's concept and Dungeon's authority. Dungeon
|
|
|
|
|
|
is a consumer of the Ghostlight library. Session Zero consumes library
|
|
|
|
|
|
capabilities through their generic surfaces and adds nothing Dungeon-shaped
|
|
|
|
|
|
to the library: no Vault registry, player, slider, starting location, or
|
|
|
|
|
|
Session Zero phase exists in the library vocabulary.
|
|
|
|
|
|
|
|
|
|
|
|
The library capabilities it needs are specified, consumer-neutral, in
|
2026-09-15 22:55:18 +02:00
|
|
|
|
`ghostlight-world-ontology.md` under "Elaboration lenses and detail rules
|
|
|
|
|
|
(target)": the stock lens set and weights, detail rules, per-world evidence
|
|
|
|
|
|
binding, and elaborator sessions in Draft. Other consumers use the same
|
|
|
|
|
|
capabilities with their own policy; Delvehold, for one, starts from a
|
|
|
|
|
|
`Uniform` detail rule.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
|
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
|
|
|
|
The world kernel lives in the `ghostlight` library crate
|
|
|
|
|
|
(`crates/ghostlight/`); `ghostlight-dungeon` consumes it across a public
|
|
|
|
|
|
boundary and cannot reach its internals.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
## Objective
|
|
|
|
|
|
|
|
|
|
|
|
A player chooses a Vault, says what kind of experience they want, and gets a
|
|
|
|
|
|
world seeded from that Vault. The world is dense where they stand and sketched
|
|
|
|
|
|
where they don't, and it grows detail ahead of them as they travel. The flavor
|
2026-09-15 22:55:18 +02:00
|
|
|
|
of the world comes from how often each of the eight stock lenses works on it.
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
|
|
|
|
|
|
## The flow
|
|
|
|
|
|
|
2026-09-15 22:46:54 +02:00
|
|
|
|
1. **Choose a Vault.** The player picks from Vaults the Dungeon operator has
|
|
|
|
|
|
admitted. A Dungeon Vault entry names its root and the scope a player may
|
|
|
|
|
|
read, for example Kalsa's `Public`. The payload carries a Vault id, never a
|
|
|
|
|
|
path. Dungeon binds the chosen Vault as the world's evidence source.
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
2. **Describe the experience.** The player writes what they want. A model
|
2026-09-15 22:55:18 +02:00
|
|
|
|
reads that description and proposes weights for the eight stock lenses. The
|
2026-09-15 22:46:54 +02:00
|
|
|
|
proposal fills the sliders; the player adjusts them. Dungeon submits only
|
|
|
|
|
|
the numbers and the description, which becomes the world brief.
|
2026-09-15 22:55:18 +02:00
|
|
|
|
3. **Create.** Dungeon creates a library world with title, brief, the stock
|
|
|
|
|
|
lens set and weights, and Dungeon's detail rule with no anchor yet. No
|
|
|
|
|
|
player subject is declared yet, so every place sits at the rule's floor.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
4. **Sketch.** Dungeon's seed session authors a coarse world from the Vault:
|
|
|
|
|
|
regions, routes with travel costs, institutions, populations.
|
|
|
|
|
|
5. **Choose a start.** The player picks a sketch place. Dungeon submits one
|
2026-09-15 22:55:18 +02:00
|
|
|
|
owner patch declaring the player's human-controlled subject there, and pins
|
|
|
|
|
|
that subject as the first anchor of its detail rule.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
6. **Elaborate.** The library's elaborator sessions run, pulled toward the
|
2026-09-15 22:55:18 +02:00
|
|
|
|
anchors by distance.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
7. **Activate** when the player chooses. Dungeon never makes activation wait
|
|
|
|
|
|
on a count.
|
|
|
|
|
|
8. **Play.** As the player travels, the library's derived demand follows the
|
2026-09-15 22:55:18 +02:00
|
|
|
|
anchor and detail follows the player.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
|
|
|
|
|
|
## Dungeon policy
|
|
|
|
|
|
|
2026-09-15 22:55:18 +02:00
|
|
|
|
- **Lenses:** the library's stock set of eight, weighted by the player's
|
|
|
|
|
|
sliders. The owner may change weights in Draft and Active; later sessions use
|
|
|
|
|
|
the new weights.
|
|
|
|
|
|
- **Detail rule:** `ByDistance`, anchored on important subjects, the player
|
|
|
|
|
|
first. Recommended levels: within 60 minutes, persons, institutions, and
|
|
|
|
|
|
populations; within 1 day, institutions and populations; beyond, institutions
|
|
|
|
|
|
only; lookahead 120 minutes. Tuned on the road. Which other subjects Dungeon
|
|
|
|
|
|
pins, and when, is Dungeon policy not yet decided.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
- **Travel:** Dungeon's seed authors a travel affordance for persons, and the
|
|
|
|
|
|
Eve surface projects one control per affordance a player's subject holds.
|
|
|
|
|
|
|
|
|
|
|
|
## Authority map (Dungeon)
|
|
|
|
|
|
|
|
|
|
|
|
- **Owner:** Dungeon's runtime owns Session Zero's flow, the Vault registry,
|
2026-09-15 22:55:18 +02:00
|
|
|
|
the weight proposal, the player principal, anchor pinning, and the Eve
|
|
|
|
|
|
surface. Every world change it makes is an ordinary library command.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
- **Inputs:** the authenticated player, the admitted Vault list, the player's
|
|
|
|
|
|
description and slider values, the chosen start place.
|
2026-09-15 22:55:18 +02:00
|
|
|
|
- **Outputs:** library world creation, seed and owner patches, rule and
|
2026-09-15 22:46:54 +02:00
|
|
|
|
weight changes, activation, and Eve projections.
|
|
|
|
|
|
- **Derived state:** the slider proposal, the Session Zero step a player is on
|
2026-09-15 22:55:18 +02:00
|
|
|
|
(derived from the library snapshot's phase, rule anchors, and structure), and
|
|
|
|
|
|
every projection.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
- **Forbidden writers:** Dungeon writing world state other than through
|
|
|
|
|
|
library commands; the proposal model submitting weights without the
|
|
|
|
|
|
player's command; a Vault path in any payload; any Dungeon identifier,
|
|
|
|
|
|
schema, or policy entering the library vocabulary.
|
|
|
|
|
|
|
|
|
|
|
|
## Cut line (Dungeon)
|
|
|
|
|
|
|
|
|
|
|
|
- `GHOSTLIGHT_SEED_VAULT_ROOT` as the only Vault: Dungeon's Vault registry
|
|
|
|
|
|
replaces it.
|
|
|
|
|
|
- The `world.create` payload fields for jurisdiction roots and permille, when
|
2026-09-15 22:55:18 +02:00
|
|
|
|
the library's detail rule replaces them.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
- The genesis human subject: Dungeon declares its player at the chosen start.
|
|
|
|
|
|
|
|
|
|
|
|
## Verification (Dungeon)
|
|
|
|
|
|
|
|
|
|
|
|
1. A player-chosen Vault id resolves only to an admitted Vault and scope; an
|
|
|
|
|
|
unknown id or a path is refused before anything is spent.
|
|
|
|
|
|
2. The slider proposal changes nothing until the player submits weights.
|
|
|
|
|
|
3. The start choice declares exactly one player subject, at a sketch place,
|
2026-09-15 22:55:18 +02:00
|
|
|
|
once, in Draft, and pins it as the rule's first anchor.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
4. Activation succeeds with nonzero deficits.
|
|
|
|
|
|
5. Road: a seeded world on the SDK route shows persons near the start,
|
|
|
|
|
|
institutions far from it, and new persons at a place after the player's
|
|
|
|
|
|
subject travels toward it.
|
Restore the titled elaborators as lenses and design Session Zero
The eight titles (Patina, Charter, Ledger, Hearth, Tangle, Veil, Ember,
Numen) were deleted with their titled verifier and quotas, and no operator
decision covered them. The ontology doc and evidence record 6 now say the
tribunal was the verifier and the quotas, not the titles. A new correction
record carries the history and the 2026-09-15 direction.
Session Zero is the player's path through a world's Draft phase. The player
chooses a Vault, describes the experience, and sets title weights. The seed
lane sketches the world and the player chooses a start. A swarm then draws a
title by weight for each session and elaborates by travel distance from the
player, before and after activation. It is plan step 15, and its fifth pass
closes the playtest gate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 22:33:21 +02:00
|
|
|
|
|
|
|
|
|
|
## Pass order
|
|
|
|
|
|
|
2026-09-15 22:55:18 +02:00
|
|
|
|
Library passes L0 through L4 are in plan step 15; L0 is the kernel
|
|
|
|
|
|
extraction. Dungeon passes follow them:
|
2026-09-15 22:46:54 +02:00
|
|
|
|
|
2026-09-15 22:55:18 +02:00
|
|
|
|
1. Vault registry, world creation with Vault id, brief, lens weights, and
|
|
|
|
|
|
detail rule.
|
2026-09-15 22:46:54 +02:00
|
|
|
|
2. The Session Zero Eve surface: Vault choice, description, slider proposal,
|
|
|
|
|
|
sliders, sketch, start choice, activation.
|
|
|
|
|
|
3. Travel affordance and per-affordance player controls. This pass closes the
|
|
|
|
|
|
playtest gate.
|