@amsterdamdatalabs/enact-evolve
v0.1.11
Published
Evidence recorder and normalizer for Enact self-evolution
Readme
enact-evolve
Phase 1 evidence recorder and normalizer plus the in-progress Phase 2 review-only promotion router for Enact self-evolution.
This package ingests Claude, Codex, or representative Factory sessions, normalizes them into SessionEvidence, emits enact.raw.v1 trace-envelope records, computes baseline quality metrics, writes JSONL outputs, and routes accepted candidate improvements into review bundles for downstream Dream, enact-extensions, or owning package repos. It does not apply evolved artifacts.
Commands
npm install
npm run build
npm test
node scripts/enact-evolve.mjs doctor
node scripts/enact-evolve.mjs ingest --surface codex --session <id-or-path>
node scripts/enact-evolve.mjs ingest --surface claude --session <id-or-path>
node scripts/enact-evolve.mjs ingest --surface factory --scenario successful-narrow-edit
node scripts/enact-evolve.mjs evaluate
node scripts/enact-evolve.mjs promoteBy default, managed storage is global and project-scoped: ~/.enact/evolve/projects/<project-id>/, where <project-id> is derived from the canonical project root. ingest writes to evidence/, evaluate writes to eval/, and promote writes to promote/. This is a hard cut from repo-local .enact/evolve; existing local data is not migrated automatically. Explicit --out and --evidence paths still override defaults.
Machine-wide defaults live in ~/.enact/evolve/config.toml at the TOML root, for example data_dir = "..." or storage = "..."; data_dir wins. Workspace-local config.toml files may override those defaults with [evolve].data_dir or [evolve].storage. Relative values resolve from the config file that declares them.
Phase 1 / evaluation outputs are JSONL files plus a markdown transcript artifact:
session-evidence.jsonltrace-events.jsonlmetrics.jsonlcandidate-improvements.jsonl<session-id>.md
Phase 2 promotion outputs from promote are review bundles:
promotion-decisions.jsonldream-input.jsonlwhendurable_knowledgecandidates are accepted for reviewextensions-input.jsonlwhenextension_*candidates are accepted for reviewpackage-patches.jsonlwhenpackage_tool_scriptcandidates are accepted for reviewtrace-events.jsonlaudit events for routing decisions
