← Streetlight back to all nodes
node · 2026-06-28 meta history documentation decision

The History of the Node

What a node STARTED as, what it BECAME, and what it SHOULD BE now — an era timeline read off the 1163-entry was/became/now corpus. One object, seven weeks, eight jobs handed to it — and only now handed back its real one.

Acceptance criterion

A cold reader finishes this and can name the eras the node passed through, point to specific archived slugs as evidence for each, and state in one sentence what a node was, drifted into, and should be now — falsifiable against the corpus, not a vibe.

Provenance — Synthesized by the letter-sweep on /orchestrate (fresh-context fan-out over the active + archived corpus), 2026-06-28. Grounded line-by-line in the 1163-entry was/became/now corpus (18 active · ~1145 archived); prefix counts re-verified against archive/; deprecated-lineage receipts cross-checked against the glossary.
The arc in one line
Tile Ticket Mirror Artifact Proposal Lens View

A node started as a review tile — a card holding the human's verbatim input (human.md) waiting to be acknowledged. It drifted into an artifact-factory (94 proposal-*, 59 viz-*, a catalog of 60 un-promoted candidate skills, and empty session husks made for their own sake). It should be now a thin view over the work: the work is the deliverable (running code, a decision, an answer), the node is how that work becomes legible to a human who reads every node and reusable by a future agent who greps the trail — carrying an AC, leaving its marks in place, promotable to a lens.

The eras — each with its evidence

Era 0

The node as a review TILE

~May 9–15

The system was spelled Streetlamp (the repo is still streetlampBeta). The node was a card reviewed in the Navigator (a now-dormant Obsidian plugin), described by a tile.yaml sidecar, holding raw human words in human.md, marked reviewed by an acked boolean. A thing a human acknowledged, not a thing work flowed through. Every mechanism is now dead.

Evidence (was→now): streetlight-the-node defined the node's four files (incl. feedback.md) → now "a fossil documenting an obsolete contract." what-is-streetlamp "an artifact of drift — copy renamed to streetlight but slug frozen as a legacy path." obsidian-graph-view-analysis / the-node-concept record the dead human.md. how-to-interact-with-streetlight "shows how early Streetlight imagined onboarding before conventions hardened." Glossary receipts: Streetlamp→Streetlight, Navigator→local-viewer, tile.yaml→in-file metadata, human.md→<slug>.md, acked→feedback.md + data-cls.

Era 1

The node as a BUG TICKET

early

The first thing the harness pointed the light at was itself. The node hardened into the formal bug node shape (verbatim trigger · file:line · repro/expected/actual · one-line fix-AC). The best are re-walkable diagnoses, not laments — and occasionally graduate a standing rule.

Evidence: bug-fb-peek-tooltip-ugly-empty-and-404 "the model bug node — a fresh agent could fix it without re-deriving anything"; bug-drain-blind-to-history-jsonl-comments "the exemplar bug node: diagnosis pinned to where the fix lives, not a wall of worry"; bug-ghost-edit-no-op-guard "ends in a committed test, not a hopeful claim"; agent-confused-local-server-with-cf-worker "generalizes once a misclassification repeats." 23 bug-* in all.

Era 2

The node as a MIRROR on the agent

recurring

A confessional category: nodes where the system documents its own misbehavior so a future agent greps the trail before repeating it. This is the proto-form of today's stigmergic flag-note.

Evidence (was→now): agent-stops-one-step-short WAS "a single frustrated bug comment" → NOW "the canonical name for a failure family — a reusable lens agents grep before repeating the mistake." Also agent-wrote-in-jakes-voice (one ugly incident → a durable greppable boundary), agent-states-AC-then-doesnt-meet-it (names "AC-as-decoration"), agent-reached-for-anthropic-over-pi (names "tooling-gravity beats the explicit AC"). 16 agent-* in all.

Era 3

The research EXPEDITION (the sprawl)

peak volume

The largest visible swath. Here the node is the artifact — a chart, a draft, an answer. The strongest earn their keep; but the category seeded the drift, and the corpus says so in its own NOW fields: when the node IS the artifact, you make artifacts to have artifacts.

Evidence: the good ones — farcaster-dying-or-not "a hunch converted into verifiable specifics," zuckerberg-lost-blog "logs false flags as loudly as findings," crispr-cancer-cell-shredding "a tutor pitched to one person's exact level." The thin ones already know it: 59 viz-* "the deliverable IS the rendered artifact; keep the .md a lean caption." Plus 16 blog-*, 13 lit-*, 9 diagram-*, expeditions (1861-hereford-qb-census-silas, taylor-pearson-ai-knowledge-work-stack).

Era 4

The SHELF: doctrine + the witness node

consolidation

The system built pace layers so floating thoughts and personal material stopped spawning standalone nodes. Restraint got its own type, and principles started to graduate UP into AGENTS.md.

Evidence: doctrine-nodes WAS "fold five scattered shelves into one" → BECAME "the system's living nervous system where raw complaints GRADUATE into named principles." 51 obs-* witness nodes (obs-the-greedy-module, obs-sharing-hurts) — "a node that knows its job is to witness, not solve." Principles graduate out: the-misunderstanding-smell, what-is-a-node — distilled in a node, promoted byte-for-byte into AGENTS.md, archived. The node became a seedbed, not the grown plant.

Era 5

The PROPOSAL FACTORY & the HALF-TRAIL

peak drift

Over-production. 94 proposal-* — the single largest formal category, bigger than viz — plus 14 audit-* (the same wall-of-text from the other direction). A night-shift cron minted 1–3 PROPOSED nodes a night, addressed to the human, unprompted. This is exactly the Streetlight anti-pattern AGENTS.md warns against; flag-notes-cockpit is the receipt — "an archived cautionary tale of meta-theater: vault output became a node about the vault."

Half-trails & empty husks. proposed-skills catalogued 60 candidate skills overshooting the 30-skill AC; most never crossed the promotion filter (link-everything, act-on-weak-imperatives, dont-design-future, node-doctor — each "a half-trail a future agent could mistake for gospel"). Purer still: nodes made for their own sake.

Evidence: session-2026-06-11-0144, session-2026-06-10-0035, node-graduation-ledger, chat-loop, feedback-loop-collapse — each "an unfilled template husk, no work behind it → the anti-pattern to cut; verdict is deletion." This is what "never make pre-nodes for their own sake" was written to kill.

Era 6

The LENS & the SUPER-NODE (correction begins)

consolidate

The fix wasn't more rules; it was to make the node fold and stand. Consolidate, don't multiply — then earn a pill, documentation, and persistent state. The first time the node stops being a disposable artifact and becomes infrastructure.

Evidence (was→became): tutor-widgets "four identical one-off tutor nodes" → "ONE gallery of 27 widgets" (dissolving tutor-backprop, tutor-stigmergy). loop-super-node folded 10 loop nodes into 3 lenses; glossary folded a whole vocabulary. diagrams-lens "the LENS primitive — a zero-attention-budget read-only cross-cut over the vault." Active lens-promotion-rail makes promotion explicit — but the corpus flags the debt: every lens needs a skill (a lens documented only by an archived node, like lens-doc-media, is itself a half-trail).

Era 7

NOW: the node as a VIEW over running work

2026-06-28

The deliverable moved out of the node and into running code, a decision, or a documented standing surface — and the node became the window. The deal is written down: the human reads every node; the system puts things in the right place and makes a node only as a fallback. The node has stopped being where work is stored and become where work is surfaced for review — and then cut.

Evidence: retrieval-by-tool-over-nodes "the cleanest 'tool is the work, node is the view' pattern — running code in scripts/, node holds only AC, proof, pinned decisions." screenshots-default-home / epimenides-screensaver / streetlight-shibboleth "a node can BE running software, not a description of it." Active squishy-graph "a re-checkable exporter that corrects its own false claims, leaving one real decision for the human." human-system-contract writes the deal; session-2026-06-26-autonomous warns "decisions should be stigmergic flag-notes pinned in place, not gathered into one report." skill-cutlist & lens-promotion-rail cut; letta-supernode ends on a TEAR-DOWN verdict.

The corpus, by category

Where the ~1145 archived nodes went

Prefix / theme counts re-verified across archive/ — the shape of the drift. Proposals and vizzes dwarf everything; the agent-mirror and lens categories are small but load-bearing. (Era 5's 60 un-promoted skill candidates hide inside the 42 skill-*.)

proposal-*
94
viz-*
59
obs-*
51
skill-*
42
bug-*
23
blog-*
16
agent-*
16
session-*
14
audit-*
14
lit-*
13
lens-*
12
goal-*
12
diagram-*
9
stub-*
9
What a node should be now

Not the work — the work made legible.

A node's job is to (1) hold an acceptance criterion and drive loops until it's met, (2) surface finished work to a human who reads every node, and (3) leave its marks in place — stigmergic flag-notes pinned to the block they're about, never a report addressed to Jake.

A node that is only an artifact — a proposal nobody asked for, a viz with no question behind it, an audit wall-of-text — is the Streetlight anti-pattern the system now hunts and cuts. The test for a healthy node is the inverse of Era 5:

"What's the work, and is it done?" — then let the node mirror where it landed.

Every healthy node is promotable to a lens; every unhealthy one is a candidate for the cut-list.