Website · Platform overview · Hosted service · Machine-readable index
Public, checksum-verified catalog and archive storage for the current SagaSmith D&D 5e and Call of Cthulhu 7e Content Packs. Repository visibility is not a content license: every Pack, source document, and embedded asset retains its own license, attribution, and distribution restrictions. Download, import, or redistribute only content you are authorized to use.
sagasmith-dndandsagasmith-cocdefine and validate current system-specific Pack semantics.- Their repository-local MCP servers import, activate, export, and remove Packs
through the authoritative
content_packfacade. SagaSmith-serviceand the domain Workbenches may surface this catalog, but the catalog never grants runtime permission or content rights.
Former standalone MCP, Skills, UI, and Module Generator repositories are archived history and are not current producers or consumers.
The current collection contains 46 immutable Packs:
- D&D: 21 addons, 2 core-rule Packs, 18 modules, and 2 actor presets.
- CoC: 1 core-rule Pack and 2 modules.
content-library/index.json is the current machine-readable integrity and
discovery index; presence in the index does not establish redistribution rights.
content-library/migration-report.json records the source version and checksum
for each migrated identity, all superseded archives, and the seven unfinalized
module inputs that were intentionally refused. Pack archives are stored through
Git LFS under content-library/packages/.
Finalized source Packs are immutable. Updating this library means publishing a new Pack version and replacing the current collection; it does not rewrite the source archive or preserve a parallel legacy protocol.
Validate a checkout after fetching LFS objects:
python scripts/validate_library.pyThe validator checks archive SHA-256 and sizes, descriptor identities, every embedded blob, required dependency closure, portable index paths, and the exact current system/kind counts.
The long campaign regression rebuilds and recreates the hosted stack from the
current sibling SagaSmith-agent, sagasmith-core, sagasmith-dnd,
sagasmith-coc, and sagasmith-narrative worktrees before it sends any room
actions. The exact source revisions and Docker build/recreate results are saved
as runtime-refresh.json in the output directory. The runner supplies an
ephemeral shared authorization-context secret to the refreshed local stack; it
does not write that secret to source or regression artifacts.
The Service's compose.regression.yaml overlay selects the current hosted Agent
configuration, including the process-local Narrative MCP and signed principal
context required by the latest domain runtimes.
python scripts/regression_current_campaigns.py --output-dir ../.runs/current-campaignsUse --skip-runtime-refresh only when the Service stack is managed and refreshed
outside the runner. --inventory-only never starts or rebuilds the stack.
Campaigns can run concurrently with isolated HTTP clients and per-campaign logs:
python scripts/regression_current_campaigns.py `
--output-dir ../.runs/current-campaigns-parallel `
--parallelism 4 --skip-restartParallel mode requires --skip-restart; restart/resume evidence must be gathered
by a separate serial run so one campaign cannot restart the Agent while another
campaign has an in-flight model request.
On 2026-08-20 the runner rebuilt the stack from the current Agent, Core, D&D,
CoC, Narrative, and Service worktrees, then completed the D&D and CoC reference
campaigns concurrently with isolated clients and no reported regression gaps.
The D&D result recorded a legal ending. summary.json, per-campaign logs, and
runtime-refresh.json are the evidence boundary; discovered modules that were
not run remain explicit machine-readable exclusions rather than implicit passes.
The content library remains the authority for this long regression because its Pack inventory, declared endings, and explicit exclusions define what must be played. The run still begins at the hosted Agent's public room/channel boundary and exercises concurrent campaigns through the real Agent, Service, and domain MCP stack.
Raw run directories are local-only because they contain account credentials, cookies, session identifiers, HTTP traces, and potentially OAuth login state. Export only the explicit public evidence allow-list:
python scripts/export_regression_evidence.py `
../.runs/current-campaigns-parallel `
regression-evidence/2026-08-20-parallel-current-runtime.json
python scripts/validate_regression_evidence.py regression-evidenceThe exporter never reads accounts.json or raw HTTP logs. It removes campaign,
account, session, filesystem-path, and authentication details, then rejects the
output if credential-, cookie-, token-, OAuth-, or local-path patterns remain.
Committed evidence contains only Pack identities and checksums, component Git
revisions, coverage booleans/counts, explicit exclusions, and the final result.
The repository tooling is Apache-2.0. Each Pack and embedded asset retains its own license, attribution, and distribution metadata; the repository license does not grant redistribution rights for Pack content.