Go to file
Thomas Bayes e7196bc88a M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin
- .github/workflows/ci.yml: TS job (typecheck, re-export contracts, drift
  check, vitest) and Python job (3.11, regenerate pydantic models, drift
  check, pytest) — the dual-side contract test now actually runs in CI.
- packages/services: MemoryTimeSeriesStore (append-only daily-curve
  revisions), MemoryRepository + ResourceRegistry (schema-validated,
  optimistic versioning), IngestionPipeline (snapshot → quality gate →
  store or quarantine). In-memory reference semantics; persistent adapters
  arrive with M3 like the ledger.
- skills-py: .python-version + pyproject requires-python >=3.11; codegen
  script asserts interpreter version and runs the generator as a module.
- typecheck scripts per package and in root `check`; README status and dev
  setup; CLAUDE.md current-phase note.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoYoGYzHkFyv3ALenkRPhA
2026-09-01 21:58:49 -04:00
.github/workflows M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
contracts M1: domain schemas, contracts pipeline, ledger and snapshot services 2026-09-01 21:50:22 -04:00
docs Scaffold repo for implementation handoff 2026-09-01 21:13:00 -04:00
packages M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
proposal-assets init check in 2026-09-01 19:46:59 -04:00
skills-py M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
.gitignore Scaffold repo for implementation handoff 2026-09-01 21:13:00 -04:00
brainstorming.md Integrate peer review findings into architecture docs 2026-09-01 20:44:12 -04:00
CLAUDE.md M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
GLOSSARY.md Scaffold repo for implementation handoff 2026-09-01 21:13:00 -04:00
package-lock.json M1: domain schemas, contracts pipeline, ledger and snapshot services 2026-09-01 21:50:22 -04:00
package.json M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
proposal.md init check in 2026-09-01 19:46:59 -04:00
README.md M1: close gaps — CI, time-series/relational stores, ingestion skeleton, Python 3.11 pin 2026-09-01 21:58:49 -04:00
ROADMAP.md Scaffold repo for implementation handoff 2026-09-01 21:13:00 -04:00
tsconfig.base.json M1: domain schemas, contracts pipeline, ledger and snapshot services 2026-09-01 21:50:22 -04:00

VPP AI Platform · 虚拟电厂多时空协同智能运营平台

AI-assisted operations platform for a virtual power plant (VPP) in Hubei, China: five LLM agents propose market bids, resource dispatch, and load-control plans; a deterministic safety chain (rule check → simulation → envelope/human approval → execution permit) governs everything before any external effect. The LLM never computes numbers and never touches the second-level control loop.

Status: M1 (data foundation & contracts) implemented. Design docs 00–13 are complete; implementation follows ROADMAP.md. Present today: domain schemas (packages/domain), the TS↔Python contract pipeline (contracts/, skills-py/vpp_contracts), and the ledger, snapshot, time-series, relational and ingestion services (packages/services). M2 (Python skills + eval baseline) is next.

Development

Requires Node 24 and Python 3.11 (skills-py/.python-version; the generated pydantic models use StrEnum and PEP 604 unions).

npm ci
npm run check            # typecheck, re-export contracts, run TS tests

cd skills-py
uv venv --python 3.11 .venv && uv pip install -r requirements.txt   # or python3.11 -m venv
source .venv/bin/activate
bash scripts/generate_models.sh   # regenerate pydantic models (committed, never hand-edited)
python -m pytest -q

CI (.github/workflows/ci.yml) runs both sides and fails if contracts/ or skills-py/vpp_contracts are not regenerated after a schema change.

Orientation

You are… Start with
A coding agent about to implement CLAUDE.md, then docs/00, 01, 09, 11
New to the project docs/00-overview.md → docs/07-scenario-walkthrough.md (the end-to-end reference scenario)
Reviewing the business case proposal.md (申报材料, source of requirements)
Looking for a settled decision docs/adr/
Wondering what's still undecided docs/open-questions.md

Document map (docs are in Chinese; implementation-facing files in English)

Doc Content
00-overview System context, two-plane architecture, business objects
01-principles 9 principles + 8 hard invariants (binding for all code)
02-cognitive-plane Five agents, Runtime, memory, Case Desk
03-safety-chain Proposal state machine, envelopes, permits, staleness
04-control-plane Execution engine, edge autonomy, time/space cascades
05-skills-and-data Skill contracts, five-store data layer, policy packs
06-integration External system boundaries and degraded channels
07-scenario-walkthrough Day-ahead spot bidding, D-1 → D → D+1
08-implementation Stack, LLM abstraction, deployment, milestones
09-runtime-implementation Runtime on Mastra: workflows, suspend/resume, lineage
10-federation Cross-province boundary: signed artifacts only
11-contracts Ports, canonical objects, TS↔Python contract pipeline
12-evaluation Four-layer evals, change gates, KPI definitions
13-risks-failure-modes FMEA, top-5 risks, kill-switch hierarchy

Supporting: brainstorming.md is an independent peer review whose findings were integrated (see docs/01 invariants note); GLOSSARY.md maps Chinese domain terms to canonical code names.

Target repository layout (from docs/09 §7)

packages/
├── domain/       # zod schemas — single source of truth for all business objects
├── runtime/      # Mastra instance, workflows, agents, tool registry, triggers
├── services/     # deterministic services: policy engine, envelopes, ledger, authority
├── adapters/     # anti-corruption layers: trading platform, dispatch, metering
├── evals/        # eval harness, datasets, judges (docs/12 §5)
└── skills-py/    # Python skill services (forecasting, MILP optimization, simulation)
contracts/        # generated JSON Schema + golden fixtures (cross-language contract)