- .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 |
||
|---|---|---|
| .github/workflows | ||
| contracts | ||
| docs | ||
| packages | ||
| proposal-assets | ||
| skills-py | ||
| .gitignore | ||
| brainstorming.md | ||
| CLAUDE.md | ||
| GLOSSARY.md | ||
| package-lock.json | ||
| package.json | ||
| proposal.md | ||
| README.md | ||
| ROADMAP.md | ||
| tsconfig.base.json | ||
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)