M1: domain schemas, contracts pipeline, ledger and snapshot services
- packages/domain: zod schemas for the 07-scenario object set with a
schemaRegistry driving schema export, fixture generation, and Python
module naming; decimal-string/sha256/curve primitives enforce the
docs/11 §3.3 representation rules at the type layer
- contracts/: 12 JSON Schemas (draft 2020-12), 12 golden fixtures, 3
invalid fixtures crafted to fail on both sides (float money, bad
digest, missing concurrency version)
- skills-py: generated pydantic models (committed, never hand-edited),
regeneration script, mirror pytest using JSON-mode validation —
dual-side contract tests agree on all 15 fixtures
- packages/services: content-addressed immutable snapshot store
(memory + fs, rejects floats), LedgerService v1 with optimistic
concurrency and the P7 constraint cascade (monthly position bounds
day-ahead bids; no-anchor bids rejected), quality-gate stub
- cascade band shape is an OPEN-QUESTION A5 placeholder (pro-rata
daily share ±band) — see ledger.ts checkCascade
All green: tsc typecheck, 41 TS tests, 15 Python tests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019u5SLNweVio6ozJX7yfxQr
🔮 View transcript: https://logs.lojong.info/s/e8u90k3t33w590r7b5y7yzqh
2026-09-01 21:50:22 -04:00
|
|
|
{
|
|
|
|
|
"name": "@vpp/domain",
|
|
|
|
|
"version": "0.1.0",
|
|
|
|
|
"private": true,
|
|
|
|
|
"type": "module",
|
|
|
|
|
"exports": {
|
|
|
|
|
".": "./src/index.ts"
|
|
|
|
|
},
|
|
|
|
|
"scripts": {
|
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
|
|
|
"typecheck": "tsc -p tsconfig.json",
|
M1: domain schemas, contracts pipeline, ledger and snapshot services
- packages/domain: zod schemas for the 07-scenario object set with a
schemaRegistry driving schema export, fixture generation, and Python
module naming; decimal-string/sha256/curve primitives enforce the
docs/11 §3.3 representation rules at the type layer
- contracts/: 12 JSON Schemas (draft 2020-12), 12 golden fixtures, 3
invalid fixtures crafted to fail on both sides (float money, bad
digest, missing concurrency version)
- skills-py: generated pydantic models (committed, never hand-edited),
regeneration script, mirror pytest using JSON-mode validation —
dual-side contract tests agree on all 15 fixtures
- packages/services: content-addressed immutable snapshot store
(memory + fs, rejects floats), LedgerService v1 with optimistic
concurrency and the P7 constraint cascade (monthly position bounds
day-ahead bids; no-anchor bids rejected), quality-gate stub
- cascade band shape is an OPEN-QUESTION A5 placeholder (pro-rata
daily share ±band) — see ledger.ts checkCascade
All green: tsc typecheck, 41 TS tests, 15 Python tests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019u5SLNweVio6ozJX7yfxQr
🔮 View transcript: https://logs.lojong.info/s/e8u90k3t33w590r7b5y7yzqh
2026-09-01 21:50:22 -04:00
|
|
|
"test": "vitest run",
|
|
|
|
|
"export:schemas": "tsx scripts/export-schemas.ts",
|
|
|
|
|
"make:fixtures": "tsx scripts/make-fixtures.ts"
|
|
|
|
|
},
|
|
|
|
|
"dependencies": {
|
|
|
|
|
"zod": "^4.1.0"
|
|
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
|
|
|
|
"@types/node": "^26.4.1",
|
|
|
|
|
"tsx": "^4.19.0",
|
|
|
|
|
"typescript": "^5.6.0",
|
|
|
|
|
"vitest": "^3.0.0"
|
|
|
|
|
}
|
|
|
|
|
}
|