Dev Launch Pack
Launch command center
Single source of truth for execution tasks, copyable prompts, and post-launch follow-through.
Comprehensive Master Backlog
Sorted automatically by: in progress -> todo -> done, then P0 -> P1 -> P2.
Filter by task type
▸Mobile QA pass for discovery + results + vendor profile.UI/UXin_progressP0
ROI: 5-20% faster iteration on UI changes · 0-5% user-perceived responsiveness · 10-25% fewer UX regressions
Effort: medium-high
Read first
- src/app/page.tsx
- src/app/discovery/page.tsx
- src/app/results/ResultsClient.tsx
- src/components/site/NavBar.tsx
- src/app/layout.tsx
Context
- Task type: UI/UX
- Priority: P0
- Current status: in_progress
Goal
- Mobile QA pass for discovery + results + vendor profile.
Expected ROI (estimate)
- Dev speed: 5-20% faster iteration on UI changes
- Runtime impact: 0-5% user-perceived responsiveness
- Risk reduction: 10-25% fewer UX regressions
- Effort: medium-high
Implementation request
Discovery mobile QA is signed off. Complete the same pass for /results and /vendors/[slug], then close remaining overflow/sticky/CTA issues.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Desktop and mobile layouts remain clean and usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Landing page set completion for key audiences (planners still pending).UI/UXin_progressP1
ROI: 5-20% faster iteration on UI changes · 0-5% user-perceived responsiveness · 10-25% fewer UX regressions
Effort: medium
Read first
- src/app/page.tsx
- src/app/discovery/page.tsx
- src/app/results/ResultsClient.tsx
- src/components/site/NavBar.tsx
- src/app/layout.tsx
Context
- Task type: UI/UX
- Priority: P1
- Current status: in_progress
Goal
- Landing page set completion for key audiences (planners still pending).
Expected ROI (estimate)
- Dev speed: 5-20% faster iteration on UI changes
- Runtime impact: 0-5% user-perceived responsiveness
- Risk reduction: 10-25% fewer UX regressions
- Effort: medium
Implementation request
Couples and vendors are live. Add planner-specific landing page using existing UI tokens/components and keep backend unchanged.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Desktop and mobile layouts remain clean and usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Copy polish for trust and transparency lines across key pages.Content/Brandin_progressP1
ROI: 5-20% faster stakeholder alignment · No direct runtime impact · 10-30% fewer messaging inconsistencies
Effort: medium
Read first
- src/app/ops/launch-pack/page.tsx
- TASKS.md
- DEMO_SCRIPT.md
- LAUNCH_CONSOLIDATION_PLAN.md
Context
- Task type: Content/Brand
- Priority: P1
- Current status: in_progress
Goal
- Copy polish for trust and transparency lines across key pages.
Expected ROI (estimate)
- Dev speed: 5-20% faster stakeholder alignment
- Runtime impact: No direct runtime impact
- Risk reduction: 10-30% fewer messaging inconsistencies
- Effort: medium
Implementation request
Discovery microcopy has been polished. Finish trust/transparency copy pass for homepage, results, and vendor pages while preserving behavior.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Backfill vendor location_place_id/lat/lng for active vendors and apply geo-weighting consistently.DB/Datain_progressP1
ROI: 10-25% faster data-change confidence · 5-20% query/data consistency gains · 30-55% fewer data integrity issues
Effort: medium
Read first
- src/lib/db/index.ts
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/intros/page.tsx
- src/app/ops/intros/[id]/page.tsx
Context
- Task type: DB/Data
- Priority: P1
- Current status: in_progress
Goal
- Backfill vendor location_place_id/lat/lng for active vendors and apply geo-weighting consistently.
Expected ROI (estimate)
- Dev speed: 10-25% faster data-change confidence
- Runtime impact: 5-20% query/data consistency gains
- Risk reduction: 30-55% fewer data integrity issues
- Effort: medium
Implementation request
Create and run a safe vendor geo backfill for active vendors (location_place_id + lat/lng), then ensure all shortlist ranking paths consistently use intake/vendor geo distance weighting with clear fallback when geo is missing.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Persistence integrity checks pass for affected entities.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Run final full flow and capture evidence.QA/ReleasetodoP0
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium-high
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P0
- Current status: todo
Goal
- Run final full flow and capture evidence.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium-high
Implementation request
Run final smoke path discovery->results->include->continue->intro sent. Output concise pass/fail report and blockers by severity.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Pre-release smoke suite and final checklist.QA/ReleasetodoP0
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium-high
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P0
- Current status: todo
Goal
- Pre-release smoke suite and final checklist.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium-high
Implementation request
Create and run a launch smoke checklist covering discovery->results->intro send->admin verification, with pass/fail output and blockers.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Set up production email sending identities and operational inboxes.Admin/OpstodoP0
ROI: 10-30% faster ops/debug response · 0-10% faster operator workflows · 20-45% fewer operational mistakes
Effort: medium-high
Read first
- src/app/ops/intros/page.tsx
- src/app/ops/intros/IntroTableRow.tsx
- src/app/ops/intros/[id]/page.tsx
- src/app/api/trigger-intro/route.ts
- src/app/api/vendor-outcome/route.ts
Context
- Task type: Admin/Ops
- Priority: P0
- Current status: todo
Goal
- Set up production email sending identities and operational inboxes.
Expected ROI (estimate)
- Dev speed: 10-30% faster ops/debug response
- Runtime impact: 0-10% faster operator workflows
- Risk reduction: 20-45% fewer operational mistakes
- Effort: medium-high
Implementation request
Configure outbound email domain + from/reply-to identities (SPF, DKIM, DMARC) and establish monitored inboxes for intros/support. Document final addresses, DNS records, and verification status.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Admin workflows are clear and operationally usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Implement email/data compliance baseline for launch.QA/ReleasetodoP0
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium-high
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P0
- Current status: todo
Goal
- Implement email/data compliance baseline for launch.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium-high
Implementation request
Define and implement compliance baseline: privacy policy + terms links, lawful basis/consent language in discovery, transactional email classification, retention/delete process, and vendor data-sharing disclosure copy.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Finalize /ops/intros/[id] detail diagnostics.Admin/OpstodoP1
ROI: 10-30% faster ops/debug response · 0-10% faster operator workflows · 20-45% fewer operational mistakes
Effort: medium
Read first
- src/app/ops/intros/page.tsx
- src/app/ops/intros/IntroTableRow.tsx
- src/app/ops/intros/[id]/page.tsx
- src/app/api/trigger-intro/route.ts
- src/app/api/vendor-outcome/route.ts
Context
- Task type: Admin/Ops
- Priority: P1
- Current status: todo
Goal
- Finalize /ops/intros/[id] detail diagnostics.
Expected ROI (estimate)
- Dev speed: 10-30% faster ops/debug response
- Runtime impact: 0-10% faster operator workflows
- Risk reduction: 20-45% fewer operational mistakes
- Effort: medium
Implementation request
Polish /ops/intros/[id] vendor diagnostics table and payload viewers; keep placeholder match_score/distance columns visible with null as dash.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Admin workflows are clear and operationally usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Verify retrigger updates intro state visibly.Admin/OpstodoP1
ROI: 10-30% faster ops/debug response · 0-10% faster operator workflows · 20-45% fewer operational mistakes
Effort: medium
Read first
- src/app/ops/intros/page.tsx
- src/app/ops/intros/IntroTableRow.tsx
- src/app/ops/intros/[id]/page.tsx
- src/app/api/trigger-intro/route.ts
- src/app/api/vendor-outcome/route.ts
Context
- Task type: Admin/Ops
- Priority: P1
- Current status: todo
Goal
- Verify retrigger updates intro state visibly.
Expected ROI (estimate)
- Dev speed: 10-30% faster ops/debug response
- Runtime impact: 0-10% faster operator workflows
- Risk reduction: 20-45% fewer operational mistakes
- Effort: medium
Implementation request
Trace retrigger flow end-to-end and ensure status/sent_at updates are reflected in admin pages without full confusion.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Admin workflows are clear and operationally usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Add structured logs for key lifecycle transitions.Admin/OpstodoP1
ROI: 10-30% faster ops/debug response · 0-10% faster operator workflows · 20-45% fewer operational mistakes
Effort: medium
Read first
- src/app/ops/intros/page.tsx
- src/app/ops/intros/IntroTableRow.tsx
- src/app/ops/intros/[id]/page.tsx
- src/app/api/trigger-intro/route.ts
- src/app/api/vendor-outcome/route.ts
Context
- Task type: Admin/Ops
- Priority: P1
- Current status: todo
Goal
- Add structured logs for key lifecycle transitions.
Expected ROI (estimate)
- Dev speed: 10-30% faster ops/debug response
- Runtime impact: 0-10% faster operator workflows
- Risk reduction: 20-45% fewer operational mistakes
- Effort: medium
Implementation request
Add concise structured server logs for intake create/update, shortlist create, intro create/trigger, outcome update.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Admin workflows are clear and operationally usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Produce known issues + fallback behaviors for demo.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Produce known issues + fallback behaviors for demo.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Create DEMO_KNOWN_ISSUES.md with issue, impact, workaround, and fallback line to say in demo.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Prepare rollback plan per changed area.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Prepare rollback plan per changed area.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Create ROLLBACK_PLAN.md listing safe revert units by feature area and verification steps after rollback.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Freeze release candidate scope.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Freeze release candidate scope.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Create RELEASE_CANDIDATE.md with final included changes, excluded changes, and sign-off checklist.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Ops runbook for intro failures and retries.Admin/OpstodoP1
ROI: 10-30% faster ops/debug response · 0-10% faster operator workflows · 20-45% fewer operational mistakes
Effort: medium
Read first
- src/app/ops/intros/page.tsx
- src/app/ops/intros/IntroTableRow.tsx
- src/app/ops/intros/[id]/page.tsx
- src/app/api/trigger-intro/route.ts
- src/app/api/vendor-outcome/route.ts
Context
- Task type: Admin/Ops
- Priority: P1
- Current status: todo
Goal
- Ops runbook for intro failures and retries.
Expected ROI (estimate)
- Dev speed: 10-30% faster ops/debug response
- Runtime impact: 0-10% faster operator workflows
- Risk reduction: 20-45% fewer operational mistakes
- Effort: medium
Implementation request
Create OPS_RUNBOOK.md covering intro stuck states, retrigger procedure, and escalation path with exact checks in admin/Supabase.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Admin workflows are clear and operationally usable.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Google Search Console + Bing setup checklist execution.SEO/MarketingtodoP1
ROI: 5-15% faster launch marketing execution · No direct runtime impact · 10-25% fewer launch discoverability gaps
Effort: medium
Read first
- src/app/layout.tsx
- src/app/page.tsx
- src/app/discovery/page.tsx
- src/components/site/NavBar.tsx
Context
- Task type: SEO/Marketing
- Priority: P1
- Current status: todo
Goal
- Google Search Console + Bing setup checklist execution.
Expected ROI (estimate)
- Dev speed: 5-15% faster launch marketing execution
- Runtime impact: No direct runtime impact
- Risk reduction: 10-25% fewer launch discoverability gaps
- Effort: medium
Implementation request
Create SEO_LAUNCH_CHECKLIST.md and execute setup tasks: Search Console, Bing Webmaster Tools, sitemap submission, robots verification, index requests.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Metadata/indexing tasks are verified and documented.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Metadata/canonical/open-graph completeness pass.SEO/MarketingtodoP1
ROI: 5-15% faster launch marketing execution · No direct runtime impact · 10-25% fewer launch discoverability gaps
Effort: medium
Read first
- src/app/layout.tsx
- src/app/page.tsx
- src/app/discovery/page.tsx
- src/components/site/NavBar.tsx
Context
- Task type: SEO/Marketing
- Priority: P1
- Current status: todo
Goal
- Metadata/canonical/open-graph completeness pass.
Expected ROI (estimate)
- Dev speed: 5-15% faster launch marketing execution
- Runtime impact: No direct runtime impact
- Risk reduction: 10-25% fewer launch discoverability gaps
- Effort: medium
Implementation request
Audit all public pages for title/description/canonical/OG tags and patch only missing or incorrect entries.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Metadata/indexing tasks are verified and documented.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸GA4 instrumentation for core conversion events.SEO/MarketingtodoP1
ROI: 5-15% faster launch marketing execution · No direct runtime impact · 10-25% fewer launch discoverability gaps
Effort: medium
Read first
- src/app/layout.tsx
- src/app/page.tsx
- src/app/discovery/page.tsx
- src/components/site/NavBar.tsx
Context
- Task type: SEO/Marketing
- Priority: P1
- Current status: todo
Goal
- GA4 instrumentation for core conversion events.
Expected ROI (estimate)
- Dev speed: 5-15% faster launch marketing execution
- Runtime impact: No direct runtime impact
- Risk reduction: 10-25% fewer launch discoverability gaps
- Effort: medium
Implementation request
Add minimal GA4 events for intake_started, shortlist_generated, intro_sent and document event names + payload fields.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Metadata/indexing tasks are verified and documented.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Release candidate and rollback docs.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Release candidate and rollback docs.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Create RELEASE_CANDIDATE.md and ROLLBACK_PLAN.md with feature-scoped rollback units and post-rollback verification steps.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Route cleanup plan for /discovery/shortlist-generator.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Route cleanup plan for /discovery/shortlist-generator.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Confirm no active callers depend on /discovery/shortlist-generator; then deprecate or remove it safely to avoid duplicate discovery entry points.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Add lightweight cycle-regression check for barrel imports.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Add lightweight cycle-regression check for barrel imports.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Add a lightweight import-cycle regression check to CI/dev workflow (focused on src barrels and discovery/db modules) and document how to run/fix failures.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Configure CI Supabase secrets for e2e workflow activation.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Configure CI Supabase secrets for e2e workflow activation.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Set NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, and SUPABASE_SERVICE_ROLE_KEY in GitHub Actions secrets so discovery persistence e2e runs on PRs instead of skipping.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Automate weekly data health audit for shortlist/intros tables.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Automate weekly data health audit for shortlist/intros tables.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Set up an automated weekly 'data health check' that runs the SQL in supabase/sql/shortlist_integrity_checks.sql against staging and reports pass/fail. Non-technical goal: early warning if shortlist or intro records become inconsistent, before it affects couples or vendors.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Configure GOOGLE_PLACES_API_KEY across environments.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Configure GOOGLE_PLACES_API_KEY across environments.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Set GOOGLE_PLACES_API_KEY in local, preview, and production envs so discovery Places autocomplete/details endpoints are enabled. Verify /api/places/autocomplete and /api/places/details return live suggestions/details and that discovery persists place_id/lat/lng on location selection.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Apply production restrictions to Google Places API key.QA/ReleasetodoP1
ROI: 10-25% faster release decision cycles · No direct runtime impact · 35-65% fewer release regressions
Effort: medium
Read first
- src/app/discovery/page.tsx
- src/app/results/page.tsx
- src/app/results/ResultsClient.tsx
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/launch-pack/page.tsx
Context
- Task type: QA/Release
- Priority: P1
- Current status: todo
Goal
- Apply production restrictions to Google Places API key.
Expected ROI (estimate)
- Dev speed: 10-25% faster release decision cycles
- Runtime impact: No direct runtime impact
- Risk reduction: 35-65% fewer release regressions
- Effort: medium
Implementation request
Harden GOOGLE_PLACES_API_KEY in Google Cloud before launch: restrict allowed APIs to Places only, set application restrictions suitable for server-side usage, rotate any previously unrestricted key, and verify discovery still works after restriction.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Critical path smoke checks are recorded with pass/fail.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-ups▸Decide future ownership of vendor location_region field.DB/DatatodoP2
ROI: 10-25% faster data-change confidence · 5-20% query/data consistency gains · 30-55% fewer data integrity issues
Effort: low-medium
Read first
- src/lib/db/index.ts
- src/app/api/match/route.ts
- src/app/api/introductions/category/route.ts
- src/app/ops/intros/page.tsx
- src/app/ops/intros/[id]/page.tsx
Context
- Task type: DB/Data
- Priority: P2
- Current status: todo
Goal
- Decide future ownership of vendor location_region field.
Expected ROI (estimate)
- Dev speed: 10-25% faster data-change confidence
- Runtime impact: 5-20% query/data consistency gains
- Risk reduction: 30-55% fewer data integrity issues
- Effort: low-medium
Implementation request
Audit current reads/writes of mws_vendors.location_region and decide whether to keep it (display/ops segmentation) or deprecate it in favor of place_id + suburb/state + lat/lng. Document final decision and migration impact.
Rules
- Keep changes minimal and local.
- Do not modify backend contracts unless explicitly requested.
- No new dependencies unless explicitly requested.
- Update /ops/launch-pack after each successful task (status + shipped notes + next step).
Verification
- Run: npx tsc --noEmit
- Report any errors with file + line.
Stop conditions
- Changes remain scoped to this task.
- No unintended UI/behavior regressions on related routes.
- TypeScript check passes (`npx tsc --noEmit`).
- /ops/launch-pack is updated with status + shipped notes for this task.
- Persistence integrity checks pass for affected entities.
Deliverable
- Changed files list
- What changed and why
- Any risks or follow-upsConsolidation North Star
High-level launch architecture and constraints.
North Star
- One couple flow: /discovery -> /results?s=<shortlistId> -> introductions sent.
- One public vendor profile: /vendors/[slug].
- One ops/admin surface: /ops/* and /admin/*.
- Database is source of truth once intakeId or shortlistId exists.
Launch Architecture
- Route and surface consolidation.
- API consolidation (canonical endpoints only).
- Data contract hardening for intake v2.6, shortlistId responses, and intro payload contract.
- State and idempotency rules for intake, results, shortlist items, and intro sending.
- Security and access checks (service role on server only, RLS, admin gating).
- Reliability and observability (structured logs, retry-safe intro trigger behavior).
- Launch confidence smoke tests on the full path.
Latest shipped updates
Keep this section current after each completed task.
▸Show shipped updates38
2026-02-17
Results dev diagnostics overlay shipped
Added a dev-only /results diagnostics overlay with per-vendor score breakdowns (stored/recomputed score, style/budget/geo/category boosts), intake/vendor geo values, computed distance bands, and inclusion flags for faster matching QA.
Next: Use the overlay to calibrate scoring during vendor geo backfill, then close the in-progress geo backfill task.
2026-02-16
Vendor geo backfill tooling prepared
Added a safe scripted backfill (`npm run backfill:vendor-geo`) plus runbook docs and an integrity check for active vendors missing geo fields. Matching already applies geo distance weighting with fallback when geo is absent.
Next: Run the backfill script with service-role envs, then re-run integrity checks and mark task complete.
2026-02-16
Intake location state projection added
Extended intake location persistence with state support (`locationState`/`event.location.state`) and projected `location_state` column sync, alongside `Suburb, State` display in discovery selection UX.
Next: Apply the new state projection migration in Supabase so production rows backfill correctly.
2026-02-16
DB/Data backlog sweep completed
Finalized category signal contract normalization, added shortlist integrity SQL checks + index migration, synced intake geo projection fields, and integrated optional Places autocomplete/details with place_id/lat/lng persistence and distance-aware matching boost.
Next: Run the new integrity SQL script in production DB and apply pending migrations before release candidate sign-off.
2026-02-16
Remaining API/backend hardening sweep completed
Closed remaining API tasks by adding top-level+nested intake fallbacks in canonical intro payload extraction, normalizing canonical error envelopes, and fully consolidating vendor submission ownership to /api/vendors/apply.
Next: Proceed with remaining non-API launch blockers (DB contract decision, release smoke suite, and rollback docs).
2026-02-16
Legacy /api/vendors/submit endpoint removed
Removed /api/vendors/submit after migrating callers to canonical /api/vendors/apply flow and updated API docs to reflect the final ownership model.
Next: Continue remaining release/ops backlog items and keep API surface stable for launch.
2026-02-16
/dev and /api/dev production gating completed
Added centralized dev-surface gating so /dev pages are hidden in production and /api/dev routes return 404 unless explicitly enabled via environment override.
Next: Complete pre-release smoke suite and rollback docs to close remaining launch hardening tasks.
2026-02-16
Intro retry semantics hardened
Made canonical introductions retry-safe by reusing matching generated/sent intros instead of creating duplicates, and made /api/trigger-intro return a deterministic already-sent success for repeat introId calls.
Next: Close the next P0 release blocker: gate /dev and /api/dev routes in production.
2026-02-16
Shortlist idempotency hardening shipped
Updated /api/match to reuse generated shortlists and reject concurrent duplicate generation attempts with a deterministic in-progress response for the same intake.
Next: Harden intro retry semantics next so send/retrigger behavior is equally duplicate-safe.
2026-02-16
Launch Pack audit and scope refresh completed
Re-audited backlog against shipped code and closed work: marked homepage/nav/results-hydration/state-reset/admin-list tasks complete, moved partially completed items to in_progress, and narrowed pending scope to unresolved release blockers.
Next: Finish remaining P0s: shortlist idempotency, intro retry semantics, /dev production gating, and release smoke + rollback docs.
2026-02-16
Deterministic discovery progression pack closed
Marked discovery progression/resume hardening complete after chat orchestration refactors, review-mode extraction, regression tests, and real-device iOS sign-off.
Next: Focus next on results hydration fallback tightening and remaining Ops/Compliance tasks.
2026-02-16
Admin intros list usability pass completed
Improved /ops/intros operator scan speed with clearer status chips, compact intro IDs, sticky table headers, visible summary metrics, and stronger row open affordance while keeping existing actions/routes unchanged.
Next: Execute Ops runbook task for intro failures/retries with exact operator checks and escalation path.
2026-02-16
Real-device iOS chat-shell QA signed off
Completed manual sign-off on iPhone Safari and Chrome for discovery chat shell behavior (header/composer visibility, keyboard interaction, and no outer scroll regressions).
Next: Proceed with remaining launch backlog items (email identities/compliance and Places integration).
2026-02-16
Intake payload-to-column sync hardened
Synced mws_intakes projection fields in create/update APIs (event_date, location_suburb, venue_name, budget_range, categories), added shared projection helpers in src/lib/intake/intakeProjection.ts, and added supabase/migrations/20260216_sync_mws_intakes_projection.sql for trigger + backfill.
Next: Apply the new SQL migration in Supabase and validate one create/update cycle in mws_intakes for payload + top-level parity.
2026-02-16
Mobile chat QA sweep added and passed
Added tests/e2e/discovery-mobile-qa.spec.ts and ran it alongside discovery chat regressions (5/5 passing) to validate viewport lock, sticky shell visibility, and chat-scroll behavior in mobile emulation.
Next: Run real-device iOS Safari + iOS Chrome sign-off for keyboard-open behavior and mark final mobile QA complete.
2026-02-16
Mobile chat viewport handling centralized
Added src/flows/discovery/hooks/useMobileChatViewport.ts and reused it in discovery to centralize keyboard inset detection, nav hiding, and page scroll locking.
Next: Run a final discovery mobile QA pass on iOS Safari + Chrome and then close remaining chat polish tasks.
2026-02-16
Discovery chat regression invariants added
Added mocked Playwright discovery regression coverage in tests/e2e/discovery-chat-regressions.spec.ts for prompt de-duplication on refresh, review edit-loop recovery, and category remove persistence cleanup.
Next: Execute Discovery Chat audit task #7: move keyboard/viewport handling into a reusable mobile chat shell helper.
2026-02-16
Discovery state reset paths consolidated
Reduced duplicated reset logic in src/app/discovery/page.tsx by introducing shared transient-error and payload-session helpers, and removed a redundant chat-only meta bar flag without behavior change.
Next: Execute Discovery Chat audit task #6: add discovery chat invariants + regression checks.
2026-02-16
Discovery UI blocks componentized
Split monolithic discovery page UI into reusable components: DiscoveryHeader, DiscoveryHero, DiscoveryChatPanel, DiscoveryReviewSequence, and DiscoveryComposer under src/flows/discovery/components with no backend or UX contract changes.
Next: Execute Discovery Chat audit task #5: consolidate duplicate state resets and remove redundant state flags.
2026-02-16
Discovery review-mode orchestration extracted
Added src/flows/discovery/hooks/useDiscoveryReviewMode.ts to isolate review reveal timing, review edit mode, date-edit state, and return-to-review transitions from page.tsx with no backend contract changes.
Next: Execute Discovery Chat audit task #4: componentize discovery UI blocks without changing behavior.
2026-02-16
Discovery chat pure utilities extracted
Moved pure discovery-chat utilities from src/app/discovery/page.tsx into src/lib/intake/discoveryChatUtils.ts (date parsing/formatting, payload normalization/defaulting, draft mapping, category cleanup, progression guards) with no contract changes.
Next: Execute Discovery Chat audit task #2: split intake API/hydration transitions into useDiscoveryIntake hook.
2026-02-16
Discovery intake API/hydration moved to hook
Added src/flows/discovery/hooks/useDiscoveryIntake.ts and moved intake create/update/get hydration + session restore + start-again storage clearing out of page.tsx while preserving endpoint contracts and behavior.
Next: Execute Discovery Chat audit task #3: extract review-mode orchestration into useDiscoveryReviewMode.
2026-02-14
Route + API inventory completed
Generated a full app/API inventory and marked canonical vs deprecated candidates to reduce route ownership ambiguity before launch.
Next: Execute Day 1 task #2: canonical data shape mapping and mismatch audit.
2026-02-14
API contract README added
Added src/app/api/README.md with canonical endpoints, dev/internal endpoints, and deprecation candidates.
Next: Execute deprecation plan for /api/persist-intro and endpoint ownership cleanup for vendor submission.
2026-02-14
Canonical vs legacy data shape mapping completed
Mapped discovery payload, intake persistence payload, match input contract, and intro payload extraction; identified concrete drift points between canonical and legacy shapes.
Next: Execute payload unification tasks (replace legacy IntakePayload imports and align create/update payload defaults with canonical fields).
2026-02-14
IntakePayload imports unified to canonical type
Repointed matching, intro utilities, API match route, intake-chat, and shortlist-generator imports to use src/lib/intake/types instead of legacy components/intake type exports.
Next: Align /api/intakes/create defaults with the full discovery payload shape and then normalize category-specific signal contract.
2026-02-14
Barrel/circular import pass completed
Scanned all src index.ts barrels and import paths; no active barrel-driven cycles found in discovery/hooks/scenes/vendors/db usage.
Next: Proceed with payload default alignment in /api/intakes/create and category-signal contract unification.
2026-02-14
Launch readiness scope doc published
Added LAUNCH_READINESS.md with launch in-scope/out-of-scope boundaries, critical path, rollback points, and known risks.
Next: Execute payload default alignment task, then deprecate overlapping intro endpoint path.
2026-02-14
Intake create defaults aligned to discovery payload
Updated /api/intakes/create default payload to include current discovery fields (contact details, budget flexibility, category-specific fields) and nested event budget defaults.
Next: Finish overlap cleanup by migrating remaining /api/persist-intro callers to /api/introductions/category.
2026-02-14
Persist-intro deprecation started
Marked /api/persist-intro as a legacy compatibility shim and added deprecation metadata + warning header in success responses.
Next: Complete deprecation by switching /discovery/shortlist-generator off /api/persist-intro.
2026-02-14
Persist-intro overlap cleanup completed
Migrated /discovery/shortlist-generator away from /api/persist-intro by persisting shortlist selections then calling canonical /api/introductions/category.
Next: Monitor legacy endpoint usage and remove /api/persist-intro after the compatibility window.
2026-02-14
Legacy persist-intro endpoint removed
Deleted /api/persist-intro/route.ts after confirming migrated callers, and updated API/readiness docs to reflect canonical intro flow ownership.
Next: Continue with non-API launch hardening tasks in release and ops tracks.
2026-02-14
Day 2 intake reliability completed
Verified create-on-date + ?i= resume path, aligned event_date/date normalization in intake updates, and hardened query-vs-session hydration to avoid duplicate prompts.
Next: Proceed to Day 3 persistence integrity tasks for match/results.
2026-02-14
Day 3 match/results persistence integrity completed
Added intake-based shortlist idempotency in /api/match (reuse generated shortlist or rebuild existing building one), hardened /results shortlistId validation/logging, and blocked duplicate generate submits while routing.
Next: Proceed to Day 4 canonical introductions pipeline hardening and preference gating validation.
2026-02-14
Discovery persistence e2e added to CI
Added Playwright config + discovery/results persistence spec and wired a GitHub Actions workflow to run typecheck plus the discovery persistence e2e path when Supabase secrets are configured.
Next: Expand CI coverage to introductions/admin smoke path once deterministic fixtures are finalized.
2026-02-14
Day 4 canonical introductions pipeline completed
Confirmed /api/introductions/category as canonical intro creator with shortlist+intake assembly, preference gating, server-side /api/trigger-intro call, and sent status response; added s->shortlistId compatibility in request handling.
Next: Proceed to Day 5 admin observability polish and retrigger verification.
2026-02-14
Homepage and vendor positioning refreshed
Updated couples homepage messaging/CTAs around discovery flow and added vendor examples CTA; refreshed /vendors positioning around warm, pre-vetted introductions and explicit availability controls.
Next: Add dedicated couples and vendor landing-page variants once core launch scope is locked.
2026-02-14
Homepage and vendors visual design upgrade
Rebuilt / and /vendors with custom editorial layouts, richer hierarchy, atmospheric gradients, and launch-focused trust/CTA blocks without changing backend behavior.
Next: Run mobile visual QA and tune spacing/typography across common viewport breakpoints.
Discovery Chat Refactor Audit
Specialized cleanup board for `src/app/discovery/page.tsx` to reduce risk and keep behavior stable.
▸Show discovery chat audit tasks0
No tasks in this filter.
Daily Definition Of Done
- npx tsc --noEmit passes
- next build passes
- One full manual run passes: /discovery -> /results?s= -> intros send -> admin verification
- New known issues are logged with workaround
Demo Script Snapshot
Condensed run order for vendor-facing walkthrough.
- Pre-demo setup: open /discovery, /ops/intros, and Supabase tables for intakes/shortlists/items/intros.
- Run intake chat and complete required fields while narrating personalization.
- Generate shortlist and confirm overlay + redirect to /results?s=<id>.
- Include vendors and continue to send introductions.
- Open /ops/intros and confirm intro status/payload for operations visibility.
Post-Launch Tasks (Week 1-2)
SEO, analytics, reliability, and compliance follow-through.
- Connect Google Search Console and verify domain ownership.
- Connect Bing Webmaster Tools and verify site.
- Submit sitemap.xml in both tools.
- Validate robots.txt rules and ensure key pages are crawlable.
- Request indexing for key pages (/ , /discovery, sample /vendors/[slug]).
- Confirm GA4 is installed and key events fire (intake started, shortlist generated, intro sent).
- Create a launch dashboard (traffic, conversion to shortlist, intro send rate).
- Audit metadata and canonical tags on core pages.
- Set uptime and error alerting for discovery/results/intros.
- Recheck RLS, env vars, and gate/remove any remaining /dev entry points.
Coverage Snapshot
Quick completeness check across all task sources.
UI/UX
4/6
done
Flow/State
9/9
done
API/Backend
15/15
done
DB/Data
9/11
done
Admin/Ops
3/8
done
SEO/Marketing
0/3
done
QA/Release
3/16
done
Content/Brand
2/3
done