Foundation · infrastructure
Identity consolidationthe cutover
100%
Compass corpus folded into sail, one identity, Bridge-verified on prod. Pending (reversible): retire sail-compass read-only.
Movement / event spinehonest-math in prod
100%
Migration historyre-baseline · drift cured · seed replay-safe
100%
sail-core contractsthe keel · published @0.9.0
98%
Published through 0.9.0: auth, CompassClient, events (+ retention beacons), movement taxonomy, design tokens, measurement, tenant, serving contract, media/platform enums, the feedback/retention foundation, the causal-experiment contract, the action-spectrum taxonomy + the agency metric (0.8.0), and the platform taxonomy (0.9.0 · PLATFORMS += linkedin, medium for the founder-brand connectors). Non-breaking, tests green, two-model audited. All repo mains caught up.
Security · RLS & grantsbefore external tenants
90%
Org-self-assignment guard closed + proven on prod. Grant-hygiene: dead write grants revoked, default-privilege bleed stopped, anon write access at least-privilege (3 intended tables). Anon write-policy review done — no holes (all auth.uid/service-gated). Remaining: lock org assignment before external tenants stays the one gate.
Command Centerinternal crew board · LIVE
90%
LIVE on Cloudflare (06-28) · the one place the crew launches any surface and tracks the build — Launch (quick-search) + Build Tracker (this tracker, embedded + scrubbed) + Deploy Status (honest pills) + Status Board digest + a SAIL EDU domain tile. Passcode soft-gate + a confidential-term scrubber (defence-in-depth; an adversarial audit caught + fixed a no-op scrub). Designed for Cloudflare Access (the real gate). Remaining: confirm Access set.
Products · the crew
CompassFirst Mate · serving · LIVE
62%
LIVE on prod (deployed, live_enabled on, $5/day cap, JWT-pinned, audited): real corpus read + Opus + Stage 3 write-back. Admin-panel save bug fixed + merged. Awaiting Tim's first live conversation to log the first real call.
Growththe sail · reach · LIVE
62%
REAL on the spine (off Lovable, org-scoped persistence, honest-math) + the per-brand AI account manager LIVE ($5/day cap). Deepened + deployed 06-28: brand-portfolio rollup + connector-readiness model (live/fake/expired/not-connected), the YouTube + Instagram live-credential token paths (deno-checked), and a readiness board + reach-provenance split in the UI — reach stays a labeled Proxy, never conflated with verified impact, no token ever displayed. Edge functions redeployed (growth-cmo v2 / growth-account-manager v3). Live reach waits on Tim's connector credentials.
Constellationdevelopment-intelligence OS · LIVE
58%
A full decision-OS, LIVE + Bridge-verified (06-28) · six-lens workspace (mode=live, ~11s, telemetry) + multi-project isolation + Artifact Studio with a self-checking readiness panel + a runtime confidential/overclaim scrubber. Calibration: Tier 1 expert notes with stable claim IDs (survive rerun/reload), an Expert Review Queue, a note resolution workflow + multi-expert notes. Model + Cost Observatory (per-lens comparison + recommended model). Stage Development Ladder (Table Read → Broadway, per-stage signal/risk/tier) + Collaborator Fit (questions-to-explore, role-level-only export, local registry). Honesty by construction throughout; legacy spine untouched. Next: Sprint 8 synthesis + portfolio + decision-timeline (in CC review).
Impact Genesisthe Captain · create · LIVE
58%
Through inc 5: snapshot-grounded co-build + the Fully-AI publish gate as a SECURITY DEFINER trigger on prod (proven adversarially: a pure_ai row can't reach published without a recorded human approval). Deployed 06-28: the cold-start "contract of hope" front door (land into possibility, illustrative Compass-fit seeds, no fake social proof) + the kept-promises ContractThread carried through cobuild → campaign → publish — publish gate byte-unchanged throughout. Content still stub.
Hub / Shellthe hull · deployed
58%
Deployed to Cloudflare Pages (sail-hub.pages.dev). Dressed in the v1 design language — tokens drive the chrome + the shared impact-ripple hero (action → teal primary → ripple-as-influence → movement bar → Glass-Box receipt). Movement Wall live, Greenlight gate, admin panel (save bug fixed). Capture layer wired to the real event sink.
Motivation / Retentionthe felt loop · flagged · human-tested
32%
Flagged, default-off, branch-only (NOT live). The consented gamification layer · 4 quest forms (crossword + word-search + match + pattern) + the felt reserve/agency + the safety floor. Two human tests (a human tester, then a crossword-expert tester) → fixes built + Bridge-verified live on the preview (drag-select, pattern-reveal, plain clues + NYT-style input, copy + safety fixes). Strategic finding · the felt puzzle may carry the value, the logged act adds the friction → resolution = split RETENTION (felt, stands alone) from IMPACT (the act = an invitation, never a gate); honest measurement holds (a self-reported tap never counts). Next · a human tester + a human tester re-test.
Measurement / Glass Boxthe receipts · + causal spine
62%
Honest-math views in prod + the real event sink (spine-events) + the capture layer. Causal-experiment spine LIVE: causal_experiments/assignments tables (register-before-data enforced) + the atomic experiment-assign function (deterministic arm + audit, all proven on prod). Honesty refinement: self-reported reflections drive the experiment but never pad the public verified-impact goal. Receipt flips illustrative→live when real events land.
SAIL StewardTim-AI · LIVE
42%
The layered trend-reader (company → movement → product-type → product, Glass-Box evidence) LIVE (deployed + flipped, Opus, $5/day cap, read-only). Reads real cross-layer trends over the live data. Next soul-layer · the founder-process Brand-OS (Architecture v0 filed).
NoMoreBadNewstop-of-funnel · LIVE (OpenNext)
46%
On real hosting 06-28 · Next.js 16 on a live Cloudflare OpenNext worker (replaces the old prototype). Action Strip live-reads the real spine (three-tier live/fixture/numberless). The multi-agent editorial pipeline now has a grounded draft-article path + an RSS feed-sourcing layer behind the human-approval gate (fixture-default until NMBN_FEEDS set; grounding re-checked at approve, registration moves no number). Custom domain + real feeds = Tim config.
Inc 1: PMF + persona-feedback evaluator (pure, typed, tested). No endpoint yet.