catopt-graph-graph-calculus.../docs/dsl_sketch.md

48 lines
1.4 KiB
Markdown

# DSL Sketch: CatOpt-Graph MVP
This document provides a minimal DSL sketch to seed adapter implementers with
canonical data contracts for LocalProblem, SharedVariables, PlanDelta, and
DualVariables. The goal is to accelerate onboarding and ensure consistent
semantics across adapters.
- Canonical primitives
- Objects: LocalProblem (assets, constraints, and objectives)
- Morphisms: SharedVariables (versioned signals exchanged between agents)
- DualVariables: Lagrange multipliers coordinating cross-adapter objectives
- PlanDelta: incremental plan changes with timestamp and signature
- PrivacyBudget, AuditLog: governance scaffolds
- Time modelling
- TimeMonoid: rounds with delta-sync semantics to support islanding and reconnection
- Registry
- Graph-of-Contracts (GoC): per-adapter contract versions with semantics and conformance rules
Seed DSL snippet (Python-like pseudo-DSL for onboarding):
LocalProblem {
asset_id: str
domain: str
objective: dict
variables: dict
}
SharedVariables {
iter_id: int
values: dict
}
PlanDelta {
iter_id: int
delta: dict
}
DualVariables {
iter_id: int
values: dict
}
PrivacyBudget { budget_id: str, limits: dict }
AuditLog { entry_id: str, payload: dict }
This sketch is intentionally compact; implementers should map their domain data
structures into this canonical form via EnergiBridge-like adapters.