Skip to content

CHARTER: qa/player_cert — the standing certification suite (CI half + box-hosted live half) with roster-complete coverage #1651

Description

@100yenadmin

From the 2026-07-22 process audit + red-team (roadmap §5.2). Size L. The single highest-leverage anti-regression item.

What: fold walk_test + adventure_walk + journey_eval + the #1647 user-truth stages + a combat-lifecycle probe into ONE tri-state command asserting EVERY certified property.

Architecture (red-team-settled):

  • CI half (every PR, ubuntu-runnable): all static/headless assertions — walk_static already covers geometry/manifest; add coherence-report freshness, feature-registry lint, spawn-placement (wire qa/test_seed_spawns.py — currently ZERO CI references, Room Pipeline: spawn placement — open-floor centroid, not first-free-cell #1584), certification sha freshness (test_room_certification, also unwired today).
  • Box-hosted live half (named trigger — scheduled box session + owning runbook step): live camera contract, collision accept/reject probes, door cells + painted-arch hotspots cross, actor visible+animated per roster member, silhouette-behind-occluder per roster member, cast tokens present, spawn/arrival on coherence-open cells.
  • Version-stamp diff: the owner app self-reports its build stamp on launch; player_cert records the stamp it certified; a diff = LOUD drift warning (kills the 'certified build ≠ installed build' class — the client: runtime-spawned actors bind the animated roster setup (T-pose fix, #1601) #1616-never-reached-the-owner case).
  • Roster-complete coverage (F2): live properties iterate the FULL current actor roster; ANY roster addition is a trigger event that re-runs the applicable property set against the new member (the Silhouette pass covers only the last submesh on multi-submesh actors (#1545 follow-up) #1572 decay shape: a new member violates an unstated premise while every existing member passes).
  • Build order: the two shared assertion PRIMITIVES first — silhouette-per-submesh + spawn-centroid — consumed immediately by the feat(macos): add native ClawDnD app shell #83 3D spike as exit criteria, aggregated later by the full suite.

Install gate: the owner-install script runs the live half and REFUSES on non-GREEN.

Acceptance: retroactively catches all 8 archaeology cases from the audit (each case maps to a named assertion); a deliberate regression (e.g. WORLDOS_SILHOUETTE=0) turns the suite red.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions