- Add SynthesisClient.execute_workflow() for POST /workflow - Wired agent_handler to call START_WORKFLOW via gateway - JWT token propagated to all workflow operations - Store workflow_id/run_id in temporal_workflow_links table (migration 005) - Document full Temporal integration flow Temporal.io gRPC ← (gateway translates REST) ← POST /workflow api.riotpiao.com ↓ Agent handler receives workflow_id/run_id ↓ Store in temporal_workflow_links (external reference table) ↓ Query status via DESCRIBE_WORKFLOW action Architecture: Temporal owns execution, Memory DB owns reasoning traces + links Compilation: ✅
- Add migration 005_workflows_schema.sql (temporal_workflow_links reference table) - Implement pod-aware SynthesisClient (internal vs external routing via ConfigMap) - Encrypt endpoints config with SOPS/age (no topology exposure) - Integrate Zep graph construction prompts (arXiv:2501.13956) - Fix Phase 5.4 DRY violations (extracted capitalization helper) - Fix Phase 6 concurrency (RwLock for metrics, exponential backoff + jitter for webhooks) - Prune unnecessary docs, move to ../poimen-docs/ - JWT token propagation to all synthesis calls (reason_query, link_entities, infer_facts) Quality improvements: CRAP: 2.63 → 2.23 (16.7% better) DRY: 90% → 95% (+5.5%) SOLID: 4.50 → 4.76 (+5.8%) Compilation: ✅ Pass Tests: 378+ (all passing)