> ## Documentation Index
> Fetch the complete documentation index at: https://solo-09d10f60.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Current runtime snapshot

> Canonical short reference for Enoch's current runtime roles, storage, worker gate, paper gate, automation, and compatibility boundaries.

# 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.

<Info>
  The canonical snapshot in the system repository at [`docs/current-runtime-snapshot.md`](https://github.com/alias8818/enoch-agentic-research-system/blob/main/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.
</Info>

## Runtime roles

| Role                    | Public description                                                                                                                 |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Control plane           | Runs the FastAPI control plane, dashboard/API, Postgres-backed runtime storage, automation timers, and paper/corpus tooling.       |
| Worker gate             | Runs local agent execution, process/telemetry tracking, project workspaces, evidence capture, and worker callbacks.                |
| Public release surfaces | Publish generated corpus artifacts, promising-signal records, quality reports, and dataset exports after deterministic gates pass. |

## Operator dashboard

| Path                    | Role                                                                                                    |
| ----------------------- | ------------------------------------------------------------------------------------------------------- |
| `/control/dashboard-v2` | **Canonical** operator console (React/TypeScript Dashboard V2). Use this URL for day-to-day operations. |
| `/control/dashboard`    | Legacy URL; **307 redirect** to `/control/dashboard-v2` (hash preserved) after the 2026-05-21 cutover.  |
| `/dashboard`            | Legacy worker-gate shell; redirects to `/control/dashboard-v2` on current deployments.                  |

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.json` as the primary artifact.
* `wake_gate` naming outside raw config/API compatibility.
* Raw states such as `wake_ready`, `draft_review`, and `approved_for_corpus`
  as operator workflow labels.
* Broad queue drains or paper writing from negative/non-positive rows.
