Summary
Follow-up to #408 (HistoricalDataStore persistence). The "today" store landscape is still fragmented across four stores with three different persistence patterns:
| Store |
Persists? |
Where |
HistoricalDataStore |
✅ (via #408, folded into DailyViewStore) |
/data/daily_views/{date}.json |
DailyViewStore |
✅ |
/data/daily_views/{date}.json, one file/day |
PredictionSnapshotStore |
✅ |
/data/bess_prediction_snapshots.json |
ScheduleStore (strategic intents) |
✅ |
/config/bess_strategic_intents.json |
PredictionSnapshotStore and ScheduleStore each still have their own bespoke JSON format and location (note /config vs /data inconsistency too), separate from the DailyView schema HistoricalDataStore/DailyViewStore now share.
Proposal
Fold PredictionSnapshotStore and ScheduleStore into the same DailyView-per-day file DailyViewStore already owns, the same direction #408 took for HistoricalDataStore — one file format, one persistence convention, instead of four.
Explicitly deferred from #408
Per the design spec (docs/superpowers/specs/2026-07-27-historical-data-store-persistence-design.md, "Out of scope" section):
Consolidating PredictionSnapshotStore and ScheduleStore into the same file/format. Explicitly deferred; this design is one step toward that end state, not the full migration.
Scope note
This is a bigger blast radius than #408 — touches ScheduleStore's optimization-result storage (used for schedule application, not just display) and PredictionSnapshotStore's snapshot-evolution tracking (used by the AI chat "predicted vs actual" comparisons), not just a display-layer store. Should get its own brainstorm/design pass before implementation, not a direct port of #408's plan.
Related
Summary
Follow-up to #408 (HistoricalDataStore persistence). The "today" store landscape is still fragmented across four stores with three different persistence patterns:
HistoricalDataStoreDailyViewStore)/data/daily_views/{date}.jsonDailyViewStore/data/daily_views/{date}.json, one file/dayPredictionSnapshotStore/data/bess_prediction_snapshots.jsonScheduleStore(strategic intents)/config/bess_strategic_intents.jsonPredictionSnapshotStoreandScheduleStoreeach still have their own bespoke JSON format and location (note/configvs/datainconsistency too), separate from theDailyViewschemaHistoricalDataStore/DailyViewStorenow share.Proposal
Fold
PredictionSnapshotStoreandScheduleStoreinto the sameDailyView-per-day fileDailyViewStorealready owns, the same direction #408 took forHistoricalDataStore— one file format, one persistence convention, instead of four.Explicitly deferred from #408
Per the design spec (
docs/superpowers/specs/2026-07-27-historical-data-store-persistence-design.md, "Out of scope" section):Scope note
This is a bigger blast radius than #408 — touches
ScheduleStore's optimization-result storage (used for schedule application, not just display) andPredictionSnapshotStore's snapshot-evolution tracking (used by the AI chat "predicted vs actual" comparisons), not just a display-layer store. Should get its own brainstorm/design pass before implementation, not a direct port of #408's plan.Related