107 lines
4.5 KiB
Markdown
107 lines
4.5 KiB
Markdown
# Prerequisite Tree
|
|
<!-- Last updated: 2026-03-26 -->
|
|
|
|
## Phase 1 — Quality gate & release pipeline
|
|
|
|
### Objective: E2E quality gate (#1099)
|
|
- [x] Core E2E test suite exists (tests/e2e/, 7 files)
|
|
- [x] Mobile viewport coverage (#1099 — closed, merged PR #1139)
|
|
- [x] Cross-browser matrix (#1099 — closed, merged PR #1139)
|
|
- [x] OptimizerV3 test coverage (#1054 — closed)
|
|
- [x] Floor ratchet attack defeated (#1067, #1082 — closed)
|
|
- [x] int256 overflow patched (#1031 — closed)
|
|
- [x] Overflow guard for slots 1-7 (#997 — closed, merged 29b8f7d)
|
|
Status: DONE
|
|
|
|
### Objective: Conversion funnel verification (#1100)
|
|
- [x] Landing page exists
|
|
- [x] Staking app exists
|
|
- [x] E2E quality gate passing (#1099 — closed)
|
|
- [x] Funnel test: landing → swap → stake (07-conversion-funnel.spec.ts exists, covers full flow with analytics events)
|
|
- [x] Cross-browser spec glob fix (#1154 — closed)
|
|
Status: DONE
|
|
|
|
### Objective: Release pipeline
|
|
- [x] CI pipeline (Woodpecker)
|
|
- [x] Docker images (registry.niovi.voyage)
|
|
- [x] E2E quality gate integrated into release (#1099 — closed)
|
|
Status: DONE
|
|
|
|
### Objective: Analytics (#1101)
|
|
- [x] Self-hosted Umami deployed (Docker service, documented in ENVIRONMENT.md)
|
|
- [x] Landing page instrumented (landing/src/views/HomeView.vue, landing/src/main.ts)
|
|
- [x] Staking app instrumented (web-app/src/composables/useStake.ts, useSwapKrk.ts, useWallet.ts)
|
|
- [x] @harb/analytics package with funnel events (packages/analytics/src/index.ts)
|
|
- [x] E2E quality gate passing (#1099 — closed)
|
|
Status: DONE
|
|
|
|
## Phase 2 — Coordinated launch
|
|
|
|
### Objective: Pitch deck (#1155)
|
|
- [x] Phase 1 complete (E2E quality gate, conversion funnel, analytics all DONE)
|
|
- [ ] Brand identity defined (human decision — #1155 comment: "No brand identity/domain yet")
|
|
- [ ] Pitch deck created (PDF explaining KRK, floor mechanics, how to buy/stake)
|
|
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
|
|
- [ ] At least 3 influencers committed
|
|
Status: BLOCKED — prerequisite chain
|
|
|
|
### Objective: Launch day deployment
|
|
- [x] LiquidityManager contract
|
|
- [x] UUPS upgradeable optimizer
|
|
- [x] 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 (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 validated candidates (requires fitness JSON + holdout validation)
|
|
Status: BLOCKED — prerequisite chain
|
|
|
|
## Foundation (cross-cutting)
|
|
|
|
### Objective: Contract safety
|
|
- [x] Floor ratchet attack defeated (#1067 — closed)
|
|
- [x] int256 overflow patched (#1031 — closed)
|
|
- [x] Overflow guard for slots 1-7 (#997 — closed, merged 29b8f7d)
|
|
- [x] Catch block clamping fix (#1019 — closed)
|
|
- [x] OptimizerV3 tested (#1054 — closed)
|
|
Status: DONE
|
|
|
|
### Objective: Evidence pipeline
|
|
- [x] Red-team formula exists
|
|
- [x] Evolution formula exists
|
|
- [x] Red-team produces persistent evidence (evidence/red-team/, 2 files)
|
|
- [x] Evolution commits via PR (#1047 — closed)
|
|
- [ ] Evolution pipeline produces committed fitness evidence (best.push3 untracked on master, no JSON fitness data — per #1166)
|
|
- [x] Holdout produces data (evidence/holdout/2026-03-22-issue517-adversarial-lp.json)
|
|
- [x] User-test produces data (evidence/user-test/2026-03-25.json + 2026-03-26 post-wallet-fix on PR #1167)
|
|
- [ ] Resources/protocol formulas produce data (formulas exist, evidence dirs empty)
|
|
Status: BLOCKED — 2 prerequisites unresolved
|
|
|
|
### Objective: User funnel fix
|
|
- [x] Wallet connector renders at 1280x720 viewport (#1156 — closed, verified by user-test 2026-03-26: 5/5 personas connect)
|
|
- [x] Desktop connect button visible at standard viewports (#1156 — closed)
|
|
- [ ] attemptStake helper navigation fix (#1168 — produces /stakestake invalid route, blocks staking verification)
|
|
Status: BLOCKED — 1 prerequisite unresolved
|
|
|
|
### Objective: E2E test hygiene
|
|
- [x] Cross-browser spec glob fix (#1154 — closed)
|
|
- [x] Woodpecker evidence-only PR pipeline (#1153 — closed)
|
|
Status: DONE
|