docs(tibia): correct map observation programme to Track A - #295
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec2153663b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| risk: medium | ||
| shared_coordination_id: OTS-20260813-world-reconstruction-navigation | ||
| owned_paths: | ||
| - docs/agents/contracts/MAP_OBSERVATION_V1.md |
There was a problem hiding this comment.
Resolve the existing contract ownership before claiming it
The still-active OTC-20260813-map-observation-export.md task is blocked and already lists docs/agents/contracts/MAP_OBSERVATION_V1.md under owned_paths, so this new active task creates two owners for the same contract without superseding the old task or recording an overlap resolution. Any continuation can therefore resume either task and make conflicting edits; reconcile/archive the original task before assigning this path here.
AGENTS.md reference: AGENTS.md:L78-L80
Useful? React with 👍 / 👎.
| map updates, and `Map`/`Tile` changes. It is disabled by default, failure-safe, | ||
| bounded, and local-only. It must not reparse protocol packets, mutate map state, | ||
| or directly contact an Atlas service. | ||
| The downstream Otheryn Atlas may consume sanitized promoted observation artifacts in its separately owned project. Live Track A runtime ownership remains in `blakinio/otclient`. |
There was a problem hiding this comment.
Retain the separate-authorization gate for Atlas consumption
This sentence now affirmatively permits a separately owned Atlas project to consume promoted artifacts, whereas the previous contract classified external consumption as a later, separately authorized step. For Track A work, the mandatory repository-only boundary forbids depending on or transferring work into the external Oteryn project under the current task authority, so a future P1 worker could incorrectly treat this sentence as authorization; restore the explicit separate-authorization qualification.
AGENTS.md reference: docs/agents/AGENTS.md:L11-L11
Useful? React with 👍 / 👎.
| authorization header, bearer token, login request/response, raw packet payload, | ||
| or proprietary client asset. Persistence failures are local diagnostics only; | ||
| they do not create a synthetic observation. | ||
| No observation, diagnostic, filename or fixture may persist account names, email, password, authenticator values, session keys, cookies, authorization headers, bearer tokens, login request/response material, raw secret-bearing packet payloads, or proprietary client assets. |
There was a problem hiding this comment.
Keep all raw packet payloads forbidden
For a future producer that records a sanitized or apparently non-secret packet, the revised wording permits the raw payload because it forbids only “secret-bearing” packets. That weakens the prior v1 blanket prohibition and conflicts with validate_map_observation_v1_fixtures.py, which still treats both packet_payload and raw_packet as forbidden tokens; retain the unconditional raw-packet ban so semantic observations cannot silently become packet captures.
Useful? React with 👍 / 👎.
| - `record_type`: `tile_snapshot`, `tile_delta`, `transition_event`, or `navigation_action_result`; | ||
| - `sequence`: positive monotonically increasing integer within `session_id`; | ||
| - `session_id`: opaque non-secret correlation identifier, never an account/character/cookie/token/login value; | ||
| - `producer`: `revision`, `client_version`, and `protocol_version` identifying the exact producer/client cut. |
There was a problem hiding this comment.
Restore the protocol-version type and range constraint
The ownership-only correction drops the v1 requirement that producer.protocol_version be a non-negative integer. A Track A producer can now emit a string or negative value while satisfying this prose, and the fixture validator only checks integrality for its fixed fixture rather than the non-negative range, leaving downstream version selection without a reliable contract; restore the explicit integer and range requirement.
Useful? React with 👍 / 👎.
|
Track A coordinator live-state clarification (2026-08-15): PR #291 is now terminally merged ( The other three unresolved review findings also remain material on current head |
|
COORD disposition: CLOSED_SUPERSEDED / REPLAY_REQUIRED. The ownership correction is still valid: the current authoritative live producer for this programme is Track A official-native-Linux research, not Track B. This 2026-08-14 branch is not promotion-safe on current main, however: it predates the current Track A admission/hybrid-routing contracts and rewrites/compresses frozen MAP_OBSERVATION_V1 field/completeness/delta details instead of making the smallest ownership correction. Coordinator will replay the same task from current main, preserve the existing v1 record semantics verbatim, add only the Track A producer/reuse/P1 ownership boundary, persist current |
Corrects the producer ownership for
OTS-20260813-world-reconstruction-navigationafter the owner clarified that observations come from the official native Linux Tibia client (Track A), not the OTClient-to-Global compatibility lane (Track B).Changes:
MAP_OBSERVATION_V1producer-neutral while declaring Track A as the current authoritative live producer;Documentation/ownership correction only. Runtime E2E is not applicable; future P1 claims require exact-version native-Linux Track A evidence.