docs: integration tools — cross-reference graph, concept index, research digest
Codex-built tooling: cross-reference graph, concept index with build script, and research integrator that extracted 142 scholars, 175 bibliography items, 4 contradiction topics, and coverage maps for Paper 009 planning. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,470 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Build cross-reference artifacts for the VIBECODE-THEORY paper series.
|
||||
|
||||
Outputs:
|
||||
- graph.json
|
||||
- graph.mermaid
|
||||
- dangling_threads.md
|
||||
- concept_flow.md
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import re
|
||||
from collections import defaultdict
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Iterable
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
OUT_DIR = Path(__file__).resolve().parent
|
||||
|
||||
PAPER_GLOB = "00*-*.md"
|
||||
ALLEGORY_GLOB = "allegorical/*.md"
|
||||
|
||||
STOPWORDS = {
|
||||
"about",
|
||||
"after",
|
||||
"again",
|
||||
"also",
|
||||
"because",
|
||||
"between",
|
||||
"could",
|
||||
"does",
|
||||
"from",
|
||||
"have",
|
||||
"into",
|
||||
"just",
|
||||
"like",
|
||||
"might",
|
||||
"more",
|
||||
"most",
|
||||
"over",
|
||||
"paper",
|
||||
"question",
|
||||
"series",
|
||||
"should",
|
||||
"than",
|
||||
"that",
|
||||
"their",
|
||||
"them",
|
||||
"then",
|
||||
"this",
|
||||
"those",
|
||||
"through",
|
||||
"what",
|
||||
"when",
|
||||
"which",
|
||||
"with",
|
||||
"would",
|
||||
}
|
||||
|
||||
RELATION_PRIORITY = {
|
||||
"supersedes": 8,
|
||||
"refutes": 7,
|
||||
"challenges": 6,
|
||||
"revises": 5,
|
||||
"extends": 4,
|
||||
"addresses": 3,
|
||||
"introduces concept used by": 2,
|
||||
"references": 1,
|
||||
}
|
||||
|
||||
CONCEPT_CATALOG = {
|
||||
"vibe coding as social skill": {
|
||||
"aliases": ["vibe coding", "social skill", "meta-skill"],
|
||||
"intro": "001",
|
||||
},
|
||||
"cognitive surplus": {
|
||||
"aliases": ["cognitive surplus", "surplus"],
|
||||
"intro": "002",
|
||||
},
|
||||
"dependency trap": {
|
||||
"aliases": ["dependency trap", "systemic dependency"],
|
||||
"intro": "002",
|
||||
},
|
||||
"cognitive preference shift": {
|
||||
"aliases": ["cognitive preference shift", "preference shift"],
|
||||
"intro": "005",
|
||||
},
|
||||
"automation spiral": {
|
||||
"aliases": ["automation spiral"],
|
||||
"intro": "003",
|
||||
},
|
||||
"feedback loop": {
|
||||
"aliases": ["feedback loop", "uncomfortable middle"],
|
||||
"intro": "006",
|
||||
},
|
||||
"biological ratchet": {
|
||||
"aliases": ["biological ratchet", "ratchet"],
|
||||
"intro": "007",
|
||||
},
|
||||
"infrastructure threshold": {
|
||||
"aliases": ["infrastructure threshold", "application phase"],
|
||||
"intro": "007",
|
||||
},
|
||||
"premature dependency hibernation": {
|
||||
"aliases": ["premature dependencies", "hibernation"],
|
||||
"intro": "007",
|
||||
},
|
||||
"knowledge unification": {
|
||||
"aliases": ["knowledge unification", "defragmentation"],
|
||||
"intro": "008",
|
||||
},
|
||||
"ship of theseus identity problem": {
|
||||
"aliases": ["ship of theseus", "species identity"],
|
||||
"intro": "008",
|
||||
},
|
||||
"cheating frame": {
|
||||
"aliases": ['"cheating"', "cheating frame"],
|
||||
"intro": "008",
|
||||
},
|
||||
"dependency chain": {
|
||||
"aliases": ["dependency chain"],
|
||||
"intro": "007",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@dataclass
|
||||
class Document:
|
||||
doc_id: str
|
||||
title: str
|
||||
kind: str
|
||||
path: Path
|
||||
text: str
|
||||
|
||||
|
||||
def read_documents() -> list[Document]:
|
||||
docs: list[Document] = []
|
||||
|
||||
for path in sorted(ROOT.glob(PAPER_GLOB)):
|
||||
text = path.read_text(encoding="utf-8")
|
||||
m = re.search(r"^#\s+Paper\s+(\d{3}):\s*(.+)$", text, flags=re.M)
|
||||
if m:
|
||||
doc_id, title = m.group(1), m.group(2).strip()
|
||||
else:
|
||||
doc_id = path.name.split("-", 1)[0]
|
||||
title = path.stem
|
||||
docs.append(Document(doc_id=doc_id, title=title, kind="paper", path=path, text=text))
|
||||
|
||||
for path in sorted(ROOT.glob(ALLEGORY_GLOB)):
|
||||
text = path.read_text(encoding="utf-8")
|
||||
m = re.search(r"^#\s+(.+)$", text, flags=re.M)
|
||||
title = m.group(1).strip() if m else path.stem.replace("-", " ").title()
|
||||
docs.append(
|
||||
Document(
|
||||
doc_id=f"A:{path.stem}",
|
||||
title=title,
|
||||
kind="allegory",
|
||||
path=path,
|
||||
text=text,
|
||||
)
|
||||
)
|
||||
|
||||
return docs
|
||||
|
||||
|
||||
def sentence_chunks(text: str) -> Iterable[str]:
|
||||
for chunk in re.split(r"(?<=[.!?])\s+|\n{2,}", text):
|
||||
cleaned = " ".join(chunk.strip().split())
|
||||
if cleaned:
|
||||
yield cleaned
|
||||
|
||||
|
||||
def classify_relationship(text: str) -> str:
|
||||
lower = text.lower()
|
||||
if "supersed" in lower:
|
||||
return "supersedes"
|
||||
if any(k in lower for k in ("refute", "rebuttal", "against")):
|
||||
return "refutes"
|
||||
if any(k in lower for k in ("challenge", "critic", "unfalsifiable")):
|
||||
return "challenges"
|
||||
if "revis" in lower:
|
||||
return "revises"
|
||||
if "extend" in lower:
|
||||
return "extends"
|
||||
if any(k in lower for k in ("respond", "address", "engage")):
|
||||
return "addresses"
|
||||
return "references"
|
||||
|
||||
|
||||
def find_paper_targets(text: str) -> list[str]:
|
||||
if "paper" not in text.lower():
|
||||
return []
|
||||
return sorted(set(re.findall(r"\b00[1-8]\b", text)))
|
||||
|
||||
|
||||
def add_edge(edges: dict[tuple[str, str], dict], source: str, target: str, edge_type: str, context: str) -> None:
|
||||
if source == target:
|
||||
return
|
||||
key = (source, target)
|
||||
candidate = {"source": source, "target": target, "type": edge_type, "context": context}
|
||||
existing = edges.get(key)
|
||||
if not existing:
|
||||
edges[key] = candidate
|
||||
return
|
||||
if RELATION_PRIORITY[edge_type] > RELATION_PRIORITY[existing["type"]]:
|
||||
edges[key] = candidate
|
||||
|
||||
|
||||
def extract_explicit_edges(docs: list[Document]) -> dict[tuple[str, str], dict]:
|
||||
edges: dict[tuple[str, str], dict] = {}
|
||||
allegory_name_to_id = {doc.path.stem.replace("-", " "): doc.doc_id for doc in docs if doc.kind == "allegory"}
|
||||
|
||||
for doc in docs:
|
||||
for sent in sentence_chunks(doc.text):
|
||||
targets = find_paper_targets(sent)
|
||||
if targets:
|
||||
rel = classify_relationship(sent)
|
||||
for target in targets:
|
||||
add_edge(edges, doc.doc_id, target, rel, sent[:220])
|
||||
|
||||
if doc.kind == "paper" and doc.doc_id == "007":
|
||||
lower = doc.text.lower()
|
||||
for name, target_id in allegory_name_to_id.items():
|
||||
if name in lower:
|
||||
add_edge(
|
||||
edges,
|
||||
doc.doc_id,
|
||||
target_id,
|
||||
"extends",
|
||||
f"Paper 007 explicitly maps the {name.title()} allegory into the ratchet framework.",
|
||||
)
|
||||
|
||||
if doc.kind == "allegory":
|
||||
for sent in sentence_chunks(doc.text):
|
||||
targets = find_paper_targets(sent)
|
||||
for target in targets:
|
||||
add_edge(edges, doc.doc_id, target, "addresses", sent[:220])
|
||||
|
||||
return edges
|
||||
|
||||
|
||||
def collect_concept_presence(docs: list[Document]) -> tuple[dict[str, str], dict[str, set[str]]]:
|
||||
intro: dict[str, str] = {}
|
||||
usage: dict[str, set[str]] = defaultdict(set)
|
||||
|
||||
ordered = sorted([d for d in docs if d.kind == "paper"], key=lambda d: d.doc_id) + [
|
||||
d for d in docs if d.kind == "allegory"
|
||||
]
|
||||
|
||||
for doc in ordered:
|
||||
lower = doc.text.lower()
|
||||
for concept, info in CONCEPT_CATALOG.items():
|
||||
aliases = info["aliases"]
|
||||
if any(alias.lower() in lower for alias in aliases):
|
||||
usage[concept].add(doc.doc_id)
|
||||
expected_intro = info["intro"]
|
||||
if expected_intro in {d.doc_id for d in docs if d.kind == "paper"}:
|
||||
intro.setdefault(concept, expected_intro)
|
||||
else:
|
||||
intro.setdefault(concept, doc.doc_id)
|
||||
return intro, usage
|
||||
|
||||
|
||||
def extract_implicit_edges(
|
||||
docs: list[Document], intro: dict[str, str], usage: dict[str, set[str]], edges: dict[tuple[str, str], dict]
|
||||
) -> None:
|
||||
for concept, source in intro.items():
|
||||
if not re.match(r"^00[1-8]$", source):
|
||||
continue
|
||||
for target in sorted(usage[concept]):
|
||||
if target == source or not re.match(r"^00[1-8]$", target):
|
||||
continue
|
||||
if target <= source:
|
||||
continue
|
||||
add_edge(
|
||||
edges,
|
||||
source,
|
||||
target,
|
||||
"introduces concept used by",
|
||||
f"{concept} appears first in {source} and recurs in {target}.",
|
||||
)
|
||||
|
||||
|
||||
def build_nodes(docs: list[Document], intro: dict[str, str]) -> list[dict]:
|
||||
concept_by_doc: dict[str, list[str]] = defaultdict(list)
|
||||
for concept, doc_id in intro.items():
|
||||
concept_by_doc[doc_id].append(concept)
|
||||
|
||||
nodes: list[dict] = []
|
||||
for doc in sorted(docs, key=lambda d: (d.kind != "paper", d.doc_id)):
|
||||
nodes.append(
|
||||
{
|
||||
"id": doc.doc_id,
|
||||
"title": doc.title,
|
||||
"kind": doc.kind,
|
||||
"concepts_introduced": sorted(concept_by_doc.get(doc.doc_id, [])),
|
||||
}
|
||||
)
|
||||
return nodes
|
||||
|
||||
|
||||
def write_mermaid(nodes: list[dict], edges: list[dict]) -> None:
|
||||
def mm_id(node_id: str) -> str:
|
||||
return re.sub(r"[^A-Za-z0-9_]", "_", node_id)
|
||||
|
||||
lines = ["graph TD"]
|
||||
for node in nodes:
|
||||
nid = mm_id(node["id"])
|
||||
label = f'{node["id"]}: {node["title"]}'
|
||||
lines.append(f' {nid}["{label}"]')
|
||||
for edge in edges:
|
||||
src = mm_id(edge["source"])
|
||||
dst = mm_id(edge["target"])
|
||||
rel = edge["type"].replace('"', "")
|
||||
lines.append(f" {src} -->|{rel}| {dst}")
|
||||
(OUT_DIR / "graph.mermaid").write_text("\n".join(lines) + "\n", encoding="utf-8")
|
||||
|
||||
|
||||
def extract_open_questions(paper: Document) -> list[str]:
|
||||
lines = paper.text.splitlines()
|
||||
start = None
|
||||
for i, line in enumerate(lines):
|
||||
if line.strip().lower().startswith("## open questions"):
|
||||
start = i + 1
|
||||
break
|
||||
if start is None:
|
||||
return []
|
||||
|
||||
questions: list[str] = []
|
||||
for line in lines[start:]:
|
||||
if line.startswith("## "):
|
||||
break
|
||||
stripped = line.strip()
|
||||
if re.match(r"^(\d+\.|-)\s+", stripped):
|
||||
body = re.sub(r"^(\d+\.|-)\s+", "", stripped).strip()
|
||||
if body:
|
||||
questions.append(body)
|
||||
return questions
|
||||
|
||||
|
||||
def question_keywords(text: str) -> set[str]:
|
||||
words = re.findall(r"[A-Za-z][A-Za-z\-]{3,}", text.lower())
|
||||
return {w for w in words if w not in STOPWORDS}
|
||||
|
||||
|
||||
def build_dangling_threads(papers: list[Document]) -> str:
|
||||
paper_map = {p.doc_id: p for p in papers}
|
||||
ordered_ids = sorted(paper_map.keys())
|
||||
lines = ["# Dangling Threads", ""]
|
||||
|
||||
found_any = False
|
||||
for doc_id in ordered_ids:
|
||||
paper = paper_map[doc_id]
|
||||
questions = extract_open_questions(paper)
|
||||
later = [paper_map[i] for i in ordered_ids if i > doc_id]
|
||||
|
||||
for question in questions:
|
||||
kws = question_keywords(question)
|
||||
hits: list[str] = []
|
||||
if kws:
|
||||
for other in later:
|
||||
lower = other.text.lower()
|
||||
overlap = sum(1 for kw in kws if kw in lower)
|
||||
if overlap >= 2:
|
||||
hits.append(other.doc_id)
|
||||
found_any = True
|
||||
if hits:
|
||||
lines.append(
|
||||
f"- Raised in **Paper {doc_id}**: {question} \n"
|
||||
f" Partially addressed in later papers: {', '.join(f'Paper {h}' for h in hits)}."
|
||||
)
|
||||
else:
|
||||
lines.append(
|
||||
f"- Raised in **Paper {doc_id}**: {question} \n"
|
||||
" Partially addressed in later papers: none detected."
|
||||
)
|
||||
|
||||
if not found_any:
|
||||
lines.append("- No open-question sections were detected in the source files.")
|
||||
lines.append("")
|
||||
return "\n".join(lines)
|
||||
|
||||
|
||||
def build_concept_flow(
|
||||
papers: list[Document], intro: dict[str, str], usage: dict[str, set[str]], explicit_edges: list[dict]
|
||||
) -> str:
|
||||
lines = ["# Concept Flow", ""]
|
||||
|
||||
paper_ids = sorted(p.doc_id for p in papers)
|
||||
paper_map = {p.doc_id: p for p in papers}
|
||||
|
||||
for concept in sorted(CONCEPT_CATALOG.keys()):
|
||||
introduced = intro.get(concept, "unknown")
|
||||
used_in = sorted(d for d in usage.get(concept, set()) if d in paper_ids)
|
||||
aliases = CONCEPT_CATALOG[concept]["aliases"]
|
||||
|
||||
challenged: set[str] = set()
|
||||
revised: set[str] = set()
|
||||
for doc_id in used_in:
|
||||
has_concept_sentence = False
|
||||
for sent in sentence_chunks(paper_map[doc_id].text):
|
||||
lower_sent = sent.lower()
|
||||
if not any(a.lower() in lower_sent for a in aliases):
|
||||
continue
|
||||
has_concept_sentence = True
|
||||
if any(k in lower_sent for k in ("challenge", "critic", "rebuttal", "against", "unfalsifiable")):
|
||||
challenged.add(doc_id)
|
||||
if any(k in lower_sent for k in ("revision", "revised", "supersedes", "responds", "extends")):
|
||||
revised.add(doc_id)
|
||||
if not has_concept_sentence:
|
||||
continue
|
||||
|
||||
challenged_list = sorted(challenged)
|
||||
revised_list = sorted(revised)
|
||||
current = used_in[-1] if used_in else "unknown"
|
||||
|
||||
lines.append(f"## {concept.title()}")
|
||||
lines.append(f"- Introduced in: Paper {introduced}" if introduced != "unknown" else "- Introduced in: unknown")
|
||||
lines.append(
|
||||
f"- Challenged in: {', '.join(f'Paper {p}' for p in challenged_list)}"
|
||||
if challenged_list
|
||||
else "- Challenged in: none detected"
|
||||
)
|
||||
lines.append(
|
||||
f"- Revised in: {', '.join(f'Paper {p}' for p in revised_list)}"
|
||||
if revised_list
|
||||
else "- Revised in: none detected"
|
||||
)
|
||||
lines.append(
|
||||
f"- Referenced in: {', '.join(f'Paper {p}' for p in used_in)}" if used_in else "- Referenced in: none detected"
|
||||
)
|
||||
lines.append(f"- Current standing: active in latest mention (Paper {current})." if current != "unknown" else "- Current standing: unclear.")
|
||||
lines.append("")
|
||||
|
||||
return "\n".join(lines)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
docs = read_documents()
|
||||
papers = [d for d in docs if d.kind == "paper"]
|
||||
|
||||
intro, usage = collect_concept_presence(docs)
|
||||
edge_map = extract_explicit_edges(docs)
|
||||
extract_implicit_edges(docs, intro, usage, edge_map)
|
||||
|
||||
nodes = build_nodes(docs, intro)
|
||||
edges = sorted(edge_map.values(), key=lambda e: (e["source"], e["target"], e["type"]))
|
||||
|
||||
graph = {"nodes": nodes, "edges": edges}
|
||||
(OUT_DIR / "graph.json").write_text(json.dumps(graph, indent=2) + "\n", encoding="utf-8")
|
||||
write_mermaid(nodes, edges)
|
||||
|
||||
dangling = build_dangling_threads(papers)
|
||||
(OUT_DIR / "dangling_threads.md").write_text(dangling, encoding="utf-8")
|
||||
|
||||
flow = build_concept_flow(papers, intro, usage, edges)
|
||||
(OUT_DIR / "concept_flow.md").write_text(flow, encoding="utf-8")
|
||||
|
||||
print(f"Wrote {OUT_DIR / 'graph.json'}")
|
||||
print(f"Wrote {OUT_DIR / 'graph.mermaid'}")
|
||||
print(f"Wrote {OUT_DIR / 'dangling_threads.md'}")
|
||||
print(f"Wrote {OUT_DIR / 'concept_flow.md'}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,92 @@
|
||||
# Concept Flow
|
||||
|
||||
## Automation Spiral
|
||||
- Introduced in: Paper 003
|
||||
- Challenged in: none detected
|
||||
- Revised in: Paper 006
|
||||
- Referenced in: Paper 003, Paper 005, Paper 006, Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Biological Ratchet
|
||||
- Introduced in: Paper 007
|
||||
- Challenged in: none detected
|
||||
- Revised in: Paper 008
|
||||
- Referenced in: Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Cheating Frame
|
||||
- Introduced in: Paper 008
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Cognitive Preference Shift
|
||||
- Introduced in: Paper 005
|
||||
- Challenged in: none detected
|
||||
- Revised in: Paper 005
|
||||
- Referenced in: Paper 003, Paper 005, Paper 007
|
||||
- Current standing: active in latest mention (Paper 007).
|
||||
|
||||
## Cognitive Surplus
|
||||
- Introduced in: Paper 002
|
||||
- Challenged in: Paper 003
|
||||
- Revised in: Paper 001, Paper 005, Paper 006
|
||||
- Referenced in: Paper 001, Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Dependency Chain
|
||||
- Introduced in: Paper 007
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Dependency Trap
|
||||
- Introduced in: Paper 002
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 002, Paper 003, Paper 005
|
||||
- Current standing: active in latest mention (Paper 005).
|
||||
|
||||
## Feedback Loop
|
||||
- Introduced in: Paper 006
|
||||
- Challenged in: Paper 005
|
||||
- Revised in: Paper 006
|
||||
- Referenced in: Paper 005, Paper 006, Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Infrastructure Threshold
|
||||
- Introduced in: Paper 007
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Knowledge Unification
|
||||
- Introduced in: Paper 008
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Premature Dependency Hibernation
|
||||
- Introduced in: Paper 007
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 007
|
||||
- Current standing: active in latest mention (Paper 007).
|
||||
|
||||
## Ship Of Theseus Identity Problem
|
||||
- Introduced in: Paper 008
|
||||
- Challenged in: none detected
|
||||
- Revised in: none detected
|
||||
- Referenced in: Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
|
||||
## Vibe Coding As Social Skill
|
||||
- Introduced in: Paper 001
|
||||
- Challenged in: Paper 003, Paper 004, Paper 006
|
||||
- Revised in: Paper 001, Paper 004, Paper 007
|
||||
- Referenced in: Paper 001, Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008
|
||||
- Current standing: active in latest mention (Paper 008).
|
||||
@@ -0,0 +1,70 @@
|
||||
# Dangling Threads
|
||||
|
||||
- Raised in **Paper 001**: **Is the technical foundation truly replaceable?** Can someone develop equivalent evaluation judgment purely through extended AI collaboration, or is there an irreducible minimum of direct experience needed? Seth's experience suggests the foundation helps enormously, but the minimum hasn't been established.
|
||||
Partially addressed in later papers: Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 001**: **How do mental models transfer across AI generations?** When a model is significantly updated, how much of the vibe coder's accumulated relational knowledge still applies? Is there an equivalent of "re-learning a friend after a major life change"?
|
||||
Partially addressed in later papers: Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 001**: **Can the social skill be measured?** If we're claiming vibe coding is a social skill, we should be able to measure it independently of output quality. What would a "vibe coding social skill assessment" look like?
|
||||
Partially addressed in later papers: Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 001**: **What's the ceiling without technical foundation?** The social skill framework suggests technical expertise is an amplifier, not a requirement. But is there a ceiling for vibe coders without technical foundations? And is that ceiling rising as AI output quality improves?
|
||||
Partially addressed in later papers: Paper 002, Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 002**: **Is the agricultural parallel predictive or just illustrative?** Do civilizational phase transitions follow common patterns, or is each one unique enough that historical parallels mislead more than they inform?
|
||||
Partially addressed in later papers: Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 002**: **What's the timeline?** The agricultural transition took millennia. The industrial transition took centuries. If this one takes years to decades, do human institutions adapt fast enough to manage it?
|
||||
Partially addressed in later papers: Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 002**: **Can cognitive atrophy be prevented without sacrificing the surplus?** Agriculture didn't manage this — foraging skills were simply lost. Is there a way to maintain independent cognitive skills while still benefiting from AI augmentation? Or is atrophy the unavoidable price of surplus?
|
||||
Partially addressed in later papers: Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 002**: **Who decides?** The surplus will be controlled by someone. Current trajectories suggest large AI companies, but open-source movements, government regulation, and individual skill development all push against concentration. Which forces will dominate?
|
||||
Partially addressed in later papers: Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 002**: **What's the role of speed?** If the most powerful actors are those who move fastest with AI, does this create a systemic bias toward action over reflection? And if so, is that bias self-correcting (fast actors make visible mistakes) or self-reinforcing (fast actors capture resources that fund even faster action)?
|
||||
Partially addressed in later papers: Paper 003, Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 003**: **Is unfalsifiability actually fatal?** Many useful frameworks in social science and philosophy are technically unfalsifiable. Does the value of a framework depend on falsifiability, or on explanatory and predictive utility? If the social-skill framing helps people become better vibe coders, does it matter whether it can be disproven?
|
||||
Partially addressed in later papers: Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 003**: **Can cognitive atrophy be measured?** This is the key empirical question underlying Paper 002's risk analysis. Without measurement, the argument remains plausible speculation. With measurement, it becomes actionable.
|
||||
Partially addressed in later papers: Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 003**: **Is the automation spiral a timeline question or a structural question?** Maybe humans are always in the loop but the loop gets thinner. Maybe the loop closes entirely. The difference between these outcomes might be decades — or might already be determined by architectural choices being made now.
|
||||
Partially addressed in later papers: Paper 004, Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 004**: **Is the meta-skill real and measurable?** Can we design an experiment that tests whether experience with one AI system accelerates learning with a different one, beyond what technical knowledge alone would predict?
|
||||
Partially addressed in later papers: Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 004**: **What's the ceiling without technical foundation?** The framework says technical knowledge is an amplifier, not a requirement. But is there a ceiling? And is it rising as AI output quality improves?
|
||||
Partially addressed in later papers: Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 004**: **Is this framework actually useful?** The strongest test of a framework isn't whether it's true but whether it changes what people do. Does thinking about vibe coding through a social-cognitive lens lead to better education, better hiring, or better tools than thinking about it through a technical lens?
|
||||
Partially addressed in later papers: Paper 005, Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 005**: **Is the agricultural parallel predictive or just illustrative?** This revision suggests: illustrative for surplus distribution, not predictive for the production dynamics. Is that distinction sustainable?
|
||||
Partially addressed in later papers: Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 005**: **When does the AI Y2K moment arrive?** The first major infrastructure failure caused by AI dependency will reshape the conversation. Can we predict what sector it will hit first?
|
||||
Partially addressed in later papers: Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 005**: **Can cognitive preference shift be reversed?** If someone spends years preferring AI for cognitive tasks, can they regain full independent capability with practice? Or is there a point of no return? This is an empirical question that matters enormously for the atrophy/dependency argument.
|
||||
Partially addressed in later papers: Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 005**: **Is the automation spiral bounded?** Does human involvement in cognitive production asymptotically approach zero, or does it plateau? If it plateaus, at what level? The answer determines whether Futures 1-3 are the real options (human involvement persists) or Future 4 dominates (it doesn't).
|
||||
Partially addressed in later papers: Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 005**: **Is the cognition-as-commodity framing actionable for individuals?** If cognition is getting cheap, what should individual cognitive workers *do*? Move upmarket to tasks AI can't do? Specialize in AI orchestration? Prepare for a post-cognitive-work economy? The answer depends on which future we're heading toward, and we don't know yet.
|
||||
Partially addressed in later papers: Paper 006, Paper 007, Paper 008.
|
||||
- Raised in **Paper 006**: **Is there a stable equilibrium?** Does the feedback loop stabilize at some level of human involvement, or does it drive toward zero? If it stabilizes, what determines the equilibrium point?
|
||||
Partially addressed in later papers: Paper 007, Paper 008.
|
||||
- Raised in **Paper 006**: **What does the economy look like when cognition is cheap?** Not "what jobs exist" but "what is the basis for economic exchange when the primary input to information production costs nearly nothing?"
|
||||
Partially addressed in later papers: Paper 007, Paper 008.
|
||||
- Raised in **Paper 006**: **Can the niche construction framing generate predictions?** If vibe coders are modifying their own selection pressures, can we predict which traits will be selected for next? What does the "next generation" of AI collaborator look like?
|
||||
Partially addressed in later papers: Paper 007, Paper 008.
|
||||
- Raised in **Paper 006**: **Is the recursion observation meaningful or just pattern-matching?** The cosmological → linguistic → computational recursion is aesthetically appealing. Is it structurally real, or is it the human tendency to see patterns where there's only coincidence?
|
||||
Partially addressed in later papers: Paper 007, Paper 008.
|
||||
- Raised in **Paper 006**: **What should individuals do?** All the analysis in this series is structural and civilizational. But Seth's questions are personal: what should *I* do? Paper 007 should attempt a practical answer, not just a theoretical framework.
|
||||
Partially addressed in later papers: Paper 007, Paper 008.
|
||||
- Raised in **Paper 007**: **Where exactly is the infrastructure threshold for AI?** Which AI applications have already crossed into infrastructure, and which are still in the application phase? Can we identify the threshold conditions?
|
||||
Partially addressed in later papers: Paper 008.
|
||||
- Raised in **Paper 007**: **Is the biological ratchet argument falsifiable?** Can we find examples of neural adaptation to tool use that were successfully reversed at scale? What would that look like?
|
||||
Partially addressed in later papers: Paper 008.
|
||||
- Raised in **Paper 007**: **Does the ratchet have a direction?** This paper describes the mechanism. Paper 008 asks whether the mechanism is pointed somewhere — toward unification of knowledge, toward a singularity, toward something else. The ratchet turns, but does it turn *toward* something?
|
||||
Partially addressed in later papers: Paper 008.
|
||||
- Raised in **Paper 007**: **What does the allegorical tradition tell us about human self-awareness of the ratchet?** We've been warning ourselves for millennia. The warnings are accurate. We ignore them. Is the warning-and-ignoring cycle itself part of the ratchet?
|
||||
Partially addressed in later papers: Paper 008.
|
||||
- Raised in **Paper 008**: **Is the unification thesis falsifiable?** How would we know if AI was *not* unifying human knowledge but doing something else — fragmenting it, distorting it, replacing it with something non-human? What evidence would distinguish unification from replacement?
|
||||
Partially addressed in later papers: none detected.
|
||||
- Raised in **Paper 008**: **Does the identity question have a practical answer?** The three philosophical traditions offer frameworks but not decisions. Is there a way to navigate the transformation that preserves what matters without being left behind?
|
||||
Partially addressed in later papers: none detected.
|
||||
- Raised in **Paper 008**: **What should individuals actually do?** Papers 004 and 006 raised this. Paper 008 provides context (the transformation is structural, biological, and probably irreversible) but not guidance. The series needs to attempt practical answers, even uncertain ones.
|
||||
Partially addressed in later papers: none detected.
|
||||
- Raised in **Paper 008**: **Is the "cheating" frame useful or just rhetorical?** If every dependency is "cheating," does the concept lose meaning? Or does it point to something real about the human relationship to its own tools?
|
||||
Partially addressed in later papers: none detected.
|
||||
- Raised in **Paper 008**: **What's the timeline?** The series has been deliberately vague about timescales. At some point it needs to attempt concrete predictions, even with enormous uncertainty bands. When does the infrastructure threshold get crossed? When does the unification become functionally complete? When does the identity question stop being philosophical and start being practical?
|
||||
Partially addressed in later papers: none detected.
|
||||
@@ -0,0 +1,524 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"id": "001",
|
||||
"title": "Vibe Coding as Social Skill",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"vibe coding as social skill"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "002",
|
||||
"title": "The Cognitive Surplus",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"cognitive surplus",
|
||||
"dependency trap"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "003",
|
||||
"title": "Stress-Testing the Foundations \u2014 A Rebuttal to Papers 001 and 002",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"automation spiral"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "004",
|
||||
"title": "Vibe Coding as Social Skill (Revised)",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "005",
|
||||
"title": "The Cognitive Surplus (Revised)",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"cognitive preference shift"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "006",
|
||||
"title": "The Feedback Loop \u2014 Are Vibe Coders Coding Themselves Out of Existence?",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"feedback loop"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "007",
|
||||
"title": "The Ratchet \u2014 Why Dependencies Don't Reverse",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"biological ratchet",
|
||||
"dependency chain",
|
||||
"infrastructure threshold",
|
||||
"premature dependency hibernation"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "008",
|
||||
"title": "The Ship of Theseus \u2014 Identity, Unification, and the End of Fragmentation",
|
||||
"kind": "paper",
|
||||
"concepts_introduced": [
|
||||
"cheating frame",
|
||||
"knowledge unification",
|
||||
"ship of theseus identity problem"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "A:eves-apple",
|
||||
"title": "Eve's Apple \u2014 The Tree of Knowledge",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:faust",
|
||||
"title": "Faust \u2014 The Bargain That Costs Your Soul",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:icarus",
|
||||
"title": "Icarus \u2014 Flying Too Close to the Sun",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:pandoras-box",
|
||||
"title": "Pandora's Box \u2014 Unleashing What Cannot Be Contained",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:prometheus",
|
||||
"title": "Prometheus \u2014 Stealing Fire from the Gods",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:sorcerers-apprentice",
|
||||
"title": "The Sorcerer's Apprentice \u2014 Automation Beyond Control",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:the-golem",
|
||||
"title": "The Golem \u2014 The Servant Without Agency",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
},
|
||||
{
|
||||
"id": "A:tower-of-babel",
|
||||
"title": "The Tower of Babel \u2014 Collective Ambition and Fragmentation",
|
||||
"kind": "allegory",
|
||||
"concepts_introduced": []
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"source": "001",
|
||||
"target": "002",
|
||||
"type": "extends",
|
||||
"context": "Paper 002 (\"The Cognitive Surplus\") extends this analysis to civilizational implications \u2014 what happens when this social skill becomes a primary differentiator in economic productivity."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "003",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 003."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "004",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 004."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "005",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 005."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "006",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 006."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "007",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 007."
|
||||
},
|
||||
{
|
||||
"source": "001",
|
||||
"target": "008",
|
||||
"type": "introduces concept used by",
|
||||
"context": "vibe coding as social skill appears first in 001 and recurs in 008."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "001",
|
||||
"type": "references",
|
||||
"context": "Those with access to AI and the skill to wield it (see Paper 001) experience a productivity explosion."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "003",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 003."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "004",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 004."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "005",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 005."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "006",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 006."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "007",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 007."
|
||||
},
|
||||
{
|
||||
"source": "002",
|
||||
"target": "008",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive surplus appears first in 002 and recurs in 008."
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "001",
|
||||
"type": "refutes",
|
||||
"context": "# Paper 003: Stress-Testing the Foundations \u2014 A Rebuttal to Papers 001 and 002"
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "002",
|
||||
"type": "refutes",
|
||||
"context": "# Paper 003: Stress-Testing the Foundations \u2014 A Rebuttal to Papers 001 and 002"
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "004",
|
||||
"type": "challenges",
|
||||
"context": "The revisions in Papers 004 and 005 incorporate the criticisms that survive examination here."
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "005",
|
||||
"type": "challenges",
|
||||
"context": "The revisions in Papers 004 and 005 incorporate the criticisms that survive examination here."
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "006",
|
||||
"type": "introduces concept used by",
|
||||
"context": "automation spiral appears first in 003 and recurs in 006."
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "007",
|
||||
"type": "introduces concept used by",
|
||||
"context": "automation spiral appears first in 003 and recurs in 007."
|
||||
},
|
||||
{
|
||||
"source": "003",
|
||||
"target": "008",
|
||||
"type": "introduces concept used by",
|
||||
"context": "automation spiral appears first in 003 and recurs in 008."
|
||||
},
|
||||
{
|
||||
"source": "004",
|
||||
"target": "001",
|
||||
"type": "supersedes",
|
||||
"context": "**Authors:** Seth & Claude (Opus 4.6) **Date:** 2026-04-02 **Series:** VIBECODE-THEORY **Status:** Revision of Paper 001, incorporating critiques from Paper 003 **Supersedes:** Paper 001"
|
||||
},
|
||||
{
|
||||
"source": "004",
|
||||
"target": "002",
|
||||
"type": "references",
|
||||
"context": "**Paper 002:** The social-cognitive framework here explains *why* Paper 002's cognitive surplus won't be equally accessible even with open technology \u2014 because the skill to use it effectively is unevenly distributed and "
|
||||
},
|
||||
{
|
||||
"source": "004",
|
||||
"target": "003",
|
||||
"type": "supersedes",
|
||||
"context": "**Authors:** Seth & Claude (Opus 4.6) **Date:** 2026-04-02 **Series:** VIBECODE-THEORY **Status:** Revision of Paper 001, incorporating critiques from Paper 003 **Supersedes:** Paper 001"
|
||||
},
|
||||
{
|
||||
"source": "005",
|
||||
"target": "002",
|
||||
"type": "supersedes",
|
||||
"context": "**Authors:** Seth & Claude (Opus 4.6) **Date:** 2026-04-02 **Series:** VIBECODE-THEORY **Status:** Revision of Paper 002, incorporating critiques from Paper 003 and new analysis from session conversation **Supersedes:** "
|
||||
},
|
||||
{
|
||||
"source": "005",
|
||||
"target": "003",
|
||||
"type": "supersedes",
|
||||
"context": "**Authors:** Seth & Claude (Opus 4.6) **Date:** 2026-04-02 **Series:** VIBECODE-THEORY **Status:** Revision of Paper 002, incorporating critiques from Paper 003 and new analysis from session conversation **Supersedes:** "
|
||||
},
|
||||
{
|
||||
"source": "005",
|
||||
"target": "004",
|
||||
"type": "references",
|
||||
"context": "The implications: - Control of AI = control of the means of cognitive production - Access to AI = access to cheap cognition = access to information advantage - Skill with AI (Paper 004's framework) = efficiency of cognit"
|
||||
},
|
||||
{
|
||||
"source": "005",
|
||||
"target": "007",
|
||||
"type": "introduces concept used by",
|
||||
"context": "cognitive preference shift appears first in 005 and recurs in 007."
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "001",
|
||||
"type": "challenges",
|
||||
"context": "**Paper 001/004 (Vibe Coding as Social Skill):** This paper directly challenges the durability of the skill described there."
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "002",
|
||||
"type": "extends",
|
||||
"context": "**Paper 002/005 (The Cognitive Surplus):** This paper extends Paper 005's \"fourth future\" (the Automation Spiral) with the mechanism that drives it: the feedback loop where human AI collaboration directly accelerates AI'"
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "003",
|
||||
"type": "refutes",
|
||||
"context": "**Paper 003 (Rebuttal):** This paper picks up where Paper 003's critique of the agricultural analogy ended."
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "004",
|
||||
"type": "challenges",
|
||||
"context": "**Paper 001/004 (Vibe Coding as Social Skill):** This paper directly challenges the durability of the skill described there."
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "005",
|
||||
"type": "extends",
|
||||
"context": "**Paper 002/005 (The Cognitive Surplus):** This paper extends Paper 005's \"fourth future\" (the Automation Spiral) with the mechanism that drives it: the feedback loop where human AI collaboration directly accelerates AI'"
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "007",
|
||||
"type": "introduces concept used by",
|
||||
"context": "feedback loop appears first in 006 and recurs in 007."
|
||||
},
|
||||
{
|
||||
"source": "006",
|
||||
"target": "008",
|
||||
"type": "introduces concept used by",
|
||||
"context": "feedback loop appears first in 006 and recurs in 008."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "001",
|
||||
"type": "references",
|
||||
"context": "Papers 001 through 006 assert a chain of dependencies \u2014 fire \u2192 language \u2192 writing \u2192 printing \u2192 internet \u2192 AI \u2014 that has built upward over the course of human history."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "002",
|
||||
"type": "references",
|
||||
"context": "**Paper 002/005 (The Cognitive Surplus):** This paper grounds the cognitive preference shift in neuroscience \u2014 it's not just a preference, it's physical neural adaptation."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "003",
|
||||
"type": "refutes",
|
||||
"context": "**Paper 003 (Rebuttal):** Paper 003 warned about unfalsifiability."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "004",
|
||||
"type": "revises",
|
||||
"context": "**Paper 004 (Vibe Coding Revised):** The infrastructure/application threshold extends Paper 004's shelf-life argument."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "005",
|
||||
"type": "references",
|
||||
"context": "atrophy\" distinction from Paper 005 matters."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "006",
|
||||
"type": "references",
|
||||
"context": "Papers 001 through 006 assert a chain of dependencies \u2014 fire \u2192 language \u2192 writing \u2192 printing \u2192 internet \u2192 AI \u2014 that has built upward over the course of human history."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "008",
|
||||
"type": "introduces concept used by",
|
||||
"context": "biological ratchet appears first in 007 and recurs in 008."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "A:faust",
|
||||
"type": "extends",
|
||||
"context": "Paper 007 explicitly maps the Faust allegory into the ratchet framework."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "A:icarus",
|
||||
"type": "extends",
|
||||
"context": "Paper 007 explicitly maps the Icarus allegory into the ratchet framework."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "A:prometheus",
|
||||
"type": "extends",
|
||||
"context": "Paper 007 explicitly maps the Prometheus allegory into the ratchet framework."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "A:the-golem",
|
||||
"type": "extends",
|
||||
"context": "Paper 007 explicitly maps the The Golem allegory into the ratchet framework."
|
||||
},
|
||||
{
|
||||
"source": "007",
|
||||
"target": "A:tower-of-babel",
|
||||
"type": "extends",
|
||||
"context": "Paper 007 explicitly maps the Tower Of Babel allegory into the ratchet framework."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "001",
|
||||
"type": "references",
|
||||
"context": "Vibe coding is a real skill with a real but limited shelf life (Papers 001/004) 2."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "002",
|
||||
"type": "references",
|
||||
"context": "The cognitive surplus from AI follows the pattern of every previous force multiplier, with an unprecedented feedback loop (Papers 002/005) 3."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "003",
|
||||
"type": "refutes",
|
||||
"context": "**Paper 003 (Rebuttal):** Paper 003 asked whether the agricultural analogy was being stretched beyond its usefulness."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "004",
|
||||
"type": "references",
|
||||
"context": "Vibe coding is a real skill with a real but limited shelf life (Papers 001/004) 2."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "005",
|
||||
"type": "references",
|
||||
"context": "The cognitive surplus from AI follows the pattern of every previous force multiplier, with an unprecedented feedback loop (Papers 002/005) 3."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "006",
|
||||
"type": "references",
|
||||
"context": "These questions were raised in Paper 006 and remain unanswered."
|
||||
},
|
||||
{
|
||||
"source": "008",
|
||||
"target": "007",
|
||||
"type": "extends",
|
||||
"context": "**Paper 007 (The Ratchet):** This paper extends 007's ratchet mechanism with a direction."
|
||||
},
|
||||
{
|
||||
"source": "A:eves-apple",
|
||||
"target": "005",
|
||||
"type": "addresses",
|
||||
"context": "Eve's Apple maps most directly to the **cognitive preference shift** described in Paper 005."
|
||||
},
|
||||
{
|
||||
"source": "A:faust",
|
||||
"target": "004",
|
||||
"type": "addresses",
|
||||
"context": "Paper 004's meta-skill argument is Goethean: the ability to adapt, model, and engage with novel cognitive systems may be valuable *even if* the specific skill of vibe coding is transitional."
|
||||
},
|
||||
{
|
||||
"source": "A:faust",
|
||||
"target": "005",
|
||||
"type": "addresses",
|
||||
"context": "The cognitive surplus from Paper 005 is Faust's unlimited knowledge \u2014 real power, immediately available."
|
||||
},
|
||||
{
|
||||
"source": "A:faust",
|
||||
"target": "006",
|
||||
"type": "addresses",
|
||||
"context": "Faust maps directly to Paper 006's **\"uncomfortable middle\"**: the optimal short-term strategy (collaborate deeply with AI, maximize productivity) is the same strategy that accelerates the long-term threat (training AI t"
|
||||
},
|
||||
{
|
||||
"source": "A:icarus",
|
||||
"target": "004",
|
||||
"type": "addresses",
|
||||
"context": "**The Daedalus-Icarus split maps to the expert-novice divide in vibe coding.** Paper 004 argues that vibe coding skill has a shelf life and that the durable version is the meta-skill of rapidly modeling cognitive systems"
|
||||
},
|
||||
{
|
||||
"source": "A:pandoras-box",
|
||||
"target": "004",
|
||||
"type": "addresses",
|
||||
"context": "Hope, in the context of AI dependency, might be the meta-skill argument from Paper 004 \u2014 the possibility that human adaptability persists even after the specific skills are automated."
|
||||
},
|
||||
{
|
||||
"source": "A:pandoras-box",
|
||||
"target": "005",
|
||||
"type": "addresses",
|
||||
"context": "Paper 005's four futures range from utopian to dystopian, but all of them assume the box is open."
|
||||
},
|
||||
{
|
||||
"source": "A:pandoras-box",
|
||||
"target": "006",
|
||||
"type": "addresses",
|
||||
"context": "Pandora's Box maps to the **\"can we stop it?\"** question from Paper 006."
|
||||
},
|
||||
{
|
||||
"source": "A:prometheus",
|
||||
"target": "006",
|
||||
"type": "addresses",
|
||||
"context": "The allegory maps to Paper 006's theological thread: \"God made man in his image, just as man made artificial cognition in his format.\" The Promethean frame adds a layer \u2014 it's not just creation in one's image, it's the *"
|
||||
},
|
||||
{
|
||||
"source": "A:sorcerers-apprentice",
|
||||
"target": "005",
|
||||
"type": "addresses",
|
||||
"context": "The allegory maps to Paper 005's **Automation Spiral** (the fourth future): humans use AI \u2192 AI improves \u2192 AI needs less human input \u2192 repeat."
|
||||
},
|
||||
{
|
||||
"source": "A:sorcerers-apprentice",
|
||||
"target": "006",
|
||||
"type": "addresses",
|
||||
"context": "Paper 006's master-apprentice analysis resonates here too."
|
||||
},
|
||||
{
|
||||
"source": "A:the-golem",
|
||||
"target": "006",
|
||||
"type": "addresses",
|
||||
"context": "The Golem maps most directly to Paper 006's observation about the master-apprentice dynamic: **\"The apprentice doesn't know it's an apprentice.\"**"
|
||||
},
|
||||
{
|
||||
"source": "A:tower-of-babel",
|
||||
"target": "004",
|
||||
"type": "addresses",
|
||||
"context": "This is Paper 004's observation in Babel terms: vibe coding skill is a *dialect* that divides as much as it enables."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
graph TD
|
||||
001["001: Vibe Coding as Social Skill"]
|
||||
002["002: The Cognitive Surplus"]
|
||||
003["003: Stress-Testing the Foundations — A Rebuttal to Papers 001 and 002"]
|
||||
004["004: Vibe Coding as Social Skill (Revised)"]
|
||||
005["005: The Cognitive Surplus (Revised)"]
|
||||
006["006: The Feedback Loop — Are Vibe Coders Coding Themselves Out of Existence?"]
|
||||
007["007: The Ratchet — Why Dependencies Don't Reverse"]
|
||||
008["008: The Ship of Theseus — Identity, Unification, and the End of Fragmentation"]
|
||||
A_eves_apple["A:eves-apple: Eve's Apple — The Tree of Knowledge"]
|
||||
A_faust["A:faust: Faust — The Bargain That Costs Your Soul"]
|
||||
A_icarus["A:icarus: Icarus — Flying Too Close to the Sun"]
|
||||
A_pandoras_box["A:pandoras-box: Pandora's Box — Unleashing What Cannot Be Contained"]
|
||||
A_prometheus["A:prometheus: Prometheus — Stealing Fire from the Gods"]
|
||||
A_sorcerers_apprentice["A:sorcerers-apprentice: The Sorcerer's Apprentice — Automation Beyond Control"]
|
||||
A_the_golem["A:the-golem: The Golem — The Servant Without Agency"]
|
||||
A_tower_of_babel["A:tower-of-babel: The Tower of Babel — Collective Ambition and Fragmentation"]
|
||||
001 -->|extends| 002
|
||||
001 -->|introduces concept used by| 003
|
||||
001 -->|introduces concept used by| 004
|
||||
001 -->|introduces concept used by| 005
|
||||
001 -->|introduces concept used by| 006
|
||||
001 -->|introduces concept used by| 007
|
||||
001 -->|introduces concept used by| 008
|
||||
002 -->|references| 001
|
||||
002 -->|introduces concept used by| 003
|
||||
002 -->|introduces concept used by| 004
|
||||
002 -->|introduces concept used by| 005
|
||||
002 -->|introduces concept used by| 006
|
||||
002 -->|introduces concept used by| 007
|
||||
002 -->|introduces concept used by| 008
|
||||
003 -->|refutes| 001
|
||||
003 -->|refutes| 002
|
||||
003 -->|challenges| 004
|
||||
003 -->|challenges| 005
|
||||
003 -->|introduces concept used by| 006
|
||||
003 -->|introduces concept used by| 007
|
||||
003 -->|introduces concept used by| 008
|
||||
004 -->|supersedes| 001
|
||||
004 -->|references| 002
|
||||
004 -->|supersedes| 003
|
||||
005 -->|supersedes| 002
|
||||
005 -->|supersedes| 003
|
||||
005 -->|references| 004
|
||||
005 -->|introduces concept used by| 007
|
||||
006 -->|challenges| 001
|
||||
006 -->|extends| 002
|
||||
006 -->|refutes| 003
|
||||
006 -->|challenges| 004
|
||||
006 -->|extends| 005
|
||||
006 -->|introduces concept used by| 007
|
||||
006 -->|introduces concept used by| 008
|
||||
007 -->|references| 001
|
||||
007 -->|references| 002
|
||||
007 -->|refutes| 003
|
||||
007 -->|revises| 004
|
||||
007 -->|references| 005
|
||||
007 -->|references| 006
|
||||
007 -->|introduces concept used by| 008
|
||||
007 -->|extends| A_faust
|
||||
007 -->|extends| A_icarus
|
||||
007 -->|extends| A_prometheus
|
||||
007 -->|extends| A_the_golem
|
||||
007 -->|extends| A_tower_of_babel
|
||||
008 -->|references| 001
|
||||
008 -->|references| 002
|
||||
008 -->|refutes| 003
|
||||
008 -->|references| 004
|
||||
008 -->|references| 005
|
||||
008 -->|references| 006
|
||||
008 -->|extends| 007
|
||||
A_eves_apple -->|addresses| 005
|
||||
A_faust -->|addresses| 004
|
||||
A_faust -->|addresses| 005
|
||||
A_faust -->|addresses| 006
|
||||
A_icarus -->|addresses| 004
|
||||
A_pandoras_box -->|addresses| 004
|
||||
A_pandoras_box -->|addresses| 005
|
||||
A_pandoras_box -->|addresses| 006
|
||||
A_prometheus -->|addresses| 006
|
||||
A_sorcerers_apprentice -->|addresses| 005
|
||||
A_sorcerers_apprentice -->|addresses| 006
|
||||
A_the_golem -->|addresses| 006
|
||||
A_tower_of_babel -->|addresses| 004
|
||||
Reference in New Issue
Block a user