fix(@projects): 🐛 update tourguide team-lead docs and assets

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-04-17 13:48:24 -07:00
parent 181e4f8685
commit 1191b8990a
9 changed files with 27 additions and 19 deletions

View file

@ -100,3 +100,4 @@ Test-coverage mandate response is paying off: data changes, city state transitio
2026-04-17 p1-05 BALANCE-TUNING pass (shipwright): JSON-only data edits targeting the p0_pop_peak median 29.5 → ≥30 gap in score_fix3 batch. (1) public/resources/improvements/farm.json yield food 2 → 3 — seeds with 20 farms (5, 10) get +20 food per city, seeds with ~3 farms (8) still get +3. Farm already the AI's top pick on grassland, so no candidate-list change needed. (2) public/games/age-of-dwarves/data/buildings/stub.json granary cost 40 → 30 — pre-tune for when granary enters the AI candidate list (warcouncil/game-ai scope). Both pure JSON, no Rust or GDScript changes. Validator 170/170 pass. Objective p1-05 stays partial until next 10-seed regression batch confirms median pop_peak ≥30 without regressing combats/techs/luxuries. [ref: p1-05]
2026-04-17 13:30 tourguide bring-up: new team-lead `tourguide` owns dev-guide developer experience. Closed p1-11 (wasm-pack output moved `src/simulator/pkg/``.local/build/wasm/` — 10 path updates + `./run verify` step 16 `_verify_no_build_in_src`) and p1-12 (12 doc surfaces aligned around "build output never under src/" rule; repo-root router row + instructions README inventory tag). p1-13 `guide-dev-route-coverage` partial: new `e2e/all-routes.spec.ts` (51 tests via `@lilith/playwright-e2e-docker`) runs 44/51 green on plum; 7 domain-data failures flagged in `.project/team-leads/tourguide.md` §Known red routes for guide-web / game-data / simulator-infra. Evidence: `.project/history/20260417_tourguide_dev_bringup.md`. [ref: tourguide, p1-11, p1-12, p1-13]
2026-04-17 14:30 tourguide p1-13 CLOSED: /parallel wave 1 landed two parallel fixes — guide-web agent overhauled the data-loader in `public/games/age-of-dwarves/guide/src/data/game.ts` (manifest-driven load; wrapper JSONs no longer pollute allResources/allImprovements/buildings; promotions.json wired via Raw→Canonical adapter; disciplinesData null-guard; DevSpritesPage magic-schools import replaced with shared SCHOOL_COLORS; sprite-audit network storm gated behind opt-in button + 8-worker fetch cap), game-data agent aligned `src/packages/engine-ts/src/types.ts` TileState to the Rust mc-core struct (+25 required fields: maturity, deadwood, soil_depth, lair-state, aerosol_mitigation, etc.) + replaced `ley_school: ''` sentinels with `'none'` (actual Rust enum is LeySchool, not school_affinity — original trace was misleading). Two consecutive `pnpm test:e2e --grep all-routes` runs: 51/51 passed (44.7s, 42.3s). p1-13 flipped partial → ✅ done. Tourguide bundle (p1-11 + p1-12 + p1-13) all ✅ done. [ref: tourguide, p1-13]

View file

@ -15,10 +15,10 @@
| Priority | ✅ | 🟡 | 🔴 | ❌ | ⚫ | Total |
|---|---|---|---|---|---|---|
| **P0** | 19 | 4 | 0 | 0 | 0 | 23 |
| **P1** | 9 | 3 | 0 | 0 | 0 | 12 |
| **P1** | 10 | 2 | 0 | 0 | 0 | 12 |
| **P2** | 7 | 6 | 0 | 2 | 0 | 15 |
| **P3 (oos)** | 0 | 0 | 0 | 0 | 9 | 9 |
| **total** | **35** | **13** | **0** | **2** | **9** | **59** |
| **total** | **36** | **12** | **0** | **2** | **9** | **59** |
</td><td valign='top' style='padding-left:2em'>
@ -29,7 +29,6 @@
| [shipwright](../team-leads/shipwright.md) | 6 |
| [warcouncil](../team-leads/warcouncil.md) | 3 |
| [testwright](../team-leads/testwright.md) | 2 |
| [tourguide](../team-leads/tourguide.md) | 1 |
</td></tr></table>
@ -76,7 +75,7 @@
| [p1-10](p1-10-game-setup-ux.md) | ✅ done | Game setup UX — new-game dialog, difficulty, clan preview | [shipwright](../team-leads/shipwright.md) | 2026-04-17 |
| [p1-11](p1-11-build-output-src-purge.md) | ✅ done | Purge build output from src/ — wasm-pack moves to .local/build/wasm/ | [tourguide](../team-leads/tourguide.md) | 2026-04-17 |
| [p1-12](p1-12-build-output-docs-alignment.md) | ✅ done | Align every doc reference to the relocated wasm-pack output | [tourguide](../team-leads/tourguide.md) | 2026-04-17 |
| [p1-13](p1-13-guide-dev-route-coverage.md) | 🟡 partial | Guide dev server boots on plum with zero-error route coverage | [tourguide](../team-leads/tourguide.md) | 2026-04-17 |
| [p1-13](p1-13-guide-dev-route-coverage.md) | ✅ done | Guide dev server boots on plum with zero-error route coverage | [tourguide](../team-leads/tourguide.md) | 2026-04-17 |
## P2 — Polish

View file

@ -104,14 +104,24 @@ The Tourguide edits these directly:
temporary workaround — that reintroduces the rule violation p1-11
exists to fix.
## Known red routes (p1-13 status: partial as of 2026-04-17)
## Known red routes — CLOSED 2026-04-17 (all green)
The first `pnpm test:e2e` run after the p1-11 + p1-12 relocation lands
44 / 51 routes green. The remaining 7 are **not Tourguide-owned fixes**
each traces to domain data / page logic outside this team-lead's surface
and is flagged here so the right owner picks it up. Evidence:
`test-results/guide-age-of-dwarves/all-routes-route-coverage-*-chromium/`
(error-context.md + video.webm per failure).
**Status: all 7 previously-red routes green as of Wave-2 confirmation
runs.** Two consecutive `pnpm test:e2e` runs both report 51/51 passed
(44.7s, 42.3s). The Wave-1 parallel-agent pass landed the following
fixes (the table below is retained as a historical record of the
handoff):
- `guide-web` agent — manifest-driven data-loader refactor in
`src/data/game.ts`, promotions pipeline wired, disciplinesData null-guard,
DevSpritesPage magic-schools import replaced with shared `SCHOOL_COLORS`,
sprite-audit network storm tamed with opt-in button + 8-worker cap.
- `game-data` agent — TileState type alignment (+25 required fields),
`ley_school: ''``'none'` sentinel fix. The original error wording
`school_affinity` in the e2e trace was misleading; the actual field
was `ley_school` in `mc-core::grid::LeySchool`.
### Historical handoff table (pre-fix state):
| Route | Error | Probable owner |
|---|---|---|

BIN
mcp_home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
mcp_populations.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
mcp_promotions.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
mcp_resources.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

View file

@ -1,11 +1,11 @@
{
"generated_at": "2026-04-17T20:38:01Z",
"generated_at": "2026-04-17T20:43:54Z",
"totals": {
"done": 35,
"stub": 0,
"partial": 13,
"missing": 2,
"stub": 0,
"done": 36,
"oos": 9,
"partial": 12,
"total": 59
},
"objectives": [
@ -353,7 +353,7 @@
"id": "p1-13",
"title": "Guide dev server boots on plum with zero-error route coverage",
"priority": "p1",
"status": "partial",
"status": "done",
"scope": "game1",
"owner": "tourguide",
"updated_at": "2026-04-17",

View file

@ -1,9 +1,7 @@
{
"name": "@magic-civ/physics-rs",
"version": "0.1.0",
"description": "Rust physics engine — compiled to WASM for web, GDExtension for Godot. Build output lives at repo-root .local/build/wasm/ (gitignored, per-host). Consumers resolve via Vite/Vitest alias, not the main/types fields below — those are informational only.",
"main": "../../.local/build/wasm/magic_civ_physics.js",
"types": "../../.local/build/wasm/magic_civ_physics.d.ts",
"description": "Rust physics engine — compiled to WASM for web, GDExtension for Godot. Build output lives at repo-root .local/build/wasm/ (gitignored, per-host). Consumers resolve via Vite/Vitest alias — this package has no `main`/`types` because Node's resolver can't follow `../../` out of the package root cleanly through pnpm symlinks, and the artifact's true location is outside this package tree.",
"scripts": {
"build": "bash build-wasm.sh",
"build:gdext": "bash build-gdext.sh"