Fuller Voice-Synthesis Recipe — Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Produce a wiki project .wiki/output/projects/fuller-voice-synthesis/ (WHY.md + recipe.md) that documents a grounded, accurate research + recipe for synthesizing R. Buckminster Fuller's voice to narrate his books — documentation only, no audio/code/API.
Architecture: A standard wiki output/projects/ project: WHY.md (goal/scope, satisfies lint C8a) plus recipe.md (the six-section research recipe). Grounded by a small set of targeted web lookups before writing. Integrated into the wiki output/master indexes and log.md. Verified by the wiki lint.
Tech Stack: Markdown; WebSearch/WebFetch for grounding; the repo's /wiki:lint as the verification command. No application code.
Task 1: Ground the volatile facts (web research)
Files:
-
Create: none (collect notes for Tasks 2–3)
-
Step 1: Verify Fuller's available recordings.
WebSearch/WebFetchfor: Everything I Know (1975) — format (audio/video), length (~42 hrs), where it's hosted (Buckminster Fuller Institute, archive.org); plus notable lectures/interviews with usable clean speech. Record source URLs, approximate lengths, and audio-quality/licensing notes. -
Step 2: Verify current (2026) voice-cloning tooling.
WebSearchfor the state of: ElevenLabs Professional Voice Clone (quality, pricing tier, real/deceased-person cloning policy/ToS), and local open-source options (F5-TTS, XTTS/Coqui status, Tortoise, and any newer 2026 model). Record which are maintained, license terms, GPU needs, and real-person-cloning policies. Capture 1 citation per key claim. -
Step 3: Verify rights-holder. Confirm the Buckminster Fuller Institute / estate as the relevant rights-holder and any public stance on AI/likeness. Record a citation.
-
Step 4: Check existing wiki sources to cross-reference. Run
grep -ril 'everything i know\|lecture\|recording' .wiki/raw .wiki/wiki/topics | headto find any in-wiki sources (e.g.everything-i-know) the recipe can link to. Note exact relative paths from.wiki/output/projects/fuller-voice-synthesis/.
No commit (research notes only; they land in Tasks 2–3).
Task 2: Create the project scaffold (WHY.md)
Files:
-
Create:
.wiki/output/projects/fuller-voice-synthesis/WHY.md -
Step 1: Write WHY.md. Non-empty rationale satisfying lint C8a. Content:
# Why: Fuller Voice Synthesis
**Goal:** Produce a synthetic R. Buckminster Fuller voice capable of narrating his
texts as audiobooks, widening reach to listeners who don't read long-form.
**Why it matters:** Fuller's coined vocabulary and dense prose are the biggest
barrier to his work; hearing the texts — ideally in his own (synthetic) voice —
is an accessibility on-ramp.
**Scope:** This project starts as a documented research + recipe (`recipe.md`):
voice-data sources, tooling options + a recommendation, the production pipeline,
quality/evaluation, ethics/rights, and a phased roadmap. Audio generation,
TTS/cloning code, and external API calls are explicitly later phases — not part
of the initial deliverable.
**Success (this phase):** `recipe.md` is accurate (grounded in verified sources),
unambiguous on ethics (permission + label-as-synthetic), and actionable enough
that a later phase can execute the PoC without re-researching.
**Source:** work/TODO.md → TODO-6.
- Step 2: Verify slug + non-empty. Run
test -s .wiki/output/projects/fuller-voice-synthesis/WHY.md && echo OK. Expected:OK. Confirm slugfuller-voice-synthesisis lowercase/hyphen, ≤40 chars, no dates (lint C8d). - Step 3: Commit.
git add .wiki/output/projects/fuller-voice-synthesis/WHY.md
git commit -m "feat(output): add fuller-voice-synthesis project WHY.md"
Task 3: Write recipe.md (the six sections)
Files:
-
Create:
.wiki/output/projects/fuller-voice-synthesis/recipe.md -
Step 1: Write the recipe with WikiJS frontmatter (
title,description,published,date,tags,editor,dateCreated) and the six sections from the spec, populated with the Task 1 findings:- Voice-data corpus — table of sources (recording, ~length, quality, access/licensing, cloning-suitability), with verified URLs; link in-wiki sources found in Task 1 Step 4 by their exact relative path.
- Tooling — 3 options + recommendation — cloud (ElevenLabs), local OSS (F5-TTS/XTTS/Tortoise), hybrid; each with quality/cost/privacy/effort and real-person-cloning policy; a clear recommendation with reasoning. Frame tool facts as "as of 2026, …".
- Pipeline — data prep → clone/fine-tune → text prep (chunking; handling coined terms, headings, footnotes) → synthesize → post (loudness, stitching, chapter markers) → QA, as an ordered list.
- Quality & evaluation — operational definition of "sounds like Bucky" (intelligibility, speaker similarity, prosody) + a short rubric + an A/B listening check.
- Ethics & rights — deceased-person voice; Buckminster Fuller Institute/estate; explicit stance: seek permission + mandatory label-as-synthetic; per-tool ToS note.
- Phased roadmap + cost — PoC → one chapter → full book, with rough effort/cost per tooling path and the data/compute each needs.
-
Step 2: Link check. For every in-wiki markdown link added, confirm the target file exists from the project dir:
for l in $(grep -oE '\]\(([^)h][^)]*)\)' recipe.md | sed -E 's/\]\(//; s/\)//'); do test -e ".wiki/output/projects/fuller-voice-synthesis/$l" && echo "OK $l" || echo "MISS $l"; done(run from repo root with the path prefix). Fix any MISS. -
Step 3: Accuracy pass. Re-read against Task 1 notes: every volatile tool/data claim has a citation or "as of 2026"; no hand-waved specifics.
-
Step 4: Commit.
git add .wiki/output/projects/fuller-voice-synthesis/recipe.md
git commit -m "feat(output): add fuller-voice-synthesis recipe (research + pipeline + ethics)"
Task 4: Integrate into wiki indexes + log
Files:
-
Modify:
.wiki/output/_index.md(add the project / bump outputs) -
Modify:
.wiki/_index.md(Outputs count + Recent Changes) -
Modify:
.wiki/log.md(append a line) -
Step 1: Read current output index + master stats.
sed -n '1,40p' .wiki/output/_index.mdandgrep -nE 'Outputs:|Recent Changes' .wiki/_index.md. Note the current Outputs count and the projects listing format. -
Step 2: Add the project to
output/_index.mdfollowing the existing format (a Projects section or list entry pointing atprojects/fuller-voice-synthesis/). -
Step 3: Update master
_index.md— bump the Outputs count by 1 and add a Recent Changes line:- 2026-06-28: Added fuller-voice-synthesis project (TODO-6 voice-synthesis recipe) → output/projects/. -
Step 4: Append
log.md:## [2026-06-28] output | fuller-voice-synthesis project (voice-synthesis research + recipe) → output/projects/fuller-voice-synthesis/. -
Step 5: Commit.
git add .wiki/output/_index.md .wiki/_index.md .wiki/log.md
git commit -m "chore(wiki): index fuller-voice-synthesis project + log"
Task 5: Verify (wiki lint) — pre-merge gate
Files: none (verification only)
- Step 1: Broken-link + project check. Run a link sweep over
.wiki/outputand confirm the project has a non-empty WHY.md:
python3 - <<'PY'
import os,re,glob
def res(b,l):
l=l.split('#')[0]
if not l or l.startswith(('http://','https://','mailto:')): return True
return os.path.exists(os.path.normpath(os.path.join(os.path.dirname(b),l)))
lr=re.compile(r'\[[^\]]*\]\(([^)]+)\)'); broken=[]
for f in glob.glob(".wiki/output/**/*.md",recursive=True):
for m in lr.findall(open(f).read()):
if not res(f,m): broken.append((f,m))
print("broken:",len(broken)); [print(" ",b) for b in broken[:10]]
print("WHY ok:", os.path.getsize(".wiki/output/projects/fuller-voice-synthesis/WHY.md")>0)
PY
Expected: broken: 0 and WHY ok: True.
- Step 2: Run the project lint (
/wiki:lint) if available, or the repo's documented lint check; confirm 0 broken links, 0 dangling sources, indexes consistent, project passes C8a/C8d. Expected: clean. - Step 3: Self-review the recipe against the spec's six sections — all present, ethics unambiguous, roadmap actionable. Fix inline if needed; re-run Step 1 after any edit.
No commit (verification only). On clean verification, the pluck workflow squash-merges the feature branch to main.
Self-Review (plan vs spec)
- Spec coverage: corpus (T3.1), tooling+rec (T3.2), pipeline (T3.3), eval (T3.4), ethics (T3.5), roadmap/cost (T3.6) → Task 3; grounding → Task 1; WHY.md → Task 2; index integration → Task 4; lint verification → Task 5. All spec sections covered.
- Placeholders: none — each task names exact files, content, and commands.
- Consistency: slug
fuller-voice-synthesisand path.wiki/output/projects/fuller-voice-synthesis/used identically throughout; verification command (wiki lint) matches the spec.