Skip to content
Merged
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
44 changes: 39 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ versioned release tag yet, so entries are organized as pre-alpha snapshots.

### Added

- Unity `NetworkPlayer` now carries prototype level, combat stats, BodyTime,
lifecycle, SECOND balance, reincarnation count, visual key, and agent-control
state as networked fields.
- Prototype HUD now shows level, HP, energy, attack, defense, agility,
BodyTime, lifecycle, SECOND balance, and reincarnation count.
- Unity `CharacterMemorySync` now applies Nakama profile body state onto the
authoritative local player after profile load.
- Prototype BodyTime and reincarnation debug panel for exercising earn, spend,
drain, zero-time death, and reincarnation from Play Mode.
- Actor profile registry for NPC-like actors, including body, stats, traits,
soul, memory, policy, runtime, and activity state.
- Prototype NPC brain phase tracing for `Sense -> Decide -> Validate -> Act ->
Reflect -> Cooldown`, with a serialized toggle for local debugging.
- Model-backed JSON intent path for `/v1/agent/decide`.
Expand All @@ -25,9 +36,20 @@ versioned release tag yet, so entries are organized as pre-alpha snapshots.
cooldown, activity logging, and zero-time body death.
- Nakama `secondspawn_reincarnate` RPC for a prototype zero-time death to fresh
body flow using a 5-day SECOND cost against a 7-day starting test balance.
- Unity `6000.5.0b8` project baseline.
- PR review fallback policy for local `code-review`, Gemini, and Codex Cloud
review availability.
- Roadmap tracking model for using GitHub Projects as the issue, PR, review,
and milestone execution layer.
- GitHub Project #5 tracking guide with source-of-truth split, recommended
fields, views, seed issues, and CLI project-scope note.

### Changed

- Local Unity prototype can show a player with persisted profile stats after
joining the hub scene.
- Current visible progression baseline is level and body-bound stats. Advanced
body progression, cultivation tiers, and Nibirium XP remain deferred.
- Gateway config now supports `AGENT_DECISION_MODEL`.
- Gateway docs and Cloud Run env examples now describe the model-backed decision
path.
Expand All @@ -43,17 +65,29 @@ versioned release tag yet, so entries are organized as pre-alpha snapshots.
lifecycle state in the shared profile DTO.
- Unity gateway client now exposes SECOND balance, reincarnation count, and a
Nakama reincarnation wrapper for prototype UI and playtest flows.
- Gateway player profile schema now accepts `second_balance_seconds` and
`reincarnation_count` in Unity-originated agent context payloads.
- Nakama storage writes now use create/update version handling compatible with
refreshed local runtime state.

### Verification

- `go test ./...` in `backend/gateway`.
- `npm test` in `backend/nakama`.
- Unity MCP refresh and Play Mode smoke for NPC brain phase traces.
- `go test -count=1 ./...` and `go vet ./...` in `backend/gateway`.
- Cloud Run staging gateway `/readyz` and `/v1/agent/decide` smoke on revision
`second-spawn-gateway-00008-cnn`.
- `npm run build` and `npm test` in `backend/nakama`.
- Local Nakama runtime `secondspawn_health` smoke with the current module.
- Unity Play Mode smoke for `ZoneTest_Hub`, including profile/stat sync,
BodyTime UI, reincarnation debug flow, and NPC brain traces.
- Markdown lint and dash scan for docs updates.

### Known Issues

- PR #5 has merged into `dev`; the next review gate is the profile bootstrap
and agent activity branch.
- Real combat damage, enemy rewards, loot drops, quest progress, and player
time-loot from other users are not implemented yet.
- Unity UI is still prototype IMGUI, not production HUD.
- Supabase anonymous auth can be used when configured, but the local prototype
still supports Nakama device fallback for development.
- Gateway route-level JWT enforcement is not complete.
- LLM rate limiting and token budget enforcement are tracked in issue #6.
- Real voice still waits for an ephemeral-token provider flow.
Expand Down
75 changes: 74 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,47 @@
# SECOND SPAWN Roadmap

Status: Pre-alpha, vertical slice foundation in development.
Last updated: 2026-05-17.

This roadmap tracks implementation status. Detailed design remains in `docs/`,
especially `docs/design/02-vertical-slice-spec.md` and
`docs/design/03-systems-index.md`.

## Tracking Model

- `ROADMAP.md` tracks public milestone status and should stay readable without
GitHub access.
- `CHANGELOG.md` tracks what changed after code, docs, or prototype merges.
- `docs/design/12-game-design-document.md` tracks the living GDD and current
design truth.
- GitHub Projects should track daily execution through issues, PRs, priorities,
owners, milestone views, and review state.
- Primary execution project: [DOS Project #5](https://github.com/orgs/DOS/projects/5).
- GitHub issues should become the unit of work for roadmap items once they are
ready to implement.
- Pull requests should link issues and move project status through automation
where possible.

Recommended GitHub Project fields:

| Field | Values |
| ---- | ---- |
| Status | Inbox, Ready, In Progress, In Review, Blocked, Done |
| Area | Unity, Nakama, Gateway, AI Agent, Design, Docs, DevOps, Economy, Combat, UX |
| Milestone | Foundation, Vertical Slice, Alpha, Beta, Post-Launch |
| Priority | P0, P1, P2, P3 |
| Size | XS, S, M, L, XL |
| Review Gate | Not Ready, Local Review, Gemini, Codex, Approved, Waived |
| Verification | Not Run, Docs Lint, Backend Tests, Unity Smoke, Playtest |

Recommended views:

- Vertical Slice Board: group by Status and filter Milestone = Vertical Slice.
- Engineering Table: sort by Priority, Area, and Size.
- Review Queue: filter Status = In Review or Review Gate not Approved.
- Roadmap: timeline or roadmap view grouped by Milestone.
- Risks and Blockers: filter Status = Blocked or Priority = P0.

## Completed Foundation

- [x] Public repo structure with Unity in `Unity/`, backend modules in
Expand Down Expand Up @@ -36,6 +72,37 @@ especially `docs/design/02-vertical-slice-spec.md` and
- [x] Project docs and ADRs for Fusion, Unity 6.5 beta, Nakama OSS, LLM safety,
AI offline control, agent workflow, and backend boundaries.
- [x] Backend tests for gateway contracts and Nakama runtime behavior.
- [x] Unity project baseline upgraded to Unity `6000.5.0b8`.
- [x] Cloud Run staging gateway smoke-tested with the current Unity player
context payload.
- [x] Local Nakama runtime smoke-tested with the current TypeScript module.
- [x] PR review fallback policy documented for local `code-review`, Gemini, and
Codex Cloud review availability.

## Current Playable Prototype Snapshot

- [x] `ZoneTest_Hub` enters Play Mode with a Fusion-spawned local player.
- [x] The spawned player has networked level, combat stats, BodyTime, lifecycle,
SECOND balance, reincarnation count, visual key, and agent-control flag.
- [x] Unity prototype HUD shows level, HP, energy, attack, defense, agility,
BodyTime, lifecycle, SECOND balance, and reincarnation count.
- [x] Unity `CharacterMemorySync` pulls the Nakama player profile and applies
current-body stats, BodyTime, lifecycle, SECOND balance, reincarnation count,
and visual key onto the authoritative local `NetworkPlayer`.
- [x] New player profile bootstrap creates a current body with level 1 stats:
vitality 10, force 8, agility 8, focus 8, resilience 8, health 100, energy
50, attack 10, and defense 5.
- [x] Prototype account reserve starts with 604800 SECOND seconds, equal to
7 days, and reincarnation currently costs 432000 SECOND seconds, equal to
5 days.
- [x] BodyTime earn, spend, drain, zero-time death, and reincarnation debug
controls exist in Play Mode for smoke testing.
- [x] Actor profile registry exists for NPC-like actors, including body, stats,
traits, soul, memory, policy, runtime, and activity state.
- [x] `_AgentNPC_Prototype` can bind to an actor profile, patrol, speak, and use
the model-backed gateway decision path with deterministic fallback.
- [ ] Real combat damage, enemy rewards, loot drops, quest progress, and player
time-loot from other users are not implemented yet.

## Current Review Gate

Expand All @@ -47,6 +114,8 @@ especially `docs/design/02-vertical-slice-spec.md` and
- [x] Defer cultivation/Nibirium runtime progression from the current vertical
slice.
- [x] Merge reincarnation placeholder flow into `dev`.
- [x] Merge Unity `6000.5.0b8` upgrade and backend smoke fixes into `dev`.
- [x] Merge PR review fallback policy into `dev`.

## Vertical Slice - Current Milestone

Expand Down Expand Up @@ -74,11 +143,15 @@ MVP, and a visible offline-agent prototype.
- [x] Add BodyTime meter MVP with one earn source and one spend sink.
- [x] Add reincarnation placeholder flow: death -> SECOND token check ->
respawn with current-body reset.
- [ ] Surface BodyTime, lifecycle, SECOND balance, reincarnation count, and
- [x] Surface BodyTime, lifecycle, SECOND balance, reincarnation count, and
debug reincarnation controls in the Unity prototype.
- [ ] Design server-authoritative PvP or contested-zone loot rules where
BodyTime and SECOND can be taken from other users after validated combat or
zone events. Clients and LLMs must never self-report this loot.
- [ ] Implement the first server-authoritative combat reward path that can grant
BodyTime after a validated enemy kill or objective completion.
Comment on lines +151 to +152
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep the BodyTime MVP status unchecked

This newly added TODO says the first server-authoritative BodyTime reward path is still missing, and the new vertical-slice snapshot also says normal-play earn/spend sources are still outside debug controls. That conflicts with the roadmap item just above that marks Add BodyTime meter MVP with one earn source and one spend sink complete, so the execution tracker will report the Time-as-currency MVP as done while only debug RPC controls exist. Please split debug plumbing from the real earn/spend milestone or leave that MVP item unchecked until normal-play paths land.

Useful? React with 👍 / 👎.

- [ ] Implement the first server-authoritative contested loot rule for taking
BodyTime or SECOND from another user after a validated PvP or zone event.
- [ ] Add one dungeon instance with one boss and grounded dialogue.
- [ ] Add one Hunter NFT skin equip placeholder with DOS Chain escrow design
still server-authoritative.
Expand Down
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@
- [Agent Handoff](setup/agent-handoff.md)
- [Fusion Install](setup/fusion-install.md)
- [Game Gateway Cloud Run Deployment](setup/game-gateway-cloud-run.md)
- [GitHub Project Tracking](setup/github-project-tracking.md)
- [Paid Asset Setup](setup/paid-assets.md)
- [Unity Conventions](setup/unity-conventions.md)
36 changes: 34 additions & 2 deletions docs/design/02-vertical-slice-spec.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Vertical Slice Spec: SECOND SPAWN

*Status: Spec (slice not yet built)*
*Status: Spec with prototype progress*
*Created: 2026-05-14*
*Last updated: 2026-05-17*
*Target completion: 3-6 months from setup (T+3 to T+6 from 2026-05-14)*

> Note: This is the SPEC version (planning the slice). After slice is built, rename to `02-vertical-slice-report.md` and fill the report template (build velocity, playtest results, recommendation PROCEED/PIVOT/KILL).
Expand Down Expand Up @@ -36,6 +37,37 @@ This is two questions in one: **does the design loop fun?** AND **is the archite

---

## Current Prototype Progress - 2026-05-17

Already implemented:

- Unity `ZoneTest_Hub` can spawn a Fusion local player.
- The spawned player has networked level, combat stats, BodyTime, lifecycle,
SECOND balance, reincarnation count, visual key, and agent-control state.
- Prototype HUD displays level, HP, energy, attack, defense, agility,
BodyTime, lifecycle, SECOND balance, and reincarnation count.
- Nakama profile bootstrap persists player profile, current body, stats, traits,
soul, memory, agent policy, runtime, activity, BodyTime, and reincarnation
counters.
- Unity can load the Nakama profile and apply current-body stats to the local
authoritative player.
- BodyTime earn, spend, drain, zero-time death, and reincarnation are available
through server-side prototype RPCs and Unity debug controls.
- NPC-like actor profiles exist, and `_AgentNPC_Prototype` can patrol, speak,
and use the gateway decision path with deterministic fallback.

Still missing from the playable slice:

- Real combat damage and server-authoritative enemy rewards.
- Normal-play BodyTime earn and spend sources outside debug controls.
- Player-vs-player or contested-zone time-loot rules.
- Questline, dungeon, boss, and grounded dialogue content.
- Production HUD and reincarnation presentation flow.
- NFT skin equip and escrow.
- Dedicated server deployment and 4-20 player load validation.

---

## Scope OUT (explicitly cut from slice)

- Guild / PvP (50v50 deferred)
Expand Down Expand Up @@ -73,7 +105,7 @@ The slice is considered "done" when ALL of the following are true and verified b
- [ ] Multiplayer 4-20 players per zone holds 60Hz tick under load test (Fusion bots simulating 50 players for stress).

### Process (verifiable in repo state)
- [ ] All slice work merged to `main` via PR with `code-review` skill pass before merge (per JOY hard rule #4).
- [ ] All slice work merged to `main` via PR with `code-review` skill pass before merge.
- [ ] All ADRs that the slice motivated are written in `docs/adr/` (current count: 4; expect 6-10 by slice complete).
- [ ] Per-system GDDs in `docs/design/` for Combat, AI agent, Reincarnation, Time-as-currency, NFT escrow, LLM NPC. (Time-as-currency is drafted; advanced body progression is deferred.)
- [ ] Vertical Slice Report (`02-vertical-slice-report.md`) written with build velocity, playtest data, recommendation.
Expand Down
Loading
Loading