Skip to content

docs(vision): a hard, simple core with layers on top - #1772

Open
frahlg wants to merge 1 commit into
masterfrom
docs/vision-hard-simple-core
Open

frahlg wants to merge 1 commit into
masterfrom
docs/vision-hard-simple-core

Conversation

@frahlg

@frahlg frahlg commented Oct 21, 2026

Copy link
Copy Markdown
Member

Fredrik asked that VISION.md say what FTW is building: a hard, simple core that people, automations and AI agents can build on, chargers included, with forecasting and planning as layers that do not complicate it.

Change

  • The opening paragraph names FTW Core as the primitive. The Energy Planner, forecasts and analysis become layers on top, as Home Assistant and MQTT already were.
  • A hard, simple core: four things the core does (read, protect, act, record). Readings are shown as they are; Home use is blank only without a fresh site meter. Fuse protection is one physical calculation per phase on the current after a change, counted with its direction, with commands treated as made until the device can respond. The hourly import ceiling has its own name. "Charge now" is not stopped by a guessed SoC, a plan or an unnamed car. A rule belongs in the core only if it protects against a quantified physical risk or carries out a request. A simulated house with a real fuse is the core's test; it is marked as a target.
  • Layers on top of the core: layers read and propose, the core decides, and a layer never holds up the control loop. Three streams: live readings as reported, history with a quality stamp per interval, and training data made only of fully measured intervals.

Why now

A review of master on 21 October found nine separate fuse-limit calculations, several confirmed false limits (export counted as import, phase mode decided two ways, the hourly ceiling reported as the fuse) and one path where a slow cloud charger can exceed the fuse. It also found forecast and history logic on the control tick. Each line above answers one of those findings.

#1292 also edits VISION.md, in a different section.

🤖 Generated with Claude Code

Core is the primitive for energy control, chargers included: it reads,
protects the fuse by physics, acts within limits and records. Forecasts,
the Energy Planner and analysis are layers that read three separate
streams and never complicate the core or hold up its control loop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T08:06:32.753851Z a1455c0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a1455c0bcf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread VISION.md
Comment on lines +75 to +76
- **Training data:** only the intervals that history marks as fully
measured. Models learn from these and nothing else.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Scope the fully measured restriction to forecast training

The absolute “nothing else” restriction conflicts with the battery/inverter twin requirements later in this file: VISION.md:190-193 explicitly permits quality-labeled device-only samples, and the existing battery model learns from commanded and device-reported power on each control tick (go/cmd/ftw/main.go:2959), not from fully measured history intervals. Following this new requirement would discard valid response and saturation learning whenever independent site confirmation is unavailable; limit it to household/PV forecast training or preserve the documented device-only tier.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant