R77.F1 Packet — colibri-hero.js rewrite plan
Scope
One file, two edits. Preserves all 150-ish lines of hero logic.
Edit 1 — Comment block (lines 32-36)
Before:
// ------------------------------------------------------------------
// 1. Canonical 15 Greek concepts
// Must stay in sync with docs/concepts/index.md and the concept
// pages at docs/concepts/<letter>-<slug>.md. Slugs verified R74.3.
// ------------------------------------------------------------------
After:
// ------------------------------------------------------------------
// 1. Canonical 15 Greek concepts
// Concept docs are scattered under docs/2-plugin/, docs/3-world/,
// and docs/4-additions/. The CONCEPT_PATHS map below is the
// single source of truth for URL routing. Verified R77.F1.
// ------------------------------------------------------------------
Edit 2 — Add CONCEPT_PATHS map + rewrite the href (around line 94)
After the AXIS_LABEL const (line 60) and before the DOM lookup (line 65), add:
// ------------------------------------------------------------------
// 1b. Concept URL map — single source of truth for hero-ring links.
// Keys match CONCEPTS[].letter. Values are BASEURL-relative paths
// to the built .html (or directory index for α and ν).
// Verified against the R77.F1 audit mapping.
// ------------------------------------------------------------------
const CONCEPT_PATHS = {
'α': '2-plugin/',
'β': '3-world/execution/task-pipeline.html',
'γ': '2-plugin/modes.html',
'δ': '3-world/social/llm.html',
'ε': '3-world/execution/skill-registry.html',
'ζ': '3-world/execution/decision-trail.html',
'η': '3-world/physics/laws/proof-store.html',
'θ': '3-world/physics/laws/consensus.html',
'ι': '3-world/physics/laws/state-fork.html',
'κ': '3-world/physics/laws/rule-engine.html',
'λ': '3-world/social/reputation.html',
'μ': '3-world/physics/enforcement/integrity.html',
'ν': '4-additions/',
'ξ': '3-world/social/identity.html',
'π': '3-world/physics/enforcement/governance.html',
};
Line 94 — replace:
el.href = BASEURL + '/concepts/' + encodeURIComponent(c.letter) + '-' + c.slug + '.html';
with:
el.href = BASEURL + '/' + (CONCEPT_PATHS[c.letter] || '');
Verification steps
grep -n "/concepts/" docs/assets/js/colibri-hero.js→ 0 hits.grep -c "CONCEPT_PATHS\[" docs/assets/js/colibri-hero.js→ 1 (the lookup).- All 15 Greek letters present as keys in CONCEPT_PATHS.
npm run build && npm run lint && npm test— green.