BUCKYVERSE

Referenced-Figure Pages + Relationship Map (~16 people) — 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: Create ~16 entity-person pages for figures referenced within the corpus, each with a structured relationship: type, forming a Fuller-centered relationship map.

Architecture: Reuses the person-entity model + adds a controlled relationship: frontmatter field, a mirrored relationship-<type> tag, a ## Relationship to Fuller narrative section, and a prose link to r-buckminster-fuller (not in See Also). See Also holds only reciprocated figure↔work and figure↔person links. Registered in the unified fuller-people.md.

Tech Stack: Markdown; Python for registry/index generation and lint checks (this repo's grep is ugrep with atypical flags — prefer Python); /wiki:lint for verification. No code, no unit tests.

Note on TDD: Content task. Each task's verify step is a Python inspection or the reciprocity/lint check. Commit in sub-batches.

Working directory: repo root /Volumes/Storage/belmendo/Projects/buckyverse.org; wiki root .wiki/; branch pluck/imp-16-referenced-people-relationships.

relationship: controlled vocabulary: collaborator · influence-on-fuller · influenced-by-fuller · friend · family · contemporary · rival-critic · forebear

The figure table (slug, relationship, source anchor — CONV = compiled-from: conversation):

Figure slug relationship source anchor
Albert Einstein albert-einstein influence-on-fuller ../../raw/repos/nine-chains-to-the-moon.md
Anne Hewlett Fuller anne-hewlett-fuller family CONV
Lloyd Kahn lloyd-kahn contemporary ../../raw/repos/dome-cookbook-of-geodesic-geometry.md
Isamu Noguchi isamu-noguchi friend ../../raw/repos/we-are-all-astronauts.md
John Cage john-cage contemporary ../../raw/repos/the-experimenters.md
Josef Albers josef-albers contemporary ../../raw/repos/the-experimenters.md
Marshall McLuhan marshall-mcluhan influence-on-fuller ../../raw/repos/i-seem-to-be-a-verb.md
Frank Lloyd Wright frank-lloyd-wright contemporary CONV
Le Corbusier le-corbusier contemporary CONV
Norbert Wiener norbert-wiener influence-on-fuller CONV
Margaret Fuller margaret-fuller family CONV
John McHale john-mchale collaborator ../../raw/repos/world-design-science-decade-document-1.md
Merce Cunningham merce-cunningham contemporary ../../raw/repos/the-experimenters.md
Thomas Edison thomas-edison forebear CONV
Henry Ford henry-ford forebear CONV
Leonardo da Vinci leonardo-da-vinci forebear CONV

Authorship-style tag: about-buckminster-fuller for family/collaborators/close figures (Anne Hewlett Fuller, Margaret Fuller, John McHale, Isamu Noguchi); fuller-adjacent for the rest. Plus entity-person and relationship-<type>.


Task 1: Validate figures + source anchors

Files: none written — produces the confirmed mapping.

cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
for p in raw/repos/nine-chains-to-the-moon.md raw/repos/dome-cookbook-of-geodesic-geometry.md raw/repos/we-are-all-astronauts.md raw/repos/the-experimenters.md raw/repos/i-seem-to-be-a-verb.md raw/repos/world-design-science-decade-document-1.md; do
  [ -f "$p" ] && echo "OK $p" || echo "MISS $p"
done
[ -f wiki/topics/r-buckminster-fuller.md ] && echo "OK Fuller node" || echo "MISS Fuller node"
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
for s in albert-einstein anne-hewlett-fuller lloyd-kahn isamu-noguchi john-cage josef-albers marshall-mcluhan frank-lloyd-wright le-corbusier norbert-wiener margaret-fuller john-mchale merce-cunningham thomas-edison henry-ford leonardo-da-vinci; do
  [ -f "wiki/topics/$s.md" ] && echo "EXISTS (skip): $s"
done; echo "dedup check done"

Expected: no EXISTS lines.


Task 2: Establish the template (exemplar: Albert Einstein)

Files:

Create .wiki/wiki/topics/albert-einstein.md:

---
title: "Albert Einstein"
category: topic
sources:
  - ../../raw/repos/nine-chains-to-the-moon.md
created: 2026-07-01
updated: 2026-07-01
verified: 2026-07-01
relationship: influence-on-fuller
tags: [entity-person, relationship-influence-on-fuller, fuller-adjacent, physics, relativity]
aliases: ["Albert Einstein", "Einstein"]
confidence: medium
volatility: cold
compiled-from: sources
summary: "German-born theoretical physicist (1879–1955) whose relativity Fuller sought to popularize in Nine Chains to the Moon — the source of the much-repeated, never-confirmed story of Einstein endorsing Fuller's lay account of his theories."
---

# Albert Einstein

> German-born theoretical physicist (1879–1955), author of the theories of relativity — and, in Fuller's story, the scientist whose work Fuller dared to explain to a lay audience.

<2–3 reworded sentences: Einstein's stature; how relativity and the physics of energy shaped Fuller's "energetic" worldview.>

## Relationship to Fuller

**Relationship: influence on Fuller.** In *Nine Chains to the Moon* (1938) Fuller included a lay account of Einstein's theories, and later told the much-repeated — but never independently confirmed — story that Einstein, on meeting him, said "Young man, you amaze me…" Whatever the truth of the anecdote, Einstein's relativity and the primacy of energy over static matter are woven into Fuller's synergetic, "energy-as-number" cosmology. See [[r-buckminster-fuller|R. Buckminster Fuller]] for the other side of the relationship.

## See Also

- [[nine-chains-to-the-moon|Nine Chains to the Moon]] ([Nine Chains to the Moon](nine-chains-to-the-moon.md)) — the book that recounts Fuller's engagement with Einstein's theories

## Sources

- [Nine Chains to the Moon (source reference)](../../raw/repos/nine-chains-to-the-moon.md) — the work documenting the Einstein connection

(Confirm the Fuller link [[r-buckminster-fuller|...]] sits in the body, not in ## See Also.)

Add to nine-chains-to-the-moon.md's ## See Also (create it before ## Sources if absent):

- [[albert-einstein|Albert Einstein]] ([Albert Einstein](albert-einstein.md)) — the physicist whose theories this book popularizes
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
t=open("wiki/topics/albert-einstein.md",encoding="utf-8").read()
import re
sa=re.search(r'## See Also(.*?)## Sources', t, re.S).group(1)
print("relationship field:", re.search(r'^relationship:\s*(\S+)', t, re.M).group(1))
print("fuller link in See Also (should be False):", "r-buckminster-fuller" in sa)
print("fuller link in body (should be True):", "r-buckminster-fuller" in t)
PY
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/topics/albert-einstein.md .wiki/wiki/topics/nine-chains-to-the-moon.md
git commit -m "feat: referenced-figure page — Albert Einstein (exemplar)"

Task 3: Write the remaining figure pages (batch)

Files:

For each remaining figure, run this procedure. Commit in ~2 sub-batches of ~8.

Add - [[<slug>|<Name>]] ([<Name>](<slug>.md)) — <relation> to the anchor work's ## See Also. Work anchors: dome-cookbook-of-geodesic-geometry (Lloyd Kahn), we-are-all-astronauts (Isamu Noguchi), the-experimenters (Cage, Albers, Cunningham), i-seem-to-be-a-verb (McLuhan), world-design-science-decade-document-1 (McHale). CONV figures have no work reciprocal — link them to ≥1 related person page instead (reciprocated), so they aren't orphans.

cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/topics/
git commit -m "feat: referenced-figure pages — batch (<names>)"
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re
VOCAB={"collaborator","influence-on-fuller","influenced-by-fuller","friend","family","contemporary","rival-critic","forebear"}
figs=[f for f in glob.glob("wiki/topics/*.md") if re.search(r'^relationship:', open(f,encoding="utf-8").read(), re.M)]
print("figures with relationship field:", len(figs))
for f in figs:
    t=open(f,encoding="utf-8").read()
    rel=re.search(r'^relationship:\s*(\S+)',t,re.M).group(1)
    if rel not in VOCAB: print("BAD relationship:", f, rel)
    if 'compiled-from: conversation' not in t and not re.search(r'^sources:',t,re.M): print("NO SOURCE:", f)
    if 'r-buckminster-fuller' not in t: print("NO FULLER LINK:", f)
print("check done")
PY

Task 4: Update the registry (fuller-people.md)

Files:

cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re
rows=[]
for f in glob.glob("wiki/topics/*.md"):
    if f.endswith("_index.md"): continue
    t=open(f,encoding="utf-8").read()
    if 'entity-person' not in t: continue
    title=re.search(r'^title:\s*"(.*)"',t,re.M).group(1)
    slug=f.split("/")[-1][:-3]
    rows.append((title,f"- [{title}](../topics/{slug}.md)"))
rows.sort(key=lambda r:r[0].lower())
body="\n".join(r[1] for r in rows); n=len(rows)
f="wiki/references/fuller-people.md"; t=open(f,encoding="utf-8").read()
t=re.sub(r'## People\n\n.*?\n\n## See Also', "## People\n\n"+body+"\n\n## See Also", t, count=1, flags=re.S)
t=re.sub(r'\((\d+)\) — biographers', f'({n}) — biographers', t)
t=re.sub(r'summary: "\d+ people', f'summary: "{n} people', t)
open(f,"w",encoding="utf-8").write(t)
print("registry people now:", n)
PY
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/references/fuller-people.md
git commit -m "feat: add ~16 referenced-figure pages to fuller-people.md registry"

Task 5: Update indexes + provenance

Files: Modify .wiki/wiki/topics/_index.md, .wiki/_index.md, .wiki/log.md

cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import re
slugs="albert-einstein anne-hewlett-fuller lloyd-kahn isamu-noguchi john-cage josef-albers marshall-mcluhan frank-lloyd-wright le-corbusier norbert-wiener margaret-fuller john-mchale merce-cunningham thomas-edison henry-ford leonardo-da-vinci".split()
rows=[]
for s in slugs:
    t=open(f"wiki/topics/{s}.md",encoding="utf-8").read()
    title=re.search(r'^title:\s*"(.*)"',t,re.M).group(1)
    summ=re.search(r'^summary:\s*"(.*)"',t,re.M).group(1)
    conf=re.search(r'^confidence:\s*(\w+)',t,re.M).group(1)
    rows.append(f"| [{title}]({s}.md) | {summ} | {conf} | 2026-07-01 |")
idx="wiki/topics/_index.md"; t=open(idx,encoding="utf-8").read()
t=t.replace("\n\n## Recent Changes","\n"+"\n".join(rows)+"\n\n## Recent Changes",1)
t=t.replace("## Recent Changes\n\n",
  f"## Recent Changes\n\n- 2026-07-01: Compiled {len(rows)} referenced-figure pages (entity-person, relationship map) [IMP-16]\n",1)
open(idx,"w",encoding="utf-8").write(t)
print("figure rows added:", len(rows), "| table rows:", t.count("\n| ["))
PY

In .wiki/_index.md: raise - Articles: 192 compiled wiki articles by the number created (e.g. 192 → 208 for 16); set Last compiled: 2026-07-01; add:

- 2026-07-01: Compiled 16 referenced-figure entity pages (entity-person + relationship: field) mapping Fuller's relationships → wiki/topics/ + fuller-people.md registry [IMP-16]
## [2026-07-01] compile | 16 referenced-figure pages (entity-person, relationship map) + work back-links + registry [IMP-16]
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/topics/_index.md .wiki/_index.md .wiki/log.md
git commit -m "feat: index + provenance for referenced-figure pages"

Task 6: Lint and fix

Files: whatever the checks flag.

cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re, os
VOCAB={"collaborator","influence-on-fuller","influenced-by-fuller","friend","family","contemporary","rival-critic","forebear"}
def sa(t):
    m=re.search(r'^## See Also\s*(.*?)(?=^## |\Z)', t, re.M|re.S)
    return re.findall(r'\]\(([a-z0-9-]+)\.md\)', m.group(1)) if m else []
pages={os.path.basename(f)[:-3]:open(f,encoding="utf-8").read() for f in glob.glob("wiki/topics/*.md") if not f.endswith("_index.md")}
figs=[s for s,t in pages.items() if re.search(r'^relationship:',t,re.M)]
broken=[(s,x) for s in figs for x in sa(pages[s]) if x not in pages]
nonrecip=[(s,x) for s in figs for x in sa(pages[s]) if x in pages and s not in sa(pages[x])]
badrel=[(s,re.search(r'^relationship:\s*(\S+)',pages[s],re.M).group(1)) for s in figs if re.search(r'^relationship:\s*(\S+)',pages[s],re.M).group(1) not in VOCAB]
badsrc=[s for s in figs if 'compiled-from: conversation' not in pages[s] and not re.search(r'^sources:',pages[s],re.M)]
print("figures:", len(figs))
print("broken:", broken or "none")
print("bad relationship values:", badrel or "none")
print("no-source figures:", badsrc or "none")
print("non-reciprocal:", nonrecip or "none")
PY
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki && git commit -m "chore: wiki lint fixups for referenced-figure pages"

Task 7: Re-file the deferred follow-ups

Files: Modify work/IMPROVEMENTS.md (via the dev-xp_work improve: record flow, on the base branch during pluck housekeeping).


Verification checklist (whole plan)