Skip to content

Complete the clean-room client behavior-parity matrix #37

Description

@zoeyrose

Outcome

Burn down the M1 matrix in #5 until every required observable client behavior is implemented, verified, or explicitly rejected as a product non-goal.

Scope and invariants

  • Review every domain row against its final server/protocol/renderer/client owner and shipped contract.
  • Add missing focused issues rather than collecting implementation in this epic.
  • Run independent behavioral, visual semantic-mask, accessibility, failure-recovery, and wrapper scenarios with exact release inputs.
  • Validate that no classic-only parser, plugin, library, packet, config, asset, or classic source checkout is required.
  • Record approved approved-grantor migrations and preserve notices; distinguish them from independent implementations.

Acceptance criteria

  • Matrix reports zero unowned, unverified, or ambiguous required rows.
  • All exclusions have explicit product approval and do not silently change existing issue design choices.
  • Linux/Windows parity runs cover representative supported input/display/audio/backend combinations.
  • M3/M4/M5 scenario set passes against pinned release candidates with no Python or classic process.
  • The report identifies deliberate technical differences separately from player-facing differences.

Dependencies and parallelization

Depends on all client-owned migration issues and cross-repository parity epics. It gates packaging/cutover but not parallel implementation.

Licensing

Client code/tests are MIT. Legacy reuse requires an audited approved-grantor grant; all other implementation is independent. Content, sound, and graphics retain their exact asset licenses and notices.

Program equivalence output

Publish the completed client matrix using the capability/result contract in atrinik#279, including exact release/resource coordinates, automated and named manual evidence, semantic rendering masks, and approved differences. This issue is a native blocker of atrinik#280; no broad visual tolerance or prose sign-off may hide an unowned required row.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions