ISA — religion_research (Origins of Human Religions Vault)
Problem
There is no structured place to investigate where religions come from, why so many share the same stories (floods, dying gods, sky fathers), and what religions actually do for the cultures that carry them. Ad-hoc reading produces unconnected notes with no bias control, no source dating, and no way to distinguish a story shared by inheritance from one shared by borrowing or independent reinvention.
Vision
Opening INDEX.md (or the local web explorer) feels like standing over a braided river of human belief: every major tradition traced to its earliest dated evidence, every shared motif carrying a falsifiable descent/contact/convergence verdict, every claim confidence-tagged with its counter-evidence visible. The surprise: the motif is the atomic unit, not the religion — and the map shows where stories actually flowed.
Out of Scope
Theological evaluation (which religion is "true") is permanently excluded. Devotional or apologetic content is excluded. Modern new religious movements (post-1900) are deferred, not core. Public-internet hosting of the web explorer is excluded — LAN only (refined 2026-06-11: principal requires remote LAN access; was localhost-only). Automated scraping pipelines (Apify/BrightData bulk jobs) are not part of v1; agents gather via search + fetch with per-source citation.
Principles
- Calibrated confidence over coverage — a well-counter-argued claim beats ten unsourced ones (Meadows LP3: the system goal).
- Descent / contact / convergence is the master classification for every shared-origin claim; "common origin" is a hypothesis to test, never a premise.
- Emic/etic separation — what a tradition says about itself is recorded as data, never as the analysis.
- Evidence classes that date (archaeology, earliest texts) outrank classes that infer (reconstruction, ethnography, cognitive science); every origin claim carries its evidence class.
- The gap drives the gathering — Tier-3 synthesis emits open questions that re-task gatherers (the R1 return arrow); gather to answer questions, don't synthesize whatever was gathered.
- Feynman discipline — a synthesis that can't be explained simply contains a gap; gaps are logged as open questions, not hidden.
Constraints
- TypeScript + bun only; never Python, never npm/npx. Web server is a single bun-run TS file.
- All notes pass through
templates/— frontmatter contract is mandatory (confidence,counter_evidenceon claims/motifs;attestation_earlieston origin claims). - INDEX.md is the sole entry point; nothing is reachable only by directory spelunking.
- Max 10 agents; exactly one runs Fable 5 high-thinking (the synthesis writer); one is an adversarial bias reviewer.
- Image generation goes through GPT-5.5 via codex CLI exclusively (no other image pipeline).
- Web explorer: systemd --user service
religion.service, localhost:4870, serves this directory read-only. - Sources: hallucinated URLs are a catastrophic failure; agents cite only URLs/works they actually accessed or standard scholarly references clearly marked
[not verified online].
Goal
A git-tracked vault where INDEX.md navigates 9 domain directories (each 1_sources/ 2_notes/ 3_synthesis/), all notes conform to templates/ frontmatter, AGENTS.md binds ethics + workflow, 10 agents have populated initial tier-1/2/3 content including an open-questions register, and http://localhost:4870 serves the vault visually via systemd.
Criteria
Structure (D2)
- [x] ISC-1:
INDEX.mdexists at vault root - [x] ISC-2:
AGENTS.mdexists at vault root - [x] ISC-3:
templates/contains exactly the 6 templates: source, claim, motif, tradition, synthesis, question - [x] ISC-4: 9 domain dirs
01_prehistoric..09_comparativeexist - [x] ISC-5: every domain dir contains
1_sources/,2_notes/,3_synthesis/ - [x] ISC-6:
00_meta/contains methodology note with the Feynman framing (descent/contact/convergence) - [x] ISC-7:
00_meta/OPEN_QUESTIONS.mdregister exists (the R1 return arrow) - [x] ISC-8: vault is a git repo with an initial commit containing all scaffold files
Templates & frontmatter contract (D3)
- [x] ISC-9: every template has YAML frontmatter with
title, type, domain, tier, status, created, tags - [x] ISC-10: claim template requires
confidence(high/medium/low/speculative) andcounter_evidence - [x] ISC-11: motif template requires
transmissionfield restricted to descent/contact/convergence/unresolved - [x] ISC-12: motif + tradition templates require
attestation_earliest(date + evidence class) - [x] ISC-13: source template requires
citation,url_verified(yes/no/not-online),evidence_class(1-archaeology|2-text|3-reconstruction|4-ethnography|5-cognitive) - [x] ISC-14: tradition template separates
emic_accountandetic_accountsections - [x] ISC-15: synthesis template embeds Feynman section (simple explanation + gaps found)
- [x] ISC-16: question template links gap → target domain + suggested gathering action
INDEX.md entry point (D1)
- [x] ISC-17: INDEX links every domain directory
- [x] ISC-18: INDEX links AGENTS.md, templates/, 00_meta methodology, OPEN_QUESTIONS
- [x] ISC-19: INDEX documents the 3-tier flow (sources → notes → synthesis)
- [x] ISC-20: INDEX shows the agent roster table (10 agents, models, mandates)
- [x] ISC-21: INDEX links the web explorer URL (localhost:4870)
- [x] ISC-22: INDEX explains frontmatter contract in ≤10 lines with link to templates
AGENTS.md ethics & workflow (D4)
- [x] ISC-23: AGENTS.md defines learning ethics: emic/etic, no advocacy, steelman rule
- [x] ISC-24: AGENTS.md mandates descent/contact/convergence classification for shared motifs
- [x] ISC-25: AGENTS.md mandates confidence + counter-evidence on every claim
- [x] ISC-26: AGENTS.md defines source standards hierarchy (peer-reviewed > academic press > tertiary; Wikipedia = map not territory)
- [x] ISC-27: AGENTS.md embeds the Feynman Technique as the synthesis workflow
- [x] ISC-28: AGENTS.md defines the 3-tier workflow rules (what may enter each tier)
- [x] ISC-29: AGENTS.md lists the 10-agent roster with one Fable-5 high-thinking writer
- [x] ISC-30: AGENTS.md documents GPT-5.5 codex CLI as the only image pipeline
- [x] ISC-31: AGENTS.md forbids hallucinated URLs and requires
[not verified online]marking
Agent fleet (D6)
- [x] ISC-32: 8 domain researcher agents spawned, one per domain 01–08
- [x] ISC-33: comparative-motifs domain (09) covered by the Fable-5 writer agent
- [x] ISC-34: 1 adversarial bias-reviewer agent spawned after content lands
- [x] ISC-35: Fable-5 writer agent spawned with
model: fable - [x] ISC-36: every researcher writes ≥1 tier-1 source note using the template
- [x] ISC-37: every researcher writes ≥1 tier-2 claim/motif/tradition note using the template
- [x] ISC-38: Fable writer produces ≥1 tier-3 synthesis essay with Feynman section
- [x] ISC-39: Fable writer populates OPEN_QUESTIONS.md with ≥5 gap entries
- [x] ISC-40: reviewer agent writes a bias-audit report into 00_meta/
- [x] ISC-41: total agents spawned ≤ 10
Web explorer (D8)
- [x] ISC-42:
tools/server.tsexists, bun-only, zero npm dependencies - [x] ISC-43: server renders markdown files as HTML with working relative links
- [x] ISC-44: server shows directory navigation for the vault tree
- [x] ISC-45: server serves INDEX.md at
/ - [x] ISC-46: YAML frontmatter rendered as a styled metadata card, not raw text
- [x] ISC-47:
religion.servicesystemd --user unit installed and enabled - [x] ISC-48: service survives restart (
systemctl --user restart religion→ 200) - [x] ISC-49:
curl localhost:4870returns 200 with INDEX content - [x] ISC-50: Interceptor screenshot confirms visual rendering in real browser
- [ ] ISC-51: [DROPPED — see Decisions 2026-06-11: principal requires LAN access]
- [x] ISC-52: UTF-8 content-type headers (Icelandic + diacritics in religion names render)
MCP + skills (D5, D9)
- [x] ISC-53: MCPmarket install script inspected before execution (no blind curl|bash)
- [x] ISC-54: MCPmarket plugin installed under ~/.claude/plugins and registered
- [x] ISC-55: feynman skill installed at ~/.claude/skills/feynman and invoked
- [x] ISC-56: Feynman framing saved into 00_meta methodology note
Anti-criteria
- [x] ISC-57: Anti: no note in the vault advocates a tradition's truth-claims as fact
- [x] ISC-58: Anti: no origin claim ships without evidence class + attestation or
speculativelabel - [x] ISC-59: Anti: no Python files and no package.json/node_modules in the vault
- [x] ISC-60: Anti: server exposes no write/delete endpoints (read-only explorer)
- [x] ISC-61: Anti: no agent run leaves a tier-2 claim lacking
counter_evidencefield - [ ] ISC-62: [DROPPED — see Decisions 2026-06-11: superseded by ISC-79]
- [x] ISC-63: Anti: no codex/GPT used for research text (images only, per principal's standing rule + this task's explicit scope)
Antecedents (experiential — "visually explore")
- [x] ISC-64: Antecedent: explorer typography readable (max-width prose, dark-friendly palette)
- [x] ISC-65: Antecedent: navigation breadcrumb on every page so exploration never dead-ends
- [x] ISC-66: Antecedent: tier + domain visible at a glance on every rendered note (badge from frontmatter)
Web explorer v2 — research-site refinement (D8 extension, principal request 2026-06-11)
- [x] ISC-71: sticky main menu on every page (Home / Status / Domains dropdown / Motifs / Questions / Method / Ethics / ISA)
- [x] ISC-72: home page is a hero landing (kicker, research question, live stat chips computed per request)
- [x] ISC-73: 3 explanation graphics (transmission chart, tier-loop diagram, attestation timeline) generated via codex GPT-5.5, rendered as captioned figures on home
- [x] ISC-74: braided-river background SVG (codex GPT-5.5) behind the hero
- [x] ISC-75: directory pages render card grids with frontmatter titles + confidence/transmission badges (not bare file lists)
- [x] ISC-76: auto table-of-contents on long notes (≥4 headings)
- [x] ISC-77: typography is sans-serif site-wide, body never monospace (code spans inherit sans per principal taste)
- [x] ISC-78: Anti: zero external requests — no CDN fonts/scripts; all styling inline, assets local
Remote access (principal directive 2026-06-11)
- [x] ISC-79: server binds 0.0.0.0; LAN probe
http://192.168.8.228:4870/returns 200 - [x] ISC-80: bind survives
systemctl --user restart religion(ss shows 0.0.0.0:4870 post-restart)
Wave 2 — complete the research, peer-reviewed final answer, images for all subjects (goal expansion 2026-06-11)
- [x] ISC-81: every domain 01–09 has a GPT-5.5/codex illustration at
assets/illustrations/<domain>.svg, auto-rendered on its directory page - [x] ISC-82: each motif note (great-flood, dying-rising-god, sky-father) has an illustration auto-rendered as banner
- [x] ISC-83:
09_comparative/3_synthesis/final-answer.mdexists — the integrated answer (origins, common traits, cultural functions, common-origins verdict) citing vault notes per claim - [x] ISC-84: ≥2 independent AI peer reviews at
00_meta/PeerReview-{1,2}-2026-06-11.mdwith explicit verdicts (accept / minor / major / reject) - [x] ISC-85: final answer revised to address every major reviewer point;
status: canonset only after revisions land - [x] ISC-86: final answer linked from main menu and home hero
- [x] ISC-87: audit CRITICAL 1 fixed — 02_mesopotamian url_verified honesty restored, dependent claim confidence recapped per AGENTS §2.4
- [x] ISC-88: audit CRITICAL 2 fixed — Rigveda manuscript dates reconciled across 04/06/09; sky-father Anatolian-cognate contradiction resolved with cross-links
- [x] ISC-89: audit CRITICAL 3 fixed — domain-emitted open questions harvested into the register (engine made bidirectional)
- [x] ISC-90: audit minors fixed — broken wiki-links repaired or unlinked, url_verified enum misuses corrected, orphaned Hardacre source linked
- [x] ISC-91: source-diversity gaps closed — ≥1 rival-school tier-1 source added to each of 04, 05, 08
- [x] ISC-92: Anti: peer reviewers are independent agents that did not author the draft they review
Public serving + UI v3 (principal directives 2026-06-11)
- [x] ISC-93:
god.olibuijr.comnginx vhost on proxy (192.168.8.4) with Let's Encrypt TLS proxying to the vault — public curl 200, ssl_verify 0 - [x] ISC-94: Anti: dotfile paths (
/.git/*etc.) return 403 locally AND publicly - [x] ISC-95: typed notes render designed layouts (hero, lede card, tinted evidence panels, verdict banner, sticky metadata sidebar) — screenshot
00_meta/assets/verify-note-design.png - [x] ISC-96: live refresh —
/api/version+ every page self-reloads within ~3s of any vault change (observed during agent writes) - [x] ISC-97: progress bar on every page mirrors ISA
progress, current step (00_meta/now.txt), and loop iteration (00_meta/loop-state.json)
Git & durability
- [x] ISC-67:
.gitignoreexcludes runtime junk (node_modules, .DS_Store, *.log) - [x] ISC-68: final commit after agent content lands (vault state durable)
- [x] ISC-69: README-level pointer: INDEX.md is discoverable as entry (root has no competing README)
- [x] ISC-70: ISA.md (this file) committed with the vault
Test Strategy
| isc | type | check | threshold | tool |
|---|---|---|---|---|
| 1–8 | structure | path exists | exact | Bash test/fd |
| 9–16 | content | frontmatter keys present | exact keys | Read/rg |
| 17–22 | content | links + sections present | all listed | Read/rg |
| 23–31 | content | sections present in AGENTS.md | all listed | Read/rg |
| 32–41 | process | agent spawn records + output files | counts | Agent results + fd |
| 42–52 | live probe | HTTP responses + screenshot | 200/visual | curl + Interceptor |
| 53–56 | process | audit trail in session + paths | exact | Bash/Read |
| 57–63 | anti | grep/scan for violations | zero hits | rg/fd/curl |
| 64–66 | antecedent | visual inspection of screenshot | present | Interceptor |
| 67–70 | git | git log/status | clean + committed | git |
Features
| name | description | satisfies | depends_on | parallelizable |
|---|---|---|---|---|
| scaffold | dirs, git, gitignore | 1–8, 67 | — | no (first) |
| templates | 6 template files | 9–16 | scaffold | yes |
| index | INDEX.md | 17–22 | templates | yes |
| agents-md | AGENTS.md | 23–31 | templates | yes |
| meta | methodology + open questions | 6,7,56 | scaffold | yes |
| server | tools/server.ts + unit | 42–52, 60–66 | scaffold | yes |
| fleet | 10-agent research run | 32–41, 36–39 | templates, agents-md | yes (internally) |
| review | bias audit | 34, 40 | fleet | no (after) |
| finalize | commits, verification | 68–70 | all | no (last) |
Decisions
- 2026-06-11: Motif chosen as atomic unit over religion (FirstPrinciples: "one trunk" is an assumption; braided river needs per-story verdicts).
- 2026-06-11: Agent #9 = adversarial bias reviewer, not a 9th gatherer (SystemsThinking: R3 bias-compounding loop needs a dedicated balancing loop).
- 2026-06-11: Fable-5 writer owns 09_comparative AND starts day-one so gaps drive gathering (SystemsThinking intervention analysis).
- 2026-06-11: ISC soft floor (E4 ≥128) relaxed to 70 — show-your-math: the scaffold's verifiable surface is fully enumerated; the remaining test surface lives in future research iterations, which will append ISCs as content grows. Padding now would duplicate probes without adding verification power.
- 2026-06-11: Cato cross-vendor audit (Rule 2a) skipped — principal's standing memory "No codex agents; use Claude-family + real-probe verify" overrides doctrine; real-probe verification (curl + Interceptor + rg scans) substitutes.
- 2026-06-11: MCPmarket curl|bash NOT piped blind — downloaded, structure-audited (all writes confined to ~/.claude/plugins, claude CLI registration), then executed; post-install file audit clean.
- 2026-06-11: skillfish ran via
bun x(no-npx rule); installed feynman skill to 5 agent homes. - 2026-06-11: Principal directive — ALL agents run Fable 5 (reviewer restarted on fable; roster docs updated; wave-1 researchers had run sonnet before the directive landed).
- 2026-06-11: Principal directive — docs are live-updated as agents work; the web UI at :4870 is the principal's real-time feedback surface. ISA progress/checkboxes, INDEX, and OPEN_QUESTIONS update the moment state changes, not at wave end.
- 2026-06-11: UI v2 directive — "research paper website" but NOT too professional/stuffy; dev-site dark aesthetic, sans typography (never monospace body); explanation charts/diagrams/illustrations/backgrounds generated by GPT-5.5 via codex CLI (the sanctioned image pipeline). ISC-71..78 appended (ID-stable).
Changelog
- conjectured: religions trace back to common origins ("trace it back to its sources" as one trunk) → refuted by: FirstPrinciples pass — three transmission paths (descent/contact/convergence) are empirically distinguishable and convergence may dominate → learned: the research question must stay falsifiable per-motif, not assumed globally → criterion now: ISC-11 (motif template restricts
transmissionto the four-value enum), ISC-24 (AGENTS.md mandates the classification).
Verification
- ISC-1–8: Bash fd/ls — all paths present; git commit
4d80404(scaffold) +37dcf71(synthesis wave) - ISC-9–16: Write-verified template content; agent conformance confirmed by rg scans (27/27 tier-2+3 notes carry
counter_evidence) - ISC-17–31: Read — INDEX and AGENTS.md contain all required sections, links, roster, image-pipeline rule
- ISC-32–39, 41: agent run records — 8 researchers (6 files each, domains 01–08), Fable-5 writer (
model: fable, 18 files incl.what-religions-do.mdwith Feynman section, OPEN_QUESTIONS Q4–Q11); 10 agents total - ISC-34: reviewer spawned on Fable 5 (report pending → ISC-40)
- ISC-42–47:
tools/server.tszero-dep bun; curl 200 at/; Interceptor screenshots00_meta/assets/verify-index.png,verify-motif-template.pngshow styled render + badge card - ISC-48:
systemctl --user restart religion→ curl 200 ("restart-probe HTTP 200") - ISC-49:
curl localhost:4870→ HTTP 200, title "INDEX — religion_research" - ISC-50: Interceptor real-Chrome screenshots captured (see assets)
- ISC-51/62: DROPPED (LAN directive) → superseded by ISC-79/80
- ISC-52:
curl -sI /ISA.md→Content-Type: text/html; charset=utf-8; ḫ/ś/ā glyphs render - ISC-53–54: installer downloaded + structure-audited before run; plugin at
~/.claude/plugins/mcpmarket-my-toolkit, registered via claude CLI - ISC-55–56: feynman skill at
~/.claude/skills/feynman, invoked; framing saved in00_meta/Methodology.md - ISC-59: fd — 0
.py, 0package.json - ISC-60: server code has no write/delete handlers (GET-only fetch routing)
- ISC-61: rg files-without-match
counter_evidenceon tier-2/3 → zero - ISC-63: codex CLI untouched this run (no images generated yet)
- ISC-64–66: screenshots — prose max-width 54rem dark palette, breadcrumb nav on every page, badge row (type/tier/domain/status/confidence/transmission)
- ISC-67/69:
.gitignorepresent; no competing README at root - ISC-40:
00_meta/BiasAudit-2026-06-11.md— 4 critical / 6 major / 10 minor, all criticals+majors fixed in wave 2 - ISC-57/58: audit confirmed zero advocacy and zero calibration violations; emic/etic "genuinely clean"
- ISC-63 (updated): codex GPT-5.5 used for images ONLY (18 generated assets); zero research text from codex
- ISC-79/80:
ss→ LISTEN 0.0.0.0:4870 post-restart; LAN curl 200 - ISC-81/82: 14 photorealistic PNGs (9 domains + 3 motifs + final-answer + what-religions-do) auto-rendering as banners —
00_meta/assets/verify-photoreal-banner.png - ISC-83–86: final-answer.md live (curl 200), nav "The Answer" + hero CTA, public screenshot
00_meta/assets/verify-final-answer.png - ISC-84/92: PeerReview-1 (citation fidelity; 22/29 notes verified, 5 external stress-tests held) + PeerReview-2 (methods/epistemics) — both independent agents, both "minor revisions", all required points addressed in commit
f869b36 - ISC-87–91: per-agent reports + validator green; rival-school sources committed
c25ff52 - ISC-93/94: public TLS curl 200 ssl:0;
/.git/config→ 403 locally + publicly - ISC-95–97: designed layouts + live refresh + progress bar — screenshots in
00_meta/assets/,/api/versionprobe - Validator:
bun tools/validate.ts→ 96 files, 0 errors (pre-commit gate installed) - ISC-68/70: final commit (this commit) — vault + ISA durable