Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Research Decision Engine Core

English | 简体中文

What RDE Core is

Research Decision Engine Core (RDE Core) is a local Python research core for bounded, sequential experiment selection over a finite candidate set. It combines deterministic built-in policies, trusted workload adapters, local SQLite history, and verifiable, replayable RunBundles.

Project status and development approach

Research Decision Engine Core is an experimental, pre-release project.

I built this project through a vibe-coding workflow. This means that I used AI tools throughout the design, coding, testing, and documentation. I made the final choices and reviewed the work, but mistakes and untested assumptions may still remain.

RDE Core has not yet been used in a real production environment. It has not been tested by a broad range of users or with a broad range of real workloads. Most of the current evidence comes from automated tests, reproducible builds, and CI checks. These checks are useful, but they do not replace long-term use in real environments.

Please treat RDE Core as research software. Start with small, non-critical, and reversible workloads. Review the inputs, outputs, and assumptions yourself. Do not use it as the only basis for high-stakes decisions.

Clear bug reports, corrections, and practical feedback are welcome.

What it is not

RDE Core is not a hosted service, a Web UI, a GPU or cluster execution system, a continuous-learning trainer, or a general-purpose plugin host. It does not establish that an experiment is scientifically valid, and it is not the separately governed RDE Assurance product track.

Current status

  • Pre-release: RDE Core v1.0 has not been formally released. The active private candidate is 1.0.0rc5; it is not published.
  • RC API freeze: the public API is frozen for the release-candidate line and is covered by the RDE 1.x compatibility contract.
  • Prior private candidate: 1.0.0rc4 was superseded before publication when private-source commit references were removed from release-facing surfaces. Its private, unpublished evidence is preserved externally.
  • Publication state: the sanitized product repository is public. No public repository release, GitHub Prerelease, tag, GitHub Release, release announcement, or PyPI publication has occurred.
  • Private validation provenance: exact private commit and workflow identities are retained only in external private evidence; the public package does not encode them.
  • That Core CI result is not RDE Assurance approval and is not production-readiness approval.

Requirements

  • CPython 3.12
  • uv
  • local SQLite, accessed through Python's standard library; no database server is required
  • no required cloud service
  • no required GPU

Installation from the current source repository

The permanent audit repository remains private. Authorized maintainers with an existing private checkout can install the locked environment from its current source branch:

uv sync --locked

The sanitized product repository is RolandLin0724/research-decision-engine-core, and it remains PRIVATE. No public clone command or PyPI installation is available for this private candidate.

Ten-minute Quickstart

After installation, create a new empty working directory under the repository root:

mkdir quickstart
cd quickstart

Save the following as quickstart.py:

from pathlib import Path

from research_decision_engine import (
    CandidateSpec,
    NormalizedObservation,
    PythonFunctionAdapter,
    RunSpecV3,
    export_run_bundle_v3,
    replay_run_bundle_v3,
    run_workload_trace_v3,
    verify_run_bundle_v3,
)
from research_decision_engine.storage import ExperimentStore

calls = {"count": 0}


def score(candidate: CandidateSpec) -> NormalizedObservation:
    calls["count"] += 1
    x = float(candidate.parameters["x"])
    return NormalizedObservation(
        objective_value=-(x - 2.0) ** 2,
        cost=0.25,
    )


candidates = [
    CandidateSpec("point-1", {"x": 1.0}),
    CandidateSpec("point-2", {"x": 2.0}),
    CandidateSpec("point-3", {"x": 3.0}),
]

adapter = PythonFunctionAdapter(
    score,
    adapter_id="quickstart.python",
    adapter_version="1",
)

run_spec = RunSpecV3(
    candidates=candidates,
    policy_id="random",
    policy_config={},
    policy_seed=17,
    experiment_count_budget=2,
    cost_budget=1.0,
    adapter_id="quickstart.python",
    adapter_version="1",
    objective_name="score",
    objective_direction="maximize",
)

database = Path("history.sqlite3")
with ExperimentStore(database) as store:
    store.init_schema()
    trace = run_workload_trace_v3(
        store,
        run_spec=run_spec,
        adapter=adapter,
    )
    history = store.list_workload_experiments(run_spec.fingerprint())

assert database.is_file()
assert len(history) == calls["count"] == len(trace.steps) == 2

bundle_directory = Path("run-bundle")
exported = export_run_bundle_v3(bundle_directory, trace=trace)
verified = verify_run_bundle_v3(bundle_directory)

assert exported.valid is True
assert verified.valid is True
assert verified.bundle_sha256 == exported.bundle_sha256

before_replay = calls["count"]
replay_directory = Path("replay")
replay_directory.mkdir()
assert not any(replay_directory.iterdir())

replayed = replay_run_bundle_v3(bundle_directory, replay_directory)

assert calls["count"] == before_replay
assert replayed.adapter_execution_count == 0
assert replayed.callable_execution_count == 0
assert replayed.command_execution_count == 0
assert replayed.equivalent is True
assert (replay_directory / "replay.sqlite3").is_file()

print(f"RunSpec: {run_spec.schema}")
print(f"Candidates executed: {verified.selected_candidate_ids}")
print(f"SQLite: {database}")
print(f"RunBundle verified: {verified.valid}")
print(f"Replay equivalent: {replayed.equivalent}")
print(f"Replay callable executions: {replayed.callable_execution_count}")

Run it from that directory:

uv run --locked python quickstart.py

The final lines should confirm RunBundle verified: True, Replay equivalent: True, and Replay callable executions: 0. The directory now contains history.sqlite3, the two-file run-bundle/, and replay/replay.sqlite3.

The initial run invokes score twice. Replay then uses the recorded observations to rebuild and check the decision history in fresh SQLite state; it does not invoke score or any other workload callable again.

The example is intentionally single-use in its working directory. To run it again, start in another new empty directory.

Supported contract summary

RunSpec / RunBundle Supported policies
v1 random
v2 random, greedy_prior
v3 random, greedy_prior, information_gain_table

Use v3 for new experiments that need the complete three-policy set. V1 and v2 remain supported by the RDE 1.x compatibility contract; Core does not silently upgrade or downgrade their artifacts.

What is persisted

The SQLite history stores completed workload records under the RunSpec fingerprint. The exported RunBundle carries the complete versioned replay record, including:

  • RunSpec identity
  • candidate decisions
  • observations
  • rationales
  • belief lineage where applicable
  • per-step and cumulative cost
  • terminal summary

Trust boundary

  • PythonFunctionAdapter executes a user-provided Python callable in the current Python process. The callable must be trusted.
  • Core does not claim to sandbox malicious Python and provides no security isolation for this adapter.
  • Replay consumes recorded observations and checks static decisions. It does not call the workload callable, invoke an adapter, or execute a command.
  • RDE Core and RDE Assurance are independent product tracks. Core results create no Assurance authority or approval.

License

RDE Core is licensed under the Apache License, Version 2.0. See LICENSE.

Public project identity: RolandLin0724.

Security and privacy

Completed current-tree and history privacy audits do not authorize direct public conversion of the permanent private repository or publication of this candidate. The sanitized product repository became public only after every private preparation gate passed and an explicit operator authorized the visibility change. Private Vulnerability Reporting is enabled and verified. The remaining public-release gate stays open.

Next reading

Release files for research-decision-engine 1.0.0rc5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for research-decision-engine 1.0.0rc5
File Size Uploaded
research_decision_engine-1.0.0rc5.tar.gz 901.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for research-decision-engine 1.0.0rc5
File Interpreter ABI Platform
research_decision_engine-1.0.0rc5-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / research_decision_engine-1.0.0rc5.tar.gz

Download URL research_decision_engine-1.0.0rc5.tar.gz
Size 901.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f3c6dfeee28ca643c0777deb5c062473f79319b0fa8fe8f50c0e5cda6e139f8b
BLAKE2b-256 checksum
How to use checksums
ae54d6c2185f971bd3e340903e29da9d4b99199eb43494172a6049045e1086d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / research_decision_engine-1.0.0rc5-py3-none-any.whl

Download URL research_decision_engine-1.0.0rc5-py3-none-any.whl
Size 871.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4819d5811b4b21c71581301bb82b800b095664bf3143f0354393f76608a318e
BLAKE2b-256 checksum
How to use checksums
d725e3c631cd6b682e6423c932cbcb80de011d4d3bff64d4ef58add2bd2158f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0rc5 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page