Live site: https://elehrer123-arch.github.io/ai-question-hierarchy/
A navigable map of the landscape of thought around AI: 5 sections, 26 subsections, 127 open questions — each with a short framing of the live debate, curated source links, and a maintained stream of substantive recent discussion (690+ tracked pieces and counting). All 127 questions carry recent-thinking coverage; discovery runs weekly.
This is an AI-assisted publication: sweeps, verification, and first-draft
synthesis are performed by Claude under docs/stream-policy.md, with the
editor directing and spot-checking. Every question page shows its latest
sweep date and human-review status (pending → editor-approved). See
/methodology/ on the site.
The site is built from structured source data — edit the data, not the HTML.
Five public surfaces, each with one job: the map (/, whole-map overview
with zoom, in-place disclosure, and an optional discussion-volume lens),
browse (/browse/, every section, subsection, and question as a page,
including each question's recent-thinking brief), latest (/latest/,
all tracked recent pieces chronologically, with filters, search, and RSS),
entries (/questions/<slug>/, standalone citable articles), and
the poster (/poster/, the radial one-circle view). The classic
one-page accordion remains at /all/. /methodology/ explains how the
stream is made.
data/ Map content, one JSON file per section
trajectory.json safety.json economy.json power.json humanity.json
recent.json The stream: featured + tracked pieces per question
debates.json Debate-column configs for questions with real camps
sources.json Discovery registry (feeds, aggregators, follows)
content/
questions/ One entry per question (front-mattered Markdown)
templates/
map.html Homepage (map) template
browse.html Browse template
index.html Classic one-page view template (renders to all/)
entry.html Entry page template
docs/
stream-policy.md Binding editorial policy for the stream
weekly-discovery.md Standalone weekly discovery procedure
user-test.md Reader-test protocol
scripts/
build.py Builds everything, with validation (requires: pip install markdown)
smoke.js Smoke + accessibility checks (runs in CI before deploy)
linkcheck.py Sampled external-link checker (run manually)
index.html Built map homepage (regenerated by CI on every push)
questions/<slug>/ Permanent page per question (brief + any full analysis)
latest/ Chronological stream + RSS methodology/ How the site is made
data/history.jsonl Append-only observation history (never edited)
browse/ poster/ all/ questions/ Built outputs
Entries are Markdown files with front matter (slug, title, status,
section, scope, dates, optional redirect_from). Each entry belongs to exactly
one index question, joined by slug — the display number is derived from data/
at build time, never stored in the entry — and renders to questions/<slug>/,
linked from the question on the map. Moved URLs are preserved via redirect_from
stub pages.
Every push to main rebuilds and redeploys the site automatically via
GitHub Actions. To build locally: python3 scripts/build.py from the repo root.
Every question carries three identifiers:
id— its display number (e.g.1.3.1). Changes as the taxonomy evolves.qid— its permanent internal ID (e.g.q_agent_task_horizons). Never changes.slug— its stable URL name (e.g.agent-task-horizons), reserved for future per-question pages. Changed only with a permanent redirect.
When editing: renumber freely, never touch qid, and treat slug as public API.
- Add or improve a source: edit the question's
linksarray (ttitle,ssource/author,yyear,uURL). - Correct a framing: edit the question's
nfield. - Restructure: keep
idnumbers consistent with their subsection, and run the build locally — validation fails on duplicates, gaps, or malformed links.
Updated August 2026.