Architectural Lineage (Credits):
SwarmCraft is an architectural fork and deep rewrite of the multi-agent swarm engine created by Mojomast in mojomast/swarmussy.
SwarmCraft’s deterministic “Architect-style” layering is also derived from the meta-structure of Abstract Wiki Architect (AWA).
Full details: Credits & Lineage
SwarmCraft supports multiple isolated projects (“universes”) in the same repository/runtime.
A project is an isolated unit that contains:
This prevents cross-story contamination and enables switching between worlds without restarting the whole engine.
SwarmCraft SHOULD use a projects/ root:
root/
└── projects/
├── .last_project
│
├── project_alpha/
│ └── data/
│ ├── matrix.json
│ ├── story_bible/
│ │ ├── outline.json
│ │ └── templates/
│ ├── memory_db/
│ └── manuscripts/
│
└── project_beta/
└── data/
├── matrix.json
├── story_bible/
├── memory_db/
└── manuscripts/
Notes:
projects/<project_id>/data/ is the canonical project data root.data/manuscripts/ is recommended to keep everything portable.Each project is identified by its folder name:
project_id = "project_alpha"The project ID should be:
For correctness, projects MUST NOT share:
matrix.json (runtime state)story_bible/ (creative intent)memory_db/ (RAG vectors)If your implementation uses global caches, they MUST be keyed by project_id.
A project manager component (implementation detail) typically supports:
.last_project (Recommended)A simple pointer file:
projects/.last_projectContents:
project_alpha
On startup:
.last_projectCreating a project should:
Create projects/<project_id>/data/
Create an initial Story Bible structure:
story_bible/templates/story_bible/outline.json (blank scaffold)Initialize matrix.json (empty/initial state)
Initialize memory_db/ (empty DB folder)
Optionally create manuscripts/ folder
Deletion should be explicit and guarded. Recommended to require a confirmation flag.
In the deterministic loop, the orchestrator operates against exactly one active project:
projects/<id>/data/*memory_db/Pipeline: Deterministic Pipeline
The dashboard should clearly display:
Dashboard: Dashboard TUI Reference