No description
  • PowerShell 73.2%
  • C++ 19%
  • TypeScript 6.1%
  • SCSS 1.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 3a310ec400 Merge readme-front-door: README front door
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:16:20 +02:00
.epiphany Integrate divine manifestation and interception 2026-08-23 16:17:37 +02:00
.github/workflows Publish only the Kalsa reader projection 2026-08-22 18:45:55 +02:00
Kalsa Clarify the subject of the sealed gate report 2026-09-05 05:23:10 +02:00
scripts Integrate divine manifestation and interception 2026-08-23 16:17:37 +02:00
seed Archive seed witnesses with provenance 2026-08-22 12:28:57 +02:00
site Restore Quartz base stylesheet 2026-08-23 11:36:30 +02:00
workshop Integrate divine manifestation and interception 2026-08-23 16:17:37 +02:00
.gitattributes Build vault, memory, and Quartz operating surfaces 2026-08-22 12:36:50 +02:00
.gitignore Enclose Kalsa author material behind spoilers 2026-08-22 19:40:31 +02:00
AGENTS.md Name the reader-calibration drift in prose doctrine 2026-09-06 16:38:20 +02:00
CLAUDE.md Wire AGENTS.md into Claude Code memory 2026-09-03 22:23:03 +02:00
LICENSE Build vault, memory, and Quartz operating surfaces 2026-08-22 12:36:50 +02:00
README.md README front door: value, problem, entry points, live versus planned 2026-10-22 20:10:44 +02:00

Kalsa

Kalsa is a high-fantasy setting for Ghostlight Dungeon: gods, prophets, shamans, old miracles, sacred machinery, fallen cities, and peoples trying to live among explanations that do not agree.

This repository is the complete open author vault. It contains setting-level and dungeon spoilers in plain text. They are not secret, but they are not the intended first encounter either. The public reader surface is deliberately smaller so that people can choose when to inspect the machine.

Open Kalsa/—not the repository root—as the Obsidian vault. Its file explorer shows the reader section and one explicitly named spoiler section.

Problem it solves: Kalsa began as a teenage seed. It is being turned into a causally dense setting that Ghostlight Dungeon can use for play, while keeping author truth, reader lore, and what a character may know in separate owners, so spoilers stay opt-in.

Live versus planned: live are the vault (Kalsa/Public/ for readers, Kalsa/Spoilers/ for authors and GMs), the spoiler-safe Quartz site built from Kalsa/Public/ alone (https://gamecult.github.io/Kalsa/), and the iterative deepening system in workshop/deepening/ (queue.md is the live plan and ledger.md the audit trail). Planned or blocked, per the queue: the Kalsa world-compiler integration owned by Ghostlight (KALSA-027), a source-grounded Intuition polity (KALSA-023), more situated magical traditions (KALSA-031), and the kalsa.gamecult.org domain, an external DNS and Pages step this repo does not assert as done.

Start here

Authority map

  • Kalsa/Public/: inhabitant-facing common knowledge, attributed scholarship, and situated sources; the only Quartz content root
  • Kalsa/Spoilers/: complete open author canon and GM material; deliberately entered repository/Obsidian section
  • Kalsa/index.md: navigation only; owns no setting claims
  • Kalsa/.obsidian/: stable configuration for the canonical vault; session and cache state remain local and ignored
  • seed/original/: immutable source witnesses
  • seed/manifest.md: source hashes and witness map
  • workshop/: critique, proposals, contradictions, and repair evidence; never automatic canon
  • .epiphany/: durable agent judgment and continuity; never setting truth
  • site/: Kalsa-specific Quartz projection
  • scripts/: build and verification tools
  • quartz-site/public/: generated output, ignored by Git

Obsidian is the authoring interface. Quartz is the reader projection. Neither owns lore. Public prose lets players explore what Kalsan cultures, schools, offices, and witnesses understand and dispute; it is not a shortened author encyclopedia. Public prose does not overrule its canonical subject owner, and author truth does not enter a character's knowledge merely because both exist in one open repository.

Local site

The shared engine is the sibling GameCult-Quartz repository. Install that engine's dependencies once, then run:

.\scripts\quartz\quartz.ps1 build

For local development:

.\scripts\quartz\quartz.ps1 dev

Set GAMECULT_QUARTZ_ROOT when the shared engine is not checked out beside this repository. The launcher stages the engine under .quartz-build/engine and writes the static site to quartz-site/public.

The intended custom domain is kalsa.gamecult.org. DNS and the GitHub Pages domain binding are an external deployment step; repository configuration does not pretend that step has already happened.

Deepening standard

The target is causal density comparable to AetheriaLore, not a matching heap of nouns. A mature institution exposes its origin, authority, material base, recruitment and succession, ordinary procedure, beneficiaries and costs, dependencies, internal contradiction, organized resistance, failure modes, and consequences for play. Each repair wave is modeled, challenged by an unfamiliar reader, grounded against named sources, changed in a bounded diff, and verified before its ledger entry closes.