docs/CLAUDE.md Phase 2, 2026-10-14. All moves by git mv; every archived file carries a header saying what it is, why, and where to look instead. - docs/reference/ (new): roadmap and versioning policy, M7.1, word-ACL design, kernel args, hosted acceptance test, dictionary, primitives, ontology, L8 table -- previously spread over docs/, docs/lithosananke/ and docs/03-architecture/. - docs/working/archive/historical/: finished work (session plan, test-gap audit, birthing plan, fix write-ups, the January architecture draft). - docs/working/archive/superseded/: the Hermes-VM Tripod docs and July Hermes designs (-> FABRIC-3.5/3.6), the StarForth roadmap, every working doc already flagged superseded or obsolete. - docs/working/archive/dead/: the hal_* target contract (never adopted), L4Re, metrics-and-knobs. - Papers and proposals into docs/working/papers/. - References rewritten across the repo (not logs/, not docs/patent/); CLAUDE.md's documentation section rewritten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
162 lines
5.5 KiB
TeX
162 lines
5.5 KiB
TeX
% docs/book/main.tex -- master file of the single LithosAnanke book.
|
|
%
|
|
% Built by `make docs [TARGET=<board>]` (docs/book/Makefile) with xelatex.
|
|
% Fragments named below (ontology, fabric-0, ...) are generated by pandoc
|
|
% from the Markdown listed in docs/book/Makefile's CHAPTERS into
|
|
% build/docs/gen/; meta.tex is generated per build. Neither is committed.
|
|
\documentclass[11pt,openany]{book}
|
|
|
|
\usepackage{amsmath,amssymb}
|
|
\usepackage{fontspec}
|
|
% fonts-dejavu-core has no serif/sans italics (fonts-dejavu-extra does); when a
|
|
% shape is missing, slant the upright one rather than silently drop emphasis.
|
|
\setmainfont{DejaVu Serif}[AutoFakeSlant=0.2]
|
|
\setsansfont{DejaVu Sans}[AutoFakeSlant=0.2]
|
|
\setmonofont{DejaVu Sans Mono}[Scale=0.85]
|
|
\newfontfamily\symbolfont{DejaVu Sans}
|
|
|
|
\usepackage[letterpaper,margin=1in]{geometry}
|
|
\usepackage{xcolor}
|
|
\usepackage{graphicx}
|
|
\usepackage{longtable,booktabs,array,calc,multirow}
|
|
\usepackage{fancyvrb}
|
|
\usepackage[normalem]{ulem}
|
|
\usepackage{enumitem}
|
|
\usepackage{newunicodechar}
|
|
\usepackage{pgfplots}
|
|
\usepackage{pgfplotstable}
|
|
\pgfplotsset{compat=1.18}
|
|
\usepackage[hidelinks]{hyperref}
|
|
\usepackage{bookmark}
|
|
|
|
% --- what pandoc's LaTeX fragments expect (normally from its own template)
|
|
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
|
\providecommand{\pandocbounded}[1]{#1}
|
|
\providecommand{\st}[1]{\sout{#1}}
|
|
\newcounter{none} % pandoc: {\def\LTcaptype{none} ...} marks unnumbered tables
|
|
\usepackage{etoolbox}
|
|
\makeatletter
|
|
\def\fnum@table{\tablename~\thetable}
|
|
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
|
|
\makeatother
|
|
\usepackage{fvextra}
|
|
\input{pandoc-highlighting}
|
|
% Code and diagrams are wider than the page in places: wrap, never overflow.
|
|
\RecustomVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},breaklines,breakanywhere,fontsize=\small}
|
|
\RecustomVerbatimEnvironment{verbatim}{Verbatim}{breaklines,breakanywhere,fontsize=\small}
|
|
\setlistdepth{9}
|
|
\renewlist{itemize}{itemize}{9}
|
|
\setlist[itemize]{label=\textbullet}
|
|
\renewlist{enumerate}{enumerate}{9}
|
|
\setlist[enumerate]{label=\arabic*.}
|
|
% Running heads: chapter on the left page, section on the right, both cut to
|
|
% the page width (several design-record titles are a full sentence long).
|
|
\usepackage{fancyhdr}
|
|
\usepackage[fit]{truncate}
|
|
\pagestyle{fancy}
|
|
\fancyhf{}
|
|
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
|
|
\renewcommand{\sectionmark}[1]{\markright{#1}}
|
|
\fancyhead[LE]{\small\truncate{\dimexpr\headwidth-3em}{\leftmark}}
|
|
\fancyhead[RO]{\small\truncate{\dimexpr\headwidth-3em}{\rightmark}}
|
|
\fancyhead[RE,LO]{\small\thepage}
|
|
\renewcommand{\headrulewidth}{0.4pt}
|
|
\setlength{\headheight}{14pt}
|
|
\fancypagestyle{plain}{\fancyhf{}\fancyfoot[C]{\small\thepage}\renewcommand{\headrulewidth}{0pt}}
|
|
\setlength{\emergencystretch}{3em}
|
|
\setlength{\parindent}{0pt}
|
|
\setlength{\parskip}{0.5em}
|
|
|
|
% --- glyphs DejaVu Serif lacks: the status marks used across the docs
|
|
\newunicodechar{✅}{{\symbolfont ✔}}
|
|
\newunicodechar{✓}{{\symbolfont ✓}}
|
|
\newunicodechar{❌}{{\symbolfont ✘}}
|
|
\newunicodechar{✗}{{\symbolfont ✗}}
|
|
\newunicodechar{⬜}{{\symbolfont ☐}}
|
|
\newunicodechar{⭐}{{\symbolfont ★}}
|
|
\newunicodechar{🔶}{{\symbolfont ◆}}
|
|
\newunicodechar{⚠}{{\symbolfont ⚠}}
|
|
\newunicodechar{📋}{}
|
|
\newunicodechar{🐛}{[bug]}
|
|
\newunicodechar{🎯}{[goal]}
|
|
\newunicodechar{🟡}{{\symbolfont ●}}
|
|
\newunicodechar{📍}{{\symbolfont ▸}}
|
|
\newunicodechar{🔓}{[unlocked]}
|
|
\newunicodechar{❓}{?}
|
|
\newunicodechar{⟺}{\ensuremath{\Longleftrightarrow}}
|
|
\newunicodechar{⋯}{\ensuremath{\cdots}}
|
|
\newunicodechar{^^^^fe0f}{}
|
|
|
|
% --- the documents number their own sections (§III.1, D-3, ...)
|
|
\setcounter{secnumdepth}{0}
|
|
\setcounter{tocdepth}{1}
|
|
|
|
\input{meta}
|
|
|
|
% \datasource{path/to/data.csv}: cite the data behind a figure or table.
|
|
% Every figure or table of measured numbers reads its CSV at build time
|
|
% (\addplot table / \pgfplotstabletypeset) and is followed by this line, so
|
|
% the reader can find the exact file at the exact commit.
|
|
\newcommand{\datasource}[1]{%
|
|
\par{\small Data: \texttt{\detokenize{#1}} at commit \texttt{\bookcommit}.}\par}
|
|
|
|
\title{LithosAnanke and StarForth}
|
|
\author{}
|
|
\date{Built \bookdate{} from commit \texttt{\bookcommit}%
|
|
\ifx\bookboard\empty\else\\Board appendix: \bookboard\fi}
|
|
|
|
\begin{document}
|
|
\frontmatter
|
|
\maketitle
|
|
\tableofcontents
|
|
|
|
\chapter{About this book}
|
|
This book is generated from the repository by \texttt{make docs}. Each
|
|
chapter below is still maintained as the Markdown file named in the table and
|
|
converted at build time; a chapter moves into LaTeX source when it is
|
|
rewritten. Part~III is the design record: those documents are archival and
|
|
are reproduced as written, including their struck-through corrections.
|
|
|
|
\begin{longtable}{@{}ll@{}}
|
|
\toprule
|
|
Chapter & Source \\
|
|
\midrule
|
|
\endhead
|
|
Ontology & \texttt{docs/reference/ONTOLOGY.md} \\
|
|
Roadmap & \texttt{docs/working/archive/superseded/2025-12-14-starforth-roadmap.md} \\
|
|
Boot targets & \texttt{boards/README.md} \\
|
|
v4 justification & \texttt{docs/v4.0.0/JUSTIFICATION.md} \\
|
|
v4 decomposition & \texttt{docs/v4.0.0/DECOMPOSITION.md} \\
|
|
FABRIC-0 \dots{} FABRIC-4 & \texttt{docs/fabric/FABRIC-*.md} \\
|
|
Board appendix (\texttt{TARGET=}) & \texttt{boards/<board>/README.md} \\
|
|
\bottomrule
|
|
\end{longtable}
|
|
|
|
\mainmatter
|
|
|
|
\part{The system}
|
|
\input{ontology}
|
|
\input{roadmap}
|
|
\input{boards}
|
|
|
|
\part{StarForth v4}
|
|
\input{justification}
|
|
\input{decomposition}
|
|
|
|
\part{Design record (FABRIC series)}
|
|
\input{fabric-0}
|
|
\input{fabric-1}
|
|
\input{fabric-2}
|
|
\input{fabric-3}
|
|
\input{fabric-3-5}
|
|
\input{fabric-3-6}
|
|
\input{fabric-3-7}
|
|
\input{fabric-4}
|
|
|
|
\ifdefined\bookboardappendix
|
|
\appendix
|
|
\input{\bookboardappendix}
|
|
\fi
|
|
|
|
\end{document}
|