# Step Away Production Release v2.5

This is the final deploy pack. Upload this folder to PHP hosting, change the admin password in admin.php, run one full test case, create one share link, and then launch.

Final docs to read first:

- docs/FINAL_OPERATING_RHYTHM_v2_3.md
- docs/FINAL_DEPLOY_QA_v2_3.md

Historical patch notes are kept for traceability, but this README and the two final docs above are the deployment source of truth.

---

Mobile-first installable PHP/PWA case console for the physical Step Away card game.

This is the launch pack: app, PHP endpoints, community/profile layer, public story sharing, latest visual card assets and print files.

## Upload

Upload the full `StepAway_Production_Release_v2_5` folder to PHP hosting.

The app opens from:

- `index.php`
- `index.html`

Use `index.php` on a PHP server.

## Before public launch

1. Change the admin password in `admin.php`.
2. Ensure these files/folders are writable by PHP:
   - `data/community.json`
   - `data/global-log.json`
   - `data/profiles.json`
   - `data/submissions.json`
   - `data/share-index.json`
   - `data/saves/`
3. Open `admin.php` once and confirm JSON files can be saved.
4. Finish a test case, publish a share link, then open `share.php?id=...`.

## What is local vs hosted

### This device

The browser keeps its own archive and local milestones in localStorage.

### Table profile

The app creates an anonymous table profile code. No login is needed. It lets your PHP server lightly group reports and published case stories.

### Community

The hosted PHP server records anonymous community totals, public shared stories, recent outcomes and milestones.

Local play still works offline. Community totals and clean public links require PHP hosting.

## Rule lock

- The app does not track exact physical deck contents.
- Number cards use printed VALUE and DIG if discarded.
- Face/Ace cards are VALUE 10.
- Face/Ace are Single only.
- Face/Ace trigger their printed effect only when played.
- Face/Ace may be discarded to DIG 10, but the effect is lost.
- Weave uses any two numbered cards, including same-suit pairs. Add both VALUES, no cap.
- In Weave, the highest VALUE card leads and the lower card supports. If tied, the first selected card leads unless suit relevance decides otherwise.
- DIG is unlimited during a Search Window, self-balanced by hand/deck burn.
- Draw up happens at Moment end only.
- Jokers are one-shot modal events.
- Crisis Windows are app/case events resolved through the same card system.
- Cases use suit target bars so card choice has narrative and mechanical meaning.

## Share loop

When a case ends, players can:

- create a public share link
- save a story PNG
- copy story text
- use native device sharing where supported

`share.php?id=...` shows the result as a readable case story with:

- case opening
- Moment progression
- cards played
- crisis actions
- final outcome
- awareness notes
- links back to the app and official deck

`share.php` without an ID lists recent public shared cases.

## Print files

The latest card sheets are in `/print`:

- `StepAway_CardSheets_PrintReady_v1_9_A4_Duplex_LongEdge.pdf`
- `StepAway_CardSheets_PrintReady_v1_9_preview_contact.jpg`
- `StepAway_CardSheets_PrintReady_v1_9_pack.zip`

Print setting:

A4, 100%, duplex/double-sided, flip on long edge.

## Admin

Open `admin.php`.

Default password:

`stepaway`

Change it before public launch.

The admin editor can edit:

- cards
- cases
- campaigns
- wrinkles
- settings
- community
- profiles
- submissions
- shares

## Privacy

The launch build does not require accounts. Public shared cases should contain game story data only, not personal real-world crisis details.

## Safety positioning

Step Away is a game and awareness rehearsal tool. It is not a substitute for emergency help, clinical care, therapy, or crisis services.

## Final Deploy v2.3

This release locks the story layer and launch flow. Shared outcomes now publish as readable case novellas. Live play stores narrative beats for every intervention, including Weave Lead/Support, crisis plays, Joker events and result-band variations. Replay of the same case can read differently because different cards, suits, result bands and pressure states produce different archive text.
