main · last commit
13 days ago ·
7g0stsfu
ah-xuc.4 store: migration v2 — per-run timeout column
Past Stand
bd reopen ah-xuc.4
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-13T05:15:22Z |
| Started | 2026-07-13T05:44:25Z |
| Updated | 2026-07-13T06:22:49Z |
| Closed | 2026-07-13T06:22:49Z |
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.
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
ah-xuc.8
— reconcile: spec-driven claim, Triage bounce, parked buckets, per-run timeout
blocks
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
| 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 |
| 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 |
| 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 |
No comments.
Close reason