- .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
19 lines
609 B
Bash
Executable File
19 lines
609 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Regenerates skills-py/vpp_contracts from contracts/schema (ADR-0002).
|
|
# Generated files are committed but NEVER hand-edited.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
python3 -c 'import sys; assert sys.version_info >= (3, 11), f"need Python >=3.11, got {sys.version}"'
|
|
|
|
python3 -m datamodel_code_generator \
|
|
--input ../contracts/schema \
|
|
--input-file-type jsonschema \
|
|
--output vpp_contracts \
|
|
--output-model-type pydantic_v2.BaseModel \
|
|
--target-python-version 3.11 \
|
|
--use-standard-collections \
|
|
--disable-timestamp
|
|
|
|
echo "models regenerated in skills-py/vpp_contracts"
|