Skip to content

The Journalist

The Journalist is Groove's background synthesis engine. It watches what every agent does and distills it into living documentation that any agent can read on spawn.

The Cold-Start Problem

Every AI coding session starts the same way: the model spends thousands of tokens rediscovering the project. It reads files, asks about structure, traces dependencies. If you have run five sessions today, you have paid for that discovery five times.

Across the industry, cold-start context re-establishment is one of the largest sources of wasted tokens. It gets worse with teams of agents — each new spawn repeats the same exploration.

How the Journalist Solves It

The Journalist maintains a single file — GROOVE_PROJECT_MAP.md — that contains the full synthesized state of the project. When a new agent spawns, it reads this file and immediately knows:

  • What the project is and how it is structured
  • What every other agent has done and is currently doing
  • What decisions have been made and why
  • What files have been created, modified, or deleted

No re-exploration. No wasted tokens. One read and the agent is fully oriented.

Synthesis Cycle

The Journalist runs on two triggers:

  1. Timer — every 120 seconds while agents are active
  2. Completion — immediately when any agent finishes its task

Each cycle collects recent agent activity, filters and trims it to fit within a 40K character input budget, and sends it to a Haiku model for synthesis.

What It Produces

GROOVE_PROJECT_MAP.md

A living project map that includes architecture, active work, recent changes, and inter-agent coordination notes. Updated every cycle.

GROOVE_DECISIONS.md

A chronological log of significant decisions made during the session — architectural choices, dependency selections, API design decisions — with reasoning.

Per-Agent Session Logs

Each agent gets a dedicated log capturing its activity. These feed into handoff briefs during context rotation.

File Tracking

The Journalist tracks which files each agent creates, modifies, and reads by parsing raw stdout logs:

  • getAgentFiles — extracts file paths from tool calls in the agent's output
  • getAgentResult — determines the outcome of the agent's session (what it built, what it changed)

This data feeds into the project map, the agent registry, and handoff briefs.

AI Synthesis

Synthesis is performed by a headless Haiku call (claude -p) with the collected activity as input. The 40K character budget ensures the call stays fast and cheap.

If the AI synthesis fails for any reason, the Journalist falls back to a structural summary built from the raw data — no cycle is ever skipped.

Cost

At Haiku rates, the Journalist costs approximately $0.33 per hour of active use. For context, that is less than the tokens wasted by a single cold-start re-exploration in most projects.

How Agents Use It

When a new agent spawns, its introduction context includes the current project map. During context rotation, the handoff brief references the latest synthesis. The result is that every agent — whether it is the first or the fifteenth — starts with full project awareness.

FSL-1.1-Apache-2.0