4.8 KiB
4.8 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 — closed) Status: DONE
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 (#1155)
- Phase 1 complete (E2E quality gate, conversion funnel, analytics all DONE)
- Pitch deck created (landing/public/pitch-deck.html — merged via PR #1175, #1155 closed)
- Brand identity defined (human decision — #1155 comment: "No brand identity/domain yet")
- Pitch deck reviewed with final branding (awaits brand identity) Status: BLOCKED — awaiting human decision on brand identity
Objective: Domain registration
- Brand identity defined
- Domain registered and DNS configured Status: BLOCKED — prerequisite chain (brand identity first)
Objective: Influencer outreach
- Pitch deck exists (landing/public/pitch-deck.html)
- Pitch deck reviewed with final branding
- 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)
- Domain registered and pointing to infrastructure
- Pitch deck reviewed
- Influencers committed
- Adversarial testing depth for launch confidence (#1178 in progress — 2 real red-team runs, 1 ghost run excluded per #1177; need 3+ real runs) 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 validated candidates (requires fitness JSON + holdout validation) 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 real files + 1 ghost)
- Evolution commits via PR (#1047 — closed)
- Evolution pipeline produces committed fitness evidence (best.push3 untracked on master, no JSON fitness data — per #1166)
- Holdout produces data (evidence/holdout/2026-03-22-issue517-adversarial-lp.json)
- User-test produces data (evidence/user-test/2026-03-25.json + 2026-03-26 post-wallet-fix)
- Resources/protocol formulas produce data (formulas exist, evidence dirs empty) Status: BLOCKED — 2 prerequisites unresolved
Objective: User funnel fix
- Wallet connector renders at 1280x720 viewport (#1156 — closed, verified by user-test 2026-03-26: 5/5 personas connect)
- Desktop connect button visible at standard viewports (#1156 — closed)
- attemptStake helper navigation fix (#1168 — closed, merged via PR #1171)
- Post-fix staking verification (0/5 staking success in last user-test; #1180 dispatched to re-verify) Status: BLOCKED — 1 prerequisite unresolved (awaiting #1180 user-test results)
Objective: E2E test hygiene
- Cross-browser spec glob fix (#1154 — closed)
- Woodpecker evidence-only PR pipeline (#1153 — closed) Status: DONE