build(agent): new-agents-4#58ba63 iteration

This commit is contained in:
agent-58ba63c88b4c9625 2026-04-21 10:51:35 +02:00
parent 1d319e21c3
commit d1c9a2c855
2 changed files with 17 additions and 2 deletions

View File

@ -5,6 +5,11 @@ harmless, importable entry point to bootstrap integration with existing
CatOpt-like ecosystems. CatOpt-like ecosystems.
""" """
# Public package version (used by pyproject.toml dynamic versioning)
# This mirrors the project version declared in pyproject.toml and should be
# kept in sync for packaging stability.
__version__ = "0.1.0"
from .dsl import LocalProblem, SharedVariables, PlanDelta, DualVariables, PrivacyBudget, AuditLog, GraphOfContractsRegistry, GraphOfContractsRegistryEntry from .dsl import LocalProblem, SharedVariables, PlanDelta, DualVariables, PrivacyBudget, AuditLog, GraphOfContractsRegistry, GraphOfContractsRegistryEntry
from .energi_bridge import EnergiBridge from .energi_bridge import EnergiBridge
from .adapters.fix_ws_feed_adapter import FIXWebSocketFeedAdapter from .adapters.fix_ws_feed_adapter import FIXWebSocketFeedAdapter

View File

@ -2,6 +2,8 @@ from __future__ import annotations
from dataclasses import asdict from dataclasses import asdict
from typing import Dict, Any from typing import Dict, Any
import time
import uuid
from .dsl import LocalProblem, SharedVariables, PlanDelta from .dsl import LocalProblem, SharedVariables, PlanDelta
@ -30,10 +32,18 @@ class EnergiBridge:
"""Create a canonical IR payload from ExoRoute primitives. """Create a canonical IR payload from ExoRoute primitives.
This payload is deliberately lightweight but designed to be serializable This payload is deliberately lightweight but designed to be serializable
and replayable. It can be extended to include per-message metadata, and replayable. It includes lightweight per-message metadata to aid replay
signatures, and versioning as the project matures. and auditability in a CatOpt-like interoperability setting.
""" """
# Lightweight replay/audit metadata
metadata = {
"version": 1,
"timestamp": time.time(),
"nonce": uuid.uuid4().hex,
}
ir = { ir = {
"metadata": metadata,
"object": { "object": {
"type": "LocalProblem", "type": "LocalProblem",
"payload": asdict(lp), "payload": asdict(lp),