archy/.planning/WINDOWS.md

3.4 KiB

schema_version, open_count, waived_count, fixed_count, total_count, last_updated
schema_version open_count waived_count fixed_count total_count last_updated
1 3 0 0 3 2026-07-30T12:25:22.605Z

Broken Windows Ledger

Cross-phase defect register. /gsd-ship blocks while open_count > 0. Waive with gsd-tools windows waive <id> "<reason>" (reason required). Mark fixed with gsd-tools windows fixed <id>.

id phase kind file line description status reason recorded_at resolved_at
1 02 deviation neode-ui/src/stores/cloud.ts CloudFolder.vue's file listing cache lacks a TTL gate in cloudStore.navigate() — always re-issues the RPC on revisit (paints from cache instantly first, but still refetches unconditionally). Needs a TTL check added to navigate() to fully satisfy 'no new RPC within TTL'. open 2026-07-30T12:25:22.301Z
2 02 deviation neode-ui/src/views/Home.vue Wallet/send flow (SendBitcoinModal.vue via Home.vue) named by 02-FINDINGS.md as owned by 02-03 (worst-ranked revisit, 2607ms) but not in 02-03-PLAN.md's files_modified — reported as an unplanned-item gap, not converted. Cause is pure client-side remount cost (0 RPC), not a caching problem. open 2026-07-30T12:25:22.450Z
3 02 deviation neode-ui/src/views/PeerFiles.vue 02-03-PLAN.md assumed PeerFiles.vue already used useCachedResource; it actually uses the raw resources store directly (correctly per-item-keyed) with no TTL gate and the same loading/refreshing conflation bug fixed in OpenWrtGateway.vue this plan. Left untouched (out of files_modified scope) — candidate for the same fix in a future plan. open 2026-07-30T12:25:22.605Z
[
  {
    "id": 1,
    "kind": "deviation",
    "phase": "02",
    "file": "neode-ui/src/stores/cloud.ts",
    "line": null,
    "description": "CloudFolder.vue's file listing cache lacks a TTL gate in cloudStore.navigate() — always re-issues the RPC on revisit (paints from cache instantly first, but still refetches unconditionally). Needs a TTL check added to navigate() to fully satisfy 'no new RPC within TTL'.",
    "status": "open",
    "reason": "",
    "recorded_at": "2026-07-30T12:25:22.301Z",
    "resolved_at": null
  },
  {
    "id": 2,
    "kind": "deviation",
    "phase": "02",
    "file": "neode-ui/src/views/Home.vue",
    "line": null,
    "description": "Wallet/send flow (SendBitcoinModal.vue via Home.vue) named by 02-FINDINGS.md as owned by 02-03 (worst-ranked revisit, 2607ms) but not in 02-03-PLAN.md's files_modified — reported as an unplanned-item gap, not converted. Cause is pure client-side remount cost (0 RPC), not a caching problem.",
    "status": "open",
    "reason": "",
    "recorded_at": "2026-07-30T12:25:22.450Z",
    "resolved_at": null
  },
  {
    "id": 3,
    "kind": "deviation",
    "phase": "02",
    "file": "neode-ui/src/views/PeerFiles.vue",
    "line": null,
    "description": "02-03-PLAN.md assumed PeerFiles.vue already used useCachedResource; it actually uses the raw resources store directly (correctly per-item-keyed) with no TTL gate and the same loading/refreshing conflation bug fixed in OpenWrtGateway.vue this plan. Left untouched (out of files_modified scope) — candidate for the same fix in a future plan.",
    "status": "open",
    "reason": "",
    "recorded_at": "2026-07-30T12:25:22.605Z",
    "resolved_at": null
  }
]