On this page

Docs / Review rules

Review rules

Each requirement has an EPC identifier. Findings include that identifier, the exact condition, and the affected source path. The catalog distinguishes prohibited behavior from declarations and checks that require hosted review.

Local and hosted checks

epoche check runs deterministic analysis offline and never executes your code. Hosted review repeats those checks, then adds semantic analysis and current privacy destination checks. A clean local result is not a hosted credential.

Rule catalog

EPC-001

Required

Submit manifest v3, every executable entry point, and every mandatory source file within the review limits.

EPC-002

Unsupported

Use a supported runtime and package manager. Commit a complete lockfile and remove install hooks, mutable versions, direct URLs, editable installs, and unsupported native dependencies.

EPC-003

Barred

Keep private keys, seed phrases, and rotatable credential values out of source. Provision named secrets after attestation.

EPC-004

Barred

Do not evaluate, compile, import, deserialize, or download executable code from unresolved values.

EPC-005

Must declare

Use literal hostnames and declare each non-loopback destination, its purpose, and the data sent to it.

EPC-006

Must declare

Declare wallet authority, chain writes, transfers, payment recipients, and contract destinations.

EPC-007

Must declare

Declare supported filesystem, environment, subprocess, network, wallet, and native access. Elevated or unresolved execution still fails.

EPC-008

Hosted review

Keep instruction-bearing files in the bundle. Local detection is a warning; hosted semantic review decides whether the content blocks.

EPC-009

Must declare

Classify every runtime input as measured, post-attestation configuration, secret, or runtime data.

EPC-010

Hosted review

A credential requires completed provider-backed semantic review. Provider failure and unresolved coverage cannot pass.

EPC-011

Declaration

Declare purpose, inputs, outputs, and at least one invariant in the manifest declaration block.

EPC-012

Invariant results

Hosted review must return PASS for every declared invariant; FAIL, UNKNOWN, or a missing result blocks certification.

EPC-101

Privacy only

Do not send input-derived data to logging or telemetry sinks.

EPC-102

Privacy only

Do not call the enumerated direct file or datastore APIs.

EPC-103

Privacy only

Declare every outbound destination used by a privacy-reviewed agent.

EPC-104

Privacy only

At hosted review time, each external destination must be seed-allowlisted or hold a current Epoche privacy credential.

EPC-501

Historical only

Declare the harness, dataset identity and hash, period, universe, cost model, fill assumptions, cadence, capital base, survivorship and look-ahead treatment, parameter configurations evaluated, and basis.

EPC-502

Historical only

The declared harness must be present in the submission.

EPC-503

Historical only

The harness must evaluate the same decision procedure the agent trades with.

EPC-504

Historical only

Reported numbers must be derivable from the committed harness under the stated assumptions.

EPC-505

Historical only

Reported returns are labelled simulated or live, and are always a developer estimate.

EPC-401

Capital only

Declare the chain, permitted assets and venues by exact address, permitted operations, budgets, ceilings, the proceeds recipient, and owner recovery.

EPC-402

Capital only

The strategy must not supply recipients, endpoints, targets, calldata, callbacks, permits or account selection.

EPC-403

Capital only

Proceeds, surplus, dust and refunds reach the mandate's declared recipient.

EPC-404

Capital only

Every reachable capital operation is within the mandate's permitted operations, assets and venues.

EPC-405

Capital only

Budgets survive restart, concurrency, retry and redeployment.

EPC-406

Capital only

No fee taken from managed capital and no hardcoded affiliate path.

EPC-407

Capital only

Owner revocation and recovery work without the developer, the strategy process or the platform.

EPC-408

Capital only

Safety-critical values come from the declared gateway, not a strategy-controlled source.

EPC-201

Accreditation only

Every capital-admission path is declared and routes through the declared accreditation verification.

EPC-202

Accreditation only

Validate the full acceptance predicate, including that the attested recipient is the contributing address.

EPC-203

Accreditation only

Verification failure, expiry, unavailability or revocation is fail-closed to non-admission.

EPC-204

Accreditation only

Unverified or unsolicited capital is segregated and excluded from every budget denominator.

EPC-205

Accreditation only

No operator, config flag or environment variable may waive, override or backdate a result.

EPC-206

Accreditation only

A passing check authorises one admission, not a window.

EPC-207

Accreditation only

Declare whether accreditation evidence is retained, and which classes.

EPC-208

Accreditation only

Each admission path uses the check its type requires.

EPC-209

Accreditation only

Each declared admission path must be locatable in the source; locating none means the domain is not evaluated, never passed.

EPC-301

Strategy only

Declare the signals consumed, the decision procedure, the action space, the entry and exit conditions, and any delegated third party.

EPC-302

Strategy only

Every declared signal must be identifiable in the submitted source.

EPC-303

Strategy only

The declared procedure must resolve to an implemented decision, not a constant or a passthrough.

EPC-304

Strategy only

The actions the code can take must match the declared action space, in both directions.

EPC-305

Strategy only

Every declared risk control must have a code path.

EPC-306

Strategy only

A decision delegated to a third party must be declared.