# Documentation and implementation alignment The [module dependency register](module_dependency_register.md) **Status** column and each module’s summary table should **not silently disagree** with the repo. This doc defines how to keep decomposition docs truthful and where to record **partial** work. --- ## Roles | Source | Role | |--------|------| | **Register + module markdown** | Intent, dependencies, contracts, policies (authority, PvP, quests, ops). | | **Code + tests** | What actually runs; paths under `server/`, `client/`, etc. | | **Plans** | `docs/plans/` (e.g. NS-* implementation plans) tie stories to acceptance criteria. | | **This doc’s tracking table** | Quick **inventory** of modules that have started implementation; expand as work lands. | --- ## Status column (register) | Status | Meaning | |--------|---------| | **Planned** | No meaningful implementation toward this module yet, or only unrelated spikes. | | **In Progress** | At least one tracked story or code path exists toward the module; contracts may be partial. | | **Ready** | Exported contracts meet [contracts.md](contracts.md) “Ready” guidance and dependents may integrate. | | **Blocked** | Upstream module or external dependency prevents progress. | **Rule:** When a story merges that implements part of a module (API, store, schema), move that row from **Planned** to **In Progress** (or **Ready** when appropriate) in the same PR or a follow-up doc PR. **Partial modules** stay **In Progress** until the **prototype slice** for that module is satisfied or contracts are explicitly frozen for dependents. --- ## Per-module docs Optional **`## Implementation snapshot`** (or a short bullet under Summary) on a module page: one paragraph + links to `docs/plans/…`, server paths, and [server README](../../../server/README.md) sections—avoid duplicating the full tracking table on every page. The **Summary** table **Status** field should match the register row for that module. --- ## Implementation tracking table Rows appear when work starts; default for unlisted modules is **Planned** / not started. | Module | Register status | Snapshot | Plans / pointers | |--------|-----------------|----------|-------------------| | E1.M1 | Ready | Prototype milestone **Done** ([NS-10](https://neon-sprawl.atlassian.net/browse/NS-10)). Authoritative `PositionState` + **MoveCommand** over HTTP (JSON v1 snap); **in-memory** store by default, **Postgres** when configured ([NS-17](../../plans/NS-17-implementation-plan.md)); Godot sync + path-follow ([NS-16](../../plans/NS-16-implementation-plan.md), [NS-23](../../plans/NS-23-implementation-plan.md)); **InteractionRequest** + horizontal range ([NS-18](../../plans/NS-18-implementation-plan.md)). Follow-on: prediction/reconciliation, Slice 1 telemetry, Protobuf wire per [contracts.md](contracts.md). | [NS-15](../../plans/NS-15-implementation-plan.md), [NS-16](../../plans/NS-16-implementation-plan.md), [NS-17](../../plans/NS-17-implementation-plan.md), [NS-18](../../plans/NS-18-implementation-plan.md), [NS-19](../../plans/NS-19-implementation-plan.md), [NS-23](../../plans/NS-23-implementation-plan.md); `server/NeonSprawl.Server/Game/PositionState/`, `Game/Interaction/`; [server README](../../../server/README.md) | --- ## Related docs - [Module dependency register](module_dependency_register.md) - [contracts.md](contracts.md) — versioning and Ready criteria