← Context/ blueprints
Augment-It as Working App and Architecture Demonstration
Augment-it is a working product and a live architecture showcase at once; every decision answers to both lenses so neither quietly wins.
Why Care?
Augment-it has two identities and they are not in tension by accident — the tension is load-bearing. It is a working product (a CRM augmentation pipeline that real clients run against real corpora) and it is a live architecture demonstration (the artifact we point at when we tell a client how we think systems should be built in the agentic era).
Most demo projects fail by being only the second thing: architecturally pure, commercially inert, nobody's actual data in them. Augment-it avoided that trap completely. It failed the other way — the product identity won so thoroughly that the demonstration identity went under-served for a stretch, which is exactly what The Gap Between What We Preach And What We Practiced counts in detail.
This blueprint states the doctrine augment-it exists to demonstrate, so that "does this serve the demonstration?" becomes a question a decision can actually be held against, rather than a sentiment.
The doctrine, in three parts
These are the three recommendations we make to clients building software in the agentic era. They are ordered by leverage, not by sequence.
1. Context over Code
The claim. Code is regenerable and massively iterable given proper context. Therefore code is the derivative asset and context is the durable one. A team that loses its code but keeps its context reconstitutes in days; a team that keeps its code but loses its context owns a liability it cannot safely change.
This inverts the instinct every engineering organization was built on. It is the single hardest thing to sell and the one with the largest payoff, because it reprices where senior time should go: writing the spec, not reviewing the diff.
1a. Spec-Driven Development on steroids — Context Vigilance. Not "we write design docs." A living, versioned, cross-linked corpus that an agent reads before it writes, organized into folders with declared roles (specs, plans, blueprints, explorations, loops, issues, reminders), carrying frontmatter that makes it queryable, and treated as the primary work product. See Spec Kit and Context V Coexistence for how the formal spec-kit discipline and the looser context-v corpus coexist here without one colonizing the other.
1b. Visual Engineering, Visual Leadership. Prose is a lossy encoding of a graph. A codebase is a graph — of imports, calls, mounts, and data flow — and extracting it is cheap (AST parsing, no LLM, no tokens). Leading visually means the structural picture is an instrument you re-read, not a diagram you drew once. The distinction between a snapshot and an instrument is the whole of 1b; see Graphify As Standing Practice And Per Component Diagrams.
2. Extreme Monorepo Architecture
The claim. Pseudomonorepos + microservices + microfrontends. Decompose harder than feels justified, and give each unit its own repository boundary.
The honest cost, stated first. This adds significant overhead. More repos, more CI, more version coordination, more places to look. Anyone who pitches this without leading with the overhead is not being straight.
What buys the overhead. Agentic engineering is bewilderingly fast. Fast enough that the constraint stops being how quickly can we write it and becomes how quickly can we be confident it's right — merge, PR, tests, the path from dev to production. Quality control is the bottleneck, and every bottleneck wants to be parallelized. Independent units give you independent review surfaces, independent test suites, independent deploys, independent blast radii.
And the failure mode this prevents is specific: teams and agents write over each other with alarming ease when boundaries are soft. Two agents working simultaneously in one repo on one branch is not a merge problem, it is a correctness problem. Hard boundaries make concurrent work safe rather than merely coordinated.
Where augment-it stands. Architecturally: done. Twenty federated
microfrontends, twelve microservices, seven shared packages, wired through
Module Federation over Rsbuild (see
Module Federation Rsbuild Dev Loop Gotchas). Repository-wise: not done —
all forty units share one repo, one branch, one PR queue. This was a deliberate
deferral at v4.0.0.1, and the bill arrived on schedule. The twelve-day silent
frontend outage traced to one missing COPY line is the canonical instance: no
individual frontend owned a build surface that could have gone red on its own.
We are naming this lesson rather than executing the split now — a forty-unit relocation inside this tree triggers the anchor monorepo's three-precondition HARD STOP, and that is not a same-week operation.
3. API-First, Documentation-First, DesignSystem-First, Changelog-First
The claim. The four "firsts" are not system-level virtues. They are per-unit contracts, and a unit without them is not a component — it is a folder.
API-First — the unit's interface is specified before its implementation, and the specification is machine-readable. Callers bind to the contract, not to the handler.
Documentation-First — the unit explains itself from its own point of view. Not "the system spec mentions this service," but "this service tells you what it is."
DesignSystem-First — the unit declares its relationship to the federal design contract, including its deviations. A declared deviation is a known exception; an undeclared one is a bug nobody can distinguish from intent.
Changelog-First — the unit has its own history. "What changed in this service" is answerable without reading the whole system's log.
Where augment-it stands. All four practiced at the system level, all four at
zero or near-zero per component: 14 of 40 units have a README, and 0 of 40 have
a DESIGN.md, a changelog/, a context-v/, or an API contract. The
remediation is Component Level Documentation Contracts.
How the three compose
They are not a list. They are a dependency chain, and the order matters for anyone trying to adopt them.
#2 multiplies the surface that #3 has to cover. Decomposing into forty units creates forty places a contract must live. Take on #2 without #3 and you have bought all of the overhead and none of the legibility.
#3 is what makes #1 hold at scale. Context vigilance at the system level gets you 196 excellent documents about a system. It does not get an agent opening one folder the intent behind that folder. Per-unit contracts are how "context over code" survives contact with forty units.
#1 is what makes #2 affordable. The overhead of extreme decomposition is paid in coordination, and coordination is exactly what a strong context corpus does cheaply. Without it, forty repos is forty silos.
So the anti-pattern — the one augment-it walked into and the one most worth warning a client about — is adopting #2 first, alone. Decomposition is the visible, architecturally exciting move. It is also the one that makes everything worse if the other two don't come with it.
What the dual identity means operationally
Every significant decision here answers to both lenses:
| Lens | The question it asks |
| Working app | Does this make the pipeline better for the operator running it today? |
| Architecture demo | Does this make the way we build legible to someone evaluating it? |
Neither lens gets to veto silently. A decision that serves only the product identity is fine — most do — but a pattern of them is how the demonstration half erodes, which is precisely what happened. A decision that serves only the demonstration identity is suspect and needs the product case made explicitly.
The features born specifically from the demo lens are worth naming, because they would not exist otherwise: API First In App Documentation (each surface reveals its own docs, inline, at runtime) and the Design System Portal. Both are the architecture identity asking for something the product identity would never have requested.
Related
The Gap Between What We Preach And What We Practiced — the counted audit of augment-it against this doctrine
Component Level Documentation Contracts — remediation for #3
Graphify As Standing Practice And Per Component Diagrams — remediation for #1b
Endow A Component With Its Own Contracts — the repeatable executor for #3
Shell and Micro Frontend UX Coherence — where this dual-identity framing was first named (§ Project context)
API First In App Documentation — the first concrete feature motivated by the architecture-demo identity
Augment It as CRM Augmentation Pipeline — the working-app identity, top-level vision
Spec Kit and Context V Coexistence — how 1a is wired here
Packs and Bundles Pattern — pattern blueprint this framing informs
Module Federation Rsbuild Dev Loop Gotchas — the federation mechanics the architecture-demo identity makes legible