~bigbes/agents-dev · parade

main · last commit 13 days ago · 7g0stsfu

← Back to the parade

ah-xuc.4 store: migration v2 — per-run timeout column Past Stand

status: closed P2 task @Eugene Blikh
bd reopen ah-xuc.4
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-07-13T05:15:22Z
Started2026-07-13T05:44:25Z
Updated2026-07-13T06:22:49Z
Closed2026-07-13T06:22:49Z
Description
The effective timeout can differ per run once Task Spec overrides land, and a daemon restart must keep enforcing the right deadline, so it is persisted on the run row.

Schema user_version 2: runs gains timeout_seconds INTEGER NOT NULL DEFAULT 0 (0 = config default at enforcement time). Fresh databases create straight at v2; existing v1 files get ALTER TABLE on open. Follow the existing hand-rolled migrator (PRAGMA user_version gate, BEGIN IMMEDIATE serialization, first-boot busy retry — keep every one of those properties). CreateRun/UpdateRun/LatestRun round-trip domain.Run.Timeout, stored as integer seconds.
Acceptance criteria
go test ./internal/store/... green, go vet clean; tests: fresh create lands at user_version 2; a v1 database upgrades in place preserving rows; timeout round-trips; existing first-boot race tests keep passing

Depends on

  • ah-xuc — Stage 2: webhooks, Task Spec, full buckets, Telegram, srht push, watchdog parent-child closed
  • ah-xuc.1 — Stage 2 foundation: domain buckets/outcome, ports contracts, config surface blocks closed

Depended on by

  • ah-xuc.8 — reconcile: spec-driven claim, Triage bounce, parked buckets, per-run timeout blocks

Unblocks — everything waiting on this, transitively

  • ah-xuc.8 — reconcile: spec-driven claim, Triage bounce, parked buckets, per-run timeout blocks closed
  • ah-xuc.9 — reconcile: publish review branch, watchdog on stale events, Telegram notifications blocks closed
  • ah-xuc.12 — docs: sync SPEC with Stage 2 behavior blocks closed
  • ah-xuc.10 — cmd/agenthubd: wire webhook secret and Telegram notifier blocks closed
  • ah-xuc.11 — e2e: Stage 2 flows — webhook poke, Triage bounce, skills, publish, watchdog, Telegram blocks closed

No comments.

Close reason

c04f7d7; step-list migrator preserves all race properties (verified under -race); review clean
  • Eugene Blikh added under epic ah-xuc · 2026-07-13T08:15:21Z
  • Eugene Blikh created the issue · 2026-07-13T08:15:21Z
  • Eugene Blikh added dependency on ah-xuc.1 · 2026-07-13T08:16:48Z
  • Eugene Blikh ah-xuc.8 now depends on this · 2026-07-13T08:16:51Z
  • Eugene Blikh claimed · 2026-07-13T08:44:24Z
  • Eugene Blikh closed the issue · 2026-07-13T09:22:48Z
    c04f7d7; step-list migrator preserves all race properties (verified under -race); review clean
  • Eugene Blikh added label milestone:stage-2 · 2026-07-20T03:08:47Z
  • Eugene Blikh removed label milestone:stage-2 · 2026-07-20T03:10:25Z
Stored rows — what this pane was built from, as read
issues 1 row
id ah-xuc.4
content_hash 33d26ffac04170d2d8e34c39c29e316a661775ceecd8aa8f20c5d11929a7589d
title store: migration v2 — per-run timeout column
description The effective timeout can differ per run once Task Spec overrides land, and a daemon restart must keep enforcing the right deadline, so it is persisted on the run row. Schema user_version 2: runs gains timeout_seconds INTEGER NOT NULL DEFAULT 0 (0 = config default at enforcement time). Fresh databases create straight at v2; existing v1 files get ALTER TABLE on open. Follow the existing hand-rolled migrator (PRAGMA user_version gate, BEGIN IMMEDIATE serialization, first-boot busy retry — keep every one of those properties). CreateRun/UpdateRun/LatestRun round-trip domain.Run.Timeout, stored as integer seconds.
design
acceptance_criteria go test ./internal/store/... green, go vet clean; tests: fresh create lands at user_version 2; a v1 database upgrades in place preserving rows; timeout round-trips; existing first-boot race tests keep passing
notes
status closed
priority 2
issue_type task
assignee Eugene Blikh
estimated_minutes NULL
created_at 2026-07-13T05:15:22Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-07-13T06:22:49Z
closed_at 2026-07-13T06:22:49Z
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 c04f7d7; step-list migrator preserves all race properties (verified under -race); review clean
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-13T05:44:25Z
is_blocked 0
dependencies 3 rows
id 5669575f-fde5-5b23-900f-c355ce60fe1b
issue_id ah-xuc.4
type parent-child
created_at 2026-07-13T08:15:21Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id ah-xuc
depends_on_wisp_id NULL
depends_on_external NULL
id ac3cce7b-41cc-57f3-8c73-11f6866b23bb
issue_id ah-xuc.8
type blocks
created_at 2026-07-13T08:16:51Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id ah-xuc.4
depends_on_wisp_id NULL
depends_on_external NULL
id e38b6dff-46bf-5af3-baa9-d7fcf5c17477
issue_id ah-xuc.4
type blocks
created_at 2026-07-13T08:16:48Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id ah-xuc.1
depends_on_wisp_id NULL
depends_on_external NULL
events 5 rows
id 019f59e6-bc60-7c63-827d-9105a660bc1e
issue_id ah-xuc.4
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-07-13T08:15:21Z
id 019f5a01-55bd-7d9c-90b6-8f8b7a6fd6e3
issue_id ah-xuc.4
event_type claimed
actor Eugene Blikh
old_value {"id":"ah-xuc.4","title":"store: migration v2 — per-run timeout column","description":"The effective timeout can differ per run once Task Spec overrides land, and a daemon restart must keep enforcing the right deadline, so it is persisted on the run row.\n\nSchema user_version 2: runs gains timeout_seconds INTEGER NOT NULL DEFAULT 0 (0 = config default at enforcement time). Fresh databases create straight at v2; existing v1 files get ALTER TABLE on open. Follow the existing hand-rolled migrator (PRAGMA user_version gate, BEGIN IMMEDIATE serialization, first-boot busy retry — keep every one of those properties). CreateRun/UpdateRun/LatestRun round-trip domain.Run.Timeout, stored as integer seconds.","acceptance_criteria":"go test ./internal/store/... green, go vet clean; tests: fresh create lands at user_version 2; a v1 database upgrades in place preserving rows; timeout round-trips; existing first-boot race tests keep passing","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-13T05:15:22Z","created_by":"Eugene Blikh","updated_at":"2026-07-13T05:15:22Z"}
new_value {"assignee":"Eugene Blikh","status":"in_progress"}
comment NULL
created_at 2026-07-13T08:44:24Z
id 019f5a24-7cf2-7c4c-83c2-a2e967f76383
issue_id ah-xuc.4
event_type closed
actor Eugene Blikh
old_value
new_value c04f7d7; step-list migrator preserves all race properties (verified under -race); review clean
comment NULL
created_at 2026-07-13T09:22:48Z
id 019f7cda-9354-7ac5-b704-23ae0dbd51e2
issue_id ah-xuc.4
event_type label_added
actor Eugene Blikh
old_value NULL
new_value NULL
comment Added label: milestone:stage-2
created_at 2026-07-20T03:08:47Z
id 019f7cdc-122e-74a7-b004-62f5a3142a94
issue_id ah-xuc.4
event_type label_removed
actor Eugene Blikh
old_value NULL
new_value NULL
comment Removed label: milestone:stage-2
created_at 2026-07-20T03:10:25Z