Skip to content

test(cyborg): reproduce the public CAGE-2 protocol and emit equivalence evidence #22

Description

@Brad-Edwards

Objective

Demonstrate the adapter with a bounded, independently rerunnable reconstruction of the public CAGE Challenge 2 evaluation protocol.

Scope

  • Reconstruct the evaluation matrix from pinned primary sources: trial lengths 30/50/100; B-line, Meander, and Sleep red policies; random.seed(153); 1,000 episodes per condition; and the upstream-shipped blue baseline agents selected in the frozen run plan.
  • Preserve the upstream evaluator and score calculation as source facts while also emitting RAES objectives, evidence, derived measures, and run provenance.
  • Predeclare baseline agents, exclusions, failure handling, confidence-interval method, tolerances, and criteria for exact, bounded, or failed reproduction.
  • Drive the same authored scenario through the RAES reference backend for the equivalence tiers it genuinely supports. Unsupported runtime facts must weaken the claim rather than be synthesized.
  • Generate immutable inputs, per-run inventories, aggregate tables, validation reports, environment metadata, and a one-command reproduction path into a fresh operator-selected output.
  • Compare published and observed results without treating score similarity as conformance or semantic equivalence.

Acceptance criteria

  • The frozen matrix and all source identities/digests are machine-readable.
  • Every scheduled run is retained as valid, invalid, failed, or excluded; retries use new IDs.
  • Aggregate scores and 95% confidence intervals are recomputable from retained run evidence.
  • Authored-source, contract, execution-control, state/observation, outcome/evaluation, and disclosure tiers each have a pass/fail/weakened result.
  • Reference-backend support and limitations are reported separately from CybORG outcomes.
  • A clean environment can reproduce the aggregate artifact from an operator-supplied immutable export.
  • The report states the exact bounded claim and does not claim deterministic replay, backend identity, or scientific reproducibility beyond the evidence.
  • Tests are updated for the implemented behavior and the relevant targeted/native plus canonical verification commands are actually run and pass before acceptance.

References


Data ownership and capture layout

The adapter owns the apparatus and writes a complete machine-readable result to a fresh explicit output selected by the operator. Generated study data is not checked into the adapter repository, packaged in the distribution, or bound to a downstream repository or filesystem location.

The generated export contains:

  • protocol.json — the frozen matrix/oracle: conditions, agents, seeds, run counts, tolerances, and exact/bounded/failed reproduction criteria, frozen before mediated runs.
  • source-ledger.json — pinned upstream sources with versions and content digests, plus loss and exclusion disclosures.
  • runs/ — per-run inventory with never-reused IDs, terminal state, provenance, and evidence.
  • aggregates.json — aggregate measures with 95% confidence intervals, recomputable from runs/.
  • tiers.json — pass/fail/weakened results for authored-source, contract, execution-control, state/observation, outcome/evaluation, and disclosure, with cited evidence.
  • validation-report.md — clean-environment recomputation and the one-command validation path.
  • environment.json — exact software/source/pack/study identities and stated limitations.

Research projects and archives independently own retention and publication after validating an export. Export only reviewed, non-sensitive material; keep private, restricted, credential, provider-log, and native hidden-truth data out of portable artifacts.

Research purpose

The result supplies apparatus evidence for OpenRAE/research#14 and behavioral baseline outcome-reproduction evidence for OpenRAE/research#20. It is not a proof of submitted-agent identity, state equivalence, or general OpenRAE/CybORG research equivalence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions