@cycgraph/orchestrator-postgres@1.0.0
Minor Changes
-
65a822b: Durable eval-gated learning ledger. New
DrizzleOutcomeLedgerimplements@cycgraph/memory'sOutcomeLedgerinterface against Postgres, so run-outcome evidence survives restarts — the substrate eval-gating needs to accumulate the trial counts its operating-characteristics curves require (the in-memory ledger forgets everything on restart). Per-fact stats and the leave-one-out baseline are computed by SQL aggregation at query time (count/avg/var_samp), reproducingInMemoryOutcomeLedgerexactly:var_sampmatches the in-memory(n−1)sample variance and is NULL for n < 2 (→variance: undefined). Anywhere the gate or retriever takes anOutcomeLedger, this drops in as a one-line swap.Schema (migration
0016_add_outcome_ledger):run_outcomes(one scored run),run_outcome_facts(run→injected-fact join; composite PK(run_id, fact_id)enforces within-run dedup and makes leave-one-out a cleanNOT EXISTS), andgate_decisions(append-only audit of every retention-gate decision with its statisticalevidence).Observability read APIs:
recordGateDecisions(report)persists a gate pass (append-only — re-running logs history, it doesn't overwrite);listGateDecisions(filter),getLessonHistory(factId), andgetFitnessTrend(opts)let an operator audit what the self-improving system promoted, evicted, or held — and why — plus the workflow's fitness trend over time. New exports:DrizzleOutcomeLedger, and theGateDecisionFilter/FitnessTrendPointtypes.Still caller-driven: durability does not auto-wire
recordOutcome/evaluateRetentioninto the runner lifecycle (that remains an explicit next slice). No@cycgraph/memorychanges — the adapter only imports its interface and types.
Patch Changes
- Updated dependencies [65a822b]
- @cycgraph/orchestrator@0.3.0