89 of 93 checks pass across 15 categories.
Generated from live state 2026-08-13T05:02:15.478783+00:00
The transaction stack is live; demand is the limiting factor. The real domain, HTTPS storefront, support intake, Stripe checkout, signed webhook handling, paid action-plan fulfillment, token-protected report access, recovery flow, public scoped MCP, and IndexNow submission are live. Transactional outbound email is still disabled because no sending provider is authenticated, and marketplace submissions still require publisher/platform authorization.
This is now a technically operational product with very little verified customer demand. The highest-value work is distribution and measurement, not another rebuild of the payment path.
The engineering path is mostly complete. Remaining blockers are distribution accounts, legal review, and real customer traffic.
| OK | Free red-flag scan works | Paste or upload a quote and get structured findings. |
| OK | Three-quote comparison works | /passive-api/compare-quotes returns amount spread, per-quote gaps and questions. |
| OK | Report generation works | HTML, JSON and PDF artifacts with public links. |
| OK | Guide pages published | 56 guide pages live. |
| OK | Free checklists published | 10 printable checklists live. |
| OK | Paid tiers defined | Three one-time tiers at $7.99 / $14.99 / $19.99. |
| OK | Paid deliverable actually differs from free | Confirmed payment generates a separate paid action-plan artifact outside the public web root. |
| LIVE | Stripe payment links live | 3 live Payment Link(s) published on the checkout page. |
| OK | Owner approval recorded | Approval #45 for "Create Stripe payment links", decided via telegram_button (executor state: needs_direct_action_payload). |
| OK | Refund policy linked from checkout | Linked. |
| OK | Terms linked from checkout | Linked. |
| OK | Delivery expectation stated | The page states the report arrives as a link on the confirmation page. |
| OK | Success URL on the real domain | Stripe Payment Links redirect to the HTTPS checkout success page with {CHECKOUT_SESSION_ID}. |
| OK | Post-payment delivery automated | Stripe-confirmed orders resolve to the generated report on the success page. |
| OK | Webhook handling | Signed Stripe webhook handling records checkout completion; refunds/disputes remain non-automatic. |
| OK | Refund process defined | Published 7-day system-error policy plus an owner-only refund runbook. |
| OK | PayPal fallback | Optional fallback not configured; live Stripe checkout is sufficient for launch. |
| MISSING | Transactional provider connected | No sending provider. Sending is disabled in code. |
| OK | Support address exists | Configured. |
| OK | Reports sending address exists | Configured. |
| OK | Templates drafted | Six templates drafted and unsent. |
| OK | Sending disabled until approved | No mail client is imported anywhere in the stack. Zero emails sent. |
| OK | Email plan documented | email_automation_plan.json and dns_email_payment_setup_plan.md. |
| OK | Product domain | checkmycontractorquote.com is used by the live storefront and payment success flow. |
| OK | Cloudflare DNS access | Token name present. |
| OK | MX / SPF / DKIM / DMARC | Cloudflare Email Routing MX/SPF plus DMARC are publicly resolvable; DKIM is present for the current mail-routing setup. |
| OK | HTTPS serving | Caddy serves the storefront over HTTPS. |
| OK | Setup plan documented | dns_email_payment_setup_plan.md. |
| OK | Legal pages exist | disclaimer.html, index.html, privacy.html, refund.html, terms.html. |
| OK | Disclaimer on every content page | Applied by the generators, not by hand. |
| OK | No price-fairness claim | Every page states the tool does not judge whether a price is fair. |
| OK | No contractor vetting or lead selling | Disabled by design across the portfolio. |
| MISSING | Legal review by a human | All legal text is a draft written by automation. A live payment page arguably needs a human read. |
| OK | Public claims gated | Savings figures, guarantees and testimonials remain owner-gated. |
| OK | SEO content engine | 50 pages tracked, regenerated every 6h. |
| OK | Content clusters and internal links | 17 clusters with a generated internal-link map. |
| OK | Lead magnets | 8 printable checklists. |
| OK | Social and video drafts | 20 drafts stored, none published. |
| OK | Ad drafts prepared, no spend | Drafts recorded as blocked_owner_required. Zero spend. |
| OK | Any real distribution | IndexNow accepted 245 current public URLs. This is real external search distribution, not proof of indexing or ranking. |
| OK | Funnel event endpoint | /passive-api/event with a fixed event vocabulary. |
| OK | Pages instrumented | events.js attached to every storefront index page. |
| OK | First-party only | No cookies, no identifiers, no third-party scripts, no IP storage. |
| OK | Test data separated from real | is_test flag on every row; synthetic rows never counted as demand. |
| MISSING | Real visitor data accumulated | Almost no real traffic yet, so conversion rates cannot be computed honestly. |
| OK | Free advertising engine timer | Active, every 6h. |
| OK | Product factory timer | Active, every 12h. |
| OK | Marketing autopilot timer | Active, every 6h. |
| OK | Test runner timer | Active. |
| OK | API service | Active on 127.0.0.1:18143. |
| OK | MCP tool server | Active on 127.0.0.1:18145, loopback only. |
| OK | Automations do not fight over the same files | The tool server owns tools_server.py and its own unit, so the ai_plugin_store builder can keep server.py without either side clobbering the other. |
| OK | No secrets in output | Presence-only checks; no script prints a credential value. |
| OK | Services run unprivileged | venture-model with NoNewPrivileges. |
| OK | Service user cannot reach payment tooling | One CLI credentials are root-owned, so the service account cannot spend money. |
| OK | Public MCP exposure is scoped and fail-closed | Public HTTPS MCP routing is active for scoped product endpoints; spending, email, publishing, referrals and secret access remain excluded or disabled. |
| OK | Quote text not stored | Analysed in memory; only coarse metadata is logged. |
| OK | Report URLs unauthenticated | Paid customer report files are served only through a high-entropy possession token; free/sample URLs remain public by design. |
| OK | Live Stripe credential available to owner-gated revenue tooling | Credential name is present; values are never emitted and Stripe mutation remains owner-gated. |
| OK | Reachable support channel | Support email/contact intake is configured. |
| OK | Lost report link recovery | A separate high-entropy recovery code restores token-protected paid links through /report-recovery/. |
| OK | Refund runbook | Owner-only refund runbook exists; automation cannot issue refunds. |
| OK | Response time expectation published | A response-time expectation is published on the contact page. |
| OK | Automated tests | Last run: 107 passed, 0 failed. |
| OK | Heartbeats and events logged | Every script writes heartbeats and events. |
| OK | Rollback documented | Per-file .bak backups and a documented rollback plan. |
| OK | Artifacts versioned per run | Timestamped run directories with a latest symlink. |
| OK | Backups of the database | Nightly snapshot to Cloudflare R2, 1.4 hours old, restore verified by digest and integrity check. |
| OK | MCP tool server implemented | 8 local safety-harness tools plus 48 tools on the public scoped MCP catalog. |
| OK | Tool calls logged | 1948 calls logged. |
| OK | AI tool catalog | passive_ai_tool_catalog.json covering 12 specs. |
| OK | Documentation pages | /passive-store/ai-apps/ plus chatgpt, claude, mcp, chrome-extension. |
| OK | Chrome extension build artifact | 2 local build(s), zero submissions. |
| MISSING | Marketplace submissions | Nothing submitted to ChatGPT, Claude, Chrome Web Store or any app store. Owner-gated by design. |
| OK | Privacy terms for AI data flow | Privacy policy states the current deterministic data flow and requires disclosure before any third-party AI processing is enabled. |
| OK | Public AI endpoint advertises real tools | The public HTTPS endpoint advertises 48 tools and exposes product-scoped review routes. |
| OK | Engine runs on a timer | Every 6h, regenerating 50 pages and 8 checklists. |
| OK | Approval queue for publishing | 6 publishing actions queued as blocked_owner_required. |
| OK | Nothing published externally | Zero posts, zero emails, zero submissions, zero spend. |
| OK | Content is genuinely differentiated | Each page carries its own checks, questions and FAQ rather than a template shell. |
| OK | Search submission / discovery | IndexNow accepted 245 current public URLs with HTTP 200. This proves submission/distribution, not indexing or ranking. |
| OK | One CLI present and authenticated | One CLI v1.52.1, authenticated for root with a visible Stripe connection. |
| OK | Readiness script | venture-contractorquote-stripe-readiness, presence-only. |
| OK | Product drafts and setup plan | stripe_products_draft.json and stripe_setup_plan.md. |
| OK | Payment-link automation gated | Dry-run default; refuses live mutation without approval; creates no duplicates. |
| OK | Approval mechanism | File-based gate plus the existing Telegram approval channel, both read-only to automation. |
| LIVE | Readiness mode | Current mode: live_created. |
| OK | Factory runs on a timer | Every 12h across 11 products. |
| OK | Exactly one launch candidate | One launch candidate; the rest are background, funding-lane or deprioritized. |
| OK | Readiness scores recorded | Per-product scores with component breakdown. |
| OK | Blockers recorded | 54 open blockers across the portfolio. |
| OK | Starter content per product | 26 starter pages across the background products. |
| OK | No product launched prematurely | Payment is enabled for one product only. |