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-ups

Consolidation 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
Current observation: discovery chat logic is functionally strong but concentrated in one high-complexity file (state machine + API hydration + mobile viewport + review rendering). These tasks break it into safer units.

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