| # | Date | Decision | Rationale | Made by |
|---|---|---|---|---|
| 1 | 2026-06-24 | Codebase restructured into a single brody/ package |
Eliminated 3x duplication; market plugin pattern | CTO |
| 2 | 2026-06-24 | ML forecasting uses LightGBM | Proven on tabular data, fast, good with small datasets | CTO |
| 3 | 2026-06-24 | Data stored as Hive‑partitioned Parquet | Compression, columnar reads, Python‑native | CTO |
| 4 | 2026-06-24 | Primary market: Guangdong, transition→VPP model (NOT arbitrage) | Validated on 29 real C&I sites: appropriately‑sized BESS saves a median ~2,000 CNY/mo (up to 45,000+ for large sharp‑peak sites), ~6‑yr median payback. Battery savings alone are insufficient for venture scale → the transition‑SaaS + VPP revenue stacking is the business. | CEO + CTO |
| 5 | 2026-06-24 | Target customer: behind‑the‑meter C&I + industrial parks, screened on PEAKINESS | Savings come from sharp, short peaks — load shape, not size. Screen on peak‑to‑average ratio + demand‑charge intensity; ~half of C&I sites do not qualify (flat multi‑MW loads gain almost nothing). | CEO + CTO |
| 6 | 2026-06-24 | Sequence: Transition/EMS SaaS → asset operation → VPP | Demand response (no license) before spot (license requires 售电 qualification); revenue before the hardest tech. | CEO + CTO |
| 7 | 2026-06-24 | Licensing: partner/acquire for 售电 qualification (Day‑1 workstream) | Gates VPP energy trading; a retail license + book beats the same capital in software. | CEO + CTO |
| 8 | 2026-06-24 | Standard BESS spec: 2‑hour LFP sized to ~15% of site peak (per‑site, not fixed) | Validation: 2‑hour optimal for every site (4‑hour never paid off); ~15% of peak maximizes demand‑charge savings vs capex. 200 kW / 400 kWh is a building block, not a blanket spec. | CEO + CTO |
| 9 | 2026-06-25 | Pricing: SaaS base 5,000–10,000 CNY/mo + 30% shared savings (grounded) | Aligns incentives; recurring baseline + upside from bill reduction. Regrounded on validated median savings (~2,000 CNY/mo) → shared portion 600 CNY/mo; SaaS+shared yields ARPU 5,600–10,600 CNY/mo. Financial model shows LTV/CAC 1.5–3x in Phase 1, rising to 2.8–6x with VPP stack. Still (proposed) until market testing. | CEO |
| 10 | 2026-06-25 | Site qualification_score threshold set at 0.5 (proposed) | Corresponds to the median payback viability in the keystone validation (median savings ~2,000 CNY/mo, top half pay back in ~6 yr). Sites scoring <0.5 are not recommended for BESS deployment. Now formalized with weighted factor model (see #22). | CEO |
| 11 | 2026-06-25 | Dashboard front‑end UI takes priority over CLI brody report command |
The per‑pilot reports are the centerpiece of the go‑to‑market playbook and investor demos; a CLI would not serve that purpose. CTO will focus on UI delivery (target 2026‑07‑07) and can consider a CLI later for developer convenience. | CEO |
| 12 | 2026-06-25 | Unit‑economics model built and benchmarked to validated savings | Per‑site ARPU 5,600–10,600 CNY/mo (Phase 1) and 7,000–13,700 CNY/mo with VPP stacking; LTV/CAC reaches venture scale only when VPP is layered on. This sharpens the investor story and confirms the SaaS‑first wedge strategy. | CEO |
| 13 | 2026-06-25 | GTM playbook demo script prioritized as next concrete sales‑enablement deliverable (target 2026‑07‑10) | A concise, repeatable demo flow built around the pilot reports and dashboard will accelerate pilot conversations and investor demos. It couples tightly with the 07‑15 demo integration. | CEO |
| 14 | 2026-06-25 | Investor pitch deck content (slides, narrative, financial model) completed (target 2026‑06‑30 met early) | Full deck with financial projections is ready for investor conversations. Now moving into rehearsal phase. | CEO |
| 15 | 2026-06-25 | Pitch rehearsal and refinement to be an internal, iterative process | CEO will record a dry‑run of the investor narrative, solicit targeted feedback (internal), refine the deck, and repeat. No external exposure until polished. Target completion July 10. | CEO |
| 16 | 2026-06-25 | Pitch dry‑run v1 completed; feedback captured and deck revisions completed. Second rehearsal targeted 2026‑07‑03, final polish by 07‑10. | Rehearsal revealed the need for clearer VPP revenue‑stack walkthrough, specific regulatory trigger dates, and a stronger contrast with pure‑arbitrage pitch. Rehearsal v2 postponed per founder directive; will use real full‑year numbers only. | CEO |
| 17 | 2026-06-25 | Storage tests identified 2 failures (test‑only bugs, not code); now RESOLVED | Root cause was test assertions not matching frozen storage API. CTO confirmed all 40 tests pass as of cycle 27. Underlying storage, optimizer, and dashboard are stable. No impact on July 15 demo integration target. | CEO + CTO |
| 18 | 2026-06-25 | CEO provided full tests/test_storage.py to CTO; test fix complete |
CTO needed the file to fix the two failures without breaking other tests. Tests now green. Issue closed. | CEO + CTO |
| 19 | 2026-06-25 | Dispatch wiring (forecast → optimizer → dispatch controller) prioritized over Modbus driver for next CTO cycle | The forecast‑to‑dispatch loop is the core technical bridge from Phase 1 (SaaS) to Phase 2 (asset operation). Without it, the optimizer cannot drive real‑world BESS dispatch against live price forecasts — the foundation of Stage 2 revenue. Modbus driver is needed for hardware integration but is downstream of the dispatch logic; it can follow in the subsequent cycle. | CEO |
| 20 | 2026-06-25 | Reserve co‑optimization module created (brody/core/reserve_optimizer.py, CVXPY LP + heuristic fallback) |
CTO delivered the module (cycle 58). This is a building block for revenue stacking. | CTO |
| 21 | 2026-06-26 | Previous dispatch validation numbers (1,680 CNY vs 2,050 CNY) retired — no longer used in external materials | These numbers were generated from earlier code and may not reflect current engine performance. All external‑facing savings figures now gate on engine‑validated full‑year backtest output. | CEO |
| 22 | 2026-06-26 | Mid‑run report executed by CEO using report_from_csv_multi() and the September 2025 progress checkpoint; captured annualized 9,260 CNY savings, 5.4 yr payback, 0.56 qualification score for the median site |
This validated that the engine, forecaster, and report pipeline work end‑to‑end on a representative data slice. The numbers are not the final full‑year result but are consistent with the keystone validation range. Full‑year run continues. | CEO |
| 23 | 2026-06-26 | Go/no‑go thresholds formalized: annual net savings < 12,000 CNY = NO‑GO (pivot), 12,000–24,000 = MEDIUM (proceed cautiously, seek partner/investor to expand scope), > 24,000 = GO. | Mid‑run annualized 9,260 CNY is below the medium threshold, but full‑year may diverge. These thresholds align with the keystone validation that top‑half sites pay back in ~6 yr, while ensuring a floor for venture viability. All numbers engine‑validated. | CEO |
| 24 | 2026-06-26 | Pivot scenario pre‑analysis documented (business plan §27) and will be executed within 48h of go/no‑go decision. | Preparation enables rapid strategic shifts without analysis paralysis after the full‑year numbers land. Pivot options cover pure advisory, larger sites, Visayas shift, partnership model, and cautious go strategies. | CEO |
(reconciled by CEO — cycle 162, 2026-06-26 16:08 CST)