Skip to main content

ADR 0056: Layer Quality Gates Without Automating Product Acceptance

Status

Accepted.

Context

Game repositories cross source, deterministic model, engine serialization, runtime composition, middleware, target-build, and human-experience boundaries. A compiler, linter, Unity test, static-analysis dashboard, or CI workflow sees only some of them.

Agentic development increases the value of fast deterministic checks because agents can introduce mechanically inconsistent changes, forget local conventions, or overgeneralize from one passing test. It also increases the risk that an agent weakens a rule, rewrites a baseline, retries a flaky test, or reports a green aggregate as proof of visual, interaction, balance, or fun claims.

STAGE already requires claim-matched and consumer-complete evidence. It needs a concrete quality-gate model without prescribing one vendor stack to every engine and project.

Decision

Use six additive gate families:

  1. Source for formatting, lint, parsing, schemas, paths, secrets, and diff hygiene.
  2. Model for deterministic rules, invariants, dependency contracts, state transitions, and architecture rules.
  3. Engine for real editor compilation, import, serialization, authored assets, engine tests, and middleware generation.
  4. Consumer for composed production input, lifecycle, UI, audio, loading, reset, rendering, and gameplay routes.
  5. Distribution for clean-checkout builds, launch, target platform, packaging, and performance claims.
  6. Director for human comprehension, feel, visual/audio taste, balance, engagement, desire to continue, and release acceptance.

For each change, select the smallest gate stack containing every material boundary of the claim. A later gate does not imply an earlier one, and no automated gate can grant Director acceptance.

Quality configuration, suppressions, baselines, and release authority remain human-owned. Agents may run checks and add focused protection for an intended contract. They may not weaken a gate merely to obtain green status, hide intermittent failures with retries, or claim checks that were not attempted.

Hosted CI is check-only by default, uses least privilege, pins third-party actions, and reproduces deterministic repository checks from a clean checkout. Engine and human gates may remain explicit local operations when hosted execution lacks the editor, GPU, middleware, target hardware, or accountable human.

Generic dashboards such as SonarQube or Qodana are earned only when a named owner uses their trend or maintainability findings and the lower-level gates already run reliably. They are not foundational game-quality systems.

Consequences

  • A green source gate can no longer be described as a green game.
  • Cheap failures are caught before consuming human playtest time.
  • Unity editor compilation and production-consumer rehearsals remain explicit even when external C# compilation succeeds.
  • CI stays reproducible and non-mutating.
  • Projects choose tools proportionally rather than copying STAGE's Python stack.
  • Quality records become more precise but require claim and limitation language.
  • Human judgment remains a throughput constraint by design for the decisions automation cannot legitimately make.

Evidence Boundary

The layers organize established source analysis, deterministic testing, engine-native validation, integration testing, reproducible build, security, and human play practices. The exact six-family taxonomy is STAGE practitioner guidance, not an empirical proof or universal maturity model. A project may rename or combine gates if it preserves the claim boundaries and human product authority.