Skip to main content

Anchor (metadata.json)

The root-level metadata.json for each commit:

Field Reference

author_type Enum

contributors[].role Enum

file_changes[].attribution Enum

line_attributions[].ranges

  • 1-indexed line numbers
  • Inclusive on both ends (start and end)
  • Only covers lines added or modified in this commit
  • Lines unchanged from the parent are not represented

file_interactions[].sessions[].role Enum

turns[] Fields


Field Reference

Supported agent Values


Transcript (N/transcript.json)

The transcript is the full AI conversation in JSON format. Its internal structure varies by agent:
  • Cursor/Claude/Codex: JSONL-style array of message objects with role, content, tool calls
  • Copilot/Gemini/Zed: Platform-specific JSON format
All transcripts are:
  • Redacted: Secrets (API keys, passwords, tokens) replaced with [REDACTED]
  • Path-stripped: Absolute paths normalized to relative paths
  • Present only when transparency_mode == "on" in the parent anchor
The backend should store transcripts as opaque JSON blobs and parse them as needed.

Timeline (timeline.json, optional)

Present only when multiple sessions interacted with the same files during a commit window.

Subagent Metadata (subagents/N/metadata.json, optional)

Present alongside subagent transcripts to identify the subagent type.

JSON Response Fields (--json)

oobo anchors --json

Array of objects: sha, project, subject, timestamp, tool, tokens, sessions, ai_pct.

oobo anchor show <sha> --json

Object: sha, parents[], timestamp, author.raw, subject, tools[], tokens.{input,output,cache_read,cache_write,total}, attribution.{ai_lines,human_lines,ai_pct}, sessions[], files_changed[].

oobo recall --json

Object: query, sources[], total_hits, hits[] for local and/or remote matches.

oobo blame --json

Per-line attribution with cross-commit tracing. Each line is traced to its originating commit via git blame --porcelain, and the anchor for that commit is loaded to resolve AI/human attribution. Includes origin_sha, ai, agent, session_ids, tokens, committed_at, and message per line. See the blame command reference for the full schema.

oobo goto --json

Object: action: "goto", target, stashed (bool), memory_path (optional).

oobo back --json

Object: action: "back", label, stash_applied (bool), remaining_depth (int).

oobo settings --json

Object/array of effective setting rows. Valid keys: key, api_url, remote, transparency, tools.experimental, setup.scan_roots.

Bare oobo --json (outside a repo)

Object: projects[] and aggregate stats. Each project includes id, name, path, remote, enabled, last_activity, anchors, tokens, ai_pct.