{"nodes": [{"id": "todo_todo_backlog", "label": "Thingtime TODO backlog", "file_type": "document", "source_file": "TODO/TODO.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "todo_todo_cross_tab_sync", "label": "TODO #6 \u2014 cross-tab thingtime state sync", "file_type": "rationale", "source_file": "TODO/TODO.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "todo_todo_persist_reviver", "label": "TODO #9 \u2014 persist reviver corrupts strings into Dates", "file_type": "rationale", "source_file": "TODO/TODO.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}, {"id": "todo_todo_eval_csp", "label": "TODO #10 \u2014 persisted-state eval + missing CSP", "file_type": "rationale", "source_file": "TODO/TODO.md", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null}], "edges": [{"source": "todo_todo_backlog", "target": "todo_claude_todo_09_security_hardening_spec", "relation": "cites", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "TODO/TODO.md", "source_location": null, "weight": 1.0}, {"source": "todo_todo_eval_csp", "target": "todo_claude_todo_09_security_hardening_persisted_state_eval", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 0.95, "source_file": "TODO/TODO.md", "source_location": null, "weight": 1.0}, {"source": "todo_todo_cross_tab_sync", "target": "todo_todo_persist_reviver", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.7, "source_file": "TODO/TODO.md", "source_location": null, "weight": 0.7}], "hyperedges": []}