~bigbes/agents-dev · parade

main · last commit 13 days ago · 7g0stsfu

← Back to the parade

ah-07g Investigate unbounded .task/events.jsonl (202MB for one design run) Past Stand

status: closed P3 task @Eugene Blikh
bd reopen ah-07g
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-07-18T06:30:22Z
Started2026-07-18T13:21:59Z
Updated2026-07-18T14:48:24Z
Closed2026-07-18T14:48:24Z
Description
task-2/.task/events.jsonl was 202 MB for a single ~2min run producing a 100-line doc. pi event stream persisted verbatim, no truncation/rotation, under work_root. work_root fills fast. Investigate pi verbosity, whether events.jsonl is needed post-run, add rotation/cap or prune-on-Done.
Design
DECIDED 2026-07-18 (user): 'remove worktree, but backup .task and additional docs'. Policy:
- When a card reaches Done or Cancelled and its worktree still exists: archive FIRST, then 'git worktree remove --force'.
- Archive = tar.gz containing .task/ (PROMPT.md, summary.md, events.jsonl, *.json) PLUS any files in the worktree that are uncommitted relative to the branch head (untracked + modified) — i.e. everything that would be lost with the worktree. Branch itself is the durable artifact and is NOT touched.
- Archive location: config archive_dir, default <work_root>/archive/, file task-<id>.tar.gz (overwrite on re-archive).
- Failed/In Review/etc: untouched (zellij attach + debugging still want the worktree).
- events.jsonl compresses ~10-20x (repeated JSON context), so backup satisfies keep-for-debug without the 202MB/run disk cost.
Notes
INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in <worktree>/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision.

Depends on

No outgoing dependencies.

Depended on by

  • ah-ydx.3 — Memory lifecycle: load-on-claim CONTEXT section, save-on-Done blocks

No comments.

Close reason

Merged 3e2eb3c: Done/Cancelled cards get .task/ + uncommitted files archived to archive_dir/task-<id>.tar.gz (stdlib tar+gzip, atomic overwrite, archive-before-remove), then git worktree remove --force; branch kept; worktree_archived/worktree_gone events. Live verify (drag a Done card, check archive) after next CI deploy.
  • Eugene Blikh created the issue · 2026-07-18T09:30:21Z
  • Eugene Blikh updated notes to INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in <worktree>/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision. · 2026-07-18T09:42:06Z
  • Eugene Blikh claimed · 2026-07-18T16:21:59Z
  • Eugene Blikh updated design to DECIDED 2026-07-18 (user): 'remove worktree, but backup .task and additional docs'. Policy: - When a card reaches Done or Cancelled and its worktree still exists: archive FIRST, then 'git worktree remove --force'. - Archive = tar.gz containing .task/ (PROMPT.md, summary.md, events.jsonl, *.json) PLUS any files in the worktree that are uncommitted relative to the branch head (untracked + modified) — i.e. everything that would be lost with the worktree. Branch itself is the durable artifact and is NOT touched. - Archive location: config archive_dir, default <work_root>/archive/, file task-<id>.tar.gz (overwrite on re-archive). - Failed/In Review/etc: untouched (zellij attach + debugging still want the worktree). - events.jsonl compresses ~10-20x (repeated JSON context), so backup satisfies keep-for-debug without the 202MB/run disk cost. · 2026-07-18T16:21:59Z
  • Eugene Blikh ah-ydx.3 now depends on this · 2026-07-18T16:25:06Z
  • Eugene Blikh closed the issue · 2026-07-18T17:48:23Z
    Merged 3e2eb3c: Done/Cancelled cards get .task/ + uncommitted files archived to archive_dir/task-<id>.tar.gz (stdlib tar+gzip, atomic overwrite, archive-before-remove), then git worktree remove --force; branch kept; worktree_archived/worktree_gone events. Live verify (drag a Done card, check archive) after next CI deploy.
Stored rows — what this pane was built from, as read
issues 1 row
id ah-07g
content_hash bac07329270d597d113053b517e9dfaf960a2c01112410a47ffc02a9fde7bcf3
title Investigate unbounded .task/events.jsonl (202MB for one design run)
description task-2/.task/events.jsonl was 202 MB for a single ~2min run producing a 100-line doc. pi event stream persisted verbatim, no truncation/rotation, under work_root. work_root fills fast. Investigate pi verbosity, whether events.jsonl is needed post-run, add rotation/cap or prune-on-Done.
design DECIDED 2026-07-18 (user): 'remove worktree, but backup .task and additional docs'. Policy: - When a card reaches Done or Cancelled and its worktree still exists: archive FIRST, then 'git worktree remove --force'. - Archive = tar.gz containing .task/ (PROMPT.md, summary.md, events.jsonl, *.json) PLUS any files in the worktree that are uncommitted relative to the branch head (untracked + modified) — i.e. everything that would be lost with the worktree. Branch itself is the durable artifact and is NOT touched. - Archive location: config archive_dir, default <work_root>/archive/, file task-<id>.tar.gz (overwrite on re-archive). - Failed/In Review/etc: untouched (zellij attach + debugging still want the worktree). - events.jsonl compresses ~10-20x (repeated JSON context), so backup satisfies keep-for-debug without the 202MB/run disk cost.
acceptance_criteria
notes INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in <worktree>/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision.
status closed
priority 3
issue_type task
assignee Eugene Blikh
estimated_minutes NULL
created_at 2026-07-18T06:30:22Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-07-18T14:48:24Z
closed_at 2026-07-18T14:48:24Z
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason Merged 3e2eb3c: Done/Cancelled cards get .task/ + uncommitted files archived to archive_dir/task-<id>.tar.gz (stdlib tar+gzip, atomic overwrite, archive-before-remove), then git worktree remove --force; branch kept; worktree_archived/worktree_gone events. Live verify (drag a Done card, check archive) after next CI deploy.
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at 2026-07-18T13:21:59Z
is_blocked 0
dependencies 1 row
id 01f6825a-b2d8-5f97-9875-54a81da49f60
issue_id ah-ydx.3
type blocks
created_at 2026-07-18T16:25:06Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id ah-07g
depends_on_wisp_id NULL
depends_on_external NULL
events 5 rows
id 019f73eb-336f-792f-b2ff-2893e3883189
issue_id ah-07g
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-07-18T09:30:21Z
id 019f73f5-f38e-7bb4-91d4-89df1389eeb2
issue_id ah-07g
event_type updated
actor Eugene Blikh
old_value {"id":"ah-07g","title":"Investigate unbounded .task/events.jsonl (202MB for one design run)","description":"task-2/.task/events.jsonl was 202 MB for a single ~2min run producing a 100-line doc. pi event stream persisted verbatim, no truncation/rotation, under work_root. work_root fills fast. Investigate pi verbosity, whether events.jsonl is needed post-run, add rotation/cap or prune-on-Done.","status":"open","priority":3,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-18T06:30:22Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T06:30:22Z"}
new_value {"notes":"INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in \u003cworktree\u003e/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision."}
comment NULL
created_at 2026-07-18T09:42:06Z
id 019f7564-0cef-7a68-a953-9969886e28fb
issue_id ah-07g
event_type claimed
actor Eugene Blikh
old_value {"id":"ah-07g","title":"Investigate unbounded .task/events.jsonl (202MB for one design run)","description":"task-2/.task/events.jsonl was 202 MB for a single ~2min run producing a 100-line doc. pi event stream persisted verbatim, no truncation/rotation, under work_root. work_root fills fast. Investigate pi verbosity, whether events.jsonl is needed post-run, add rotation/cap or prune-on-Done.","notes":"INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in \u003cworktree\u003e/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision.","status":"open","priority":3,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-18T06:30:22Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T06:42:06Z"}
new_value {"assignee":"Eugene Blikh","status":"in_progress"}
comment NULL
created_at 2026-07-18T16:21:59Z
id 019f7564-0e1e-7cfc-b6ba-dd3f965fb5dd
issue_id ah-07g
event_type updated
actor Eugene Blikh
old_value {"id":"ah-07g","title":"Investigate unbounded .task/events.jsonl (202MB for one design run)","description":"task-2/.task/events.jsonl was 202 MB for a single ~2min run producing a 100-line doc. pi event stream persisted verbatim, no truncation/rotation, under work_root. work_root fills fast. Investigate pi verbosity, whether events.jsonl is needed post-run, add rotation/cap or prune-on-Done.","notes":"INVESTIGATION (2026-07-18): events.jsonl is pi's raw event stream, persisted verbatim by pi in \u003cworktree\u003e/.task/. 210MB for task-2's ~2min run; lines up to ~100KB each (full message/context per event). Worktrees are NOT pruned on terminal state (task-1 and task-2 both still on disk under work_root). Two levers: (a) pi-side — reduce event verbosity / don't persist full context per event (pi is external, needs a flag or upstream change); (b) daemon-side — prune the worktree or at least .task/events.jsonl when a task reaches Done (NOT In Review, where zellij-attach/review still want it). Retention policy is a user call: keep-for-debug vs disk. No code changed yet — needs a retention-policy decision.","status":"in_progress","priority":3,"issue_type":"task","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-07-18T06:30:22Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T13:21:59Z","started_at":"2026-07-18T13:21:59Z"}
new_value {"design":"DECIDED 2026-07-18 (user): 'remove worktree, but backup .task and additional docs'. Policy:\n- When a card reaches Done or Cancelled and its worktree still exists: archive FIRST, then 'git worktree remove --force'.\n- Archive = tar.gz containing .task/ (PROMPT.md, summary.md, events.jsonl, *.json) PLUS any files in the worktree that are uncommitted relative to the branch head (untracked + modified) — i.e. everything that would be lost with the worktree. Branch itself is the durable artifact and is NOT touched.\n- Archive location: config archive_dir, default \u003cwork_root\u003e/archive/, file task-\u003cid\u003e.tar.gz (overwrite on re-archive).\n- Failed/In Review/etc: untouched (zellij attach + debugging still want the worktree).\n- events.jsonl compresses ~10-20x (repeated JSON context), so backup satisfies keep-for-debug without the 202MB/run disk cost."}
comment NULL
created_at 2026-07-18T16:21:59Z
id 019f75b3-2929-7144-a047-3fd054ba575a
issue_id ah-07g
event_type closed
actor Eugene Blikh
old_value
new_value Merged 3e2eb3c: Done/Cancelled cards get .task/ + uncommitted files archived to archive_dir/task-<id>.tar.gz (stdlib tar+gzip, atomic overwrite, archive-before-remove), then git worktree remove --force; branch kept; worktree_archived/worktree_gone events. Live verify (drag a Done card, check archive) after next CI deploy.
comment NULL
created_at 2026-07-18T17:48:23Z