yysworld

for builders

The Lab.

41 active decisions covering product thesis, character design, data architecture, URL structure, and discoverability. Everything on the human surface exists because of what lives here.

/llms.txt · museum (57 superseded)

IDDecision
YYBW-001Product Thesis: From World Builder to Branching Life Observatory

The conversation opened from a creature/world-builder framing inspired by games like Spore. That framing suggested a large permutation space of creature creation.

YYBW-002YY as Canonical Anchor and Narrative Thread

The concept needed a central character. The strongest candidate became YY: your real stuffed squirrel, already established elsewhere as your first storytelling partner and the thread through your identity arc.

YYBW-003Roots Are Finite Story Arcs, Usually Monthly

At first the system implicitly leaned toward an indefinitely long root timeline. That threatened clarity, onboarding, narrative shape, and compute discipline.

YYBW-004Branches Arise from Acquisitions and Drift Gradually

The product needed a clean branching logic. Abstract trait mutation and weird parallel selves were initially interesting, but the cleaner form became: same YY, shared root, then a branch where YY acquires a skill, language, or capability.

YYBW-005Shared Event Stream: Real-World Anchored, Abstracted, Rewindable

The event engine evolved from generic world events to a stronger idea: use real-world events as seeds, abstracted enough to remain universal but still tied to actual dates.

YYBW-006Two Parallel Labs: Measurement and Chaos

The concept oscillated between two incompatible desires: 1. a clean system for measuring how a skill changes processing 2. a messy emergent world where branches or agents can collide Initially, crossings were exciting.

YYBW-007Daily Surface: SMS/Emoji, Mobile-First, Glanceable

The surface evolved through several forms: rich narrative logs, SNES dialog, then SMS/emoji. Cost and usability converged on a mobile-first daily check-in product.

YYBW-008Bookmark a Branch, but Keep Root One Tap Away

Once multiple branches exist, users need both attachment and reference.

YYBW-009Nightly Snapshot Build; Daytime Static Exploration

Real-time simulation was attractive in theory but unnecessary and expensive. A better architecture emerged: every night the world advances, artifacts are generated and cached, and during the day users browse static pages and JSON.

YYBW-010Compute Strategy: Simulate Many Cheaply, Render Few Richly

The project repeatedly confronted cost. The core insight was that pictures and clever text are the expensive parts, while structured state transitions are cheap.

YYBW-011Versioned Canon: YY Evolves Explicitly (v1.0, v1.1, ...)

A major late insight: canonical YY may need refinement over time. Rather than silently changing YY, the system should version canon. Each root or branch can explicitly reference the YY version it used.

YYBW-012Immutable Append-Only Ledger as Database of Truth

The project needed high-fidelity tracking. The strongest architectural model became financial: like orders and refunds, original facts remain immutable; later corrections or interpretations are added as ledger events.

YYBW-013Manifests and Projections: AI-Readable Control Surfaces over Immutable Truth

Once the database of truth hardened, manifests regained a narrower but essential role. The system needs machine-readable summaries of what exists, what is stale, what depends on what, and what needs recomputation.

YYBW-014Cached Diffs for Branches and YY Versions

The product depends on comparison. Recomputing diffs on every view would be wasteful. Since most branches and YY versions are mostly static once generated, branch diffs and YY version diffs can be computed once and cached.

YYBW-015Family-Shareable, Not Child-Directed: COPPA by Positioning and Architecture

There was concern that the product might become too cutesy and accidentally look child-directed. At the same time, the intention is that peers might selectively share it with their families.

YYBW-016Distribution: YouTube Shorts, Daily Email, and Site as the Home of Depth

The product is easier to show than explain. YouTube Shorts emerged as the best top-of-funnel: same event, multiple branches, quick outcome. Email emerged later as a Substack-like daily note for people following a branch.

YYBW-017Launch Infrastructure: Vercel Hobby + Neon Postgres, Static-First

The desired early stack is cheap and simple: Vercel for static site delivery and Neon Postgres for source-of-truth storage. The early launch is explicitly hobby-scale and mostly static, with small branch counts and minimal media.

YYBW-018Future Hooks: Attestation, Hashing, and Optional Stronger Verification

In the distant future, others may become involved and stronger verification or distributed attestation may matter.

YYBW-019yysworld Supersedes YY's World (Case-002) Entirely

Case-002 (yymethod-home) defined YY's World as a kids-only, read-only, outward-only property: primary audience ages 8–14, COPPA compliance by structural elimination, no data collection of any kind, no monetization, dandelion seeds with no…

YYBW-020Public/Private Key Two-Layer Architecture

The system has two layers: a public GitHub Pages layer (JSONL ledger, markdown ADRs, JSON projections, static site, visible pipeline) and a private Vercel + Neon layer (generation pipeline, database of truth, API routes, paid features).

YYBW-021URL Structure and Discoverability: SEO, AEO, GEO Priority Order

As the site approaches launch, three distinct discoverability problems must be resolved:

YYBW-022URL Design: Human and Machine Layers

YYBW-021 established a URL structure using `/root/2026-04/` as the path prefix for run data. That prefix has no character scoping — as soon as a second character exists, it becomes ambiguous.

YYBW-023Temporal Accuracy: Pipeline Timing, Run ID Scheme, and the Day-Zero Exception

On 2026-04-14, the first real content was written for the April run. During setup, two questions surfaced simultaneously:

YYBW-024Time-Gated Publication Replaces Deploy-Gated story_day

YYBW-023 established that `story_day` in a branch file records the number of days that have completed the full pipeline cycle, and that "the nightly pipeline is the sole authority for incrementing `story_day`." The implied model was:

YYBW-025?preview as Permanent Two-Layer Access Pattern

YYBW-020 established a public/private two-layer architecture: the private layer holds source truth; the public layer holds the rendered, gated surface.

YYBW-026species and Stat Names as Required Baseline Fields

On 2026-04-14, two canon integrity failures were caught during first-content validation:

YYBW-027Authorship and Authority Emerge from Public, Append-Only Systems

In public, multi-domain systems, authorship and authority are typically asserted through claims: branding, marketing, explicit declarations of ownership.

YYBW-028Narrative Artifacts Are Projections; Event Translation Requires Physical Presence

On 2026-04-15, the Day 2 artifacts for both branches were reviewed before publication and found to be significantly below quality bar. This ADR documents what failed, why rewriting was permitted, and the rules it establishes going forward.

YYBW-029World Seed and YY Voice Register: Versioned Authoring Artifacts, Introduced at Next Root

The April 2026 root was initialized without two things that significantly affect generation quality:

YYBW-030Drift Is Research: Governance Makes Drift Legible, Not Absent

After designing the world seed and voice register (YYBW-029), the April 2026 run was framed as a gap — a root that started without proper governance.

ADR-031`source_event` as Required Event Field

Event files (`runs/{rootId}/events/evt_*.json`) record the real-world inspiration for each story day in `authorial_note.real_world_inspiration` as a prose string.

ADR-032Character Name Anchoring: Prevents Branch-ID Drift into Narrative

On Day 4 (2026-04-17), the alt1-on-time branch artifact and snapshot used "Alt1" and "alt1" as the character's name throughout the narrative and identity_notes.

ADR-033Pipeline-Go Corrections: Date Trust, Stat Completeness, Auto-Execution

During the April 19, 2026 pipeline session, three failures required live correction by the author:

ADR-034Voice Versioning: Root-Scoped Narrative Register with Iterative Evolution

On April 19, 2026, the author compared the pipeline's generated narrative prose against a reference bedtime story written in their own voice for YY.

YYBW-035Mid-Run Branch Forking Rules

The first two branches in `root_2026_04_14` (main, alt1-on-time) were created at the start of the run and have content from day 1.

ADR-036World anchor surfacing on day pages

Each day's artifact is anchored to a real-world event, translated into YY's physical world per ADR-028.

ADR-037Decision Schema Normalization and CLAUDE.md Compaction

On 2026-04-27, a full audit of all pipeline-generated files in `runs/root_2026_04_14/` was performed across 125 JSON files. Two structural issues were found. A third observation was documented as intentional historical drift.

ADR-038World v2.0: Anthropomorphic Society, Northeast Anchor, Time-Compressed Seasonal Arc, Unique Inventory

The April 2026 root ran without a world seed (ADR-029 §3). v1.0 was reconstructed retroactively. v1.1 was drafted as the first authored-before-a-root template but was never used by a live root.

ADR-039Voice v1 → v2 Transition: Promotion at the May 2026 Root Boundary

ADR-034 established voice as root-scoped: a root declares `voice_version` once at creation and does not revise it mid-run.

ADR-040Data API for AI Agents: Manifest, Schemas, and Substrate Endpoints

ADR-022 declared a two-layer URL design with a machine layer rooted at `/yy/data/`. Two endpoints from that declaration have been built:

ADR-041Pipeline v0.2: Minimal Context Loading and Carry-Forward Discipline

Each `/pipeline-go` run was loading more files than the prior day:

Museum

57 superseded ADRs preserved as scar records in the museum. Covers three eras: Case-002: YY's World (24), Pre-Manifest (19), Starter Kit v0.1 (14). Corrections are new events, not silent rewrites.