General
What is Codaph?
What is Codaph?
- Local mirror: Append-only JSONL store in
.codaph/for deterministic timeline rendering - Mubit cloud: Shared collaborative memory for cross-contributor context and semantic search
- Codex (OpenAI)
- Claude Code (Anthropic)
- Gemini CLI (Google)
Why do I need Codaph?
Why do I need Codaph?
- Agent sessions are scattered across local files
- No shared context between team members
- Can’t query “what did the agent do last week?”
- Difficult to audit or review agent changes
- Unified timeline: All agent sessions in one place
- Collaborative memory: Team shares agent context via Mubit
- Semantic search: Query sessions by content, not just file name
- Git-like workflow:
pushlocal history,pullteam context - Diffs: See exactly what the agent changed
Is Codaph free?
Is Codaph free?
- Get one from console.mubit.ai
- Pricing varies (check Mubit website)
How does Codaph relate to Mubit?
How does Codaph relate to Mubit?
- Shared project runs across contributors
- Semantic search and context retrieval
- Timeline synchronization
- Collaborative context
- Semantic search
- Cloud backups
Setup & Installation
How do I install Codaph?
How do I install Codaph?
What is codaph init doing?
What is codaph init doing?
codaph init sets up Codaph for your project:- Creates
.codaph/directory (local mirror) - Detects agent providers (Codex, Claude, Gemini)
- Prompts for Mubit API key (optional)
- Auto-detects GitHub project ID and actor ID
- Installs git hooks (optional):
post-commit: Auto-pull after commitspost-push: Auto-pull after pushes
- Installs agent hooks (optional):
.codex/hooks/agent-complete: Auto-sync after Codex runs
- Saves project settings to
.codaph/project.json
--yes: Skip prompts, use defaults--force: Overwrite existing config--no-auto-sync: Skip hook installation--providers codex,claude: Explicitly select providers
Do I need a Mubit API key?
Do I need a Mubit API key?
- Collaborative context across team members
- Cloud backup of agent sessions
- Semantic search via
codaph mubit query
Can I use Codaph in multiple projects?
Can I use Codaph in multiple projects?
.codaph/ directory.Global settings (API keys, actor ID) are shared:Capturing Sessions
How do I capture agent sessions?
How do I capture agent sessions?
What is codaph push?
What is codaph push?
codaph push imports agent history from local directories to Codaph:What it does:- Scans agent marker directories (
.codex/,.claude/,~/.config/gemini/) - Reads agent history files (JSON/JSONL)
- Parses events and sessions
- Writes to local mirror (
.codaph/) - Syncs to Mubit cloud (if enabled)
- Deduplicates events by ID
--providers codex,claude: Select specific providers--local-only: Skip Mubit sync--no-worktrees: Don’t scan git worktrees
Does Codaph slow down my agent?
Does Codaph slow down my agent?
codaph run / codaph exec) adds:- Minimal latency (~5-10ms per event for local mirror write)
- Mubit writes are async and fail-open (don’t block agent)
Can I capture sessions from multiple agents?
Can I capture sessions from multiple agents?
- Codex (OpenAI):
.codex/history/ - Claude Code (Anthropic):
.claude/projects/*/history/ - Gemini CLI (Google):
~/.config/gemini/history/
Syncing & Collaboration
What is codaph pull?
What is codaph pull?
codaph pull syncs agent sessions from Mubit cloud to your local mirror.Workflow:- Fetches timeline from Mubit project run
- Parses events from multiple sources:
- Main timeline (
codaph:<project>) - Prompt timeline (
codaph:<project>:prompt) - Session summaries (
codaph:<project>:session-summary) - Diffs (
codaph:<project>:diff)
- Main timeline (
- Writes events to local mirror (
.codaph/) - Deduplicates by event ID
- Updates sync state (
.codaph/mubit-remote-sync-state.json)
How do teammates share agent context?
How do teammates share agent context?
What is the difference between push and pull?
What is the difference between push and pull?
| Command | Direction | Source | Destination |
|---|---|---|---|
codaph push | Local → Cloud | Agent history files | Codaph mirror + Mubit |
codaph pull | Cloud → Local | Mubit timeline | Codaph mirror |
What is sync automation?
What is sync automation?
codaph pull automatically via git hooks:Git hooks:post-commit: Pull after each commitpost-push: Pull after push to remote
.codex/hooks/agent-complete: Pull after Codex run.claude/hooks/agent-complete: Pull after Claude Code run
Advanced Features
What are git worktrees and how does Codaph handle them?
What are git worktrees and how does Codaph handle them?
What is codaph repair cloud?
What is codaph repair cloud?
codaph repair cloud replays your local mirror to Mubit cloud.Use when:- Cloud sync was interrupted
- Events missing from Mubit
- Changed project ID or run scope
- Scans local
.codaph/sessions/ - Reads all events from JSONL files
- Writes to Mubit with deduplication
- Republishes shared artifacts (session summaries, diffs)
Can I run Codaph in CI/CD?
Can I run Codaph in CI/CD?
--json flag for machine-readable output:What is the TUI?
What is the TUI?
- Session list: Browse all captured sessions
- Timeline view: See event stream for a session
- Diff view: Review code changes
- Keyboard navigation: Arrow keys, vim bindings
- Live updates: Auto-refreshes on new sessions
- Interactive terminal (no CI/headless)
- Minimum size: 80x24
- ANSI color support
Troubleshooting
How do I debug Codaph issues?
How do I debug Codaph issues?
- Mubit API key
- Project configuration
- Sync automation status
- Recent sync errors
Why is Mubit disabled?
Why is Mubit disabled?
Mubit is disabled. Set MUBIT_API_KEY...Cause: No API key found.Fix:Why are no sessions appearing?
Why are no sessions appearing?
What if git hooks conflict with other tools?
What if git hooks conflict with other tools?
codaph hooks run <hook>, which:- Acquires sync lock
- Runs
codaph pull(if automation enabled) - Releases lock
|| true ensures Codaph errors don’t block commits.Architecture & Security
Where is my data stored?
Where is my data stored?
.codaph/):- Append-only JSONL files
- Session metadata in
sessions/*/events.jsonl - Manifest in
manifest.json - Sparse indexes for performance
- Events written to project runs
- Stored in Mubit infrastructure
- Subject to Mubit privacy policy
- Global:
~/.codaph/settings.json - Per-project:
.codaph/project.json
Is my code sent to Mubit?
Is my code sent to Mubit?
codaph push.What is sent:- Event payloads (prompts, responses, tool calls)
- Code snippets from diffs
- File paths (redacted by default)
- Full file contents (only diffs)
- Credentials (redacted via security module)
- Environment variables (redacted)
src/lib/security.ts:26):- Strips secrets from payloads
- Removes common credential patterns
- Configurable via settings
What is the dual-store architecture?
What is the dual-store architecture?
.codaph/):- Purpose: Deterministic timeline/diff rendering
- Format: Append-only JSONL (one event per line)
- Indexes: Manifest, sparse indexes, eventId dedup
- Always succeeds: Writes never fail
- Purpose: Shared context, semantic search
- Format: Mubit API (events + artifacts)
- Run scopes: Project or session-level
- Fail-open: Errors don’t block local writes
How does deduplication work?
How does deduplication work?
- Mirror write: eventId index prevents duplicates locally
- Mubit write: Mubit API deduplicates by eventId
- Pull: Events already in mirror are skipped
- Multiple pulls without new remote events
- Repair cloud replaying existing events
- Team members pushing same sessions
Related
- Quickstart — Get started in 5 minutes
- Troubleshooting — Common issues and solutions
- Development — Architecture deep dive
- API Reference — Complete CLI documentation