Overview
TheAnchor struct is the core data structure that enriches git commits with AI context. Every commit gets exactly one anchor, which captures authorship attribution, AI session metadata, and detailed file-level statistics.
Anchor Fields
The version of oobo that created this anchor.
The git commit SHA hash.
The git branch where the commit was made.
Git author - always the human who owns the repository.
Who authored the commit and how AI was involved.See AuthorType enum for possible values.
All contributors to this commit - human(s) and AI tool(s).See Contributor struct for details.
Unix timestamp (seconds) when the commit was created.
The git commit message.
List of file paths modified in this commit.
Total lines added across all files.
Total lines deleted across all files.
Per-file breakdown with line counts and AI/human attribution.See FileChange struct for details.
Aggregate: lines added by AI across all files.
Aggregate: lines deleted by AI across all files.
Aggregate: lines added by human across all files.
Aggregate: lines deleted by human across all files.
AI contribution percentage (0.0-100.0).
List of AI session IDs linked to this commit.
AI-generated summary of the commit.
AI-detected intent behind the changes.
AI-generated reasoning about the changes.
Whether redacted session transcripts are included alongside anchor metadata on the orphan branch.See TransparencyMode enum for possible values.
AuthorType Enum
Determines who authored the commit and how AI was involved.| Value | Description |
|---|---|
agent | AI autonomously committed (non-interactive terminal + active session) |
assisted | Human committed while collaborating with AI (interactive + active session) |
human | Human committed with no AI involvement (default) |
automated | CI/CD or script (non-interactive, no AI session) |
TransparencyMode Enum
Controls whether redacted session transcripts are included on the orphan branch. Anchor metadata is always written to the branch (unless the project is ignored); this flag only controls transcripts.| Value | Description |
|---|---|
off | Metadata only - no transcripts on the orphan branch (default) |
on | Metadata + redacted transcripts on the orphan branch |
Example JSON
Optional fields like
contributors, file_changes, summary, intent, and reasoning are omitted from JSON when empty or null.Related Types
- Contributor - Individual contributors (human or AI) to a commit
- FileChange - Per-file change metadata with attribution
- Session - AI session metadata linked to commits
