PRODUCT / SYSTEM From changed line to release decision

Software changed.Prove the promise didn’t.

MaruCheck connects approved behavior, the real Git diff, historical failures, targeted checks, and reproducible evidence in one accountable chain.

INPUTgit diffOUTPUTship / block

ACT 01 — DEFINE

First, make the promise executable.

Quality Contracts preserve the behavior that must remain true—even when an agent rewrites both code and tests.

subscription-management.ymlAPPROVED · v4
feature: subscription-management
criticality: high
owners: [product, engineering]

requirements:
  - id: SUB-004
    statement: Cancellation keeps Pro active
      until the current billing period ends.

evidence_policy:
  blocking: [SUB-004]
SUB-004

Protected behavior

  1. Approved by an accountable owner
  2. Mapped to Vitest + Playwright
  3. Versioned when intent changes
INTENT LOADED

ACT 02 — CHALLENGE

Then, spend proof where the change can hurt.

Risk is deterministic. Changed paths, critical contracts, coverage gaps, and QA Memory each explain their contribution.

01 / DIFF

3 files changed

src/api/invoices/[id]/route.tssrc/services/invoices.tstests/invoices.test.ts
02 / MEMORY

MEM-0143 recalled

A previous invoice-ownership bypass touched the same authorization boundary.

+25 RISK
03 / ASSESS92/100

Critical

Security, API, contract regression, and the recorded cross-account test enter the plan.

ACT 03 — DECIDE

A gate you can argue with.

Every result resolves to expected behavior, observed behavior, reproduction, and the evidence that supports the decision.

RUN-1048 / RELEASE EVIDENCE38 OBJECTS
Requirementinvoice-access#INV-001
ExpectedUsers only read invoices owned by their account.
ObservedCross-account invoice payload returned.
Reproducenpx vitest run tests/regressions/cross-account.test.ts
VERIFICATION GATEBLOCKED

OPERATING RULES

The author does not grade the work.

01

Independent by design

The coding agent can request verification. It cannot approve product intent.

02

Inconclusive stays visible

A missing tool, test, or requirement never gets rewritten into a pass.

03

Source stays local

Execution happens in the repository or CI; teams choose which evidence becomes shared proof.

Run your first verification