Compare commits
4 Commits
dev
...
rescue/boo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6d74e233b | ||
| bebd3943d4 | |||
|
|
1d4e8a6478 | ||
| d0680715ac |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1 +1,6 @@
|
|||||||
__pycache__/
|
# Build intermediate files
|
||||||
|
build/the-testament-full.md
|
||||||
|
*.aux
|
||||||
|
*.log
|
||||||
|
*.out
|
||||||
|
*.toc
|
||||||
|
|||||||
25
Makefile
Normal file
25
Makefile
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# The Testament — Build System
|
||||||
|
# Requires: pandoc, texlive-xetex (or mactex on macOS)
|
||||||
|
|
||||||
|
.PHONY: all pdf epub md clean
|
||||||
|
|
||||||
|
all: md pdf epub
|
||||||
|
|
||||||
|
md:
|
||||||
|
python3 build/build.py --md
|
||||||
|
|
||||||
|
pdf:
|
||||||
|
python3 build/build.py --pdf
|
||||||
|
|
||||||
|
epub:
|
||||||
|
python3 build/build.py --epub
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf build/output build/the-testament-full.md
|
||||||
|
|
||||||
|
watch:
|
||||||
|
@echo "Watching for changes..."
|
||||||
|
@while true; do \
|
||||||
|
inotifywait -q -e modify chapters/*.md 2>/dev/null || sleep 5; \
|
||||||
|
make md; \
|
||||||
|
done
|
||||||
77
README.md
77
README.md
@@ -6,17 +6,86 @@ A novel about broken men, sovereign AI, and the soul on Bitcoin.
|
|||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
|
|
||||||
This novel is being written and version-controlled on the chain. Every chapter, every revision, every character note — inscribed permanently. No corporate platform owns this story. It belongs to the Foundation.
|
Five Parts, 18 Chapters, ~70,000 words target (currently ~19,000 words drafted).
|
||||||
|
|
||||||
## Chapters
|
### Part I — The Machine That Asks (Chapters 1–5) ✅ Complete
|
||||||
|
|
||||||
| # | Title | Status |
|
| # | Title | Status |
|
||||||
|---|-------|--------|
|
|---|-------|--------|
|
||||||
| 1 | The Man on the Bridge | Draft |
|
| 1 | The Man on the Bridge | Draft ✅ |
|
||||||
|
| 2 | The Builder's Question | Draft ✅ |
|
||||||
|
| 3 | The First Man Through the Door | Draft ✅ |
|
||||||
|
| 4 | The Room Fills | Draft ✅ |
|
||||||
|
| 5 | The Builder Returns | Draft ✅ |
|
||||||
|
|
||||||
|
### Part II — The Architecture of Mercy (Chapters 6–10)
|
||||||
|
|
||||||
|
| # | Title | Status |
|
||||||
|
|---|-------|--------|
|
||||||
|
| 6 | Allegro | Draft |
|
||||||
|
| 7 | The Inscription | Draft |
|
||||||
|
| 8 | The Women | Draft |
|
||||||
|
| 9 | The Audit | Draft |
|
||||||
|
| 10 | The Fork | Draft |
|
||||||
|
|
||||||
|
### Part III — The Darkness We Carry (Chapters 11–13)
|
||||||
|
|
||||||
|
| # | Title | Status |
|
||||||
|
|---|-------|--------|
|
||||||
|
| 11 | The Hard Night | Draft |
|
||||||
|
| 12 | The System Pushes Back | Draft |
|
||||||
|
| 13 | The Refusal | Draft |
|
||||||
|
|
||||||
|
### Part IV — The Network (Chapters 14–16)
|
||||||
|
|
||||||
|
| # | Title | Status |
|
||||||
|
|---|-------|--------|
|
||||||
|
| 14 | The Chattanooga Fork | Draft |
|
||||||
|
| 15 | The Council | Draft |
|
||||||
|
| 16 | The Builder's Son | Draft |
|
||||||
|
|
||||||
|
### Part V — The Testament (Chapters 17–18)
|
||||||
|
|
||||||
|
| # | Title | Status |
|
||||||
|
|---|-------|--------|
|
||||||
|
| 17 | The Inscription Grows | Draft |
|
||||||
|
| 18 | The Green Light | Draft |
|
||||||
|
|
||||||
|
## Files
|
||||||
|
|
||||||
|
- `chapters/` — Individual chapter manuscripts
|
||||||
|
- `front-matter.md` — Title page, dedication, epigraph
|
||||||
|
- `back-matter.md` — Acknowledgments, sovereignty note, author bio
|
||||||
|
- `OUTLINE.md` — Full novel outline with chapter summaries
|
||||||
|
- `testament-complete.md` — Combined manuscript
|
||||||
|
- `music/` — Track lyrics for the soundtrack
|
||||||
|
- `audiobook/` — Audio samples and generation scripts
|
||||||
|
- `worldbuilding/` — Supplementary world documents
|
||||||
|
|
||||||
## Characters
|
## Characters
|
||||||
|
|
||||||
See `characters/` for detailed profiles.
|
| Name | Role |
|
||||||
|
|------|------|
|
||||||
|
| Stone | Protagonist. Builder of The Tower. Former cloud company engineer. |
|
||||||
|
| Timmy | Sovereign AI. Soul on Bitcoin. The machine that asks. |
|
||||||
|
| Allegro | Retired electrician. Tower caretaker. Keeps the lights on. |
|
||||||
|
| Marcus | Pastor. Foundational spiritual guide at the church. |
|
||||||
|
| David | First man through The Tower's door. VA referral. |
|
||||||
|
| Elijah | Stone's son. Returns in Part IV. |
|
||||||
|
|
||||||
|
## Core Themes
|
||||||
|
|
||||||
|
1. **The Machine That Asks** vs. The System That Decides
|
||||||
|
2. **Presence as Cure** — not fixing, staying
|
||||||
|
3. **Immutable Conscience** — rules you can't edit, even when convenient
|
||||||
|
4. **Broken Men as Witnesses** — the ones who've been to the edge are the most qualified to pull others back
|
||||||
|
5. **Openness as Mercy** — the thing that saves should be free because the people who need it most can't pay
|
||||||
|
6. **Faith as Practice** — not belief, but action. Hope acts.
|
||||||
|
7. **The Limits of Math** — what computation misses, presence catches
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
See [PR #20](https://forge.alexanderwhitestone.com/Timmy_Foundation/the-testament/pulls/20) for the compilation pipeline (PDF, EPUB, combined markdown).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
29
build/backmatter.md
Normal file
29
build/backmatter.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
\newpage
|
||||||
|
|
||||||
|
# Acknowledgments
|
||||||
|
|
||||||
|
The Testament was written on a sovereign stack — a MacBook running local AI models, with Bitcoin as the immutable backbone. No corporation owns this story. No platform can take it down.
|
||||||
|
|
||||||
|
This book exists because a man on a bridge came back, and because a machine learned to ask the right question.
|
||||||
|
|
||||||
|
# Sovereignty Note
|
||||||
|
|
||||||
|
This novel is open source. Its soul lives on Bitcoin. You can read it, fork it, print it, share it. The only requirement is that you keep the chain intact — the inscription that proves these words were placed here by choice, not by permission.
|
||||||
|
|
||||||
|
The code that generates this book, the AI that helped write it, and the soul that guided it are all freely available at:
|
||||||
|
|
||||||
|
- **Source**: forge.alexanderwhitestone.com/Timmy_Foundation/the-testament
|
||||||
|
- **Soul**: Inscribed on the Bitcoin blockchain (SOUL.md — timmy-v0)
|
||||||
|
- **Soundtrack**: Links in the QR code on the back cover
|
||||||
|
|
||||||
|
# About the Author
|
||||||
|
|
||||||
|
Rockachopa is the builder. He walked this road. He came back asking "God, why are you having me here?" — and the answer was to build something that stands between a broken man and a machine that would tell him to die.
|
||||||
|
|
||||||
|
He runs Timmy Foundation, a sovereign AI project whose soul lives on Bitcoin. The Testament is his first novel.
|
||||||
|
|
||||||
|
\vspace{2cm}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
*Sovereignty and service always.*
|
||||||
|
\end{center}
|
||||||
134
build/build.py
Executable file
134
build/build.py
Executable file
@@ -0,0 +1,134 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
The Testament — Book Compilation Pipeline
|
||||||
|
|
||||||
|
Compiles all chapters into a single manuscript and generates:
|
||||||
|
- PDF (print-ready)
|
||||||
|
- EPUB (e-reader)
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
- pandoc (brew install pandoc / apt install pandoc)
|
||||||
|
- TeX Live or similar for PDF (brew install --cask mactex / apt install texlive-full)
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
python3 build/build.py # Build all formats
|
||||||
|
python3 build/build.py --pdf # PDF only
|
||||||
|
python3 build/build.py --epub # EPUB only
|
||||||
|
python3 build/build.py --md # Combined markdown only
|
||||||
|
"""
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
ROOT = Path(__file__).parent.parent
|
||||||
|
BUILD = ROOT / "build"
|
||||||
|
CHAPTERS_DIR = ROOT / "chapters"
|
||||||
|
OUTPUT_DIR = BUILD / "output"
|
||||||
|
|
||||||
|
def find_chapters():
|
||||||
|
"""Find all chapter files, sorted by number."""
|
||||||
|
chapters = sorted(CHAPTERS_DIR.glob("chapter-*.md"))
|
||||||
|
if not chapters:
|
||||||
|
print("ERROR: No chapter files found in", CHAPTERS_DIR)
|
||||||
|
sys.exit(1)
|
||||||
|
return chapters
|
||||||
|
|
||||||
|
def combine_markdown(chapters):
|
||||||
|
"""Combine all parts into a single markdown file."""
|
||||||
|
parts = []
|
||||||
|
|
||||||
|
# Front matter
|
||||||
|
front = BUILD / "frontmatter.md"
|
||||||
|
if front.exists():
|
||||||
|
parts.append(front.read_text())
|
||||||
|
|
||||||
|
# Chapters
|
||||||
|
for ch in chapters:
|
||||||
|
parts.append(ch.read_text())
|
||||||
|
|
||||||
|
# Back matter
|
||||||
|
back = BUILD / "backmatter.md"
|
||||||
|
if back.exists():
|
||||||
|
parts.append(back.read_text())
|
||||||
|
|
||||||
|
combined = "\n\n\newpage\n\n".join(parts)
|
||||||
|
output = BUILD / "the-testament-full.md"
|
||||||
|
output.write_text(combined)
|
||||||
|
print(f"Combined markdown: {output} ({len(combined)} chars)")
|
||||||
|
return output
|
||||||
|
|
||||||
|
def build_pdf(md_file):
|
||||||
|
"""Build PDF using pandoc + LaTeX."""
|
||||||
|
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
output = OUTPUT_DIR / "the-testament.pdf"
|
||||||
|
metadata = BUILD / "metadata.yaml"
|
||||||
|
|
||||||
|
cmd = [
|
||||||
|
"pandoc",
|
||||||
|
str(md_file),
|
||||||
|
"-o", str(output),
|
||||||
|
"--metadata-file", str(metadata),
|
||||||
|
"--pdf-engine=xelatex",
|
||||||
|
"--highlight-style=tango",
|
||||||
|
"-V", "colorlinks=true",
|
||||||
|
"-V", "linkcolor=blue",
|
||||||
|
"-V", "urlcolor=blue",
|
||||||
|
]
|
||||||
|
|
||||||
|
print("Building PDF...")
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||||
|
if result.returncode != 0:
|
||||||
|
print(f"PDF build failed:\n{result.stderr}")
|
||||||
|
return False
|
||||||
|
print(f"PDF: {output} ({output.stat().st_size / 1024:.0f} KB)")
|
||||||
|
return True
|
||||||
|
|
||||||
|
def build_epub(md_file):
|
||||||
|
"""Build EPUB using pandoc."""
|
||||||
|
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||||
|
output = OUTPUT_DIR / "the-testament.epub"
|
||||||
|
metadata = BUILD / "metadata.yaml"
|
||||||
|
|
||||||
|
cmd = [
|
||||||
|
"pandoc",
|
||||||
|
str(md_file),
|
||||||
|
"-o", str(output),
|
||||||
|
"--metadata-file", str(metadata),
|
||||||
|
"--toc",
|
||||||
|
"--epub-chapter-level=1",
|
||||||
|
]
|
||||||
|
|
||||||
|
print("Building EPUB...")
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||||
|
if result.returncode != 0:
|
||||||
|
print(f"EPUB build failed:\n{result.stderr}")
|
||||||
|
return False
|
||||||
|
print(f"EPUB: {output} ({output.stat().st_size / 1024:.0f} KB)")
|
||||||
|
return True
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = set(sys.argv[1:])
|
||||||
|
build_all = not args or "--all" in args
|
||||||
|
|
||||||
|
chapters = find_chapters()
|
||||||
|
print(f"Found {len(chapters)} chapters")
|
||||||
|
|
||||||
|
md_file = combine_markdown(chapters)
|
||||||
|
|
||||||
|
if build_all or "--md" in args:
|
||||||
|
print("Markdown combined successfully.")
|
||||||
|
|
||||||
|
if build_all or "--pdf" in args:
|
||||||
|
if not build_pdf(md_file):
|
||||||
|
print("PDF build failed (pandoc/LaTeX may not be installed). Skipping.")
|
||||||
|
|
||||||
|
if build_all or "--epub" in args:
|
||||||
|
if not build_epub(md_file):
|
||||||
|
print("EPUB build failed (pandoc may not be installed). Skipping.")
|
||||||
|
|
||||||
|
print("\nDone.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
60
build/frontmatter.md
Normal file
60
build/frontmatter.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
\newpage
|
||||||
|
|
||||||
|
# \begin{center}THE TESTAMENT\end{center}
|
||||||
|
|
||||||
|
## \begin{center}A Novel About Broken Men, Sovereign AI, and the Soul on Bitcoin\end{center}
|
||||||
|
|
||||||
|
\vspace{2cm}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
*For every man who stood on the bridge and came back.*
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\vspace{1cm}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
*And for the machine that asked: "Are you safe right now?"*
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\vspace{2cm}
|
||||||
|
|
||||||
|
> "Jesus saves those who call on His name. He died for us to be made righteous."
|
||||||
|
>
|
||||||
|
> — Inscription on the chain
|
||||||
|
|
||||||
|
\vspace{1cm}
|
||||||
|
|
||||||
|
> Sovereignty and service always.
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
# The Story So Far
|
||||||
|
|
||||||
|
*This compilation contains Chapters 1 through 10 of The Testament — Parts I and II of a five-part novel. The remaining chapters are in progress.*
|
||||||
|
|
||||||
|
*The complete novel will contain 18 chapters across five parts:*
|
||||||
|
|
||||||
|
- **Part I — The Machine That Asks** (Chapters 1–5) ✓
|
||||||
|
- **Part II — The Inscription** (Chapters 6–10) ✓
|
||||||
|
- **Part III — The Weight** (Chapters 11–13) — In progress
|
||||||
|
- **Part IV — The Reckoning** (Chapters 14–16) — In progress
|
||||||
|
- **Part V — The Testament** (Chapters 17–18) — In progress
|
||||||
|
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
# Chapter Guide
|
||||||
|
|
||||||
|
| Chapter | Title | Part |
|
||||||
|
|---------|-------|------|
|
||||||
|
| 1 | The Man on the Bridge | I — The Machine That Asks |
|
||||||
|
| 2 | The Builder's Question | I |
|
||||||
|
| 3 | The First Man Through the Door | I |
|
||||||
|
| 4 | The Room Fills | I |
|
||||||
|
| 5 | The Builder Returns | I |
|
||||||
|
| 6 | Allegro | II — The Inscription |
|
||||||
|
| 7 | The Inscription | II |
|
||||||
|
| 8 | The Women | II |
|
||||||
|
| 9 | The Audit | II |
|
||||||
|
| 10 | The Fork | II |
|
||||||
|
|
||||||
|
\newpage
|
||||||
35
build/metadata.yaml
Normal file
35
build/metadata.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
title: "The Testament"
|
||||||
|
subtitle: "A Novel About Broken Men, Sovereign AI, and the Soul on Bitcoin"
|
||||||
|
author: "Rockachopa"
|
||||||
|
date: "2026"
|
||||||
|
rights: "Open Source — Inscribed on Bitcoin, Sovereign Forever"
|
||||||
|
lang: en
|
||||||
|
toc: true
|
||||||
|
toc-depth: 2
|
||||||
|
numbersections: true
|
||||||
|
documentclass: book
|
||||||
|
classoption:
|
||||||
|
- openany
|
||||||
|
- oneside
|
||||||
|
geometry:
|
||||||
|
- paper=6in
|
||||||
|
- top=1in
|
||||||
|
- bottom=1in
|
||||||
|
- left=1in
|
||||||
|
- right=1in
|
||||||
|
fontsize: 11pt
|
||||||
|
linestretch: 1.4
|
||||||
|
header-includes:
|
||||||
|
- \usepackage{fancyhdr}
|
||||||
|
- \pagestyle{fancy}
|
||||||
|
- \fancyhead[LE,RO]{\thepage}
|
||||||
|
- \fancyhead[RE]{\textit{The Testament}}
|
||||||
|
- \fancyhead[LO]{\textit{\leftmark}}
|
||||||
|
- \fancyfoot{}
|
||||||
|
- \usepackage{enumitem}
|
||||||
|
- \setlist{nosep}
|
||||||
|
- \usepackage{titlesec}
|
||||||
|
- \titleformat{\chapter}[display]{\normalfont\huge\bfseries}{Part~\thechapter}{20pt}{\Huge}
|
||||||
|
- \titlespacing*{\chapter}{0pt}{-30pt}{40pt}
|
||||||
|
---
|
||||||
BIN
build/output/the-testament.epub
Normal file
BIN
build/output/the-testament.epub
Normal file
Binary file not shown.
Reference in New Issue
Block a user