3.4 KiB
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-shipblocks whileopen_count > 0. Waive withgsd-tools windows waive <id> "<reason>"(reason required). Mark fixed withgsd-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
}
]