Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Proposal: remove the subagent-checkpoint machinery (pre-task/post-task/post-todo) — likely unneeded

Aperta
#1,807 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
go, typescript
Ambito
cli, devtools

Direzione di ricerca

Inizia leggendo i percorsi lifecycle e strategy in cmd/entire/cli/lifecycle.go e cmd/entire/cli/strategy/, quindi esamina checkpoint/ephemeral.go, persistent.go, state.go e api/src/lib/checkpoint-payload-hydrator.ts. Verifica che i comandi product e live non consumino dati a livello di attività prima di decidere se sia possibile rimuovere gli hook cross-agent e i relativi test e documenti. Il lavoro è completato quando la decisione è implementata in modo coerente nei quattro agenti senza perdere la normale acquisizione dei checkpoint di Stop.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Proposal

Evaluate removing the subagent / task-checkpoint subsystem — the pre-task, post-task, and post-todo hooks and everything they feed. Investigation suggests it produces data that nothing consumes.

Raised as the deferred follow-up from #1806 (which repaired the Claude Code matchers so these hooks fire again). This issue is the "do we even want this granularity?" decision.

What this subsystem is

  • pre-task — snapshots untracked files before a subagent runs (baseline helper)
  • post-task — on subagent finish, writes a task checkpoint to the shadow branch bundling the subagent's file diff + its own transcript (agent-<id>.jsonl) + attribution (subagent_type, task_description, agent_id, tool_use_id)
  • post-todo — cuts incremental checkpoints during a long subagent run

Backed by shared machinery: handleLifecycleSubagentStart/End (cmd/entire/cli/lifecycle.go), SaveTaskStep / TaskStepContext (cmd/entire/cli/strategy/), task-checkpoint write paths (cmd/entire/cli/checkpoint/ephemeral.go, persistent.go), and pre-task state (cmd/entire/cli/state.go).

Why it looks unneeded

The product consumes session-level data only (checked in entire.io):

  • Ingestion reads full.jsonl / transcript.jsonl for session index 0 (api/src/lib/checkpoint-payload-hydrator.ts). Subagent transcripts (agent-*.jsonl) are never read.
  • is_task / tool_use_id are parsed into SessionInfo once (api/src/lib/github.ts:660-661) then never queried or displayed.
  • subagent_type, task_description, is_incremental, incremental_sequence, agent_id, is_task_checkpoint → 0 matches anywhere in the product. No UI renders subagents.

Local consumers are dead or cosmetic:

  • rewind (the one feature using subagent-boundary checkpoints) is deprecated and slated for removal.
  • Remaining use is [Task] labels in checkpoint list / explain — navigational garnish.

Cross-agent: the machinery is shared by Claude Code, Cursor, Factory AI Droid, and Copilot CLI. On Claude Code it was dead (the #1806 matcher bug); on the other three it fires today but produces the same inert task checkpoints.

What we'd lose: nothing consumed

  • Code the subagent writes is still captured by the Stop / turn checkpoint (whole-worktree). No code loss in the common single-worktree flow.
  • Subagent transcript, per-subagent rewind points, attribution, per-subagent tokens — none are read by the product or any live command.

One honest caveat: subagents in an isolated worktree aren't covered by Stop, and post-task was the only thing that would capture them. But that protection doesn't effectively exist today (hooks were broken/unconsumed), so removal doesn't regress vs current reality. If isolated-worktree subagent capture ever becomes a real requirement, it's a fresh, correctly-scoped feature.

Removal scope (if approved)

  • Hook install + lifecycle parse across the 4 agents (subagent-start/stop, pre-tool-use/post-tool-use, Claude matchers)
  • Shared dispatch cases (SubagentStart/SubagentEnd in lifecycle.go; subagent classification in hook_registry.go)
  • Strategy: SaveTaskStep, TaskStepContext, task-checkpoint write paths in checkpoint/ephemeral.go + persistent.go
  • pre-task state (state.go), post-todo handler
  • The deprecated rewind task-checkpoint branch (already going away)
  • Tests + docs across all four agents

Decision needed

Keep (bet on a future subagent-level product feature — the dead isTask parse suggests it was once intended) or remove (delete unconsumed cross-agent complexity).

If we're not going to surface subagent-level data in the product in the foreseeable future, the recommendation is remove.

/cc — deferred from #1806

Lingua principale
Go
Stelle
5.1k
Fork
475
Merge medio
1g 17h
PR unite (30g)
212

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di entireio/cli

Tutte le issue di entireio/cli

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.