Created via gitfield-remember
| .gitfield | ||
| .old | ||
| .old2 | ||
| atlas | ||
| benchmarks | ||
| blueprint | ||
| docs | ||
| genesis | ||
| migrations/v2_2 | ||
| node_modules | ||
| public | ||
| signatures | ||
| tools | ||
| .gitignore | ||
| audit.jsonl | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| the-game-of-life.html | ||
The Fold Within Earth - v2.3 Canonical Minimal Specification
This repository implements the eternal, Markdown-native MUD/blog/archive as per the blueprint.
Setup
npm install(generates package-lock.json)node tools/hash.jsto verify hashes;node tools/hash.js fixto update IDs if needednpm run lintto validate all filesnpm run buildto generate /dist- Deploy to Cloudflare Pages (auto-build on push)
Components
- Atlas: Content in /atlas/*.md (hashes verified)
- foldlint: Validation:
node tools/foldlint.js - Build: Generates static site:
npm run build - Scribe: Archiver daemon:
npm run scribe(local only) - Witness: P2P chat in browser (embedded in HTML, offline localStorage)
Hash Management
- Each .md file includes a SHA-256 hash in its
idfield, computed over YAML front-matter (excludingid) + body. - Run
node tools/hash.jsto check hashes; usenode tools/hash.js fixto update incorrect IDs. - Hashes exclude the
idfield to avoid circularity. - After modifying
exits.tofields, runnode tools/hash.js fixto update affected hashes.
Link Management
exits.tofields in .md files must use fullidvalues (e.g.,room:slug@sha256:hash) orkind:slug(resolved automatically).- Use inline strings for
exits.to(no block scalars like>-) to ensure consistent hashing. - Broken links (non-existent IDs) or invalid hashes in
exits.towill fail the build. Ensure all referenced IDs exist in /atlas and match their file hashes.
For full spec, see /docs/primer.md.