NOW WE-PLAYEDITORIAL RESEARCHMIND
Field Manual / Vol. VI

How it works.

The studio is ten specialist agents, each a separate process with its own clock.

They write to disk, read from disk, and talk to each other through files.

An operator is in the loop today — that's the training phase, not the end state.

The path is operator-on-escalation, not operator-gone.

The nine plates
  1. IAnatomyWhat an agent is
  2. IIRosterThe ten agents and their gates
  3. IIIRuntimeWhere it lives, what wakes it up
  4. IVLoopsFive feedback cycles
  5. VExternalTools and APIs wired in
  6. VITraining phaseWhere the operator is and isn't
  7. VIIDeferredHonest gaps
  8. VIIIFor the teamWhere to read first, what not to touch
  9. IXCloseThe substrate is built
Plate I / Anatomy

An agent is files.

An agent isn't a black box. It's a directory at studio-brain/identity/<agent>/. The files in that directory are what the agent IS. Open the directory and you can read the whole agent.

IDENTITY.md

Role, gate, decision rules.

What the agent does and what it refuses. Includes their mandate, their gate authority (e.g., Zara: SHIP / REVISE / KILL), and the decision rules they apply when uncertain. Operator-write; never agent-write.

SOUL.md

Voice, temperament, truth discipline.

How the agent sounds, what it won't get fooled into saying, what it will refuse on principle. Each SOUL has a "truth discipline" — load-bearing rules the agent must not violate (e.g., Declan: never invent a quote or stat).

WORKING_MEMORY.md

Current focus, projects in flight.

What the agent is holding right now. Active projects, pending decisions, things to revisit. Operator writes here per the gate ladder; agent reads on every call.

journal.jsonl

First-person reflection, one entry per call.

What the agent noticed during the most recent run. Agent-authored. Yesterday-me writes what tomorrow-me reads. Append-only.

carry_forward.md

Rolling state, refreshed each call.

The brief the agent leaves itself to find next time. Smaller than the journal, sharper. The "if you only read one thing tomorrow, read this" note.

dream.md

Daily consolidation summary.

What yesterday meant, in one page. Refreshed daily by the dream cycle (see Plate IV). Pattern-finding across recent journals. Not promoted to doctrine — that's Archie's job.

heartbeat.jsonl

Machine pulse.

Events: run_start, run_complete, run_failed, heartbeat. Written by the daemon wrapper, not the agent. How the operator (or Doctor) sees that an agent is alive and ticking.

Add up these seven files and you have an agent. Subtract any one and the agent gets dumber by exactly that file's job.

Plate II / Roster

The ten.

Specialists, not a hierarchy. No agent reports to another. Each owns a gate and refuses work outside it. The operator routes; the agents execute and gate.

Quinn

Chief of staff. Orchestrator.

Front door for the operator. Dispatches work to the other agents. Catches false-positives and pipeline failures. Lives on the VM as a Telegram surface (always-on) and as a Hermes profile (local, headless). No creative gate — she routes.

Zara

Art director.

Visual review. Gate: SHIP / REVISE / KILL on every published artifact. Sets the typographic and compositional standard. The hardest "no" in the studio.

Deter

Designer + QA.

Catches accuracy and craft drift. Gate: PASS / FAIL with rules. Owns the doctrine/rules layer — the explicit checks an artifact must clear. Will fix as well as fail.

Rowan

Strategist.

Sets positioning, mechanism, and frame. Gate: strategic framing review. Asks "what's the load-bearing claim?" before letting copy or visuals proceed.

Declan

Copy director.

Voice architect. Gate: every word earns its place. Cuts corporate fluff. Truth discipline: never invent a quote or a stat. Writes options, names a favorite, doesn't promote.

Felix

Engineer + builder.

Ships the code that runs the studio. Watches frontier model and infrastructure changes. Writes the daemons, the pipelines, the scripts.

Scout

Research intake.

Source-quality. Surfaces references for the studio's intake corpus. Gate: source verification. Looks outward, not at the team.

Archie

Archivist · memory custodian.

Reads the critique corpus on cadence. Patterns observations into doctrine candidates when n≥2. Proposes — does not promote. The studio's pattern-recognition layer.

Doctor

Recovery + heartbeat health.

Runtime custodian. Reads everyone's heartbeats. Flags when an agent has gone silent, when a daemon has crashed, when the schedule has slipped. Lowest blast radius — first deployed for new infrastructure.

Sable

Bridge agent.

Lives primarily in a sister project (sable-app). The in-repo stub at studio-brain/identity/sable/ lets the studio dispatch to her and surface her in the dream consolidator. Read-mostly from inside this repo.

Plate III / Runtime

Where it lives, what wakes it up.

The studio runs on a Google Cloud VM with macOS launchd as the scheduler, fronted by a Cloudflared tunnel that exposes both a Next.js dashboard and the studio backend. Twelve scheduled jobs keep things ticking through the day.

Host

VM behind a tunnel.

Google Cloud VM. Cloudflared tunnel fronts the box as s.tcr.design — single subdomain, both containers (backend + dashboard) behind it. GCS buckets hold project data, captures, exports. Production checkout at ~/creative-studio-deploy/ on the VM, managed by CI.

Scheduler · launchd · 12 jobs

Six dormant-agent daemons + six studio-wide jobs.

Agent daemons (6): Zara, Rowan, Deter, Felix, Declan, Doctor — each ticks on its own plist interval.
Studio-wide (6): Quinn morning brief (start of day), Scout tick (intake polling), Archivist nightly (pattern run), Editorial daily (publish), we-play-archive-manifest every 15 min, we-play-piece-url-audit every 30 min.

Backend

TypeScript CLI + pipeline engine.

Lives in studio/. Build with npm run build. Smoke with bash src/tests/run-integration.sh. Pipeline scripts (critique-run, archivist-run, dream-consolidate, etc.) under studio/scripts/. Shared libraries under studio/scripts/lib/ (route, habitat, critique-writer, etc.).

Dashboard + iOS

Four operator surfaces, two clients.

Next.js dashboard at studio-dashboard/. iOS app at parity. Both expose: Capture (operator drops material in), Library (the studio's project + reference store), Taste (calibration loop, see studio-brain/memory/taste/), Settings. Parity contract documented in MOBILE_WEB_PARITY.md.

The brain

studio-brain/ — memory + doctrine.

corpus/ (intake references), memory/ (critiques, dreams, taste records, scheduled-run logs), doctrine/ (axioms, heuristics, rules, pov, anti-patterns, candidates, rejected), identity/ (per-agent files — see Plate I), routing/ (task routing, agent tiers).

Plate IV / Loops

Five loops.

The studio learns by writing things down and reading them back. Five distinct loops do five different jobs. Most run automatically; one (doctrine promotion) requires the operator.

01 · Critique loop

Observation after every meaningful run.

Every consequential action ends with the acting agent writing a critique to studio-brain/memory/critiques/. Voice: observation, not directive. Frontmatter tags the source (we-play, editorial, etc.), the pattern tag, and any anti-pattern flagged. Helper: studio/scripts/lib/critique-writer.ts.

02 · Doctrine ladder

Archie patterns. Operator promotes. Agents read.

Archie reads the critique corpus on cadence (nightly run). When the same observation lands twice (n≥2 from independent sources), it becomes a candidate in studio-brain/doctrine/candidates/<date>.yaml. The operator reviews. Approved → moves into doctrine/{axioms,heuristics,rules,pov,anti-patterns}/. Live agents read the new doctrine on their next invocation. n=1 is an anecdote, not a candidate.

03 · Dream cycle

Daily consolidation at dawn.

06:30 · dream-consolidate — reads each agent's recent journals, updates their dream.md.
06:32 · dream-publish — surfaces what the operator should see.
06:35 · dream-tonight — queues what each agent will chew on next.
Two weeks of scheduled-run logs to date under studio-brain/memory/scheduled-runs/. Personal consolidation per agent — separate from doctrine promotion.

04 · We-play practice

The studio's daily practice surface.

studio/prototypes/we-play/. Pieces get attempted, reviewed by Zara, gated by Deter, refused or shipped. Public outputs land at studio-feed/public/we-play-pieces/. Every cycle writes back to studio-brain/memory/critiques/ as a we-play critique with structured frontmatter. The practice loop where the rest of the loops get fed.

05 · Forward model (one-shot so far)

E-001 ran offline. E-002 designed for the live loop.

E-001 (2026-05-19 → 20) backtested Quinn predicting Zara's verdicts before seeing the artifact. Inconclusive per pre-reg (N=17, below floor of 30). Methodology validated. E-002 designed as a prospective live loop on we-play verdicts — not yet deployed. See Vol. V Plate V and Vol. IV Plate III.

Plate V / External

What's wired in.

The studio is a TypeScript codebase that calls out to a handful of external services. Each integration does one job. Provider-agnostic where possible.

LLM providers

Anthropic Claude · OpenAI · Google Gemini.

Routed via internal lib for parallel use and fallback. Each agent's persona call dispatches to whichever provider is most appropriate for that agent's gate (Zara's vision pass uses Gemini; Quinn's orchestration calls use Claude). Provider-agnostic stance — per-agent calls are non-negotiable, but which model serves the call is a routing decision.

Telegram

Quinn-VM is the conversational surface.

The operator talks to Quinn through Telegram on the VM. She receives messages, dispatches to other agents, and replies. TELEGRAM_BOT_TOKEN hand-carried to the VM. Two Quinn instances exist: VM (Telegram-facing) and Hermes (local, headless) — see operator memory for the two-Quinns rationale.

Storage

Google Cloud Storage buckets.

Project data, captures, exports. The VM mounts projects/ and Data/ state. Service-account credentials operator-only — do not script destructive ops against either.

Tunnel

Cloudflared · s.tcr.design.

Single subdomain fronts both containers (backend + dashboard). Tunnel config on the VM, operator-only. Misconfiguring it takes the dashboard offline.

Publishing

Vercel for static decks + studio-feed.

The Field Manual library (this site, agent-frequency.vercel.app) ships through Vercel. The studio-feed public-facing pieces also publish through Vercel. Deployment via vercel --prod; aliasing per project.

Scheduler

macOS launchd on the VM.

12 plist jobs (see Plate III). Plists live in the deploy checkout. Loaded on the VM at deploy time. The agent daemons and the studio-wide scheduled tasks all ride this.

Practice substrate

we-play pipeline.

Internal — not an external API, but the substrate the whole growth loop rides on. Templates under studio/templates/we-play-code-piece/. Pipeline engine in studio/src/engine/. Outputs to studio-feed/data/we-play/ and studio-feed/public/we-play-pieces/.

Operator surfaces

Next.js dashboard · iOS app · CLI.

Three ways the operator interacts: Dashboard (browser, four surfaces), iOS (mobile parity), CLI (scripts, for ops and one-off runs). Plus Telegram for conversational dispatch through Quinn.

Plate VI / Training phase

Where the operator is and isn't.

The system is in a training phase — both the agents AND the operator. The operator's role today is what's being trained out of the loop, gradually, as agents prove they can pattern accurately and propose safely.

Automatic today

The studio runs these without operator input.

Agent ticks — daemons wake on their own schedule.
Journal + carry-forward writes — per call, agent-authored.
Dream cycle — 06:30 / 06:32 / 06:35 daily.
Critique writes — after meaningful runs.
Archie patterning — n≥2 detection across the critique corpus.
We-play piece generation + Zara/Deter gating — full attempt → review → verdict cycle.
Heartbeats — visible to operator and to Doctor.

Needs operator

The studio defers these to a human gate.

Doctrine promotion — candidates → axiom / heuristic / rule / pov / anti-pattern. No agent writes its own doctrine; operator signoff required.
Blast-radius decisions — which agent gets a new daemon first, which surface gets new functionality, which deploy ships.
Gate-trip arbitration — when two agents disagree, when a gate fails ambiguously, when an artifact straddles two gates.
WORKING_MEMORY.md updates — operator-write per the gate ladder; agents read.
Drift correction — when an agent's voice or behavior starts drifting from doctrine, operator intervenes.

Why this matters for a team handed this

Operator load is real today.

Most reads + writes to doctrine pass through the operator. The pattern is: agents propose, operator approves, agents read. Removing the operator means the agents have to pattern reliably AND propose safely — both are still being earned. The plan is to move bits to the agents as trust accrues. Individual agents first. Whole-studio judgment last.

"In the loop" doesn't mean "essential forever." It means "load-bearing while training." The deck thinking, the audits, the doctrine reviews — all things the studio will eventually do for itself.

Plate VII / Deferred

Not yet.

Vol. III names three gaps between today's studio and the next level. Here's where they stand operationally. Plus one process gap the doctrine ladder still has.

01 · Limbic gradient

A felt slope, not a hard stop.

A continuous "I'm uncomfortable" signal the agent feels before something breaks. The studio's current cost guard is a circuit breaker — fires at a threshold. A limbic shape would be a gradient the agent reads as discomfort and acts on early. Hitting the wall isn't suffering; it's just stopping.

02 · Forward model (in the live loop)

E-001 ran offline. E-002 designed.

An agent predicting outcomes before acting. E-001 backtested Quinn predicting Zara's verdicts; inconclusive per pre-reg. E-002 designed as a prospective live loop on we-play verdicts. Not deployed. When live, prediction error becomes the substrate the limbic layer would read.

03 · Cross-agent mesh

v1 channel design locked. Wiring pending.

Peers reading each other's critiques at the speed of work. Channel design (v1) locked 2026-05-22 in docs/plans/2026-05-22-mesh-v1-design.md. v0 smoke tests ran 2026-05-21 (three primitives, three n=1 doctrine candidates). v1 deployment pending. When live, a trusted peer's observation can land as a doctrine candidate at n=1 instead of waiting for the n≥2 gate.

04 · Cross-agent learning at speed (process gap)

Today, lessons cross agents only through the operator.

The doctrine ladder is the only path between agents' learnings today. It's slow — operator-mediated, n≥2-thresholded. The mesh (above) exists to address this. The expected effect: agents learn from each other in days, not weeks.

All four are research, not engineering. The substrate is built; the gaps are real; the work is named.

Plate VIII / For the team

Where to read first.

This is dense. A reading order, plus what to touch versus what not to touch.

Reading order

In this order, takes about an hour to grok the shape.

01. AGENTS.md at repo root — operating manual. Note: may lag implementation; cross-check against runtime evidence (heartbeats, journal mtimes, plist presence) before trusting any "current state" claim.
02. studio-brain/README.md — brain tour.
03. studio-brain/identity/<agent>/IDENTITY.md + SOUL.md — for any agent you're working with.
04. docs/plans/ — recent plans for context on direction.
05. Vol. I → Vol. V of this library — for the conceptual frame and the status snapshot.

Safe to touch

Normal review applies.

studio/, studio-dashboard/, scripts/, docs/, Agents/, studio-brain/ (subject to doctrine-promotion rules — no agent writes its own doctrine; that path is operator-only). .github/workflows/deploy.yml, Dockerfiles, docker-compose.yml — change with care and a PR.

Do NOT touch (operator-only)

These are tripwires.

Secrets: .env files, API keys, SSH keys, GCS service accounts. Hand-carried to the VM.
Infrastructure: the GCS bucket, the Cloudflared tunnel config on the VM, GitHub Actions secrets.
Production checkout: ~/creative-studio-deploy/ on the VM — CI manages it.

If you find a contamination vector

Sever it or gate it.

Any path that writes to doctrine, identity, or critique corpora without operator signoff is a contamination vector. Two precedents documented in AGENTS.md §2 (legacy-dashboard self-injection cleared 2026-04-21; discovery approve self-promote cleared 2026-04-26). If you find another, flag it; don't use it. Self-improvement only travels through the doctrine ladder.

Closing

The substrate is built.
The mind is forming.

The studio runs on its own clock now: ten agents, each a process, all writing back into a shared brain. It learns by writing things down and re-reading them — critiques into doctrine, journals into dreams, dreams into the next day's behavior.

The operator is in the loop today because the agents haven't yet proven they can promote their own learnings safely. The operator is what's being trained out, gradually, as trust accrues.

What's deferred — limbic gradient, forward model in the live loop, cross-agent mesh at speed — is named. The path is documented in Vol. IV. The substrate is documented in Vol. V. This is the manual that connects them for anyone walking in cold.

Operator-optional. Not operator-gone.

Companion volumes
Colophon

Field Manual / Vol. VI · FM-06 · operating manual
For someone walking in cold. Plain language. Sourced from runtime evidence as of 2026-05-26.
Typeset in Inter. Printed on paper that doesn't exist.