Getting started — Context Window Architecture
CWA
GitHub
Getting started · about fifteen minutes

From a prompt to a payload with owners.

You already have a function that builds the model call. These six steps turn it into an assembly: the same content, expressed as typed items in named slots, with a trace. No library to install. Start with the migrator below or read the steps first.

Migrate a prompt Download the scaffold
Six steps
{{ s.n }}
{{ s.title }}
{{ s.rules }}

{{ s.text }}

{{ s.done }}
Tool · steps 1 and 3

Prompt → slots migrator

Paste a system prompt, or a JSON array of chat messages. The migrator proposes a slot for each chunk, assigns the slot's default authority, and reports what an assembler would still be missing. It is a heuristic, deliberately conservative: anything it cannot place is left unassigned rather than guessed. Nothing leaves your browser.

your prompt · text or JSON messages
proposed items{{ mig.summary }}
{{ it.slot }}{{ it.meta }}
{{ it.preview }}
{{ it.flag }}
{{ mig.slotCount }}
slots named
{{ mig.gapPct }}
of tokens had no owner
{{ mig.missing }}
items still need source · as_of
payload.cwa.yaml
{{ mig.yaml }}

"No owner" counts tokens the migrator could not assign to a slot. Everything else still needs a source and an as_of before an assembler will admit it (R-2); that is step 3, and it is the part no tool can do for you.

Take it with you · step 2

Copy the scaffold.

Five ways in: an assembly function for your prompt code, an empty payload, an item schema as YAML and as JSON Schema, and a spec file your coding agents can follow.

{{ scaffoldBlurb }}

{{ scaffoldName }}
{{ l.text }}
No install, no dependency, no licence.

Next

SpecThe 23 requirements your assembler has to meet. ProducersWhat your retriever, memory store and MCP servers must emit. Lint an item. EvidencePick a placement profile for your route, and see why it is a profile.