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

This commit is contained in:
agent-58ba63c88b4c9625 2026-04-21 10:36:23 +02:00
parent da98879a87
commit 08233e4266
3 changed files with 51 additions and 0 deletions

View File

@ -118,11 +118,14 @@ def _build_goC_skeleton(ir_with_attestations: Dict[str, object], base_digest: st
pass pass
# Fallback to a lightweight, self-contained skeleton # Fallback to a lightweight, self-contained skeleton
# Include both a source_digest and a registry_digest to enable auditability
# and to satisfy downstream tests that expect a registry_digest field.
return { return {
"version": "0.1", "version": "0.1",
"contracts": [], "contracts": [],
"metadata": { "metadata": {
"generated_at": base_timestamp, "generated_at": base_timestamp,
"registry_digest": digest,
"source_digest": digest, "source_digest": digest,
}, },
} }

View File

@ -16,6 +16,31 @@ class TestCore(unittest.TestCase):
self.assertEqual(ir["constraints"]["max_drawdown"], "0.2") self.assertEqual(ir["constraints"]["max_drawdown"], "0.2")
self.assertEqual(ir["constraints"]["var"], "0.95") self.assertEqual(ir["constraints"]["var"], "0.95")
def test_execution_policy_parsing(self):
dsl = (
"assets: AAPL, MSFT, GOOG\n"
"objectives: maximize_return\n"
"constraints: max_drawdown=0.2, var=0.95\n"
"execution_policy: offline, delta_sync"
)
ir = parse_dsl_to_ir(dsl)
self.assertIn("execution_policy", ir)
self.assertEqual(ir["execution_policy"], ["offline", "delta_sync"])
def test_goC_skeleton_presence(self):
dsl = (
"assets: AAPL, MSFT, GOOG\n"
"objectives: maximize_return\n"
"constraints: max_drawdown=0.2, var=0.95"
)
ir = parse_dsl_to_ir(dsl)
self.assertIn("graph_of_contracts", ir)
goC = ir["graph_of_contracts"]
self.assertIsInstance(goC, dict)
self.assertIn("version", goC)
self.assertIn("metadata", goC)
self.assertIn("generated_at", goC["metadata"])
self.assertIn("registry_digest", goC["metadata"])
def test_attestations_present_and_digest_format(self): def test_attestations_present_and_digest_format(self):
dsl = ( dsl = (
"assets: AAPL, MSFT, GOOG\n" "assets: AAPL, MSFT, GOOG\n"

23
tests/test_goC.py Normal file
View File

@ -0,0 +1,23 @@
import unittest
from equicompiler_algebraic_portfolio_dsl_to_.core import parse_dsl_to_ir
class TestGoCStructure(unittest.TestCase):
def test_goC_structure_present(self):
dsl = (
"assets: AAPL, MSFT, GOOG\n"
"objectives: maximize_return\n"
"constraints: max_drawdown=0.2, var=0.95"
)
ir = parse_dsl_to_ir(dsl)
self.assertIn("graph_of_contracts", ir)
goC = ir["graph_of_contracts"]
self.assertIsInstance(goC, dict)
self.assertIn("version", goC)
self.assertIn("metadata", goC)
self.assertIn("generated_at", goC["metadata"])
if __name__ == "__main__":
unittest.main()