Skip to content

docs: record player-start edge evidence and propose signed coordinates - #33

Merged
jasoncavinder merged 1 commit into
devfrom
codex/player-start-evidence-contract
Aug 10, 2026
Merged

docs: record player-start edge evidence and propose signed coordinates#33
jasoncavinder merged 1 commit into
devfrom
codex/player-start-evidence-contract

Conversation

@jasoncavinder

Copy link
Copy Markdown
Owner

Summary

  • record controlled MZ 1.10.0 player-start deletion and five-case persistence-tolerance evidence
  • record a controlled tileset-name rename observation
  • disclose that the current unsigned player-start projection rejects an observed saved negative-coordinate state
  • propose ADR 0014, which changes player-start coordinates to i64 and advances the executable-wide CLI JSON schema to version 2
  • remove a duplicated capability phrase left by an earlier README conflict resolution

Why

Direct editor evidence contradicted the provisional unsigned-coordinate assumption in ADRs 0009 and 0010. MZ 1.10.0 saved startX = -1 and startY = -1 without normalizing them. The documentation now separates observed persistence tolerance from validity or runtime claims, and the proposed ADR defines a bounded corrective contract before code changes begin.

Impact

This PR changes documentation only. ADR 0014 remains Proposed and implementation is intentionally deferred until maintainer acceptance. If accepted, the later implementation will make Rust coordinate fields signed and advance all CLI JSON reports from schema version 1 to 2 because the executable currently uses one global schema number.

Verification

  • git diff --check
  • cargo fmt --all --check
  • cargo check --workspace --all-targets --all-features
  • cargo test --workspace --all-targets --all-features
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-deps

All checks passed locally.

Review focus

  • whether i64 is the right explicit Tilewright representation bound without implying an MZ bound
  • whether reusing OutOfBounds for negative and upper-bound coordinates is preferable to a new finding category
  • whether the global JSON schema advance from 1 to 2 is the right migration signal

@jasoncavinder

Copy link
Copy Markdown
Owner Author

Independent contract evaluation completed. I recommend accepting ADR 0014 as proposed.

The evidence supports signed storage for startX/startY without expanding the unrelated map-ID domain. i64 is explicitly a Tilewright representation bound rather than an MZ limit; negative and upper-bound coordinates answer the same contextual rectangle question through OutOfBounds; and the executable-wide JSON schema advance to 2 makes the successful value-domain change visible to script consumers. Existing accepted ADRs remain unchanged as historical records and are superseded only for these coordinate clauses.

No implementation is included in this PR. The complete local Rust quality gate passed.

Copy link
Copy Markdown
Owner Author

Independent review complete with no actionable findings. I reviewed the evidence provenance and claim strength, ADR/API and CLI schema contract, compatibility wording, cross-document consistency, and the exact PR head (0f68063). The full locked local Rust quality gate also passes. From this review, the PR is ready for maintainer acceptance and merge once it is taken out of draft and the required repository checks complete.

@jasoncavinder
jasoncavinder marked this pull request as ready for review August 10, 2026 07:20
@jasoncavinder
jasoncavinder merged commit 13bec1b into dev Aug 10, 2026
8 checks passed
@jasoncavinder
jasoncavinder deleted the codex/player-start-evidence-contract branch August 10, 2026 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant