AA: SISYF Implementation Tasks#
Created: Phase 2I-4 (2026-03-25)
Problem: The compiled expert page (axioms/expert/index.rst) was
hand-edited during Phase 2I-4 to make it presentable. Every change
listed below will be lost on the next recompile unless the compiler
(spec, stub template, or extraction logic) is updated to produce it
automatically.
This file tracks those changes so nothing is silently lost.
Already fixed in the compiler spec#
These items have corresponding rules or documentation. They will survive a recompile if the compiler implementer reads the spec.
LaTeX math block preservation. The compiler was stripping
\\and&markers from.. math::blocks, collapsing multi-line formulas into one overflowing line. Fixed by adding §9.3.1 to the skill spec (sisyf/ww/sisyf-skill.rst) and documented in AHAequations.rst.Action: None — already in spec. Implementer must follow §9.3.1.
Easy mechanical fixes#
These are straightforward template or extraction-logic changes. No design thinking required — just update the stub and the field-name mapping.
Simplified field labels. The stub template uses verbose names like
TechExplanationContext (tctx):. The hand-edited page uses short reader-facing labels. The mapping:Stub template name
Hand-edited name
ExplanationIntroOverview (intro):(dropped — unlabeled paragraph)
FormalMathLatex (latex):Formal statement:TechExplanationContext (tctx):Context:TechExplanationContentAll (tcnt):Content:LogicsUsed (logic):Logic:TechReasoningAll (twhy):Reasoning:Limit (limit):Limit:NeedsFeed (needs):Depends on:FeedsNeed (feeds):Required by:ModelUsedIn (model):Model:VersionedVariantCurrent (vvnow):Version:KnownKiller (kk):Known objection:ConsRef (con):Critique:ProsRef (pro):Defense:DesignDoc (dd):Design:CollectedContent (cc):Prior art:WorkingWheel (ww):Cascade risk:SupportTorah (stor):Torah:SupportHebrewBible (sheb):Hebrew Bible:SupportGospels (sgos):Gospels:SupportApostolic (sapo):Apostolic:SupportQuran (squr):Quran:SupportSanskrit (ssan):Sanskrit:ViewSecular (vsec):Secular:Action: Add a
display_namecolumn to the extraction matrix or a label-mapping table in the spec. Update the stub template.Stub stripping. The hand-edited page omits every field whose content is
[stub --- content pending]. The spec already has a--stubsoption (drop,show,mark), but the stub template still emits all fields unconditionally.Action: Make
--stubs dropthe default for expert depth. The template should emit a field only if the PoR source has content for it.Lowercase heading prefixes. Headings use the lowercase
idfield (a1,a15), not uppercaseax1. Consistent with BEST Names grammar (always lowercase model-typeID).Action: Use
idfield for heading prefixes in the template.Identity block simplified. The stub template has a full “Identity” section with separate fields for id, title, name, sum. The hand-edited page replaces this with:
The heading itself carries id + title (
a1 --- Containment)A
:ref:link back to the PoR sourceAn italic one-liner from the
sumfieldAn unlabeled paragraph from the
introfield
Action: Collapse Identity fields into the heading + italic summary pattern. Drop the “Identity” section heading entirely.
No
.. contents::directive. The stub template doesn’t include one either, but the first compile run added it. The hand-edited page removed it (the inline navigation bar at the top replaces it).Action: Ensure the compiler never emits
.. contents::.Duplicate
tinffield removed. TheTechInformalfield was appearing alongsideintro, duplicating content. The hand-edited page keeps only theintroparagraph.Action: Drop
tinffrom expert depth extraction (it is a rewrite ofintrofor producer/easy audiences, not needed at expert depth).
Needs deeper thinking#
These changes involve structural decisions that go beyond template tweaks.
Summary table at the top. The hand-edited page opens with a
.. list-table::showing all 25 axioms (id, title, one-line summary). This gives readers a map before diving into detail.Difficulty: The compiler must collect
id,title, andsumfrom every element before emitting any element’s detail block. This requires a two-pass approach: first pass collects summary data, second pass emits the full page. The stub template (which is per-element) cannot express this.Action: Design a page-level preamble template separate from the per-element stub. The preamble template generates the table, nav bar, and intro paragraph. The per-element stub generates each axiom’s detail block.
Inline navigation bar. The hand-edited page has a
**Navigation:**line witha1 · a2 · ... · a25anchor links. Like the summary table, this requires knowledge of all elements before emitting.Action: Same two-pass / page-preamble solution as item 8.
Collapsible dropdowns for support and network sections. The hand-edited page uses
.. dropdown::(fromsphinx-design) to collapse “Independent Support” and “Network & Dependencies” sections. This keeps the page scannable — readers see the formula and explanation without scrolling past seven tradition citations.Difficulty: The stub template uses plain headings. Switching to dropdowns requires (a) confirming
sphinx-designis a permanent dependency, (b) updating the stub template to use.. dropdown::syntax with:class-title: sd-font-weight-normal.Action: Decide whether
sphinx-designis a permanent dependency (it is already inrequirements.txt). If yes, update the stub. If no, use a<details>HTML fallback or plain headings.
- 10a. Expand all / Collapse all buttons. The hand-edited page adds
a
#collapse-controlsdiv that produces “Expand all” and “Collapse all” buttons. Thecollapse-sections.jswas extended to toggle both custom collapsed sections and<details>elements (sphinx-design dropdowns). Documented inAHA/collapsible-details.md.Status: JS extended (2026-03-25). The compiler must emit the controls div in the page preamble (same two-pass solution as items 8–9).
Support fields as bullet list inside a single dropdown. The stub template lists each tradition as a separate labeled field (
SupportTorah (stor):,SupportHebrewBible (sheb):, etc.). The hand-edited page merges them into a single bullet list under one “Independent Support” dropdown.Difficulty: Moderate. The compiler must iterate over all non-empty support fields and emit them as
- **Label:** contentitems inside one dropdown, rather than as separate field blocks.Action: Add a “support group” rendering mode to the extraction logic. Similarly, network/structure fields are grouped into one “Network & Dependencies” dropdown with inline
·-separated model/version metadata.Group headings with contextual intros. The hand-edited page organizes axioms into groups (
Group I --- Mereological Core,Group II --- Modal Framework, etc.) with a short paragraph explaining what the group covers. The PoR sources do not have explicit group metadata.Difficulty: Group membership and group descriptions are currently implicit (derived from axiom numbering ranges and human editorial judgment). The compiler has no structured data to generate them.
Action: Either (a) add group metadata to the PoR sources (
group: I,group_title: Mereological Core,group_intro: ...), or (b) hardcode group definitions in the compiler config, or (c) mark group headings as.. compiler:protected-sectionregions within the compiled page so they survive recompilation. Option (c) is quickest; option (a) is cleanest long-term.Labels must never start with a digit. HTML anchor IDs that begin with a number are silently truncated by Sphinx (e.g.,
5d-link-naming-introbecomesd-link-naming-intro). This breaks cross-references and URLs. The issue affects any label, filename, or model name that starts with a digit (e.g.,4Be).Difficulty: Convention is easy; retrofitting existing names may require a naming policy for models whose natural identifier starts with a number (
4Be→m4be?model-4be?).Action: (a) Add a rule to the 5D link naming doc: labels must start with a letter. (b) Design a prefix convention for model names that naturally start with a digit. (c) Audit all existing labels for violations.
Easy synthesis pages (pending SISYF runs)#
These pages are defined in the skill spec (§3.8) and documented in the synthesis how-to. Each should be created by following the AHA step by step — which also tests whether the instructions are complete.
hebrew-bible (
stor+sheb). Done (2026-03-26). File:axioms/easy/hebrew-bible.rst.gospels-apostles (
sgos+sapo). Pending. File:axioms/easy/gospels-apostles.rst. Follow AHA: How to Create a Synthesis Page step by step.quran-based (
squr+stor+sgos). Pending. File:axioms/easy/quran-based.rst. Quran as primary lens; Torah and Gospels as endorsed sources.secular (
vsec). Pending. File:axioms/easy/secular.rst. Not a synthesis — 1:1 mapping fromvsecfield. Uses the same easy-page pattern (highlighted quote + expert link) but draws from a single source field.
How to use this list#
When implementing the compiler, work through this list top to bottom. After each item is incorporated into the spec/template/extraction logic, mark it done here with a date. When all items are done, the compiler can regenerate the expert page from scratch and produce output matching the hand-edited version — at which point this AA can be closed.