summaryrefslogtreecommitdiff
path: root/integrationtests/ask_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-07 09:15:08 +0300
committerPaul Buetow <paul@buetow.org>2026-04-07 09:15:08 +0300
commit695b0b5c3572494c98c45fdacd74d777ab37d36e (patch)
treeaa8fafc57998d30d2d03e87aca216ac00896508d /integrationtests/ask_test.go
parent4185a422395bfe9d40c6f934fd56663d223bf782 (diff)
fix: recover gracefully from corrupted alias cache instead of hard-failing
When the task alias cache file contains invalid JSON (e.g. from a concurrent write race producing two concatenated JSON objects), the previous code returned a hard error that blocked all `ask` subcommands. Now loadTaskAliasCache discards the corrupt file and starts fresh, assigning new alias IDs on the next run. Validation errors (e.g. next_id reuse) still surface as errors since those indicate a logic bug. Also fix stale v1 reference in integration test aliasCachePath. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'integrationtests/ask_test.go')
-rw-r--r--integrationtests/ask_test.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/integrationtests/ask_test.go b/integrationtests/ask_test.go
index 0ce36fe..0ebdb01 100644
--- a/integrationtests/ask_test.go
+++ b/integrationtests/ask_test.go
@@ -272,7 +272,7 @@ func mustTaskAlias(t *testing.T, ctx context.Context, uuid string) string {
func aliasCachePath(t *testing.T, cacheRoot string) string {
t.Helper()
- return filepath.Join(cacheRoot, "hexai", "ask", "task-aliases-v1.json")
+ return filepath.Join(cacheRoot, "hexai", "ask", "task-aliases-v2.json")
}
// cleanupOrphanedIntegrationTasks deletes any tasks with the +integrationtest