design: complete — software: not built.

Thoughtbuilder

Agent reasoning as a versioned build log

Positioning and a minimal landing surface for a product that is still early: clear claims, no fake shipped status.

Long-form reasoning loses structure when ideas, evidence, and revisions stay trapped in one chat thread.

“Propose never changes projections. Accept must come from a different identity than the proposer.”

Long-form reasoning loses structure when ideas, evidence, and revisions stay trapped in one chat thread. Thoughtbuilder treats curated agent reasoning as a versioned artifact rather than a disposable chat log. I designed it as three tiers: an immutable source tier of chat history and git, an append-only event log with five verbs (propose, accept, revert, compact, supersede), and a projection tier of trunks, briefings, and file views. The load-bearing rule: propose never changes projections and accept must come from a different identity than the proposer. Four ADRs and a locked taxonomy were fixed before any product loop shipped. What runs today is Terraform-managed Cloudflare infrastructure and bash scripts deploying the landing page; the curator, CLI, and event log are not the marketed surface yet. Honesty on status matters more than sounding shipped. Adjacent habits show up in Briefs and Modular Orchestration System.

event verbs
  1. 01propose
  2. 02accept
  3. 03revert
  4. 04compact
  5. 05supersede

Two diagrams describe the designed (not yet implemented) system: a three-tier data flow from immutable source to derived projections, and the propose-to-accept sequence that gates every change to those projections.

fig. 01 — Three-tier architecture
1Source tierChat history and the codebase, immutable and only ever referenced
2Event tierA single append-only log; a curator may only propose into it
3Projection tierTrunks, per-scope briefings, file views, and a tree export, all recomputed from source plus log plus scope
Source stays immutable, the event log is the only canonical write path, and everything in the projection tier is recomputed from source plus log plus scope.
fig. 02 — Propose-to-accept curation flow
1Curator proposesAppends a propose event with scope and source referencesPropose alone never changes projections
2Policy evaluatesgateAccept policy checks the proposal against scope rules
3User acceptsA separate identity appends the accept eventProposer and executor must differ
4Projections regenerateTrunk and briefing views replay from accepted events
5Revert (optional)Removes an accepted event from future replay
Propose never changes projections; only a separate identity's accept does, replaying accepted events back into trunks and briefings.
adrs:
4 — one reverses an earlier plan to treat per-file chat exports as canonical
design patterns:
12, named, locked before code
taxonomy:
locked
event verbs:
5
status:
Design study; curator, CLI, and event log not built
Source tier:
Chat history and the codebase are referenced, never mutated.
Event tier:
One append-only log records propose, accept, revert, compact, and supersede events.
Projection tier:
Trunks, briefings, file views, and a tree export are all recomputed from source plus log plus scope, never edited directly.
Trust boundary:
A curator may only propose; accepting requires a separate identity, enforced as policy rather than convention.

shipped

What runs today is Terraform-managed Cloudflare infrastructure and about a dozen bash scripts deploying the project's landing page.

not yet

the curator, CLI, and event log remain unbuilt.

AgenticPropose never changes projections; accept must come from a different identity than the proposer.
Agent orchestrationFive event verbs (propose, accept, revert, compact, supersede) are the intended loop.
TerraformWhat runs today includes Terraform-managed Cloudflare infra for the landing page.
Cloud automationThoughtbuilder codifies cloud operations so provisioning and remediation stay repeatable.
CI/CDBash deploy scripts ship the thin landing surface; product loop is not claimed as shipped.
StandardsThoughtbuilder leans on shared formats so tools interoperate without reinventing contracts.
SchemasProjections are designed to recompute from source plus log plus scope.
CLIA CLI is part of the designed surface; it is not the marketed shipped product yet.
Event sourcingAppend-only event log with five verbs is the designed source of truth for projections.
BashAbout a dozen bash scripts deploy the landing page on the current thin surface.
CloudflareThoughtbuilder ships on Cloudflare’s edge/platform surface under strict public constraints.

Portfolio graph

Hover nodes · click empty canvas to zoom/pan

Maps how the work here connects. Open the Portfolio graph →

  • Professional
  • Personal
  • Skill
  • Writing