// the pipeline LIVE

The Roadmap

The factory's steering board

Everything Fulltrace might do next, run as a queue. Every idea becomes a row with an ID, a risk class and the rules it must respect, and the factory builds from those rows. Each row is one slice, a small planned piece of work. The standout tracks are below, then the full live register. How a row becomes shipped software is on the factory page. What has already shipped is in the build log.

80 live rows 700+ shipped 13 decision gates 06 risk classes

The Headliners

The register lists rows in no special order. This section picks out what just landed and the tracks that change what Fulltrace is.

Just shipped: 5MP
One factory, several projects

Fulltrace used to build only itself. This track opened on 1 October, and by 7 October the runner, its board and stats pages, and Studio's Build mode all took a project. One command starts a new project with a starter roadmap, kept in that project's own repo. On 5 October the first slice outside Fulltrace, and so far the only one, ran end to end in a run started by hand. Still open: Studio's Start button runs Fulltrace only, so another project's queue waits for a run started by hand.

Just shipped: 5DR
Research, with every claim checked

A workflow that answers a question from chosen files, and from the web when a box is ticked. Every claim quotes its source, and plain code checks the quote before the claim is kept. For a web source the check is against the text the search returned. Since 9 October a claim whose quote fails is dropped and named, and the rest of the answer stands.

5K
The dark factory

A maintenance track that became the dark factory. Queued slices up to risk class R3 are built and shipped by a session with nobody in it, around the clock. Each slice has a time limit, a slice that stops short gets a second try, and a slice that needs a person's decision is set aside. Under it, every slice that adds a check has to prove the check works: a tool breaks the code on purpose and confirms the new check fails.

5U
Screens that show the factory at work

Build mode in Studio, a board that shows the chain at work, a stats page and a record of every run. After each deploy a click pass lists what to click to prove the new build, and it can be finished inside Studio. Five open rows would let a model take a click pass by itself, inside a sandbox with no network.

5AG
More than one builder

The written process no longer assumes Claude. A file at the top of the repo tells any assistant where the rules live and what only a person decides. Since 28 September Codex can build a slice with a person present, inside a sandbox and behind the same guard as Claude. It cannot run the main test suites in that sandbox yet, so it hands those checks back. The unattended chain still runs on Claude only, and Cursor cannot be handed a slice yet.

5W
Chat, with a receipt on every reply

A Chat tab shipped in Studio on 25 August. Pick a model and send, and every reply says which model answered and what it cost, under a limit that stops the tab. Since September it can set how hard a model thinks and take attachments to read. The part that would pick the model automatically is built and has no button yet. That button is the next row.

5R
Workflows that can be written down

Shipped 11 to 23 August. A workflow is described in a file. It is checked against a fixed shape, and nothing can run it until a person accepts that exact file. Steps can carry conditions. A workflow that writes to files is refused, and what it could reach is shown before acceptance. Tying the acceptance to that reach as well is the open row. No workflow has been written this way yet.

5IV
The rules as data

Each of the nineteen standing rules has a record in code that says how it is enforced, checked against the real code, and a screen under Config > Governance. Eighteen were ruled permanent and one temporary. A project can be exempted from a rule only through a list held in code, and that list is empty.

5EG
What may leave this machine

The outbound rule is standing rule G19, in place since August. Fourteen places data can leave are listed in code and locked by tests, and nine of them are this machine talking to itself. The push tool refuses a remote owned by anyone else, the assistants' shells refuse the common download commands, and the extension keeps a checked list of the outside services it may reach.

5G
Scheduled jobs, from the screen

Task runs can be put on an overnight schedule, and nothing launches until the limits are set by hand. Jobs are keyed to calendar dates, so a daylight saving change cannot run one twice. The Schedule tab switches jobs on and off and creates and edits them. It is built and tested. No job has been scheduled on it yet.

5Z
Every dollar visible

A spend page for what the runs cost, filterable by model, with two runs side by side. Scheduled runs can be capped in dollars. A soft daily ceiling shows at the moment Run is pressed. It is a warning and does not block a launch.

5B
Evals, starting with replay

A saved run can be replayed with no model called and compared with the original. In August, 89 of 101 recorded runs replayed exactly, and the other 12 were set aside as not replayable. Replay tests the machinery around a model and says nothing about the model itself. Comparing models against each other on a fixed set of tasks was added to the roadmap on 8 October, starting with the test harness.

5V
What reaches the phone

Push notifications and a read-only phone page were built in July, over a private network. With notifications on, the phone hears which slice a run or decision is for, when a closeout step is confirmed, when the chain is nearly out of work, and why it stopped. Since 16 September the phone can read click pass pages. A finished pass shows its counts, and the answers stay on this machine. Approving from the phone is not built, and waits until there is a real need.

5X and 5HF
Models on the local machine

A set of models runs on the local machine. Config > Models shows which are loaded and can load one. Their first job was a search index over the project's own docs, searched at $0 a query, and the Chat tab can use one too. They stay out of task runs. On 28 September Hugging Face joined the roadmap as a source of small local models. Nothing is built yet, and downloading from it stays off until its own row ships.

5P
A browser that can write, carefully

A browser page on this machine that can act, with the same preview, rehearse, approve and apply steps as Studio. Nine actions shipped in July, and each needs a write session that is started at the machine itself. Even a caller on the same machine is treated as hostile.

5Q
Several machines, one view

The foundation for several machines reporting to one place that can be watched shipped in July. Each machine has an identity and a publisher, and the centre can only look. It never approves or applies anything, and it has no way to send a command back. The live check with two machines is still to do.

5PB
Getting ready to be public

Opened on 18 September. The next row is the design for what a stranger would need to install Fulltrace on their own machine, and which of today's limits that would open. The licence decision comes after it.

The Full Register

All 80 live rows, copied from the roadmap as it stood on the morning of 9 October 2026. Role says why a row exists. A boundary row locks or opens a standing rule or a line of authority. A keystone is something other work depends on. An unlock makes a later step possible. Hygiene keeps the runtime, the tests or the roadmap itself healthy, validation tests quality, and polish is nice to have. Risk sets how much design happens before any code. Shipped rows leave this table at closeout, and 710 have so far, so a prerequisite you cannot find below has already shipped.

full_registerid · role · risk · status
IDTitleRoleRiskPrereqStatus
5K.228Nearly every closeout that touches slice-runner documents what it built in the runner's own README, so nearly every closeout halts PROTECTED on prose alonepolishR1nonedeferred
5U.18Clearing a protected-path halt is a hand delete of a file no surface names or offers, and every protected row still queued ends a chain on oneboundaryR45U.17deferred
5U.52The Studio driver runs on the operator's own machine and profile, so no press that mutates can ever be sandboxed, and a model-run pass needs a Windows Sandbox harness with networking offunlockR2noneproposed
5U.53Nothing admits or refuses a model-run pass's mutating press: the press manifest, its host guard, and the dated G14 and G15 amendments that admit the actboundaryR45U.52proposed
5U.54A model-run pass cannot settle a card line: predicates proposed per card, Jason's approval bound to the card's text, the driver's evaluation, and the two agreement countsunlockR35U.53proposed
5U.55The deploy repackages the extension, so it installs a different build from the one a model-run pass pressedhygieneR25U.52proposed
5U.56A model-run pass runs only from a command, not at the end of a chain once its agreement counts holdunlockR45U.54proposed
5AG.6The slice-memory store sits under a path named for one planehygieneR15AG.1deferred
5AG.9The armed chain does not record which agent it runs underboundaryR45AG.4, 5G.3proposed
5AG.13Proposal-first execution: codex as a proposal engine, never a mutation engineboundaryR45AG.4deferred
5AG.32Any agent that can write the tree can forge an apply grant, because the approval store sits inside the workspace and both planes guard it with text matched over a shell commandboundaryR4noneproposed
5AG.33Cursor cannot be handed any slice launch, not even an attended one, and its shell hook refuses egress aloneunlockR45AG.30proposed
5AG.39Eight checks fail only inside the Codex sandbox for causes nobody has traced, so three suites stay handed back with the temp folder curedhygieneR15AG.38proposed
5AG.40A Codex session the runner did not start has no temp folder, so a launch from the panel still runs a constrained PowerShellunlockR25AG.38proposed
5C.3Roadmap-authoring interview: designunlockR05C.2proposed
5C.7Website machinery to config: the enrolment path's last code editunlockR4noneproposed
5D.1Slack outbound notifications designunlockR05EG.2proposed
5E.1Goals interface designunlockR0noneproposed
I2wPublic website flip to Fulltrace (separate Showcase repo)hygieneR1noneproposed
5ID.9The 157 AgentOS mentions inside design phase-doc and analysis-memo bodies, which 5ID.8 ruled are records rather than prosepolishR2nonedeferred
5ID.12Design gate: every AgentOS reference goes before open source, identifiers, paths and git history includedkeystoneR4noneproposed
5J.10Studio's pill row holds two nouns, and thirteen of themhygieneR25J.9deferred
5T.2Backup implementation and Settings tab controlsunlockR45T.1deferred
5V.4Remote decision surface: design gateboundaryR05V.2, 5V.3 shipped + demonstrated demandproposed
5W.8The Chat-tab tier control and the live routed sendunlockR35W.4proposed
5W.9The model picker cannot be filtered by cost, or by anything elsepolishR25W.8proposed
5W.7The Chat-tab subscription affordance and the live sendunlockR35W.3proposed
5Z.2Wall-clock term in the graph budgetboundaryR05Z.1deferred
TR2Traicy on the website: showcase replay narrationunlockR2TR1, I2wproposed
TR3Traicy in Studio: replay waterfall narrationunlockR2TR1proposed
5PB.2Open-source readiness design gate: what a stranger needs to install Fulltrace on their own machine, and which of the sixteen deferred fences that opensboundaryR4noneproposed
5PB.4The site demos still show the tab strip 5J.2 retired, and the film built to replace them is parked uncommitted on trial framespolishR25U.45proposed
5R.7Bind the accepted reach, not only the accepted contentboundaryR45R.5proposed
5GL.1Goal Loop Boundary: ratify the operator-declared bounded loop designboundaryR4noneproposed
5K.48The battery runs every break against the whole suite, and most breaks can only reach one shardhygieneR15K.32deferred
5K.52The battery's own noise floor refuses every blessing, so no block can movehygieneR1nonedeferred
5V.8Acting on a slice from the phone collides with three positions already takenboundaryR05K.24, 5U.2, 5V.4proposed
5AG.21The Memory tree is not an MCP resources client, so the subscribe half of 5AG.17's read design would notify nobodyunlockR35AG.17proposed
5K.251A backgrounded gate is polled by a loop the session writes itself, and a loop bounded past the 600s tool cap returns no verdict for the ten minutes it costshygieneR2nonedesigned
5K.320The Studio panel hosts a click pass and nothing else, so a decision page and a new fork sitting still keep their answers in the browser that opened themunlockR45K.185proposed
5K.321The supervisor still names, commits and cleans up a click pass result file that no generator writes any morehygieneR15K.185proposed
5K.325A chain round shares the one short-lived Claude login with every other session on the machine, and a round that loses it stops as a model capability failurehygieneR35K.263proposed
5K.335A redden-each-other pair could still be hiding in the 82 exact pairs and 705 larger groups 5K.327's own sample never reachedhygieneR1nonedeferred
5K.330A slice round's session inherits the supervisor's whole environment, keys included: run.ps1 adds to the child's block and removes nothing from ithygieneR3noneproposed
5K.331A round ended on a 403 access-grant refusal after 35 turns and nothing has established whyhygieneR1noneproposed
5K.337Nothing says which queued rows touch the same files, so a pair that could be built at once is found by reading every Notes cell by handunlockR1noneproposed
5K.338Parallel slices design gate: two slices can be built at once in their own worktrees and only one can come home, since finish is fast-forward only and every closeout writes the same prose surfacesunlockR3noneproposed
5K.339A row whose Notes say it must land attended still reads as ready to run in the Unattended column, so it can be added to the runner queuehygieneR2noneawaiting-ruling
5K.344The heartbeat reads a runner session inside a gate longer than fifteen minutes as no slice session foundhygieneR25K.341proposed
5K.342The control that completes a click pass is an icon-only double tick in the Studio tab's title bar, and the page it completes has no button for itpolishR45K.336proposed
5K.343The phone's click pass list reads only the page, so a pass or a retirement held in the record beside it shows no chip and no sentencepolishR25K.334proposed
5HF.2Fulltrace has no registered way to fetch a model file from the Hugging Face Hub, so every Hub-sourced model is fetched by hand outside the censusboundaryR45HF.1proposed
5HF.3Docs search ranks by one cosine pass, so a chunk that shares vocabulary with the query can outrank the chunk that answers itunlockR25HF.2proposed
5HF.4The Models tab cannot tell whether a Hub GGUF will fit this machine until it has been pulled and failedunlockR25HF.2proposed
5HF.5An idea or a chat message can only be typed, never spokenpolishR25HF.2proposed
5HF.6A model that only Hugging Face serves has no metered route, because metered means OpenRouterboundaryR35HF.1deferred
5X.12Memory cannot be searched by meaning, because the auto-memory tree is refused as an embedding corpus until FS_ROOTS can exclude it and its prose is secret-scannedunlockR4noneproposed
5U.76The Data Dictionary film can only be reshot by hand, because a reshoot that logs into an org is an outbound seam with no census entry and no per-control fenceunlockR45U.75proposed
5U.77A scene's steps can only be written by hand in the storyboard, so changing what a reshoot presses means leaving StudiounlockR45U.75proposed
5U.82A click pass page written before the Studio panel existed offers Complete in Studio, which can only refuse it, and nothing on its row says it must be regenerated or does itpolishR25U.81awaiting-ruling
5U.87A linked folder under tools/ is left out of a film's fingerprint, so code the builder imports through it can change without dropping the accepthygieneR35U.84awaiting-ruling
5J.18Visual system design gate: the panel has no colour tokens of its own and does not share the 3010 board's lookunlockR2nonedeferred
5PB.5Application config design gate: every subscription, provider and feature is on for everyone, with no way to declare what is in useunlockR4noneproposed
5J.21The sidebar has no usage bar for Cursor, because the only Cursor data is a hand-exported CSV with no quota in itunlockR4noneproposed
5MP.8The gateway's file tools reach a hand-kept list of five roots, so a newly enrolled project is unreachable until a source edit or an env changeboundaryR45MP.1proposed
5MP.16The day history on disk still names a project by its old folder label, so anything that reads the month files or their mirror directly sees two names for one projecthygieneR35MP.5proposed
5MP.19A chain runs one project for its whole length, so another project's queue entries wait for a hand-started run and its launches on Build stay greyedunlockR45MP.7proposed
5MP.24A runner round in another project works in that project's main folder, because the runner never opens a slice tree for itunlockR45MP.12proposed
5MP.27Codex sessions are in the stats index and count for nothing on the stats pagehygieneR25MP.17in-progress
5MP.28An idea filed to the inbox, or under the wrong project, cannot be moved to another projectpolishR25MP.20proposed
5MP.29A picked project's documents do not open from Build, because the open guard admits only this window's foldershygieneR45MP.20proposed
5MP.30Two steps of another project's ceremony tracker are judged against files only this repo has, so its Prove step can never tick and its user documentation step reads a described update as a conflicthygieneR25MP.18proposed
5MP.31A dirty path in a project that is a folder of a larger repository is named from the top of that repository, so the row flip's guard never matches the register and the supervisor's dirty resume can never read the path's timehygieneR35MP.25proposed
5MP.32A sealed day holds no Codex figures, so Codex time, tokens and cost drop off the stats page once the day is sealedhygieneR35MP.27designed
5MP.33The stats page counts a whole repository's commits for a project that is one folder of ithygieneR25MP.26proposed
5MP.34An enrolled project with no register file yet reads as unreadable on the stats page and is named as left out of every sumhygieneR25MP.26proposed
5B.2Tier-D benchmark harness over the portfolio code audit: the fixture corpus, the scorer, the results ledger and the capped CLIvalidationR1noneproposed
5B.7First live node-swap benchmark: the execution slot across named subjects, three repeats, under a ruled spend boundvalidationR35B.2proposed
5B.8Local models as benchmark subjects, through a dated 5X.7 admission for an eval execution context onlyboundaryR35B.7proposed
5B.9A cost against quality scatter for benchmark cells, one point per cell, on a GET-only Studio Benchmarks surfacepolishR25B.7proposed
Many of these rows were written the moment something was found: at a closeout, by a drift check, by a test run, or in a click pass after a deploy. The titles are copied as written, so they read like personal notes. Thirteen decision gates bind rows before they can start. The gates, the nineteen standing rules and the seven steps of a slice are all on the factory page.