{"version":"2.1.221","anchor":"task-storage-gains-an-optional-key-value-store-backend","canonical_anchor":"task-storage-gains-an-optional-key-value-store-backend","heading":"Task storage gains an optional key-value store backend","tier":"internal","area":"Background Tasks","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221\/e\/task-storage-gains-an-optional-key-value-store-backend","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.221","markdown":"### Task storage gains an optional key-value store backend\n\nTask storage can run on a key-value backend instead of JSON files, but nothing uses it yet.\n\n**What**\n\nTask read, list, claim, update, delete and max-id helpers accept an optional store handle that replaces the per-task JSON files, but nothing in this build passes one.\n\n**Details**\n\n- With a store present, tasks are enumerated via listEntries under a `task` namespace and read via readText, and deletion goes through the store using a keyed task path.\n- Locking switches to a separate `.v5-lock-anchor` path with an explicit lockfilePath.\n- Delete failures log the store's error code.\n- Plumbing only: every caller observed in this build supplies no store, so the file-based path remains in use.\n\n**Evidence**\n\n`namespace: \"task\"`, `[Tasks] Failed to delete task `\n\n- Area: Background Tasks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 2\/5\n- Present in the build but not switched on"}