Skip to content
This repository was archived by the owner on Oct 10, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .grok/skills/waykin-ar-debug/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-audio/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ metadata:

# waykin-audio

Waykin is **audio-first**. Semantic cues are Core; filenames and AVAudioSession are App.
Waykin is **AR-designed**, with audio as a required supporting channel for presence, accessibility, safety, and pocket use. Semantic cues are Core; filenames and AVAudioSession are App.

## 0. Ownership

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-audio/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-build/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-healthkit/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-pr-review/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-release/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-ui-review/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
2 changes: 1 addition & 1 deletion .grok/skills/waykin-validate/references/REPO_CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Read this once at skill start. Prefer absolute repo paths from `git rev-parse --

## Product

- Audio-first **walking** companion app (Lira). Solo MVP.
- AR-designed **walking** companion app (Lira). Solo MVP. Movement is gameplay authority; AR is the primary designed session surface when capable; audio is a required supporting channel.
- Binding scope: `docs/SOLO_MVP_SCOPE.md`, `WAYKIN_SPEC.md`, `ARCHITECTURE.md`, `AGENTS.md`, `docs/governance/DOCUMENT_AUTHORITY.md`.
- One activity: walking. Not run/cycle expansion without scope promotion.

Expand Down
7 changes: 4 additions & 3 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Waykin Architecture

Waykin is currently a solo-developer MVP vertical slice, not a platform. The architecture is bounded around one walking loop and five primary runtime systems.
Waykin is an AR-designed solo-developer MVP vertical slice, not a platform. Movement remains gameplay authority. AR is the primary designed session surface when capability allows, while audio, 2D presence, map, and HUD are supporting presentation channels over the same semantic state.

## Runtime Flow

Expand Down Expand Up @@ -36,10 +36,11 @@ SessionMemory + Bond
- Movement Engine: owns session transitions, elapsed and active time, distance, speed, route points, simulation, and accepted real walking samples.
- World State: derives serializable session context from local movement signals, Bond, time context, familiarity, energy, and pressure.
- Event Generator: emits zero or one deterministic semantic event per tick using a seeded, weighted, cooldown-aware configuration.
- Companion presentation matrix: single source for behavior + relative distance + AR presentation string mapping (`CompanionPresentationMatrix`).
- Companion presentation matrix: single source for behavior + relative distance + shared presentation mapping (`CompanionPresentationMatrix`).
- Companion Runtime: applies experience commands (and event overlays) into Lira’s small behavior vocabulary.
- Audio Experience Layer: maps world events and companion behavior transitions onto the seven semantic cue kinds (priority + cooldown); path soft cues use the same kinds via `PathAudioCoupling` when event/behavior audio is silent.
- App Audio Adapter: maps cue kinds to bundled produced WAVs, enforces a two-channel playback bound, and owns Apple audio-session lifecycle behavior.
- AR Presentation Adapter: maps semantic state through `ARWorldCommand` into the primary designed session surface on capable devices without owning gameplay truth.
- App Audio Adapter: maps cue kinds to bundled produced WAVs, enforces a two-channel playback bound, and owns pocket-safe Apple audio-session lifecycle behavior.
- Path progress: semantic on-path / strained / offPath presentation (not navigation).

Persistence supports Bond and concise memories. It is not a generalized backend or content platform.
Expand Down
2 changes: 1 addition & 1 deletion App/AppAudioCuePlayer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ extension AVAudioSession: AudioSessionControlling {
}

func configureAmbientMixing() throws {
// `.playback`, not `.ambient`. Waykin is an audio-first walking experience:
// `.playback`, not `.ambient`. Audio is a required pocket-safe supporting channel:
// - `.ambient` is silenced by the hardware ring/silent switch (cues inaudible).
// - `.ambient` stops on backgrounding, so audio died whenever the screen locked
// or the phone went in a pocket — i.e. during the actual walk.
Expand Down
2 changes: 1 addition & 1 deletion App/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
</array>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<!-- Audio-first walking experience: cues must keep playing with the screen
<!-- Pocket-safe supporting audio: cues must keep playing with the screen
locked and the phone in a pocket. Without this, backgrounding kills audio. -->
<key>UIBackgroundModes</key>
<array>
Expand Down
2 changes: 1 addition & 1 deletion Demo/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Foundation
import WaykinCore

print("=== WAYKIN SOLO MVP DEMO ===")
print("Deterministic audio-first walking loop; no GPS or permissions required.\n")
print("Deterministic AR-designed walking loop with semantic presentation output; no GPS, camera, or permissions required.\n")

let movement = MovementEngine()
let companion = Companion(id: UUID(), name: "Lira", archetype: "explorer", bondLevel: 12, lastSessionID: nil, memories: [])
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
</p>

<p align="center">
<strong>An audio-first adaptive walking experience.</strong><br>
<strong>An AR-designed adaptive walking experience.</strong><br>
You move. Lira moves with you. The world responds. Bond grows.
</p>

Expand All @@ -48,9 +48,9 @@ The launch product remains intentionally small enough for one developer to under
| | Pillar | Current contract |
|---|---|---|
| 🚶 | **Real movement** | Walking is the launch activity and primary gameplay input. |
| ✨ | **Persistent companion** | Lira is the single companion and responds through a bounded behavior vocabulary. |
| ✨ | **AR companion presence** | Lira is the single companion and AR is her primary designed session surface when capability allows. |
| 🌎 | **Adaptive world** | Seeded events emerge from movement, context, familiarity, energy, and pressure. |
| 🎧 | **Semantic audio** | Audio communicates presence, discovery, pressure, transition, and Bond. |
| 🎧 | **Supporting semantic audio** | Audio preserves presence, discovery, pressure, transition, accessibility, and pocket-safe continuity. |
| 🏃 | **Bounded pursuit** | Tension exists without punishment, coercion, or an enemy-platform expansion. |
| ❤️ | **Bond** | One persistent progression measure represents the relationship with Lira. |

Expand Down
14 changes: 8 additions & 6 deletions WAYKIN_SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

## Product Contract

Waykin is an audio-first adaptive walking experience in which one persistent companion, Lira, and one bounded pursuit-pressure state respond to how the user moves.
Waykin is an AR-designed adaptive walking experience in which one persistent companion, Lira, and one bounded pursuit-pressure state respond to how the user moves. Movement is gameplay authority; AR is the primary designed session surface when capability allows, with audio, 2D presence, map, and HUD as supporting presentation channels.

The current product is a solo-developer MVP vertical slice. Complexity belongs in deterministic data and configuration, not in additional platforms or generalized systems.

Expand All @@ -19,10 +19,10 @@ The current product is a solo-developer MVP vertical slice. Complexity belongs i
2. World State and deterministic Event Generator
3. Lira Companion Runtime
4. Bounded Pursuit State
5. Semantic Audio Experience
6. Local Bond and concise Session Memory persistence
7. Privacy-filtered local field-test receipts
8. Platform-neutral AR presentation contracts and milestone-scoped app adapters
5. AR Presentation Contracts and milestone-scoped app adapters
6. Semantic Audio Experience
7. Local Bond and concise Session Memory persistence
8. Privacy-filtered local field-test receipts

## Binding Invariants

Expand All @@ -32,7 +32,9 @@ The current product is a solo-developer MVP vertical slice. Complexity belongs i
- Pursuit is bounded pressure, not a generalized enemy framework.
- Seeded behavior must remain reproducible.
- `WaykinCore` must not gain **new** dependencies on ARKit, RealityKit, SwiftUI, MapKit, or audio filenames. Existing isolation baseline exceptions (today: SwiftData persistence + CoreLocation sample adapter seams checked by `scripts/check_core_framework_isolation.sh`) are grandfathered only; do not expand them without an explicit issue.
- Presentation adapters may realize semantic state but may not become alternate gameplay authorities.
- AR, audio, 2D, map, and HUD adapters may realize semantic state but may not become alternate gameplay authorities.
- AR is the primary designed session surface on capable devices; a walk must remain safe and completable when AR is denied, unavailable, or degraded.
- Semantic audio remains required supporting presentation for presence, pocket use, accessibility, and safety.
- Physical-device behavior is not validated without direct device evidence.
- Safety, pause, and stop behavior take precedence over dramatic pressure.

Expand Down
8 changes: 4 additions & 4 deletions docs/SOLO_MVP_SCOPE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Product Promise

Waykin is an audio-first adaptive walking experience where the real world quietly appears to notice, remember, and respond through Lira, Bond, bounded phenomena, and concise session memories.
Waykin is an AR-designed adaptive walking experience where Lira meets the user in the world as they walk. Movement remains gameplay authority; AR is the primary designed session surface when capability allows, while audio, 2D presence, map, and HUD preserve continuity, accessibility, and safety.

The first release should make a user finish a walk and want to go out again tomorrow to see what happens.

Expand All @@ -12,7 +12,7 @@ The first release should make a user finish a walk and want to go out again tomo
2. World State
3. Event Generator
4. Companion Runtime
5. Audio Experience Layer
5. Audio Experience Layer (required) with AR presentation adapter as the primary designed session surface when capability allows; 2D presence, map, and HUD remain distinct supporting presentation owners — not a generalized multi-channel platform

Persistence may support these systems by storing Bond, companion identity, and concise memories. It must not become a generalized platform.

Expand All @@ -26,7 +26,7 @@ Local field-test receipts may observe existing runtime signals for bounded engin
- One coherent world interpretation: the world quietly responds to movement.
- One persistent progression measure: Bond.
- One deterministic event-generation mechanism.
- One audio-first semantic presentation path.
- One semantic presentation path with AR as the primary designed surface when capability allows; Audio Experience Layer remains required; 2D presence, map, and HUD stay supporting channels under their existing owners.
- One deterministic Demo Mode.
- One physical-device walk path.
- Minimal session, summary, and memory UI.
Expand Down Expand Up @@ -59,7 +59,7 @@ Presentation quality must communicate current metrics and pressure through natur

## Expansion Gate

No major system may be added until repeated physical-device sessions demonstrate that the existing loop creates return intent and the current limitation cannot be solved through configuration, audio, tuning, or simplification.
No major system may be added until repeated physical-device sessions demonstrate that the existing loop creates return intent and the current limitation cannot be solved through configuration, presentation, tuning, or simplification.

Legacy Orc Pursuit and Future Self compatibility models may be deleted only after no repository references remain outside their declarations, no persisted production data depends on their Codable representation, and migration or versioning behavior is explicitly tested. Until then, they remain inert compatibility state.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Context

Waykin is a solo-developer, audio-first adaptive movement application. Its MVP must complete walks without a network dependency and currently persists a small amount of durable state: Lira, Bond, and concise session memories. Preferences and field-test evidence already use separate storage mechanisms appropriate to their semantics.
At the time of this persistence decision, Waykin was described as a solo-developer, audio-first adaptive movement application. The current product identity is AR-designed; the local-first persistence decision is unchanged. Its MVP must complete walks without a network dependency and currently persists a small amount of durable state: Lira, Bond, and concise session memories. Preferences and field-test evidence already use separate storage mechanisms appropriate to their semantics.

The current SwiftData implementation proves file-backed reopen behavior, but the persistent schema is not explicitly versioned, production initialization can fall back without adequately exposing degraded durability, companion retrieval is based on unspecified fetch order, and the one-memory-per-session invariant is enforced primarily in application code.

Expand Down
2 changes: 1 addition & 1 deletion docs/design/ART_DIRECTION_SIGN_OFF.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The **spectral Living Familiar** generated pack is accepted as the locked visual
## Locked constraints

- Product name **Lira**; one companion; no marketplace multi-companion.
- Audio-first; stills support presence, not gameplay expansion.
- AR-designed; stills and audio support presence without gameplay expansion.
- Night climate is indigo-earth Echo, not inverted day mist.
- AR mid-LOD may remain procedural until sculpted USDZ lands; stills direction is binding for materials and silhouette.

Expand Down
2 changes: 1 addition & 1 deletion docs/design/AR_MVP_FREEZE.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ When this freeze is accepted:
## Related

- [CONTINUATION_PLAN.md](CONTINUATION_PLAN.md) v5.0
- [AR_PRODUCT_REDESIGN_MAP.md](AR_PRODUCT_REDESIGN_MAP.md) — SUPPORTING redesign planning (does not lift freeze)
- [AR_PRODUCT_REDESIGN_MAP.md](AR_PRODUCT_REDESIGN_MAP.md) and [AR_APP_REDESIGN_PLAN.md](../plans/AR_APP_REDESIGN_PLAN.md) — Phase 0 promotes AR-designed identity without lifting frozen production paths
- [LIRA_AR_PRODUCTION_RIG.md](LIRA_AR_PRODUCTION_RIG.md)
- [AR_REPLAY_VALIDATION.md](../AR_REPLAY_VALIDATION.md)
- [ACTIVE_WORK.md](../collaboration/ACTIVE_WORK.md)
Loading
Loading