Files
authoring-service/docs/hidden-memory-architecture.md
2026-07-09 16:34:28 +01:00

3.3 KiB
Executable File

Hidden Memory Architecture

The hidden ecosystem has one friendly source of truth:

  • assets/content/hidden-details.json in org_web

The live site still consumes generated constants in:

  • assets/scripts/hidden-details.js in org_web

Canonical Content

The old type field is now treated as the runtime delivery kind. It answers: where does this need to go in the existing JavaScript arrays?

The newer contentClass field answers: what is this thing conceptually?

Use these classes:

  • fragment: tiny reusable language, such as tooltips, quotes, whispers, loading lines, and small dialogue.
  • memory: a richer emotional moment or observation that can stand as an observatory node.
  • story material: dialogue or sequence material that is primarily useful inside a story route.
  • interaction: a trigger, route, keyboard secret, search response, seasonal event, or play-system behavior.
  • lore: world material such as dreams, terminal logs, guestbook entries, or hidden archive objects.
  • system layer: structural observatory material, such as the layer guide.

Stories

Stories are curated routes. They should reference entries by id through nodes.

Do not duplicate paragraphs inside a story when an existing fragment or memory can be referenced. A story gives order, title, tone, unlock conditions, and emotional shape.

Surfaces

The surfaces field says where an entry is reusable: tooltip, quote, story, observatory, search, keyboard, play, dream, temporal, and similar surfaces.

A tooltip fragment can appear in the footer without becoming a full story node. A memory can appear in the observatory and in a story without being forced into a rotating quote. An interaction can trigger a hidden route without pretending to be a narrative scene.

Observatory Roles

Use observatoryRole to keep rendering calm:

  • ambient: small lights and flavor, usually fragments.
  • node: substantial emotional points, usually memories or story material.
  • event: triggered behavior, routes, search, keyboard, seasonal, and play content.
  • guide: layer/system material.

The observatory should render stories as the main territories, then reveal entries inside them. Zoomed-out views should favor routes and clusters; detailed views can show individual nodes, ambient fragments, and triggered events.

Examples

lima left this page a little steadier than she found it.

  • Class: fragment
  • Runtime kind: hidden tooltip
  • Surfaces: tooltip
  • Observatory role: ambient

July 2022, on the way to uni induction, lima pops into my life

  • Class: memory
  • Runtime kind: journal entry
  • Surfaces: story, observatory
  • Observatory role: node

search query "lima" opens a hidden route

  • Class: interaction
  • Runtime kind: search route
  • Surfaces: search, hidden route
  • Observatory role: event

The story of love between two souls

  • Class: story record, not an entry class
  • References: ordered entry ids in nodes
  • Purpose: emotional route, not duplicated content

Authoring Rule

Write the smallest canonical thing that is emotionally honest.

If it is one line, make it a fragment. If it is a moment with weight, make it a memory. If it happens because of a trigger, make it an interaction. If it is a route through existing things, make it a story.