Organization Entity Pages (~11 institutions) — 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 ~11 entity-organization pages for the institutions that recur across the corpus, each linked bidirectionally to associated works and people, with a new fuller-organizations.md registry.
Architecture: Mirrors the person-entity model — category: topic + entity-organization tag, description + "Role in Fuller's world" + bidirectional ## See Also + ## Sources (a resolvable raw pointer, or compiled-from: conversation). A new wiki/references/fuller-organizations.md (a reference) lists them and cross-links to fuller-people.md.
Tech Stack: Markdown; Python for index/registry generation and lint checks (this repo's grep is ugrep with atypical flags — prefer Python for scripted passes); /wiki:lint for verification. No code, no unit tests.
Note on TDD: Content task. Each task's verify step is an inspection or the Python reciprocity/lint check. Commit in sub-batches.
Working directory: repo root /Volumes/Storage/belmendo/Projects/buckyverse.org; wiki root .wiki/; branch pluck/imp-13-organization-entity-pages.
The organization table (slug, source handling, org-type tag, key bidirectional links):
| Organization | slug | source | type tag | links (org↔) |
|---|---|---|---|---|
| Fuller & Sadao | fuller-and-sadao | sources: montreal-biosphere.md |
design-firm | shoji-sadao, montreal-biosphere |
| Southern Illinois University | southern-illinois-university | compiled-from: conversation |
university | no-more-secondhand-god, 50-years-of-the-design-science-revolution |
| Buckminster Fuller Institute | buckminster-fuller-institute | compiled-from: conversation |
nonprofit | synergetics (or an apt Fuller topic) |
| Black Mountain College | black-mountain-college | sources: the-experimenters.md |
college | kenneth-snelson, ruth-asawa, the-experimenters |
| Whole Earth / Portola Institute | whole-earth-portola-institute | compiled-from: conversation |
nonprofit | stewart-brand, james-t-baldwin |
| Drop City | drop-city | compiled-from: conversation |
commune | clark-richert, steve-baer |
| Zomeworks | zomeworks | compiled-from: conversation |
company | steve-baer |
| World Game Institute | world-game-institute | sources: 50-years-of-the-design-science-revolution.md |
nonprofit | medard-gabel |
| Cosanti Foundation / Arcosanti | cosanti-foundation | compiled-from: conversation |
nonprofit | paolo-soleri |
| Pacific Domes | pacific-domes | compiled-from: conversation |
company | dome-cookbook-of-geodesic-geometry |
| Marta Herford | marta-herford | sources: we-are-all-astronauts.md |
museum | we-are-all-astronauts |
Every org page also tags about-buckminster-fuller (institutions in Fuller's own story: SIU, BFI, Fuller & Sadao, World Game Institute) or fuller-adjacent (Black Mountain, Whole Earth, Drop City, Zomeworks, Cosanti, Pacific Domes, Marta Herford), plus entity-organization.
For a sources: entry, use the raw pointer the work topic cites (read it: sed -n '/^sources:/,/^[a-z]/p' wiki/topics/<work>.md), e.g. ../../raw/repos/montreal-biosphere.md. For compiled-from: conversation, omit sources:.
Task 1: Validate the org set + resolve source anchors and link targets
Files: none written — produces the confirmed mapping.
- Step 1: Confirm each org is corpus-attested and gather its source pointer
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
for w in montreal-biosphere the-experimenters 50-years-of-the-design-science-revolution we-are-all-astronauts no-more-secondhand-god; do
echo "## $w"; sed -n '/^sources:/,/^[a-z]/p' "wiki/topics/$w.md" | grep ' - '
done
Record the raw pointer path for each sources:-backed org. For compiled-from: conversation orgs, confirm the org has ≥2 corpus mentions (already verified in brainstorming) so the page is grounded.
- Step 2: Confirm all link-target pages exist
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
for s in shoji-sadao montreal-biosphere kenneth-snelson ruth-asawa the-experimenters stewart-brand james-t-baldwin clark-richert steve-baer medard-gabel paolo-soleri dome-cookbook-of-geodesic-geometry we-are-all-astronauts no-more-secondhand-god 50-years-of-the-design-science-revolution synergetics; do
[ -f "wiki/topics/$s.md" ] || echo "MISSING TARGET: $s"
done; echo "target check done"
- Step 3: No commit (mapping only).
Task 2: Establish the org-page template (exemplar: Fuller & Sadao)
Files:
-
Create:
.wiki/wiki/topics/fuller-and-sadao.md -
Modify:
.wiki/wiki/topics/shoji-sadao.md,.wiki/wiki/topics/montreal-biosphere.md(reciprocal back-links) -
Step 1: Write the exemplar page
Create .wiki/wiki/topics/fuller-and-sadao.md:
---
title: "Fuller & Sadao"
category: topic
sources:
- ../../raw/repos/montreal-biosphere.md
created: 2026-07-01
updated: 2026-07-01
verified: 2026-07-01
tags: [entity-organization, about-buckminster-fuller, design-firm, architecture, geodesic-dome]
aliases: ["Fuller & Sadao", "Fuller and Sadao", "Fuller & Sadao Inc."]
confidence: medium
volatility: cold
compiled-from: sources
summary: "The architecture and design firm Buckminster Fuller founded with Shoji Sadao, responsible for executing Fuller's major geodesic projects — most famously the U.S. Pavilion (Montreal Biosphere) at Expo 67."
---
# Fuller & Sadao
> The architecture and design partnership **Fuller & Sadao, Inc.**, founded by Buckminster Fuller with the architect and cartographer **Shoji Sadao** — the practice through which Fuller's geometry became executed buildings.
<2–3 sentences: the firm's role — the professional vehicle for Fuller's built geodesic work, with Sadao as partner and draftsman; its landmark project the Expo 67 U.S. Pavilion (the Montreal Biosphere), plus other domes and the Dymaxion Map drafting.>
## Role in Fuller's world
<The firm as the executor of Fuller's design science — where the geometry of Synergetics met the practicalities of construction and clients, over decades of partnership with Sadao.>
## See Also
- [[shoji-sadao|Shoji Sadao]] ([Shoji Sadao](shoji-sadao.md)) — Fuller's partner in the firm
- [[montreal-biosphere|Montreal Biosphere]] ([Montreal Biosphere](montreal-biosphere.md)) — the Expo 67 dome the firm designed
## Sources
- [Montreal Biosphere (source reference)](../../raw/repos/montreal-biosphere.md) — a work documenting the firm's landmark project
(Confirm ../../raw/repos/montreal-biosphere.md is the pointer that montreal-biosphere.md cites; use the exact path from Task 1.)
- Step 2: Reciprocal back-links
Add to shoji-sadao.md ## See Also: - [[fuller-and-sadao|Fuller & Sadao]] ([Fuller & Sadao](fuller-and-sadao.md)) — the firm he ran with Fuller.
Add to montreal-biosphere.md ## See Also: - [[fuller-and-sadao|Fuller & Sadao]] ([Fuller & Sadao](fuller-and-sadao.md)) — the firm that designed this dome.
- Step 3: Verify + commit
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
grep -E '^(category|volatility|verified|compiled-from):' wiki/topics/fuller-and-sadao.md
python3 -c "import os;print('source ok' if os.path.exists('wiki/topics/../../raw/repos/montreal-biosphere.md') else 'SOURCE MISSING')"
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/topics/fuller-and-sadao.md .wiki/wiki/topics/shoji-sadao.md .wiki/wiki/topics/montreal-biosphere.md
git commit -m "feat: organization entity page — Fuller & Sadao (exemplar)"
Task 3: Write the remaining organization pages (batch)
Files:
- Create:
.wiki/wiki/topics/<org-slug>.mdfor each remaining org in the table. - Modify: each org's linked work/person topics (
## See Alsoreciprocals).
For each remaining org, run this procedure. Commit in one or two sub-batches.
- Step 1: Per-org — write the page
Create .wiki/wiki/topics/<org-slug>.md using the Task 2 template. Requirements:
-
category: topic; tagsentity-organization+ org-type tag +about-buckminster-fuller/fuller-adjacent(per the table);confidencemedium(orlowfor thin ones like Marta Herford / Pacific Domes). -
Frontmatter
sources:per the table (a resolvable raw pointer) ORcompiled-from: conversation(omitsources:). Every page still needsvolatility: cold,verified: 2026-07-01, and either asources:list orcompiled-from: conversation(never neither — that fails the missing-sources lint rule). -
2–3 sentence description grounded in general knowledge + corpus mentions (no fabricated detail).
-
## Role in Fuller's world— what the org did and its Fuller connection. -
## See Also— bidirectional to the works/people in the table;## Sources(the raw pointer, or a short "Compiled from general knowledge and corpus mentions; no single work anchors this organization." note whencompiled-from: conversation). -
Step 2: Per-org — reciprocal back-links
For every org→X link, add - [[<org-slug>|<Org>]] ([<Org>](<org-slug>.md)) — <relation> to X's ## See Also (create the section before ## Sources if absent). Known reciprocals:
-
southern-illinois-university → no-more-secondhand-god, 50-years-of-the-design-science-revolution
-
buckminster-fuller-institute → synergetics (or the chosen Fuller topic)
-
black-mountain-college → kenneth-snelson, ruth-asawa, the-experimenters
-
whole-earth-portola-institute → stewart-brand, james-t-baldwin
-
drop-city → clark-richert, steve-baer
-
zomeworks → steve-baer
-
world-game-institute → medard-gabel
-
cosanti-foundation → paolo-soleri
-
pacific-domes → dome-cookbook-of-geodesic-geometry
-
marta-herford → we-are-all-astronauts
-
Step 3: Commit the sub-batch
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/topics/
git commit -m "feat: organization entity pages — batch (<names>)"
- Step 4: Verify the full set
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re
orgs=[f for f in glob.glob("wiki/topics/*.md") if 'entity-organization' in open(f,encoding="utf-8").read()]
print("org pages:", len(orgs))
for f in orgs:
t=open(f,encoding="utf-8").read()
ok = ('category: topic' in t and 'volatility:' in t and
('compiled-from: conversation' in t or re.search(r'^sources:', t, re.M)))
if not ok: print("INCOMPLETE:", f)
print("frontmatter check done")
PY
Expected: org pages == the number created; no INCOMPLETE.
Task 4: Create the fuller-organizations.md registry + cross-link
Files:
-
Create:
.wiki/wiki/references/fuller-organizations.md -
Modify:
.wiki/wiki/references/fuller-people.md(reciprocal cross-link) -
Step 1: Generate the registry
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re
rows=[]
for f in glob.glob("wiki/topics/*.md"):
t=open(f,encoding="utf-8").read()
if 'entity-organization' 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)
open("wiki/references/fuller-organizations.md","w",encoding="utf-8").write(f'''---
title: "Organizations in Fuller's Orbit"
category: reference
compiled-from: conversation
created: 2026-07-01
updated: 2026-07-01
verified: 2026-07-01
tags: [reference, organizations, entity-organization, buckminster-fuller]
confidence: high
volatility: cold
summary: "{len(rows)} organizations connected to Fuller's life and work — universities, firms, communes, nonprofits, and museums — each a compiled entity-organization page with a description, its role in Fuller's world, and links to the works and people it is tied to."
---
# Organizations in Fuller's Orbit
> The registry of institutions in R. Buckminster Fuller's world ({len(rows)}) — his academic home and firm, the counterculture and dome-movement organizations, and the museums and nonprofits that carry his legacy. Each links to a compiled **entity-organization** page. Companion to the people registry. Compiled 2026-07-01 (IMP-13).
## Organizations
{body}
## See Also
- [[fuller-people|People in Fuller's Orbit]] ([People in Fuller's Orbit](fuller-people.md)) — the companion registry of people (authors, collaborators, influences)
## Sources
- Compiled from corpus mentions and general knowledge (entity registry).
''')
print("registry written:", len(rows), "orgs")
PY
- Step 2: Add the reciprocal cross-link in
fuller-people.md
In fuller-people.md's ## See Also, add:
- [[fuller-organizations|Organizations in Fuller's Orbit]] ([Organizations in Fuller's Orbit](fuller-organizations.md)) — the companion registry of organizations
- Step 3: Commit
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki/wiki/references/fuller-organizations.md .wiki/wiki/references/fuller-people.md
git commit -m "feat: create fuller-organizations.md registry, cross-link with fuller-people"
Task 5: Update indexes + provenance
Files: Modify .wiki/wiki/topics/_index.md, .wiki/_index.md, .wiki/log.md
- Step 1: Add org rows to the topics index
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re
rows=[]
for f in glob.glob("wiki/topics/*.md"):
t=open(f,encoding="utf-8").read()
if 'entity-organization' not in t: continue
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)
slug=f.split("/")[-1][:-3]
rows.append((title, f"| [{title}]({slug}.md) | {summ} | {conf} | 2026-07-01 |"))
rows.sort(key=lambda r:r[0].lower())
block="\n".join(r[1] for r in rows)
idx="wiki/topics/_index.md"; t=open(idx,encoding="utf-8").read()
t=t.replace("\n\n## Recent Changes", "\n"+block+"\n\n## Recent Changes",1)
n=len(rows)
t=t.replace("## Recent Changes\n\n",
f"## Recent Changes\n\n- 2026-07-01: Compiled {n} organization entity pages (entity-organization) [IMP-13]; topics {t.count(chr(10)+'| [')+n}\n",1)
open(idx,"w",encoding="utf-8").write(t)
print("org rows added:", n)
PY
Set Last updated: 2026-07-01 in that file if not already.
- Step 2: Bump master stats + Recent Changes
In .wiki/_index.md: raise - Articles: 181 compiled wiki articles by the number of org pages (e.g. 181 → 192 for 11); set Last compiled: 2026-07-01; add:
- 2026-07-01: Compiled 11 organization entity pages (entity-organization) → wiki/topics/ + new fuller-organizations.md registry, bidirectional org↔work/org↔person links [IMP-13]
- Step 3: Append to log.md
## [2026-07-01] compile | 11 organization entity pages (entity-organization) + fuller-organizations.md registry + back-links [IMP-13]
- Step 4: Commit
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 organization entity pages"
Task 6: Lint and fix
Files: whatever the checks flag.
- Step 1: Broken-link + source + reciprocity check (Python)
cd /Volumes/Storage/belmendo/Projects/buckyverse.org/.wiki
python3 - <<'PY'
import glob, re, os
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")}
orgs=[s for s,t in pages.items() if 'entity-organization' in t]
broken=[(s,x) for s in orgs for x in sa(pages[s]) if x not in pages]
nonrecip=[(s,x) for s in orgs for x in sa(pages[s]) if x in pages and s not in sa(pages[x])]
badsrc=[]
for s in orgs:
t=pages[s]
if 'compiled-from: conversation' not in t:
for src in re.findall(r'^\s*-\s*(\.\./\.\./raw/\S+\.md)', t, re.M):
if not os.path.exists(os.path.join("wiki/topics",src)): badsrc.append((s,src))
print("orgs:", len(orgs))
print("broken:", broken or "none")
print("bad sources:", badsrc or "none")
print("non-reciprocal:")
for a,b in nonrecip: print(f" {a} -> {b}")
PY
-
Step 2: Fix every non-reciprocal / broken link, then re-run Step 1 until clean.
-
Step 3: Run
/wiki:lint --localand confirm 0 broken links, 0 dangling sources, See Also bidirectional, indexes/counts consistent,entity-organizationtag consistent. SetLast lint: 2026-07-01in.wiki/_index.md. -
Step 4: Commit fixups
cd /Volumes/Storage/belmendo/Projects/buckyverse.org
git add .wiki && git commit -m "chore: wiki lint fixups for organization entity pages"
Task 7: Re-file the deferred long tail
Files: Modify work/IMPROVEMENTS.md (via the dev-xp_work improve: record flow, on the base branch during pluck housekeeping).
Note for the pluck controller: IMP-13 delivers ~11 orgs. Re-file the remainder.
-
Step 1: Record the remaining org scope as an
improve:item (onmain): organization pages for the long tail — publishers (Garland, MIT Press, Princeton Architectural, and SIU Press if split out), agencies (NASA, DEW-line), companies, and one-mention institutions not covered by this batch. Reuse theentity-organizationmodel andfuller-organizations.mdregistry. -
Step 2: Commit (handled by the record flow).
Verification checklist (whole plan)
- ~10–12
entity-organizationpages, each with a description + "Role in Fuller's world" + bidirectional links. - Each page has resolvable
sources:ORcompiled-from: conversation(never neither). - Bidirectional org↔work and org↔person links; 0 broken links.
- New
fuller-organizations.mdregistry created and cross-linked withfuller-people.md(mutual See Also). - Indexes + master article count (+~11) + log updated.
-
/wiki:lint --localclean. - Long-tail org scope (publishers, agencies, minor institutions) re-filed.