Internal engineering console — not consumer UI
IDK — Gate A: PASS · Stage 2: PASS · Stage 3 Implemented · Gate B: PASS
Clean-start program control surface. Governance documents are the source of record; no architectural decision lives only in chat. Stage 1 recommendation logic is gated on required source material.
Execution sequence
- 0 Source ingestion + governanceMaster prompt, vibe spreadsheets, requirements and legal set ingestedCOMPLETE
- 1 Product logic + architectureFinal canonicalization applied: one design per document, separated request boundaries, experience model, fail-closed evidence, controlled serendipityCOMPLETE
- A ChatGPT Gate AGATE A: PASS — external ChatGPT verdict on commit 0fda6e19b553a449746b44458a99c8b2a75fd10eCOMPLETE
- 2 Database + identity + RLSIMPLEMENTED — external Stage 2 verdict: PASS on commit 2155c4c6c2b63f00cb8b12b8bac7695d2a1a5105. Clean Postgres project, 17 forward-only migrations, 28 application tables, anonymous-first identity, atomic consume_reveal, repository-only data path, RLS default-denyCOMPLETE
- 3 Server API + entitlements + server SpinIMPLEMENTED — /api/v1 + /api/public surface, JWT-only identity through the application identity gate, server-authoritative selection and counters, one result id across locked and revealed, idempotent reveal, single redacted error contract, Stage 4 engine seam fails closed with 503. Externally certified at Gate BCOMPLETE
- B ChatGPT Gate BGATE B: PASS — external ChatGPT verdict on audited commit eff0eaf629ac8720b970b5dcfc56331f75a47ad8 (2026-08-26) after remediation passes 1-6 plus pass 7 governance synchronization; recorded, never self-certified by LovableCOMPLETE
- 4 IDK Brain foundationIMPLEMENTED — PENDING EXTERNAL AUDIT (remediation pass 15 applied). All 15 engines (E-01…E-15) are pure no-I/O functions run in canonical order by one deterministic orchestrator; quality gate precedes selection; seeded serendipity only; E-15 proves each declared terminal reason against the terminating engine's actual outcome, typed reasons and typed fragment data, reconciles that evidence globally against which engines actually executed, reconstructs the expected blocking/deferred dependency sets from one authoritative provenance module, closes the redundant trace summary (E-05 assembly, E-07 verification and E-10's full typed draw) against its owning engines, admits the Stage-5 fallback-authority literal only on the orchestrator's own independent transition signal at an E-02 stop, fails closed on duplicate or malformed skip rows, and fingerprints decision state with an injective encoding; engine version 0.3.0-stage4COMPLETE
- 5 Real-world context + retrieval + LLM bindingIMPLEMENTED — PENDING EXTERNAL AUDIT. Capability-shaped provider adapters (PLACE_SEARCH/PLACE_DETAILS/OPENING_HOURS/RATINGS, WEATHER, ROUTING, GEOCODING) behind one gateway with per-spin call budget, one timeout retry, circuit breaking and evidence stamping (provider id, provenance, requirement, fetchedAt/expiresAt); server-only validated configuration with no default key or endpoint; strict structural rejection of external payloads; retrieval normalizes into Stage 4 candidate contracts with FIELD-LEVEL verified facts only; the LLM is bound behind E-13/E-14 and its output is untrusted until schema-validated and reconciled against the whitelist; unbound surface still returns 503 before any repository access or writeCOMPLETE
- 6 Validation + ranking + serendipityVerified ingredients onlyNOT STARTED
- C ChatGPT Gate CIntelligence auditNOT STARTED
- 7 Behavioral learningPreference memory feedback loopNOT STARTED
- 8 Jackpot + RevenueCat contractsNative purchases only; signature-verified webhooks; no web checkoutNOT STARTED
- 9 Observability + cost + hardeningLogs, cost, securityNOT STARTED
- 10 Lovable exit packageOpenAPI, migrations, tests, handoffNOT STARTED
Vibe model — v1.0.0
- Romanticlocation/food · 5555
- Adventurousactivity/location · 5344
- Relaxedlocation/timing · 4444
- Culturalactivity/location · 5454
- Activeactivity/timing · 5344
- Foodiefood/timing · 2545
- Family Funactivity/location · 4444
- Businesslocation/timing · 2455
primary/secondary driver · activity-food-location-timing weights (1-5)
Gate A remediation — enforced by tests
- H1 ApiSpinRequest / ServerSpinContext / DecisionRequest separated; server-owned fields rejected
- H2 Experience selected and frozen at spin time; reveal only unlocks stored content
- H3 Manual location, budget, duration and free-text intent accepted with provenance
- H4 Results are multi-component experiences; food never required
- H5 Atomic, idempotent, portable consume_reveal with row-level locking
- H6 Evidence classes REQUIRED / SAFETY_REQUIRED / OPTIONAL / PRESENTATION_ONLY — fail closed
- H7 decisionRunId + seed + five versions recorded; deterministic replay
- H8 Config regenerated by script, checksummed, schema-validated at import
- M1/M2 Controlled serendipity over quality-gated finalists; operational interestingness
- Canonical docs rewritten — no superseded design coexists with its correction
- Archetypes all PROVISIONAL until sourced or owner-approved
- F1 Native-only purchases: no web checkout; RevenueCat webhook verified before any state change
- F3 Free-reveal policy is period-bound — a new month never unlocks an older locked Spin
- F4 Locked contract frozen at four keys; doc examples validated against the schema
- F5 consume_reveal takes p_user_id — no vendor session expression outside RLS
- F6 One canonical fallback ladder ending in an honest no_candidates state
- F7 Reproducibility test fails closed instead of skipping
- F8 Account deletion audited, transactional and store-honest
- A-1 Jackpot canonical: revealed-only sharing, hashed high-entropy token, share-safe public view
- A-2 One EntitlementState everywhere — documented examples validated against the schema
- A-3 Final Gate A audit packet authored (CHATGPT_AUDIT_PACKET_GATE_A_FINAL.md)
- A-6 GitHub sync recorded by the owner at commit 19d08ffe5dc28d861b10f33f13529c7d5ded4b03 — Stage 2 authorized
- G-1 One-component Experience is a domain capability — no provisional archetype gates fallback
- G-2 Recipient sharing is public at /api/public/jackpots; owner management stays authenticated
- G-3 Public share payload is a frozen allowlist — no unknown, no open record, no metadata bag
- G-4 Initial reveal and unlocking a locked Spin are separate: only paid entitlement unlocks
- G-5 Portable PostgreSQL is canonical; the hosting platform is a Stage 2 adapter only
- GATE-A-1 Locked is a persisted spin state — the unlock decision sees no allowance, period or clock
- GATE-A-2 A shared Jackpot can only ever serialize its own referenced Experience; mismatch fails closed
- GATE-A-1A Persisted lock_reason is enforced, never manufactured; one application flow
- GATE-A-2A Public Jackpot lookup is bound token→Jackpot→Experience in one repository operation
- A delivery_state is the single reveal authority — alreadyRevealed deleted, unknown state fails closed
- B One entitlement vocabulary: plans free|pro; only active and in_grace entitle
- C The two product tests are weighted ranking signals with reported targets, not slogans
- D Quality gate runs before serendipity; provenance permanent, detailed replay honestly 30 days
- D-4 Re-revealing a revealed spin is a 200 idempotent success — no 409 exists
- E API-only data boundary: no client database path; repositories are the only SQL
- E-2 Allowance period derives from the spin's immutable timezone, never the editable profile
- 1 Anonymous-first identity is current design; saved results need paid entitlement to create
- 2 Processing lifecycle and persisted delivery_state are separate; in_grace entitles
- 3 Direct consumer table read/write is NO everywhere — repositories are the only data path
- 4 Reveal wording is state-specific: only a pending spin may touch allowance
- 5 Database holds integrity transactions only — never ranking or selection logic
- 6 consume_reveal takes no clock; delivery_outcome is transient, delivery_state persisted
- 7 Account deletion is a portable orchestration: app-data transaction + identity adapter
- 10 Audit packet is exactly the 37 required semantic sections
- 11 Governance suite G-01…G-12 asserts cross-layer consistency automatically
- Post-remediation exact raw headings, E-12-before-E-10 ordering, no direct table access, durable deletion jobs and project metadata are asserted
- Final exact verification sequence recorded: test, tsgo, build and lint
enforced by the committed automated suites · npm test · npm run test:gateb:certify
Resolved conflicts — current rules win (closed, not open)
- C-1 $1.99 / $2.99 / $21.49 / $29 → superseded by $15.99 / month
- C-2 1 free spin/month → superseded by 2 revealed Spins / calendar month
- C-3 Client blur-lock → forbidden; locked results withheld server-side
- C-4 "Last 5 results" cap → legacy UI constraint, not storage limit
- C-5 iPadOS / macOS / visionOS targets → deferred pending approval
Ingested source material
- IDK_Vibes_Taxonomy.xlsx
- IDK_Vibes_Model_Guidance.xlsx (5 sheets)
- IDKnow — Condensed Functional Requirements.pdf
- Terms of Use · Privacy Policy · EULA
Open owner actions — production & store governance (not Gate B blockers)
Current operating entity (C-6)
Historical entity may no longer be correct; blocks store submission and legal copy
Retention approval (C-7)
Conservative privacy defaults apply until approved otherwise
Lovable project metadata (owner settings)
display_name / description still screenshot-utility oriented; production-governance debt, not a Gate B backend or security blocker
Recommended now
I Don't Know SOW.pdf
Historical architecture reference (non-authoritative)
IDKnow App ChatGT Notes.pdf
Historical product reasoning and lessons
IDK Style Sheet.png / IDK App Logo.png / IDK App Icon.png
Canonical brand assets
Authoritative business rules
- ·Launch market: United States · iOS + Android
- ·Subscription: $15.99 / month
- ·Free allowance: 2 fully revealed Spins per calendar month
- ·No credit packs, alternate price points, or client-managed counters
- ·Consumer UI belongs to FlutterFlow / Flutter, not Lovable
Governance documents
- docs/SOURCE_OF_TRUTH_MATRIX.md
- docs/IMPLEMENTATION_LEDGER.md
- docs/DECISION_LOG.md
- docs/OPEN_QUESTIONS.md
- docs/PRODUCTION_READINESS.md
- docs/SECURITY_RISK_REGISTER.md
- docs/DESIGN_SOURCE_MATRIX.md
- docs/GATE_A_REMEDIATION_MATRIX.md
- docs/CHATGPT_AUDIT_PACKET_GATE_A_REMEDIATION.md
- docs/CHATGPT_AUDIT_PACKET_GATE_A_FINAL.md
- docs/LEGAL_GAP_REPORT.md
- docs/PROVIDER_REGISTRY.md
- docs/SPREADSHEET_LOGIC_MAPPING.md
- docs/VIBE_MODEL_SPEC.md
- docs/FUNCTIONAL_REQUIREMENTS_MAP.md
- docs/ARCHITECTURE.md
- docs/AI_BRAIN_ARCHITECTURE.md
- docs/DOMAIN_MODEL.md
- docs/DATABASE_MODEL.md
- docs/API_CONTRACTS.md
- docs/PROVIDER_ARCHITECTURE.md
- docs/REPOSITORY_ARCHITECTURE.md
- docs/EXPERIENCE_ARCHETYPES.md
- src/domain/vibes/vibe-model.v1.json
- src/domain/spin/api-request.ts
- src/domain/experience/index.ts
- src/brain/serendipity.ts
- scripts/generate_vibe_model.py
Vibe model v1.0.0 · not production ready · GATE A: PASS · STAGE 2: PASS (external) · STAGE 3 IMPLEMENTED · GATE B: PASS (external verdict recorded) · STAGE 4 IMPLEMENTED (pass 16) · STAGE 4 INTEGRATION SUB-GATE: PASS (external) · STAGE 5 PROVIDER/RETRIEVAL/LLM BINDING: CERTIFIED PASS (external) · BACKEND HANDOFF CLOSURE PASS A IMPLEMENTED (RevenueCat server entitlement authority + durable deletion completion) — PENDING EXTERNAL AUDIT · STAGE 6 LOCKED