dd412e6d0d
Work-Package: M01-QAR-INTEGRATOR-CLOSEOUT-001 Agent: sindo-main-codex Tests: all M01 domain gates, unified renderer dry-run, coordination and documentation gates Fidelity: five build-12340 points, raw ADT and mapped AzerothCore spawn evidence; no 1:1 claim
110 lines
4.9 KiB
Markdown
110 lines
4.9 KiB
Markdown
# M01-QAR-COORD-FIXTURES-001 — Coordinate golden fixtures
|
|
|
|
<!-- OPENWC_CLAIM:M01-QAR-COORD-FIXTURES-001:sindo-main-codex:2026-07-15 -->
|
|
<!-- OPENWC_INTEGRATION:ACCEPTED:M01-QAR-COORD-FIXTURES-001:c8e99f2 -->
|
|
|
|
## Ownership
|
|
|
|
- Target: M01
|
|
- Program: QAR
|
|
- Owner/Agent ID: sindo-main-codex
|
|
- Branch: `work/sindo-main-codex/m01-coordinate-fixtures`
|
|
- Lease expires UTC: 2026-07-15
|
|
- Integrator: M01 milestone integrator
|
|
|
|
## Outcome
|
|
|
|
Add a versioned, non-proprietary fixture and headless validator joining one
|
|
pinned AzerothCore player spawn, raw ADT/MCNK metadata and the five M00
|
|
original-client coordinate observations through coordinate contract version 2.
|
|
|
|
## Non-goals
|
|
|
|
- Committing ADT files, SQL dumps or original-client screenshots.
|
|
- Claiming TrinityCore spawn equivalence without a pinned populated TDB source.
|
|
- Migrating renderer/native consumers or rendering a live server spawn.
|
|
- Changing coordinate formulas, IDs or `StreamingFocus`.
|
|
|
|
## Paths
|
|
|
|
- Exclusive: `src/tests/fixtures/coordinate_golden_points.json`,
|
|
`src/tools/verify_coordinate_golden_fixtures.gd`
|
|
- Shared/hotspots: `docs/modules/coordinate-mapping.md`, this claim
|
|
- Generated/ignored: extracted ADT data, server database downloads and Godot metadata
|
|
|
|
## Contracts and data
|
|
|
|
- Public API/events: no new production API; fixture schema version 1
|
|
- Coordinate contract: version 2, unchanged
|
|
- Migration/compatibility: additive test data; fixture consumers reject unknown schema versions
|
|
- Consumers: M01 coordinate mapper, future native/renderer/server adapter migrations
|
|
|
|
## Dependencies
|
|
|
|
- Requires: merged coordinate contract version 2 at `b55bfca`
|
|
- Blocks: coordinate consumer migration and golden server-spawn renderer integration
|
|
- External state: source evidence reduced to pinned revision, numeric rows and SHA-256 hashes
|
|
|
|
## Verification
|
|
|
|
- Commands: fixture validator, coordinate mapper probe, M00 calibration,
|
|
manifest, coordination and documentation gates
|
|
- Fixtures: AzerothCore Human Warrior start; raw `Azeroth_32_48.adt` MCNK
|
|
`(3,12)`; five build 12340 camera points
|
|
- Fidelity evidence: exact source provenance and mapper outputs with bounded tolerances
|
|
- Performance budget: negligible headless JSON and scalar arithmetic
|
|
|
|
## Documentation deliverables
|
|
|
|
- Inline public API docs: fixture-validator header and field validation functions
|
|
- Module specification: fixture schema, provenance, verification and source map
|
|
- Data-flow diagram: server/raw/client fixtures into mapper assertions
|
|
- State/sequence/dependency diagrams: unchanged; synchronous stateless validation
|
|
|
|
## Simplicity and naming
|
|
|
|
- Important names introduced: `coordinate_golden_points`,
|
|
`verify_coordinate_golden_fixtures`
|
|
- Simplest considered solution: one JSON fixture and one existing-style headless script
|
|
- Rejected complexity/abstractions: test framework dependency, SQL parser, ADT bytes in Git
|
|
- Unavoidable complexity and justification: three independent source categories need explicit provenance
|
|
- Measured optimization evidence: not applicable
|
|
|
|
## Status
|
|
|
|
- State: ready-for-review
|
|
- Done: pinned source research, schema 1 fixture, headless validator, module
|
|
documentation and all package gates
|
|
- Next: integrator review and merge before coordinate consumer migration
|
|
- Blocked by:
|
|
|
|
## Handoff
|
|
|
|
- Commit: `ce4f7ec`
|
|
- Branch: `work/sindo-main-codex/m01-coordinate-fixtures`
|
|
- Outcome: one versioned fixture now joins a pinned AzerothCore Human Warrior
|
|
spawn, private raw MCNK metadata and five original-client build 12340 points
|
|
through coordinate contract version 2
|
|
- Contract/schema: additive test fixture schema 1; production coordinate API and
|
|
contract version 2 are unchanged; proprietary bytes remain outside Git
|
|
- Verification: golden fixture PASS (`1` server spawn, `1` raw ADT chunk, `5`
|
|
original-client points); CoordinateMapper PASS (`5` golden points, `8` tile
|
|
boundaries, `2` raw MCNK cases, `5` yaw cases); M00 calibration PASS with
|
|
maximum error `0.000015`; renderer manifest PASS (`7` checkpoints); coordination,
|
|
documentation, dependency and whitespace checks passed
|
|
- Fidelity: AzerothCore source pinned at revision
|
|
`68fcf0098b16388093989627f37be530fc91f07d`; private
|
|
`Azeroth_32_48.adt` SHA-256
|
|
`D66E27FD82B461AE38B78562952AED428E619777A3F3E35DD8FF97444644770A`;
|
|
server and raw data independently resolve tile `(32,48)` and chunk `(3,12)`
|
|
- Rebuild: no proprietary input is required to rerun the committed fixture;
|
|
local ignored renderer resources are still required by the inherited M00
|
|
manifest probe
|
|
- Remaining risks: TrinityCore equivalence needs a pinned populated TDB snapshot;
|
|
live server adapter, renderer integration and MDDF/MODF Euler semantics remain
|
|
subsequent M01 work
|
|
- Recommended merge order: after coordinate contract version 2 (`b55bfca`) and
|
|
before live coordinate consumer migration
|
|
- Documentation: coordinate-mapping module inputs/outputs, persistence, data-flow
|
|
diagram, verification, capability matrix, risks and source map updated
|