Support transcripts from other coding agents (Codex, Cursor, Gemini CLI, opencode)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 45/100
Direzione di ricerca
Inizia in src/transcript.rs e leggi la logica esistente di normalizzazione e discovery di Claude Code. Scegli un agent e ispeziona il suo formato di sessione prima di aggiungere un parser, la discovery predefinita e un fixture scritto a mano in tests/fixtures/. Il lavoro è completato quando quell’agent produce valori ToolCall e AssistantText mantenendone l’ordine, mentre i controlli downstream esistenti continuano a funzionare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
backcheck reads Claude Code transcripts today. Nothing about the idea is Claude-specific —
every coding agent writes a session log containing what it said and what it ran, which is all
the analysis needs.
Widening this is the single highest-leverage change to the project: the verification engine,
the runner parsers, and the tamper detection are all agent-agnostic already.
The shape of the work
Only src/transcript.rs is Claude-specific. It normalises a
session file into three things the rest of the code consumes:
ToolCall { seq, name, input, result }— what ran, and what it printedAssistantText { seq, text, is_last }— what the agent said- ordering, so a claim can be compared against evidence that preceded it
Everything downstream (claims, evidence, verify, tamper, report) already works purely
against those types. Adding an agent means writing a parser that produces them, plus discovery
of where that agent stores its sessions.
Agents worth supporting
- OpenAI Codex CLI —
~/.codex/sessions/ - Cursor — agent session storage
- Gemini CLI —
~/.gemini/ - opencode
- Aider —
.aider.chat.history.md(a different shape: prose plus diffs) - GitHub Copilot CLI / coding agent
- Amp, Cline, Roo
Suggested approach
- Introduce a
Sourcetrait (or an enum) withparse(path) -> Transcriptand a
discover()for the agent's default session location. - Move the current Claude Code logic behind it, unchanged.
- Auto-detect by path and file shape, with
--agent <name>to force it. - Add a small fixture per agent under
tests/fixtures/— hand-written, never a real
transcript, since those contain real code and sometimes secrets.
Starting with one agent end-to-end is much more useful than a framework for all of them.
Comment here with which you're taking so two people don't write the same parser.
Worth knowing
Claude Code does not record exit codes, which is why outcomes are recovered from printed
output. If another agent does record them, that is strictly better evidence — the design
should let a source say "I know the exit code" rather than forcing everything through text
parsing.
- Lingua principale
- Rust
- Stelle
- 0
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di VectorInstitute/backcheck
-
accuracy false-negative false-positive help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
good first issue help wanted runner
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
accuracy enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 32/100
VectorInstitute/backcheck#11 ·
-
enhancement good first issue help wanted
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
VectorInstitute/backcheck#10 ·
-
enhancement good first issue help wanted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
Tutte le issue di VectorInstitute/backcheck
Issue simili
-
area: dogs area: lookout bug security
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 2 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
OpenDevicePartnership/ina4230#31 ·
I maintainer di solito rispondono entro 1 giorno
-
area:breg criticality:p3 documentation triage:needs-implementation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
registrystack/registry-stack#1713 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
posit-dev/ggsql#565 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno