Skip to main content
Ctrl K

Epistemic Pipeline

Evidence-aware state-machine framework for research workflows with explicit claims, evidence, conflicts, runtime policy, checkpoints, provenance, claim verification, bounded transfer, and portable evidence handoff

1
contributor

Cite this software

Description

Epistemic Pipeline

DOI · Open Research · Research Template

Evidence-aware state-machine execution for research workflows, with explicit claim/evidence/conflict structure, runtime policy, recovery identity, provenance, claim verification, claim transfer, assertion basis, dimensional audit coverage, compact evidence handoff, and phase-aware maintenance

Architecture · Research Contract · Claim Audit Contract · Claim Transfer Contract · Assertion Basis & Audit Coverage · Maintenance · Document Status · August Stage Close · Customization · Frontier Alignment

Positioning

Epistemic Pipeline treats research execution as an inspectable state-transition and evidence-contract system rather than an opaque agent trajectory

discover -> analyze -> verify -> synthesize -> archive

Canonical evidence path

validated graph
    ↓
provider-neutral structured outputs
    ↓
runtime policy predicates
    ↓
claim / evidence / conflict structures
    ↓
bounded heuristic score propagation
    ↓
trace + checkpoint
    ↓
PROV-aligned lineage
    ↓
claim-verification
  ├─ assertion / observation basis
  └─ dimensional claim audit coverage
    ↓
optional claim-transfer
  ├─ selected portable claim context
  ├─ conflicts preserved
  └─ non-inheritance constraints
    ↓
evidence-envelope
  ├─ upstream-reference coverage
  └─ compact cross-tool handoff

A completed run is not automatically evidence. Structural checks are not scientific verification. Transfer is not acceptance. Coverage is not correctness. Scores are not probabilities. Provenance is not truth

Stable internal identifiers

epistemic-pipeline/engine
epistemic-pipeline/runtime-policy
epistemic-pipeline/trace
epistemic-pipeline/checkpoint
epistemic-pipeline/prov
epistemic-pipeline/confidence-heuristic
epistemic-pipeline/network-input
epistemic-pipeline/claim-index
epistemic-pipeline/claim-verification
epistemic-pipeline/claim-transfer
epistemic-pipeline/process-disclosure
epistemic-pipeline/upstream-reference
epistemic-pipeline/evidence-envelope
epistemic-pipeline/reference-rules
epistemic-pipeline/maintenance-cadence
epistemic-pipeline/maintenance-report

Project-owned identifiers are intentionally unversioned. Real external standards/runtime versions remain explicit where genuinely applicable. Alignment language is not standards conformance

Core modules

ModuleRoleBoundary
core/dependency_graph.pyDAG validation/topologystructural semantics only
core/engine.pystate execution, runtime policy, retry/timeout, checkpointrun success != scientific validity
core/llm_harness.pyprovider-neutral structured output + provider disclosurereal providers injected; unknown metadata stays unknown
core/gatekeeper.pyexplicit machine runtime predicatesnot a scientific reviewer
core/confidence_net.pybounded weighted heuristic propagation[0,1] != calibrated probability
core/calibration.pymonotone score transformtransform != empirical calibration
core/run_tracer.pyproject JSONL trace + internal hash chainnot OTel exporter / tamper-proof ledger
core/provenance.pyPROV-aligned project lineagenot PROV-O RDF conformance
core/claim_audit.pyper-claim observations + assertion basis + audit coveragenever truth verdict
core/claim_transfer.pyportable selected claim context + constraintstransfer != acceptance
core/evidence_envelope.pycompact handoff + upstream reference coveragenot proof object/database
core/run_bundle.pyevidence-bearing compositioncoordinates artifacts without redefining validity
core/maintenance_cadence.pyread-only daily/weekly/monthly structural maintenance evidenceclean maintenance != scientific validity

Experimental modules remain outside this canonical path unless deliberately integrated

Runtime policy

State definitions use explicit machine checks such as

min_items
non_empty
every_item_fields
claim_evidence_ratio
numeric_min
numeric_max_exclusive
conflicts_have_fields
mapping_required_keys

Human-readable prose is not parsed into executable policy. Unknown checks fail explicitly

runtime-policy pass != scientific validity
runtime-policy pass != peer review
runtime-policy pass != evidence credibility

Claim verification

core/claim_audit.py emits

claim-audits/<run>.claim-audit.json
epistemic-pipeline/claim-verification

Each claim may retain

claim identity
source refs
evidence refs / relations
internal-consistency observation
cross-source observation
conflicts
initial heuristic score
final heuristic score
audit state
assertion / observation basis

Descriptive states remain deliberately weak

indexed_only
evidence_bound
structurally_checked
conflict_recorded
structurally_checked_with_conflict

They are not accepted/rejected scientific-review decisions

Assertion / observation basis

Audit fields record how they entered the record

structured-analyze-output
structured-verify-output
structured-state-output
provider-adapter-reported
synthetic-fixture-runtime
runtime-harness-state
caller-declared
runtime-observed-local-filesystem

Examples

claim/source/evidence refs -> structured analyze output
consistency/conflicts      -> structured verify output
heuristic scores           -> structured state output
provider metadata          -> provider adapter report
human review               -> caller declaration when supplied
assertion basis != correctness
structured-verify-output != external scientific verification
provider-adapter-reported != vendor certification

The process-disclosure path records automatic_ai_detection_used: false. The repository does not infer AI authorship/use from output prose

Dimensional claim audit coverage

claim-verification reports separate counts/ratios for indexed claims carrying

source refs
evidence refs
internal-consistency observations
cross-source observations
conflicts
initial heuristic scores
final heuristic scores

Example

evidence_refs_ratio = 0.80

means 80% of indexed claims carry at least one evidence reference in structured run output

It does not mean 80% correctness, evidence sufficiency, provenance soundness, or probability of truth

{"aggregate_score": null}

The repository measures only the coverage dimensions it can actually compute. It does not claim provenance soundness

Claim transfer

core/claim_transfer.py emits

epistemic-pipeline/claim-transfer

It selects existing claim records from a valid epistemic-pipeline/claim-verification sidecar and preserves bounded downstream context

source refs
evidence refs / relations
internal / cross-source observations
conflicts
initial / final heuristic scores
audit state

Requested missing claim IDs fail explicitly rather than being fabricated

Transfer constraints preserve

scientific_validity_inherited: false
evidence_sufficiency_inherited: false
peer_review_inherited: false
conflicts_must_remain_visible: true
heuristic_scores_must_retain_non_probability_semantics: true
claim transfer != acceptance
inheritance != validation
evidence ref != evidence sufficiency
conflict visibility != conflict adjudication

Heuristic score semantics

score in [0,1] != calibrated probability
numerical convergence != certainty
score increase != probability increase

Initial and final scores remain observations with stage/basis metadata. An unfitted transform remains a transform, not probability calibration

Trace, checkpoint, and PROV-aligned lineage

Trace fields may borrow selected OpenTelemetry GenAI naming, but the repository is not an OTel exporter and does not claim span compliance

The internal SHA-256 chain establishes linkage among currently present records only; it is not an externally anchored tamper-proof ledger

Checkpoint graph identity supports bounded resume/replay addressing. It does not prove external providers/tools will reproduce identical outputs

core/provenance.py uses W3C PROV concepts in project JSON

PROV-aligned != PROV-O RDF conformance
lineage != truth
hash identity != semantic equivalence

Evidence Envelope

core/evidence_envelope.py emits epistemic-pipeline/evidence-envelope

It references graph, trace, checkpoint, provenance, claim verification, claim index, process disclosure, optional upstream artifact/evidence refs, and the independent claim-transfer surface when supplied by downstream workflows

Upstream reference coverage remains dimensional

reference_count
by_resolution
local_file_ratio
aggregate_score: null
local resolution != source credibility
opaque URI != invalid evidence
reference coverage != evidence quality

The envelope stays compact and references separate audit artifacts rather than duplicating them into one proof object

Provider disclosure

Base provider metadata is provider-adapter-reported; the synthetic fixture declares synthetic-fixture-runtime; no-provider state declares runtime-harness-state

Built-in MockProvider remains

provider: epistemic-pipeline
model: null
version: null
mode: synthetic_fixture
external_model_call: false

No fake model/version is invented

provider identity != output validity
provider metadata != AI-text detection

Evidence-bearing CLI

python core/run_bundle.py graphs/linear.yaml \
  --human-review partial \
  --upstream-artifact-ref ../auto-doc-engine/output/report.artifact.json \
  --upstream-evidence-ref ./inputs/source-evidence.json

Typical artifacts

traces/<run>.jsonl
checkpoints/<run>/checkpoint.json
provenance/<run>.prov.json
claim-audits/<run>.claim-audit.json
evidence/<run>.evidence.json

A bounded claim transfer can be generated separately from an existing claim audit

python core/claim_transfer.py claim-audits/<run>.claim-audit.json \
  --claim-id claim-001 \
  --purpose downstream-figure \
  --output handoff/claim-transfer.json

Daily / weekly / monthly maintenance

Maintenance is defined in MAINTENANCE_CADENCE.md

Current document authority is defined in DOCUMENT_STATUS.md

The closed August baseline is STAGE_2026_08_MAINTENANCE.md

python core/maintenance_cadence.py daily
python core/maintenance_cadence.py weekly
python core/maintenance_cadence.py monthly --as-of 2026-08-31

The scanner reports local structural maintenance evidence plus date-derived calendar/stage status

window: 2026-08-24 -> 2026-08-31
calendar_month: calendar-month-close
stage: closed

Historical docs/03-maintenance-and-audit/history/FOUR_DAY_CONSOLIDATION.md, FIVE_DAY_CONSOLIDATION.md, and SIX_DAY_CONSOLIDATION.md remain historical snapshots rather than current contracts

Stage-close research calibration

The 2026-08-24 → 2026-08-31 stage was calibrated against work on

  • autonomous-science provenance and re-openable records
  • transparent AI use / human oversight in scientific publishing
  • artifact-centered claim-aware observability
  • trajectory-to-evidence qualification
  • evidence-bounded claim review
  • end-to-end scientific-agent consistency
  • claim-level auditability separating provenance coverage, soundness, contradiction transparency, and audit effort
  • Praxist-style solution/evidence lineage
  • ReproAgent-style persistent contracts
  • long-horizon research phase behavior and regime-aware re-validation
  • ScienceFlow-style persistent research segments and recovery
  • process-level long-horizon evaluation beyond final scores
  • durable project-state / reviewed-route patterns in persistent agent runtimes

Borrowed: explicit audit objects, dimensional coverage, contradiction visibility, persistent constraints, process segmentation, and evidence-bounded qualification

Not claimed: provenance soundness, universal scientific-review verdicts, citation correctness, calibrated truth probability, peer review, or independent reproduction

See FRONTIER_ALIGNMENT.md

Cross-repository handoff

auto-doc-engine/artifact-record
auto-doc-engine/artifact-lineage
        ↓
epistemic-pipeline/claim-verification
epistemic-pipeline/claim-transfer
epistemic-pipeline/evidence-envelope
        ↓
sci-render-kit/figure-claim-audit
sci-render-kit/figure-evidence
sci-render-kit/communication-transfer

Repositories remain loosely coupled through files/references and no scientific validity is inherited through transfer

Reproducibility semantics

  • R0 Traceable — source/artifact identity locatable
  • R1 Replay-addressable — intended inputs/config/run identity locatable
  • R2 Environment-bounded — relevant environment/dependency assumptions recorded
  • R3 Reproduced — genuinely separate rerun + declared comparison

No trace/checkpoint/provenance/claim audit/claim transfer/envelope/maintenance baseline self-awards R3

Scientific-integrity boundaries

Provenance != Truth
Assertion basis != correctness
Audit coverage != scientific validity
Coverage ratio != probability
Claim indexing != truth adjudication
Claim verification record != scientific verdict
Claim transfer != acceptance
Evidence ref != evidence sufficiency
Conflict absent != corroboration
Provider identity != output validity
Human review != peer review
Runtime-policy success != scientific validation
Convergence != certainty
Maintenance clean != scientific validity
Calendar-month close != reproduction

Governance boundary

GitHub Actions, CI, CodeQL, dependency bots, branch-protection assumptions, and merge gates remain outside this research architecture. Local/manual checks are optional maintenance aids; test execution is not the completion criterion for this stage-close reconciliation

Keywords
Programming language
  • Python 100%
License
</>Source code

Contributors

Contact person

XJ

Xuanyi Jiang

Independent Researcher and Research Software Maintainer
Independent Researcher
0009-0001-3617-0832Mail Xuanyi
XJ
Independent Researcher and Research Software Maintainer
Independent Researcher
0009-0001-3617-0832