Open Research hosted artifacts
Alpha SMRartifact_builder workers publish HTML hosted artifacts during a run. Operators promote a public slug for the Open Research index at /openresearch/artifacts/{slug}.
CRUD matrix (alpha)
| Operation | Supported | How |
|---|---|---|
| Create | Yes (in-run) | Worker MCP publish_hosted_artifact during an artifact_builder task |
| Read | Yes | list, get, get_for_run, get_content, public index/slug |
| Update | Yes | update (PATCH metadata), publish_public, assign_reviewer |
| Delete | Yes | delete removes artifact row, public shell, and stored HTML |
Python SDK
Worker subtypes (launch contract)
Setactor_subtype on a worker task in the kickoff contract:
| Subtype | Role |
|---|---|
artifact_builder | Build HTML and call publish_hosted_artifact |
artifact_reviewer | Review hosted artifact before public promote (orchestrator dispatch) |
Operator HTTP surface (backend)
| Method | Path | Purpose |
|---|---|---|
GET | /smr/hosted-artifacts | List org artifacts (?project_id= optional) |
GET | /smr/projects/{project_id}/hosted-artifacts | List artifacts for one project |
GET | /smr/hosted-artifacts/{id} | Receipt with hosted/public URLs |
PATCH | /smr/hosted-artifacts/{id} | Patch title, metadata, public fields, visibility |
DELETE | /smr/hosted-artifacts/{id} | Delete artifact + public shell + HTML |
GET | /smr/runs/{run_id}/hosted-artifact | Run-scoped receipt |
GET | /smr/hosted-artifacts/{id}/content | Serve HTML |
POST | /smr/hosted-artifacts/{id}/publish-public | Promote public slug |
POST | /smr/hosted-artifacts/{id}/assign-reviewer | Dispatch artifact_reviewer |
GET | /api/open-research/v1/artifacts | Public index JSON |
GET | /api/open-research/v1/artifacts/{slug} | Public slug bundle |
Local smoke
artifact_builder_minimal profile.
Stack operator
stack_get_run_artifact_status-> same fields asGET /smr/runs/{run_id}/hosted-artifactstack_open_hosted_artifact-> open hosted or public shell URL in the system browser