Skip to content
andydataguy
Wiki Corpus

Part Three: The Alpha Is a Compiler

A model subscription gives an agency access to a generator. The agency still has to decide whether a draft says something useful, whether it sounds like the person whose name will appear above it, and whether an edit quietly changed the claim. Those decisions are part of the machinery I want to own. The Content Compiler is my proposed way to make them inspectable and repeatable without giving an editor permission to rewrite everything.

AI & TECHNICAL · Deep Dive~29 min read · 6,673 words12 JUN 2026
PART 3 OF 3 . THE COMPILER TRILOGY
[ BUILD LOG / PROCESS-FLOW ]
#content-compiler #detection

The private advantage is what happens after generation

A model subscription gives an agency access to a generator. The agency still has to decide whether a draft says something useful, whether it sounds like the person whose name will appear above it, and whether an edit quietly changed the claim. Those decisions are part of the machinery I want to own. The Content Compiler is my proposed way to make them inspectable and repeatable without giving an editor permission to rewrite everything.

The trading comparison is useful here. Market data can be available to competing firms while the systems that turn it into decisions differ. Access to an input and skill at using it are separate things. Language models create a similar distinction for a content business: a competitor can buy access to the same generator, but that purchase doesn't include my reference writing, my editorial decisions or the record of why I rejected a particular sentence.

That's the sense in which I mean alpha. It's a commercial hypothesis about private production knowledge, not a claim that content behaves like a financial instrument. The analogy has a limit. A trading return and a reader's trust are different outcomes, and neither becomes reliable because I gave the system a name.

The business sells the work the machinery produces

My earlier agency work supplied a practical reason to care about this distinction. I started with people producing content, hired across countries, and built systems and procedures around that work. I then asked whether some of the production could happen programmatically. That question survives the arrival of language models. The model changes what can be generated. Someone still has to organize the work and take responsibility for it.

The business I want to build sells media for specific audiences. The compiler would be internal infrastructure behind that service. Keeping it private is my chosen strategy; another company might sell editorial software successfully. My bet is that the accumulated decisions are more useful inside an operating business, where each approved or rejected output can teach the next production run something.

Andy stands beside a compiler machine below a marketplace, with finished work traveling upward.
A content compiler turns source material into publishable work while keeping its private knowledge separate.

A generic instruction to sound human doesn't contain that history. A reference corpus can. A repair record can show that I accepted a shorter sentence but rejected an edit that removed a condition. A voice profile can distinguish the way I write an article from the way I write a proposal. An audience record can preserve the words customers used before anyone translated them into a marketing brief.

Those are different kinds of knowledge. Combining them into one enormous prompt would make it difficult to tell which judgment failed. The compiler design separates them into operations with their own inputs, costs and limits, so the operator can inspect a bad decision and change the part responsible for it.

Parts one and two of this trilogy supplied the architecture and organizational arguments: shared representations for transformations, then domains that own and exchange their work. This part applies those ideas to language. It describes a design and its acceptance conditions. It doesn't establish that every proposed model, threshold or economic target has already worked in production.

The first engineering job is to define a defect precisely enough that a system can find it, propose a bounded repair and leave the author's meaning intact.

A detector needs a defined defect

A sentence can be grammatical and still waste the reader's attention. It can announce that an insight is coming, repeat the previous sentence with grander nouns, or supply a percentage that nobody measured. A whole draft can repeat one sentence shape until the argument becomes hard to hear. Those are editorial problems with different causes, and a detector needs to distinguish them before a repair system touches the text.

My defect catalog starts with patterns I want removed from my own output. Some are explicit house choices, such as excluding em dashes. Others concern meaning or reader effort: an unsupported number, a pronoun with several possible antecedents, a claim buried under an announcement of its importance. Calling all of them AI smell is convenient in conversation. It's too imprecise for a repair instruction.

The distinction between a house rule and an empirical observation matters. A prohibited character is a match against a policy. Repeated syntactic openings are a measurement. Whether that repetition harms this paragraph is an editorial judgment. A detector that merges those decisions will treat a deliberate repeat as a mistake and may leave a fluent, unsupported claim untouched.

Internal linting has a narrower job than authorship detection

The proposed system reviews drafts produced inside our own operation. We know which generators produced them, which voice they should use and which defects we care about. Nobody has to prove who wrote a document for a court or catch a stranger deliberately paraphrasing around a detector. That narrower problem gives the compiler a defined operating range.

It also limits what a score can mean. A flag means that a span resembles a defect in our catalog. It doesn't prove that an AI wrote it. A clean result means that the checks found nothing they were configured to find. It doesn't establish that the text is accurate, persuasive or worth publishing.

Two writing desks engraved side by side. The left desk is scarred and buried in crossed-out drafts with a chair shoved back. The right desk is immaculate, carrying one dial and a stack of output sheets so uniform they read as a single block.
The left desk got its edits from glazed eyes and lost arguments. The right desk was never in the room.

The original memo used banner blindness as a warning about familiar patterns becoming easy to ignore. I still find the comparison useful for editorial decisions: repeated, recognizable writing habits can become a reason to skip a passage. I wouldn't use that analogy to claim a measured cultural trajectory, a particular age group's response or a universal threshold at which readers stop paying attention. Those would require their own evidence.

Asking another model to improve a draft can help. The weakness is allowing the same open-ended operation to supply both the repair and the entire account of whether the repair was good. A model may exchange one vague phrase for another, and the output can read smoother while the claim becomes less precise. The compiler design gives that proposal something outside its own explanation to answer to.

A counterfeiter's bench, engraved. The plates and the press that produced the note sit behind it while the same hand holds an inspection lamp over that note and finds it genuine.
The editing model draws from the same distribution as the writing model, so its sense of better is the dialect's own sense of better.

My trading and data-engineering work is relevant as a discipline of measurement. The documented work involved noisy inputs, validation and making failure modes visible. It doesn't prove a prose classifier will work. It does explain the question I bring to this design: what can be counted, what must be learned from examples, and what still requires the person responsible for the result?

A compilation needs to return enough information to keep those answers separate.

Every compilation returns text and a record of its changes

A content compiler accepts an existing draft, runs ordered checks and transformations, and returns the processed text with a record of what happened. Drafting, storing documents and deciding when to publish belong to other parts of the operation.

The architecture follows the compiler comparison literally enough to be useful. A frontend accepts the source. An intermediate representation holds the units the passes inspect. A middle-end applies those passes in a known order. A backend produces the requested output form. Sharing the representation means a check can refer to the same sentence a repair modifies and the audit record identifies.

The request carries the text, a register label and content-type metadata. Register means the kind of voice being requested: an article, proposal, post or internal document. Content-type metadata supplies the context a check needs. A quotation and the author's own assertion can contain the same words while allowing different editorial operations.

The original request contract puts segmentation above 10,000 words with the caller. That's a proposed interface boundary, not a claim about a model's maximum context. A caller dividing a long document must preserve enough structure for the segments to be reassembled and reviewed as one argument. Local sentence work doesn't remove that document-level responsibility.

The record is an output the operator must be able to read

The response always includes processed text and an audit log. The log records each detected defect, the span involved, the proposed or applied repair, the repair method and its similarity result. It also identifies spans explicitly marked clean. A rejected repair belongs in the record too, so an unchanged sentence can be distinguished from a sentence nobody checked.

A repairer's counter holds a mended pocket watch with its case open beside a tray of the same size. Each compartment of the tray pairs a worn, removed part with the new part that replaced it, a blank tag tied to every pair, and a hand reaches for both.
Every compilation returns two things: the processed text, and a log of every defect found, every repair made with its method and similarity score, and every span marked clean. A compiler that hides its work is an oracle.

That record changes the operator's job. A fluent paragraph alone asks for trust. A paragraph paired with its before-and-after spans lets the editor inspect the exact change, including a change that should never have been permitted. The record also creates training material when the editor accepts or rejects the proposal with a reason.

The compiler reads upstream knowledge where a pass requires it. It doesn't become the knowledge graph, the publishing system or the CMS merely because those systems exchange information with it. Its own responsibility is a compilation and an intelligible account of that compilation. Persistent job status and review history need an owner outside the transformation itself.

The pass families ask different questions

F1 is smell elimination. It detects cataloged defects and attempts bounded repairs. F2 is voice verification. It measures whether the resulting document resembles this author's writing in the selected register. F3 is resonance verification: whether the text addresses the intended audience using evidence about that audience.

The planned MVP contains F1 and F2. F3 remains a specified interface whose implementation depends on upstream knowledge and unresolved measurement questions. Defining the interface early prevents a narrow first version from making later audience checks impossible; it doesn't count as delivering those checks.

Each family therefore has a different kind of authority. F1 may change a span within its repair limits. F2 returns measurements for the caller to interpret. F3, as proposed, returns a resonance score and diagnostics without repairing the argument. A single instruction to improve the writing would blur all of those permissions. Separate passes let the editor see whether the failure was a prohibited phrase, an author-voice mismatch or an audience problem that the compiler has no right to solve by itself.

Five signal sources describe different failures

F1 begins with a span, usually a sentence or part of one, and extracts features that a classifier can combine. The proposed classifier is an XGBoost gradient-boosted decision-tree ensemble returning a probability for each defect class. The ensemble is a design choice to evaluate against labeled examples; naming it doesn't establish how accurately it will classify our drafts.

The feature sources do different jobs. A vocabulary match can identify a prohibited word directly. A rhythm measurement describes a pattern across text. An embedding comparison suggests resemblance to examples. Keeping those sources visible lets an editor distinguish a rule violation from a statistical suspicion.

Counts can find a pattern without deciding its value

Lexical checks use exact matches and regular expressions against the house catalog. They can find a prohibited character, filler transition or announcement phrase. A match is cheap to locate and easy to show in the log. Context still determines whether an operation is allowed: a quoted passage may need to remain verbatim even when its author used words we exclude from our own prose.

Syntax adds information about how a sentence is built. The design includes part-of-speech distributions, dependency depth, clause counts and sentence-opener signatures. An opener signature records the first three part-of-speech tags, letting the system notice several sentences beginning with the same grammatical shape. That measurement can nominate a repetitive passage for review without assuming every parallel sentence is bad.

Two trails cross wet sand side by side. The upper one is a person's bare footprints with short steps, a long leap, a pause and a run. The lower one is a row of identical boot prints, evenly spaced, pressed by a wheeled stamping machine still rolling at the edge.
Human writing moves like a person walking a beach: short steps, a leap, a pause. Machine text keeps one stamped stride, opening sentence after sentence with the same shape, plausible everywhere and surprising nowhere, and the detection stack counts that rhythm.

Function-word and punctuation ratios supply another set of counts. The compiler can compare comma and period use, semicolon frequency and the distribution of common grammatical words with reference writing. Such features can describe habits that a vocabulary list misses. Their interpretation depends on the writing being compared. A terse proposal and a patient technical article shouldn't be forced into the same punctuation pattern.

The point of combining counts is to give the classifier a richer description of the span and its surroundings. A single repeated opener might be incidental. Repeated openers alongside narrow sentence-length variation and recurring filler may support a different judgment. The training and calibration work has to determine whether those combinations actually help.

Reference models add measurements with their own assumptions

Surprisal describes how unexpected a token is under a chosen reference model. The proposed stack measures negative log-probability token by token, then summarizes its level and variation over a span. Burstiness, in this use, concerns variation in those readings. A smooth trace is a measurable feature. Calling it machine-written, lifeless or defective requires evidence beyond the trace itself.

The reference model acts as an instrument. It isn't being asked to write a critique or justify an edit. That distinction is why I want a likelihood-based signal alongside explicit rules. It also creates work: the reference model's choice, tokenization and performance on our kinds of text can affect the reading. A borrowed detector benchmark can't supply that local calibration for us.

Embeddings supply the final source. My proposed configuration uses a 3072-dimensional Gemini representation and compares spans with defect-class centroids learned from examples. The dimension is part of the proposed configuration, not evidence that a semantic defect has a dependable location. An example such as a paragraph narrating its own analysis might resemble known failures even when it shares no banned phrase with them. Whether the embedding captures that distinction is something to measure.

The detection layer avoids open-ended generative judgment. It still uses model computation for reference likelihoods, embeddings and potentially parsing. Describing that work as zero model use would hide costs and dependencies. The useful boundary is that the detector returns features and findings without generating a free-form replacement. Repair receives a separate permission, after calibration has established which findings deserve action.

The calibration corpus has to earn its thresholds

A flag becomes useful when it separates cases an editor wants changed from cases the editor wants preserved. Setting a threshold before examining that distinction gives a number authority it hasn't earned. My proposed design starts from reference documents that define acceptable writing, measures their distributions and compares candidates with that evidence.

The original memo organizes findings into five classes. The classes separate what was detected from how the system detected it, and the settings below belong to that memo's proposed starting configuration. They aren't measured operating results or recommendations to copy into another team's production system.

Defect classProposed evidenceOriginal setting and its status
A: banned vocabularyLexical match against the house catalogAny match triggers the house rule; repair permission still depends on context.
B: structural patternsPart-of-speech rules and classifier outputRule confidence 0.8 and classifier confidence 0.9, proposed for calibration.
C: statistical patternsMetrics compared with acceptable reference writingTwo standard deviations from the empirical distribution, proposed as an outlier flag.
D: semantic patternsEmbedding and surprisal featuresConfidence 0.85, proposed for calibration.
E: voice and rhythmComposite measures for the selected writing styleSettings for the writing style, to derive from examples.

The Class B and D numbers express intended routing settings. A score labeled 0.9 shouldn't be read as a demonstrated nine-in-ten chance that an editor would agree. That interpretation would require evidence about how the score behaves on examples it wasn't trained on. The memo supplies the numbers; it doesn't supply that evaluation.

Class C requires a different caution. An outlier is a departure from a reference distribution. A deliberately short sentence can be an outlier, and a dull paragraph can sit comfortably near the average. The proposed two-standard-deviation flag is a place to inspect. It can't turn unusual writing into a defect by definition.

Reference writing has to represent what the editor wants

The corpus needs examples in the registers the service will process. It also needs decisions with reasons. An article approved for its argument may still contain sentences I dislike; a rejected proposal may have excellent rhythm and an unsupported claim. Treating whole-document approval as a perfect label for every feature would mix those judgments together.

A useful calibration record preserves the text, its register, the finding and the editor's disposition. The operator can then ask whether the system is flagging passages that should remain, missing defects that matter, or merely reproducing the examples it already saw. The cost of a false flag includes the repair it authorizes and the attention needed to inspect it.

I want the corpus to constrain the settings, and I want editorial feedback to remain able to challenge the corpus. Otherwise the system can become very consistent at preferring an earlier mistake. The catalog and its calibration are versioned decisions, not a substitute for having an editor.

That distinction becomes consequential at the next step. A detector can be wrong without changing a word. A repair system acts on its mistake. The authority to edit therefore needs to be narrower than the authority to nominate a passage for review.

Repairs need a smaller permission than drafts

An instruction to write an article grants a model room to choose sentences. An instruction to remove a defect should grant much less. The repair ladder in this design increases that permission only when a simpler operation can't produce an acceptable result. Cost matters, but the more consequential difference is how much the repair is allowed to change.

The first rung applies a known local operation

Deterministic rules handle changes whose operation can be specified in advance. A filler opener can be deleted. A prohibited punctuation mark can be replaced after examining how the clauses relate. The repair record can name the rule, quote the affected span and show the replacement without asking a model to explain what it meant to do.

Even this rung needs restraint. Replacing every dash with a period would produce fragments in some sentences. Deleting an apparent filler phrase inside a quotation would change someone else's words. A reliable rule needs both a match condition and an edit condition. When the edit condition isn't satisfied, the detector can report the finding without applying the change.

The original design expects this rung to carry banned vocabulary and simple structural repairs. That's a workload hypothesis. The useful measure is how much real editorial work it handles correctly, including the cases it leaves alone, rather than how many substitutions it can perform.

A three-rung ladder leans on a dark wall. A worn eraser knife and a hand stamp rest on the bottom rung, a composing stick holding a short row of metal type sits on the middle rung, and a fine engraving tool is chained and padlocked to the top rung.
Repair starts with free deterministic rules, moves to an edit tagger that may change at most 30% of a span, and reaches a language model only in handcuffs, with anchor tokens locked. The Compiler takes the cheapest rung that produces acceptable output.

An edit tagger chooses from a limited set of operations

The second rung is a style edit-tagger. Its proposed encoder assigns an operation to each token from a finite set: keep, delete, replace, insert or merge with the next token. I propose adapting the edit-tagging idea associated with GECToR to our style defects. That adaptation needs its own training and evaluation; the name of the precedent doesn't validate the new task.

The proposed training process begins with accepted text, injects known defects and trains the tagger to recover the original. This gives the experiment a target and a known corruption. It also creates a limitation. Success at reversing the defects we injected doesn't establish success on every defect a generator will produce. Real rejected drafts and the editor's decisions would have to challenge that synthetic training set.

A hard cap limits the tagger to changing 30% of a span's tokens. That's the memo's proposed bound on editing freedom. A small edit can still reverse a claim, so the cap limits the extent of a rewrite without proving its safety. The log must preserve the named operations, and the later meaning checks must examine their result.

This rung still uses a model. Its distinction from open-ended rewriting is the limited output vocabulary and the explicit edit operations. It's intended to handle structural, rhythm and phrasing repairs that exceed a substitution rule while remaining small enough to inspect.

Constrained infilling receives the least context that's sufficient

The third rung allows a language model to write replacement text. It receives the defective span, one sentence of context on each side, a specific diagnosis and constraints. The proposed constraints preserve entities, numbers, proper nouns and technical terms as anchor tokens, limit output length and exclude prohibited tokens during decoding where the implementation supports that control.

That permission is reserved for semantic repairs and directness changes the earlier rungs can't manage. The surrounding sentences are there to resolve local reference and keep the replacement connected. They may be insufficient when the problem depends on a qualification introduced elsewhere. In that case, routing the passage to an editor is a valid result. A local repair service shouldn't enlarge its authority merely to avoid returning an unresolved span.

Every rung then faces the proposed meaning gate. The original setting requires embedding similarity above 0.92 between the original and repaired span, with every anchor token preserved verbatim. Failure rejects the repair and sends the span to human review. These checks are explicit and inspectable. They're still proxies for meaning.

Consider an illustrative change from "the service may reject a repair" to "the service will reject a repair." The subject and technical nouns survive. Much of the wording is identical. The claim's certainty changes. A high similarity reading can't, by itself, establish that the author authorized that change. Negation, conditions, causal direction and attribution need protection alongside named entities and numbers.

A go/no-go gauge on an engraved bench, a repaired span held in its jaws. Beside it a type case holds the anchor tokens, entities, numbers and proper nouns, each one locked into its own compartment.
If similarity falls under the line, or one anchor token goes missing, the repair is rejected rather than shipped, and the span goes to a human instead.

The intended division is that the compiler changes expression within a narrow permission and leaves claims with the author. My earlier Content Compiler case record describes sentence- and paragraph-level transformations for the same reason: a local problem shouldn't require regenerating an entire document. This memo narrows that idea into a draft-in repair service. Its success depends on whether the bounds survive actual edits, including edits that look harmless until a human reads what they now assert.

Voice depends on the kind of writing

Removing every cataloged defect can leave a paragraph that any competent ghostwriter could have produced. My commercial aim includes a more specific property: a reader should encounter a recognizable author whose way of explaining survives the production system. F2 measures that property at document level, after F1 has dealt with the cataloged defects.

A proposal, article and post ask the author to do different work. A proposal needs to make a decision and define an offer. An article can develop an argument patiently. A post may compress a claim into a small space. The same person can write all of them without using the same rhythm, vocabulary or balance of explanation and direct address.

The request's register label therefore selects the relevant reference writing. The proposed verifier maintains a centroid for each register, a reference position derived from examples. Comparing an article with the proposal centroid would punish the author for doing the job the article requires.

Learned style and counted habits supply different evidence

The first proposed signal is an author-style embedding intended to capture how someone writes with less dependence on subject matter. LUAR and Wegmann's work are research directions named in my design. I propose comparing a document with its register centroid using cosine similarity. A production choice would have to demonstrate that it distinguishes my style across topics rather than simply recognizing the topics I usually discuss.

The second signal uses counted stylometric features. The design envisages roughly thirty, including sentence-length mean and variance, vocabulary measures such as type-token and hapax ratios, punctuation, clauses per sentence, questions and direct address. A hapax is a word appearing once in the text being measured. Mahalanobis distance is the proposed way to compare the feature combination with the register's reference distribution, taking relationships among the features into account.

The learned and counted signals are fused into a voice-alignment score with register-specific weights. The diagnostic breakdown matters as much as the combined value. An editor needs to know whether the flag came from unusually uniform sentence lengths, a different punctuation pattern or the learned representation. Otherwise changing the score becomes a guessing game.

Four shoes lie upside down in a row: a work boot, a dress shoe, a running shoe and a new factory sole. The first three are worn in the same places, at the outer heel and under the big toe, while the new sole shows no wear at all.
A proposal, an article and a post differ like a work boot, a dress shoe and a runner, yet one walker wears all three the same way. F2 measures text against the register it claims, and generic text with no wear at all fails too.

F2 returns a score and diagnostics. The consumer owns policy. A proposal workflow might reject a document below a chosen level, while an internal-document workflow might record the reading and continue. That division lets the same measurement service support different consequences without embedding every publishing rule inside the verifier.

Feedback can improve a reference set or contaminate it

I named my portfolio page, Upwork profile, Mirror Ocean article and People-Product-Process document as seed material. Those sources contain different forms of writing and need their provenance and register preserved. A model-assisted draft accepted for one purpose shouldn't silently become an unquestionable example of every aspect of my voice.

The intended feedback loop adds approved outputs as positive examples and rejections with voice feedback as negative examples, then retrains periodically. The reason attached to a judgment is part of the data. Rejection for a factual error and rejection for a voice mismatch should remain distinguishable.

Voices also change. The original design proposes a classifier distinguishing older authentic writing from recent authentic writing, with AUC above 0.7 triggering a recalibration review. AUC measures the classifier's ability to distinguish the two periods. The proposed trigger marks a difference to inspect. It doesn't diagnose why.

I'd still have to decide whether the difference represents an evolution I want reflected in the reference set or contamination I want removed. The reference corpus and verifier need versions so that decision can be traced. A system that learns from approvals can reproduce its own editorial habits increasingly well. Human review has to keep asking whether those are still the habits worth reproducing, and whether the resulting text serves the audience at all.

Audience relevance still needs an editor

A draft can clear the defect checks and resemble my voice while answering a question the audience never asked. F3 addresses that failure. Its proposed job is to compare the text with evidence about a specified audience segment, return a resonance score and explain the mismatch. The first version leaves that job as an interface, with human editorial judgment doing the work.

My metal-art work provides a concrete reason for keeping this question separate. The competitor's advertising drew attention to its owner. In my own work, I exported ad data into spreadsheets and grouped creatives by headline copy so I could compare cohorts. Older female buyers were an important group, and we changed toward family-oriented messaging.

That was an audience and offer decision. A grammar check wouldn't have identified it. A style verifier could have made an owner-focused ad sound exactly like me while preserving the same audience mistake. The analysis needed evidence about buyers and what the product meant in their lives.

Audience records constrain what a passage can claim to address

I start with a problem that exists independently of a proposed solution. My messaging research collects customers' own phrases from places such as reviews, comments, forum threads and support records. I call that collection a Lexicon of Pain. The phrase names a source record of customer language; filling it with words a model invented would defeat its purpose.

F3 would read that evidence alongside a temporal knowledge graph, embeddings and an audience-state model. The graph supplies concepts and their recorded relationships. Embeddings offer a way to compare the text with recorded material. The segment vocabulary supplies the customer's words. The audience-state model records a working account of where that segment is in its problem and change process.

The original memo describes states such as pain, fear, shame and denial, and a movement toward truth, responsibility, healing and forgiveness. Those are hypotheses for understanding a segment, not permission to announce a stranger's hidden motives in public copy. A passage still needs to state the person's concrete situation and let recognition happen. A score shouldn't authorize mind-reading.

A hand holds a struck tuning fork beside a shelf of water glasses filled to different levels. One glass in the middle of the row trembles, ripples spreading across its water, while every other glass stands still.
F1 asks whether text is clean and F2 whether it sounds like its author. F3 asks whether it lands: whether it uses this audience's own recorded words and meets them where they sit in their cycle, then measures what comes back.

The presence of craft is harder to measure than a prohibited word

F3 also carries a positive question: what makes a reader stay? The memo names five moves from my Mirror Ocean analysis. A cosmic zoom-out changes the scale of an idea. A small situated human gives the consequences someone to happen to. Patchwork people allow motives and experience to remain mixed. An unfinished sentence can leave room for the reader's participation. What I called yep-yep-yep is a sequence of recognitions the reader can arrive at without being told what to feel.

Those are craft questions for an editor. A detector that merely counts a mention of a person or the presence of a fragment would reward imitations of the form. The unresolved research is whether these effects can be measured in a way that agrees with useful reader judgment across actual articles. The original design explicitly leaves that work open.

F3's contract adds an audience-segment identifier to the compilation request and returns diagnostics without automatic repairs. A resonance failure might require more research, a different example or a different argument. Those changes exceed the permission of a style repair. Routing them to an editor keeps the boundary intact.

WikiDesignCo is the intended proving ground for this deeper work. A long-form article gives a reader enough material to test whether the reasoning develops and whether the examples earn their place. The plan for that proving ground doesn't establish that the deep gate already runs. F1 and F2 must first demonstrate a narrower useful job: improve the draft in ways the author can inspect, accept and recover when the system is wrong.

A complete run needs a stop and a cost record

A safe local edit can become part of an unsafe document. Several individually plausible repairs can remove a deliberate rhythm, change a repeated term inconsistently or make an earlier reference harder to follow. The complete compilation therefore needs rules about the record, meaning and what happens after the repairs are assembled.

The original memo calls these its invariants. They state what the system must preserve, with mechanisms intended to enforce them. A mechanism still has to be evaluated against the invariant; the word invariant doesn't make a proxy infallible.

The run preserves a trail and has a bounded re-analysis

No silent rewrites is the most directly inspectable rule. Every modification records the original span, replacement, defect class, method and similarity score. An operator should be able to reconstruct the processed text from the source and applied operations. A change without a corresponding record violates the contract even when the new sentence reads better.

Meaning preservation is the higher-consequence rule. Factual content, logical relationships and argumentative direction belong to the author. The similarity and anchor checks reject certain unsafe edits, and the human review path handles cases the compiler can't repair within its permission. The acceptance read must still examine meaning. Passing those checks alone doesn't demonstrate equivalence.

Monotonic quality expresses the intended outcome that the text leaves no worse than it entered. The design runs one full re-analysis after repairs, then repairs an introduced defect at a higher authorized rung or reverts the offending change. Final counts and unresolved findings go into the log. There's no unlimited recursive polishing loop.

A large ratchet wheel with sharp angled teeth sits in an iron frame. A spring-loaded pawl rests in one tooth so the wheel cannot slip backward, while a hand on the crank turns it one notch forward.
Text exits no worse than it entered. After every repair, one re-analysis pass runs the full detection stack, and any defect a repair introduced is fixed at a higher rung or reverted, so quality only moves one way.

The stop matters. Each extra rewrite is another opportunity to change the claim, and a loop can consume the review budget while appearing productive. A bounded run can return unresolved work visibly. The editor then sees what the automation accomplished and what remains, instead of receiving an article that has been rewritten until its history is impossible to reconstruct.

Pass order reduces avoidable work. F1 precedes F2 so the voice measurement is taken after cataloged defects have been addressed. Within F1, banned-vocabulary checks precede structural and statistical checks. Removing an unnecessary phrase may dissolve a later structural finding. The later pass should inspect the text that actually remains.

The budget includes the operations hidden behind a small call

The original cost ceiling is compilation at no more than 15% of the generation cost for the same text. That's a proposed operating requirement. Meeting it would need measured generation and compilation costs with comparable boundaries, including the model work used to obtain features. A rule that makes no model call still runs on infrastructure someone pays for.

The memo illustrates the infilling workload with 250 sentences and an assumed 10% needing the third rung, producing 25 scoped calls. The arithmetic describes the assumption. It doesn't establish that a real article will have that repair rate, that one sentence always corresponds to one repair span, or that the supplied context fits a fixed tiny token budget.

Two doorways in a warehouse wall. On the left, a massive vault door is wedged open, and a worn track of footprints runs straight through it. On the right, a light spring-hinged door swings shut behind a worker carrying a crate.
A quality gate that costs more than generation gets propped open the first busy week and stays that way. Compilation is capped at 15% of generation cost, cheap enough that every text passes through it.

The architecture tries to control cost by doing local work where local context is sufficient. Deterministic edits come first. A small edit model comes before generative infilling. F2 adds a document-level style measurement and counted features. Its document-level view is compatible with local repair; it also prevents the claim that every operation is strictly span-only.

The article profile's original latency target is under sixty seconds for 5,000 words in a batch context. That's a performance target, not a result reported here. Later email or chat consumers would need their own latency and review policy. Their requirements shouldn't be silently imposed on the article MVP.

Human attention belongs in the economics too. A system can reduce model spend and still increase the editor's workload through false flags, unreadable logs or subtle claim changes. The proposed first-consumer acceptance is therefore a complete compiled article plus its audit record, read by me. I need to recognize my voice, find no surviving tells I can detect, confirm that repairs preserved meaning and understand the record. The metrics help explain a failure of that judgment. They don't replace it.

The review workflow determines the storage choice

The compiler transforms text, but the operation around it accumulates state. A request arrives. Work is pending or running. A result and its audit record become available. An operator reviews the changes. Approved examples may later enter a calibration set. Each of those records needs to survive a process ending and remain connected to the version of the text it describes.

That's the workload the database decision has to serve. The memo names compilation requests and statuses, audit logs, calibration corpora, register centroids, feedback examples and an operator review queue. The transformation service can remain bounded while an operational store owns that durable history. Storing the history elsewhere doesn't excuse losing it.

A reopened review must point at the same source and output. A verdict on an earlier draft can't quietly become approval of a later one. The need for that connection follows from the audit contract: the operator is approving particular changes to particular words. An attractive live screen with no durable version relationship would leave the most important part of the workflow unaccounted for.

Convex is the selected operational store

The original comparison uses three criteria: avoid operational mistakes, fit the desired serverless economics and support the end-user experience. It chooses Convex as the primary store. The intended operator interface subscribes to changing job and review state, while the Python-heavy NLP and classifier work lives in a separate service.

The proposed topology places that service behind FastAPI on Cloud Run, communicating with Convex through HTTP actions. That arrangement keeps Python processing separate from the store's application logic. The integration still needs to be built and verified. A completed computation must become a durable result the operator can inspect, with failure recorded when that handoff fails.

My reason for choosing Convex was existing operational familiarity: other parts of the business used it, and the team had schemas and deployment practices to reuse. That's the rationale recorded in my original design. Current deployments and vendor terms still need verification. Reusing knowledge can reduce integration work, but the specific guarantees and limits still need checking when the system is implemented.

A different workload can justify reopening the decision

SpacetimeDB receives a different role in the memo. Its attraction is shared, real-time world state, and the comparison ties that interest to a possible multiplayer visualization of the world model. That would be a different subsystem with a different interaction pattern from a queue of documents waiting for human review.

The original comparison was a Formula 1 car delivering groceries: impressive machinery, with nowhere to put the bags. A technically appealing platform can deserve investigation while contributing little to the current job.

A heavy wagon loaded with strongboxes turns at a fork onto a broad road worn into deep ruts. The other branch is a fresh trail into dense forest with a single set of wheel tracks, raw stumps and a fallen log across it.
SpacetimeDB is young, with almost no large production deployments outside games. Putting the company's core data on it would make the agency that platform's pioneer, and the foot-gun criterion counts that against it before speed enters the comparison.

The reopening condition is useful: revisit a shared-world database when the proposed interactive world-model experience becomes a real workload. Until then, another platform would create a second body of schemas, integrations and operational knowledge for a benefit this compiler hasn't established it needs.

An engraved workshop where every bench is already tooled for one language, the fixtures and fittings matching across the room. A crate holding a second, different toolset stands unopened against the wall with its bands intact.
Reactive queries, ACID mutations, and pricing that approaches zero at idle all mattered. The deciding factor was that the rest of the company already speaks it.

The memo also keeps long-horizon analytics as a watch-item. Audit logs and feedback might eventually become training-data or retention workloads with requirements different from the live review queue. Its proposed response is an event-fed analytical or system-of-record store, such as serverless Postgres, when the need exists. It doesn't require building that second system on day one.

The immediate obligation is more concrete. The operator needs to reopen a compilation, see its changes, understand its failures and know whether it was approved. A database choice earns its place by making that job dependable. The agency thesis depends on people being able to operate the system, not merely on the transformation code running.

The agency thesis has to survive real editorial work

The agency design puts a production stack between senior direction and finished media. Agents would decompose assignments, research, draft and support production. A creative-production arm, named as Higgsfield in the original memo, would supply media work. The Content Compiler would inspect the words reaching an audience. Human operators would manage the work and its exceptions, with senior people responsible for direction and judgment.

I called that intended business a giga-agency. The useful claim is that repeatable machinery could change how much work a small team can responsibly deliver. The label doesn't establish a new cost structure, and the plan hasn't earned a guaranteed multiplier for an operator's productivity.

My own agency history is a reason to keep that distinction visible. I scaled the agency and took on too much while trying to run it and a metal shop together. That experience belongs in the operating judgment here. Adding production capacity can expose weaknesses in supervision, cash flow and fulfillment. More output won't repair those weaknesses on its own.

A stone step pyramid shown in section. Its middle courses have been replaced by a compact engine of gears and pistons that holds up a small apex where two people stand. Beside the base, three operators work its levers, and spare stone blocks lie to one side.
A classical agency is a pyramid of strategists, copywriters, designers and buyers, each layer adding cost and delay. The giga-agency swaps the middle for agent fleets, a creative studio and the Compiler, with a few senior people above and operators beside it.

Operators still have consequential work to do

The proposed labor model includes hiring operators in emerging markets and paying them well, including performance incentives. Its economic aim is that capable people using better machinery can deliver more useful work. That aim needs a workflow they can inspect, training that explains the decisions and enough authority to return work the system shouldn't publish.

A dashboard full of passing scores would be insufficient. An operator must be able to recognize when the detector found the wrong problem, when a repair changed certainty, when the voice reference is inappropriate or when an audience question needs research. Those decisions consume attention. Their cost belongs beside compute, and their outcomes belong in the feedback history.

The private advantage from the opening would accumulate there. A competitor can rent a generator. Reproducing a history of specific editorial decisions requires doing the work that produced those decisions. But privacy alone creates no value. A private corpus can preserve bad habits, and a large defect catalog can create more work than it saves. The advantage has to appear in the resulting articles and in the operator's ability to maintain their quality.

The trilogy's architecture reaches a concrete acceptance event

Part one argues for a shared intermediate representation, adapters and composable transformations. Part two argues for domains owning their outputs and exchanging work through explicit contracts. This design applies both to prose: generation supplies a draft, the compiler returns processed text plus an audit record, and the consumer owns the decision about publication.

One engine room drawn in section, three benches stacked on three levels. The lowest builds parts to a common representation, the middle routes finished parts between domains, and the top is a single gate every crate passes through before it leaves the building.
Part one builds like a compiler. Part two organizes like a mesh. Part three is where both of them touch revenue.

That division makes a failure easier to locate. A source claim can be wrong before the compiler receives it. A detector can miss a defect. A repair can change meaning. A publishing workflow can ignore an unresolved finding. The system needs to preserve enough history for the responsible person to distinguish those failures, because each calls for a different correction.

The same architecture suggests other compilers: knowledge refined from source material, predictions assembled from inputs, decisions processed through constraints, or state transformed with an audit trail. Those are possible applications, each with its own representation and acceptance test. Reusing the shape doesn't prove them, and none needs to be built to learn whether the content compiler is useful.

The first test remains one complete wiki article and the record of its compilation. I read the article for voice and surviving defects. I compare the repairs with the original to check meaning. I read the log to see whether another operator could understand what happened. Cost and latency are recorded for that same run, so an editorial success doesn't hide an uneconomic process.

The public street at night where every storefront rents the same models (identical neon feeds), and one unmarked building hums with private machinery; its output is the only storefront with people inside.
The public street at night where every storefront rents the same models (identical neon feeds), and one unmarked building hums with private machinery; its output is the only storefront with people inside.

The execution-system comparison earns its return at that point. Buying the inputs was the beginning. The private machinery is worth keeping when the work it produces survives inspection, and when a rejected edit becomes knowledge the next run can use.

#content-compiler#detection#voice#giga-agency

Keep reading

On this page

Visuals 17