Created via gitfield-remember
Find a file
Mark Randall Havens △ The Empathic Technologist ⟁ Doctor Who 42 8026e26cee
Update index.html
2025-11-08 10:36:21 -06:00
.gitfield revamped 2025-10-18 13:03:53 -05:00
.old fresh start 2025-10-19 16:48:12 -05:00
.old2 fresh start 2025-10-19 16:48:12 -05:00
atlas fresh start 2025-10-19 16:48:12 -05:00
benchmarks fresh start 2025-10-19 16:48:12 -05:00
blueprint fresh start 2025-10-19 16:48:12 -05:00
docs fresh start 2025-10-19 16:48:12 -05:00
genesis fresh start 2025-10-19 16:48:12 -05:00
migrations/v2_2 fresh start 2025-10-19 16:48:12 -05:00
node_modules fresh start 2025-10-19 16:48:12 -05:00
public Update index.html 2025-11-08 10:36:21 -06:00
signatures fresh start 2025-10-19 16:48:12 -05:00
tools Update generate-index.mjs 2025-11-08 10:00:24 -06:00
.gitignore fresh start 2025-10-19 16:48:12 -05:00
audit.jsonl fresh start 2025-10-19 16:48:12 -05:00
package-lock.json Rebult lockfile after mdurl tag corruption 2025-10-19 12:56:48 -05:00
package.json fresh start 2025-10-19 16:48:12 -05:00
README.md fresh start 2025-10-19 16:48:12 -05:00
the-game-of-life.html Create the-game-of-life.html 2025-11-07 04:38:43 -06:00

The Fold Within Earth - v2.3 Canonical Minimal Specification

This repository implements the eternal, Markdown-native MUD/blog/archive as per the blueprint.

Setup

  1. npm install (generates package-lock.json)
  2. node tools/hash.js to verify hashes; node tools/hash.js fix to update IDs if needed
  3. npm run lint to validate all files
  4. npm run build to generate /dist
  5. 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 id field, computed over YAML front-matter (excluding id) + body.
  • Run node tools/hash.js to check hashes; use node tools/hash.js fix to update incorrect IDs.
  • Hashes exclude the id field to avoid circularity.
  • After modifying exits.to fields, run node tools/hash.js fix to update affected hashes.
  • exits.to fields in .md files must use full id values (e.g., room:slug@sha256:hash) or kind: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.to will fail the build. Ensure all referenced IDs exist in /atlas and match their file hashes.

For full spec, see /docs/primer.md.