[
    {
        "sin": "control-flow-on-element",
        "skill": "frontend/vue-control-flow",
        "path": "/Users/jessegall/projects/agent-journal/src/web/src/resource/DocumentPreview.vue",
        "file": "src/web/src/resource/DocumentPreview.vue",
        "line": 26,
        "scope": "<article>"
    },
    {
        "sin": "inline-case-views",
        "skill": "frontend/vue-components",
        "path": "/Users/jessegall/projects/agent-journal/src/web/src/pages/SettingsPage.vue",
        "file": "src/web/src/pages/SettingsPage.vue",
        "line": 176,
        "scope": "<SwitchCase>"
    },
    {
        "sin": "python-bare-state-predicate",
        "skill": "python/method-mood",
        "path": "/Users/jessegall/projects/agent-journal/src/features/plugins/declared.py",
        "file": "src/features/plugins/declared.py",
        "line": 112,
        "scope": "FunctionDef runs_commands"
    },
    {
        "sin": "python-conditional-statement",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/features/agent_sessions/test.py",
        "file": "src/features/agent_sessions/test.py",
        "line": 89,
        "scope": "conditional"
    },
    {
        "sin": "python-converted-argument",
        "skill": "python/pass-the-object",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 207,
        "scope": "call"
    },
    {
        "sin": "python-converted-argument",
        "skill": "python/pass-the-object",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 209,
        "scope": "call"
    },
    {
        "sin": "python-converted-argument",
        "skill": "python/pass-the-object",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 210,
        "scope": "call"
    },
    {
        "sin": "python-converted-argument",
        "skill": "python/pass-the-object",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 210,
        "scope": "call"
    },
    {
        "sin": "python-namespace-cycle",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/types.py",
        "file": "src/resources/types.py",
        "line": 6,
        "scope": "Import Loaded"
    },
    {
        "sin": "python-namespace-cycle",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/features/triggers/controller.py",
        "file": "src/features/triggers/controller.py",
        "line": 30,
        "scope": "Import Sequences"
    },
    {
        "sin": "python-namespace-dependency",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/types.py",
        "file": "src/resources/types.py",
        "line": 6,
        "scope": "Import Loaded"
    },
    {
        "sin": "python-namespace-dependency",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/features/auto_update/check.py",
        "file": "src/features/auto_update/check.py",
        "line": 18,
        "scope": "Import changed_managed"
    },
    {
        "sin": "python-namespace-dependency",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/features/auto_update/announcing.py",
        "file": "src/features/auto_update/announcing.py",
        "line": 10,
        "scope": "Import LEGACY_COPY_MARKER"
    },
    {
        "sin": "python-namespace-dependency",
        "skill": "python/dependency-direction",
        "path": "/Users/jessegall/projects/agent-journal/src/features/auto_update/routes.py",
        "file": "src/features/auto_update/routes.py",
        "line": 10,
        "scope": "Import changed_managed"
    },
    {
        "sin": "python-phantom-nullable",
        "skill": "python/type-honesty",
        "path": "/Users/jessegall/projects/agent-journal/src/supervisor.py",
        "file": "src/supervisor.py",
        "line": 74,
        "scope": "AnnAssign"
    },
    {
        "sin": "python-placeholder-filled-data",
        "skill": "python/type-honesty",
        "path": "/Users/jessegall/projects/agent-journal/src/features/family_tree/test.py",
        "file": "src/features/family_tree/test.py",
        "line": 36,
        "scope": "call"
    },
    {
        "sin": "python-placeholder-filled-data",
        "skill": "python/type-honesty",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 330,
        "scope": "call"
    },
    {
        "sin": "python-placeholder-filled-data",
        "skill": "python/type-honesty",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 330,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/plugins/test.py",
        "file": "src/features/plugins/test.py",
        "line": 747,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/plugins/test.py",
        "file": "src/features/plugins/test.py",
        "line": 771,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 89,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 89,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 91,
        "scope": "call"
    },
    {
        "sin": "python-repeated-named-call",
        "skill": "python/repeated-call-helper",
        "path": "/Users/jessegall/projects/agent-journal/src/features/status_bar/test.py",
        "file": "src/features/status_bar/test.py",
        "line": 91,
        "scope": "call"
    },
    {
        "sin": "plain-server-text",
        "skill": "plain-viewer-text",
        "path": "/Users/jessegall/projects/agent-journal/src/features/clean_slate/details.py",
        "file": "src/features/clean_slate/details.py",
        "line": 9,
        "scope": "literal"
    },
    {
        "sin": "python-loop-wrapped-in-if",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/features/sharing/page_data.py",
        "file": "src/features/sharing/page_data.py",
        "line": 74,
        "scope": "IfStmt"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/surfaces/listing.py",
        "file": "src/surfaces/listing.py",
        "line": 83,
        "scope": "starred"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/surfaces/listing.py",
        "file": "src/surfaces/listing.py",
        "line": 83,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/surfaces/listing.py",
        "file": "src/surfaces/listing.py",
        "line": 83,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/surfaces/listing.py",
        "file": "src/surfaces/listing.py",
        "line": 83,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/surfaces/listing.py",
        "file": "src/surfaces/listing.py",
        "line": 93,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/overview/counts.py",
        "file": "src/overview/counts.py",
        "line": 6,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/overview/counts.py",
        "file": "src/overview/counts.py",
        "line": 6,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/overview/counts.py",
        "file": "src/overview/counts.py",
        "line": 8,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/overview/counts.py",
        "file": "src/overview/counts.py",
        "line": 9,
        "scope": "call"
    },
    {
        "sin": "python-dict-return-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/overview/counts.py",
        "file": "src/overview/counts.py",
        "line": 14,
        "scope": "dict"
    },
    {
        "sin": "python-blank-string-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/base.py",
        "file": "src/controllers/base.py",
        "line": 39,
        "scope": "AnnAssign"
    },
    {
        "sin": "python-mutable-static-state",
        "skill": "python/fix-at-the-source",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/turns.py",
        "file": "src/providers/turns.py",
        "line": 101,
        "scope": "Assign"
    },
    {
        "sin": "python-mutable-static-state",
        "skill": "python/fix-at-the-source",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/turns.py",
        "file": "src/providers/turns.py",
        "line": 137,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 59,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 60,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 61,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 62,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 63,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 64,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 65,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 66,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 67,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 68,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 69,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 70,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 71,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 72,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 73,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 74,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 75,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 76,
        "scope": "Assign"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/claude_driver.py",
        "file": "src/providers/claude_driver.py",
        "line": 77,
        "scope": "Assign"
    },
    {
        "sin": "python-conditional-statement",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/providers/drivers.py",
        "file": "src/providers/drivers.py",
        "line": 229,
        "scope": "conditional"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 168,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 168,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 170,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 171,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 177,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 177,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 177,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 178,
        "scope": "subscript"
    },
    {
        "sin": "python-mutable-value-object",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/resources/base.py",
        "file": "src/resources/base.py",
        "line": 189,
        "scope": "ClassDef Resource"
    },
    {
        "sin": "python-invented-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/kanban/board.py",
        "file": "src/features/kanban/board.py",
        "line": 49,
        "scope": "binary"
    },
    {
        "sin": "python-blank-string-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/plans/controller.py",
        "file": "src/features/plans/controller.py",
        "line": 223,
        "scope": "Param why"
    },
    {
        "sin": "row-outside-repository",
        "skill": "rows-through-their-repository",
        "path": "/Users/jessegall/projects/agent-journal/src/engine/sessions.py",
        "file": "src/engine/sessions.py",
        "line": 217,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/stored.py",
        "file": "src/controllers/stored.py",
        "line": 251,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/stored.py",
        "file": "src/controllers/stored.py",
        "line": 251,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/stored.py",
        "file": "src/controllers/stored.py",
        "line": 459,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/stored.py",
        "file": "src/controllers/stored.py",
        "line": 633,
        "scope": "subscript"
    },
    {
        "sin": "python-swallowed-exception",
        "skill": "python/exceptions",
        "path": "/Users/jessegall/projects/agent-journal/src/features/auto_update/test.py",
        "file": "src/features/auto_update/test.py",
        "line": 215,
        "scope": "ExceptHandler"
    },
    {
        "sin": "python-loop-wrapped-in-if",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/environments.py",
        "file": "src/controllers/environments.py",
        "line": 58,
        "scope": "IfStmt"
    },
    {
        "sin": "row-outside-repository",
        "skill": "rows-through-their-repository",
        "path": "/Users/jessegall/projects/agent-journal/src/controllers/environments.py",
        "file": "src/controllers/environments.py",
        "line": 196,
        "scope": "call"
    },
    {
        "sin": "python-conditional-statement",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/install.py",
        "file": "src/install.py",
        "line": 820,
        "scope": "conditional"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 18,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 19,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 20,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 24,
        "scope": "subscript"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 29,
        "scope": "call"
    },
    {
        "sin": "python-dict-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/phone/chat_view.py",
        "file": "src/features/phone/chat_view.py",
        "line": 30,
        "scope": "call"
    },
    {
        "sin": "python-assembled-template",
        "skill": "python/templates",
        "path": "/Users/jessegall/projects/agent-journal/src/features/helper_worktrees/controller.py",
        "file": "src/features/helper_worktrees/controller.py",
        "line": 197,
        "scope": "call"
    },
    {
        "sin": "python-blank-string-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/tickets/controller.py",
        "file": "src/features/tickets/controller.py",
        "line": 488,
        "scope": "Param only"
    },
    {
        "sin": "python-conditional-statement",
        "skill": "python/flow",
        "path": "/Users/jessegall/projects/agent-journal/src/features/tickets/controller.py",
        "file": "src/features/tickets/controller.py",
        "line": 389,
        "scope": "conditional"
    },
    {
        "sin": "python-dict-return-bag",
        "skill": "python/value-objects",
        "path": "/Users/jessegall/projects/agent-journal/src/features/tickets/controller.py",
        "file": "src/features/tickets/controller.py",
        "line": 726,
        "scope": "dict"
    },
    {
        "sin": "python-invented-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/tickets/cards.py",
        "file": "src/features/tickets/cards.py",
        "line": 80,
        "scope": "binary"
    },
    {
        "sin": "deep-data-reach",
        "skill": "frontend/vue-components",
        "path": "/Users/jessegall/projects/agent-journal/src/web/src/layout/UpdateCover.vue",
        "file": "src/web/src/layout/UpdateCover.vue",
        "line": 41,
        "scope": "<div>"
    },
    {
        "sin": "python-invented-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/runner/hook_report.py",
        "file": "src/runner/hook_report.py",
        "line": 19,
        "scope": "binary"
    },
    {
        "sin": "python-mutable-static-state",
        "skill": "python/fix-at-the-source",
        "path": "/Users/jessegall/projects/agent-journal/src/engine/bus.py",
        "file": "src/engine/bus.py",
        "line": 191,
        "scope": "Assign"
    },
    {
        "sin": "python-blank-string-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/journal_laws/controller.py",
        "file": "src/features/journal_laws/controller.py",
        "line": 19,
        "scope": "Param provider"
    },
    {
        "sin": "python-blank-string-default",
        "skill": "python/absence",
        "path": "/Users/jessegall/projects/agent-journal/src/features/journal_laws/controller.py",
        "file": "src/features/journal_laws/controller.py",
        "line": 19,
        "scope": "Param session_id"
    },
    {
        "sin": "python-member-out-of-order",
        "skill": "python/class-layout",
        "path": "/Users/jessegall/projects/agent-journal/src/serve.py",
        "file": "src/serve.py",
        "line": 211,
        "scope": "AnnAssign"
    },
    {
        "sin": "row-outside-repository",
        "skill": "rows-through-their-repository",
        "path": "/Users/jessegall/projects/agent-journal/src/engine/runtime.py",
        "file": "src/engine/runtime.py",
        "line": 43,
        "scope": "call"
    },
    {
        "sin": "row-outside-repository",
        "skill": "rows-through-their-repository",
        "path": "/Users/jessegall/projects/agent-journal/src/engine/runtime.py",
        "file": "src/engine/runtime.py",
        "line": 47,
        "scope": "call"
    },
    {
        "sin": "python-message-string-raise",
        "skill": "python/exceptions",
        "path": "/Users/jessegall/projects/agent-journal/src/features/message_todos/test.py",
        "file": "src/features/message_todos/test.py",
        "line": 244,
        "scope": "Raise"
    }
]