Generic shared service artifact store to integrat S3 Buckets or scalable selfhosted Storage based on Ceph.
Find a file
tegwick 3d50564d12 chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-05-16:
  - update .custodian-brief.md for artifact-store
2026-05-16 02:06:03 +02:00
docs docs+plans: reconcile blueprint with ambition, add ADRs, sequence workplans 2026-05-15 21:16:17 +02:00
migrations WP-0001-T002: registry data model, Alembic, initial migration with retention seed 2026-05-16 01:50:38 +02:00
src/artifactstore WP-0001-T003: storage adapter SPI and local filesystem backend 2026-05-16 02:01:25 +02:00
tests WP-0001-T003: storage adapter SPI and local filesystem backend 2026-05-16 02:01:25 +02:00
workplans WP-0001-T003: storage adapter SPI and local filesystem backend 2026-05-16 02:01:25 +02:00
.custodian-brief.md chore(consistency): sync task status from DB [auto] 2026-05-16 02:06:03 +02:00
.env.example WP-0001-T001: service scaffold (Python, FastAPI, uv, ruff, mypy, pytest) 2026-05-16 01:30:22 +02:00
.gitignore WP-0001-T001: service scaffold (Python, FastAPI, uv, ruff, mypy, pytest) 2026-05-16 01:30:22 +02:00
AGENTS.md docs+plans: reconcile blueprint with ambition, add ADRs, sequence workplans 2026-05-15 21:16:17 +02:00
alembic.ini WP-0001-T002: registry data model, Alembic, initial migration with retention seed 2026-05-16 01:50:38 +02:00
INTENT.md Bootstraping the repo 2026-05-15 20:08:32 +02:00
LICENSE Initial commit 2026-05-15 16:14:36 +00:00
Makefile WP-0001-T002: registry data model, Alembic, initial migration with retention seed 2026-05-16 01:50:38 +02:00
pyproject.toml WP-0001-T002: registry data model, Alembic, initial migration with retention seed 2026-05-16 01:50:38 +02:00
README.md WP-0001-T001: service scaffold (Python, FastAPI, uv, ruff, mypy, pytest) 2026-05-16 01:30:22 +02:00
SCOPE.md Bootstraping the repo 2026-05-15 20:08:32 +02:00
uv.lock WP-0001-T002: registry data model, Alembic, initial migration with retention seed 2026-05-16 01:50:38 +02:00

artifact-store

Generic artifact registry and storage gateway for generated outputs, evidence packages, reports, logs, snapshots, exports, and release artifacts.

The registry owns artifact identity, metadata, provenance, retention policy, and retrieval records. Bytes are delegated to configured storage backends (local filesystem in v1, S3-compatible / Ceph RGW next).

The shape is library-first (artifactstore Python package); the HTTP server and the CLI are thin consumers. Content is addressed by digest; state is authoritative in an append-only event log; materialised views are rebuildable.

Status

Scaffold landed. The core kernels and local FS backend follow in the remaining tasks of WP-0001.

Develop

Requires Python ≥ 3.12 and uv on the path.

make install        # uv sync --all-extras
cp .env.example .env

make dev            # uvicorn artifactstore.api.http:app --reload
make test           # pytest
make lint           # ruff check + ruff format --check
make type           # mypy --strict
make migrate        # alembic upgrade head (configured in WP-0001-T002)

The dev server listens on 127.0.0.1:8000. The scaffold root route returns {"service": "artifact-store", "status": "scaffold"}; the real /health endpoint lands in WP-0001-T014.

Documentation

Active workplans

Agent operating notes

See AGENTS.md for the StateHub-integrated session protocol, workplan conventions, and progress-logging contract.