Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
b8c30cf
chore: protect local-only concept materials
breadback00-dev May 21, 2026
f6ec8f0
feat: add Case Box public prototype entry
breadback00-dev May 21, 2026
5e7ec20
feat: sharpen Case Box evidence flow
breadback00-dev May 21, 2026
7a0b387
feat: make signal tagging shape the case route
breadback00-dev May 21, 2026
242c452
feat: make access gate teach through discovery
breadback00-dev May 22, 2026
4a354fc
feat: surface bonus evidence by reading path
breadback00-dev May 22, 2026
b380a9b
feat: add canonical reveal and reading path summary
breadback00-dev May 22, 2026
cd1666b
style: distinguish Case Box visual language
breadback00-dev May 22, 2026
da47d28
feat: add recovery aids for case investigation
breadback00-dev May 22, 2026
79fce7d
test: document first 8-minute Case Box pass
breadback00-dev May 22, 2026
1d7d4d9
test: add browser playtest evidence
breadback00-dev May 22, 2026
8bbdd65
docs: package Case Box public demo
breadback00-dev May 22, 2026
ab5c0a4
feat: orient players with intake and cast board
breadback00-dev May 22, 2026
5dfeac8
feat: improve case box onboarding
breadback00-dev May 22, 2026
f7c7822
feat: clarify case truth and custody loop
breadback00-dev May 22, 2026
30df764
feat: add system map modal
breadback00-dev May 22, 2026
5bc0066
feat: rebalance case workspace panels
breadback00-dev May 22, 2026
9fe6c15
feat: clarify puzzle and tag cues
breadback00-dev May 22, 2026
2208c12
feat: add mythic archive doctrine
breadback00-dev May 22, 2026
efd590f
feat: sharpen intake orientation hook
breadback00-dev May 22, 2026
efb0f4e
feat: simplify network mythos logo
breadback00-dev May 22, 2026
e6d0869
feat: make intake brief a riddle hook
breadback00-dev May 22, 2026
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
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
*.log
node_modules/
.claude/

# Local-only creative/IP source material. Keep the public repo focused on the
# playable prototype unless these are intentionally cleared for release.
The Network Mythos - A Myth Bible.md
The Network Mythos - Canon Bible.md
ALLEY_CAT_GAMES_SUBMISSION_CONCEPT.md
CASE_FILES_GAME_PLAN.md
concept-images/
research for games/
The Residue/
the_residue_cc version agent/
network-mythos-case-box/
network-mythos-hybrid-table/
91 changes: 91 additions & 0 deletions Case Box 001 - The Creator Who Left But Kept Posting/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Network Mythos: Case Box 001

Public demo for a digital mystery box game set inside The Network Mythos. This case focuses on the first playable investigation loop: evidence first, myth underneath.

![Case Box 001 demo](docs/case-box-demo.gif)

The goal of this demo is to test the core loop before expanding the platform:

1. Open a case box.
2. Inspect evidence.
3. Solve nested mini-puzzles.
4. Tag evidence with mythic forces.
5. Let the player's tags shape the evidence route.
6. Submit a final reading.
7. Reveal both the canonical answer and the player's reading path.

## What You Can Test

- A first 5-8 minute investigation about a creator who left the Network, then kept posting.
- Evidence cards that behave like objects: chat logs, receipts, uploads, notes, and locked material.
- Player-applied tags that shape the next useful evidence without changing the underlying truth.
- One fake access gate that teaches the mythos through discovery.
- A final reveal that compares the submitted reading, canon, signal profile, and route effect.

## Run Locally

This project is intentionally static. Case data is available as a JavaScript module so the app can run from a direct `file:///` URL in restricted browser environments.

Open `index.html` directly, or run a small local server:

```powershell
python -m http.server 5174 --bind 127.0.0.1
```

Then visit:

```text
http://127.0.0.1:5174/
```

## Project Shape

```text
Case Box 001 - The Creator Who Left But Kept Posting/
index.html
package.json
README.md
docs/
case-box-demo.gif
first-8-minute-playtest.md
first-8-minute-playtest-final.png
first-8-minute-playtest-mobile.png
game-design.md
case-authoring.md
src/
data/
case-001.json
scripts/
app.js
case-engine.js
puzzle-engine.js
signal-engine.js
styles/
base.css
layout.css
components.css
public/
assets/
.gitkeep
```

## Phase 1 Scope

Build one excellent case box before adding accounts, multiplayer, creator tools, or a backend.

Phase 1 should prove:

- People understand what to do.
- Evidence inspection is compelling.
- Force tagging feels meaningful.
- Nested puzzles add discovery rather than friction.
- The feedback loop makes players notice their own reading path.
- The final reveal creates conversation.

## Prototype Docs

- [Game design](docs/game-design.md)
- [Case authoring](docs/case-authoring.md)
- [First 8-minute playtest pass](docs/first-8-minute-playtest.md)
- [Final desktop proof screenshot](docs/first-8-minute-playtest-final.png)
- [Mobile proof screenshot](docs/first-8-minute-playtest-mobile.png)
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Case Authoring

## Case Schema

Each case lives in `src/data/`.

Core fields:

- `id`: stable case id.
- `title`: display title.
- `summary`: short premise.
- `forces`: force vocabulary for this case.
- `evidence`: evidence items.
- `puzzles`: nested puzzle definitions.
- `readings`: final answer options.
- `canonicalReading`: correct answer id.
- `pathReveals`: end-of-case route summaries.

## Evidence Item

Evidence items should include:

- `id`
- `type`
- `date`
- `title`
- `body`
- `expectedForces`
- `timeline`
- `unlockCondition`
- `puzzleId`

`unlockCondition` can be omitted for always-visible evidence.

## Puzzle Types

Phase 1 supports simple puzzle gates:

- `access-code`: player enters a phrase or code.
- `research-prompt`: player reads a prompt and answers a concept question.
- `verification`: fake human-verification puzzle.

Later puzzle types can include crosswords, image inspection, archive diffs, and timeline ordering.

## Authoring Rule

Every puzzle should answer this question:

What mythos concept does this teach through action?

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# First 8-Minute Playtest Pass

Date: 2026-05-22

## Purpose

Verify that the opening minutes of Case Box 001 feel like investigation rather than passive reading.

This is an automated browser pass plus a self-run implementation pass, not a blind human playtest. It checks whether the current build supports the intended first-session beats and records what still needs a real tester.

Browser artifact:

![First 8-minute playtest final state](first-8-minute-playtest-final.png)

Mobile artifact:

![First 8-minute playtest mobile state](first-8-minute-playtest-mobile.png)

## Test Path

Target path for a first-time player:

1. Open the Case Box.
2. Inspect "The Final Thread."
3. Notice the human stakes: Mara is leaving public life and asks not to be found through the Network.
4. Inspect "Elian Refuses Proof."
5. Tag both artifacts with `Returned`.
6. Notice that the signal profile forms a `Returned` route.
7. See route-surfaced bonus evidence appear.
8. Open "Human Verification Failed."
9. Try an incorrect proof-style answer and receive a hint.
10. Enter `absence`.
11. Unlock "Continuity Clause."
12. See the recap update before final submission.

## Results

- Opening state: 6 visible evidence items; active item is "The Final Thread."
- After tagging "The Final Thread" and "Elian Refuses Proof" with `Returned`, the dominant path becomes `Returned`.
- Route-surfaced bonus evidence appears: "Offline Errand Receipt."
- Routed evidence order moves `Returned`-relevant evidence forward.
- Wrong gate answer is rejected.
- First failed attempt increments the hint state.
- Correct gate answer `absence` is accepted.
- Gate unlocks "Continuity Clause."
- After unlock, 8 evidence items are visible: 6 initial, 1 route bonus, 1 gate-unlocked memo.
- Recap inputs show reviewed evidence count, gate status, path, and bonus evidence.
- Final reading submission opens the Case Reveal panel.
- The reveal separates submitted reading, canonical reconstruction, what happened, player route, evidence pattern, and route effect.
- Browser console errors: none observed.

## Browser Automation Log

Automated path executed with Python Playwright against `http://127.0.0.1:5174/`.

- Opening title: "The Final Thread."
- Opening count: 6 items.
- Dominant signal after tags: `Returned`.
- Count after bonus: 7 items / routed by Returned.
- Bonus visible: true.
- Wrong answer feedback: "Access denied..." plus hint.
- Correct answer: `absence`.
- After unlock title: "Continuity Clause."
- Count after gate: 8 items / routed by Returned.
- Final reading result: "Your reading aligns with the canonical reconstruction."
- Reveal content includes canonical reconstruction, evidence pattern, and route/truth distinction.
- Desktop console errors: none observed.

Mobile-width pass executed at 390px viewport.

- Case loaded and stacked into a single-column flow.
- Same inspect/tag/gate/final-reading path completed.
- Reveal panel visible after submission.
- Mobile console errors: none observed.

## Acceptance Check

- The player can understand the investigation target in the first minute: pass in content structure; needs blind tester confirmation.
- The first 5-8 minutes contain active investigation: pass. Inspecting, tagging, route surfacing, failed gate feedback, and unlock are all reachable.
- The player can notice interpretation tracking: pass in UI support; needs blind tester confirmation.
- The player can distinguish route from truth: pass in route note and final reveal; needs blind tester confirmation.
- The player wants to continue after the reveal: not tested; requires blind playtest.

## Observed Risks

- A player may still read several artifacts before touching tags if they do not notice the tag panel.
- The `Returned` path currently provides the cleanest first-8-minute route because the gate and witness evidence both support it.
- Bonus evidence can appear before the gate unlock, which is good for route responsiveness but may compete with the gate as the first discovery beat.
- Visual browser pass succeeded at desktop and 390px mobile viewport. Blind human playtest is still needed.

## Blind Playtest Script

Give the tester only this prompt:

```text
Open the Case Box and think aloud for eight minutes. Say what you believe happened, what you think the interface is asking you to do, and what changed because of your choices.
```

Watch for:

- Do they identify Mara as a person before describing the system?
- Do they inspect at least two artifacts?
- Do they tag evidence without being told?
- Do they notice the dominant signal change?
- Do they find the gate?
- Do they understand the hint after a wrong answer?
- Do they describe `absence` as a clue rather than a random password?
- Do they notice bonus evidence or route ordering?
- Do they say what they would do next?

## Next Fixes If Testers Stall

- If testers do not tag evidence, make the tag panel more visually connected to the active artifact.
- If testers miss the gate, make "Human Verification Failed" look more clearly interactive in the evidence inbox.
- If testers solve the gate but miss the unlocked memo, add a stronger inbox pulse or temporary "new" state.
- If testers think tags change the truth, strengthen route/truth language in the recap and reveal.
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Game Design

## One-Sentence Pitch

A digital mystery box where players investigate corrupted online evidence, solve nested puzzles, and discover how the Network shaped their route to the truth.

## Core Principle

The truth is stable. The route is responsive.

The player does not change what happened. The player changes which signals the Network surfaces, buries, delays, or frames.

## Player Loop

1. Inspect evidence.
2. Solve optional or required mini-puzzles.
3. Tag each item with mythic forces.
4. Build a timeline.
5. Unlock path-specific evidence.
6. Submit a final reading.
7. Compare answer and route.

## Signal Feedback Loop

The player's force tags form a signal profile.

Examples:

- Covenant-heavy players receive more community testimony.
- Exchange-heavy players receive more ownership and monetization evidence.
- Silence-heavy players receive redacted or buried evidence.
- Eidolon-heavy players receive synthetic-voice clues.

The reveal should explain how the route changed.

## Mystery Box Contents

A box may include:

- Evidence cards.
- In-world emails.
- Archive diffs.
- Fake search results.
- Images with hidden details.
- Crossword or word puzzles.
- Fake CAPTCHA-style verification.
- Fake login/access codes.
- Research prompts.
- Timeline fragments.

## Design Guardrails

- Do not use real CAPTCHA or real login systems.
- Do not make case-critical clues depend on unstable live websites.
- Every route must be solvable.
- Mini-puzzles should teach the mythology, not just block progress.
- The final reveal should create conversation between players.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading