Defect tiers
What Greenroom can find with no spec at all, and what needs your contract.
Findings in a handoff carry a tier that says where the authority to call them defects comes from. The split matters because most of what Greenroom finds requires nothing from you.
Tier 1: self-evident
Broken on any app, no context needed. Crashes, dead controls, unreadable text, a screen that never finishes loading, keyboard traps. If a reasonable user would call it broken without knowing what the app is for, it is tier 1.
Tier 2: internal contradiction
The app disagrees with itself. A summary row that says 5 while its own detail screen says 7. A total that is not the sum of its line items. A change that is confirmed on one screen and absent on the screen that should reflect it. No spec is needed because the app supplies both sides of the contradiction.
Tiers 1 and 2 together are the spec-free product claim: in our defect library, 78% of real library defects are detectable this way, with nothing declared in advance.
Tier 3: declared expectation
The app violates something you told Greenroom to hold it to: an oracle in a state contract entry, a goal with a stated postcondition. These findings are contract-gated; they exist only where you declared the expectation. This is the tier that grows as your contract does, and it is where domain-specific correctness lives.
Severity is orthogonal
Every finding also carries P1 through P4 severity, judged from user impact: P1 blocks a core journey or risks money or data, P4 is cosmetic. Tier says who authorized the expectation; severity says how much it hurts.