{"ok":true,"topic":"invariants","generatedAt":"2026-09-19T06:40:32.172Z","specLevel":{"current":3,"target":5,"note":"AI-readable company specification. Served at /qa (legacy name) and /spec (preferred alias). Marketplace home services = Application #1 on the Capability OS.","preferredMount":"/spec","legacyMount":"/qa"},"purpose":"Enduring company laws. Engineers, agents, and PMs must not violate these silently. Prefer failing closed over clever exceptions.","enforcementFeel":"Like a database constraint — illegal transitions and silent money/trust lies must not ship.","laws":[{"id":"INV-PRICE-NO-LLM","law":"Customer final price is never determined solely by an LLM.","category":"money","rationale":"Rate cards / versioned rules are source of quote truth."},{"id":"INV-SERVER-MONEY","law":"Server is the source of truth for money (price, fees, payouts, refunds).","category":"money","rationale":"Frontend amounts are displays; Stripe + ledger reconcile reality."},{"id":"INV-PAYOUT-TRACE","law":"Every payout is traceable to a booking, evidence, and payment events.","category":"money","rationale":"No opaque provider cash movements."},{"id":"INV-BOOKING-OWNER","law":"Every booking has an accountable owner path (customer + provider or explicit platform ops).","category":"ops","rationale":"No orphan jobs."},{"id":"INV-AUDITABLE-TRANSITIONS","law":"Every booking state transition is auditable and must pass the allowed transition matrix.","category":"lifecycle","rationale":"See /spec/state-machines — impossible jumps are bugs."},{"id":"INV-NO-SILENT-STRATEGY","law":"No silent strategy changes — launch gates, Instant Book, and live-money flags stay honest in UI and /spec.","category":"honesty","rationale":"Demo inventory ≠ live marketplace."},{"id":"INV-IDENTITY-BEFORE-TRUST","law":"Identity precedes trust.","category":"trust","rationale":"Accounts and roles before trust claims."},{"id":"INV-TRUST-BEFORE-TX","law":"Trust precedes transactions that claim verified / Instant Book / live money.","category":"trust","rationale":"Launch gates and KYC/evidence before marketing theater."},{"id":"INV-TX-GENERATE-KNOWLEDGE","law":"Transactions generate knowledge — a completed job that leaves no structured learning wasted the asset.","category":"moat","rationale":"See /spec/flywheel knowledgeAccumulation."},{"id":"INV-KNOWLEDGE-IMPROVES-MATCHING","law":"Knowledge improves matching.","category":"moat","rationale":"Structured scope + outcomes feed eligibility and ranking."},{"id":"INV-MATCHING-IMPROVES-DENSITY","law":"Better matching improves effective density (responding supply in ZIP×category).","category":"liquidity","rationale":"Density is the #1 launch risk."},{"id":"INV-DENSITY-IMPROVES-LIQUIDITY","law":"Density improves liquidity (request→offer→accept→complete).","category":"liquidity","rationale":"See /spec/flywheel liquidityFunnel."},{"id":"INV-LIQUIDITY-IMPROVES-QUALITY","law":"Liquidity improves marketplace quality (speed, choice, reliability).","category":"product","rationale":"Quality is emergent from liquidity, not badge copy."},{"id":"INV-QUALITY-STRENGTHENS-MOAT","law":"Marketplace quality strengthens the moat when outcomes compound into /spec/moat measures.","category":"moat","rationale":"Copyable UI is not a moat; compounding data + ops is."},{"id":"INV-PLUGIN-NOT-SILO","law":"Verticals are plugins — they must not fork identity, trust, payments, scheduling, communication, reviews, or ops.","category":"architecture","rationale":"See /spec/capabilities antiFrankenstein."},{"id":"INV-CANONICAL-DOMAIN","law":"Canonical customer origin owns auth and absolute money redirects (demo: demo.profferaglobal.com).","category":"platform","rationale":"*.run.app is diagnostic only — never a second public identity."},{"id":"INV-SPEC-SYNC","law":"Material behavior changes update the company specification (/spec) in the same change set.","category":"engineering","rationale":"AI-readable company > stale wiki. Future: compile from one source."}],"chain":["identity → trust → transactions → knowledge → matching → density → liquidity → quality → moat"],"renameNote":"/qa remains for compatibility. Prefer /spec (and eventually /os). Compiler from business-rules → derived surfaces is planned — not built yet."}