harb/planner/prerequisite-tree.md
johba 3f0c8d5342 chore: planner run — Phase 1 complete, bottleneck shifts to Phase 2 (#1157)
Automated planner run — prerequisite tree update and journal entry.

## Changes
- Phase 1 marked DONE (E2E quality gate, conversion funnel, analytics, release pipeline)
- Bottleneck shifted to Phase 2 launch preparation
- New issues filed: #1155 (pitch deck), #1156 (wallet connector fix)
- Predictions triaged: #1148→#1154, #1149 dismissed, #1150 dismissed, #1141 watching, #1104 dismissed
- Priority labels applied to #1154, #1155, #1156

Reviewed-on: https://codeberg.org/johba/harb/pulls/1157
2026-03-25 09:36:59 +01:00

4.1 KiB

Prerequisite Tree

Phase 1 — Quality gate & release pipeline

Objective: E2E quality gate (#1099)

  • Core E2E test suite exists (tests/e2e/, 7 files)
  • Mobile viewport coverage (#1099 — closed, merged PR #1139)
  • Cross-browser matrix (#1099 — closed, merged PR #1139)
  • OptimizerV3 test coverage (#1054 — closed)
  • Floor ratchet attack defeated (#1067, #1082 — closed)
  • int256 overflow patched (#1031 — closed)
  • Overflow guard for slots 1-7 (#997 — closed, merged 29b8f7d) Status: DONE

Objective: Conversion funnel verification (#1100)

  • Landing page exists
  • Staking app exists
  • E2E quality gate passing (#1099 — closed)
  • Funnel test: landing → swap → stake (07-conversion-funnel.spec.ts exists, covers full flow with analytics events)
  • Cross-browser spec glob fix (#1154) — funnel spec unintentionally runs on Firefox/WebKit/mobile Status: DONE — funnel test exists and runs. Minor glob issue tracked in #1154.

Objective: Release pipeline

  • CI pipeline (Woodpecker)
  • Docker images (registry.niovi.voyage)
  • E2E quality gate integrated into release (#1099 — closed) Status: DONE

Objective: Analytics (#1101)

  • Self-hosted Umami deployed (Docker service, documented in ENVIRONMENT.md)
  • Landing page instrumented (landing/src/views/HomeView.vue, landing/src/main.ts)
  • Staking app instrumented (web-app/src/composables/useStake.ts, useSwapKrk.ts, useWallet.ts)
  • @harb/analytics package with funnel events (packages/analytics/src/index.ts)
  • E2E quality gate passing (#1099 — closed) Status: DONE

Phase 2 — Coordinated launch

Objective: Pitch deck

  • Phase 1 complete (E2E quality gate, conversion funnel, analytics all DONE)
  • Pitch deck created (PDF explaining KRK, floor mechanics, how to buy/stake) Status: BLOCKED — pitch deck not yet created

Objective: Influencer outreach

  • Pitch deck exists
  • At least 3 influencers committed Status: BLOCKED — prerequisite chain

Objective: Launch day deployment

  • LiquidityManager contract
  • UUPS upgradeable optimizer
  • Conversion funnel verified (07-conversion-funnel.spec.ts)
  • Pitch deck reviewed
  • Influencers committed
  • Adversarial testing depth for launch confidence (per #1141 concern: 2 red-team runs insufficient for real ETH) Status: BLOCKED — prerequisite chain

Phase 3 — Operations

Objective: Community channel

  • Launch day scheduled Status: BLOCKED — prerequisite chain

Objective: Optimizer governance

  • Protocol live with real users
  • Evolution pipeline producing candidates Status: BLOCKED — prerequisite chain

Foundation (cross-cutting)

Objective: Contract safety

  • Floor ratchet attack defeated (#1067 — closed)
  • int256 overflow patched (#1031 — closed)
  • Overflow guard for slots 1-7 (#997 — closed, merged 29b8f7d)
  • Catch block clamping fix (#1019 — closed)
  • OptimizerV3 tested (#1054 — closed) Status: DONE

Objective: Evidence pipeline

  • Red-team formula exists
  • Evolution formula exists
  • Red-team produces persistent evidence (evidence/red-team/, 2 files)
  • Evolution commits via PR (#1047 — closed)
  • Evolution pipeline produces output (evidence/evolution/best.push3 exists)
  • Holdout produces data (evidence/holdout/2026-03-22-issue517-adversarial-lp.json)
  • User-test produces data (evidence/user-test/2026-03-25.json — 0/5 personas completed, wallet connector blocking)
  • Resources/protocol formulas produce data (formulas exist, evidence dirs empty) Status: BLOCKED — 1 prerequisite unresolved

Objective: User funnel fix

  • Wallet connector renders at 1280x720 viewport (all 5 user-test personas blocked here)
  • Desktop connect button visible at standard viewports Status: BLOCKED — discovered via user-test evidence 2026-03-25. Blocks all user funnels.

Objective: E2E test hygiene

  • Cross-browser spec glob fix (#1154 — CROSS_BROWSER_SPECS matches unintended conversion-funnel spec)
  • Woodpecker evidence-only PR pipeline (#1153) Status: BLOCKED — 2 prerequisites unresolved