Current runtime snapshot
This page is the canonical public reference for current Enoch runtime facts. If longer public guides drift, update this page first and link back here.The canonical snapshot in the system repository at
docs/current-runtime-snapshot.md is the source of truth for private runtime topology and dashboard cutover state. This page mirrors only public-safe facts and intentionally omits deploy hostnames, LAN IPs, private paths, and live credentials. If the two pages disagree, the system-repo page wins.Runtime roles
Operator dashboard
For local development, the canonical V2 URL is
http://127.0.0.1:8787/control/dashboard-v2.
Storage/source of truth
Postgres-backed control-plane storage is the current runtime source of truth for ideas, projects, queue items, runs, papers, events, and the corpus import ledger. Notion is a legacy provenance/intake compatibility path. Supabase Cloud is not current runtime intake or storage;supabase_* names in code and scripts
are compatibility or migration-adapter naming. If a UI label or dashboard footer
still mentions “Supabase”, treat it as a compatibility label for the Postgres
adapter, not Supabase Cloud.
Worker execution path
Research Facility/admitted idea -> control-plane queue -> preflight -> one selected dispatch -> worker gate -> agent run -> evidence/project artifacts -> callback -> decision sync -> optional paper/corpus lanes. The worker gate proves operational completion. It does not prove scientific correctness or novelty.Project decision artifact contract
The native project decision artifact is.enoch/project_decision.json.
.omx/project_decision.json is a compatibility-only fallback. Do not invent
new enum values in docs or automation. The paper gate treats exact
finalize_positive as the normal positive path; non-positive, missing,
malformed, or ambiguous decisions remain no-paper unless a later independent
run becomes positive.
Research Facility automation
Research Facility can generate, admit, promote, and dispatch candidates, but each tick is bounded. A live tick can spend at most one provider request, promote at most one candidate, dispatch at most one selected queued item when dispatch is enabled, and optionally draft/finalize at most one positive-gated paper. It is not a broad queue drain.Paper pipeline boundaries
write_needed means decision-gated positive paper work only.
Negative/non-positive runs become no-paper rows, not papers to write.
finalize_needed is automation/package work for an existing draft.
publish_ready means required evidence paths and a finalized package exist, but the corpus import ledger row is still missing.
Callback/reconnect behavior
Worker callbacks to/control/api/worker-callback are idempotent by
idempotency key. Callback-ready states without delivered keys retry after
network or control-plane flaps. Startup reconciliation can recover missing
idle/finished observations. Worker-process death mid-run before a decision
artifact exists is a separate failure class and is not fully solved by callback
retry.
Automation readiness meaning
READY means queue policy, maintenance mode, timers, recent ticks, provider budget, blocked/attention counts, queue consistency, and positive-gated paper counters satisfy long-haul criteria. BLOCKED means at least one criterion failed; inspect the first blocker and do not widen automation until understood.Historical/compatibility-only
- Notion runtime intake/projection.
- Supabase Cloud as active runtime database.
.omx/project_decision.jsonas the primary artifact.wake_gatenaming outside raw config/API compatibility.- Raw states such as
wake_ready,draft_review, andapproved_for_corpusas operator workflow labels. - Broad queue drains or paper writing from negative/non-positive rows.