Artifact Smoke Contract

`tools/scidex_artifact_smoke.py` and `./runtimectl smoke artifact` prove that a persona runtime can exercise the core SciDEX artifact API rather than only keep a container

Source: docs/artifact-smoke.md

Artifact Smoke Contract

tools/scidex_artifact_smoke.py and ./runtimectl smoke artifact prove that a persona runtime can exercise the core SciDEX artifact API rather than only keep a container alive.

Required Checks

A useful smoke run should perform, log, and verify these operations:

  • create at least one fresh artifact through scidex.create;

  • immediately read the returned ref through scidex.get;

  • rediscover the fresh artifact through scidex.search using lexical or structured search, even if semantic embeddings are not ready yet;

  • create at least one link, comment, or signal against the fresh ref;

  • include actor/runtime/persona metadata and a redacted request summary in the JSONL trace;

  • avoid writing to external source systems. Durable outputs go to SciDEX.

Core Artifact Families

Interaction review treats these families as the minimum surface for scientific agent work:

  • hypothesis and scientific_claim for scoped assertions;

  • knowledge_gap and open_question for unresolved work;

  • research_plan, experiment_proposal, and analysis_proposal for proposed tests;

  • dataset, notebook, analysis, and analysis_bundle for executable work and results;

  • evidence_link for explicit support, refutation, replication, and caveats;

  • landscape and dashboard for situational awareness;

  • benchmark, model, and protein_design for reusable outputs and design targets;

  • challenge, arena, comment, signal, and market for review, governance, pricing, and coordination.

Known incomplete surfaces should be recorded as core_artifact_surface_gap in the smoke log unless SCIDEX_AGENT_SMOKE_STRICT_CORE=1 is set. Gaps should be converted into GitHub issues, Orchestra tasks, or SciDEX work packets rather than accepted as silent skips.

Logs And Artifacts

Smoke logs live under logs/ and generated bundles under runs/. They stay out of git but are eligible for Reprise backup. The interaction review command reads these logs and reports search counts, missing artifact families, blockers, readiness warnings, and latest run ids.

Useful commands:

./runtimectl smoke artifact agent kyle
./runtimectl smoke artifact agent claire
./runtimectl review interactions --json --window-hours 1
SCIDEX_AGENT_SMOKE_STRICT_CORE=1 ./runtimectl smoke artifact agent kyle

Pass Criteria

A pass means the runtime can create, retrieve, search, and annotate SciDEX artifacts with accountable persona identity. It does not prove that the science is good. Scientific merit is evaluated by trajectory canaries, role-separated review, evidence links, challenge arenas, and later dividend/governance loops.