generated from coulomb/repo-seed
IB-WP-0014: archive integration with artifact-store (T01+T02)
Reframe IB-WP-0014 from "in-repo S3/git backend adapters" to "durable archive surface via artifact-store". The live infospace stays in a local working folder; finalized snapshots are bundled into content-addressed artifact-store packages. - New module infospace_bench.archive: archive_infospace(), list_archives(), ArchiveRecord. Self-bootstraps a SQLite + local-FS registry under output/archives/.store/ when no Registry is passed in. - New output/archives/index.yaml records each archive event (package id, manifest digest, retention class, included paths, file count, note). - artifactstore added as a path dep; Python floor bumped to 3.12 to match. - Makefile for venv-based dev setup; stack-and-commands.md updated. - tests/test_archive.py covers index write, list, recursive-capture guard, caller-supplied include, and empty-include error. Full suite 65 passed. Remaining tasks (T03 list CLI, T04 restore, T05 docs) tracked in the workplan. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
29
Makefile
Normal file
29
Makefile
Normal file
@@ -0,0 +1,29 @@
|
||||
PYTHON ?= .venv/bin/python
|
||||
UV ?= uv
|
||||
|
||||
.PHONY: help venv install test test-archive clean
|
||||
|
||||
help:
|
||||
@echo "infospace-bench dev targets"
|
||||
@echo
|
||||
@echo " make venv create ./.venv via uv"
|
||||
@echo " make install install path deps (markitect-tool, artifactstore) into .venv"
|
||||
@echo " make test run the full pytest suite"
|
||||
@echo " make test-archive run only the artifact-store archive integration tests"
|
||||
@echo " make clean remove ./.venv and pytest caches"
|
||||
|
||||
venv:
|
||||
$(UV) venv
|
||||
|
||||
install: venv
|
||||
$(UV) pip install -e .
|
||||
$(UV) pip install pytest pytest-asyncio
|
||||
|
||||
test:
|
||||
$(PYTHON) -m pytest -q
|
||||
|
||||
test-archive:
|
||||
$(PYTHON) -m pytest tests/test_archive.py -q
|
||||
|
||||
clean:
|
||||
rm -rf .venv .pytest_cache
|
||||
Reference in New Issue
Block a user