{
  "nodes": [
    {
      "id": "alertSessionStarter",
      "kind": "struct",
      "name": "alertSessionStarter",
      "file": "cmd/korvus/alerts.go",
      "start_line": 17,
      "end_line": 21,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "alertSessionStarter::StartSession",
      "kind": "method",
      "name": "StartSession",
      "file": "cmd/korvus/alerts.go",
      "start_line": 23,
      "end_line": 37,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "newAlertIngestor",
      "kind": "function",
      "name": "newAlertIngestor",
      "file": "cmd/korvus/alerts.go",
      "start_line": 39,
      "end_line": 48,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "capturingLifecycle",
      "kind": "struct",
      "name": "capturingLifecycle",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 14,
      "end_line": 17,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "capturingLifecycle::Create",
      "kind": "method",
      "name": "Create",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 19,
      "end_line": 22,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "capturingLifecycle::Cancel",
      "kind": "method",
      "name": "Cancel",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 24,
      "end_line": 26,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "capturingLifecycle::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 28,
      "end_line": 30,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "pinnedWorkspace",
      "kind": "struct",
      "name": "pinnedWorkspace",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 32,
      "end_line": 32,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "pinnedWorkspace::Status",
      "kind": "method",
      "name": "Status",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 34,
      "end_line": 36,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "pinnedWorkspace::Sync",
      "kind": "method",
      "name": "Sync",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 38,
      "end_line": 40,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "kind": "function",
      "name": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "file": "cmd/korvus/alerts_test.go",
      "start_line": 45,
      "end_line": 87,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "recordingRegistrar",
      "kind": "struct",
      "name": "recordingRegistrar",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 14,
      "end_line": 18,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "recordingRegistrar::RegisterServer",
      "kind": "method",
      "name": "RegisterServer",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 20,
      "end_line": 33,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "stubSyncer",
      "kind": "struct",
      "name": "stubSyncer",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 35,
      "end_line": 35,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "stubSyncer::Status",
      "kind": "method",
      "name": "Status",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 37,
      "end_line": 37,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "stubSyncer::Sync",
      "kind": "method",
      "name": "Sync",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 38,
      "end_line": 40,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noDocsStore",
      "kind": "struct",
      "name": "noDocsStore",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 44,
      "end_line": 44,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noDocsStore::HasDocChunks",
      "kind": "method",
      "name": "HasDocChunks",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 46,
      "end_line": 46,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noDocsStore::ReplaceDocChunks",
      "kind": "method",
      "name": "ReplaceDocChunks",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 47,
      "end_line": 49,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noDocsStore::PruneDocChunks",
      "kind": "method",
      "name": "PruneDocChunks",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 50,
      "end_line": 50,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noDocsStore::SearchDocChunks",
      "kind": "method",
      "name": "SearchDocChunks",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 51,
      "end_line": 53,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noEmbedder",
      "kind": "struct",
      "name": "noEmbedder",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 55,
      "end_line": 55,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noEmbedder::Embed",
      "kind": "method",
      "name": "Embed",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 57,
      "end_line": 57,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "noEmbedder::Dimensions",
      "kind": "method",
      "name": "Dimensions",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 58,
      "end_line": 58,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "kind": "function",
      "name": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 60,
      "end_line": 68,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestRegisterDocsSearch",
      "kind": "function",
      "name": "TestRegisterDocsSearch",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 70,
      "end_line": 107,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "kind": "function",
      "name": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "file": "cmd/korvus/docs_test.go",
      "start_line": 112,
      "end_line": 126,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "cmd/korvus/main.go",
      "start_line": 58,
      "end_line": 70,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "run",
      "kind": "function",
      "name": "run",
      "file": "cmd/korvus/main.go",
      "start_line": 75,
      "end_line": 283,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "setupLogging",
      "kind": "function",
      "name": "setupLogging",
      "file": "cmd/korvus/main.go",
      "start_line": 288,
      "end_line": 295,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "openPool",
      "kind": "function",
      "name": "openPool",
      "file": "cmd/korvus/main.go",
      "start_line": 301,
      "end_line": 334,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "startWorkspaceSync",
      "kind": "function",
      "name": "startWorkspaceSync",
      "file": "cmd/korvus/main.go",
      "start_line": 364,
      "end_line": 396,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "buildDocsIndexer",
      "kind": "function",
      "name": "buildDocsIndexer",
      "file": "cmd/korvus/main.go",
      "start_line": 401,
      "end_line": 406,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "docsAfterSync",
      "kind": "function",
      "name": "docsAfterSync",
      "file": "cmd/korvus/main.go",
      "start_line": 410,
      "end_line": 417,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "serverRegistrar",
      "kind": "interface",
      "name": "serverRegistrar",
      "file": "cmd/korvus/main.go",
      "start_line": 421,
      "end_line": 423,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "serverRegistrar::RegisterServer",
      "kind": "method",
      "name": "RegisterServer",
      "file": "cmd/korvus/main.go",
      "start_line": 422,
      "end_line": 422,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "registerDocsSearch",
      "kind": "function",
      "name": "registerDocsSearch",
      "file": "cmd/korvus/main.go",
      "start_line": 431,
      "end_line": 443,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "sessionDocs",
      "kind": "function",
      "name": "sessionDocs",
      "file": "cmd/korvus/main.go",
      "start_line": 449,
      "end_line": 454,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "buildAgent",
      "kind": "function",
      "name": "buildAgent",
      "file": "cmd/korvus/main.go",
      "start_line": 460,
      "end_line": 496,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "buildBlobStore",
      "kind": "function",
      "name": "buildBlobStore",
      "file": "cmd/korvus/main.go",
      "start_line": 508,
      "end_line": 523,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "sessionDefaults",
      "kind": "function",
      "name": "sessionDefaults",
      "file": "cmd/korvus/main.go",
      "start_line": 528,
      "end_line": 534,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "newProvider",
      "kind": "function",
      "name": "newProvider",
      "file": "cmd/korvus/main.go",
      "start_line": 538,
      "end_line": 547,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "buildEmbedder",
      "kind": "function",
      "name": "buildEmbedder",
      "file": "cmd/korvus/main.go",
      "start_line": 559,
      "end_line": 572,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "embeddingDimensionsReader",
      "kind": "interface",
      "name": "embeddingDimensionsReader",
      "file": "cmd/korvus/main.go",
      "start_line": 576,
      "end_line": 578,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "embeddingDimensionsReader::DocChunkEmbeddingDimensions",
      "kind": "method",
      "name": "DocChunkEmbeddingDimensions",
      "file": "cmd/korvus/main.go",
      "start_line": 577,
      "end_line": 577,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "stubDims",
      "kind": "struct",
      "name": "stubDims",
      "file": "cmd/korvus/main_test.go",
      "start_line": 14,
      "end_line": 18,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "stubDims::DocChunkEmbeddingDimensions",
      "kind": "method",
      "name": "DocChunkEmbeddingDimensions",
      "file": "cmd/korvus/main_test.go",
      "start_line": 20,
      "end_line": 23,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "embeddingsConfig",
      "kind": "function",
      "name": "embeddingsConfig",
      "file": "cmd/korvus/main_test.go",
      "start_line": 25,
      "end_line": 31,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildEmbedderSkippedWhenUnconfigured",
      "kind": "function",
      "name": "TestBuildEmbedderSkippedWhenUnconfigured",
      "file": "cmd/korvus/main_test.go",
      "start_line": 35,
      "end_line": 48,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "kind": "function",
      "name": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "file": "cmd/korvus/main_test.go",
      "start_line": 50,
      "end_line": 68,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildEmbedderFailsStartupOnDimensionMismatch",
      "kind": "function",
      "name": "TestBuildEmbedderFailsStartupOnDimensionMismatch",
      "file": "cmd/korvus/main_test.go",
      "start_line": 73,
      "end_line": 90,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "kind": "function",
      "name": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "file": "cmd/korvus/main_test.go",
      "start_line": 92,
      "end_line": 102,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "kind": "function",
      "name": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "file": "cmd/korvus/main_test.go",
      "start_line": 107,
      "end_line": 127,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildBlobStoreUnconfiguredIsNil",
      "kind": "function",
      "name": "TestBuildBlobStoreUnconfiguredIsNil",
      "file": "cmd/korvus/main_test.go",
      "start_line": 133,
      "end_line": 151,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "kind": "function",
      "name": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "file": "cmd/korvus/main_test.go",
      "start_line": 155,
      "end_line": 179,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "TestBuildBlobStoreUnusablePathFailsStartup",
      "kind": "function",
      "name": "TestBuildBlobStoreUnusablePathFailsStartup",
      "file": "cmd/korvus/main_test.go",
      "start_line": 183,
      "end_line": 202,
      "page": "korvus-cli-and-process-wiring"
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "demo/checkout/cmd/demo-checkout/main.go",
      "start_line": 41,
      "end_line": 46
    },
    {
      "id": "run",
      "kind": "function",
      "name": "run",
      "file": "demo/checkout/cmd/demo-checkout/main.go",
      "start_line": 48,
      "end_line": 126
    },
    {
      "id": "envOr",
      "kind": "function",
      "name": "envOr",
      "file": "demo/checkout/cmd/demo-checkout/main.go",
      "start_line": 128,
      "end_line": 133
    },
    {
      "id": "envFloat",
      "kind": "function",
      "name": "envFloat",
      "file": "demo/checkout/cmd/demo-checkout/main.go",
      "start_line": 137,
      "end_line": 147
    },
    {
      "id": "envDuration",
      "kind": "function",
      "name": "envDuration",
      "file": "demo/checkout/cmd/demo-checkout/main.go",
      "start_line": 149,
      "end_line": 159
    },
    {
      "id": "TestEnvParsersFailOnInvalidValues",
      "kind": "function",
      "name": "TestEnvParsersFailOnInvalidValues",
      "file": "demo/checkout/cmd/demo-checkout/main_test.go",
      "start_line": 9,
      "end_line": 26
    },
    {
      "id": "Handler",
      "kind": "function",
      "name": "Handler",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 20,
      "end_line": 52
    },
    {
      "id": "demo/checkout/internal/shop/http.go::route:/checkout",
      "kind": "route",
      "name": "POST /checkout",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 22,
      "end_line": 22
    },
    {
      "id": "demo/checkout/internal/shop/http.go::route:/admin/deploy",
      "kind": "route",
      "name": "POST /admin/deploy",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 29,
      "end_line": 29
    },
    {
      "id": "demo/checkout/internal/shop/http.go::route:/admin/release",
      "kind": "route",
      "name": "GET /admin/release",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 39,
      "end_line": 39
    },
    {
      "id": "demo/checkout/internal/shop/http.go::route:/metrics",
      "kind": "route",
      "name": "GET /metrics",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 42,
      "end_line": 42
    },
    {
      "id": "demo/checkout/internal/shop/http.go::route:/healthz",
      "kind": "route",
      "name": "GET /healthz",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 48,
      "end_line": 48
    },
    {
      "id": "writeJSON",
      "kind": "function",
      "name": "writeJSON",
      "file": "demo/checkout/internal/shop/http.go",
      "start_line": 54,
      "end_line": 59
    },
    {
      "id": "TestHandlerInjectsAndRollsBackTheFault",
      "kind": "function",
      "name": "TestHandlerInjectsAndRollsBackTheFault",
      "file": "demo/checkout/internal/shop/http_test.go",
      "start_line": 14,
      "end_line": 61
    },
    {
      "id": "TestHandlerMapsPoolExhaustionTo503",
      "kind": "function",
      "name": "TestHandlerMapsPoolExhaustionTo503",
      "file": "demo/checkout/internal/shop/http_test.go",
      "start_line": 63,
      "end_line": 79
    },
    {
      "id": "GenerateLoad",
      "kind": "function",
      "name": "GenerateLoad",
      "file": "demo/checkout/internal/shop/load.go",
      "start_line": 16,
      "end_line": 32,
      "page": "checkout-demo-service-and-telemetry"
    },
    {
      "id": "TestStoppingTheLoadLetsInFlightCheckoutsFinish",
      "kind": "function",
      "name": "TestStoppingTheLoadLetsInFlightCheckoutsFinish",
      "file": "demo/checkout/internal/shop/load_test.go",
      "start_line": 11,
      "end_line": 36
    },
    {
      "id": "Release",
      "kind": "struct",
      "name": "Release",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 27,
      "end_line": 31,
      "page": "checkout-demo-service-and-telemetry"
    },
    {
      "id": "Lookup",
      "kind": "function",
      "name": "Lookup",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 40,
      "end_line": 47
    },
    {
      "id": "ErrPoolExhausted",
      "kind": "variable",
      "name": "ErrPoolExhausted",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 51,
      "end_line": 51
    },
    {
      "id": "LogSink",
      "kind": "interface",
      "name": "LogSink",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 54,
      "end_line": 56
    },
    {
      "id": "LogSink::Push",
      "kind": "method",
      "name": "Push",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 55,
      "end_line": 55
    },
    {
      "id": "SpanSink",
      "kind": "interface",
      "name": "SpanSink",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 59,
      "end_line": 61
    },
    {
      "id": "SpanSink::Export",
      "kind": "method",
      "name": "Export",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 60,
      "end_line": 60
    },
    {
      "id": "Sleep",
      "kind": "function",
      "name": "Sleep",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 67,
      "end_line": 82
    },
    {
      "id": "Config",
      "kind": "struct",
      "name": "Config",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 85,
      "end_line": 92,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "pool",
      "kind": "struct",
      "name": "pool",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 94,
      "end_line": 94
    },
    {
      "id": "newPool",
      "kind": "function",
      "name": "newPool",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 96,
      "end_line": 96
    },
    {
      "id": "pool::acquire",
      "kind": "method",
      "name": "acquire",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 98,
      "end_line": 114
    },
    {
      "id": "pool::release",
      "kind": "method",
      "name": "release",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 116,
      "end_line": 116
    },
    {
      "id": "Service",
      "kind": "struct",
      "name": "Service",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 119,
      "end_line": 130,
      "page": "checkout-demo-service-and-telemetry"
    },
    {
      "id": "nopLogs",
      "kind": "struct",
      "name": "nopLogs",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 132,
      "end_line": 132
    },
    {
      "id": "nopLogs::Push",
      "kind": "method",
      "name": "Push",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 134,
      "end_line": 134
    },
    {
      "id": "nopSpans",
      "kind": "struct",
      "name": "nopSpans",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 136,
      "end_line": 136
    },
    {
      "id": "nopSpans::Export",
      "kind": "method",
      "name": "Export",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 138,
      "end_line": 138
    },
    {
      "id": "New",
      "kind": "function",
      "name": "New",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 141,
      "end_line": 178
    },
    {
      "id": "Service::currentPool",
      "kind": "method",
      "name": "currentPool",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 180,
      "end_line": 184
    },
    {
      "id": "Service::current",
      "kind": "method",
      "name": "current",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 186,
      "end_line": 190
    },
    {
      "id": "Service::Release",
      "kind": "method",
      "name": "Release",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 193,
      "end_line": 196
    },
    {
      "id": "Service::Deploy",
      "kind": "method",
      "name": "Deploy",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 200,
      "end_line": 217
    },
    {
      "id": "Service::Checkout",
      "kind": "method",
      "name": "Checkout",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 221,
      "end_line": 277
    },
    {
      "id": "Service::downstream",
      "kind": "method",
      "name": "downstream",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 279,
      "end_line": 310
    },
    {
      "id": "Service::log",
      "kind": "method",
      "name": "log",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 315,
      "end_line": 318
    },
    {
      "id": "logfmt",
      "kind": "function",
      "name": "logfmt",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 322,
      "end_line": 331
    },
    {
      "id": "quote",
      "kind": "function",
      "name": "quote",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 333,
      "end_line": 338
    },
    {
      "id": "Versions",
      "kind": "function",
      "name": "Versions",
      "file": "demo/checkout/internal/shop/shop.go",
      "start_line": 341,
      "end_line": 345
    },
    {
      "id": "logs",
      "kind": "struct",
      "name": "logs",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 15,
      "end_line": 18
    },
    {
      "id": "logs::Push",
      "kind": "method",
      "name": "Push",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 20,
      "end_line": 24
    },
    {
      "id": "logs::matching",
      "kind": "method",
      "name": "matching",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 26,
      "end_line": 36
    },
    {
      "id": "spans",
      "kind": "struct",
      "name": "spans",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 38,
      "end_line": 41
    },
    {
      "id": "spans::Export",
      "kind": "method",
      "name": "Export",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 43,
      "end_line": 47
    },
    {
      "id": "gate",
      "kind": "struct",
      "name": "gate",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 51,
      "end_line": 54
    },
    {
      "id": "newGate",
      "kind": "function",
      "name": "newGate",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 56,
      "end_line": 56
    },
    {
      "id": "gate::step",
      "kind": "method",
      "name": "step",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 58,
      "end_line": 66
    },
    {
      "id": "gate::await",
      "kind": "method",
      "name": "await",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 68,
      "end_line": 77
    },
    {
      "id": "fixture",
      "kind": "struct",
      "name": "fixture",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 79,
      "end_line": 85
    },
    {
      "id": "newFixture",
      "kind": "function",
      "name": "newFixture",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 87,
      "end_line": 97
    },
    {
      "id": "fixture::metrics",
      "kind": "method",
      "name": "metrics",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 99,
      "end_line": 106
    },
    {
      "id": "fixture::holdConnections",
      "kind": "method",
      "name": "holdConnections",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 108,
      "end_line": 117
    },
    {
      "id": "wantLines",
      "kind": "function",
      "name": "wantLines",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 119,
      "end_line": 126
    },
    {
      "id": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "kind": "function",
      "name": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 128,
      "end_line": 160
    },
    {
      "id": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "kind": "function",
      "name": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 162,
      "end_line": 172
    },
    {
      "id": "TestFailedRequestSpansCarryTheCause",
      "kind": "function",
      "name": "TestFailedRequestSpansCarryTheCause",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 174,
      "end_line": 208
    },
    {
      "id": "TestDeployAnnouncesThePoolChange",
      "kind": "function",
      "name": "TestDeployAnnouncesThePoolChange",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 210,
      "end_line": 231
    },
    {
      "id": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "kind": "function",
      "name": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 233,
      "end_line": 249
    },
    {
      "id": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "kind": "function",
      "name": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "file": "demo/checkout/internal/shop/shop_test.go",
      "start_line": 251,
      "end_line": 263
    },
    {
      "id": "TestBuffersAreBounded",
      "kind": "function",
      "name": "TestBuffersAreBounded",
      "file": "demo/checkout/internal/telemetry/bound_internal_test.go",
      "start_line": 13,
      "end_line": 52
    },
    {
      "id": "LokiPusher",
      "kind": "struct",
      "name": "LokiPusher",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 23,
      "end_line": 31,
      "page": "checkout-demo-service-and-telemetry"
    },
    {
      "id": "lokiStream",
      "kind": "struct",
      "name": "lokiStream",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 33,
      "end_line": 36
    },
    {
      "id": "NewLokiPusher",
      "kind": "function",
      "name": "NewLokiPusher",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 39,
      "end_line": 45
    },
    {
      "id": "LokiPusher::Push",
      "kind": "method",
      "name": "Push",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 48,
      "end_line": 67
    },
    {
      "id": "streamKey",
      "kind": "function",
      "name": "streamKey",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 69,
      "end_line": 83
    },
    {
      "id": "LokiPusher::Flush",
      "kind": "method",
      "name": "Flush",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 88,
      "end_line": 108
    },
    {
      "id": "post",
      "kind": "function",
      "name": "post",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 110,
      "end_line": 126
    },
    {
      "id": "RunFlusher",
      "kind": "function",
      "name": "RunFlusher",
      "file": "demo/checkout/internal/telemetry/loki.go",
      "start_line": 130,
      "end_line": 148
    },
    {
      "id": "capture",
      "kind": "struct",
      "name": "capture",
      "file": "demo/checkout/internal/telemetry/loki_test.go",
      "start_line": 19,
      "end_line": 24
    },
    {
      "id": "capture::ServeHTTP",
      "kind": "method",
      "name": "ServeHTTP",
      "file": "demo/checkout/internal/telemetry/loki_test.go",
      "start_line": 26,
      "end_line": 36
    },
    {
      "id": "TestLokiPusherGroupsLinesByStream",
      "kind": "function",
      "name": "TestLokiPusherGroupsLinesByStream",
      "file": "demo/checkout/internal/telemetry/loki_test.go",
      "start_line": 38,
      "end_line": 89
    },
    {
      "id": "TestLokiPusherSurfacesRejectedPush",
      "kind": "function",
      "name": "TestLokiPusherSurfacesRejectedPush",
      "file": "demo/checkout/internal/telemetry/loki_test.go",
      "start_line": 91,
      "end_line": 102
    },
    {
      "id": "TestRunFlusherFlushesOnShutdown",
      "kind": "function",
      "name": "TestRunFlusherFlushesOnShutdown",
      "file": "demo/checkout/internal/telemetry/loki_test.go",
      "start_line": 104,
      "end_line": 123
    },
    {
      "id": "Registry",
      "kind": "struct",
      "name": "Registry",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 21,
      "end_line": 24
    },
    {
      "id": "family",
      "kind": "struct",
      "name": "family",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 26,
      "end_line": 33
    },
    {
      "id": "series",
      "kind": "struct",
      "name": "series",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 35,
      "end_line": 41
    },
    {
      "id": "NewRegistry",
      "kind": "function",
      "name": "NewRegistry",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 44,
      "end_line": 44
    },
    {
      "id": "Registry::add",
      "kind": "method",
      "name": "add",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 46,
      "end_line": 52
    },
    {
      "id": "Counter",
      "kind": "struct",
      "name": "Counter",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 55,
      "end_line": 58
    },
    {
      "id": "Gauge",
      "kind": "struct",
      "name": "Gauge",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 61,
      "end_line": 64
    },
    {
      "id": "Histogram",
      "kind": "struct",
      "name": "Histogram",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 67,
      "end_line": 70
    },
    {
      "id": "Registry::Counter",
      "kind": "method",
      "name": "Counter",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 73,
      "end_line": 75
    },
    {
      "id": "Registry::Gauge",
      "kind": "method",
      "name": "Gauge",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 78,
      "end_line": 80
    },
    {
      "id": "Registry::GaugeFunc",
      "kind": "method",
      "name": "GaugeFunc",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 83,
      "end_line": 85
    },
    {
      "id": "Registry::Histogram",
      "kind": "method",
      "name": "Histogram",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 89,
      "end_line": 92
    },
    {
      "id": "Counter::Add",
      "kind": "method",
      "name": "Add",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 95,
      "end_line": 99
    },
    {
      "id": "Gauge::Set",
      "kind": "method",
      "name": "Set",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 102,
      "end_line": 106
    },
    {
      "id": "Gauge::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 110,
      "end_line": 114
    },
    {
      "id": "Histogram::Observe",
      "kind": "method",
      "name": "Observe",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 117,
      "end_line": 132
    },
    {
      "id": "family::get",
      "kind": "method",
      "name": "get",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 134,
      "end_line": 142
    },
    {
      "id": "renderLabels",
      "kind": "function",
      "name": "renderLabels",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 147,
      "end_line": 156
    },
    {
      "id": "labelEscaper",
      "kind": "variable",
      "name": "labelEscaper",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 158,
      "end_line": 158
    },
    {
      "id": "escapeLabel",
      "kind": "function",
      "name": "escapeLabel",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 160,
      "end_line": 160
    },
    {
      "id": "formatFloat",
      "kind": "function",
      "name": "formatFloat",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 162,
      "end_line": 170
    },
    {
      "id": "braced",
      "kind": "function",
      "name": "braced",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 172,
      "end_line": 182
    },
    {
      "id": "Registry::WriteText",
      "kind": "method",
      "name": "WriteText",
      "file": "demo/checkout/internal/telemetry/metrics.go",
      "start_line": 186,
      "end_line": 219
    },
    {
      "id": "TestWriteTextRendersEveryKind",
      "kind": "function",
      "name": "TestWriteTextRendersEveryKind",
      "file": "demo/checkout/internal/telemetry/metrics_test.go",
      "start_line": 10,
      "end_line": 51
    },
    {
      "id": "TestHistogramBucketsAreCumulativePerLabelSet",
      "kind": "function",
      "name": "TestHistogramBucketsAreCumulativePerLabelSet",
      "file": "demo/checkout/internal/telemetry/metrics_test.go",
      "start_line": 53,
      "end_line": 75
    },
    {
      "id": "NewTraceID",
      "kind": "function",
      "name": "NewTraceID",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 33,
      "end_line": 37
    },
    {
      "id": "NewSpanID",
      "kind": "function",
      "name": "NewSpanID",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 40,
      "end_line": 44
    },
    {
      "id": "TraceID::String",
      "kind": "method",
      "name": "String",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 46,
      "end_line": 46
    },
    {
      "id": "SpanID::String",
      "kind": "method",
      "name": "String",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 47,
      "end_line": 47
    },
    {
      "id": "Span",
      "kind": "struct",
      "name": "Span",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 50,
      "end_line": 61
    },
    {
      "id": "SpanExporter",
      "kind": "struct",
      "name": "SpanExporter",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 64,
      "end_line": 72,
      "page": "checkout-demo-service-and-telemetry"
    },
    {
      "id": "NewSpanExporter",
      "kind": "function",
      "name": "NewSpanExporter",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 75,
      "end_line": 81
    },
    {
      "id": "SpanExporter::Export",
      "kind": "method",
      "name": "Export",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 84,
      "end_line": 92
    },
    {
      "id": "otlpKV",
      "kind": "struct",
      "name": "otlpKV",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 94,
      "end_line": 97
    },
    {
      "id": "otlpSpan",
      "kind": "struct",
      "name": "otlpSpan",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 99,
      "end_line": 109
    },
    {
      "id": "attrs",
      "kind": "function",
      "name": "attrs",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 111,
      "end_line": 122
    },
    {
      "id": "SpanExporter::Flush",
      "kind": "method",
      "name": "Flush",
      "file": "demo/checkout/internal/telemetry/otlp.go",
      "start_line": 126,
      "end_line": 167
    },
    {
      "id": "TestSpanExporterEncodesOTLPJSON",
      "kind": "function",
      "name": "TestSpanExporterEncodesOTLPJSON",
      "file": "demo/checkout/internal/telemetry/otlp_test.go",
      "start_line": 14,
      "end_line": 94
    },
    {
      "id": "IncidentStatus::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 58,
      "end_line": 62,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentStatus::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 64,
      "end_line": 66,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentStatus::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 68,
      "end_line": 70,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentStatus::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 72,
      "end_line": 74,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentStatus::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 76,
      "end_line": 78,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentStatus::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 81,
      "end_line": 83,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 112,
      "end_line": 116,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 118,
      "end_line": 120,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 122,
      "end_line": 124,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 126,
      "end_line": 128,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 130,
      "end_line": 132,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentOrigin::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 135,
      "end_line": 137,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 162,
      "end_line": 166,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 168,
      "end_line": 170,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 172,
      "end_line": 174,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 176,
      "end_line": 178,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 180,
      "end_line": 182,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "AlertStatus::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 185,
      "end_line": 187,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 222,
      "end_line": 226,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 228,
      "end_line": 230,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 232,
      "end_line": 234,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 236,
      "end_line": 238,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 240,
      "end_line": 242,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentEventType::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 245,
      "end_line": 247,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident",
      "kind": "struct",
      "name": "Incident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 251,
      "end_line": 280,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Incident::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 282,
      "end_line": 287,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 289,
      "end_line": 291,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 293,
      "end_line": 293,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 295,
      "end_line": 305,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 308,
      "end_line": 310,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 312,
      "end_line": 317,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetTitle",
      "kind": "method",
      "name": "GetTitle",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 319,
      "end_line": 324,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetDescription",
      "kind": "method",
      "name": "GetDescription",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 326,
      "end_line": 331,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 333,
      "end_line": 338,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetSeverity",
      "kind": "method",
      "name": "GetSeverity",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 340,
      "end_line": 345,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetOrigin",
      "kind": "method",
      "name": "GetOrigin",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 347,
      "end_line": 352,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetFingerprint",
      "kind": "method",
      "name": "GetFingerprint",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 354,
      "end_line": 359,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetLabels",
      "kind": "method",
      "name": "GetLabels",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 361,
      "end_line": 366,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetAnnotations",
      "kind": "method",
      "name": "GetAnnotations",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 368,
      "end_line": 373,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetOpenedBy",
      "kind": "method",
      "name": "GetOpenedBy",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 375,
      "end_line": 380,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetStartedAt",
      "kind": "method",
      "name": "GetStartedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 382,
      "end_line": 387,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 389,
      "end_line": 394,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetClosedAt",
      "kind": "method",
      "name": "GetClosedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 396,
      "end_line": 401,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Incident::GetCloseReason",
      "kind": "method",
      "name": "GetCloseReason",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 403,
      "end_line": 408,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert",
      "kind": "struct",
      "name": "Alert",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 413,
      "end_line": 433,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Alert::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 435,
      "end_line": 440,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 442,
      "end_line": 444,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 446,
      "end_line": 446,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 448,
      "end_line": 458,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 461,
      "end_line": 463,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 465,
      "end_line": 470,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 472,
      "end_line": 477,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetFingerprint",
      "kind": "method",
      "name": "GetFingerprint",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 479,
      "end_line": 484,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 486,
      "end_line": 491,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetLabels",
      "kind": "method",
      "name": "GetLabels",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 493,
      "end_line": 498,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetAnnotations",
      "kind": "method",
      "name": "GetAnnotations",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 500,
      "end_line": 505,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetGeneratorUrl",
      "kind": "method",
      "name": "GetGeneratorUrl",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 507,
      "end_line": 512,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetStartsAt",
      "kind": "method",
      "name": "GetStartsAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 514,
      "end_line": 519,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetEndsAt",
      "kind": "method",
      "name": "GetEndsAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 521,
      "end_line": 526,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetReceivedAt",
      "kind": "method",
      "name": "GetReceivedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 528,
      "end_line": 533,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Alert::GetSuppressed",
      "kind": "method",
      "name": "GetSuppressed",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 535,
      "end_line": 540,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest",
      "kind": "struct",
      "name": "CreateIncidentRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 542,
      "end_line": 560,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 562,
      "end_line": 567,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 569,
      "end_line": 571,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 573,
      "end_line": 573,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 575,
      "end_line": 585,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 588,
      "end_line": 590,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetTitle",
      "kind": "method",
      "name": "GetTitle",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 592,
      "end_line": 597,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetDescription",
      "kind": "method",
      "name": "GetDescription",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 599,
      "end_line": 604,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetSeverity",
      "kind": "method",
      "name": "GetSeverity",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 606,
      "end_line": 611,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetOrigin",
      "kind": "method",
      "name": "GetOrigin",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 613,
      "end_line": 618,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetFingerprint",
      "kind": "method",
      "name": "GetFingerprint",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 620,
      "end_line": 625,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetLabels",
      "kind": "method",
      "name": "GetLabels",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 627,
      "end_line": 632,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetAnnotations",
      "kind": "method",
      "name": "GetAnnotations",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 634,
      "end_line": 639,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetOpenedBy",
      "kind": "method",
      "name": "GetOpenedBy",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 641,
      "end_line": 646,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentRequest::GetStartedAt",
      "kind": "method",
      "name": "GetStartedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 648,
      "end_line": 653,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse",
      "kind": "struct",
      "name": "CreateIncidentResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 655,
      "end_line": 660,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 662,
      "end_line": 667,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 669,
      "end_line": 671,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 673,
      "end_line": 673,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 675,
      "end_line": 685,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 688,
      "end_line": 690,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateIncidentResponse::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 692,
      "end_line": 697,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest",
      "kind": "struct",
      "name": "GetIncidentRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 699,
      "end_line": 704,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 706,
      "end_line": 711,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 713,
      "end_line": 715,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 717,
      "end_line": 717,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 719,
      "end_line": 729,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 732,
      "end_line": 734,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentRequest::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 736,
      "end_line": 741,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse",
      "kind": "struct",
      "name": "GetIncidentResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 743,
      "end_line": 748,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 750,
      "end_line": 755,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 757,
      "end_line": 759,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 761,
      "end_line": 761,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 763,
      "end_line": 773,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 776,
      "end_line": 778,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetIncidentResponse::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 780,
      "end_line": 785,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest",
      "kind": "struct",
      "name": "ListIncidentsRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 787,
      "end_line": 800,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 802,
      "end_line": 807,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 809,
      "end_line": 811,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 813,
      "end_line": 813,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 815,
      "end_line": 825,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 828,
      "end_line": 830,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 832,
      "end_line": 837,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::GetOrigin",
      "kind": "method",
      "name": "GetOrigin",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 839,
      "end_line": 844,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::GetPageSize",
      "kind": "method",
      "name": "GetPageSize",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 846,
      "end_line": 851,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsRequest::GetPageToken",
      "kind": "method",
      "name": "GetPageToken",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 853,
      "end_line": 858,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse",
      "kind": "struct",
      "name": "ListIncidentsResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 860,
      "end_line": 867,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 869,
      "end_line": 874,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 876,
      "end_line": 878,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 880,
      "end_line": 880,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 882,
      "end_line": 892,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 895,
      "end_line": 897,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::GetIncidents",
      "kind": "method",
      "name": "GetIncidents",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 899,
      "end_line": 904,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListIncidentsResponse::GetNextPageToken",
      "kind": "method",
      "name": "GetNextPageToken",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 906,
      "end_line": 911,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest",
      "kind": "struct",
      "name": "UpdateIncidentRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 913,
      "end_line": 920,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 922,
      "end_line": 927,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 929,
      "end_line": 931,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 933,
      "end_line": 933,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 935,
      "end_line": 945,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 948,
      "end_line": 950,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentRequest::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 952,
      "end_line": 957,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse",
      "kind": "struct",
      "name": "UpdateIncidentResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 959,
      "end_line": 964,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 966,
      "end_line": 971,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 973,
      "end_line": 975,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 977,
      "end_line": 977,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 979,
      "end_line": 989,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 992,
      "end_line": 994,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "UpdateIncidentResponse::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 996,
      "end_line": 1001,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest",
      "kind": "struct",
      "name": "CloseIncidentRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1003,
      "end_line": 1013,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1015,
      "end_line": 1020,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1022,
      "end_line": 1024,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1026,
      "end_line": 1026,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1028,
      "end_line": 1038,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1041,
      "end_line": 1043,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1045,
      "end_line": 1050,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::GetReason",
      "kind": "method",
      "name": "GetReason",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1052,
      "end_line": 1057,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentRequest::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1059,
      "end_line": 1064,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse",
      "kind": "struct",
      "name": "CloseIncidentResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1066,
      "end_line": 1071,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1073,
      "end_line": 1078,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1080,
      "end_line": 1082,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1084,
      "end_line": 1084,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1086,
      "end_line": 1096,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1099,
      "end_line": 1101,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CloseIncidentResponse::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1103,
      "end_line": 1108,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest",
      "kind": "struct",
      "name": "ListAlertsRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1110,
      "end_line": 1115,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1117,
      "end_line": 1122,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1124,
      "end_line": 1126,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1128,
      "end_line": 1128,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1130,
      "end_line": 1140,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1143,
      "end_line": 1145,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsRequest::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1147,
      "end_line": 1152,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse",
      "kind": "struct",
      "name": "ListAlertsResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1154,
      "end_line": 1159,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1161,
      "end_line": 1166,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1168,
      "end_line": 1170,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1172,
      "end_line": 1172,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1174,
      "end_line": 1184,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1187,
      "end_line": 1189,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListAlertsResponse::GetAlerts",
      "kind": "method",
      "name": "GetAlerts",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1191,
      "end_line": 1196,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest",
      "kind": "struct",
      "name": "WatchIncidentsRequest",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1198,
      "end_line": 1204,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1206,
      "end_line": 1211,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1213,
      "end_line": 1215,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1217,
      "end_line": 1217,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1219,
      "end_line": 1229,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1232,
      "end_line": 1234,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsRequest::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1236,
      "end_line": 1241,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse",
      "kind": "struct",
      "name": "WatchIncidentsResponse",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1243,
      "end_line": 1253,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1255,
      "end_line": 1260,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1262,
      "end_line": 1264,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1266,
      "end_line": 1266,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1268,
      "end_line": 1278,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1281,
      "end_line": 1283,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::GetType",
      "kind": "method",
      "name": "GetType",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1285,
      "end_line": 1290,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1292,
      "end_line": 1297,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::GetAlert",
      "kind": "method",
      "name": "GetAlert",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1299,
      "end_line": 1304,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchIncidentsResponse::GetEmittedAt",
      "kind": "method",
      "name": "GetEmittedAt",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1306,
      "end_line": 1311,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "File_korvus_v1_incident_proto",
      "kind": "variable",
      "name": "File_korvus_v1_incident_proto",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1313,
      "end_line": 1313,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "function",
      "name": "file_korvus_v1_incident_proto_rawDescGZIP",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1458,
      "end_line": 1463,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_enumTypes",
      "kind": "variable",
      "name": "file_korvus_v1_incident_proto_enumTypes",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1465,
      "end_line": 1465,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_msgTypes",
      "kind": "variable",
      "name": "file_korvus_v1_incident_proto_msgTypes",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1466,
      "end_line": 1466,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_goTypes",
      "kind": "variable",
      "name": "file_korvus_v1_incident_proto_goTypes",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1467,
      "end_line": 1495,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_depIdxs",
      "kind": "variable",
      "name": "file_korvus_v1_incident_proto_depIdxs",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1496,
      "end_line": 1547,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "init",
      "kind": "function",
      "name": "init",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1549,
      "end_line": 1549,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_incident_proto_init",
      "kind": "function",
      "name": "file_korvus_v1_incident_proto_init",
      "file": "gen/korvus/v1/incident.pb.go",
      "start_line": 1550,
      "end_line": 1572,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentServiceClient",
      "kind": "interface",
      "name": "IncidentServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 60,
      "end_line": 85,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentServiceClient::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 63,
      "end_line": 63
    },
    {
      "id": "IncidentServiceClient::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 66,
      "end_line": 66
    },
    {
      "id": "IncidentServiceClient::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 69,
      "end_line": 69
    },
    {
      "id": "IncidentServiceClient::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 72,
      "end_line": 72
    },
    {
      "id": "IncidentServiceClient::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 76,
      "end_line": 76
    },
    {
      "id": "IncidentServiceClient::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 79,
      "end_line": 79
    },
    {
      "id": "IncidentServiceClient::WatchIncidents",
      "kind": "method",
      "name": "WatchIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 84,
      "end_line": 84
    },
    {
      "id": "NewIncidentServiceClient",
      "kind": "function",
      "name": "NewIncidentServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 94,
      "end_line": 141
    },
    {
      "id": "incidentServiceClient",
      "kind": "struct",
      "name": "incidentServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 144,
      "end_line": 152
    },
    {
      "id": "incidentServiceClient::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 155,
      "end_line": 157
    },
    {
      "id": "incidentServiceClient::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 160,
      "end_line": 162
    },
    {
      "id": "incidentServiceClient::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 165,
      "end_line": 167
    },
    {
      "id": "incidentServiceClient::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 170,
      "end_line": 172
    },
    {
      "id": "incidentServiceClient::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 175,
      "end_line": 177
    },
    {
      "id": "incidentServiceClient::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 180,
      "end_line": 182
    },
    {
      "id": "incidentServiceClient::WatchIncidents",
      "kind": "method",
      "name": "WatchIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 185,
      "end_line": 187
    },
    {
      "id": "IncidentServiceHandler",
      "kind": "interface",
      "name": "IncidentServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 190,
      "end_line": 215,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "IncidentServiceHandler::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 193,
      "end_line": 193
    },
    {
      "id": "IncidentServiceHandler::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 196,
      "end_line": 196
    },
    {
      "id": "IncidentServiceHandler::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 199,
      "end_line": 199
    },
    {
      "id": "IncidentServiceHandler::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 202,
      "end_line": 202
    },
    {
      "id": "IncidentServiceHandler::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 206,
      "end_line": 206
    },
    {
      "id": "IncidentServiceHandler::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 209,
      "end_line": 209
    },
    {
      "id": "IncidentServiceHandler::WatchIncidents",
      "kind": "method",
      "name": "WatchIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 214,
      "end_line": 214
    },
    {
      "id": "NewIncidentServiceHandler",
      "kind": "function",
      "name": "NewIncidentServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 222,
      "end_line": 286
    },
    {
      "id": "UnimplementedIncidentServiceHandler",
      "kind": "struct",
      "name": "UnimplementedIncidentServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 289,
      "end_line": 289
    },
    {
      "id": "UnimplementedIncidentServiceHandler::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 291,
      "end_line": 293
    },
    {
      "id": "UnimplementedIncidentServiceHandler::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 295,
      "end_line": 297
    },
    {
      "id": "UnimplementedIncidentServiceHandler::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 299,
      "end_line": 301
    },
    {
      "id": "UnimplementedIncidentServiceHandler::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 303,
      "end_line": 305
    },
    {
      "id": "UnimplementedIncidentServiceHandler::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 307,
      "end_line": 309
    },
    {
      "id": "UnimplementedIncidentServiceHandler::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 311,
      "end_line": 313
    },
    {
      "id": "UnimplementedIncidentServiceHandler::WatchIncidents",
      "kind": "method",
      "name": "WatchIncidents",
      "file": "gen/korvus/v1/korvusv1connect/incident.connect.go",
      "start_line": 315,
      "end_line": 317
    },
    {
      "id": "SessionServiceClient",
      "kind": "interface",
      "name": "SessionServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 72,
      "end_line": 114,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionServiceClient::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 75,
      "end_line": 75
    },
    {
      "id": "SessionServiceClient::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 78,
      "end_line": 78
    },
    {
      "id": "SessionServiceClient::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 80,
      "end_line": 80
    },
    {
      "id": "SessionServiceClient::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 85,
      "end_line": 85
    },
    {
      "id": "SessionServiceClient::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 92,
      "end_line": 92
    },
    {
      "id": "SessionServiceClient::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 96,
      "end_line": 96
    },
    {
      "id": "SessionServiceClient::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 99,
      "end_line": 99
    },
    {
      "id": "SessionServiceClient::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 103,
      "end_line": 103
    },
    {
      "id": "SessionServiceClient::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 106,
      "end_line": 106
    },
    {
      "id": "SessionServiceClient::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 109,
      "end_line": 109
    },
    {
      "id": "SessionServiceClient::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 113,
      "end_line": 113
    },
    {
      "id": "NewSessionServiceClient",
      "kind": "function",
      "name": "NewSessionServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 123,
      "end_line": 194
    },
    {
      "id": "sessionServiceClient",
      "kind": "struct",
      "name": "sessionServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 197,
      "end_line": 209
    },
    {
      "id": "sessionServiceClient::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 212,
      "end_line": 214
    },
    {
      "id": "sessionServiceClient::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 217,
      "end_line": 219
    },
    {
      "id": "sessionServiceClient::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 222,
      "end_line": 224
    },
    {
      "id": "sessionServiceClient::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 227,
      "end_line": 229
    },
    {
      "id": "sessionServiceClient::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 232,
      "end_line": 234
    },
    {
      "id": "sessionServiceClient::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 237,
      "end_line": 239
    },
    {
      "id": "sessionServiceClient::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 242,
      "end_line": 244
    },
    {
      "id": "sessionServiceClient::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 247,
      "end_line": 249
    },
    {
      "id": "sessionServiceClient::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 252,
      "end_line": 254
    },
    {
      "id": "sessionServiceClient::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 257,
      "end_line": 259
    },
    {
      "id": "sessionServiceClient::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 262,
      "end_line": 264
    },
    {
      "id": "SessionServiceHandler",
      "kind": "interface",
      "name": "SessionServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 267,
      "end_line": 309,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionServiceHandler::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 270,
      "end_line": 270
    },
    {
      "id": "SessionServiceHandler::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 273,
      "end_line": 273
    },
    {
      "id": "SessionServiceHandler::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 275,
      "end_line": 275
    },
    {
      "id": "SessionServiceHandler::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 280,
      "end_line": 280
    },
    {
      "id": "SessionServiceHandler::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 287,
      "end_line": 287
    },
    {
      "id": "SessionServiceHandler::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 291,
      "end_line": 291
    },
    {
      "id": "SessionServiceHandler::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 294,
      "end_line": 294
    },
    {
      "id": "SessionServiceHandler::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 298,
      "end_line": 298
    },
    {
      "id": "SessionServiceHandler::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 301,
      "end_line": 301
    },
    {
      "id": "SessionServiceHandler::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 304,
      "end_line": 304
    },
    {
      "id": "SessionServiceHandler::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 308,
      "end_line": 308
    },
    {
      "id": "NewSessionServiceHandler",
      "kind": "function",
      "name": "NewSessionServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 316,
      "end_line": 412
    },
    {
      "id": "UnimplementedSessionServiceHandler",
      "kind": "struct",
      "name": "UnimplementedSessionServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 415,
      "end_line": 415
    },
    {
      "id": "UnimplementedSessionServiceHandler::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 417,
      "end_line": 419
    },
    {
      "id": "UnimplementedSessionServiceHandler::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 421,
      "end_line": 423
    },
    {
      "id": "UnimplementedSessionServiceHandler::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 425,
      "end_line": 427
    },
    {
      "id": "UnimplementedSessionServiceHandler::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 429,
      "end_line": 431
    },
    {
      "id": "UnimplementedSessionServiceHandler::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 433,
      "end_line": 435
    },
    {
      "id": "UnimplementedSessionServiceHandler::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 437,
      "end_line": 439
    },
    {
      "id": "UnimplementedSessionServiceHandler::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 441,
      "end_line": 443
    },
    {
      "id": "UnimplementedSessionServiceHandler::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 445,
      "end_line": 447
    },
    {
      "id": "UnimplementedSessionServiceHandler::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 449,
      "end_line": 451
    },
    {
      "id": "UnimplementedSessionServiceHandler::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 453,
      "end_line": 455
    },
    {
      "id": "UnimplementedSessionServiceHandler::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "gen/korvus/v1/korvusv1connect/session.connect.go",
      "start_line": 457,
      "end_line": 459
    },
    {
      "id": "SystemServiceClient",
      "kind": "interface",
      "name": "SystemServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 57,
      "end_line": 78,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SystemServiceClient::GetSystemStatus",
      "kind": "method",
      "name": "GetSystemStatus",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 60,
      "end_line": 60
    },
    {
      "id": "SystemServiceClient::ListMCPServers",
      "kind": "method",
      "name": "ListMCPServers",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 63,
      "end_line": 63
    },
    {
      "id": "SystemServiceClient::ListSkills",
      "kind": "method",
      "name": "ListSkills",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 67,
      "end_line": 67
    },
    {
      "id": "SystemServiceClient::ListTemplates",
      "kind": "method",
      "name": "ListTemplates",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 69,
      "end_line": 69
    },
    {
      "id": "SystemServiceClient::SyncWorkspace",
      "kind": "method",
      "name": "SyncWorkspace",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 73,
      "end_line": 73
    },
    {
      "id": "SystemServiceClient::TriggerAlert",
      "kind": "method",
      "name": "TriggerAlert",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 77,
      "end_line": 77
    },
    {
      "id": "NewSystemServiceClient",
      "kind": "function",
      "name": "NewSystemServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 87,
      "end_line": 128
    },
    {
      "id": "systemServiceClient",
      "kind": "struct",
      "name": "systemServiceClient",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 131,
      "end_line": 138
    },
    {
      "id": "systemServiceClient::GetSystemStatus",
      "kind": "method",
      "name": "GetSystemStatus",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 141,
      "end_line": 143
    },
    {
      "id": "systemServiceClient::ListMCPServers",
      "kind": "method",
      "name": "ListMCPServers",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 146,
      "end_line": 148
    },
    {
      "id": "systemServiceClient::ListSkills",
      "kind": "method",
      "name": "ListSkills",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 151,
      "end_line": 153
    },
    {
      "id": "systemServiceClient::ListTemplates",
      "kind": "method",
      "name": "ListTemplates",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 156,
      "end_line": 158
    },
    {
      "id": "systemServiceClient::SyncWorkspace",
      "kind": "method",
      "name": "SyncWorkspace",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 161,
      "end_line": 163
    },
    {
      "id": "systemServiceClient::TriggerAlert",
      "kind": "method",
      "name": "TriggerAlert",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 166,
      "end_line": 168
    },
    {
      "id": "SystemServiceHandler",
      "kind": "interface",
      "name": "SystemServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 171,
      "end_line": 192,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SystemServiceHandler::GetSystemStatus",
      "kind": "method",
      "name": "GetSystemStatus",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 174,
      "end_line": 174
    },
    {
      "id": "SystemServiceHandler::ListMCPServers",
      "kind": "method",
      "name": "ListMCPServers",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 177,
      "end_line": 177
    },
    {
      "id": "SystemServiceHandler::ListSkills",
      "kind": "method",
      "name": "ListSkills",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 181,
      "end_line": 181
    },
    {
      "id": "SystemServiceHandler::ListTemplates",
      "kind": "method",
      "name": "ListTemplates",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 183,
      "end_line": 183
    },
    {
      "id": "SystemServiceHandler::SyncWorkspace",
      "kind": "method",
      "name": "SyncWorkspace",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 187,
      "end_line": 187
    },
    {
      "id": "SystemServiceHandler::TriggerAlert",
      "kind": "method",
      "name": "TriggerAlert",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 191,
      "end_line": 191
    },
    {
      "id": "NewSystemServiceHandler",
      "kind": "function",
      "name": "NewSystemServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 199,
      "end_line": 255
    },
    {
      "id": "UnimplementedSystemServiceHandler",
      "kind": "struct",
      "name": "UnimplementedSystemServiceHandler",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 258,
      "end_line": 258
    },
    {
      "id": "UnimplementedSystemServiceHandler::GetSystemStatus",
      "kind": "method",
      "name": "GetSystemStatus",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 260,
      "end_line": 262
    },
    {
      "id": "UnimplementedSystemServiceHandler::ListMCPServers",
      "kind": "method",
      "name": "ListMCPServers",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 264,
      "end_line": 266
    },
    {
      "id": "UnimplementedSystemServiceHandler::ListSkills",
      "kind": "method",
      "name": "ListSkills",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 268,
      "end_line": 270
    },
    {
      "id": "UnimplementedSystemServiceHandler::ListTemplates",
      "kind": "method",
      "name": "ListTemplates",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 272,
      "end_line": 274
    },
    {
      "id": "UnimplementedSystemServiceHandler::SyncWorkspace",
      "kind": "method",
      "name": "SyncWorkspace",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 276,
      "end_line": 278
    },
    {
      "id": "UnimplementedSystemServiceHandler::TriggerAlert",
      "kind": "method",
      "name": "TriggerAlert",
      "file": "gen/korvus/v1/korvusv1connect/system.connect.go",
      "start_line": 280,
      "end_line": 282
    },
    {
      "id": "SessionKind::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 50,
      "end_line": 54,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionKind::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 56,
      "end_line": 58,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionKind::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 60,
      "end_line": 62,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionKind::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 64,
      "end_line": 66,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionKind::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 68,
      "end_line": 70,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionKind::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 73,
      "end_line": 75,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 124,
      "end_line": 128,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 130,
      "end_line": 132,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 134,
      "end_line": 136,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 138,
      "end_line": 140,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 142,
      "end_line": 144,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatus::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 147,
      "end_line": 149,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 180,
      "end_line": 184,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 186,
      "end_line": 188,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 190,
      "end_line": 192,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 194,
      "end_line": 196,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 198,
      "end_line": 200,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnRole::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 203,
      "end_line": 205,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 240,
      "end_line": 244,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 246,
      "end_line": 248,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 250,
      "end_line": 252,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 254,
      "end_line": 256,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 258,
      "end_line": 260,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ArtifactKind::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 263,
      "end_line": 265,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::Enum",
      "kind": "method",
      "name": "Enum",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 293,
      "end_line": 297,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 299,
      "end_line": 301,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 303,
      "end_line": 305,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::Type",
      "kind": "method",
      "name": "Type",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 307,
      "end_line": 309,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::Number",
      "kind": "method",
      "name": "Number",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 311,
      "end_line": 313,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ContextRefRole::EnumDescriptor",
      "kind": "method",
      "name": "EnumDescriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 316,
      "end_line": 318,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session",
      "kind": "struct",
      "name": "Session",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 321,
      "end_line": 352,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 354,
      "end_line": 359,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 361,
      "end_line": 363,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 365,
      "end_line": 365,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 367,
      "end_line": 377,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 380,
      "end_line": 382,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 384,
      "end_line": 389,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 391,
      "end_line": 396,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetSeq",
      "kind": "method",
      "name": "GetSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 398,
      "end_line": 403,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetKind",
      "kind": "method",
      "name": "GetKind",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 405,
      "end_line": 410,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 412,
      "end_line": 417,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetTitle",
      "kind": "method",
      "name": "GetTitle",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 419,
      "end_line": 424,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetPrompt",
      "kind": "method",
      "name": "GetPrompt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 426,
      "end_line": 431,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetModelId",
      "kind": "method",
      "name": "GetModelId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 433,
      "end_line": 438,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetTemplatePath",
      "kind": "method",
      "name": "GetTemplatePath",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 440,
      "end_line": 445,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetWorkspaceRef",
      "kind": "method",
      "name": "GetWorkspaceRef",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 447,
      "end_line": 452,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetExitReason",
      "kind": "method",
      "name": "GetExitReason",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 454,
      "end_line": 459,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetTurnCount",
      "kind": "method",
      "name": "GetTurnCount",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 461,
      "end_line": 466,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetToolCallCount",
      "kind": "method",
      "name": "GetToolCallCount",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 468,
      "end_line": 473,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetInputTokens",
      "kind": "method",
      "name": "GetInputTokens",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 475,
      "end_line": 480,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetOutputTokens",
      "kind": "method",
      "name": "GetOutputTokens",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 482,
      "end_line": 487,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetStartedAt",
      "kind": "method",
      "name": "GetStartedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 489,
      "end_line": 494,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetEndedAt",
      "kind": "method",
      "name": "GetEndedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 496,
      "end_line": 501,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Session::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 503,
      "end_line": 508,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn",
      "kind": "struct",
      "name": "SessionTurn",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 514,
      "end_line": 537,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "SessionTurn::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 539,
      "end_line": 544,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 546,
      "end_line": 548,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 550,
      "end_line": 550,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 552,
      "end_line": 562,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 565,
      "end_line": 567,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 569,
      "end_line": 574,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 576,
      "end_line": 581,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetSeq",
      "kind": "method",
      "name": "GetSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 583,
      "end_line": 588,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetRole",
      "kind": "method",
      "name": "GetRole",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 590,
      "end_line": 595,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetContent",
      "kind": "method",
      "name": "GetContent",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 597,
      "end_line": 602,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetToolCalls",
      "kind": "method",
      "name": "GetToolCalls",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 604,
      "end_line": 609,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetToolCallId",
      "kind": "method",
      "name": "GetToolCallId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 611,
      "end_line": 616,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetToolName",
      "kind": "method",
      "name": "GetToolName",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 618,
      "end_line": 623,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetIsError",
      "kind": "method",
      "name": "GetIsError",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 625,
      "end_line": 630,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionTurn::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 632,
      "end_line": 637,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report",
      "kind": "struct",
      "name": "Report",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 642,
      "end_line": 670,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Report::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 672,
      "end_line": 677,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 679,
      "end_line": 681,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 683,
      "end_line": 683,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 685,
      "end_line": 695,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 698,
      "end_line": 700,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 702,
      "end_line": 707,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 709,
      "end_line": 714,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 716,
      "end_line": 721,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetMarkdownKey",
      "kind": "method",
      "name": "GetMarkdownKey",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 723,
      "end_line": 728,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetMarkdownBytes",
      "kind": "method",
      "name": "GetMarkdownBytes",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 730,
      "end_line": 735,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetData",
      "kind": "method",
      "name": "GetData",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 737,
      "end_line": 742,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetModelId",
      "kind": "method",
      "name": "GetModelId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 744,
      "end_line": 749,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetExitReason",
      "kind": "method",
      "name": "GetExitReason",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 751,
      "end_line": 756,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 758,
      "end_line": 763,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetRevision",
      "kind": "method",
      "name": "GetRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 765,
      "end_line": 770,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetBurst",
      "kind": "method",
      "name": "GetBurst",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 772,
      "end_line": 777,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetFromSeq",
      "kind": "method",
      "name": "GetFromSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 779,
      "end_line": 784,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Report::GetToSeq",
      "kind": "method",
      "name": "GetToSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 786,
      "end_line": 791,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision",
      "kind": "struct",
      "name": "ReportRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 794,
      "end_line": 804,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 806,
      "end_line": 811,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 813,
      "end_line": 815,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 817,
      "end_line": 817,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 819,
      "end_line": 829,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 832,
      "end_line": 834,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetRevision",
      "kind": "method",
      "name": "GetRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 836,
      "end_line": 841,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetBurst",
      "kind": "method",
      "name": "GetBurst",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 843,
      "end_line": 848,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetFromSeq",
      "kind": "method",
      "name": "GetFromSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 850,
      "end_line": 855,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetToSeq",
      "kind": "method",
      "name": "GetToSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 857,
      "end_line": 862,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetExitReason",
      "kind": "method",
      "name": "GetExitReason",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 864,
      "end_line": 869,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportRevision::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 871,
      "end_line": 876,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact",
      "kind": "struct",
      "name": "Artifact",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 881,
      "end_line": 902,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Artifact::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 904,
      "end_line": 909,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 911,
      "end_line": 913,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 915,
      "end_line": 915,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 917,
      "end_line": 927,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 930,
      "end_line": 932,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 934,
      "end_line": 939,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 941,
      "end_line": 946,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 948,
      "end_line": 953,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetKind",
      "kind": "method",
      "name": "GetKind",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 955,
      "end_line": 960,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetPath",
      "kind": "method",
      "name": "GetPath",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 962,
      "end_line": 967,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetBlobKey",
      "kind": "method",
      "name": "GetBlobKey",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 969,
      "end_line": 974,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetContentType",
      "kind": "method",
      "name": "GetContentType",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 976,
      "end_line": 981,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetSizeBytes",
      "kind": "method",
      "name": "GetSizeBytes",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 983,
      "end_line": 988,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetSha256",
      "kind": "method",
      "name": "GetSha256",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 990,
      "end_line": 995,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetCreatedAt",
      "kind": "method",
      "name": "GetCreatedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 997,
      "end_line": 1002,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Artifact::GetRevision",
      "kind": "method",
      "name": "GetRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1004,
      "end_line": 1009,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef",
      "kind": "struct",
      "name": "SessionContextRef",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1014,
      "end_line": 1023,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "SessionContextRef::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1025,
      "end_line": 1030,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1032,
      "end_line": 1034,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1036,
      "end_line": 1036,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1038,
      "end_line": 1048,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1051,
      "end_line": 1053,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1055,
      "end_line": 1060,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::GetArtifactId",
      "kind": "method",
      "name": "GetArtifactId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1062,
      "end_line": 1067,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1069,
      "end_line": 1074,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::GetRole",
      "kind": "method",
      "name": "GetRole",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1076,
      "end_line": 1081,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRef::GetAddedAt",
      "kind": "method",
      "name": "GetAddedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1083,
      "end_line": 1088,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot",
      "kind": "struct",
      "name": "SessionSnapshot",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1093,
      "end_line": 1102,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1104,
      "end_line": 1109,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1111,
      "end_line": 1113,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1115,
      "end_line": 1115,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1117,
      "end_line": 1127,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1130,
      "end_line": 1132,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1134,
      "end_line": 1139,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::GetTurns",
      "kind": "method",
      "name": "GetTurns",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1141,
      "end_line": 1146,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionSnapshot::GetContextRefs",
      "kind": "method",
      "name": "GetContextRefs",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1148,
      "end_line": 1153,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta",
      "kind": "struct",
      "name": "TurnDelta",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1161,
      "end_line": 1170,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1172,
      "end_line": 1177,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1179,
      "end_line": 1181,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1183,
      "end_line": 1183,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1185,
      "end_line": 1195,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1198,
      "end_line": 1200,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::GetTurnId",
      "kind": "method",
      "name": "GetTurnId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1202,
      "end_line": 1207,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::GetSeq",
      "kind": "method",
      "name": "GetSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1209,
      "end_line": 1214,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TurnDelta::GetContentDelta",
      "kind": "method",
      "name": "GetContentDelta",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1216,
      "end_line": 1221,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted",
      "kind": "struct",
      "name": "ToolCallStarted",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1233,
      "end_line": 1246,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1248,
      "end_line": 1253,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1255,
      "end_line": 1257,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1259,
      "end_line": 1259,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1261,
      "end_line": 1271,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1274,
      "end_line": 1276,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1278,
      "end_line": 1283,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetTurnSeq",
      "kind": "method",
      "name": "GetTurnSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1285,
      "end_line": 1290,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetToolCallId",
      "kind": "method",
      "name": "GetToolCallId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1292,
      "end_line": 1297,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetToolName",
      "kind": "method",
      "name": "GetToolName",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1299,
      "end_line": 1304,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetArgs",
      "kind": "method",
      "name": "GetArgs",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1306,
      "end_line": 1311,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolCallStarted::GetStartedAt",
      "kind": "method",
      "name": "GetStartedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1313,
      "end_line": 1318,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged",
      "kind": "struct",
      "name": "SessionStatusChanged",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1321,
      "end_line": 1331,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1333,
      "end_line": 1338,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1340,
      "end_line": 1342,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1344,
      "end_line": 1344,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1346,
      "end_line": 1356,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1359,
      "end_line": 1361,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1363,
      "end_line": 1368,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::GetPreviousStatus",
      "kind": "method",
      "name": "GetPreviousStatus",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1370,
      "end_line": 1375,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1377,
      "end_line": 1382,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::GetExitReason",
      "kind": "method",
      "name": "GetExitReason",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1384,
      "end_line": 1389,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionStatusChanged::GetChangedAt",
      "kind": "method",
      "name": "GetChangedAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1391,
      "end_line": 1396,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady",
      "kind": "struct",
      "name": "ReportReady",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1400,
      "end_line": 1405,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1407,
      "end_line": 1412,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1414,
      "end_line": 1416,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1418,
      "end_line": 1418,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1420,
      "end_line": 1430,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1433,
      "end_line": 1435,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ReportReady::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1437,
      "end_line": 1442,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat",
      "kind": "struct",
      "name": "Heartbeat",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1447,
      "end_line": 1452,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1454,
      "end_line": 1459,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1461,
      "end_line": 1463,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1465,
      "end_line": 1465,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1467,
      "end_line": 1477,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1480,
      "end_line": 1482,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Heartbeat::GetSentAt",
      "kind": "method",
      "name": "GetSentAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1484,
      "end_line": 1489,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest",
      "kind": "struct",
      "name": "CreateSessionRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1491,
      "end_line": 1510,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1512,
      "end_line": 1517,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1519,
      "end_line": 1521,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1523,
      "end_line": 1523,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1525,
      "end_line": 1535,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1538,
      "end_line": 1540,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1542,
      "end_line": 1547,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetKind",
      "kind": "method",
      "name": "GetKind",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1549,
      "end_line": 1554,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetTitle",
      "kind": "method",
      "name": "GetTitle",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1556,
      "end_line": 1561,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetPrompt",
      "kind": "method",
      "name": "GetPrompt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1563,
      "end_line": 1568,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetModelId",
      "kind": "method",
      "name": "GetModelId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1570,
      "end_line": 1575,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetTemplatePath",
      "kind": "method",
      "name": "GetTemplatePath",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1577,
      "end_line": 1582,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionRequest::GetContextRefs",
      "kind": "method",
      "name": "GetContextRefs",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1584,
      "end_line": 1589,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput",
      "kind": "struct",
      "name": "SessionContextRefInput",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1594,
      "end_line": 1600,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1602,
      "end_line": 1607,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1609,
      "end_line": 1611,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1613,
      "end_line": 1613,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1615,
      "end_line": 1625,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1628,
      "end_line": 1630,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::GetArtifactId",
      "kind": "method",
      "name": "GetArtifactId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1632,
      "end_line": 1637,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SessionContextRefInput::GetRole",
      "kind": "method",
      "name": "GetRole",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1639,
      "end_line": 1644,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse",
      "kind": "struct",
      "name": "CreateSessionResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1646,
      "end_line": 1651,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1653,
      "end_line": 1658,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1660,
      "end_line": 1662,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1664,
      "end_line": 1664,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1666,
      "end_line": 1676,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1679,
      "end_line": 1681,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CreateSessionResponse::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1683,
      "end_line": 1688,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest",
      "kind": "struct",
      "name": "GetSessionRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1690,
      "end_line": 1695,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1697,
      "end_line": 1702,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1704,
      "end_line": 1706,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1708,
      "end_line": 1708,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1710,
      "end_line": 1720,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1723,
      "end_line": 1725,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionRequest::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1727,
      "end_line": 1732,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse",
      "kind": "struct",
      "name": "GetSessionResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1734,
      "end_line": 1739,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1741,
      "end_line": 1746,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1748,
      "end_line": 1750,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1752,
      "end_line": 1752,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1754,
      "end_line": 1764,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1767,
      "end_line": 1769,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSessionResponse::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1771,
      "end_line": 1776,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest",
      "kind": "struct",
      "name": "ListSessionsRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1778,
      "end_line": 1783,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1785,
      "end_line": 1790,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1792,
      "end_line": 1794,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1796,
      "end_line": 1796,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1798,
      "end_line": 1808,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1811,
      "end_line": 1813,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsRequest::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1815,
      "end_line": 1820,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse",
      "kind": "struct",
      "name": "ListSessionsResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1822,
      "end_line": 1828,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1830,
      "end_line": 1835,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1837,
      "end_line": 1839,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1841,
      "end_line": 1841,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1843,
      "end_line": 1853,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1856,
      "end_line": 1858,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSessionsResponse::GetSessions",
      "kind": "method",
      "name": "GetSessions",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1860,
      "end_line": 1865,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest",
      "kind": "struct",
      "name": "CancelSessionRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1867,
      "end_line": 1874,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1876,
      "end_line": 1881,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1883,
      "end_line": 1885,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1887,
      "end_line": 1887,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1889,
      "end_line": 1899,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1902,
      "end_line": 1904,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::GetId",
      "kind": "method",
      "name": "GetId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1906,
      "end_line": 1911,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionRequest::GetReason",
      "kind": "method",
      "name": "GetReason",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1913,
      "end_line": 1918,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse",
      "kind": "struct",
      "name": "CancelSessionResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1920,
      "end_line": 1927,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1929,
      "end_line": 1934,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1936,
      "end_line": 1938,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1940,
      "end_line": 1940,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1942,
      "end_line": 1952,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1955,
      "end_line": 1957,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "CancelSessionResponse::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1959,
      "end_line": 1964,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest",
      "kind": "struct",
      "name": "SendMessageRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1966,
      "end_line": 1973,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1975,
      "end_line": 1980,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1982,
      "end_line": 1984,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1986,
      "end_line": 1986,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 1988,
      "end_line": 1998,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2001,
      "end_line": 2003,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2005,
      "end_line": 2010,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageRequest::GetContent",
      "kind": "method",
      "name": "GetContent",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2012,
      "end_line": 2017,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse",
      "kind": "struct",
      "name": "SendMessageResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2019,
      "end_line": 2025,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2027,
      "end_line": 2032,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2034,
      "end_line": 2036,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2038,
      "end_line": 2038,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2040,
      "end_line": 2050,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2053,
      "end_line": 2055,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SendMessageResponse::GetTurn",
      "kind": "method",
      "name": "GetTurn",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2057,
      "end_line": 2062,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest",
      "kind": "struct",
      "name": "ListTurnsRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2064,
      "end_line": 2071,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2073,
      "end_line": 2078,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2080,
      "end_line": 2082,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2084,
      "end_line": 2084,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2086,
      "end_line": 2096,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2099,
      "end_line": 2101,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2103,
      "end_line": 2108,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsRequest::GetAfterSeq",
      "kind": "method",
      "name": "GetAfterSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2110,
      "end_line": 2115,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse",
      "kind": "struct",
      "name": "ListTurnsResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2117,
      "end_line": 2123,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2125,
      "end_line": 2130,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2132,
      "end_line": 2134,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2136,
      "end_line": 2136,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2138,
      "end_line": 2148,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2151,
      "end_line": 2153,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTurnsResponse::GetTurns",
      "kind": "method",
      "name": "GetTurns",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2155,
      "end_line": 2160,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest",
      "kind": "struct",
      "name": "WatchSessionRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2162,
      "end_line": 2178,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2180,
      "end_line": 2185,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2187,
      "end_line": 2189,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2191,
      "end_line": 2191,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2193,
      "end_line": 2203,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2206,
      "end_line": 2208,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2210,
      "end_line": 2215,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionRequest::GetAfterSeq",
      "kind": "method",
      "name": "GetAfterSeq",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2217,
      "end_line": 2222,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse",
      "kind": "struct",
      "name": "WatchSessionResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2232,
      "end_line": 2246,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2248,
      "end_line": 2253,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2255,
      "end_line": 2257,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2259,
      "end_line": 2259,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2261,
      "end_line": 2271,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2274,
      "end_line": 2276,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetEvent",
      "kind": "method",
      "name": "GetEvent",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2278,
      "end_line": 2283,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetSnapshot",
      "kind": "method",
      "name": "GetSnapshot",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2285,
      "end_line": 2292,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetTurn",
      "kind": "method",
      "name": "GetTurn",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2294,
      "end_line": 2301,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetDelta",
      "kind": "method",
      "name": "GetDelta",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2303,
      "end_line": 2310,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetToolStarted",
      "kind": "method",
      "name": "GetToolStarted",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2312,
      "end_line": 2319,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetStatus",
      "kind": "method",
      "name": "GetStatus",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2321,
      "end_line": 2328,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2330,
      "end_line": 2337,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse::GetHeartbeat",
      "kind": "method",
      "name": "GetHeartbeat",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2339,
      "end_line": 2346,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "isWatchSessionResponse_Event",
      "kind": "interface",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2348,
      "end_line": 2350,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "isWatchSessionResponse_Event::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2349,
      "end_line": 2349,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Snapshot",
      "kind": "struct",
      "name": "WatchSessionResponse_Snapshot",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2352,
      "end_line": 2355,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Turn",
      "kind": "struct",
      "name": "WatchSessionResponse_Turn",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2357,
      "end_line": 2360,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Delta",
      "kind": "struct",
      "name": "WatchSessionResponse_Delta",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2362,
      "end_line": 2365,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_ToolStarted",
      "kind": "struct",
      "name": "WatchSessionResponse_ToolStarted",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2367,
      "end_line": 2370,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Status",
      "kind": "struct",
      "name": "WatchSessionResponse_Status",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2372,
      "end_line": 2375,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Report",
      "kind": "struct",
      "name": "WatchSessionResponse_Report",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2377,
      "end_line": 2380,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Heartbeat",
      "kind": "struct",
      "name": "WatchSessionResponse_Heartbeat",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2382,
      "end_line": 2385,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Snapshot::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2387,
      "end_line": 2387,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Turn::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2389,
      "end_line": 2389,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Delta::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2391,
      "end_line": 2391,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_ToolStarted::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2393,
      "end_line": 2393,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Status::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2395,
      "end_line": 2395,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Report::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2397,
      "end_line": 2397,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "WatchSessionResponse_Heartbeat::isWatchSessionResponse_Event",
      "kind": "method",
      "name": "isWatchSessionResponse_Event",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2399,
      "end_line": 2399,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest",
      "kind": "struct",
      "name": "GetReportRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2401,
      "end_line": 2410,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2412,
      "end_line": 2417,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2419,
      "end_line": 2421,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2423,
      "end_line": 2423,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2425,
      "end_line": 2435,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2438,
      "end_line": 2440,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2442,
      "end_line": 2447,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportRequest::GetRevision",
      "kind": "method",
      "name": "GetRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2449,
      "end_line": 2454,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse",
      "kind": "struct",
      "name": "GetReportResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2456,
      "end_line": 2461,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2463,
      "end_line": 2468,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2470,
      "end_line": 2472,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2474,
      "end_line": 2474,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2476,
      "end_line": 2486,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2489,
      "end_line": 2491,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetReportResponse::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2493,
      "end_line": 2498,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest",
      "kind": "struct",
      "name": "ListReportRevisionsRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2500,
      "end_line": 2505,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2507,
      "end_line": 2512,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2514,
      "end_line": 2516,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2518,
      "end_line": 2518,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2520,
      "end_line": 2530,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2533,
      "end_line": 2535,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2537,
      "end_line": 2542,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse",
      "kind": "struct",
      "name": "ListReportRevisionsResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2544,
      "end_line": 2549,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2551,
      "end_line": 2556,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2558,
      "end_line": 2560,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2562,
      "end_line": 2562,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2564,
      "end_line": 2574,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2577,
      "end_line": 2579,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListReportRevisionsResponse::GetRevisions",
      "kind": "method",
      "name": "GetRevisions",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2581,
      "end_line": 2586,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest",
      "kind": "struct",
      "name": "ListArtifactsRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2588,
      "end_line": 2601,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2603,
      "end_line": 2608,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2610,
      "end_line": 2612,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2614,
      "end_line": 2614,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2616,
      "end_line": 2626,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2629,
      "end_line": 2631,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::GetSessionId",
      "kind": "method",
      "name": "GetSessionId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2633,
      "end_line": 2638,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2640,
      "end_line": 2645,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsRequest::GetRevision",
      "kind": "method",
      "name": "GetRevision",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2647,
      "end_line": 2652,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse",
      "kind": "struct",
      "name": "ListArtifactsResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2654,
      "end_line": 2659,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2661,
      "end_line": 2666,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2668,
      "end_line": 2670,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2672,
      "end_line": 2672,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2674,
      "end_line": 2684,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2687,
      "end_line": 2689,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListArtifactsResponse::GetArtifacts",
      "kind": "method",
      "name": "GetArtifacts",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2691,
      "end_line": 2696,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest",
      "kind": "struct",
      "name": "GetArtifactDownloadRequest",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2698,
      "end_line": 2703,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2705,
      "end_line": 2710,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2712,
      "end_line": 2714,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2716,
      "end_line": 2716,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2718,
      "end_line": 2728,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2731,
      "end_line": 2733,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadRequest::GetArtifactId",
      "kind": "method",
      "name": "GetArtifactId",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2735,
      "end_line": 2740,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse",
      "kind": "struct",
      "name": "GetArtifactDownloadResponse",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2742,
      "end_line": 2751,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2753,
      "end_line": 2758,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2760,
      "end_line": 2762,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2764,
      "end_line": 2764,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2766,
      "end_line": 2776,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2779,
      "end_line": 2781,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2783,
      "end_line": 2788,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::GetUrl",
      "kind": "method",
      "name": "GetUrl",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2790,
      "end_line": 2795,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetArtifactDownloadResponse::GetExpiresAt",
      "kind": "method",
      "name": "GetExpiresAt",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2797,
      "end_line": 2802,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "File_korvus_v1_session_proto",
      "kind": "variable",
      "name": "File_korvus_v1_session_proto",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 2804,
      "end_line": 2804,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "function",
      "name": "file_korvus_v1_session_proto_rawDescGZIP",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3066,
      "end_line": 3071,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_enumTypes",
      "kind": "variable",
      "name": "file_korvus_v1_session_proto_enumTypes",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3073,
      "end_line": 3073,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_msgTypes",
      "kind": "variable",
      "name": "file_korvus_v1_session_proto_msgTypes",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3074,
      "end_line": 3074,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_goTypes",
      "kind": "variable",
      "name": "file_korvus_v1_session_proto_goTypes",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3075,
      "end_line": 3119,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_depIdxs",
      "kind": "variable",
      "name": "file_korvus_v1_session_proto_depIdxs",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3120,
      "end_line": 3194,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "init",
      "kind": "function",
      "name": "init",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3196,
      "end_line": 3196,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_session_proto_init",
      "kind": "function",
      "name": "file_korvus_v1_session_proto_init",
      "file": "gen/korvus/v1/session.pb.go",
      "start_line": 3197,
      "end_line": 3228,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer",
      "kind": "struct",
      "name": "MCPServer",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 26,
      "end_line": 37,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 39,
      "end_line": 44,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 46,
      "end_line": 48,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 50,
      "end_line": 50,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 52,
      "end_line": 62,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 65,
      "end_line": 67,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::GetName",
      "kind": "method",
      "name": "GetName",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 69,
      "end_line": 74,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::GetUrl",
      "kind": "method",
      "name": "GetUrl",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 76,
      "end_line": 81,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::GetConnected",
      "kind": "method",
      "name": "GetConnected",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 83,
      "end_line": 88,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::GetLastError",
      "kind": "method",
      "name": "GetLastError",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 90,
      "end_line": 95,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "MCPServer::GetTools",
      "kind": "method",
      "name": "GetTools",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 97,
      "end_line": 102,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool",
      "kind": "struct",
      "name": "Tool",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 105,
      "end_line": 111,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 113,
      "end_line": 118,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 120,
      "end_line": 122,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 124,
      "end_line": 124,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 126,
      "end_line": 136,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 139,
      "end_line": 141,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::GetName",
      "kind": "method",
      "name": "GetName",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 143,
      "end_line": 148,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Tool::GetDescription",
      "kind": "method",
      "name": "GetDescription",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 150,
      "end_line": 155,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill",
      "kind": "struct",
      "name": "Skill",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 158,
      "end_line": 170,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "Skill::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 172,
      "end_line": 177,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 179,
      "end_line": 181,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 183,
      "end_line": 183,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 185,
      "end_line": 195,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 198,
      "end_line": 200,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::GetName",
      "kind": "method",
      "name": "GetName",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 202,
      "end_line": 207,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::GetDescription",
      "kind": "method",
      "name": "GetDescription",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 209,
      "end_line": 214,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::GetTags",
      "kind": "method",
      "name": "GetTags",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 216,
      "end_line": 221,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::GetMcpServer",
      "kind": "method",
      "name": "GetMcpServer",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 223,
      "end_line": 228,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Skill::GetPath",
      "kind": "method",
      "name": "GetPath",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 230,
      "end_line": 235,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template",
      "kind": "struct",
      "name": "Template",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 238,
      "end_line": 246,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 248,
      "end_line": 253,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 255,
      "end_line": 257,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 259,
      "end_line": 259,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 261,
      "end_line": 271,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 274,
      "end_line": 276,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::GetName",
      "kind": "method",
      "name": "GetName",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 278,
      "end_line": 283,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::GetDescription",
      "kind": "method",
      "name": "GetDescription",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 285,
      "end_line": 290,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "Template::GetPath",
      "kind": "method",
      "name": "GetPath",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 292,
      "end_line": 297,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest",
      "kind": "struct",
      "name": "GetSystemStatusRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 299,
      "end_line": 303,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 305,
      "end_line": 310,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 312,
      "end_line": 314,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 316,
      "end_line": 316,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 318,
      "end_line": 328,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 331,
      "end_line": 333,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse",
      "kind": "struct",
      "name": "GetSystemStatusResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 335,
      "end_line": 361,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 363,
      "end_line": 368,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 370,
      "end_line": 372,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 374,
      "end_line": 374,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 376,
      "end_line": 386,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 389,
      "end_line": 391,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetVersion",
      "kind": "method",
      "name": "GetVersion",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 393,
      "end_line": 398,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetWorkspaceRef",
      "kind": "method",
      "name": "GetWorkspaceRef",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 400,
      "end_line": 405,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetWorkspaceStale",
      "kind": "method",
      "name": "GetWorkspaceStale",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 407,
      "end_line": 412,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetWorkspaceLastError",
      "kind": "method",
      "name": "GetWorkspaceLastError",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 414,
      "end_line": 419,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetWorkspaceSyncedAt",
      "kind": "method",
      "name": "GetWorkspaceSyncedAt",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 421,
      "end_line": 426,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetOpenIncidentCount",
      "kind": "method",
      "name": "GetOpenIncidentCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 428,
      "end_line": 433,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetActiveSessionCount",
      "kind": "method",
      "name": "GetActiveSessionCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 435,
      "end_line": 440,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetMcpServers",
      "kind": "method",
      "name": "GetMcpServers",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 442,
      "end_line": 447,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetLoadedSkillCount",
      "kind": "method",
      "name": "GetLoadedSkillCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 449,
      "end_line": 454,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetDatabaseConnected",
      "kind": "method",
      "name": "GetDatabaseConnected",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 456,
      "end_line": 461,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "GetSystemStatusResponse::GetStartedAt",
      "kind": "method",
      "name": "GetStartedAt",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 463,
      "end_line": 468,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest",
      "kind": "struct",
      "name": "ListMCPServersRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 470,
      "end_line": 474,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 476,
      "end_line": 481,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 483,
      "end_line": 485,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 487,
      "end_line": 487,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 489,
      "end_line": 499,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 502,
      "end_line": 504,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse",
      "kind": "struct",
      "name": "ListMCPServersResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 506,
      "end_line": 511,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 513,
      "end_line": 518,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 520,
      "end_line": 522,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 524,
      "end_line": 524,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 526,
      "end_line": 536,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 539,
      "end_line": 541,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListMCPServersResponse::GetServers",
      "kind": "method",
      "name": "GetServers",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 543,
      "end_line": 548,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest",
      "kind": "struct",
      "name": "ListSkillsRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 550,
      "end_line": 554,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 556,
      "end_line": 561,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 563,
      "end_line": 565,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 567,
      "end_line": 567,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 569,
      "end_line": 579,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 582,
      "end_line": 584,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse",
      "kind": "struct",
      "name": "ListSkillsResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 586,
      "end_line": 591,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 593,
      "end_line": 598,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 600,
      "end_line": 602,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 604,
      "end_line": 604,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 606,
      "end_line": 616,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 619,
      "end_line": 621,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListSkillsResponse::GetSkills",
      "kind": "method",
      "name": "GetSkills",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 623,
      "end_line": 628,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest",
      "kind": "struct",
      "name": "ListTemplatesRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 630,
      "end_line": 634,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 636,
      "end_line": 641,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 643,
      "end_line": 645,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 647,
      "end_line": 647,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 649,
      "end_line": 659,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 662,
      "end_line": 664,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse",
      "kind": "struct",
      "name": "ListTemplatesResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 666,
      "end_line": 671,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 673,
      "end_line": 678,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 680,
      "end_line": 682,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 684,
      "end_line": 684,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 686,
      "end_line": 696,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 699,
      "end_line": 701,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ListTemplatesResponse::GetTemplates",
      "kind": "method",
      "name": "GetTemplates",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 703,
      "end_line": 708,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest",
      "kind": "struct",
      "name": "SyncWorkspaceRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 710,
      "end_line": 717,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 719,
      "end_line": 724,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 726,
      "end_line": 728,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 730,
      "end_line": 730,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 732,
      "end_line": 742,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 745,
      "end_line": 747,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceRequest::GetGitRef",
      "kind": "method",
      "name": "GetGitRef",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 749,
      "end_line": 754,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse",
      "kind": "struct",
      "name": "SyncWorkspaceResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 756,
      "end_line": 767,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 769,
      "end_line": 774,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 776,
      "end_line": 778,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 780,
      "end_line": 780,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 782,
      "end_line": 792,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 795,
      "end_line": 797,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::GetWorkspaceRef",
      "kind": "method",
      "name": "GetWorkspaceRef",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 799,
      "end_line": 804,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::GetSkillCount",
      "kind": "method",
      "name": "GetSkillCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 806,
      "end_line": 811,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::GetTemplateCount",
      "kind": "method",
      "name": "GetTemplateCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 813,
      "end_line": 818,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "SyncWorkspaceResponse::GetDocChunkCount",
      "kind": "method",
      "name": "GetDocChunkCount",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 820,
      "end_line": 825,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest",
      "kind": "struct",
      "name": "TriggerAlertRequest",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 827,
      "end_line": 838,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 840,
      "end_line": 845,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 847,
      "end_line": 849,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 851,
      "end_line": 851,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 853,
      "end_line": 863,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 866,
      "end_line": 868,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::GetLabels",
      "kind": "method",
      "name": "GetLabels",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 870,
      "end_line": 875,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::GetAnnotations",
      "kind": "method",
      "name": "GetAnnotations",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 877,
      "end_line": 882,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertRequest::GetTriggeredBy",
      "kind": "method",
      "name": "GetTriggeredBy",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 884,
      "end_line": 889,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse",
      "kind": "struct",
      "name": "TriggerAlertResponse",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 891,
      "end_line": 903,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::Reset",
      "kind": "method",
      "name": "Reset",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 905,
      "end_line": 910,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::String",
      "kind": "method",
      "name": "String",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 912,
      "end_line": 914,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::ProtoMessage",
      "kind": "method",
      "name": "ProtoMessage",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 916,
      "end_line": 916,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::ProtoReflect",
      "kind": "method",
      "name": "ProtoReflect",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 918,
      "end_line": 928,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::Descriptor",
      "kind": "method",
      "name": "Descriptor",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 931,
      "end_line": 933,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::GetAlertId",
      "kind": "method",
      "name": "GetAlertId",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 935,
      "end_line": 940,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::GetIncidentId",
      "kind": "method",
      "name": "GetIncidentId",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 942,
      "end_line": 947,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "TriggerAlertResponse::GetSuppressed",
      "kind": "method",
      "name": "GetSuppressed",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 949,
      "end_line": 954,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "File_korvus_v1_system_proto",
      "kind": "variable",
      "name": "File_korvus_v1_system_proto",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 956,
      "end_line": 956,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "function",
      "name": "file_korvus_v1_system_proto_rawDescGZIP",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1048,
      "end_line": 1053,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_system_proto_msgTypes",
      "kind": "variable",
      "name": "file_korvus_v1_system_proto_msgTypes",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1055,
      "end_line": 1055,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_system_proto_goTypes",
      "kind": "variable",
      "name": "file_korvus_v1_system_proto_goTypes",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1056,
      "end_line": 1076,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_system_proto_depIdxs",
      "kind": "variable",
      "name": "file_korvus_v1_system_proto_depIdxs",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1077,
      "end_line": 1104,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "init",
      "kind": "function",
      "name": "init",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1106,
      "end_line": 1106,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "file_korvus_v1_system_proto_init",
      "kind": "function",
      "name": "file_korvus_v1_system_proto_init",
      "file": "gen/korvus/v1/system.pb.go",
      "start_line": 1107,
      "end_line": 1128,
      "page": "generated-korvus-v1-protobuf-and-connect-api"
    },
    {
      "id": "ToolExecutor",
      "kind": "interface",
      "name": "ToolExecutor",
      "file": "internal/agent/agent.go",
      "start_line": 74,
      "end_line": 78,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "ToolExecutor::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/agent/agent.go",
      "start_line": 75,
      "end_line": 75,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ToolExecutor::Has",
      "kind": "method",
      "name": "Has",
      "file": "internal/agent/agent.go",
      "start_line": 76,
      "end_line": 76,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ToolExecutor::Call",
      "kind": "method",
      "name": "Call",
      "file": "internal/agent/agent.go",
      "start_line": 77,
      "end_line": 77,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnLogger",
      "kind": "interface",
      "name": "TurnLogger",
      "file": "internal/agent/agent.go",
      "start_line": 81,
      "end_line": 83,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "TurnLogger::LogSessionTurn",
      "kind": "method",
      "name": "LogSessionTurn",
      "file": "internal/agent/agent.go",
      "start_line": 82,
      "end_line": 82,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "namedProvider",
      "kind": "struct",
      "name": "namedProvider",
      "file": "internal/agent/agent.go",
      "start_line": 85,
      "end_line": 90,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Config",
      "kind": "struct",
      "name": "Config",
      "file": "internal/agent/agent.go",
      "start_line": 93,
      "end_line": 112,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "Agent",
      "kind": "struct",
      "name": "Agent",
      "file": "internal/agent/agent.go",
      "start_line": 116,
      "end_line": 123,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "New",
      "kind": "function",
      "name": "New",
      "file": "internal/agent/agent.go",
      "start_line": 125,
      "end_line": 147,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "RunRequest",
      "kind": "struct",
      "name": "RunRequest",
      "file": "internal/agent/agent.go",
      "start_line": 155,
      "end_line": 199,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "InheritedArtifact",
      "kind": "struct",
      "name": "InheritedArtifact",
      "file": "internal/agent/agent.go",
      "start_line": 203,
      "end_line": 208,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "WorkspaceRef",
      "kind": "struct",
      "name": "WorkspaceRef",
      "file": "internal/agent/agent.go",
      "start_line": 211,
      "end_line": 215,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "RunRequest::validate",
      "kind": "method",
      "name": "validate",
      "file": "internal/agent/agent.go",
      "start_line": 222,
      "end_line": 240,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/agent/agent.go",
      "start_line": 253,
      "end_line": 290,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::investigateAndLand",
      "kind": "method",
      "name": "investigateAndLand",
      "file": "internal/agent/agent.go",
      "start_line": 295,
      "end_line": 343,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::Continue",
      "kind": "method",
      "name": "Continue",
      "file": "internal/agent/agent.go",
      "start_line": 360,
      "end_line": 390,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::openBurst",
      "kind": "method",
      "name": "openBurst",
      "file": "internal/agent/agent.go",
      "start_line": 407,
      "end_line": 412,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::runBurst",
      "kind": "method",
      "name": "runBurst",
      "file": "internal/agent/agent.go",
      "start_line": 429,
      "end_line": 576,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::newSession",
      "kind": "method",
      "name": "newSession",
      "file": "internal/agent/agent.go",
      "start_line": 578,
      "end_line": 608,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::toolsFor",
      "kind": "method",
      "name": "toolsFor",
      "file": "internal/agent/agent.go",
      "start_line": 612,
      "end_line": 617,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::skillsUsed",
      "kind": "method",
      "name": "skillsUsed",
      "file": "internal/agent/agent.go",
      "start_line": 624,
      "end_line": 635,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::handleNoToolCalls",
      "kind": "method",
      "name": "handleNoToolCalls",
      "file": "internal/agent/agent.go",
      "start_line": 640,
      "end_line": 662,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::finalize",
      "kind": "method",
      "name": "finalize",
      "file": "internal/agent/agent.go",
      "start_line": 674,
      "end_line": 737,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::buildReport",
      "kind": "method",
      "name": "buildReport",
      "file": "internal/agent/agent.go",
      "start_line": 741,
      "end_line": 786,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fallbackReportData",
      "kind": "function",
      "name": "fallbackReportData",
      "file": "internal/agent/agent.go",
      "start_line": 791,
      "end_line": 805,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "parseReportJSON",
      "kind": "function",
      "name": "parseReportJSON",
      "file": "internal/agent/agent.go",
      "start_line": 810,
      "end_line": 831,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "extractJSONObject",
      "kind": "function",
      "name": "extractJSONObject",
      "file": "internal/agent/agent.go",
      "start_line": 835,
      "end_line": 869,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::logAndBroadcast",
      "kind": "method",
      "name": "logAndBroadcast",
      "file": "internal/agent/agent.go",
      "start_line": 876,
      "end_line": 887,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "userTurn",
      "kind": "function",
      "name": "userTurn",
      "file": "internal/agent/agent.go",
      "start_line": 892,
      "end_line": 901,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "assistantTurn",
      "kind": "function",
      "name": "assistantTurn",
      "file": "internal/agent/agent.go",
      "start_line": 903,
      "end_line": 930,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "storedArgs",
      "kind": "function",
      "name": "storedArgs",
      "file": "internal/agent/agent.go",
      "start_line": 936,
      "end_line": 945,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "toolTurn",
      "kind": "function",
      "name": "toolTurn",
      "file": "internal/agent/agent.go",
      "start_line": 947,
      "end_line": 959,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::toolDefs",
      "kind": "method",
      "name": "toolDefs",
      "file": "internal/agent/agent.go",
      "start_line": 961,
      "end_line": 968,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::currentProvider",
      "kind": "method",
      "name": "currentProvider",
      "file": "internal/agent/agent.go",
      "start_line": 972,
      "end_line": 975,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::providersExhausted",
      "kind": "method",
      "name": "providersExhausted",
      "file": "internal/agent/agent.go",
      "start_line": 980,
      "end_line": 982,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "exitFromCtx",
      "kind": "function",
      "name": "exitFromCtx",
      "file": "internal/agent/agent.go",
      "start_line": 984,
      "end_line": 989,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "classifyLoopError",
      "kind": "function",
      "name": "classifyLoopError",
      "file": "internal/agent/agent.go",
      "start_line": 991,
      "end_line": 1002,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "newID",
      "kind": "function",
      "name": "newID",
      "file": "internal/agent/agent.go",
      "start_line": 1004,
      "end_line": 1006,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "scriptedProvider",
      "kind": "struct",
      "name": "scriptedProvider",
      "file": "internal/agent/agent_test.go",
      "start_line": 37,
      "end_line": 42,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "scriptedProvider::Complete",
      "kind": "method",
      "name": "Complete",
      "file": "internal/agent/agent_test.go",
      "start_line": 44,
      "end_line": 65,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "scriptedProvider::lastCall",
      "kind": "method",
      "name": "lastCall",
      "file": "internal/agent/agent_test.go",
      "start_line": 67,
      "end_line": 71,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "textStep",
      "kind": "function",
      "name": "textStep",
      "file": "internal/agent/agent_test.go",
      "start_line": 73,
      "end_line": 77,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "toolStep",
      "kind": "function",
      "name": "toolStep",
      "file": "internal/agent/agent_test.go",
      "start_line": 79,
      "end_line": 83,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "failStep",
      "kind": "function",
      "name": "failStep",
      "file": "internal/agent/agent_test.go",
      "start_line": 85,
      "end_line": 89,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "investigateThenReport",
      "kind": "function",
      "name": "investigateThenReport",
      "file": "internal/agent/agent_test.go",
      "start_line": 93,
      "end_line": 103,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor",
      "kind": "struct",
      "name": "fakeExecutor",
      "file": "internal/agent/agent_test.go",
      "start_line": 105,
      "end_line": 113,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "newEchoExecutor",
      "kind": "function",
      "name": "newEchoExecutor",
      "file": "internal/agent/agent_test.go",
      "start_line": 115,
      "end_line": 125,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor::addTool",
      "kind": "method",
      "name": "addTool",
      "file": "internal/agent/agent_test.go",
      "start_line": 128,
      "end_line": 133,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/agent/agent_test.go",
      "start_line": 135,
      "end_line": 148,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor::Has",
      "kind": "method",
      "name": "Has",
      "file": "internal/agent/agent_test.go",
      "start_line": 150,
      "end_line": 155,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor::Call",
      "kind": "method",
      "name": "Call",
      "file": "internal/agent/agent_test.go",
      "start_line": 164,
      "end_line": 173,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "fakeExecutor::callCount",
      "kind": "method",
      "name": "callCount",
      "file": "internal/agent/agent_test.go",
      "start_line": 175,
      "end_line": 179,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "memLogger",
      "kind": "struct",
      "name": "memLogger",
      "file": "internal/agent/agent_test.go",
      "start_line": 181,
      "end_line": 194,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "memLogger::LogSessionTurn",
      "kind": "method",
      "name": "LogSessionTurn",
      "file": "internal/agent/agent_test.go",
      "start_line": 196,
      "end_line": 205,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "memLogger::roleTurns",
      "kind": "method",
      "name": "roleTurns",
      "file": "internal/agent/agent_test.go",
      "start_line": 207,
      "end_line": 217,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "newTestAgent",
      "kind": "function",
      "name": "newTestAgent",
      "file": "internal/agent/agent_test.go",
      "start_line": 221,
      "end_line": 239,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "testIncident",
      "kind": "function",
      "name": "testIncident",
      "file": "internal/agent/agent_test.go",
      "start_line": 241,
      "end_line": 255,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "testSession",
      "kind": "function",
      "name": "testSession",
      "file": "internal/agent/agent_test.go",
      "start_line": 261,
      "end_line": 270,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "testRunRequest",
      "kind": "function",
      "name": "testRunRequest",
      "file": "internal/agent/agent_test.go",
      "start_line": 272,
      "end_line": 275,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "mustRun",
      "kind": "function",
      "name": "mustRun",
      "file": "internal/agent/agent_test.go",
      "start_line": 277,
      "end_line": 280,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "mustRunRequest",
      "kind": "function",
      "name": "mustRunRequest",
      "file": "internal/agent/agent_test.go",
      "start_line": 282,
      "end_line": 293,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "checkPairing",
      "kind": "function",
      "name": "checkPairing",
      "file": "internal/agent/agent_test.go",
      "start_line": 298,
      "end_line": 325,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "roleShape",
      "kind": "function",
      "name": "roleShape",
      "file": "internal/agent/agent_test.go",
      "start_line": 338,
      "end_line": 348,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "loopCallCount",
      "kind": "function",
      "name": "loopCallCount",
      "file": "internal/agent/agent_test.go",
      "start_line": 350,
      "end_line": 360,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestHappyPath",
      "kind": "function",
      "name": "TestHappyPath",
      "file": "internal/agent/agent_test.go",
      "start_line": 364,
      "end_line": 406,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestMaxIterations",
      "kind": "function",
      "name": "TestMaxIterations",
      "file": "internal/agent/agent_test.go",
      "start_line": 410,
      "end_line": 430,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCancelledMidToolBatch",
      "kind": "function",
      "name": "TestCancelledMidToolBatch",
      "file": "internal/agent/agent_test.go",
      "start_line": 432,
      "end_line": 464,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTimeoutDuringModelCall",
      "kind": "function",
      "name": "TestTimeoutDuringModelCall",
      "file": "internal/agent/agent_test.go",
      "start_line": 466,
      "end_line": 482,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRateLimitRetryHonorsRetryAfter",
      "kind": "function",
      "name": "TestRateLimitRetryHonorsRetryAfter",
      "file": "internal/agent/agent_test.go",
      "start_line": 486,
      "end_line": 501,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestHugeRetryAfterIsCapped",
      "kind": "function",
      "name": "TestHugeRetryAfterIsCapped",
      "file": "internal/agent/agent_test.go",
      "start_line": 503,
      "end_line": 515,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFallbackAfterServerErrorsIsSticky",
      "kind": "function",
      "name": "TestFallbackAfterServerErrorsIsSticky",
      "file": "internal/agent/agent_test.go",
      "start_line": 517,
      "end_line": 543,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestBothProvidersExhausted",
      "kind": "function",
      "name": "TestBothProvidersExhausted",
      "file": "internal/agent/agent_test.go",
      "start_line": 545,
      "end_line": 561,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthErrorFailsOverImmediately",
      "kind": "function",
      "name": "TestAuthErrorFailsOverImmediately",
      "file": "internal/agent/agent_test.go",
      "start_line": 563,
      "end_line": 578,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestOverflowPruneThenRetry",
      "kind": "function",
      "name": "TestOverflowPruneThenRetry",
      "file": "internal/agent/agent_test.go",
      "start_line": 580,
      "end_line": 609,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestOverflowTwiceLandsDegraded",
      "kind": "function",
      "name": "TestOverflowTwiceLandsDegraded",
      "file": "internal/agent/agent_test.go",
      "start_line": 611,
      "end_line": 630,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "kind": "function",
      "name": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "file": "internal/agent/agent_test.go",
      "start_line": 632,
      "end_line": 648,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestToolErrorContinuesLoop",
      "kind": "function",
      "name": "TestToolErrorContinuesLoop",
      "file": "internal/agent/agent_test.go",
      "start_line": 652,
      "end_line": 672,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestUnknownToolStrikesHalt",
      "kind": "function",
      "name": "TestUnknownToolStrikesHalt",
      "file": "internal/agent/agent_test.go",
      "start_line": 674,
      "end_line": 696,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestBadToolStrikesResetAfterAProductiveTurn",
      "kind": "function",
      "name": "TestBadToolStrikesResetAfterAProductiveTurn",
      "file": "internal/agent/agent_test.go",
      "start_line": 698,
      "end_line": 718,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIsErrorResultResetsBadToolStrikes",
      "kind": "function",
      "name": "TestIsErrorResultResetsBadToolStrikes",
      "file": "internal/agent/agent_test.go",
      "start_line": 720,
      "end_line": 744,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestInvalidArgsFedBackAndCorrected",
      "kind": "function",
      "name": "TestInvalidArgsFedBackAndCorrected",
      "file": "internal/agent/agent_test.go",
      "start_line": 746,
      "end_line": 768,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTooManyToolCallsInOneTurn",
      "kind": "function",
      "name": "TestTooManyToolCallsInOneTurn",
      "file": "internal/agent/agent_test.go",
      "start_line": 770,
      "end_line": 801,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStopLengthDropsToolCalls",
      "kind": "function",
      "name": "TestStopLengthDropsToolCalls",
      "file": "internal/agent/agent_test.go",
      "start_line": 803,
      "end_line": 838,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRepeatGuardWarnsThenHalts",
      "kind": "function",
      "name": "TestRepeatGuardWarnsThenHalts",
      "file": "internal/agent/agent_test.go",
      "start_line": 842,
      "end_line": 867,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPollingWithChangingResultsIsLegal",
      "kind": "function",
      "name": "TestPollingWithChangingResultsIsLegal",
      "file": "internal/agent/agent_test.go",
      "start_line": 869,
      "end_line": 888,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestEmptyResponseNudgeThenRecover",
      "kind": "function",
      "name": "TestEmptyResponseNudgeThenRecover",
      "file": "internal/agent/agent_test.go",
      "start_line": 890,
      "end_line": 911,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestEmptyResponsesExhausted",
      "kind": "function",
      "name": "TestEmptyResponsesExhausted",
      "file": "internal/agent/agent_test.go",
      "start_line": 913,
      "end_line": 927,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStopFilteredIsTerminal",
      "kind": "function",
      "name": "TestStopFilteredIsTerminal",
      "file": "internal/agent/agent_test.go",
      "start_line": 929,
      "end_line": 945,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeParsesFencedJSON",
      "kind": "function",
      "name": "TestFinalizeParsesFencedJSON",
      "file": "internal/agent/agent_test.go",
      "start_line": 949,
      "end_line": 961,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeRetriesOnInvalidJSON",
      "kind": "function",
      "name": "TestFinalizeRetriesOnInvalidJSON",
      "file": "internal/agent/agent_test.go",
      "start_line": 963,
      "end_line": 992,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "kind": "function",
      "name": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "file": "internal/agent/agent_test.go",
      "start_line": 994,
      "end_line": 1024,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeFallsBackToProgrammaticReport",
      "kind": "function",
      "name": "TestFinalizeFallsBackToProgrammaticReport",
      "file": "internal/agent/agent_test.go",
      "start_line": 1026,
      "end_line": 1039,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSkillAttribution",
      "kind": "function",
      "name": "TestSkillAttribution",
      "file": "internal/agent/agent_test.go",
      "start_line": 1043,
      "end_line": 1082,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSkillAttributionIgnoresUnexecutedCalls",
      "kind": "function",
      "name": "TestSkillAttributionIgnoresUnexecutedCalls",
      "file": "internal/agent/agent_test.go",
      "start_line": 1084,
      "end_line": 1111,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "kind": "function",
      "name": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "file": "internal/agent/agent_test.go",
      "start_line": 1116,
      "end_line": 1149,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTerminalTranscriptShapes",
      "kind": "function",
      "name": "TestTerminalTranscriptShapes",
      "file": "internal/agent/agent_test.go",
      "start_line": 1159,
      "end_line": 1332,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStoreWriteFailureAbortsRun",
      "kind": "function",
      "name": "TestStoreWriteFailureAbortsRun",
      "file": "internal/agent/agent_test.go",
      "start_line": 1336,
      "end_line": 1350,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestBroadcasterReceivesTurnsAndCloses",
      "kind": "function",
      "name": "TestBroadcasterReceivesTurnsAndCloses",
      "file": "internal/agent/agent_test.go",
      "start_line": 1352,
      "end_line": 1401,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTurnsAreKeyedByTheCallersSession",
      "kind": "function",
      "name": "TestTurnsAreKeyedByTheCallersSession",
      "file": "internal/agent/agent_test.go",
      "start_line": 1407,
      "end_line": 1435,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "AuthoredReport",
      "kind": "struct",
      "name": "AuthoredReport",
      "file": "internal/agent/author.go",
      "start_line": 89,
      "end_line": 109,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "Agent::authorReport",
      "kind": "method",
      "name": "authorReport",
      "file": "internal/agent/author.go",
      "start_line": 122,
      "end_line": 237,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "causeThen",
      "kind": "function",
      "name": "causeThen",
      "file": "internal/agent/author.go",
      "start_line": 248,
      "end_line": 253,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "disownUnchangedDocument",
      "kind": "function",
      "name": "disownUnchangedDocument",
      "file": "internal/agent/author.go",
      "start_line": 262,
      "end_line": 273,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::verifyAuthoredReport",
      "kind": "method",
      "name": "verifyAuthoredReport",
      "file": "internal/agent/author.go",
      "start_line": 285,
      "end_line": 324,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "readWasCutOff",
      "kind": "function",
      "name": "readWasCutOff",
      "file": "internal/agent/author.go",
      "start_line": 352,
      "end_line": 363,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "documentLineNumber",
      "kind": "function",
      "name": "documentLineNumber",
      "file": "internal/agent/author.go",
      "start_line": 382,
      "end_line": 391,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "stripLineNumbers",
      "kind": "function",
      "name": "stripLineNumbers",
      "file": "internal/agent/author.go",
      "start_line": 413,
      "end_line": 424,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::workspaceToolDefs",
      "kind": "method",
      "name": "workspaceToolDefs",
      "file": "internal/agent/author.go",
      "start_line": 433,
      "end_line": 441,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "assertVerifiedThenExhausted",
      "kind": "function",
      "name": "assertVerifiedThenExhausted",
      "file": "internal/agent/author_exhaustion_test.go",
      "start_line": 16,
      "end_line": 35,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "kind": "function",
      "name": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "file": "internal/agent/author_exhaustion_test.go",
      "start_line": 40,
      "end_line": 82,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "kind": "function",
      "name": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "file": "internal/agent/author_exhaustion_test.go",
      "start_line": 87,
      "end_line": 114,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "kind": "function",
      "name": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "file": "internal/agent/author_exhaustion_test.go",
      "start_line": 120,
      "end_line": 169,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "authorWorkspace",
      "kind": "function",
      "name": "authorWorkspace",
      "file": "internal/agent/author_test.go",
      "start_line": 48,
      "end_line": 66,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "authorRunRequest",
      "kind": "function",
      "name": "authorRunRequest",
      "file": "internal/agent/author_test.go",
      "start_line": 70,
      "end_line": 74,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "writeReportStep",
      "kind": "function",
      "name": "writeReportStep",
      "file": "internal/agent/author_test.go",
      "start_line": 78,
      "end_line": 84,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "mustJSONString",
      "kind": "function",
      "name": "mustJSONString",
      "file": "internal/agent/author_test.go",
      "start_line": 86,
      "end_line": 92,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "kind": "function",
      "name": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "file": "internal/agent/author_test.go",
      "start_line": 109,
      "end_line": 167,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "blipStore",
      "kind": "struct",
      "name": "blipStore",
      "file": "internal/agent/author_test.go",
      "start_line": 174,
      "end_line": 178,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "blipStore::LogSessionTurn",
      "kind": "method",
      "name": "LogSessionTurn",
      "file": "internal/agent/author_test.go",
      "start_line": 180,
      "end_line": 188,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "kind": "function",
      "name": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "file": "internal/agent/author_test.go",
      "start_line": 207,
      "end_line": 261,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "kind": "function",
      "name": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "file": "internal/agent/author_test.go",
      "start_line": 266,
      "end_line": 300,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseRejectsAnEmptyReport",
      "kind": "function",
      "name": "TestAuthorPhaseRejectsAnEmptyReport",
      "file": "internal/agent/author_test.go",
      "start_line": 318,
      "end_line": 378,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "kind": "function",
      "name": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "file": "internal/agent/author_test.go",
      "start_line": 385,
      "end_line": 444,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "kind": "function",
      "name": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "file": "internal/agent/author_test.go",
      "start_line": 449,
      "end_line": 521,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ctxRespectingExecutor",
      "kind": "struct",
      "name": "ctxRespectingExecutor",
      "file": "internal/agent/author_test.go",
      "start_line": 534,
      "end_line": 536,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ctxRespectingExecutor::Call",
      "kind": "method",
      "name": "Call",
      "file": "internal/agent/author_test.go",
      "start_line": 538,
      "end_line": 543,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseVerifiesAfterCancellation",
      "kind": "function",
      "name": "TestAuthorPhaseVerifiesAfterCancellation",
      "file": "internal/agent/author_test.go",
      "start_line": 552,
      "end_line": 585,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "kind": "function",
      "name": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "file": "internal/agent/author_test.go",
      "start_line": 591,
      "end_line": 613,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "containsMessage",
      "kind": "function",
      "name": "containsMessage",
      "file": "internal/agent/author_test.go",
      "start_line": 617,
      "end_line": 624,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "kind": "function",
      "name": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "file": "internal/agent/author_test.go",
      "start_line": 630,
      "end_line": 649,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "kind": "function",
      "name": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "file": "internal/agent/author_test.go",
      "start_line": 657,
      "end_line": 687,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "kind": "function",
      "name": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "file": "internal/agent/author_test.go",
      "start_line": 697,
      "end_line": 722,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "kind": "function",
      "name": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "file": "internal/agent/author_test.go",
      "start_line": 728,
      "end_line": 753,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStripLineNumbers",
      "kind": "function",
      "name": "TestStripLineNumbers",
      "file": "internal/agent/author_test.go",
      "start_line": 758,
      "end_line": 810,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "kind": "function",
      "name": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "file": "internal/agent/author_test.go",
      "start_line": 832,
      "end_line": 887,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCauseThen",
      "kind": "function",
      "name": "TestCauseThen",
      "file": "internal/agent/author_test.go",
      "start_line": 891,
      "end_line": 910,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ToolCallStart",
      "kind": "struct",
      "name": "ToolCallStart",
      "file": "internal/agent/broadcast.go",
      "start_line": 34,
      "end_line": 41,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Event",
      "kind": "struct",
      "name": "Event",
      "file": "internal/agent/broadcast.go",
      "start_line": 50,
      "end_line": 53,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster",
      "kind": "struct",
      "name": "TurnBroadcaster",
      "file": "internal/agent/broadcast.go",
      "start_line": 59,
      "end_line": 69,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "NewTurnBroadcaster",
      "kind": "function",
      "name": "NewTurnBroadcaster",
      "file": "internal/agent/broadcast.go",
      "start_line": 71,
      "end_line": 77,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::Subscribe",
      "kind": "method",
      "name": "Subscribe",
      "file": "internal/agent/broadcast.go",
      "start_line": 88,
      "end_line": 121,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::PublishTurn",
      "kind": "method",
      "name": "PublishTurn",
      "file": "internal/agent/broadcast.go",
      "start_line": 124,
      "end_line": 126,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::PublishToolStart",
      "kind": "method",
      "name": "PublishToolStart",
      "file": "internal/agent/broadcast.go",
      "start_line": 130,
      "end_line": 132,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::publish",
      "kind": "method",
      "name": "publish",
      "file": "internal/agent/broadcast.go",
      "start_line": 139,
      "end_line": 148,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/agent/broadcast.go",
      "start_line": 155,
      "end_line": 164,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/agent/broadcast.go",
      "start_line": 173,
      "end_line": 186,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::latchClosed",
      "kind": "method",
      "name": "latchClosed",
      "file": "internal/agent/broadcast.go",
      "start_line": 190,
      "end_line": 200,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TurnBroadcaster::SubscriberCount",
      "kind": "method",
      "name": "SubscriberCount",
      "file": "internal/agent/broadcast.go",
      "start_line": 205,
      "end_line": 209,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "testTurn",
      "kind": "function",
      "name": "testTurn",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 12,
      "end_line": 17,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCancelReturnsSubscriberCountToZero",
      "kind": "function",
      "name": "TestCancelReturnsSubscriberCountToZero",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 22,
      "end_line": 40,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCancelIsIdempotentAfterClose",
      "kind": "function",
      "name": "TestCancelIsIdempotentAfterClose",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 46,
      "end_line": 57,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCloseClosesEverySubscriberChannel",
      "kind": "function",
      "name": "TestCloseClosesEverySubscriberChannel",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 61,
      "end_line": 83,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPublishIsNonBlockingWhenTheBufferIsFull",
      "kind": "function",
      "name": "TestPublishIsNonBlockingWhenTheBufferIsFull",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 88,
      "end_line": 106,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPublishIsScopedToOneSession",
      "kind": "function",
      "name": "TestPublishIsScopedToOneSession",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 110,
      "end_line": 132,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSubscribeAfterCloseYieldsAClosedChannel",
      "kind": "function",
      "name": "TestSubscribeAfterCloseYieldsAClosedChannel",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 139,
      "end_line": 159,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestReopenLiftsTheLatch",
      "kind": "function",
      "name": "TestReopenLiftsTheLatch",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 164,
      "end_line": 190,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestClosedLatchIsBounded",
      "kind": "function",
      "name": "TestClosedLatchIsBounded",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 195,
      "end_line": 222,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCloseIsIdempotentInTheLatch",
      "kind": "function",
      "name": "TestCloseIsIdempotentInTheLatch",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 227,
      "end_line": 239,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestConcurrentSubscribeCancelPublish",
      "kind": "function",
      "name": "TestConcurrentSubscribeCancelPublish",
      "file": "internal/agent/broadcast_test.go",
      "start_line": 244,
      "end_line": 285,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "kind": "function",
      "name": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "file": "internal/agent/burst_test.go",
      "start_line": 22,
      "end_line": 59,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "kind": "function",
      "name": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "file": "internal/agent/burst_test.go",
      "start_line": 66,
      "end_line": 96,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSessionWallClockStopsABurstBeforeItStarts",
      "kind": "function",
      "name": "TestSessionWallClockStopsABurstBeforeItStarts",
      "file": "internal/agent/burst_test.go",
      "start_line": 102,
      "end_line": 132,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "kind": "function",
      "name": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "file": "internal/agent/burst_test.go",
      "start_line": 137,
      "end_line": 164,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAwaitingUserIsNotTerminal",
      "kind": "function",
      "name": "TestAwaitingUserIsNotTerminal",
      "file": "internal/agent/burst_test.go",
      "start_line": 169,
      "end_line": 187,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRunStillCompletesWhileContinueAwaits",
      "kind": "function",
      "name": "TestRunStillCompletesWhileContinueAwaits",
      "file": "internal/agent/burst_test.go",
      "start_line": 192,
      "end_line": 214,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "kind": "function",
      "name": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "file": "internal/agent/burst_test.go",
      "start_line": 220,
      "end_line": 246,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "kind": "function",
      "name": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "file": "internal/agent/burst_test.go",
      "start_line": 261,
      "end_line": 297,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestASkippedAuthorPhaseIsNotAFailure",
      "kind": "function",
      "name": "TestASkippedAuthorPhaseIsNotAFailure",
      "file": "internal/agent/burst_test.go",
      "start_line": 304,
      "end_line": 326,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ErrProviderExhausted",
      "kind": "variable",
      "name": "ErrProviderExhausted",
      "file": "internal/agent/caller.go",
      "start_line": 21,
      "end_line": 21,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "Agent::callModel",
      "kind": "method",
      "name": "callModel",
      "file": "internal/agent/caller.go",
      "start_line": 28,
      "end_line": 147,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::recordCallFailure",
      "kind": "method",
      "name": "recordCallFailure",
      "file": "internal/agent/caller.go",
      "start_line": 154,
      "end_line": 162,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::completeOnce",
      "kind": "method",
      "name": "completeOnce",
      "file": "internal/agent/caller.go",
      "start_line": 167,
      "end_line": 195,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "newBackoff",
      "kind": "function",
      "name": "newBackoff",
      "file": "internal/agent/caller.go",
      "start_line": 202,
      "end_line": 209,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "sleepCtx",
      "kind": "function",
      "name": "sleepCtx",
      "file": "internal/agent/caller.go",
      "start_line": 213,
      "end_line": 222,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "investigateThenText",
      "kind": "function",
      "name": "investigateThenText",
      "file": "internal/agent/degradation_test.go",
      "start_line": 37,
      "end_line": 47,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ctxAwareTextStep",
      "kind": "function",
      "name": "ctxAwareTextStep",
      "file": "internal/agent/degradation_test.go",
      "start_line": 54,
      "end_line": 61,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "assertReportLanded",
      "kind": "function",
      "name": "assertReportLanded",
      "file": "internal/agent/degradation_test.go",
      "start_line": 74,
      "end_line": 119,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ladderCase",
      "kind": "struct",
      "name": "ladderCase",
      "file": "internal/agent/degradation_test.go",
      "start_line": 125,
      "end_line": 135,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ladderCases",
      "kind": "function",
      "name": "ladderCases",
      "file": "internal/agent/degradation_test.go",
      "start_line": 137,
      "end_line": 284,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestDegradationLadderAlwaysLandsAReport",
      "kind": "function",
      "name": "TestDegradationLadderAlwaysLandsAReport",
      "file": "internal/agent/degradation_test.go",
      "start_line": 289,
      "end_line": 344,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "kind": "function",
      "name": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "file": "internal/agent/degradation_test.go",
      "start_line": 351,
      "end_line": 383,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "kind": "function",
      "name": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "file": "internal/agent/degradation_test.go",
      "start_line": 389,
      "end_line": 407,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "kind": "function",
      "name": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "file": "internal/agent/degradation_test.go",
      "start_line": 415,
      "end_line": 435,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "kind": "function",
      "name": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "file": "internal/agent/degradation_test.go",
      "start_line": 442,
      "end_line": 464,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestOverflowFallbackNamesTheOverflow",
      "kind": "function",
      "name": "TestOverflowFallbackNamesTheOverflow",
      "file": "internal/agent/degradation_test.go",
      "start_line": 470,
      "end_line": 504,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFinalizePromptTellsTheModelTheInvestigationWasCutShort",
      "kind": "function",
      "name": "TestFinalizePromptTellsTheModelTheInvestigationWasCutShort",
      "file": "internal/agent/degradation_test.go",
      "start_line": 510,
      "end_line": 547,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "kind": "function",
      "name": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "file": "internal/agent/degradation_test.go",
      "start_line": 553,
      "end_line": 568,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "errStubPersist",
      "kind": "variable",
      "name": "errStubPersist",
      "file": "internal/agent/degradation_test.go",
      "start_line": 570,
      "end_line": 570,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestMalformedRequestReturnsNoSession",
      "kind": "function",
      "name": "TestMalformedRequestReturnsNoSession",
      "file": "internal/agent/degradation_test.go",
      "start_line": 575,
      "end_line": 591,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "kind": "function",
      "name": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "file": "internal/agent/docs_prompt_test.go",
      "start_line": 15,
      "end_line": 44,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestDocsSearchToolNameMatchesTheDocsPackage",
      "kind": "function",
      "name": "TestDocsSearchToolNameMatchesTheDocsPackage",
      "file": "internal/agent/docs_prompt_test.go",
      "start_line": 46,
      "end_line": 50,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "repeatGuard",
      "kind": "struct",
      "name": "repeatGuard",
      "file": "internal/agent/guard.go",
      "start_line": 16,
      "end_line": 19,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "newRepeatGuard",
      "kind": "function",
      "name": "newRepeatGuard",
      "file": "internal/agent/guard.go",
      "start_line": 21,
      "end_line": 23,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "repeatGuard::check",
      "kind": "method",
      "name": "check",
      "file": "internal/agent/guard.go",
      "start_line": 25,
      "end_line": 40,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "repeatGuard::shouldHalt",
      "kind": "method",
      "name": "shouldHalt",
      "file": "internal/agent/guard.go",
      "start_line": 42,
      "end_line": 42,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "canonicalArgs",
      "kind": "function",
      "name": "canonicalArgs",
      "file": "internal/agent/guard.go",
      "start_line": 46,
      "end_line": 56,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "finalizeRequest",
      "kind": "function",
      "name": "finalizeRequest",
      "file": "internal/agent/index_test.go",
      "start_line": 23,
      "end_line": 34,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "lastUserContent",
      "kind": "function",
      "name": "lastUserContent",
      "file": "internal/agent/index_test.go",
      "start_line": 37,
      "end_line": 46,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIndexPhaseInjectsTheAuthoredDocument",
      "kind": "function",
      "name": "TestIndexPhaseInjectsTheAuthoredDocument",
      "file": "internal/agent/index_test.go",
      "start_line": 56,
      "end_line": 102,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "kind": "function",
      "name": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "file": "internal/agent/index_test.go",
      "start_line": 112,
      "end_line": 145,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIndexPhaseKeepsTheTruncationSignalWhenIndexing",
      "kind": "function",
      "name": "TestIndexPhaseKeepsTheTruncationSignalWhenIndexing",
      "file": "internal/agent/index_test.go",
      "start_line": 152,
      "end_line": 182,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIndexPhaseDisclosesATruncatedDocument",
      "kind": "function",
      "name": "TestIndexPhaseDisclosesATruncatedDocument",
      "file": "internal/agent/index_test.go",
      "start_line": 198,
      "end_line": 254,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "kind": "function",
      "name": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "file": "internal/agent/index_test.go",
      "start_line": 260,
      "end_line": 285,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestReadWasCutOffMatchesTheRealNotices",
      "kind": "function",
      "name": "TestReadWasCutOffMatchesTheRealNotices",
      "file": "internal/agent/index_test.go",
      "start_line": 293,
      "end_line": 329,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "kind": "function",
      "name": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "file": "internal/agent/index_test.go",
      "start_line": 349,
      "end_line": 434,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestDocumentLineNumberIsTheSingleDiscrimination",
      "kind": "function",
      "name": "TestDocumentLineNumberIsTheSingleDiscrimination",
      "file": "internal/agent/index_test.go",
      "start_line": 440,
      "end_line": 464,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "padSection",
      "kind": "function",
      "name": "padSection",
      "file": "internal/agent/index_test.go",
      "start_line": 470,
      "end_line": 477,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "inheritedArtifact",
      "kind": "function",
      "name": "inheritedArtifact",
      "file": "internal/agent/inherited_test.go",
      "start_line": 24,
      "end_line": 34,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "kind": "function",
      "name": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "file": "internal/agent/inherited_test.go",
      "start_line": 40,
      "end_line": 71,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContextPathSeparatesArtifactsSharingABaseName",
      "kind": "function",
      "name": "TestContextPathSeparatesArtifactsSharingABaseName",
      "file": "internal/agent/inherited_test.go",
      "start_line": 79,
      "end_line": 99,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContextPathFallsBackToTheArtifactID",
      "kind": "function",
      "name": "TestContextPathFallsBackToTheArtifactID",
      "file": "internal/agent/inherited_test.go",
      "start_line": 101,
      "end_line": 112,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "kind": "function",
      "name": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "file": "internal/agent/inherited_test.go",
      "start_line": 114,
      "end_line": 126,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestManifestDescriptionIsOneLineByConstruction",
      "kind": "function",
      "name": "TestManifestDescriptionIsOneLineByConstruction",
      "file": "internal/agent/inherited_test.go",
      "start_line": 131,
      "end_line": 149,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestManifestPathIsOneLineByConstruction",
      "kind": "function",
      "name": "TestManifestPathIsOneLineByConstruction",
      "file": "internal/agent/inherited_test.go",
      "start_line": 153,
      "end_line": 177,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestBreaksManifestLineIsIsControlPlusLineSeparators",
      "kind": "function",
      "name": "TestBreaksManifestLineIsIsControlPlusLineSeparators",
      "file": "internal/agent/inherited_test.go",
      "start_line": 181,
      "end_line": 188,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestManifestHeaderHoldsForAnAttachment",
      "kind": "function",
      "name": "TestManifestHeaderHoldsForAnAttachment",
      "file": "internal/agent/inherited_test.go",
      "start_line": 193,
      "end_line": 206,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "kind": "function",
      "name": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "file": "internal/agent/inherited_test.go",
      "start_line": 214,
      "end_line": 253,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "kind": "function",
      "name": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "file": "internal/agent/inherited_test.go",
      "start_line": 255,
      "end_line": 267,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "kind": "function",
      "name": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "file": "internal/agent/inherited_test.go",
      "start_line": 275,
      "end_line": 305,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "firstMessage",
      "kind": "function",
      "name": "firstMessage",
      "file": "internal/agent/inherited_test.go",
      "start_line": 307,
      "end_line": 313,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "inheritedWorkspace",
      "kind": "function",
      "name": "inheritedWorkspace",
      "file": "internal/agent/inherited_test.go",
      "start_line": 319,
      "end_line": 338,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "kind": "function",
      "name": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "file": "internal/agent/inherited_test.go",
      "start_line": 345,
      "end_line": 402,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "kind": "function",
      "name": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "file": "internal/agent/inherited_test.go",
      "start_line": 409,
      "end_line": 435,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "kind": "function",
      "name": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "file": "internal/agent/inherited_test.go",
      "start_line": 437,
      "end_line": 465,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "kind": "function",
      "name": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "file": "internal/agent/inherited_test.go",
      "start_line": 475,
      "end_line": 510,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "kind": "function",
      "name": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "file": "internal/agent/inherited_test.go",
      "start_line": 514,
      "end_line": 541,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "assertInHistory",
      "kind": "function",
      "name": "assertInHistory",
      "file": "internal/agent/inherited_test.go",
      "start_line": 543,
      "end_line": 551,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "layeredTools",
      "kind": "struct",
      "name": "layeredTools",
      "file": "internal/agent/layered.go",
      "start_line": 18,
      "end_line": 21,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "layeredTools::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/agent/layered.go",
      "start_line": 23,
      "end_line": 36,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "layeredTools::Has",
      "kind": "method",
      "name": "Has",
      "file": "internal/agent/layered.go",
      "start_line": 38,
      "end_line": 40,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "layeredTools::Call",
      "kind": "method",
      "name": "Call",
      "file": "internal/agent/layered.go",
      "start_line": 42,
      "end_line": 47,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "sessionWorkspace",
      "kind": "function",
      "name": "sessionWorkspace",
      "file": "internal/agent/layered_test.go",
      "start_line": 16,
      "end_line": 28,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "offered",
      "kind": "function",
      "name": "offered",
      "file": "internal/agent/layered_test.go",
      "start_line": 30,
      "end_line": 36,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "kind": "function",
      "name": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "file": "internal/agent/layered_test.go",
      "start_line": 41,
      "end_line": 73,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSessionToolsDoNotOutliveTheirSession",
      "kind": "function",
      "name": "TestSessionToolsDoNotOutliveTheirSession",
      "file": "internal/agent/layered_test.go",
      "start_line": 77,
      "end_line": 108,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "kind": "function",
      "name": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "file": "internal/agent/layered_test.go",
      "start_line": 110,
      "end_line": 141,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "echoArgs",
      "kind": "struct",
      "name": "echoArgs",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 27,
      "end_line": 29,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "newTestMCPServer",
      "kind": "function",
      "name": "newTestMCPServer",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 32,
      "end_line": 47,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAgentLoopOverRealMCPStack",
      "kind": "function",
      "name": "TestAgentLoopOverRealMCPStack",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 54,
      "end_line": 123,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestUnreachableServerDegradesWithoutCrashing",
      "kind": "function",
      "name": "TestUnreachableServerDegradesWithoutCrashing",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 129,
      "end_line": 171,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestConnectAllRejectsCollisionAcrossRealServers",
      "kind": "function",
      "name": "TestConnectAllRejectsCollisionAcrossRealServers",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 177,
      "end_line": 213,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStreamableClientRejectsCallsBeforeConnect",
      "kind": "function",
      "name": "TestStreamableClientRejectsCallsBeforeConnect",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 218,
      "end_line": 230,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStreamableClientSurfacesToolErrorFlag",
      "kind": "function",
      "name": "TestStreamableClientSurfacesToolErrorFlag",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 236,
      "end_line": 269,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStreamableClientReconnect",
      "kind": "function",
      "name": "TestStreamableClientReconnect",
      "file": "internal/agent/mcp_integration_test.go",
      "start_line": 274,
      "end_line": 296,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "systemPrompt",
      "kind": "function",
      "name": "systemPrompt",
      "file": "internal/agent/prompt.go",
      "start_line": 34,
      "end_line": 63,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "firstUserMessage",
      "kind": "function",
      "name": "firstUserMessage",
      "file": "internal/agent/prompt.go",
      "start_line": 76,
      "end_line": 90,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "incidentSection",
      "kind": "function",
      "name": "incidentSection",
      "file": "internal/agent/prompt.go",
      "start_line": 100,
      "end_line": 123,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "closingInstruction",
      "kind": "function",
      "name": "closingInstruction",
      "file": "internal/agent/prompt.go",
      "start_line": 133,
      "end_line": 146,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "contextManifest",
      "kind": "function",
      "name": "contextManifest",
      "file": "internal/agent/prompt.go",
      "start_line": 160,
      "end_line": 185,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "artifactKindDescription",
      "kind": "function",
      "name": "artifactKindDescription",
      "file": "internal/agent/prompt.go",
      "start_line": 189,
      "end_line": 202,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ContextPath",
      "kind": "function",
      "name": "ContextPath",
      "file": "internal/agent/prompt.go",
      "start_line": 221,
      "end_line": 239,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "breaksManifestLine",
      "kind": "function",
      "name": "breaksManifestLine",
      "file": "internal/agent/prompt.go",
      "start_line": 244,
      "end_line": 246,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "writeIfSet",
      "kind": "function",
      "name": "writeIfSet",
      "file": "internal/agent/prompt.go",
      "start_line": 248,
      "end_line": 252,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "writeSortedKV",
      "kind": "function",
      "name": "writeSortedKV",
      "file": "internal/agent/prompt.go",
      "start_line": 254,
      "end_line": 267,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "finalizePrompt",
      "kind": "function",
      "name": "finalizePrompt",
      "file": "internal/agent/prompt.go",
      "start_line": 285,
      "end_line": 353,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "authorPrompt",
      "kind": "function",
      "name": "authorPrompt",
      "file": "internal/agent/prompt.go",
      "start_line": 367,
      "end_line": 386,
      "page": "agent-prompts-report-authoring-and-finalization"
    },
    {
      "id": "finalizeSawDocument",
      "kind": "function",
      "name": "finalizeSawDocument",
      "file": "internal/agent/reopen_author_test.go",
      "start_line": 19,
      "end_line": 26,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "kind": "function",
      "name": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "file": "internal/agent/reopen_author_test.go",
      "start_line": 32,
      "end_line": 96,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "kind": "function",
      "name": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "file": "internal/agent/reopen_author_test.go",
      "start_line": 101,
      "end_line": 144,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestDisownUnchangedDocument",
      "kind": "function",
      "name": "TestDisownUnchangedDocument",
      "file": "internal/agent/reopen_author_test.go",
      "start_line": 146,
      "end_line": 183,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ResumeRequest",
      "kind": "struct",
      "name": "ResumeRequest",
      "file": "internal/agent/resume.go",
      "start_line": 23,
      "end_line": 42,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ResumeRequest::validate",
      "kind": "method",
      "name": "validate",
      "file": "internal/agent/resume.go",
      "start_line": 44,
      "end_line": 70,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::Resume",
      "kind": "method",
      "name": "Resume",
      "file": "internal/agent/resume.go",
      "start_line": 82,
      "end_line": 124,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::restore",
      "kind": "method",
      "name": "restore",
      "file": "internal/agent/resume.go",
      "start_line": 128,
      "end_line": 154,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "activeTime",
      "kind": "function",
      "name": "activeTime",
      "file": "internal/agent/resume.go",
      "start_line": 159,
      "end_line": 176,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "rebuildMessages",
      "kind": "function",
      "name": "rebuildMessages",
      "file": "internal/agent/resume.go",
      "start_line": 195,
      "end_line": 234,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "isOpenCall",
      "kind": "function",
      "name": "isOpenCall",
      "file": "internal/agent/resume.go",
      "start_line": 236,
      "end_line": 246,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "storedToolCalls",
      "kind": "function",
      "name": "storedToolCalls",
      "file": "internal/agent/resume.go",
      "start_line": 251,
      "end_line": 275,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "reopenTurns",
      "kind": "function",
      "name": "reopenTurns",
      "file": "internal/agent/resume_test.go",
      "start_line": 18,
      "end_line": 25,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "resumeRequest",
      "kind": "function",
      "name": "resumeRequest",
      "file": "internal/agent/resume_test.go",
      "start_line": 27,
      "end_line": 33,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "settledRow",
      "kind": "function",
      "name": "settledRow",
      "file": "internal/agent/resume_test.go",
      "start_line": 36,
      "end_line": 44,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeContinuesTheStoredConversation",
      "kind": "function",
      "name": "TestResumeContinuesTheStoredConversation",
      "file": "internal/agent/resume_test.go",
      "start_line": 50,
      "end_line": 118,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeAnswersEveryStoredToolCall",
      "kind": "function",
      "name": "TestResumeAnswersEveryStoredToolCall",
      "file": "internal/agent/resume_test.go",
      "start_line": 123,
      "end_line": 153,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "kind": "function",
      "name": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "file": "internal/agent/resume_test.go",
      "start_line": 158,
      "end_line": 180,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "kind": "function",
      "name": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "file": "internal/agent/resume_test.go",
      "start_line": 184,
      "end_line": 196,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeStillEnforcesTheWallClock",
      "kind": "function",
      "name": "TestResumeStillEnforcesTheWallClock",
      "file": "internal/agent/resume_test.go",
      "start_line": 201,
      "end_line": 223,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeCarriesTheSessionIterationBudget",
      "kind": "function",
      "name": "TestResumeCarriesTheSessionIterationBudget",
      "file": "internal/agent/resume_test.go",
      "start_line": 227,
      "end_line": 249,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestResumeRefusesAMalformedRequest",
      "kind": "function",
      "name": "TestResumeRefusesAMalformedRequest",
      "file": "internal/agent/resume_test.go",
      "start_line": 251,
      "end_line": 281,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStoredToolCallArgsComeBackAsSent",
      "kind": "function",
      "name": "TestStoredToolCallArgsComeBackAsSent",
      "file": "internal/agent/resume_test.go",
      "start_line": 286,
      "end_line": 302,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "kind": "function",
      "name": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "file": "internal/agent/resume_test.go",
      "start_line": 307,
      "end_line": 331,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestReportRecordsTheIterationTurnRange",
      "kind": "function",
      "name": "TestReportRecordsTheIterationTurnRange",
      "file": "internal/agent/revision_test.go",
      "start_line": 17,
      "end_line": 43,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAssistantTurnKeepsToolCallArgs",
      "kind": "function",
      "name": "TestAssistantTurnKeepsToolCallArgs",
      "file": "internal/agent/revision_test.go",
      "start_line": 47,
      "end_line": 61,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestStoredArgsKeepsMalformedArgumentsAsAString",
      "kind": "function",
      "name": "TestStoredArgsKeepsMalformedArgumentsAsAString",
      "file": "internal/agent/revision_test.go",
      "start_line": 65,
      "end_line": 74,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "ExitReason::IsTerminal",
      "kind": "method",
      "name": "IsTerminal",
      "file": "internal/agent/session.go",
      "start_line": 57,
      "end_line": 57,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "AuditCounters",
      "kind": "struct",
      "name": "AuditCounters",
      "file": "internal/agent/session.go",
      "start_line": 60,
      "end_line": 72,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session",
      "kind": "struct",
      "name": "Session",
      "file": "internal/agent/session.go",
      "start_line": 79,
      "end_line": 161,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::markServerUsed",
      "kind": "method",
      "name": "markServerUsed",
      "file": "internal/agent/session.go",
      "start_line": 166,
      "end_line": 172,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::beginBurst",
      "kind": "method",
      "name": "beginBurst",
      "file": "internal/agent/session.go",
      "start_line": 208,
      "end_line": 220,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::append",
      "kind": "method",
      "name": "append",
      "file": "internal/agent/session.go",
      "start_line": 222,
      "end_line": 224,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::nextSeq",
      "kind": "method",
      "name": "nextSeq",
      "file": "internal/agent/session.go",
      "start_line": 226,
      "end_line": 229,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Session::pruneToolResults",
      "kind": "method",
      "name": "pruneToolResults",
      "file": "internal/agent/session.go",
      "start_line": 238,
      "end_line": 261,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRunRequestValidation",
      "kind": "function",
      "name": "TestRunRequestValidation",
      "file": "internal/agent/session_model_test.go",
      "start_line": 20,
      "end_line": 99,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "kind": "function",
      "name": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "file": "internal/agent/session_model_test.go",
      "start_line": 105,
      "end_line": 129,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "kind": "function",
      "name": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "file": "internal/agent/session_model_test.go",
      "start_line": 131,
      "end_line": 152,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "kind": "function",
      "name": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "file": "internal/agent/session_model_test.go",
      "start_line": 154,
      "end_line": 203,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueRejectsAnEmptyMessage",
      "kind": "function",
      "name": "TestContinueRejectsAnEmptyMessage",
      "file": "internal/agent/session_model_test.go",
      "start_line": 205,
      "end_line": 224,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestRepeatGuardIsPerBurst",
      "kind": "function",
      "name": "TestRepeatGuardIsPerBurst",
      "file": "internal/agent/session_model_test.go",
      "start_line": 232,
      "end_line": 273,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueClearsThePreviousExitReason",
      "kind": "function",
      "name": "TestContinueClearsThePreviousExitReason",
      "file": "internal/agent/session_model_test.go",
      "start_line": 278,
      "end_line": 303,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "kind": "function",
      "name": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "file": "internal/agent/session_model_test.go",
      "start_line": 305,
      "end_line": 330,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSystemPromptIsIdenticalAcrossSessions",
      "kind": "function",
      "name": "TestSystemPromptIsIdenticalAcrossSessions",
      "file": "internal/agent/session_model_test.go",
      "start_line": 335,
      "end_line": 361,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueResetsTheEmptyResponseBudget",
      "kind": "function",
      "name": "TestContinueResetsTheEmptyResponseBudget",
      "file": "internal/agent/session_model_test.go",
      "start_line": 371,
      "end_line": 397,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueResetsBadToolStrikes",
      "kind": "function",
      "name": "TestContinueResetsBadToolStrikes",
      "file": "internal/agent/session_model_test.go",
      "start_line": 399,
      "end_line": 431,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestContinueRestoresThePruneAttempt",
      "kind": "function",
      "name": "TestContinueRestoresThePruneAttempt",
      "file": "internal/agent/session_model_test.go",
      "start_line": 437,
      "end_line": 462,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestEverySessionFieldIsScoped",
      "kind": "function",
      "name": "TestEverySessionFieldIsScoped",
      "file": "internal/agent/session_model_test.go",
      "start_line": 474,
      "end_line": 539,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "toolResult",
      "kind": "struct",
      "name": "toolResult",
      "file": "internal/agent/toolexec.go",
      "start_line": 21,
      "end_line": 25,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "toolResult::message",
      "kind": "method",
      "name": "message",
      "file": "internal/agent/toolexec.go",
      "start_line": 27,
      "end_line": 35,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::executeToolCall",
      "kind": "method",
      "name": "executeToolCall",
      "file": "internal/agent/toolexec.go",
      "start_line": 43,
      "end_line": 114,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Agent::toolNames",
      "kind": "method",
      "name": "toolNames",
      "file": "internal/agent/toolexec.go",
      "start_line": 116,
      "end_line": 123,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "truncateResult",
      "kind": "function",
      "name": "truncateResult",
      "file": "internal/agent/toolexec.go",
      "start_line": 128,
      "end_line": 141,
      "page": "agent-run-loop-tool-execution-and-provider-calls"
    },
    {
      "id": "cutAtBoundary",
      "kind": "function",
      "name": "cutAtBoundary",
      "file": "internal/agent/toolexec.go",
      "start_line": 146,
      "end_line": 161,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "humanBytes",
      "kind": "function",
      "name": "humanBytes",
      "file": "internal/agent/toolexec.go",
      "start_line": 163,
      "end_line": 172,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTruncateResultPassesSmallResults",
      "kind": "function",
      "name": "TestTruncateResultPassesSmallResults",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 10,
      "end_line": 15,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTruncateResultKeepsHeadAndTail",
      "kind": "function",
      "name": "TestTruncateResultKeepsHeadAndTail",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 17,
      "end_line": 44,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestTruncateResultDoesNotSplitRunes",
      "kind": "function",
      "name": "TestTruncateResultDoesNotSplitRunes",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 46,
      "end_line": 60,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestExtractJSONObject",
      "kind": "function",
      "name": "TestExtractJSONObject",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 62,
      "end_line": 87,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestParseReportJSONValidation",
      "kind": "function",
      "name": "TestParseReportJSONValidation",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 89,
      "end_line": 102,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPruneToolResultsKeepsRecentTurns",
      "kind": "function",
      "name": "TestPruneToolResultsKeepsRecentTurns",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 104,
      "end_line": 128,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestPruneToolResultsReportsNoOp",
      "kind": "function",
      "name": "TestPruneToolResultsReportsNoOp",
      "file": "internal/agent/toolexec_test.go",
      "start_line": 132,
      "end_line": 152,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "recordSpans",
      "kind": "function",
      "name": "recordSpans",
      "file": "internal/agent/tracing_test.go",
      "start_line": 27,
      "end_line": 40,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "spansNamed",
      "kind": "function",
      "name": "spansNamed",
      "file": "internal/agent/tracing_test.go",
      "start_line": 43,
      "end_line": 51,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "attrsOf",
      "kind": "function",
      "name": "attrsOf",
      "file": "internal/agent/tracing_test.go",
      "start_line": 54,
      "end_line": 60,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "eventsNamed",
      "kind": "function",
      "name": "eventsNamed",
      "file": "internal/agent/tracing_test.go",
      "start_line": 62,
      "end_line": 70,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "eventAttrs",
      "kind": "function",
      "name": "eventAttrs",
      "file": "internal/agent/tracing_test.go",
      "start_line": 72,
      "end_line": 78,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "callModelDirect",
      "kind": "function",
      "name": "callModelDirect",
      "file": "internal/agent/tracing_test.go",
      "start_line": 82,
      "end_line": 86,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "kind": "function",
      "name": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "file": "internal/agent/tracing_test.go",
      "start_line": 89,
      "end_line": 147,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "kind": "function",
      "name": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "file": "internal/agent/tracing_test.go",
      "start_line": 152,
      "end_line": 208,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "kind": "function",
      "name": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "file": "internal/agent/tracing_test.go",
      "start_line": 214,
      "end_line": 256,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "kind": "function",
      "name": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "file": "internal/agent/tracing_test.go",
      "start_line": 260,
      "end_line": 290,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "kind": "function",
      "name": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "file": "internal/agent/tracing_test.go",
      "start_line": 294,
      "end_line": 322,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "kind": "function",
      "name": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "file": "internal/agent/tracing_test.go",
      "start_line": 331,
      "end_line": 354,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "kind": "function",
      "name": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "file": "internal/agent/tracing_test.go",
      "start_line": 361,
      "end_line": 387,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestModelCallSpansShareTheRunTrace",
      "kind": "function",
      "name": "TestModelCallSpansShareTheRunTrace",
      "file": "internal/agent/tracing_test.go",
      "start_line": 393,
      "end_line": 436,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "kind": "function",
      "name": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "file": "internal/agent/workspace_integration_test.go",
      "start_line": 28,
      "end_line": 132,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Store",
      "kind": "interface",
      "name": "Store",
      "file": "internal/blob/blob.go",
      "start_line": 31,
      "end_line": 53,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Store::Put",
      "kind": "method",
      "name": "Put",
      "file": "internal/blob/blob.go",
      "start_line": 41,
      "end_line": 41,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "Store::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/blob/blob.go",
      "start_line": 45,
      "end_line": 45,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "Store::Delete",
      "kind": "method",
      "name": "Delete",
      "file": "internal/blob/blob.go",
      "start_line": 52,
      "end_line": 52,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "Presigner",
      "kind": "interface",
      "name": "Presigner",
      "file": "internal/blob/blob.go",
      "start_line": 69,
      "end_line": 71,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "Presigner::PresignedURL",
      "kind": "method",
      "name": "PresignedURL",
      "file": "internal/blob/blob.go",
      "start_line": 70,
      "end_line": 70,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS",
      "kind": "struct",
      "name": "FS",
      "file": "internal/blob/fs.go",
      "start_line": 32,
      "end_line": 35,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "_",
      "kind": "variable",
      "name": "_",
      "file": "internal/blob/fs.go",
      "start_line": 39,
      "end_line": 39,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "NewFS",
      "kind": "function",
      "name": "NewFS",
      "file": "internal/blob/fs.go",
      "start_line": 55,
      "end_line": 72,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/blob/fs.go",
      "start_line": 79,
      "end_line": 84,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::Root",
      "kind": "method",
      "name": "Root",
      "file": "internal/blob/fs.go",
      "start_line": 88,
      "end_line": 88,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::Put",
      "kind": "method",
      "name": "Put",
      "file": "internal/blob/fs.go",
      "start_line": 109,
      "end_line": 151,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::createTemp",
      "kind": "method",
      "name": "createTemp",
      "file": "internal/blob/fs.go",
      "start_line": 156,
      "end_line": 171,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/blob/fs.go",
      "start_line": 174,
      "end_line": 205,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::Delete",
      "kind": "method",
      "name": "Delete",
      "file": "internal/blob/fs.go",
      "start_line": 213,
      "end_line": 239,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::resolve",
      "kind": "method",
      "name": "resolve",
      "file": "internal/blob/fs.go",
      "start_line": 257,
      "end_line": 267,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::explain",
      "kind": "method",
      "name": "explain",
      "file": "internal/blob/fs.go",
      "start_line": 284,
      "end_line": 292,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "FS::escapesViaSymlink",
      "kind": "method",
      "name": "escapesViaSymlink",
      "file": "internal/blob/fs.go",
      "start_line": 294,
      "end_line": 329,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "contextReader",
      "kind": "struct",
      "name": "contextReader",
      "file": "internal/blob/fs.go",
      "start_line": 337,
      "end_line": 340,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "newContextReader",
      "kind": "function",
      "name": "newContextReader",
      "file": "internal/blob/fs.go",
      "start_line": 342,
      "end_line": 344,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "contextReader::Read",
      "kind": "method",
      "name": "Read",
      "file": "internal/blob/fs.go",
      "start_line": 346,
      "end_line": 351,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "mustNewFS",
      "kind": "function",
      "name": "mustNewFS",
      "file": "internal/blob/fs_test.go",
      "start_line": 16,
      "end_line": 19,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "mustNewFSAt",
      "kind": "function",
      "name": "mustNewFSAt",
      "file": "internal/blob/fs_test.go",
      "start_line": 21,
      "end_line": 33,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "put",
      "kind": "function",
      "name": "put",
      "file": "internal/blob/fs_test.go",
      "start_line": 35,
      "end_line": 40,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "get",
      "kind": "function",
      "name": "get",
      "file": "internal/blob/fs_test.go",
      "start_line": 42,
      "end_line": 54,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestRoundTripPutGetDelete",
      "kind": "function",
      "name": "TestRoundTripPutGetDelete",
      "file": "internal/blob/fs_test.go",
      "start_line": 57,
      "end_line": 74,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestGetMissingKeyReportsErrNotFound",
      "kind": "function",
      "name": "TestGetMissingKeyReportsErrNotFound",
      "file": "internal/blob/fs_test.go",
      "start_line": 76,
      "end_line": 87,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestDeleteIsIdempotent",
      "kind": "function",
      "name": "TestDeleteIsIdempotent",
      "file": "internal/blob/fs_test.go",
      "start_line": 91,
      "end_line": 104,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutReplacesAnExistingObject",
      "kind": "function",
      "name": "TestPutReplacesAnExistingObject",
      "file": "internal/blob/fs_test.go",
      "start_line": 106,
      "end_line": 114,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutLeavesNoTemporaryFile",
      "kind": "function",
      "name": "TestPutLeavesNoTemporaryFile",
      "file": "internal/blob/fs_test.go",
      "start_line": 118,
      "end_line": 134,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "kind": "function",
      "name": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "file": "internal/blob/fs_test.go",
      "start_line": 139,
      "end_line": 174,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestKeysThatEscapeTheRootAreRejected",
      "kind": "function",
      "name": "TestKeysThatEscapeTheRootAreRejected",
      "file": "internal/blob/fs_test.go",
      "start_line": 178,
      "end_line": 236,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestASymlinkedDirectoryInsideTheRootCannotBeEscapedThrough",
      "kind": "function",
      "name": "TestASymlinkedDirectoryInsideTheRootCannotBeEscapedThrough",
      "file": "internal/blob/fs_test.go",
      "start_line": 250,
      "end_line": 315,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestAnEscapedPutCreatesNoDirectoriesOutsideTheRoot",
      "kind": "function",
      "name": "TestAnEscapedPutCreatesNoDirectoriesOutsideTheRoot",
      "file": "internal/blob/fs_test.go",
      "start_line": 321,
      "end_line": 343,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestASiblingDirectoryNamedLikeTheRootIsNotInsideIt",
      "kind": "function",
      "name": "TestASiblingDirectoryNamedLikeTheRootIsNotInsideIt",
      "file": "internal/blob/fs_test.go",
      "start_line": 351,
      "end_line": 377,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestAnInRootSymlinkFailureIsNotReportedAsAnEscape",
      "kind": "function",
      "name": "TestAnInRootSymlinkFailureIsNotReportedAsAnEscape",
      "file": "internal/blob/fs_test.go",
      "start_line": 384,
      "end_line": 400,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestGetRefusesALeafSymlinkPointingOutsideTheRoot",
      "kind": "function",
      "name": "TestGetRefusesALeafSymlinkPointingOutsideTheRoot",
      "file": "internal/blob/fs_test.go",
      "start_line": 404,
      "end_line": 426,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestDeleteCannotUnlinkThroughASymlinkedDirectory",
      "kind": "function",
      "name": "TestDeleteCannotUnlinkThroughASymlinkedDirectory",
      "file": "internal/blob/fs_test.go",
      "start_line": 431,
      "end_line": 451,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestDeleteUnlinksALeafSymlinkWithoutTouchingItsTarget",
      "kind": "function",
      "name": "TestDeleteUnlinksALeafSymlinkWithoutTouchingItsTarget",
      "file": "internal/blob/fs_test.go",
      "start_line": 457,
      "end_line": 481,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestADanglingSymlinkCannotBeWrittenThrough",
      "kind": "function",
      "name": "TestADanglingSymlinkCannotBeWrittenThrough",
      "file": "internal/blob/fs_test.go",
      "start_line": 486,
      "end_line": 501,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestASymlinkThatStaysInsideTheRootIsFollowed",
      "kind": "function",
      "name": "TestASymlinkThatStaysInsideTheRootIsFollowed",
      "file": "internal/blob/fs_test.go",
      "start_line": 505,
      "end_line": 519,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestGetOnADirectoryKeyReportsErrNotFound",
      "kind": "function",
      "name": "TestGetOnADirectoryKeyReportsErrNotFound",
      "file": "internal/blob/fs_test.go",
      "start_line": 526,
      "end_line": 538,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestDeleteLeavesADirectoryKeyAlone",
      "kind": "function",
      "name": "TestDeleteLeavesADirectoryKeyAlone",
      "file": "internal/blob/fs_test.go",
      "start_line": 543,
      "end_line": 565,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestTheElementLimitMatchesWhatTheFilesystemAccepts",
      "kind": "function",
      "name": "TestTheElementLimitMatchesWhatTheFilesystemAccepts",
      "file": "internal/blob/fs_test.go",
      "start_line": 572,
      "end_line": 594,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestOrdinaryKeysAreAccepted",
      "kind": "function",
      "name": "TestOrdinaryKeysAreAccepted",
      "file": "internal/blob/fs_test.go",
      "start_line": 596,
      "end_line": 612,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestConcurrentPutsOfOneKeyYieldOneCompleteObject",
      "kind": "function",
      "name": "TestConcurrentPutsOfOneKeyYieldOneCompleteObject",
      "file": "internal/blob/fs_test.go",
      "start_line": 616,
      "end_line": 662,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutHonoursContextCancellation",
      "kind": "function",
      "name": "TestPutHonoursContextCancellation",
      "file": "internal/blob/fs_test.go",
      "start_line": 664,
      "end_line": 676,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutAbortsMidBodyOnCancellationWithoutLeavingAnObject",
      "kind": "function",
      "name": "TestPutAbortsMidBodyOnCancellationWithoutLeavingAnObject",
      "file": "internal/blob/fs_test.go",
      "start_line": 680,
      "end_line": 700,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "cancelAfterFirstRead",
      "kind": "struct",
      "name": "cancelAfterFirstRead",
      "file": "internal/blob/fs_test.go",
      "start_line": 704,
      "end_line": 708,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "cancelAfterFirstRead::Read",
      "kind": "method",
      "name": "Read",
      "file": "internal/blob/fs_test.go",
      "start_line": 710,
      "end_line": 724,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestGetAndDeleteHonourContextCancellation",
      "kind": "function",
      "name": "TestGetAndDeleteHonourContextCancellation",
      "file": "internal/blob/fs_test.go",
      "start_line": 726,
      "end_line": 742,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestPutStoresBinaryContentUnchanged",
      "kind": "function",
      "name": "TestPutStoresBinaryContentUnchanged",
      "file": "internal/blob/fs_test.go",
      "start_line": 744,
      "end_line": 757,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestNewFSRejectsAnEmptyRoot",
      "kind": "function",
      "name": "TestNewFSRejectsAnEmptyRoot",
      "file": "internal/blob/fs_test.go",
      "start_line": 759,
      "end_line": 763,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestNewFSCreatesAMissingRoot",
      "kind": "function",
      "name": "TestNewFSCreatesAMissingRoot",
      "file": "internal/blob/fs_test.go",
      "start_line": 765,
      "end_line": 770,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestNewFSAcceptsARootThatIsItselfASymlink",
      "kind": "function",
      "name": "TestNewFSAcceptsARootThatIsItselfASymlink",
      "file": "internal/blob/fs_test.go",
      "start_line": 775,
      "end_line": 795,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestNewFSResolvesARelativeRootToAbsolute",
      "kind": "function",
      "name": "TestNewFSResolvesARelativeRootToAbsolute",
      "file": "internal/blob/fs_test.go",
      "start_line": 799,
      "end_line": 811,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "ReportKey",
      "kind": "function",
      "name": "ReportKey",
      "file": "internal/blob/keys.go",
      "start_line": 66,
      "end_line": 74,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "ArtifactKey",
      "kind": "function",
      "name": "ArtifactKey",
      "file": "internal/blob/keys.go",
      "start_line": 80,
      "end_line": 92,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "WorkspaceArchiveKey",
      "kind": "function",
      "name": "WorkspaceArchiveKey",
      "file": "internal/blob/keys.go",
      "start_line": 97,
      "end_line": 105,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "validateRevision",
      "kind": "function",
      "name": "validateRevision",
      "file": "internal/blob/keys.go",
      "start_line": 107,
      "end_line": 112,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "validateIDs",
      "kind": "function",
      "name": "validateIDs",
      "file": "internal/blob/keys.go",
      "start_line": 114,
      "end_line": 121,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "join",
      "kind": "function",
      "name": "join",
      "file": "internal/blob/keys.go",
      "start_line": 123,
      "end_line": 123,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "ValidateIDComponent",
      "kind": "function",
      "name": "ValidateIDComponent",
      "file": "internal/blob/keys.go",
      "start_line": 132,
      "end_line": 156,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "isSafeIDRune",
      "kind": "function",
      "name": "isSafeIDRune",
      "file": "internal/blob/keys.go",
      "start_line": 158,
      "end_line": 166,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "ValidateKey",
      "kind": "function",
      "name": "ValidateKey",
      "file": "internal/blob/keys.go",
      "start_line": 206,
      "end_line": 237,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "truncate",
      "kind": "function",
      "name": "truncate",
      "file": "internal/blob/keys.go",
      "start_line": 241,
      "end_line": 247,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestDerivedKeysAreDeterministicAndSafe",
      "kind": "function",
      "name": "TestDerivedKeysAreDeterministicAndSafe",
      "file": "internal/blob/keys_test.go",
      "start_line": 12,
      "end_line": 76,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestEveryKeyForOneIncidentSharesAPrefix",
      "kind": "function",
      "name": "TestEveryKeyForOneIncidentSharesAPrefix",
      "file": "internal/blob/keys_test.go",
      "start_line": 80,
      "end_line": 100,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "kind": "function",
      "name": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "file": "internal/blob/keys_test.go",
      "start_line": 105,
      "end_line": 127,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestKeyDerivationRejectsUnsafeIDs",
      "kind": "function",
      "name": "TestKeyDerivationRejectsUnsafeIDs",
      "file": "internal/blob/keys_test.go",
      "start_line": 129,
      "end_line": 173,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestFailedDerivationReturnsAnEmptyKey",
      "kind": "function",
      "name": "TestFailedDerivationReturnsAnEmptyKey",
      "file": "internal/blob/keys_test.go",
      "start_line": 177,
      "end_line": 187,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestKeyDerivationRejectsARevisionBelowOne",
      "kind": "function",
      "name": "TestKeyDerivationRejectsARevisionBelowOne",
      "file": "internal/blob/keys_test.go",
      "start_line": 192,
      "end_line": 201,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestValidateKeyAcceptsOrdinaryKeys",
      "kind": "function",
      "name": "TestValidateKeyAcceptsOrdinaryKeys",
      "file": "internal/blob/keys_test.go",
      "start_line": 203,
      "end_line": 220,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "kind": "function",
      "name": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "file": "internal/blob/keys_test.go",
      "start_line": 227,
      "end_line": 257,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestInvalidKeyErrorsNameTheOffendingInput",
      "kind": "function",
      "name": "TestInvalidKeyErrorsNameTheOffendingInput",
      "file": "internal/blob/keys_test.go",
      "start_line": 261,
      "end_line": 269,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestSeparatorRulesExplainThemselvesRatherThanReportingAnEmptyElement",
      "kind": "function",
      "name": "TestSeparatorRulesExplainThemselvesRatherThanReportingAnEmptyElement",
      "file": "internal/blob/keys_test.go",
      "start_line": 280,
      "end_line": 298,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestOversizedInputsAreTruncatedInErrors",
      "kind": "function",
      "name": "TestOversizedInputsAreTruncatedInErrors",
      "file": "internal/blob/keys_test.go",
      "start_line": 302,
      "end_line": 309,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "newFS",
      "kind": "function",
      "name": "newFS",
      "file": "internal/blob/seam_test.go",
      "start_line": 24,
      "end_line": 36,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestAConsumerNeedsOnlyTheInterface",
      "kind": "function",
      "name": "TestAConsumerNeedsOnlyTheInterface",
      "file": "internal/blob/seam_test.go",
      "start_line": 40,
      "end_line": 71,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "kind": "function",
      "name": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "file": "internal/blob/seam_test.go",
      "start_line": 76,
      "end_line": 92,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestASymlinkEscapeReachesTheConsumerAsErrInvalidKey",
      "kind": "function",
      "name": "TestASymlinkEscapeReachesTheConsumerAsErrInvalidKey",
      "file": "internal/blob/seam_test.go",
      "start_line": 100,
      "end_line": 125,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestTheFilesystemBackendDoesNotClaimThePresignerCapability",
      "kind": "function",
      "name": "TestTheFilesystemBackendDoesNotClaimThePresignerCapability",
      "file": "internal/blob/seam_test.go",
      "start_line": 131,
      "end_line": 149,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestAPresigningBackendIsReachableThroughTheSameAssertion",
      "kind": "function",
      "name": "TestAPresigningBackendIsReachableThroughTheSameAssertion",
      "file": "internal/blob/seam_test.go",
      "start_line": 154,
      "end_line": 168,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "presigningStore",
      "kind": "struct",
      "name": "presigningStore",
      "file": "internal/blob/seam_test.go",
      "start_line": 173,
      "end_line": 173,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "presigningStore::Put",
      "kind": "method",
      "name": "Put",
      "file": "internal/blob/seam_test.go",
      "start_line": 175,
      "end_line": 175,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "presigningStore::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/blob/seam_test.go",
      "start_line": 176,
      "end_line": 178,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "presigningStore::Delete",
      "kind": "method",
      "name": "Delete",
      "file": "internal/blob/seam_test.go",
      "start_line": 179,
      "end_line": 179,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "presigningStore::PresignedURL",
      "kind": "method",
      "name": "PresignedURL",
      "file": "internal/blob/seam_test.go",
      "start_line": 180,
      "end_line": 182,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestKeysAreDerivableWithoutAStore",
      "kind": "function",
      "name": "TestKeysAreDerivableWithoutAStore",
      "file": "internal/blob/seam_test.go",
      "start_line": 187,
      "end_line": 195,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "TestOneKeyMeansOneObjectAcrossBackends",
      "kind": "function",
      "name": "TestOneKeyMeansOneObjectAcrossBackends",
      "file": "internal/blob/seam_test.go",
      "start_line": 201,
      "end_line": 224,
      "page": "blob-storage-backend-and-key-rules"
    },
    {
      "id": "Config",
      "kind": "struct",
      "name": "Config",
      "file": "internal/config/config.go",
      "start_line": 32,
      "end_line": 44,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "Server",
      "kind": "struct",
      "name": "Server",
      "file": "internal/config/config.go",
      "start_line": 51,
      "end_line": 59,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "Database",
      "kind": "struct",
      "name": "Database",
      "file": "internal/config/config.go",
      "start_line": 62,
      "end_line": 72,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Providers",
      "kind": "struct",
      "name": "Providers",
      "file": "internal/config/config.go",
      "start_line": 84,
      "end_line": 88,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Provider",
      "kind": "struct",
      "name": "Provider",
      "file": "internal/config/config.go",
      "start_line": 91,
      "end_line": 97,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Providers::Find",
      "kind": "method",
      "name": "Find",
      "file": "internal/config/config.go",
      "start_line": 100,
      "end_line": 107,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Embeddings",
      "kind": "struct",
      "name": "Embeddings",
      "file": "internal/config/config.go",
      "start_line": 112,
      "end_line": 121,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Workspace",
      "kind": "struct",
      "name": "Workspace",
      "file": "internal/config/config.go",
      "start_line": 138,
      "end_line": 145,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Blob",
      "kind": "struct",
      "name": "Blob",
      "file": "internal/config/config.go",
      "start_line": 148,
      "end_line": 164,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "MCP",
      "kind": "struct",
      "name": "MCP",
      "file": "internal/config/config.go",
      "start_line": 168,
      "end_line": 170,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "MCPServer",
      "kind": "struct",
      "name": "MCPServer",
      "file": "internal/config/config.go",
      "start_line": 173,
      "end_line": 176,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Telemetry",
      "kind": "struct",
      "name": "Telemetry",
      "file": "internal/config/config.go",
      "start_line": 181,
      "end_line": 186,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Session",
      "kind": "struct",
      "name": "Session",
      "file": "internal/config/config.go",
      "start_line": 191,
      "end_line": 197,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Incident",
      "kind": "struct",
      "name": "Incident",
      "file": "internal/config/config.go",
      "start_line": 200,
      "end_line": 208,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Skills",
      "kind": "struct",
      "name": "Skills",
      "file": "internal/config/config.go",
      "start_line": 215,
      "end_line": 217,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Default",
      "kind": "function",
      "name": "Default",
      "file": "internal/config/config.go",
      "start_line": 224,
      "end_line": 258,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Load",
      "kind": "function",
      "name": "Load",
      "file": "internal/config/config.go",
      "start_line": 261,
      "end_line": 267,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "parse",
      "kind": "function",
      "name": "parse",
      "file": "internal/config/config.go",
      "start_line": 270,
      "end_line": 290,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "envPattern",
      "kind": "variable",
      "name": "envPattern",
      "file": "internal/config/config.go",
      "start_line": 295,
      "end_line": 295,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "commentPattern",
      "kind": "variable",
      "name": "commentPattern",
      "file": "internal/config/config.go",
      "start_line": 309,
      "end_line": 309,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "ErrMissingEnv",
      "kind": "variable",
      "name": "ErrMissingEnv",
      "file": "internal/config/config.go",
      "start_line": 312,
      "end_line": 312,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "substituteEnv",
      "kind": "function",
      "name": "substituteEnv",
      "file": "internal/config/config.go",
      "start_line": 324,
      "end_line": 367,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "ErrInvalid",
      "kind": "variable",
      "name": "ErrInvalid",
      "file": "internal/config/config.go",
      "start_line": 370,
      "end_line": 370,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Config::Validate",
      "kind": "method",
      "name": "Validate",
      "file": "internal/config/config.go",
      "start_line": 377,
      "end_line": 527,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "writeConfig",
      "kind": "function",
      "name": "writeConfig",
      "file": "internal/config/config_test.go",
      "start_line": 15,
      "end_line": 22,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestLoadMinimal",
      "kind": "function",
      "name": "TestLoadMinimal",
      "file": "internal/config/config_test.go",
      "start_line": 38,
      "end_line": 58,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestLoadOverridesDefaults",
      "kind": "function",
      "name": "TestLoadOverridesDefaults",
      "file": "internal/config/config_test.go",
      "start_line": 60,
      "end_line": 86,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestBlobPath",
      "kind": "function",
      "name": "TestBlobPath",
      "file": "internal/config/config_test.go",
      "start_line": 91,
      "end_line": 107,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestEnvSubstitution",
      "kind": "function",
      "name": "TestEnvSubstitution",
      "file": "internal/config/config_test.go",
      "start_line": 111,
      "end_line": 214,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestUnknownKeyIsRejected",
      "kind": "function",
      "name": "TestUnknownKeyIsRejected",
      "file": "internal/config/config_test.go",
      "start_line": 218,
      "end_line": 229,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestValidationFailures",
      "kind": "function",
      "name": "TestValidationFailures",
      "file": "internal/config/config_test.go",
      "start_line": 234,
      "end_line": 409,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestZeroDebounceDelayIsValid",
      "kind": "function",
      "name": "TestZeroDebounceDelayIsValid",
      "file": "internal/config/config_test.go",
      "start_line": 413,
      "end_line": 421,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestCloseOnResolved",
      "kind": "function",
      "name": "TestCloseOnResolved",
      "file": "internal/config/config_test.go",
      "start_line": 425,
      "end_line": 441,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestValidateReportsEveryProblem",
      "kind": "function",
      "name": "TestValidateReportsEveryProblem",
      "file": "internal/config/config_test.go",
      "start_line": 445,
      "end_line": 462,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestExampleConfigLoads",
      "kind": "function",
      "name": "TestExampleConfigLoads",
      "file": "internal/config/config_test.go",
      "start_line": 475,
      "end_line": 504,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestProvidersFind",
      "kind": "function",
      "name": "TestProvidersFind",
      "file": "internal/config/config_test.go",
      "start_line": 507,
      "end_line": 519,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "TestLoadMissingFile",
      "kind": "function",
      "name": "TestLoadMissingFile",
      "file": "internal/config/config_test.go",
      "start_line": 523,
      "end_line": 531,
      "page": "configuration-loading-and-validation"
    },
    {
      "id": "Chunk",
      "kind": "struct",
      "name": "Chunk",
      "file": "internal/docs/chunk.go",
      "start_line": 33,
      "end_line": 43,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Chunk::EmbeddingInput",
      "kind": "method",
      "name": "EmbeddingInput",
      "file": "internal/docs/chunk.go",
      "start_line": 48,
      "end_line": 61,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "section",
      "kind": "struct",
      "name": "section",
      "file": "internal/docs/chunk.go",
      "start_line": 64,
      "end_line": 71,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "SplitMarkdown",
      "kind": "function",
      "name": "SplitMarkdown",
      "file": "internal/docs/chunk.go",
      "start_line": 81,
      "end_line": 93,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "sections",
      "kind": "function",
      "name": "sections",
      "file": "internal/docs/chunk.go",
      "start_line": 98,
      "end_line": 131,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "section::add",
      "kind": "method",
      "name": "add",
      "file": "internal/docs/chunk.go",
      "start_line": 133,
      "end_line": 138,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "breadcrumb",
      "kind": "function",
      "name": "breadcrumb",
      "file": "internal/docs/chunk.go",
      "start_line": 140,
      "end_line": 148,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "atxHeading",
      "kind": "function",
      "name": "atxHeading",
      "file": "internal/docs/chunk.go",
      "start_line": 153,
      "end_line": 174,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "openingFence",
      "kind": "function",
      "name": "openingFence",
      "file": "internal/docs/chunk.go",
      "start_line": 177,
      "end_line": 194,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "closesFence",
      "kind": "function",
      "name": "closesFence",
      "file": "internal/docs/chunk.go",
      "start_line": 198,
      "end_line": 208,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "trimIndent",
      "kind": "function",
      "name": "trimIndent",
      "file": "internal/docs/chunk.go",
      "start_line": 212,
      "end_line": 221,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "splitSection",
      "kind": "function",
      "name": "splitSection",
      "file": "internal/docs/chunk.go",
      "start_line": 226,
      "end_line": 252,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "overlapTail",
      "kind": "function",
      "name": "overlapTail",
      "file": "internal/docs/chunk.go",
      "start_line": 257,
      "end_line": 265,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "hardWrap",
      "kind": "function",
      "name": "hardWrap",
      "file": "internal/docs/chunk.go",
      "start_line": 270,
      "end_line": 285,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "joinedLen",
      "kind": "function",
      "name": "joinedLen",
      "file": "internal/docs/chunk.go",
      "start_line": 287,
      "end_line": 293,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "trimBlankEdges",
      "kind": "function",
      "name": "trimBlankEdges",
      "file": "internal/docs/chunk.go",
      "start_line": 295,
      "end_line": 303,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownStartsAChunkAtEveryHeading",
      "kind": "function",
      "name": "TestSplitMarkdownStartsAChunkAtEveryHeading",
      "file": "internal/docs/chunk_test.go",
      "start_line": 9,
      "end_line": 44,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownIgnoresHeadingsInsideFencedCode",
      "kind": "function",
      "name": "TestSplitMarkdownIgnoresHeadingsInsideFencedCode",
      "file": "internal/docs/chunk_test.go",
      "start_line": 48,
      "end_line": 60,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownHeadingSyntax",
      "kind": "function",
      "name": "TestSplitMarkdownHeadingSyntax",
      "file": "internal/docs/chunk_test.go",
      "start_line": 62,
      "end_line": 83,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownSkipsHeadingOnlySections",
      "kind": "function",
      "name": "TestSplitMarkdownSkipsHeadingOnlySections",
      "file": "internal/docs/chunk_test.go",
      "start_line": 88,
      "end_line": 93,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownNormalisesCRLF",
      "kind": "function",
      "name": "TestSplitMarkdownNormalisesCRLF",
      "file": "internal/docs/chunk_test.go",
      "start_line": 95,
      "end_line": 105,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "kind": "function",
      "name": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "file": "internal/docs/chunk_test.go",
      "start_line": 110,
      "end_line": 156,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSplitMarkdownBoundsASingleHugeLine",
      "kind": "function",
      "name": "TestSplitMarkdownBoundsASingleHugeLine",
      "file": "internal/docs/chunk_test.go",
      "start_line": 160,
      "end_line": 174,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestEmbeddingInputCarriesPathAndHeading",
      "kind": "function",
      "name": "TestEmbeddingInputCarriesPathAndHeading",
      "file": "internal/docs/chunk_test.go",
      "start_line": 176,
      "end_line": 187,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "contains",
      "kind": "function",
      "name": "contains",
      "file": "internal/docs/chunk_test.go",
      "start_line": 189,
      "end_line": 196,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "contents",
      "kind": "function",
      "name": "contents",
      "file": "internal/docs/chunk_test.go",
      "start_line": 198,
      "end_line": 204,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "kind": "function",
      "name": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "file": "internal/docs/embed_integration_test.go",
      "start_line": 34,
      "end_line": 70,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore",
      "kind": "struct",
      "name": "memStore",
      "file": "internal/docs/fakes_test.go",
      "start_line": 22,
      "end_line": 31,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "newMemStore",
      "kind": "function",
      "name": "newMemStore",
      "file": "internal/docs/fakes_test.go",
      "start_line": 33,
      "end_line": 33,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::HasDocChunks",
      "kind": "method",
      "name": "HasDocChunks",
      "file": "internal/docs/fakes_test.go",
      "start_line": 35,
      "end_line": 42,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::ReplaceDocChunks",
      "kind": "method",
      "name": "ReplaceDocChunks",
      "file": "internal/docs/fakes_test.go",
      "start_line": 44,
      "end_line": 53,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::PruneDocChunks",
      "kind": "method",
      "name": "PruneDocChunks",
      "file": "internal/docs/fakes_test.go",
      "start_line": 55,
      "end_line": 74,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::SearchDocChunks",
      "kind": "method",
      "name": "SearchDocChunks",
      "file": "internal/docs/fakes_test.go",
      "start_line": 76,
      "end_line": 91,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::refs",
      "kind": "method",
      "name": "refs",
      "file": "internal/docs/fakes_test.go",
      "start_line": 93,
      "end_line": 102,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "memStore::paths",
      "kind": "method",
      "name": "paths",
      "file": "internal/docs/fakes_test.go",
      "start_line": 104,
      "end_line": 117,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "cosine",
      "kind": "function",
      "name": "cosine",
      "file": "internal/docs/fakes_test.go",
      "start_line": 119,
      "end_line": 130,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "conceptEmbedder",
      "kind": "struct",
      "name": "conceptEmbedder",
      "file": "internal/docs/fakes_test.go",
      "start_line": 138,
      "end_line": 145,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "concepts",
      "kind": "variable",
      "name": "concepts",
      "file": "internal/docs/fakes_test.go",
      "start_line": 147,
      "end_line": 152,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "conceptEmbedder::Dimensions",
      "kind": "method",
      "name": "Dimensions",
      "file": "internal/docs/fakes_test.go",
      "start_line": 154,
      "end_line": 154,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "conceptEmbedder::Embed",
      "kind": "method",
      "name": "Embed",
      "file": "internal/docs/fakes_test.go",
      "start_line": 156,
      "end_line": 187,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "conceptEmbedder::counts",
      "kind": "method",
      "name": "counts",
      "file": "internal/docs/fakes_test.go",
      "start_line": 189,
      "end_line": 193,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "words",
      "kind": "function",
      "name": "words",
      "file": "internal/docs/fakes_test.go",
      "start_line": 195,
      "end_line": 197,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "lexicalTop",
      "kind": "function",
      "name": "lexicalTop",
      "file": "internal/docs/fakes_test.go",
      "start_line": 201,
      "end_line": 226,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "semanticCorpus",
      "kind": "variable",
      "name": "semanticCorpus",
      "file": "internal/docs/fakes_test.go",
      "start_line": 230,
      "end_line": 234,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "writeTree",
      "kind": "function",
      "name": "writeTree",
      "file": "internal/docs/fakes_test.go",
      "start_line": 238,
      "end_line": 249,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "newTestIndexer",
      "kind": "function",
      "name": "newTestIndexer",
      "file": "internal/docs/fakes_test.go",
      "start_line": 251,
      "end_line": 258,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "errEmbedderDown",
      "kind": "variable",
      "name": "errEmbedderDown",
      "file": "internal/docs/fakes_test.go",
      "start_line": 260,
      "end_line": 260,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Store",
      "kind": "interface",
      "name": "Store",
      "file": "internal/docs/index.go",
      "start_line": 44,
      "end_line": 49,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Store::HasDocChunks",
      "kind": "method",
      "name": "HasDocChunks",
      "file": "internal/docs/index.go",
      "start_line": 45,
      "end_line": 45,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Store::ReplaceDocChunks",
      "kind": "method",
      "name": "ReplaceDocChunks",
      "file": "internal/docs/index.go",
      "start_line": 46,
      "end_line": 46,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Store::PruneDocChunks",
      "kind": "method",
      "name": "PruneDocChunks",
      "file": "internal/docs/index.go",
      "start_line": 47,
      "end_line": 47,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Store::SearchDocChunks",
      "kind": "method",
      "name": "SearchDocChunks",
      "file": "internal/docs/index.go",
      "start_line": 48,
      "end_line": 48,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer",
      "kind": "struct",
      "name": "Indexer",
      "file": "internal/docs/index.go",
      "start_line": 53,
      "end_line": 76,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Result",
      "kind": "struct",
      "name": "Result",
      "file": "internal/docs/index.go",
      "start_line": 79,
      "end_line": 86,
      "page": "loki-mcp-server"
    },
    {
      "id": "NewIndexer",
      "kind": "function",
      "name": "NewIndexer",
      "file": "internal/docs/index.go",
      "start_line": 89,
      "end_line": 102,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::Current",
      "kind": "method",
      "name": "Current",
      "file": "internal/docs/index.go",
      "start_line": 106,
      "end_line": 110,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::setCurrent",
      "kind": "method",
      "name": "setCurrent",
      "file": "internal/docs/index.go",
      "start_line": 112,
      "end_line": 116,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::Refresh",
      "kind": "method",
      "name": "Refresh",
      "file": "internal/docs/index.go",
      "start_line": 122,
      "end_line": 133,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::Index",
      "kind": "method",
      "name": "Index",
      "file": "internal/docs/index.go",
      "start_line": 149,
      "end_line": 189,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::promote",
      "kind": "method",
      "name": "promote",
      "file": "internal/docs/index.go",
      "start_line": 198,
      "end_line": 210,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::keepRefs",
      "kind": "method",
      "name": "keepRefs",
      "file": "internal/docs/index.go",
      "start_line": 213,
      "end_line": 223,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::Pin",
      "kind": "method",
      "name": "Pin",
      "file": "internal/docs/index.go",
      "start_line": 231,
      "end_line": 245,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::embed",
      "kind": "method",
      "name": "embed",
      "file": "internal/docs/index.go",
      "start_line": 247,
      "end_line": 283,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "docFile",
      "kind": "struct",
      "name": "docFile",
      "file": "internal/docs/index.go",
      "start_line": 285,
      "end_line": 288,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "readDocs",
      "kind": "function",
      "name": "readDocs",
      "file": "internal/docs/index.go",
      "start_line": 299,
      "end_line": 346,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "kind": "function",
      "name": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "file": "internal/docs/index_test.go",
      "start_line": 19,
      "end_line": 53,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestUnchangedRefDoesNoEmbeddingWork",
      "kind": "function",
      "name": "TestUnchangedRefDoesNoEmbeddingWork",
      "file": "internal/docs/index_test.go",
      "start_line": 58,
      "end_line": 99,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestChangedRefReindexesAndPrunes",
      "kind": "function",
      "name": "TestChangedRefReindexesAndPrunes",
      "file": "internal/docs/index_test.go",
      "start_line": 102,
      "end_line": 133,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestFailedIndexKeepsThePreviousRefServing",
      "kind": "function",
      "name": "TestFailedIndexKeepsThePreviousRefServing",
      "file": "internal/docs/index_test.go",
      "start_line": 137,
      "end_line": 167,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "kind": "function",
      "name": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "file": "internal/docs/index_test.go",
      "start_line": 172,
      "end_line": 192,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexBatchesEmbeddingRequests",
      "kind": "function",
      "name": "TestIndexBatchesEmbeddingRequests",
      "file": "internal/docs/index_test.go",
      "start_line": 195,
      "end_line": 216,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexSkipsSymlinks",
      "kind": "function",
      "name": "TestIndexSkipsSymlinks",
      "file": "internal/docs/index_test.go",
      "start_line": 221,
      "end_line": 252,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexSkipsFilesPostgresCannotStore",
      "kind": "function",
      "name": "TestIndexSkipsFilesPostgresCannotStore",
      "file": "internal/docs/index_test.go",
      "start_line": 256,
      "end_line": 272,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "kind": "function",
      "name": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "file": "internal/docs/index_test.go",
      "start_line": 274,
      "end_line": 288,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestPruneFailureIsRetriedOnTheNextSync",
      "kind": "function",
      "name": "TestPruneFailureIsRetriedOnTheNextSync",
      "file": "internal/docs/index_test.go",
      "start_line": 292,
      "end_line": 325,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestIndexRejectsAnEmptyRef",
      "kind": "function",
      "name": "TestIndexRejectsAnEmptyRef",
      "file": "internal/docs/index_test.go",
      "start_line": 327,
      "end_line": 332,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestNewIndexerRequiresStoreAndEmbedder",
      "kind": "function",
      "name": "TestNewIndexerRequiresStoreAndEmbedder",
      "file": "internal/docs/index_test.go",
      "start_line": 334,
      "end_line": 341,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestCurrentIsSafeDuringIndex",
      "kind": "function",
      "name": "TestCurrentIsSafeDuringIndex",
      "file": "internal/docs/index_test.go",
      "start_line": 344,
      "end_line": 370,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "indexAt",
      "kind": "function",
      "name": "indexAt",
      "file": "internal/docs/pin_test.go",
      "start_line": 19,
      "end_line": 26,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "search",
      "kind": "function",
      "name": "search",
      "file": "internal/docs/pin_test.go",
      "start_line": 28,
      "end_line": 38,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "kind": "function",
      "name": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "file": "internal/docs/pin_test.go",
      "start_line": 42,
      "end_line": 67,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "kind": "function",
      "name": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "file": "internal/docs/pin_test.go",
      "start_line": 71,
      "end_line": 93,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "kind": "function",
      "name": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "file": "internal/docs/pin_test.go",
      "start_line": 97,
      "end_line": 109,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "kind": "function",
      "name": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "file": "internal/docs/pin_test.go",
      "start_line": 111,
      "end_line": 123,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "kind": "function",
      "name": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "file": "internal/docs/pin_test.go",
      "start_line": 127,
      "end_line": 143,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "kind": "function",
      "name": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "file": "internal/docs/pin_test.go",
      "start_line": 147,
      "end_line": 162,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "searchTool",
      "kind": "variable",
      "name": "searchTool",
      "file": "internal/docs/search.go",
      "start_line": 24,
      "end_line": 38,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Client",
      "kind": "struct",
      "name": "Client",
      "file": "internal/docs/search.go",
      "start_line": 42,
      "end_line": 47,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "NewClient",
      "kind": "function",
      "name": "NewClient",
      "file": "internal/docs/search.go",
      "start_line": 51,
      "end_line": 53,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Indexer::SessionClient",
      "kind": "method",
      "name": "SessionClient",
      "file": "internal/docs/search.go",
      "start_line": 59,
      "end_line": 61,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Client::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/docs/search.go",
      "start_line": 64,
      "end_line": 66,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "Client::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/docs/search.go",
      "start_line": 71,
      "end_line": 132,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "topKArg",
      "kind": "function",
      "name": "topKArg",
      "file": "internal/docs/search.go",
      "start_line": 137,
      "end_line": 158,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "errorResult",
      "kind": "function",
      "name": "errorResult",
      "file": "internal/docs/search.go",
      "start_line": 160,
      "end_line": 162,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "indexedClient",
      "kind": "function",
      "name": "indexedClient",
      "file": "internal/docs/search_test.go",
      "start_line": 10,
      "end_line": 20,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "call",
      "kind": "function",
      "name": "call",
      "file": "internal/docs/search_test.go",
      "start_line": 22,
      "end_line": 29,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchFindsWhatLexicalMatchingMisses",
      "kind": "function",
      "name": "TestSearchFindsWhatLexicalMatchingMisses",
      "file": "internal/docs/search_test.go",
      "start_line": 35,
      "end_line": 51,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchReadsTheCurrentRefWithTheRequestedK",
      "kind": "function",
      "name": "TestSearchReadsTheCurrentRefWithTheRequestedK",
      "file": "internal/docs/search_test.go",
      "start_line": 53,
      "end_line": 75,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchRefusesBadArguments",
      "kind": "function",
      "name": "TestSearchRefusesBadArguments",
      "file": "internal/docs/search_test.go",
      "start_line": 77,
      "end_line": 100,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchBeforeAnyIndexSaysNotReady",
      "kind": "function",
      "name": "TestSearchBeforeAnyIndexSaysNotReady",
      "file": "internal/docs/search_test.go",
      "start_line": 102,
      "end_line": 113,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchReportsAnEmbedderFailureToTheModel",
      "kind": "function",
      "name": "TestSearchReportsAnEmbedderFailureToTheModel",
      "file": "internal/docs/search_test.go",
      "start_line": 115,
      "end_line": 123,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestSearchOverAnEmptyIndexSaysSo",
      "kind": "function",
      "name": "TestSearchOverAnEmptyIndexSaysSo",
      "file": "internal/docs/search_test.go",
      "start_line": 125,
      "end_line": 132,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestListToolsAdvertisesDocsSearch",
      "kind": "function",
      "name": "TestListToolsAdvertisesDocsSearch",
      "file": "internal/docs/search_test.go",
      "start_line": 134,
      "end_line": 151,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "TestCallToolRejectsAnUnknownTool",
      "kind": "function",
      "name": "TestCallToolRejectsAnUnknownTool",
      "file": "internal/docs/search_test.go",
      "start_line": 153,
      "end_line": 157,
      "page": "documentation-chunking-indexing-and-search"
    },
    {
      "id": "AlertGroup",
      "kind": "struct",
      "name": "AlertGroup",
      "file": "internal/incident/alert.go",
      "start_line": 14,
      "end_line": 22,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "IncomingAlert",
      "kind": "struct",
      "name": "IncomingAlert",
      "file": "internal/incident/alert.go",
      "start_line": 27,
      "end_line": 37,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore",
      "kind": "interface",
      "name": "AlertStore",
      "file": "internal/incident/ingest.go",
      "start_line": 24,
      "end_line": 31,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/incident/ingest.go",
      "start_line": 25,
      "end_line": 25,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/incident/ingest.go",
      "start_line": 26,
      "end_line": 26,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::GetActiveIncidentByFingerprint",
      "kind": "method",
      "name": "GetActiveIncidentByFingerprint",
      "file": "internal/incident/ingest.go",
      "start_line": 27,
      "end_line": 27,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::ListOpenIncidentsByFingerprint",
      "kind": "method",
      "name": "ListOpenIncidentsByFingerprint",
      "file": "internal/incident/ingest.go",
      "start_line": 28,
      "end_line": 28,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::LogAlert",
      "kind": "method",
      "name": "LogAlert",
      "file": "internal/incident/ingest.go",
      "start_line": 29,
      "end_line": 29,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "AlertStore::AttachAlerts",
      "kind": "method",
      "name": "AttachAlerts",
      "file": "internal/incident/ingest.go",
      "start_line": 30,
      "end_line": 30,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "SessionStarter",
      "kind": "interface",
      "name": "SessionStarter",
      "file": "internal/incident/ingest.go",
      "start_line": 36,
      "end_line": 38,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "SessionStarter::StartSession",
      "kind": "method",
      "name": "StartSession",
      "file": "internal/incident/ingest.go",
      "start_line": 37,
      "end_line": 37,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "IngestorConfig",
      "kind": "struct",
      "name": "IngestorConfig",
      "file": "internal/incident/ingest.go",
      "start_line": 42,
      "end_line": 49,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor",
      "kind": "struct",
      "name": "Ingestor",
      "file": "internal/incident/ingest.go",
      "start_line": 103,
      "end_line": 119,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "pendingOpen",
      "kind": "struct",
      "name": "pendingOpen",
      "file": "internal/incident/ingest.go",
      "start_line": 122,
      "end_line": 131,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "NewIngestor",
      "kind": "function",
      "name": "NewIngestor",
      "file": "internal/incident/ingest.go",
      "start_line": 135,
      "end_line": 166,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "groupFingerprint",
      "kind": "function",
      "name": "groupFingerprint",
      "file": "internal/incident/ingest.go",
      "start_line": 175,
      "end_line": 189,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::Ingest",
      "kind": "method",
      "name": "Ingest",
      "file": "internal/incident/ingest.go",
      "start_line": 194,
      "end_line": 254,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::ingestResolved",
      "kind": "method",
      "name": "ingestResolved",
      "file": "internal/incident/ingest.go",
      "start_line": 266,
      "end_line": 297,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::fire",
      "kind": "method",
      "name": "fire",
      "file": "internal/incident/ingest.go",
      "start_line": 301,
      "end_line": 317,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::open",
      "kind": "method",
      "name": "open",
      "file": "internal/incident/ingest.go",
      "start_line": 327,
      "end_line": 351,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::closeResolved",
      "kind": "method",
      "name": "closeResolved",
      "file": "internal/incident/ingest.go",
      "start_line": 355,
      "end_line": 365,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::record",
      "kind": "method",
      "name": "record",
      "file": "internal/incident/ingest.go",
      "start_line": 368,
      "end_line": 391,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Ingestor::Stop",
      "kind": "method",
      "name": "Stop",
      "file": "internal/incident/ingest.go",
      "start_line": 396,
      "end_line": 412,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "validateGroup",
      "kind": "function",
      "name": "validateGroup",
      "file": "internal/incident/ingest.go",
      "start_line": 414,
      "end_line": 425,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "allResolved",
      "kind": "function",
      "name": "allResolved",
      "file": "internal/incident/ingest.go",
      "start_line": 429,
      "end_line": 436,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertIDs",
      "kind": "function",
      "name": "alertIDs",
      "file": "internal/incident/ingest.go",
      "start_line": 438,
      "end_line": 444,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertIncident",
      "kind": "function",
      "name": "alertIncident",
      "file": "internal/incident/ingest.go",
      "start_line": 447,
      "end_line": 476,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertTitle",
      "kind": "function",
      "name": "alertTitle",
      "file": "internal/incident/ingest.go",
      "start_line": 480,
      "end_line": 488,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertPrompt",
      "kind": "function",
      "name": "alertPrompt",
      "file": "internal/incident/ingest.go",
      "start_line": 493,
      "end_line": 515,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "writeSorted",
      "kind": "function",
      "name": "writeSorted",
      "file": "internal/incident/ingest.go",
      "start_line": 517,
      "end_line": 530,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore",
      "kind": "struct",
      "name": "alertFakeStore",
      "file": "internal/incident/ingest_test.go",
      "start_line": 19,
      "end_line": 25,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "testClock",
      "kind": "struct",
      "name": "testClock",
      "file": "internal/incident/ingest_test.go",
      "start_line": 29,
      "end_line": 32,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "testClock::Now",
      "kind": "method",
      "name": "Now",
      "file": "internal/incident/ingest_test.go",
      "start_line": 34,
      "end_line": 38,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "testClock::Advance",
      "kind": "method",
      "name": "Advance",
      "file": "internal/incident/ingest_test.go",
      "start_line": 40,
      "end_line": 44,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 46,
      "end_line": 54,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 56,
      "end_line": 75,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::GetActiveIncidentByFingerprint",
      "kind": "method",
      "name": "GetActiveIncidentByFingerprint",
      "file": "internal/incident/ingest_test.go",
      "start_line": 77,
      "end_line": 92,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::ListOpenIncidentsByFingerprint",
      "kind": "method",
      "name": "ListOpenIncidentsByFingerprint",
      "file": "internal/incident/ingest_test.go",
      "start_line": 94,
      "end_line": 108,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::LogAlert",
      "kind": "method",
      "name": "LogAlert",
      "file": "internal/incident/ingest_test.go",
      "start_line": 110,
      "end_line": 118,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::AttachAlerts",
      "kind": "method",
      "name": "AttachAlerts",
      "file": "internal/incident/ingest_test.go",
      "start_line": 120,
      "end_line": 137,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "alertFakeStore::snapshot",
      "kind": "method",
      "name": "snapshot",
      "file": "internal/incident/ingest_test.go",
      "start_line": 139,
      "end_line": 143,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "startedSession",
      "kind": "struct",
      "name": "startedSession",
      "file": "internal/incident/ingest_test.go",
      "start_line": 145,
      "end_line": 148,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "sessionRecorder",
      "kind": "struct",
      "name": "sessionRecorder",
      "file": "internal/incident/ingest_test.go",
      "start_line": 150,
      "end_line": 154,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "sessionRecorder::StartSession",
      "kind": "method",
      "name": "StartSession",
      "file": "internal/incident/ingest_test.go",
      "start_line": 156,
      "end_line": 161,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "sessionRecorder::count",
      "kind": "method",
      "name": "count",
      "file": "internal/incident/ingest_test.go",
      "start_line": 163,
      "end_line": 167,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "manualTimers",
      "kind": "struct",
      "name": "manualTimers",
      "file": "internal/incident/ingest_test.go",
      "start_line": 171,
      "end_line": 174,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "manualTimer",
      "kind": "struct",
      "name": "manualTimer",
      "file": "internal/incident/ingest_test.go",
      "start_line": 176,
      "end_line": 180,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "manualTimers::afterFunc",
      "kind": "method",
      "name": "afterFunc",
      "file": "internal/incident/ingest_test.go",
      "start_line": 182,
      "end_line": 196,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "manualTimers::fireAll",
      "kind": "method",
      "name": "fireAll",
      "file": "internal/incident/ingest_test.go",
      "start_line": 199,
      "end_line": 212,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "manualTimers::scheduled",
      "kind": "method",
      "name": "scheduled",
      "file": "internal/incident/ingest_test.go",
      "start_line": 214,
      "end_line": 222,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "ingestFixture",
      "kind": "struct",
      "name": "ingestFixture",
      "file": "internal/incident/ingest_test.go",
      "start_line": 224,
      "end_line": 230,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "newIngestFixture",
      "kind": "function",
      "name": "newIngestFixture",
      "file": "internal/incident/ingest_test.go",
      "start_line": 232,
      "end_line": 260,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "firingGroup",
      "kind": "function",
      "name": "firingGroup",
      "file": "internal/incident/ingest_test.go",
      "start_line": 262,
      "end_line": 278,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "resolvedGroup",
      "kind": "function",
      "name": "resolvedGroup",
      "file": "internal/incident/ingest_test.go",
      "start_line": 280,
      "end_line": 284,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "checkoutLabels",
      "kind": "function",
      "name": "checkoutLabels",
      "file": "internal/incident/ingest_test.go",
      "start_line": 286,
      "end_line": 290,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "mustIngest",
      "kind": "function",
      "name": "mustIngest",
      "file": "internal/incident/ingest_test.go",
      "start_line": 292,
      "end_line": 299,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestBurstOpensOneIncidentAndOneSession",
      "kind": "function",
      "name": "TestBurstOpensOneIncidentAndOneSession",
      "file": "internal/incident/ingest_test.go",
      "start_line": 304,
      "end_line": 355,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestConcurrentBurstOpensOneIncident",
      "kind": "function",
      "name": "TestConcurrentBurstOpensOneIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 359,
      "end_line": 393,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestIgnoredLabelsDoNotAffectFingerprint",
      "kind": "function",
      "name": "TestIgnoredLabelsDoNotAffectFingerprint",
      "file": "internal/incident/ingest_test.go",
      "start_line": 396,
      "end_line": 425,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestIngestUsesConfiguredIgnoredLabels",
      "kind": "function",
      "name": "TestIngestUsesConfiguredIgnoredLabels",
      "file": "internal/incident/ingest_test.go",
      "start_line": 428,
      "end_line": 442,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestDedupLookupUsesConfiguredWindow",
      "kind": "function",
      "name": "TestDedupLookupUsesConfiguredWindow",
      "file": "internal/incident/ingest_test.go",
      "start_line": 444,
      "end_line": 450,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedClosesIncident",
      "kind": "function",
      "name": "TestResolvedClosesIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 454,
      "end_line": 489,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedAfterDedupWindowClosesIncident",
      "kind": "function",
      "name": "TestResolvedAfterDedupWindowClosesIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 493,
      "end_line": 515,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "kind": "function",
      "name": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "file": "internal/incident/ingest_test.go",
      "start_line": 519,
      "end_line": 544,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "kind": "function",
      "name": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 548,
      "end_line": 579,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedAfterManualCloseIsNotAnError",
      "kind": "function",
      "name": "TestResolvedAfterManualCloseIsNotAnError",
      "file": "internal/incident/ingest_test.go",
      "start_line": 582,
      "end_line": 596,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "closedOnClose",
      "kind": "struct",
      "name": "closedOnClose",
      "file": "internal/incident/ingest_test.go",
      "start_line": 600,
      "end_line": 600,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "closedOnClose::ListOpenIncidentsByFingerprint",
      "kind": "method",
      "name": "ListOpenIncidentsByFingerprint",
      "file": "internal/incident/ingest_test.go",
      "start_line": 602,
      "end_line": 612,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestAlertBeforeIncidentIsStoredThenAttached",
      "kind": "function",
      "name": "TestAlertBeforeIncidentIsStoredThenAttached",
      "file": "internal/incident/ingest_test.go",
      "start_line": 616,
      "end_line": 634,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedWithinDebounceClosesWithoutSession",
      "kind": "function",
      "name": "TestResolvedWithinDebounceClosesWithoutSession",
      "file": "internal/incident/ingest_test.go",
      "start_line": 638,
      "end_line": 656,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestRefiringWithinDebounceStartsSession",
      "kind": "function",
      "name": "TestRefiringWithinDebounceStartsSession",
      "file": "internal/incident/ingest_test.go",
      "start_line": 659,
      "end_line": 670,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestResolvedWithoutIncidentOpensNothing",
      "kind": "function",
      "name": "TestResolvedWithoutIncidentOpensNothing",
      "file": "internal/incident/ingest_test.go",
      "start_line": 672,
      "end_line": 684,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestAlertIncidentFields",
      "kind": "function",
      "name": "TestAlertIncidentFields",
      "file": "internal/incident/ingest_test.go",
      "start_line": 686,
      "end_line": 713,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestAlertTitleFallbacks",
      "kind": "function",
      "name": "TestAlertTitleFallbacks",
      "file": "internal/incident/ingest_test.go",
      "start_line": 715,
      "end_line": 723,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestSessionStartFailureKeepsIncident",
      "kind": "function",
      "name": "TestSessionStartFailureKeepsIncident",
      "file": "internal/incident/ingest_test.go",
      "start_line": 728,
      "end_line": 740,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestInvalidGroupRecordsNothing",
      "kind": "function",
      "name": "TestInvalidGroupRecordsNothing",
      "file": "internal/incident/ingest_test.go",
      "start_line": 742,
      "end_line": 755,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestStopAbandonsPendingDebounce",
      "kind": "function",
      "name": "TestStopAbandonsPendingDebounce",
      "file": "internal/incident/ingest_test.go",
      "start_line": 757,
      "end_line": 780,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestTimerFiringAfterStopOpensNothing",
      "kind": "function",
      "name": "TestTimerFiringAfterStopOpensNothing",
      "file": "internal/incident/ingest_test.go",
      "start_line": 784,
      "end_line": 806,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestNewIngestorRejectsUnusableConfig",
      "kind": "function",
      "name": "TestNewIngestorRejectsUnusableConfig",
      "file": "internal/incident/ingest_test.go",
      "start_line": 808,
      "end_line": 825,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Store",
      "kind": "interface",
      "name": "Store",
      "file": "internal/incident/manager.go",
      "start_line": 29,
      "end_line": 35,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Store::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/incident/manager.go",
      "start_line": 30,
      "end_line": 30,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Store::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/incident/manager.go",
      "start_line": 31,
      "end_line": 31,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Store::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/incident/manager.go",
      "start_line": 32,
      "end_line": 32,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Store::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/incident/manager.go",
      "start_line": 33,
      "end_line": 33,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Store::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/incident/manager.go",
      "start_line": 34,
      "end_line": 34,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Manager",
      "kind": "struct",
      "name": "Manager",
      "file": "internal/incident/manager.go",
      "start_line": 71,
      "end_line": 77,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "NewManager",
      "kind": "function",
      "name": "NewManager",
      "file": "internal/incident/manager.go",
      "start_line": 80,
      "end_line": 82,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "OpenRequest",
      "kind": "struct",
      "name": "OpenRequest",
      "file": "internal/incident/manager.go",
      "start_line": 90,
      "end_line": 102,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Manager::Open",
      "kind": "method",
      "name": "Open",
      "file": "internal/incident/manager.go",
      "start_line": 105,
      "end_line": 144,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Manager::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/incident/manager.go",
      "start_line": 147,
      "end_line": 153,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "ListFilter",
      "kind": "struct",
      "name": "ListFilter",
      "file": "internal/incident/manager.go",
      "start_line": 157,
      "end_line": 162,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Manager::List",
      "kind": "method",
      "name": "List",
      "file": "internal/incident/manager.go",
      "start_line": 166,
      "end_line": 178,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "UpdateRequest",
      "kind": "struct",
      "name": "UpdateRequest",
      "file": "internal/incident/manager.go",
      "start_line": 187,
      "end_line": 196,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Manager::Update",
      "kind": "method",
      "name": "Update",
      "file": "internal/incident/manager.go",
      "start_line": 211,
      "end_line": 266,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "Manager::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/incident/manager.go",
      "start_line": 275,
      "end_line": 299,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "isTerminal",
      "kind": "function",
      "name": "isTerminal",
      "file": "internal/incident/manager.go",
      "start_line": 301,
      "end_line": 303,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore",
      "kind": "struct",
      "name": "fakeStore",
      "file": "internal/incident/manager_test.go",
      "start_line": 17,
      "end_line": 34,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "newFakeStore",
      "kind": "function",
      "name": "newFakeStore",
      "file": "internal/incident/manager_test.go",
      "start_line": 36,
      "end_line": 38,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 40,
      "end_line": 47,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 49,
      "end_line": 59,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/incident/manager_test.go",
      "start_line": 61,
      "end_line": 77,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 83,
      "end_line": 108,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "fakeStore::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 112,
      "end_line": 128,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "openTestIncident",
      "kind": "function",
      "name": "openTestIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 130,
      "end_line": 140,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestOpenDefaultsAndManualOrigin",
      "kind": "function",
      "name": "TestOpenDefaultsAndManualOrigin",
      "file": "internal/incident/manager_test.go",
      "start_line": 142,
      "end_line": 177,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestOpenRejectsBlankTitle",
      "kind": "function",
      "name": "TestOpenRejectsBlankTitle",
      "file": "internal/incident/manager_test.go",
      "start_line": 179,
      "end_line": 188,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestOpenKeepsSuppliedStartedAt",
      "kind": "function",
      "name": "TestOpenKeepsSuppliedStartedAt",
      "file": "internal/incident/manager_test.go",
      "start_line": 190,
      "end_line": 207,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateChangesDescriptiveFields",
      "kind": "function",
      "name": "TestUpdateChangesDescriptiveFields",
      "file": "internal/incident/manager_test.go",
      "start_line": 209,
      "end_line": 241,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateKeepsCurrentStatusWhenUnset",
      "kind": "function",
      "name": "TestUpdateKeepsCurrentStatusWhenUnset",
      "file": "internal/incident/manager_test.go",
      "start_line": 243,
      "end_line": 266,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateRefusesTerminalStatus",
      "kind": "function",
      "name": "TestUpdateRefusesTerminalStatus",
      "file": "internal/incident/manager_test.go",
      "start_line": 271,
      "end_line": 290,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateRejectsUnknownStatus",
      "kind": "function",
      "name": "TestUpdateRejectsUnknownStatus",
      "file": "internal/incident/manager_test.go",
      "start_line": 292,
      "end_line": 308,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateRefusesClosedIncident",
      "kind": "function",
      "name": "TestUpdateRefusesClosedIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 310,
      "end_line": 338,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateOnMissingIncident",
      "kind": "function",
      "name": "TestUpdateOnMissingIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 340,
      "end_line": 347,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "kind": "function",
      "name": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "file": "internal/incident/manager_test.go",
      "start_line": 359,
      "end_line": 398,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestCloseStampsTerminalState",
      "kind": "function",
      "name": "TestCloseStampsTerminalState",
      "file": "internal/incident/manager_test.go",
      "start_line": 400,
      "end_line": 417,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestCloseDefaultsToResolved",
      "kind": "function",
      "name": "TestCloseDefaultsToResolved",
      "file": "internal/incident/manager_test.go",
      "start_line": 419,
      "end_line": 430,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestCloseRejectsNonTerminalStatus",
      "kind": "function",
      "name": "TestCloseRejectsNonTerminalStatus",
      "file": "internal/incident/manager_test.go",
      "start_line": 432,
      "end_line": 442,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "kind": "function",
      "name": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "file": "internal/incident/manager_test.go",
      "start_line": 446,
      "end_line": 473,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestCloseOnMissingIncident",
      "kind": "function",
      "name": "TestCloseOnMissingIncident",
      "file": "internal/incident/manager_test.go",
      "start_line": 475,
      "end_line": 482,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestListFiltersAndCursor",
      "kind": "function",
      "name": "TestListFiltersAndCursor",
      "file": "internal/incident/manager_test.go",
      "start_line": 484,
      "end_line": 516,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "TestOpenPropagatesStoreError",
      "kind": "function",
      "name": "TestOpenPropagatesStoreError",
      "file": "internal/incident/manager_test.go",
      "start_line": 518,
      "end_line": 530,
      "page": "alert-ingestion-fingerprinting-and-debounce"
    },
    {
      "id": "MCPClient",
      "kind": "interface",
      "name": "MCPClient",
      "file": "internal/mcp/client.go",
      "start_line": 8,
      "end_line": 11,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "MCPClient::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/mcp/client.go",
      "start_line": 9,
      "end_line": 9,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "MCPClient::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/mcp/client.go",
      "start_line": 10,
      "end_line": 10,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient",
      "kind": "struct",
      "name": "StreamableHTTPClient",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 25,
      "end_line": 32,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "NewStreamableHTTPClient",
      "kind": "function",
      "name": "NewStreamableHTTPClient",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 37,
      "end_line": 51,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient::Connect",
      "kind": "method",
      "name": "Connect",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 60,
      "end_line": 83,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 86,
      "end_line": 98,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 102,
      "end_line": 123,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 130,
      "end_line": 158,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "StreamableHTTPClient::liveSession",
      "kind": "method",
      "name": "liveSession",
      "file": "internal/mcp/client_streamable.go",
      "start_line": 163,
      "end_line": 170,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "echoArgs",
      "kind": "struct",
      "name": "echoArgs",
      "file": "internal/mcp/client_streamable_test.go",
      "start_line": 15,
      "end_line": 17,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "newEchoServer",
      "kind": "function",
      "name": "newEchoServer",
      "file": "internal/mcp/client_streamable_test.go",
      "start_line": 21,
      "end_line": 35,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestStreamableClientRoundTrip",
      "kind": "function",
      "name": "TestStreamableClientRoundTrip",
      "file": "internal/mcp/client_streamable_test.go",
      "start_line": 40,
      "end_line": 80,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestStreamableClientConnectFailureIsAnError",
      "kind": "function",
      "name": "TestStreamableClientConnectFailureIsAnError",
      "file": "internal/mcp/client_streamable_test.go",
      "start_line": 85,
      "end_line": 115,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestRegistryOverRealClient",
      "kind": "function",
      "name": "TestRegistryOverRealClient",
      "file": "internal/mcp/client_streamable_test.go",
      "start_line": 120,
      "end_line": 148,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "ConnectAll",
      "kind": "function",
      "name": "ConnectAll",
      "file": "internal/mcp/connect.go",
      "start_line": 20,
      "end_line": 47,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry",
      "kind": "struct",
      "name": "Registry",
      "file": "internal/mcp/registry.go",
      "start_line": 14,
      "end_line": 22,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "NewRegistry",
      "kind": "function",
      "name": "NewRegistry",
      "file": "internal/mcp/registry.go",
      "start_line": 24,
      "end_line": 30,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::RecordFailure",
      "kind": "method",
      "name": "RecordFailure",
      "file": "internal/mcp/registry.go",
      "start_line": 37,
      "end_line": 42,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::FailedServers",
      "kind": "method",
      "name": "FailedServers",
      "file": "internal/mcp/registry.go",
      "start_line": 47,
      "end_line": 55,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::RegisterServer",
      "kind": "method",
      "name": "RegisterServer",
      "file": "internal/mcp/registry.go",
      "start_line": 60,
      "end_line": 78,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/mcp/registry.go",
      "start_line": 81,
      "end_line": 90,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::Has",
      "kind": "method",
      "name": "Has",
      "file": "internal/mcp/registry.go",
      "start_line": 93,
      "end_line": 98,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::Servers",
      "kind": "method",
      "name": "Servers",
      "file": "internal/mcp/registry.go",
      "start_line": 102,
      "end_line": 111,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Registry::Call",
      "kind": "method",
      "name": "Call",
      "file": "internal/mcp/registry.go",
      "start_line": 114,
      "end_line": 138,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "stubClient",
      "kind": "struct",
      "name": "stubClient",
      "file": "internal/mcp/registry_test.go",
      "start_line": 10,
      "end_line": 13,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "stubClient::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/mcp/registry_test.go",
      "start_line": 15,
      "end_line": 15,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "stubClient::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/mcp/registry_test.go",
      "start_line": 17,
      "end_line": 20,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestCallRejectsToolWhoseServerIsMissing",
      "kind": "function",
      "name": "TestCallRejectsToolWhoseServerIsMissing",
      "file": "internal/mcp/registry_test.go",
      "start_line": 30,
      "end_line": 49,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestCallRoutesToOwningServer",
      "kind": "function",
      "name": "TestCallRoutesToOwningServer",
      "file": "internal/mcp/registry_test.go",
      "start_line": 53,
      "end_line": 73,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestCallRejectsUnknownTool",
      "kind": "function",
      "name": "TestCallRejectsUnknownTool",
      "file": "internal/mcp/registry_test.go",
      "start_line": 77,
      "end_line": 86,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestRegisterServerRejectsToolNameCollision",
      "kind": "function",
      "name": "TestRegisterServerRejectsToolNameCollision",
      "file": "internal/mcp/registry_test.go",
      "start_line": 90,
      "end_line": 108,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "tracingTransport",
      "kind": "struct",
      "name": "tracingTransport",
      "file": "internal/mcp/tracing.go",
      "start_line": 21,
      "end_line": 26,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "newTracingTransport",
      "kind": "function",
      "name": "newTracingTransport",
      "file": "internal/mcp/tracing.go",
      "start_line": 30,
      "end_line": 40,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "tracingTransport::RoundTrip",
      "kind": "method",
      "name": "RoundTrip",
      "file": "internal/mcp/tracing.go",
      "start_line": 42,
      "end_line": 68,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "recordSpans",
      "kind": "function",
      "name": "recordSpans",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 24,
      "end_line": 30,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestTraceparentCarriesTheCallersTraceID",
      "kind": "function",
      "name": "TestTraceparentCarriesTheCallersTraceID",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 35,
      "end_line": 75,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestRoundTripDoesNotMutateTheCallersRequest",
      "kind": "function",
      "name": "TestRoundTripDoesNotMutateTheCallersRequest",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 81,
      "end_line": 110,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestRoundTripSpanCarriesServerAndStatus",
      "kind": "function",
      "name": "TestRoundTripSpanCarriesServerAndStatus",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 112,
      "end_line": 161,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestServerErrorStatusMarksTheSpan",
      "kind": "function",
      "name": "TestServerErrorStatusMarksTheSpan",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 166,
      "end_line": 207,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestTransportErrorIsRecorded",
      "kind": "function",
      "name": "TestTransportErrorIsRecorded",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 211,
      "end_line": 243,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "TestNilBaseUsesDefaultTransport",
      "kind": "function",
      "name": "TestNilBaseUsesDefaultTransport",
      "file": "internal/mcp/tracing_test.go",
      "start_line": 247,
      "end_line": 255,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "Tool",
      "kind": "struct",
      "name": "Tool",
      "file": "internal/mcp/types.go",
      "start_line": 6,
      "end_line": 13,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "CallResult",
      "kind": "struct",
      "name": "CallResult",
      "file": "internal/mcp/types.go",
      "start_line": 18,
      "end_line": 21,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "ToolCall",
      "kind": "struct",
      "name": "ToolCall",
      "file": "internal/mcp/types.go",
      "start_line": 24,
      "end_line": 27,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "AnthropicProvider",
      "kind": "struct",
      "name": "AnthropicProvider",
      "file": "internal/model/anthropic.go",
      "start_line": 17,
      "end_line": 20,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "NewAnthropicProvider",
      "kind": "function",
      "name": "NewAnthropicProvider",
      "file": "internal/model/anthropic.go",
      "start_line": 25,
      "end_line": 34,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "AnthropicProvider::Complete",
      "kind": "method",
      "name": "Complete",
      "file": "internal/model/anthropic.go",
      "start_line": 36,
      "end_line": 104,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "anthropicMessages",
      "kind": "function",
      "name": "anthropicMessages",
      "file": "internal/model/anthropic.go",
      "start_line": 127,
      "end_line": 143,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "anthropicBlocks",
      "kind": "function",
      "name": "anthropicBlocks",
      "file": "internal/model/anthropic.go",
      "start_line": 149,
      "end_line": 189,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "appendBlock",
      "kind": "function",
      "name": "appendBlock",
      "file": "internal/model/anthropic.go",
      "start_line": 195,
      "end_line": 204,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "toolInput",
      "kind": "function",
      "name": "toolInput",
      "file": "internal/model/anthropic.go",
      "start_line": 216,
      "end_line": 221,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "anthropicStopReason",
      "kind": "function",
      "name": "anthropicStopReason",
      "file": "internal/model/anthropic.go",
      "start_line": 223,
      "end_line": 234,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "classifyAnthropicError",
      "kind": "function",
      "name": "classifyAnthropicError",
      "file": "internal/model/anthropic.go",
      "start_line": 236,
      "end_line": 254,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "anthropicTestServer",
      "kind": "function",
      "name": "anthropicTestServer",
      "file": "internal/model/anthropic_test.go",
      "start_line": 14,
      "end_line": 31,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicCompleteMapsResponse",
      "kind": "function",
      "name": "TestAnthropicCompleteMapsResponse",
      "file": "internal/model/anthropic_test.go",
      "start_line": 33,
      "end_line": 90,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicClassifiesErrors",
      "kind": "function",
      "name": "TestAnthropicClassifiesErrors",
      "file": "internal/model/anthropic_test.go",
      "start_line": 92,
      "end_line": 131,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "wireBlock",
      "kind": "struct",
      "name": "wireBlock",
      "file": "internal/model/composition_test.go",
      "start_line": 33,
      "end_line": 38,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "wireMessage",
      "kind": "struct",
      "name": "wireMessage",
      "file": "internal/model/composition_test.go",
      "start_line": 41,
      "end_line": 44,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "wireMessage::String",
      "kind": "method",
      "name": "String",
      "file": "internal/model/composition_test.go",
      "start_line": 46,
      "end_line": 55,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "formatWire",
      "kind": "function",
      "name": "formatWire",
      "file": "internal/model/composition_test.go",
      "start_line": 57,
      "end_line": 63,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "anthropicWire",
      "kind": "function",
      "name": "anthropicWire",
      "file": "internal/model/composition_test.go",
      "start_line": 69,
      "end_line": 115,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "openaiWire",
      "kind": "function",
      "name": "openaiWire",
      "file": "internal/model/composition_test.go",
      "start_line": 119,
      "end_line": 171,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "converters",
      "kind": "variable",
      "name": "converters",
      "file": "internal/model/composition_test.go",
      "start_line": 177,
      "end_line": 206,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertNonEmpty",
      "kind": "function",
      "name": "assertNonEmpty",
      "file": "internal/model/composition_test.go",
      "start_line": 209,
      "end_line": 214,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertFirstIsUser",
      "kind": "function",
      "name": "assertFirstIsUser",
      "file": "internal/model/composition_test.go",
      "start_line": 217,
      "end_line": 222,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertSystemFirst",
      "kind": "function",
      "name": "assertSystemFirst",
      "file": "internal/model/composition_test.go",
      "start_line": 226,
      "end_line": 241,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertNoEmptyBlockList",
      "kind": "function",
      "name": "assertNoEmptyBlockList",
      "file": "internal/model/composition_test.go",
      "start_line": 247,
      "end_line": 254,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertAlternates",
      "kind": "function",
      "name": "assertAlternates",
      "file": "internal/model/composition_test.go",
      "start_line": 259,
      "end_line": 266,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertToolResultsBatched",
      "kind": "function",
      "name": "assertToolResultsBatched",
      "file": "internal/model/composition_test.go",
      "start_line": 272,
      "end_line": 289,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertToolResultsFirst",
      "kind": "function",
      "name": "assertToolResultsFirst",
      "file": "internal/model/composition_test.go",
      "start_line": 293,
      "end_line": 308,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertToolResultsPaired",
      "kind": "function",
      "name": "assertToolResultsPaired",
      "file": "internal/model/composition_test.go",
      "start_line": 313,
      "end_line": 341,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assertToolInputsAreObjects",
      "kind": "function",
      "name": "assertToolInputsAreObjects",
      "file": "internal/model/composition_test.go",
      "start_line": 345,
      "end_line": 364,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "countKind",
      "kind": "function",
      "name": "countKind",
      "file": "internal/model/composition_test.go",
      "start_line": 366,
      "end_line": 374,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "roleShape",
      "kind": "function",
      "name": "roleShape",
      "file": "internal/model/composition_test.go",
      "start_line": 384,
      "end_line": 395,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "userMsg",
      "kind": "function",
      "name": "userMsg",
      "file": "internal/model/composition_test.go",
      "start_line": 397,
      "end_line": 399,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "assistantMsg",
      "kind": "function",
      "name": "assistantMsg",
      "file": "internal/model/composition_test.go",
      "start_line": 401,
      "end_line": 407,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "toolMsg",
      "kind": "function",
      "name": "toolMsg",
      "file": "internal/model/composition_test.go",
      "start_line": 409,
      "end_line": 411,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "repeatShape",
      "kind": "function",
      "name": "repeatShape",
      "file": "internal/model/composition_test.go",
      "start_line": 428,
      "end_line": 435,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "investigateLoop",
      "kind": "function",
      "name": "investigateLoop",
      "file": "internal/model/composition_test.go",
      "start_line": 441,
      "end_line": 449,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "loopTranscripts",
      "kind": "variable",
      "name": "loopTranscripts",
      "file": "internal/model/composition_test.go",
      "start_line": 453,
      "end_line": 607,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "transcript",
      "kind": "function",
      "name": "transcript",
      "file": "internal/model/composition_test.go",
      "start_line": 609,
      "end_line": 618,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestLoopTranscripts",
      "kind": "function",
      "name": "TestLoopTranscripts",
      "file": "internal/model/composition_test.go",
      "start_line": 620,
      "end_line": 646,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "kind": "function",
      "name": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "file": "internal/model/composition_test.go",
      "start_line": 652,
      "end_line": 674,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicMergesConsecutiveUserMessages",
      "kind": "function",
      "name": "TestAnthropicMergesConsecutiveUserMessages",
      "file": "internal/model/composition_test.go",
      "start_line": 676,
      "end_line": 689,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "kind": "function",
      "name": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "file": "internal/model/composition_test.go",
      "start_line": 695,
      "end_line": 711,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "kind": "function",
      "name": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "file": "internal/model/composition_test.go",
      "start_line": 717,
      "end_line": 732,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicToolInputIsAlwaysAnObject",
      "kind": "function",
      "name": "TestAnthropicToolInputIsAlwaysAnObject",
      "file": "internal/model/composition_test.go",
      "start_line": 734,
      "end_line": 754,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "kind": "function",
      "name": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "file": "internal/model/composition_test.go",
      "start_line": 756,
      "end_line": 774,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Embedder",
      "kind": "interface",
      "name": "Embedder",
      "file": "internal/model/embedder.go",
      "start_line": 17,
      "end_line": 26,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Embedder::Embed",
      "kind": "method",
      "name": "Embed",
      "file": "internal/model/embedder.go",
      "start_line": 20,
      "end_line": 20,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Embedder::Dimensions",
      "kind": "method",
      "name": "Dimensions",
      "file": "internal/model/embedder.go",
      "start_line": 25,
      "end_line": 25,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ErrorKind::String",
      "kind": "method",
      "name": "String",
      "file": "internal/model/errors.go",
      "start_line": 26,
      "end_line": 44,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ProviderError",
      "kind": "struct",
      "name": "ProviderError",
      "file": "internal/model/errors.go",
      "start_line": 48,
      "end_line": 53,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ProviderError::Error",
      "kind": "method",
      "name": "Error",
      "file": "internal/model/errors.go",
      "start_line": 55,
      "end_line": 57,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ProviderError::Unwrap",
      "kind": "method",
      "name": "Unwrap",
      "file": "internal/model/errors.go",
      "start_line": 59,
      "end_line": 59,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "KindOf",
      "kind": "function",
      "name": "KindOf",
      "file": "internal/model/errors.go",
      "start_line": 64,
      "end_line": 73,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "classifyStatus",
      "kind": "function",
      "name": "classifyStatus",
      "file": "internal/model/errors.go",
      "start_line": 78,
      "end_line": 100,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "looksLikeOverflow",
      "kind": "function",
      "name": "looksLikeOverflow",
      "file": "internal/model/errors.go",
      "start_line": 105,
      "end_line": 120,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "looksLikeOverloaded",
      "kind": "function",
      "name": "looksLikeOverloaded",
      "file": "internal/model/errors.go",
      "start_line": 122,
      "end_line": 124,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "retryAfterFromHeader",
      "kind": "function",
      "name": "retryAfterFromHeader",
      "file": "internal/model/errors.go",
      "start_line": 130,
      "end_line": 145,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "OpenAIProvider",
      "kind": "struct",
      "name": "OpenAIProvider",
      "file": "internal/model/openai.go",
      "start_line": 17,
      "end_line": 20,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "NewOpenAIProvider",
      "kind": "function",
      "name": "NewOpenAIProvider",
      "file": "internal/model/openai.go",
      "start_line": 25,
      "end_line": 34,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "OpenAIProvider::Complete",
      "kind": "method",
      "name": "Complete",
      "file": "internal/model/openai.go",
      "start_line": 36,
      "end_line": 92,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "openaiMessages",
      "kind": "function",
      "name": "openaiMessages",
      "file": "internal/model/openai.go",
      "start_line": 94,
      "end_line": 129,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "openaiStopReason",
      "kind": "function",
      "name": "openaiStopReason",
      "file": "internal/model/openai.go",
      "start_line": 131,
      "end_line": 142,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "classifyOpenAIError",
      "kind": "function",
      "name": "classifyOpenAIError",
      "file": "internal/model/openai.go",
      "start_line": 144,
      "end_line": 162,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "OpenAIEmbedder",
      "kind": "struct",
      "name": "OpenAIEmbedder",
      "file": "internal/model/openai_embed.go",
      "start_line": 15,
      "end_line": 19,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "NewOpenAIEmbedder",
      "kind": "function",
      "name": "NewOpenAIEmbedder",
      "file": "internal/model/openai_embed.go",
      "start_line": 29,
      "end_line": 42,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "OpenAIEmbedder::Dimensions",
      "kind": "method",
      "name": "Dimensions",
      "file": "internal/model/openai_embed.go",
      "start_line": 44,
      "end_line": 44,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "OpenAIEmbedder::Embed",
      "kind": "method",
      "name": "Embed",
      "file": "internal/model/openai_embed.go",
      "start_line": 53,
      "end_line": 98,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "embedServerError",
      "kind": "function",
      "name": "embedServerError",
      "file": "internal/model/openai_embed.go",
      "start_line": 100,
      "end_line": 105,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "float32Vector",
      "kind": "function",
      "name": "float32Vector",
      "file": "internal/model/openai_embed.go",
      "start_line": 111,
      "end_line": 117,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "classifyOpenAIEmbedError",
      "kind": "function",
      "name": "classifyOpenAIEmbedError",
      "file": "internal/model/openai_embed.go",
      "start_line": 124,
      "end_line": 142,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "embedTestServer",
      "kind": "function",
      "name": "embedTestServer",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 15,
      "end_line": 32,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "embedResponse",
      "kind": "function",
      "name": "embedResponse",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 36,
      "end_line": 57,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "kind": "function",
      "name": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 59,
      "end_line": 98,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedReordersByResponseIndex",
      "kind": "function",
      "name": "TestOpenAIEmbedReordersByResponseIndex",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 104,
      "end_line": 118,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedEmptyInputMakesNoRequest",
      "kind": "function",
      "name": "TestOpenAIEmbedEmptyInputMakesNoRequest",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 120,
      "end_line": 133,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedRejectsWrongWidth",
      "kind": "function",
      "name": "TestOpenAIEmbedRejectsWrongWidth",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 135,
      "end_line": 152,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedRejectsShortBatch",
      "kind": "function",
      "name": "TestOpenAIEmbedRejectsShortBatch",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 154,
      "end_line": 165,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedRejectsRepeatedIndex",
      "kind": "function",
      "name": "TestOpenAIEmbedRejectsRepeatedIndex",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 167,
      "end_line": 181,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedRejectsOutOfRangeIndex",
      "kind": "function",
      "name": "TestOpenAIEmbedRejectsOutOfRangeIndex",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 183,
      "end_line": 194,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedClassifiesErrors",
      "kind": "function",
      "name": "TestOpenAIEmbedClassifiesErrors",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 198,
      "end_line": 265,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedTransportFailureIsRetryable",
      "kind": "function",
      "name": "TestOpenAIEmbedTransportFailureIsRetryable",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 267,
      "end_line": 282,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIEmbedderReportsDimensions",
      "kind": "function",
      "name": "TestOpenAIEmbedderReportsDimensions",
      "file": "internal/model/openai_embed_test.go",
      "start_line": 284,
      "end_line": 288,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "openaiTestServer",
      "kind": "function",
      "name": "openaiTestServer",
      "file": "internal/model/openai_test.go",
      "start_line": 14,
      "end_line": 31,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "sampleRequest",
      "kind": "function",
      "name": "sampleRequest",
      "file": "internal/model/openai_test.go",
      "start_line": 33,
      "end_line": 45,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAICompleteMapsResponse",
      "kind": "function",
      "name": "TestOpenAICompleteMapsResponse",
      "file": "internal/model/openai_test.go",
      "start_line": 47,
      "end_line": 89,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "TestOpenAIClassifiesErrors",
      "kind": "function",
      "name": "TestOpenAIClassifiesErrors",
      "file": "internal/model/openai_test.go",
      "start_line": 91,
      "end_line": 139,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Provider",
      "kind": "interface",
      "name": "Provider",
      "file": "internal/model/provider.go",
      "start_line": 19,
      "end_line": 21,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Provider::Complete",
      "kind": "method",
      "name": "Complete",
      "file": "internal/model/provider.go",
      "start_line": 20,
      "end_line": 20,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Message",
      "kind": "struct",
      "name": "Message",
      "file": "internal/model/provider.go",
      "start_line": 43,
      "end_line": 50,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ToolCall",
      "kind": "struct",
      "name": "ToolCall",
      "file": "internal/model/provider.go",
      "start_line": 54,
      "end_line": 58,
      "page": "mcp-client-registry-and-server-connection"
    },
    {
      "id": "ToolDef",
      "kind": "struct",
      "name": "ToolDef",
      "file": "internal/model/provider.go",
      "start_line": 62,
      "end_line": 66,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "Usage",
      "kind": "struct",
      "name": "Usage",
      "file": "internal/model/provider.go",
      "start_line": 69,
      "end_line": 72,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "CompletionRequest",
      "kind": "struct",
      "name": "CompletionRequest",
      "file": "internal/model/provider.go",
      "start_line": 75,
      "end_line": 81,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "CompletionResponse",
      "kind": "struct",
      "name": "CompletionResponse",
      "file": "internal/model/provider.go",
      "start_line": 84,
      "end_line": 89,
      "page": "model-providers-embeddings-and-error-kinds"
    },
    {
      "id": "ReportData",
      "kind": "struct",
      "name": "ReportData",
      "file": "internal/report/schema.go",
      "start_line": 13,
      "end_line": 23,
      "page": "incident-report-schema"
    },
    {
      "id": "IncidentMeta",
      "kind": "struct",
      "name": "IncidentMeta",
      "file": "internal/report/schema.go",
      "start_line": 26,
      "end_line": 32,
      "page": "incident-report-schema"
    },
    {
      "id": "Signal",
      "kind": "struct",
      "name": "Signal",
      "file": "internal/report/schema.go",
      "start_line": 35,
      "end_line": 39,
      "page": "incident-report-schema"
    },
    {
      "id": "Hypothesis",
      "kind": "struct",
      "name": "Hypothesis",
      "file": "internal/report/schema.go",
      "start_line": 42,
      "end_line": 47,
      "page": "incident-report-schema"
    },
    {
      "id": "AuditSummary",
      "kind": "struct",
      "name": "AuditSummary",
      "file": "internal/report/schema.go",
      "start_line": 50,
      "end_line": 62,
      "page": "incident-report-schema"
    },
    {
      "id": "TestAwaitingUserLeavesTheSessionOpen",
      "kind": "function",
      "name": "TestAwaitingUserLeavesTheSessionOpen",
      "file": "internal/session/awaiting_test.go",
      "start_line": 22,
      "end_line": 51,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestATerminalExitStillStampsEndedAt",
      "kind": "function",
      "name": "TestATerminalExitStillStampsEndedAt",
      "file": "internal/session/awaiting_test.go",
      "start_line": 56,
      "end_line": 95,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReportAuthorFailedStillCompletes",
      "kind": "function",
      "name": "TestReportAuthorFailedStillCompletes",
      "file": "internal/session/awaiting_test.go",
      "start_line": 101,
      "end_line": 130,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 20,
      "end_line": 30,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::AddSessionContextRefs",
      "kind": "method",
      "name": "AddSessionContextRefs",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 37,
      "end_line": 63,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::seedArtifact",
      "kind": "method",
      "name": "seedArtifact",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 65,
      "end_line": 77,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::sessionCount",
      "kind": "method",
      "name": "sessionCount",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 79,
      "end_line": 83,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "completingRunner",
      "kind": "function",
      "name": "completingRunner",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 85,
      "end_line": 94,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "kind": "function",
      "name": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 100,
      "end_line": 153,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "kind": "function",
      "name": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 158,
      "end_line": 202,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFailedRefInsertSettlesTheRowFailed",
      "kind": "function",
      "name": "TestAFailedRefInsertSettlesTheRowFailed",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 207,
      "end_line": 247,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "kind": "function",
      "name": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "file": "internal/session/contextrefs_test.go",
      "start_line": 252,
      "end_line": 288,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeDocs",
      "kind": "struct",
      "name": "fakeDocs",
      "file": "internal/session/docs_test.go",
      "start_line": 18,
      "end_line": 22,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeDocs::SessionClient",
      "kind": "method",
      "name": "SessionClient",
      "file": "internal/session/docs_test.go",
      "start_line": 24,
      "end_line": 34,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeDocs::state",
      "kind": "method",
      "name": "state",
      "file": "internal/session/docs_test.go",
      "start_line": 36,
      "end_line": 40,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "pinnedDocsClient",
      "kind": "struct",
      "name": "pinnedDocsClient",
      "file": "internal/session/docs_test.go",
      "start_line": 42,
      "end_line": 42,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "pinnedDocsClient::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/session/docs_test.go",
      "start_line": 44,
      "end_line": 46,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "pinnedDocsClient::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/session/docs_test.go",
      "start_line": 48,
      "end_line": 50,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "docsRun",
      "kind": "struct",
      "name": "docsRun",
      "file": "internal/session/docs_test.go",
      "start_line": 55,
      "end_line": 61,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "docsRun::run",
      "kind": "method",
      "name": "run",
      "file": "internal/session/docs_test.go",
      "start_line": 63,
      "end_line": 87,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "kind": "function",
      "name": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "file": "internal/session/docs_test.go",
      "start_line": 92,
      "end_line": 131,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPanickingRunStillReleasesItsDocsPin",
      "kind": "function",
      "name": "TestAPanickingRunStillReleasesItsDocsPin",
      "file": "internal/session/docs_test.go",
      "start_line": 133,
      "end_line": 147,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "kind": "function",
      "name": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "file": "internal/session/docs_test.go",
      "start_line": 152,
      "end_line": 169,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "kind": "function",
      "name": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "file": "internal/session/lifecycle_test.go",
      "start_line": 20,
      "end_line": 100,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestStopWithNothingRunningReturns",
      "kind": "function",
      "name": "TestStopWithNothingRunningReturns",
      "file": "internal/session/lifecycle_test.go",
      "start_line": 104,
      "end_line": 116,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestRunRequestCarriesTheTemplatePath",
      "kind": "function",
      "name": "TestRunRequestCarriesTheTemplatePath",
      "file": "internal/session/lifecycle_test.go",
      "start_line": 121,
      "end_line": 146,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store",
      "kind": "interface",
      "name": "Store",
      "file": "internal/session/manager.go",
      "start_line": 32,
      "end_line": 49,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Store::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/session/manager.go",
      "start_line": 33,
      "end_line": 33,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/session/manager.go",
      "start_line": 34,
      "end_line": 34,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/session/manager.go",
      "start_line": 35,
      "end_line": 35,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/session/manager.go",
      "start_line": 36,
      "end_line": 36,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/session/manager.go",
      "start_line": 37,
      "end_line": 37,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::CreateReport",
      "kind": "method",
      "name": "CreateReport",
      "file": "internal/session/manager.go",
      "start_line": 38,
      "end_line": 38,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::CreateArtifact",
      "kind": "method",
      "name": "CreateArtifact",
      "file": "internal/session/manager.go",
      "start_line": 39,
      "end_line": 39,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/session/manager.go",
      "start_line": 40,
      "end_line": 40,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::AddSessionContextRefs",
      "kind": "method",
      "name": "AddSessionContextRefs",
      "file": "internal/session/manager.go",
      "start_line": 41,
      "end_line": 41,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ReopenSession",
      "kind": "method",
      "name": "ReopenSession",
      "file": "internal/session/manager.go",
      "start_line": 44,
      "end_line": 44,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/session/manager.go",
      "start_line": 45,
      "end_line": 45,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/session/manager.go",
      "start_line": 46,
      "end_line": 46,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/session/manager.go",
      "start_line": 47,
      "end_line": 47,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Store::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/session/manager.go",
      "start_line": 48,
      "end_line": 48,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Runner",
      "kind": "interface",
      "name": "Runner",
      "file": "internal/session/manager.go",
      "start_line": 53,
      "end_line": 56,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "Runner::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/session/manager.go",
      "start_line": 54,
      "end_line": 54,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Runner::Resume",
      "kind": "method",
      "name": "Resume",
      "file": "internal/session/manager.go",
      "start_line": 55,
      "end_line": 55,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "isTerminalStatus",
      "kind": "function",
      "name": "isTerminalStatus",
      "file": "internal/session/manager.go",
      "start_line": 136,
      "end_line": 143,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager",
      "kind": "struct",
      "name": "Manager",
      "file": "internal/session/manager.go",
      "start_line": 148,
      "end_line": 201,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "Config",
      "kind": "struct",
      "name": "Config",
      "file": "internal/session/manager.go",
      "start_line": 204,
      "end_line": 252,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "NewManager",
      "kind": "function",
      "name": "NewManager",
      "file": "internal/session/manager.go",
      "start_line": 258,
      "end_line": 288,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "CreateRequest",
      "kind": "struct",
      "name": "CreateRequest",
      "file": "internal/session/manager.go",
      "start_line": 296,
      "end_line": 322,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "ContextRef",
      "kind": "struct",
      "name": "ContextRef",
      "file": "internal/session/manager.go",
      "start_line": 325,
      "end_line": 332,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "Manager::Create",
      "kind": "method",
      "name": "Create",
      "file": "internal/session/manager.go",
      "start_line": 342,
      "end_line": 430,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::launch",
      "kind": "method",
      "name": "launch",
      "file": "internal/session/manager.go",
      "start_line": 436,
      "end_line": 489,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::inferKind",
      "kind": "method",
      "name": "inferKind",
      "file": "internal/session/manager.go",
      "start_line": 492,
      "end_line": 501,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::resolveContextRefs",
      "kind": "method",
      "name": "resolveContextRefs",
      "file": "internal/session/manager.go",
      "start_line": 510,
      "end_line": 553,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "contextRefDescriptions",
      "kind": "variable",
      "name": "contextRefDescriptions",
      "file": "internal/session/manager.go",
      "start_line": 558,
      "end_line": 562,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "roleForKind",
      "kind": "function",
      "name": "roleForKind",
      "file": "internal/session/manager.go",
      "start_line": 564,
      "end_line": 573,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::run",
      "kind": "method",
      "name": "run",
      "file": "internal/session/manager.go",
      "start_line": 583,
      "end_line": 600,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::land",
      "kind": "method",
      "name": "land",
      "file": "internal/session/manager.go",
      "start_line": 604,
      "end_line": 685,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "adoptsStaleReport",
      "kind": "function",
      "name": "adoptsStaleReport",
      "file": "internal/session/manager.go",
      "start_line": 697,
      "end_line": 703,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "statusFor",
      "kind": "function",
      "name": "statusFor",
      "file": "internal/session/manager.go",
      "start_line": 718,
      "end_line": 729,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::persistReport",
      "kind": "method",
      "name": "persistReport",
      "file": "internal/session/manager.go",
      "start_line": 733,
      "end_line": 748,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::settle",
      "kind": "method",
      "name": "settle",
      "file": "internal/session/manager.go",
      "start_line": 771,
      "end_line": 806,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/session/manager.go",
      "start_line": 809,
      "end_line": 815,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::List",
      "kind": "method",
      "name": "List",
      "file": "internal/session/manager.go",
      "start_line": 818,
      "end_line": 824,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::Cancel",
      "kind": "method",
      "name": "Cancel",
      "file": "internal/session/manager.go",
      "start_line": 839,
      "end_line": 860,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::Wait",
      "kind": "method",
      "name": "Wait",
      "file": "internal/session/manager.go",
      "start_line": 865,
      "end_line": 867,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::Stop",
      "kind": "method",
      "name": "Stop",
      "file": "internal/session/manager.go",
      "start_line": 880,
      "end_line": 892,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::AwaitSettled",
      "kind": "method",
      "name": "AwaitSettled",
      "file": "internal/session/manager.go",
      "start_line": 905,
      "end_line": 916,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::trackSettle",
      "kind": "method",
      "name": "trackSettle",
      "file": "internal/session/manager.go",
      "start_line": 918,
      "end_line": 924,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::markSettled",
      "kind": "method",
      "name": "markSettled",
      "file": "internal/session/manager.go",
      "start_line": 926,
      "end_line": 931,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore",
      "kind": "struct",
      "name": "fakeStore",
      "file": "internal/session/manager_test.go",
      "start_line": 22,
      "end_line": 45,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "newFakeStore",
      "kind": "function",
      "name": "newFakeStore",
      "file": "internal/session/manager_test.go",
      "start_line": 47,
      "end_line": 53,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/session/manager_test.go",
      "start_line": 55,
      "end_line": 74,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/session/manager_test.go",
      "start_line": 76,
      "end_line": 88,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/session/manager_test.go",
      "start_line": 90,
      "end_line": 103,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/session/manager_test.go",
      "start_line": 114,
      "end_line": 143,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/session/manager_test.go",
      "start_line": 145,
      "end_line": 154,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::CreateReport",
      "kind": "method",
      "name": "CreateReport",
      "file": "internal/session/manager_test.go",
      "start_line": 160,
      "end_line": 184,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::CreateArtifact",
      "kind": "method",
      "name": "CreateArtifact",
      "file": "internal/session/manager_test.go",
      "start_line": 192,
      "end_line": 217,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::sessionArtifacts",
      "kind": "method",
      "name": "sessionArtifacts",
      "file": "internal/session/manager_test.go",
      "start_line": 219,
      "end_line": 229,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::seedIncident",
      "kind": "method",
      "name": "seedIncident",
      "file": "internal/session/manager_test.go",
      "start_line": 231,
      "end_line": 244,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::session",
      "kind": "method",
      "name": "session",
      "file": "internal/session/manager_test.go",
      "start_line": 246,
      "end_line": 255,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::report",
      "kind": "method",
      "name": "report",
      "file": "internal/session/manager_test.go",
      "start_line": 257,
      "end_line": 262,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::updateCount",
      "kind": "method",
      "name": "updateCount",
      "file": "internal/session/manager_test.go",
      "start_line": 264,
      "end_line": 268,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeRunner",
      "kind": "struct",
      "name": "fakeRunner",
      "file": "internal/session/manager_test.go",
      "start_line": 273,
      "end_line": 280,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeRunner::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/session/manager_test.go",
      "start_line": 282,
      "end_line": 287,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeRunner::Resume",
      "kind": "method",
      "name": "Resume",
      "file": "internal/session/manager_test.go",
      "start_line": 289,
      "end_line": 297,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeRunner::lastRequest",
      "kind": "method",
      "name": "lastRequest",
      "file": "internal/session/manager_test.go",
      "start_line": 299,
      "end_line": 307,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "reportFor",
      "kind": "function",
      "name": "reportFor",
      "file": "internal/session/manager_test.go",
      "start_line": 313,
      "end_line": 324,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "newManager",
      "kind": "function",
      "name": "newManager",
      "file": "internal/session/manager_test.go",
      "start_line": 326,
      "end_line": 334,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCreateReturnsBeforeTheRunFinishes",
      "kind": "function",
      "name": "TestCreateReturnsBeforeTheRunFinishes",
      "file": "internal/session/manager_test.go",
      "start_line": 340,
      "end_line": 388,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "kind": "function",
      "name": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "file": "internal/session/manager_test.go",
      "start_line": 396,
      "end_line": 447,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReportIsPersistedBeforeTheTerminalStatus",
      "kind": "function",
      "name": "TestReportIsPersistedBeforeTheTerminalStatus",
      "file": "internal/session/manager_test.go",
      "start_line": 453,
      "end_line": 486,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestDegradedRunStillCompletes",
      "kind": "function",
      "name": "TestDegradedRunStillCompletes",
      "file": "internal/session/manager_test.go",
      "start_line": 491,
      "end_line": 538,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestRunContextOutlivesTheCreateCall",
      "kind": "function",
      "name": "TestRunContextOutlivesTheCreateCall",
      "file": "internal/session/manager_test.go",
      "start_line": 544,
      "end_line": 578,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelOnAnEndedSessionIsRefused",
      "kind": "function",
      "name": "TestCancelOnAnEndedSessionIsRefused",
      "file": "internal/session/manager_test.go",
      "start_line": 582,
      "end_line": 604,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "kind": "function",
      "name": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "file": "internal/session/manager_test.go",
      "start_line": 616,
      "end_line": 674,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCreateRefusesAClosedIncident",
      "kind": "function",
      "name": "TestCreateRefusesAClosedIncident",
      "file": "internal/session/manager_test.go",
      "start_line": 678,
      "end_line": 698,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCreateRequiresAPrompt",
      "kind": "function",
      "name": "TestCreateRequiresAPrompt",
      "file": "internal/session/manager_test.go",
      "start_line": 701,
      "end_line": 715,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestKindIsInferredFromExistingSessions",
      "kind": "function",
      "name": "TestKindIsInferredFromExistingSessions",
      "file": "internal/session/manager_test.go",
      "start_line": 719,
      "end_line": 753,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "kind": "function",
      "name": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "file": "internal/session/manager_test.go",
      "start_line": 758,
      "end_line": 811,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAuditCountersLandOnTheRow",
      "kind": "function",
      "name": "TestAuditCountersLandOnTheRow",
      "file": "internal/session/manager_test.go",
      "start_line": 815,
      "end_line": 846,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestNilSessionFromTheRunnerFailsTheRow",
      "kind": "function",
      "name": "TestNilSessionFromTheRunnerFailsTheRow",
      "file": "internal/session/manager_test.go",
      "start_line": 850,
      "end_line": 874,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestTerminalWriteSurvivesAReportFailure",
      "kind": "function",
      "name": "TestTerminalWriteSurvivesAReportFailure",
      "file": "internal/session/manager_test.go",
      "start_line": 881,
      "end_line": 914,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAReportFailureDoesNotMaskAFailedRun",
      "kind": "function",
      "name": "TestAReportFailureDoesNotMaskAFailedRun",
      "file": "internal/session/manager_test.go",
      "start_line": 921,
      "end_line": 949,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestGetAndListReadThroughToTheStore",
      "kind": "function",
      "name": "TestGetAndListReadThroughToTheStore",
      "file": "internal/session/manager_test.go",
      "start_line": 953,
      "end_line": 1002,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestNewManagerRejectsMissingDependencies",
      "kind": "function",
      "name": "TestNewManagerRejectsMissingDependencies",
      "file": "internal/session/manager_test.go",
      "start_line": 1004,
      "end_line": 1025,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPanicOnTheRunGoroutineIsContained",
      "kind": "function",
      "name": "TestAPanicOnTheRunGoroutineIsContained",
      "file": "internal/session/manager_test.go",
      "start_line": 1039,
      "end_line": 1069,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPanicDoesNotStrandBystanderSessions",
      "kind": "function",
      "name": "TestAPanicDoesNotStrandBystanderSessions",
      "file": "internal/session/manager_test.go",
      "start_line": 1084,
      "end_line": 1140,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "panicStore",
      "kind": "struct",
      "name": "panicStore",
      "file": "internal/session/manager_test.go",
      "start_line": 1149,
      "end_line": 1163,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "panicStore::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/session/manager_test.go",
      "start_line": 1165,
      "end_line": 1177,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "panicStore::panicCount",
      "kind": "method",
      "name": "panicCount",
      "file": "internal/session/manager_test.go",
      "start_line": 1179,
      "end_line": 1183,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "everyUpdate",
      "kind": "function",
      "name": "everyUpdate",
      "file": "internal/session/manager_test.go",
      "start_line": 1186,
      "end_line": 1186,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "onlyPrompt",
      "kind": "function",
      "name": "onlyPrompt",
      "file": "internal/session/manager_test.go",
      "start_line": 1187,
      "end_line": 1189,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "waitOrFail",
      "kind": "function",
      "name": "waitOrFail",
      "file": "internal/session/manager_test.go",
      "start_line": 1193,
      "end_line": 1202,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "kind": "function",
      "name": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "file": "internal/session/manager_test.go",
      "start_line": 1215,
      "end_line": 1250,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "kind": "function",
      "name": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "file": "internal/session/manager_test.go",
      "start_line": 1255,
      "end_line": 1280,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "kind": "function",
      "name": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "file": "internal/session/manager_test.go",
      "start_line": 1286,
      "end_line": 1357,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "BlobStore",
      "kind": "interface",
      "name": "BlobStore",
      "file": "internal/session/persist.go",
      "start_line": 75,
      "end_line": 78,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "BlobStore::Put",
      "kind": "method",
      "name": "Put",
      "file": "internal/session/persist.go",
      "start_line": 76,
      "end_line": 76,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "BlobStore::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/session/persist.go",
      "start_line": 77,
      "end_line": 77,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "harvestResult",
      "kind": "struct",
      "name": "harvestResult",
      "file": "internal/session/persist.go",
      "start_line": 89,
      "end_line": 97,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::persistArtifacts",
      "kind": "method",
      "name": "persistArtifacts",
      "file": "internal/session/persist.go",
      "start_line": 111,
      "end_line": 181,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::storeFile",
      "kind": "method",
      "name": "storeFile",
      "file": "internal/session/persist.go",
      "start_line": 189,
      "end_line": 229,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "walkSummary",
      "kind": "struct",
      "name": "walkSummary",
      "file": "internal/session/persist.go",
      "start_line": 233,
      "end_line": 236,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "harvestCandidates",
      "kind": "function",
      "name": "harvestCandidates",
      "file": "internal/session/persist.go",
      "start_line": 247,
      "end_line": 303,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "capCandidates",
      "kind": "function",
      "name": "capCandidates",
      "file": "internal/session/persist.go",
      "start_line": 311,
      "end_line": 332,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "skipPrefixes",
      "kind": "function",
      "name": "skipPrefixes",
      "file": "internal/session/persist.go",
      "start_line": 342,
      "end_line": 352,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "checkoutPrefix",
      "kind": "function",
      "name": "checkoutPrefix",
      "file": "internal/session/persist.go",
      "start_line": 358,
      "end_line": 371,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "contentTypeFor",
      "kind": "function",
      "name": "contentTypeFor",
      "file": "internal/session/persist.go",
      "start_line": 381,
      "end_line": 398,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "causeThen",
      "kind": "function",
      "name": "causeThen",
      "file": "internal/session/persist.go",
      "start_line": 404,
      "end_line": 413,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "sha256Hex",
      "kind": "function",
      "name": "sha256Hex",
      "file": "internal/session/persist.go",
      "start_line": 415,
      "end_line": 418,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "logHarvest",
      "kind": "function",
      "name": "logHarvest",
      "file": "internal/session/persist.go",
      "start_line": 422,
      "end_line": 429,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeBlobs",
      "kind": "struct",
      "name": "fakeBlobs",
      "file": "internal/session/persist_test.go",
      "start_line": 35,
      "end_line": 42,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "newFakeBlobs",
      "kind": "function",
      "name": "newFakeBlobs",
      "file": "internal/session/persist_test.go",
      "start_line": 44,
      "end_line": 46,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeBlobs::Put",
      "kind": "method",
      "name": "Put",
      "file": "internal/session/persist_test.go",
      "start_line": 48,
      "end_line": 72,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeBlobs::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/session/persist_test.go",
      "start_line": 74,
      "end_line": 83,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeBlobs::get",
      "kind": "method",
      "name": "get",
      "file": "internal/session/persist_test.go",
      "start_line": 85,
      "end_line": 90,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeBlobs::keys",
      "kind": "method",
      "name": "keys",
      "file": "internal/session/persist_test.go",
      "start_line": 92,
      "end_line": 98,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "newManagerWithBlobs",
      "kind": "function",
      "name": "newManagerWithBlobs",
      "file": "internal/session/persist_test.go",
      "start_line": 103,
      "end_line": 115,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "scratchWith",
      "kind": "function",
      "name": "scratchWith",
      "file": "internal/session/persist_test.go",
      "start_line": 119,
      "end_line": 132,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "completedRun",
      "kind": "function",
      "name": "completedRun",
      "file": "internal/session/persist_test.go",
      "start_line": 137,
      "end_line": 151,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "runSession",
      "kind": "function",
      "name": "runSession",
      "file": "internal/session/persist_test.go",
      "start_line": 155,
      "end_line": 167,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "kind": "function",
      "name": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "file": "internal/session/persist_test.go",
      "start_line": 173,
      "end_line": 238,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "kind": "function",
      "name": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "file": "internal/session/persist_test.go",
      "start_line": 243,
      "end_line": 288,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "kind": "function",
      "name": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "file": "internal/session/persist_test.go",
      "start_line": 295,
      "end_line": 320,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestTheCheckoutDirectoryIsNotHarvested",
      "kind": "function",
      "name": "TestTheCheckoutDirectoryIsNotHarvested",
      "file": "internal/session/persist_test.go",
      "start_line": 325,
      "end_line": 353,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "kind": "function",
      "name": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "file": "internal/session/persist_test.go",
      "start_line": 359,
      "end_line": 382,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnEmptyDocumentIsNotStored",
      "kind": "function",
      "name": "TestAnEmptyDocumentIsNotStored",
      "file": "internal/session/persist_test.go",
      "start_line": 387,
      "end_line": 401,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "kind": "function",
      "name": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "file": "internal/session/persist_test.go",
      "start_line": 407,
      "end_line": 432,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "kind": "function",
      "name": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "file": "internal/session/persist_test.go",
      "start_line": 439,
      "end_line": 489,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFailedArtifactRowStillLandsTheReport",
      "kind": "function",
      "name": "TestAFailedArtifactRowStillLandsTheReport",
      "file": "internal/session/persist_test.go",
      "start_line": 494,
      "end_line": 513,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "kind": "function",
      "name": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "file": "internal/session/persist_test.go",
      "start_line": 519,
      "end_line": 532,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "kind": "function",
      "name": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "file": "internal/session/persist_test.go",
      "start_line": 537,
      "end_line": 554,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "kind": "function",
      "name": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "file": "internal/session/persist_test.go",
      "start_line": 558,
      "end_line": 572,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "kind": "function",
      "name": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "file": "internal/session/persist_test.go",
      "start_line": 577,
      "end_line": 598,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestTheReportSurvivesTheFileCountCeiling",
      "kind": "function",
      "name": "TestTheReportSurvivesTheFileCountCeiling",
      "file": "internal/session/persist_test.go",
      "start_line": 603,
      "end_line": 626,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestACancelledSessionStillHarvestsItsWorkspace",
      "kind": "function",
      "name": "TestACancelledSessionStillHarvestsItsWorkspace",
      "file": "internal/session/persist_test.go",
      "start_line": 632,
      "end_line": 697,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestARealBackendSatisfiesTheManagersBlobStore",
      "kind": "function",
      "name": "TestARealBackendSatisfiesTheManagersBlobStore",
      "file": "internal/session/persist_test.go",
      "start_line": 707,
      "end_line": 749,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "ErrAlreadyLive",
      "kind": "variable",
      "name": "ErrAlreadyLive",
      "file": "internal/session/registry.go",
      "start_line": 13,
      "end_line": 13,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "liveSession",
      "kind": "struct",
      "name": "liveSession",
      "file": "internal/session/registry.go",
      "start_line": 18,
      "end_line": 21,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry",
      "kind": "struct",
      "name": "IncidentRegistry",
      "file": "internal/session/registry.go",
      "start_line": 41,
      "end_line": 44,
      "page": "session-manager-and-lifecycle"
    },
    {
      "id": "NewIncidentRegistry",
      "kind": "function",
      "name": "NewIncidentRegistry",
      "file": "internal/session/registry.go",
      "start_line": 47,
      "end_line": 49,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::Register",
      "kind": "method",
      "name": "Register",
      "file": "internal/session/registry.go",
      "start_line": 57,
      "end_line": 65,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::Unregister",
      "kind": "method",
      "name": "Unregister",
      "file": "internal/session/registry.go",
      "start_line": 71,
      "end_line": 75,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::Cancel",
      "kind": "method",
      "name": "Cancel",
      "file": "internal/session/registry.go",
      "start_line": 81,
      "end_line": 93,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::Live",
      "kind": "method",
      "name": "Live",
      "file": "internal/session/registry.go",
      "start_line": 97,
      "end_line": 107,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::Count",
      "kind": "method",
      "name": "Count",
      "file": "internal/session/registry.go",
      "start_line": 110,
      "end_line": 114,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "IncidentRegistry::CancelAll",
      "kind": "method",
      "name": "CancelAll",
      "file": "internal/session/registry.go",
      "start_line": 120,
      "end_line": 131,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "kind": "function",
      "name": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "file": "internal/session/registry_test.go",
      "start_line": 12,
      "end_line": 35,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestUnregisterIsIdempotent",
      "kind": "function",
      "name": "TestUnregisterIsIdempotent",
      "file": "internal/session/registry_test.go",
      "start_line": 37,
      "end_line": 52,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "kind": "function",
      "name": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "file": "internal/session/registry_test.go",
      "start_line": 58,
      "end_line": 77,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestLiveIsScopedToOneIncident",
      "kind": "function",
      "name": "TestLiveIsScopedToOneIncident",
      "file": "internal/session/registry_test.go",
      "start_line": 79,
      "end_line": 106,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestConcurrentRegisterOfOneIDYieldsExactlyOneWinner",
      "kind": "function",
      "name": "TestConcurrentRegisterOfOneIDYieldsExactlyOneWinner",
      "file": "internal/session/registry_test.go",
      "start_line": 116,
      "end_line": 173,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelAgainstUnregisterBothOrderings",
      "kind": "function",
      "name": "TestCancelAgainstUnregisterBothOrderings",
      "file": "internal/session/registry_test.go",
      "start_line": 187,
      "end_line": 224,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestConcurrentCancelAgainstUnregisterIsSafe",
      "kind": "function",
      "name": "TestConcurrentCancelAgainstUnregisterIsSafe",
      "file": "internal/session/registry_test.go",
      "start_line": 235,
      "end_line": 274,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "StreamReopener",
      "kind": "interface",
      "name": "StreamReopener",
      "file": "internal/session/reopen.go",
      "start_line": 17,
      "end_line": 19,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "StreamReopener::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/session/reopen.go",
      "start_line": 18,
      "end_line": 18,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/session/reopen.go",
      "start_line": 37,
      "end_line": 96,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "reopenPlan",
      "kind": "struct",
      "name": "reopenPlan",
      "file": "internal/session/reopen.go",
      "start_line": 103,
      "end_line": 109,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::planReopen",
      "kind": "method",
      "name": "planReopen",
      "file": "internal/session/reopen.go",
      "start_line": 111,
      "end_line": 137,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::storedContext",
      "kind": "method",
      "name": "storedContext",
      "file": "internal/session/reopen.go",
      "start_line": 142,
      "end_line": 156,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::resume",
      "kind": "method",
      "name": "resume",
      "file": "internal/session/reopen.go",
      "start_line": 161,
      "end_line": 179,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ReopenSession",
      "kind": "method",
      "name": "ReopenSession",
      "file": "internal/session/reopen_test.go",
      "start_line": 24,
      "end_line": 50,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/session/reopen_test.go",
      "start_line": 52,
      "end_line": 63,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/session/reopen_test.go",
      "start_line": 68,
      "end_line": 90,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/session/reopen_test.go",
      "start_line": 92,
      "end_line": 102,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/session/reopen_test.go",
      "start_line": 104,
      "end_line": 106,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::logTurn",
      "kind": "method",
      "name": "logTurn",
      "file": "internal/session/reopen_test.go",
      "start_line": 109,
      "end_line": 114,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeStore::sessionRevisions",
      "kind": "method",
      "name": "sessionRevisions",
      "file": "internal/session/reopen_test.go",
      "start_line": 116,
      "end_line": 123,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "resumingRunner",
      "kind": "function",
      "name": "resumingRunner",
      "file": "internal/session/reopen_test.go",
      "start_line": 127,
      "end_line": 136,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "createAndSettle",
      "kind": "function",
      "name": "createAndSettle",
      "file": "internal/session/reopen_test.go",
      "start_line": 138,
      "end_line": 148,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReopenLandsTheNextRevision",
      "kind": "function",
      "name": "TestReopenLandsTheNextRevision",
      "file": "internal/session/reopen_test.go",
      "start_line": 154,
      "end_line": 184,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestThreeIterationsLandThreeRevisions",
      "kind": "function",
      "name": "TestThreeIterationsLandThreeRevisions",
      "file": "internal/session/reopen_test.go",
      "start_line": 188,
      "end_line": 203,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReopenSurvivesARestart",
      "kind": "function",
      "name": "TestReopenSurvivesARestart",
      "file": "internal/session/reopen_test.go",
      "start_line": 207,
      "end_line": 225,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReopenRefusesAndSavesNothing",
      "kind": "function",
      "name": "TestReopenRefusesAndSavesNothing",
      "file": "internal/session/reopen_test.go",
      "start_line": 230,
      "end_line": 268,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestConcurrentReopensHaveOneWinner",
      "kind": "function",
      "name": "TestConcurrentReopensHaveOneWinner",
      "file": "internal/session/reopen_test.go",
      "start_line": 273,
      "end_line": 318,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCancelDuringAReopenStillLandsARevision",
      "kind": "function",
      "name": "TestCancelDuringAReopenStillLandsARevision",
      "file": "internal/session/reopen_test.go",
      "start_line": 323,
      "end_line": 354,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "recordingStreams",
      "kind": "struct",
      "name": "recordingStreams",
      "file": "internal/session/reopen_test.go",
      "start_line": 356,
      "end_line": 359,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "recordingStreams::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/session/reopen_test.go",
      "start_line": 361,
      "end_line": 365,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReopenLiftsTheStreamLatchBeforeReturning",
      "kind": "function",
      "name": "TestReopenLiftsTheStreamLatchBeforeReturning",
      "file": "internal/session/reopen_test.go",
      "start_line": 369,
      "end_line": 398,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAReopenedSessionRevisesItsOwnFiles",
      "kind": "function",
      "name": "TestAReopenedSessionRevisesItsOwnFiles",
      "file": "internal/session/reopen_test.go",
      "start_line": 404,
      "end_line": 470,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnUnchangedReportKeepsPointingAtItsBytes",
      "kind": "function",
      "name": "TestAnUnchangedReportKeepsPointingAtItsBytes",
      "file": "internal/session/reopen_test.go",
      "start_line": 475,
      "end_line": 500,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestADegradedReopenDoesNotAdoptTheEarlierReport",
      "kind": "function",
      "name": "TestADegradedReopenDoesNotAdoptTheEarlierReport",
      "file": "internal/session/reopen_test.go",
      "start_line": 508,
      "end_line": 603,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAReopenedSessionGetsItsContextBackInManifestOrder",
      "kind": "function",
      "name": "TestAReopenedSessionGetsItsContextBackInManifestOrder",
      "file": "internal/session/reopen_test.go",
      "start_line": 609,
      "end_line": 652,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Seeder",
      "kind": "interface",
      "name": "Seeder",
      "file": "internal/session/scratch.go",
      "start_line": 43,
      "end_line": 45,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Seeder::Materialize",
      "kind": "method",
      "name": "Materialize",
      "file": "internal/session/scratch.go",
      "start_line": 44,
      "end_line": 44,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "DocsSearch",
      "kind": "interface",
      "name": "DocsSearch",
      "file": "internal/session/scratch.go",
      "start_line": 50,
      "end_line": 52,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "DocsSearch::SessionClient",
      "kind": "method",
      "name": "SessionClient",
      "file": "internal/session/scratch.go",
      "start_line": 51,
      "end_line": 51,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "scratch",
      "kind": "struct",
      "name": "scratch",
      "file": "internal/session/scratch.go",
      "start_line": 59,
      "end_line": 75,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::prepareScratch",
      "kind": "method",
      "name": "prepareScratch",
      "file": "internal/session/scratch.go",
      "start_line": 83,
      "end_line": 101,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::sessionTools",
      "kind": "method",
      "name": "sessionTools",
      "file": "internal/session/scratch.go",
      "start_line": 110,
      "end_line": 139,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "createScratch",
      "kind": "function",
      "name": "createScratch",
      "file": "internal/session/scratch.go",
      "start_line": 144,
      "end_line": 153,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::seedScratch",
      "kind": "method",
      "name": "seedScratch",
      "file": "internal/session/scratch.go",
      "start_line": 155,
      "end_line": 175,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::skillsFor",
      "kind": "method",
      "name": "skillsFor",
      "file": "internal/session/scratch.go",
      "start_line": 191,
      "end_line": 207,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::materializeContext",
      "kind": "method",
      "name": "materializeContext",
      "file": "internal/session/scratch.go",
      "start_line": 215,
      "end_line": 248,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::writeInherited",
      "kind": "method",
      "name": "writeInherited",
      "file": "internal/session/scratch.go",
      "start_line": 250,
      "end_line": 252,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::writeBlobFile",
      "kind": "method",
      "name": "writeBlobFile",
      "file": "internal/session/scratch.go",
      "start_line": 255,
      "end_line": 275,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::restoreOwn",
      "kind": "method",
      "name": "restoreOwn",
      "file": "internal/session/scratch.go",
      "start_line": 287,
      "end_line": 324,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "latestOwnArtifacts",
      "kind": "function",
      "name": "latestOwnArtifacts",
      "file": "internal/session/scratch.go",
      "start_line": 328,
      "end_line": 340,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::writeOwn",
      "kind": "method",
      "name": "writeOwn",
      "file": "internal/session/scratch.go",
      "start_line": 342,
      "end_line": 344,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::releaseScratch",
      "kind": "method",
      "name": "releaseScratch",
      "file": "internal/session/scratch.go",
      "start_line": 349,
      "end_line": 364,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Manager::archiveScratch",
      "kind": "method",
      "name": "archiveScratch",
      "file": "internal/session/scratch.go",
      "start_line": 369,
      "end_line": 412,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "writeArchive",
      "kind": "function",
      "name": "writeArchive",
      "file": "internal/session/scratch.go",
      "start_line": 421,
      "end_line": 464,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "countingWriter",
      "kind": "struct",
      "name": "countingWriter",
      "file": "internal/session/scratch.go",
      "start_line": 466,
      "end_line": 469,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "countingWriter::Write",
      "kind": "method",
      "name": "Write",
      "file": "internal/session/scratch.go",
      "start_line": 471,
      "end_line": 475,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "hexSum",
      "kind": "function",
      "name": "hexSum",
      "file": "internal/session/scratch.go",
      "start_line": 477,
      "end_line": 477,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "ReapScratch",
      "kind": "function",
      "name": "ReapScratch",
      "file": "internal/session/scratch.go",
      "start_line": 488,
      "end_line": 513,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeSeeder",
      "kind": "struct",
      "name": "fakeSeeder",
      "file": "internal/session/scratch_test.go",
      "start_line": 31,
      "end_line": 37,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "fakeSeeder::Materialize",
      "kind": "method",
      "name": "Materialize",
      "file": "internal/session/scratch_test.go",
      "start_line": 39,
      "end_line": 56,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "workspaceRun",
      "kind": "struct",
      "name": "workspaceRun",
      "file": "internal/session/scratch_test.go",
      "start_line": 61,
      "end_line": 75,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "workspaceRun::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/session/scratch_test.go",
      "start_line": 77,
      "end_line": 93,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "workspaceRun::Resume",
      "kind": "method",
      "name": "Resume",
      "file": "internal/session/scratch_test.go",
      "start_line": 95,
      "end_line": 118,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "workspaceRun::writeAll",
      "kind": "method",
      "name": "writeAll",
      "file": "internal/session/scratch_test.go",
      "start_line": 120,
      "end_line": 134,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "snapshot",
      "kind": "function",
      "name": "snapshot",
      "file": "internal/session/scratch_test.go",
      "start_line": 137,
      "end_line": 151,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "scratchManager",
      "kind": "function",
      "name": "scratchManager",
      "file": "internal/session/scratch_test.go",
      "start_line": 153,
      "end_line": 161,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "createPinned",
      "kind": "function",
      "name": "createPinned",
      "file": "internal/session/scratch_test.go",
      "start_line": 163,
      "end_line": 176,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "assertGone",
      "kind": "function",
      "name": "assertGone",
      "file": "internal/session/scratch_test.go",
      "start_line": 178,
      "end_line": 183,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestASessionRunsInASeededScratchDirectoryThatIsHarvestedThenRemoved",
      "kind": "function",
      "name": "TestASessionRunsInASeededScratchDirectoryThatIsHarvestedThenRemoved",
      "file": "internal/session/scratch_test.go",
      "start_line": 190,
      "end_line": 229,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFollowUpSessionSeesItsIncidentsFilesAndNothingElse",
      "kind": "function",
      "name": "TestAFollowUpSessionSeesItsIncidentsFilesAndNothingElse",
      "file": "internal/session/scratch_test.go",
      "start_line": 236,
      "end_line": 268,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestTheDebugArchiveRoundTripsTheWholeWorkspace",
      "kind": "function",
      "name": "TestTheDebugArchiveRoundTripsTheWholeWorkspace",
      "file": "internal/session/scratch_test.go",
      "start_line": 272,
      "end_line": 321,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "untar",
      "kind": "function",
      "name": "untar",
      "file": "internal/session/scratch_test.go",
      "start_line": 323,
      "end_line": 348,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestReapScratchRemovesOnlySessionDirectories",
      "kind": "function",
      "name": "TestReapScratchRemovesOnlySessionDirectories",
      "file": "internal/session/scratch_test.go",
      "start_line": 352,
      "end_line": 393,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestWithoutAScratchRootTheRunGetsNoWorkspace",
      "kind": "function",
      "name": "TestWithoutAScratchRootTheRunGetsNoWorkspace",
      "file": "internal/session/scratch_test.go",
      "start_line": 395,
      "end_line": 406,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestACallerSuppliedWorkspaceIsUsedAndKept",
      "kind": "function",
      "name": "TestACallerSuppliedWorkspaceIsUsedAndKept",
      "file": "internal/session/scratch_test.go",
      "start_line": 410,
      "end_line": 425,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAFailedSeedStillRunsAndCleansUp",
      "kind": "function",
      "name": "TestAFailedSeedStillRunsAndCleansUp",
      "file": "internal/session/scratch_test.go",
      "start_line": 429,
      "end_line": 447,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPanickingRunStillRemovesItsWorkspace",
      "kind": "function",
      "name": "TestAPanickingRunStillRemovesItsWorkspace",
      "file": "internal/session/scratch_test.go",
      "start_line": 451,
      "end_line": 470,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "gatedStore",
      "kind": "struct",
      "name": "gatedStore",
      "file": "internal/session/settle_test.go",
      "start_line": 18,
      "end_line": 23,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "newGatedStore",
      "kind": "function",
      "name": "newGatedStore",
      "file": "internal/session/settle_test.go",
      "start_line": 25,
      "end_line": 31,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "gatedStore::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/session/settle_test.go",
      "start_line": 33,
      "end_line": 37,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAwaitSettledReturnsOnlyAfterTheTerminalWrite",
      "kind": "function",
      "name": "TestAwaitSettledReturnsOnlyAfterTheTerminalWrite",
      "file": "internal/session/settle_test.go",
      "start_line": 45,
      "end_line": 86,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAwaitSettledIsReleasedWhenTheRunPanics",
      "kind": "function",
      "name": "TestAwaitSettledIsReleasedWhenTheRunPanics",
      "file": "internal/session/settle_test.go",
      "start_line": 91,
      "end_line": 131,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAwaitSettledDoesNotWaitForASessionThisProcessIsNotRunning",
      "kind": "function",
      "name": "TestAwaitSettledDoesNotWaitForASessionThisProcessIsNotRunning",
      "file": "internal/session/settle_test.go",
      "start_line": 136,
      "end_line": 149,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAwaitSettledHonoursItsContext",
      "kind": "function",
      "name": "TestAwaitSettledHonoursItsContext",
      "file": "internal/session/settle_test.go",
      "start_line": 153,
      "end_line": 177,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestCreateIsRefusedOnceStopHasBegun",
      "kind": "function",
      "name": "TestCreateIsRefusedOnceStopHasBegun",
      "file": "internal/session/shutdown_test.go",
      "start_line": 24,
      "end_line": 68,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestStopCancelsOnceHoweverOftenItIsCalled",
      "kind": "function",
      "name": "TestStopCancelsOnceHoweverOftenItIsCalled",
      "file": "internal/session/shutdown_test.go",
      "start_line": 75,
      "end_line": 122,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "safeBuffer",
      "kind": "struct",
      "name": "safeBuffer",
      "file": "internal/session/shutdown_test.go",
      "start_line": 124,
      "end_line": 127,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "safeBuffer::Write",
      "kind": "method",
      "name": "Write",
      "file": "internal/session/shutdown_test.go",
      "start_line": 129,
      "end_line": 133,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "safeBuffer::String",
      "kind": "method",
      "name": "String",
      "file": "internal/session/shutdown_test.go",
      "start_line": 135,
      "end_line": 139,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "incGateStore",
      "kind": "struct",
      "name": "incGateStore",
      "file": "internal/session/shutdown_test.go",
      "start_line": 143,
      "end_line": 148,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "incGateStore::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/session/shutdown_test.go",
      "start_line": 150,
      "end_line": 154,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestACreateInFlightWhenStopBeginsIsCancelled",
      "kind": "function",
      "name": "TestACreateInFlightWhenStopBeginsIsCancelled",
      "file": "internal/session/shutdown_test.go",
      "start_line": 167,
      "end_line": 221,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "commitSeeder",
      "kind": "struct",
      "name": "commitSeeder",
      "file": "internal/session/skills_test.go",
      "start_line": 25,
      "end_line": 28,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "commitSeeder::Materialize",
      "kind": "method",
      "name": "Materialize",
      "file": "internal/session/skills_test.go",
      "start_line": 30,
      "end_line": 42,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "skillFile",
      "kind": "function",
      "name": "skillFile",
      "file": "internal/session/skills_test.go",
      "start_line": 44,
      "end_line": 46,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "devOverride",
      "kind": "variable",
      "name": "devOverride",
      "file": "internal/session/skills_test.go",
      "start_line": 49,
      "end_line": 49,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "skillsRunner",
      "kind": "function",
      "name": "skillsRunner",
      "file": "internal/session/skills_test.go",
      "start_line": 51,
      "end_line": 60,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "runPinnedTo",
      "kind": "function",
      "name": "runPinnedTo",
      "file": "internal/session/skills_test.go",
      "start_line": 64,
      "end_line": 75,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "skillNames",
      "kind": "function",
      "name": "skillNames",
      "file": "internal/session/skills_test.go",
      "start_line": 77,
      "end_line": 83,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestSessionsPinnedToDifferentCommitsGetTheirOwnCommitsSkills",
      "kind": "function",
      "name": "TestSessionsPinnedToDifferentCommitsGetTheirOwnCommitsSkills",
      "file": "internal/session/skills_test.go",
      "start_line": 91,
      "end_line": 124,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAnUnpinnedSessionGetsTheSkillsPathCatalog",
      "kind": "function",
      "name": "TestAnUnpinnedSessionGetsTheSkillsPathCatalog",
      "file": "internal/session/skills_test.go",
      "start_line": 129,
      "end_line": 138,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "TestAPinnedSessionNeverFallsBackToTheSkillsPathCatalog",
      "kind": "function",
      "name": "TestAPinnedSessionNeverFallsBackToTheSkillsPathCatalog",
      "file": "internal/session/skills_test.go",
      "start_line": 144,
      "end_line": 178,
      "page": "session-persistence-reopen-and-scratch-seeding"
    },
    {
      "id": "Load",
      "kind": "function",
      "name": "Load",
      "file": "internal/skill/catalog.go",
      "start_line": 18,
      "end_line": 44,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "Frontmatter",
      "kind": "struct",
      "name": "Frontmatter",
      "file": "internal/skill/skill.go",
      "start_line": 12,
      "end_line": 19,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "Skill",
      "kind": "struct",
      "name": "Skill",
      "file": "internal/skill/skill.go",
      "start_line": 23,
      "end_line": 26,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "frontmatterDelimiter",
      "kind": "variable",
      "name": "frontmatterDelimiter",
      "file": "internal/skill/skill.go",
      "start_line": 28,
      "end_line": 28,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "Parse",
      "kind": "function",
      "name": "Parse",
      "file": "internal/skill/skill.go",
      "start_line": 31,
      "end_line": 55,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "TestParse",
      "kind": "function",
      "name": "TestParse",
      "file": "internal/skill/skill_test.go",
      "start_line": 23,
      "end_line": 34,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "TestParseRejectsMissingFrontmatter",
      "kind": "function",
      "name": "TestParseRejectsMissingFrontmatter",
      "file": "internal/skill/skill_test.go",
      "start_line": 36,
      "end_line": 43,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "TestLoadFiltersByConnectedServers",
      "kind": "function",
      "name": "TestLoadFiltersByConnectedServers",
      "file": "internal/skill/skill_test.go",
      "start_line": 45,
      "end_line": 81,
      "page": "skill-catalog-and-frontmatter-parsing"
    },
    {
      "id": "PostgresStore::DocChunkEmbeddingDimensions",
      "kind": "method",
      "name": "DocChunkEmbeddingDimensions",
      "file": "internal/store/embedding_dims.go",
      "start_line": 22,
      "end_line": 45,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ValidateEmbeddingDimensions",
      "kind": "function",
      "name": "ValidateEmbeddingDimensions",
      "file": "internal/store/embedding_dims.go",
      "start_line": 55,
      "end_line": 69,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestDocChunkEmbeddingDimensionsReadsTheLiveColumn",
      "kind": "function",
      "name": "TestDocChunkEmbeddingDimensionsReadsTheLiveColumn",
      "file": "internal/store/embedding_dims_integration_test.go",
      "start_line": 23,
      "end_line": 34,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestDocChunkEmbeddingDimensionsReportsAForeignWidth",
      "kind": "function",
      "name": "TestDocChunkEmbeddingDimensionsReportsAForeignWidth",
      "file": "internal/store/embedding_dims_integration_test.go",
      "start_line": 42,
      "end_line": 85,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestValidateEmbeddingDimensionsAgainstLiveColumn",
      "kind": "function",
      "name": "TestValidateEmbeddingDimensionsAgainstLiveColumn",
      "file": "internal/store/embedding_dims_integration_test.go",
      "start_line": 87,
      "end_line": 101,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "stubDims",
      "kind": "struct",
      "name": "stubDims",
      "file": "internal/store/embedding_dims_test.go",
      "start_line": 12,
      "end_line": 15,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "stubDims::DocChunkEmbeddingDimensions",
      "kind": "method",
      "name": "DocChunkEmbeddingDimensions",
      "file": "internal/store/embedding_dims_test.go",
      "start_line": 17,
      "end_line": 19,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestValidateEmbeddingDimensionsAcceptsMatch",
      "kind": "function",
      "name": "TestValidateEmbeddingDimensionsAcceptsMatch",
      "file": "internal/store/embedding_dims_test.go",
      "start_line": 21,
      "end_line": 26,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestValidateEmbeddingDimensionsNamesBothValues",
      "kind": "function",
      "name": "TestValidateEmbeddingDimensionsNamesBothValues",
      "file": "internal/store/embedding_dims_test.go",
      "start_line": 32,
      "end_line": 43,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestValidateEmbeddingDimensionsPropagatesReadFailure",
      "kind": "function",
      "name": "TestValidateEmbeddingDimensionsPropagatesReadFailure",
      "file": "internal/store/embedding_dims_test.go",
      "start_line": 45,
      "end_line": 52,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "MigrateTo",
      "kind": "function",
      "name": "MigrateTo",
      "file": "internal/store/export_test.go",
      "start_line": 12,
      "end_line": 16,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "MigrateDownTo",
      "kind": "function",
      "name": "MigrateDownTo",
      "file": "internal/store/export_test.go",
      "start_line": 19,
      "end_line": 23,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "migrationsFS",
      "kind": "variable",
      "name": "migrationsFS",
      "file": "internal/store/migrate.go",
      "start_line": 17,
      "end_line": 17,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrPoolTooSmall",
      "kind": "variable",
      "name": "ErrPoolTooSmall",
      "file": "internal/store/migrate.go",
      "start_line": 34,
      "end_line": 34,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "Migrate",
      "kind": "function",
      "name": "Migrate",
      "file": "internal/store/migrate.go",
      "start_line": 48,
      "end_line": 52,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "migrate",
      "kind": "function",
      "name": "migrate",
      "file": "internal/store/migrate.go",
      "start_line": 57,
      "end_line": 94,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "acquireMigrationLock",
      "kind": "function",
      "name": "acquireMigrationLock",
      "file": "internal/store/migrate.go",
      "start_line": 103,
      "end_line": 127,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "gooseSlogLogger",
      "kind": "struct",
      "name": "gooseSlogLogger",
      "file": "internal/store/migrate.go",
      "start_line": 131,
      "end_line": 131,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "gooseSlogLogger::Printf",
      "kind": "method",
      "name": "Printf",
      "file": "internal/store/migrate.go",
      "start_line": 133,
      "end_line": 135,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "gooseSlogLogger::Fatalf",
      "kind": "method",
      "name": "Fatalf",
      "file": "internal/store/migrate.go",
      "start_line": 137,
      "end_line": 141,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "trimNewline",
      "kind": "function",
      "name": "trimNewline",
      "file": "internal/store/migrate.go",
      "start_line": 143,
      "end_line": 148,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "migrationTables",
      "kind": "variable",
      "name": "migrationTables",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 32,
      "end_line": 35,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "testPool",
      "kind": "function",
      "name": "testPool",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 37,
      "end_line": 60,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "tableCount",
      "kind": "function",
      "name": "tableCount",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 62,
      "end_line": 73,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestMigrateRoundTrip",
      "kind": "function",
      "name": "TestMigrateRoundTrip",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 75,
      "end_line": 94,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "newID",
      "kind": "function",
      "name": "newID",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 96,
      "end_line": 103,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "fixture",
      "kind": "struct",
      "name": "fixture",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 107,
      "end_line": 111,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "seed",
      "kind": "function",
      "name": "seed",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 113,
      "end_line": 153,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "isFKViolation",
      "kind": "function",
      "name": "isFKViolation",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 155,
      "end_line": 157,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestIncidentIsolation",
      "kind": "function",
      "name": "TestIncidentIsolation",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 163,
      "end_line": 223,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestSessionTurnSeqUniqueness",
      "kind": "function",
      "name": "TestSessionTurnSeqUniqueness",
      "file": "internal/store/migrate_integration_test.go",
      "start_line": 227,
      "end_line": 249,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scratchDatabasePool",
      "kind": "function",
      "name": "scratchDatabasePool",
      "file": "internal/store/migrate_revisions_integration_test.go",
      "start_line": 23,
      "end_line": 48,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestMigration002NumbersExistingReportsAsRevisionOne",
      "kind": "function",
      "name": "TestMigration002NumbersExistingReportsAsRevisionOne",
      "file": "internal/store/migrate_revisions_integration_test.go",
      "start_line": 54,
      "end_line": 170,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "poolWithMaxConns",
      "kind": "function",
      "name": "poolWithMaxConns",
      "file": "internal/store/migrate_test.go",
      "start_line": 18,
      "end_line": 33,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestMigrateRejectsSingleConnectionPool",
      "kind": "function",
      "name": "TestMigrateRejectsSingleConnectionPool",
      "file": "internal/store/migrate_test.go",
      "start_line": 48,
      "end_line": 74,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestMigrateAcceptsPoolSizeTwo",
      "kind": "function",
      "name": "TestMigrateAcceptsPoolSizeTwo",
      "file": "internal/store/migrate_test.go",
      "start_line": 79,
      "end_line": 94,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore",
      "kind": "struct",
      "name": "PostgresStore",
      "file": "internal/store/postgres.go",
      "start_line": 20,
      "end_line": 22,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "_",
      "kind": "variable",
      "name": "_",
      "file": "internal/store/postgres.go",
      "start_line": 27,
      "end_line": 27,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "NewPostgresStore",
      "kind": "function",
      "name": "NewPostgresStore",
      "file": "internal/store/postgres.go",
      "start_line": 35,
      "end_line": 37,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/store/postgres.go",
      "start_line": 40,
      "end_line": 40,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrConflict",
      "kind": "variable",
      "name": "ErrConflict",
      "file": "internal/store/postgres.go",
      "start_line": 51,
      "end_line": 51,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrInvalidReference",
      "kind": "variable",
      "name": "ErrInvalidReference",
      "file": "internal/store/postgres.go",
      "start_line": 57,
      "end_line": 57,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "wrapErr",
      "kind": "function",
      "name": "wrapErr",
      "file": "internal/store/postgres.go",
      "start_line": 66,
      "end_line": 83,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "clampLimit",
      "kind": "function",
      "name": "clampLimit",
      "file": "internal/store/postgres.go",
      "start_line": 94,
      "end_line": 103,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "utc",
      "kind": "function",
      "name": "utc",
      "file": "internal/store/postgres.go",
      "start_line": 108,
      "end_line": 108,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "utcPtr",
      "kind": "function",
      "name": "utcPtr",
      "file": "internal/store/postgres.go",
      "start_line": 111,
      "end_line": 117,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "jsonMap",
      "kind": "function",
      "name": "jsonMap",
      "file": "internal/store/postgres.go",
      "start_line": 124,
      "end_line": 129,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::inTx",
      "kind": "method",
      "name": "inTx",
      "file": "internal/store/postgres.go",
      "start_line": 137,
      "end_line": 156,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanIncident",
      "kind": "function",
      "name": "scanIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 22,
      "end_line": 30,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 37,
      "end_line": 61,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 64,
      "end_line": 72,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/store/postgres_incident.go",
      "start_line": 81,
      "end_line": 130,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "NextIncidentCursor",
      "kind": "function",
      "name": "NextIncidentCursor",
      "file": "internal/store/postgres_incident.go",
      "start_line": 137,
      "end_line": 143,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "encodeIncidentCursor",
      "kind": "function",
      "name": "encodeIncidentCursor",
      "file": "internal/store/postgres_incident.go",
      "start_line": 147,
      "end_line": 150,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "decodeIncidentCursor",
      "kind": "function",
      "name": "decodeIncidentCursor",
      "file": "internal/store/postgres_incident.go",
      "start_line": 152,
      "end_line": 166,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 187,
      "end_line": 209,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::classifyMissingIncident",
      "kind": "method",
      "name": "classifyMissingIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 220,
      "end_line": 230,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrInvalidStatus",
      "kind": "variable",
      "name": "ErrInvalidStatus",
      "file": "internal/store/postgres_incident.go",
      "start_line": 234,
      "end_line": 234,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrAlreadyClosed",
      "kind": "variable",
      "name": "ErrAlreadyClosed",
      "file": "internal/store/postgres_incident.go",
      "start_line": 238,
      "end_line": 238,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/store/postgres_incident.go",
      "start_line": 254,
      "end_line": 272,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetActiveIncidentByFingerprint",
      "kind": "method",
      "name": "GetActiveIncidentByFingerprint",
      "file": "internal/store/postgres_incident.go",
      "start_line": 282,
      "end_line": 298,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListOpenIncidentsByFingerprint",
      "kind": "method",
      "name": "ListOpenIncidentsByFingerprint",
      "file": "internal/store/postgres_incident.go",
      "start_line": 306,
      "end_line": 332,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanAlert",
      "kind": "function",
      "name": "scanAlert",
      "file": "internal/store/postgres_incident.go",
      "start_line": 338,
      "end_line": 346,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::LogAlert",
      "kind": "method",
      "name": "LogAlert",
      "file": "internal/store/postgres_incident.go",
      "start_line": 353,
      "end_line": 371,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "internal/store/postgres_incident.go",
      "start_line": 375,
      "end_line": 398,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::AttachAlerts",
      "kind": "method",
      "name": "AttachAlerts",
      "file": "internal/store/postgres_incident.go",
      "start_line": 408,
      "end_line": 419,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "newStore",
      "kind": "function",
      "name": "newStore",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 27,
      "end_line": 35,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "seedIncident",
      "kind": "function",
      "name": "seedIncident",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 42,
      "end_line": 56,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "seedSession",
      "kind": "function",
      "name": "seedSession",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 58,
      "end_line": 70,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestIncidentRoundTrip",
      "kind": "function",
      "name": "TestIncidentRoundTrip",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 74,
      "end_line": 114,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestIncidentNilFingerprintStaysNull",
      "kind": "function",
      "name": "TestIncidentNilFingerprintStaysNull",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 119,
      "end_line": 135,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestGetIncidentNotFound",
      "kind": "function",
      "name": "TestGetIncidentNotFound",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 137,
      "end_line": 144,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCloseIncidentRejectsNonTerminalStatus",
      "kind": "function",
      "name": "TestCloseIncidentRejectsNonTerminalStatus",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 148,
      "end_line": 167,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCloseIncidentIsIdempotentlyRefused",
      "kind": "function",
      "name": "TestCloseIncidentIsIdempotentlyRefused",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 173,
      "end_line": 200,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCloseIncidentOnMissingRowIsNotFound",
      "kind": "function",
      "name": "TestCloseIncidentOnMissingRowIsNotFound",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 205,
      "end_line": 222,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestConcurrentCloseLeavesExactlyOneWinner",
      "kind": "function",
      "name": "TestConcurrentCloseLeavesExactlyOneWinner",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 227,
      "end_line": 283,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestConcurrentUpdateAgainstCloseNeverCorrupts",
      "kind": "function",
      "name": "TestConcurrentUpdateAgainstCloseNeverCorrupts",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 296,
      "end_line": 380,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestUpdateIncidentOnClosedRowIsAlreadyClosed",
      "kind": "function",
      "name": "TestUpdateIncidentOnClosedRowIsAlreadyClosed",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 386,
      "end_line": 415,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestUpdateIncidentOnMissingRowIsNotFound",
      "kind": "function",
      "name": "TestUpdateIncidentOnMissingRowIsNotFound",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 420,
      "end_line": 445,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestGetActiveIncidentByFingerprint",
      "kind": "function",
      "name": "TestGetActiveIncidentByFingerprint",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 450,
      "end_line": 499,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestListOpenIncidentsByFingerprint",
      "kind": "function",
      "name": "TestListOpenIncidentsByFingerprint",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 503,
      "end_line": 573,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestListIncidentsPagination",
      "kind": "function",
      "name": "TestListIncidentsPagination",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 580,
      "end_line": 636,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestListIncidentsRejectsMalformedCursor",
      "kind": "function",
      "name": "TestListIncidentsRejectsMalformedCursor",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 641,
      "end_line": 647,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestAlertAttachment",
      "kind": "function",
      "name": "TestAlertAttachment",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 651,
      "end_line": 687,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestAttachAlertsDoesNotStealAttachedAlerts",
      "kind": "function",
      "name": "TestAttachAlertsDoesNotStealAttachedAlerts",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 692,
      "end_line": 718,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCreateSessionAllocatesSeq",
      "kind": "function",
      "name": "TestCreateSessionAllocatesSeq",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 722,
      "end_line": 737,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCreateSessionIgnoresCallerSuppliedSeq",
      "kind": "function",
      "name": "TestCreateSessionIgnoresCallerSuppliedSeq",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 742,
      "end_line": 759,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestConcurrentCreateSessionNeverCollides",
      "kind": "function",
      "name": "TestConcurrentCreateSessionNeverCollides",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 777,
      "end_line": 829,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestSessionTurnsOrderingAndResumption",
      "kind": "function",
      "name": "TestSessionTurnsOrderingAndResumption",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 833,
      "end_line": 891,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "firstSeq",
      "kind": "function",
      "name": "firstSeq",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 893,
      "end_line": 898,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestLogSessionTurnRejectsDuplicateSeq",
      "kind": "function",
      "name": "TestLogSessionTurnRejectsDuplicateSeq",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 903,
      "end_line": 923,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestReportRevisions",
      "kind": "function",
      "name": "TestReportRevisions",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 929,
      "end_line": 1006,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCreateReportRefusesAnUnnumberedReport",
      "kind": "function",
      "name": "TestCreateReportRefusesAnUnnumberedReport",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1011,
      "end_line": 1027,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestCreateReportDefaultsEmptyData",
      "kind": "function",
      "name": "TestCreateReportDefaultsEmptyData",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1032,
      "end_line": 1051,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestArtifactIncidentIsolation",
      "kind": "function",
      "name": "TestArtifactIncidentIsolation",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1058,
      "end_line": 1146,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestArtifactRevisionMatchesItsOwner",
      "kind": "function",
      "name": "TestArtifactRevisionMatchesItsOwner",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1151,
      "end_line": 1189,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestAddSessionContextRefsIsAtomic",
      "kind": "function",
      "name": "TestAddSessionContextRefsIsAtomic",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1194,
      "end_line": 1236,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestDocChunkReplaceAndSearch",
      "kind": "function",
      "name": "TestDocChunkReplaceAndSearch",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1240,
      "end_line": 1281,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestReplaceDocChunksRejectsWrongDimension",
      "kind": "function",
      "name": "TestReplaceDocChunksRejectsWrongDimension",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1286,
      "end_line": 1298,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestPruneDocChunks",
      "kind": "function",
      "name": "TestPruneDocChunks",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1303,
      "end_line": 1349,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestHasDocChunks",
      "kind": "function",
      "name": "TestHasDocChunks",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1354,
      "end_line": 1387,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "unitVector",
      "kind": "function",
      "name": "unitVector",
      "file": "internal/store/postgres_integration_test.go",
      "start_line": 1390,
      "end_line": 1394,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "nullableJSON",
      "kind": "function",
      "name": "nullableJSON",
      "file": "internal/store/postgres_report.go",
      "start_line": 19,
      "end_line": 24,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanReport",
      "kind": "function",
      "name": "scanReport",
      "file": "internal/store/postgres_report.go",
      "start_line": 30,
      "end_line": 37,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::CreateReport",
      "kind": "method",
      "name": "CreateReport",
      "file": "internal/store/postgres_report.go",
      "start_line": 52,
      "end_line": 83,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/store/postgres_report.go",
      "start_line": 87,
      "end_line": 96,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetReportRevision",
      "kind": "method",
      "name": "GetReportRevision",
      "file": "internal/store/postgres_report.go",
      "start_line": 100,
      "end_line": 108,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/store/postgres_report.go",
      "start_line": 113,
      "end_line": 118,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListReports",
      "kind": "method",
      "name": "ListReports",
      "file": "internal/store/postgres_report.go",
      "start_line": 121,
      "end_line": 127,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::queryReports",
      "kind": "method",
      "name": "queryReports",
      "file": "internal/store/postgres_report.go",
      "start_line": 129,
      "end_line": 148,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanArtifact",
      "kind": "function",
      "name": "scanArtifact",
      "file": "internal/store/postgres_report.go",
      "start_line": 154,
      "end_line": 161,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::CreateArtifact",
      "kind": "method",
      "name": "CreateArtifact",
      "file": "internal/store/postgres_report.go",
      "start_line": 173,
      "end_line": 200,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/store/postgres_report.go",
      "start_line": 204,
      "end_line": 210,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListIncidentArtifacts",
      "kind": "method",
      "name": "ListIncidentArtifacts",
      "file": "internal/store/postgres_report.go",
      "start_line": 215,
      "end_line": 221,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::queryArtifacts",
      "kind": "method",
      "name": "queryArtifacts",
      "file": "internal/store/postgres_report.go",
      "start_line": 223,
      "end_line": 242,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/store/postgres_report.go",
      "start_line": 245,
      "end_line": 253,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ReplaceDocChunks",
      "kind": "method",
      "name": "ReplaceDocChunks",
      "file": "internal/store/postgres_report.go",
      "start_line": 275,
      "end_line": 310,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::SearchDocChunks",
      "kind": "method",
      "name": "SearchDocChunks",
      "file": "internal/store/postgres_report.go",
      "start_line": 318,
      "end_line": 361,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::PruneDocChunks",
      "kind": "method",
      "name": "PruneDocChunks",
      "file": "internal/store/postgres_report.go",
      "start_line": 369,
      "end_line": 377,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::HasDocChunks",
      "kind": "method",
      "name": "HasDocChunks",
      "file": "internal/store/postgres_report.go",
      "start_line": 382,
      "end_line": 390,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanSession",
      "kind": "function",
      "name": "scanSession",
      "file": "internal/store/postgres_session.go",
      "start_line": 17,
      "end_line": 26,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/store/postgres_session.go",
      "start_line": 61,
      "end_line": 105,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/store/postgres_session.go",
      "start_line": 108,
      "end_line": 116,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/store/postgres_session.go",
      "start_line": 120,
      "end_line": 141,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/store/postgres_session.go",
      "start_line": 148,
      "end_line": 170,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ReopenSession",
      "kind": "method",
      "name": "ReopenSession",
      "file": "internal/store/postgres_session.go",
      "start_line": 186,
      "end_line": 233,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "scanTurn",
      "kind": "function",
      "name": "scanTurn",
      "file": "internal/store/postgres_session.go",
      "start_line": 239,
      "end_line": 246,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::LogSessionTurn",
      "kind": "method",
      "name": "LogSessionTurn",
      "file": "internal/store/postgres_session.go",
      "start_line": 261,
      "end_line": 278,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/store/postgres_session.go",
      "start_line": 286,
      "end_line": 311,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::AddSessionContextRefs",
      "kind": "method",
      "name": "AddSessionContextRefs",
      "file": "internal/store/postgres_session.go",
      "start_line": 321,
      "end_line": 342,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "PostgresStore::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/store/postgres_session.go",
      "start_line": 346,
      "end_line": 372,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "userTurn",
      "kind": "function",
      "name": "userTurn",
      "file": "internal/store/reopen_integration_test.go",
      "start_line": 16,
      "end_line": 21,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestReopenSessionTransitionsAndAppendsTheTurn",
      "kind": "function",
      "name": "TestReopenSessionTransitionsAndAppendsTheTurn",
      "file": "internal/store/reopen_integration_test.go",
      "start_line": 26,
      "end_line": 68,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestReopenSessionRefusesAnUnfinishedSession",
      "kind": "function",
      "name": "TestReopenSessionRefusesAnUnfinishedSession",
      "file": "internal/store/reopen_integration_test.go",
      "start_line": 72,
      "end_line": 97,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestReopenSessionUnknownIsNotFound",
      "kind": "function",
      "name": "TestReopenSessionUnknownIsNotFound",
      "file": "internal/store/reopen_integration_test.go",
      "start_line": 99,
      "end_line": 105,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestConcurrentReopensHaveOneWinner",
      "kind": "function",
      "name": "TestConcurrentReopensHaveOneWinner",
      "file": "internal/store/reopen_integration_test.go",
      "start_line": 110,
      "end_line": 150,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrNotFound",
      "kind": "variable",
      "name": "ErrNotFound",
      "file": "internal/store/store.go",
      "start_line": 105,
      "end_line": 105,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ErrNotFinished",
      "kind": "variable",
      "name": "ErrNotFinished",
      "file": "internal/store/store.go",
      "start_line": 109,
      "end_line": 109,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "Incident",
      "kind": "struct",
      "name": "Incident",
      "file": "internal/store/store.go",
      "start_line": 114,
      "end_line": 129,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Alert",
      "kind": "struct",
      "name": "Alert",
      "file": "internal/store/store.go",
      "start_line": 134,
      "end_line": 146,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Session",
      "kind": "struct",
      "name": "Session",
      "file": "internal/store/store.go",
      "start_line": 151,
      "end_line": 173,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionTurn",
      "kind": "struct",
      "name": "SessionTurn",
      "file": "internal/store/store.go",
      "start_line": 183,
      "end_line": 194,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Report",
      "kind": "struct",
      "name": "Report",
      "file": "internal/store/store.go",
      "start_line": 201,
      "end_line": 215,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "Artifact",
      "kind": "struct",
      "name": "Artifact",
      "file": "internal/store/store.go",
      "start_line": 221,
      "end_line": 233,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "SessionContextRef",
      "kind": "struct",
      "name": "SessionContextRef",
      "file": "internal/store/store.go",
      "start_line": 246,
      "end_line": 252,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "DocChunk",
      "kind": "struct",
      "name": "DocChunk",
      "file": "internal/store/store.go",
      "start_line": 257,
      "end_line": 266,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "IncidentFilter",
      "kind": "struct",
      "name": "IncidentFilter",
      "file": "internal/store/store.go",
      "start_line": 270,
      "end_line": 275,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "IncidentStore",
      "kind": "interface",
      "name": "IncidentStore",
      "file": "internal/store/store.go",
      "start_line": 279,
      "end_line": 294,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "IncidentStore::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/store/store.go",
      "start_line": 280,
      "end_line": 280,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/store/store.go",
      "start_line": 281,
      "end_line": 281,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/store/store.go",
      "start_line": 282,
      "end_line": 282,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/store/store.go",
      "start_line": 283,
      "end_line": 283,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/store/store.go",
      "start_line": 288,
      "end_line": 288,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::GetActiveIncidentByFingerprint",
      "kind": "method",
      "name": "GetActiveIncidentByFingerprint",
      "file": "internal/store/store.go",
      "start_line": 289,
      "end_line": 289,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::ListOpenIncidentsByFingerprint",
      "kind": "method",
      "name": "ListOpenIncidentsByFingerprint",
      "file": "internal/store/store.go",
      "start_line": 290,
      "end_line": 290,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::LogAlert",
      "kind": "method",
      "name": "LogAlert",
      "file": "internal/store/store.go",
      "start_line": 291,
      "end_line": 291,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "internal/store/store.go",
      "start_line": 292,
      "end_line": 292,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "IncidentStore::AttachAlerts",
      "kind": "method",
      "name": "AttachAlerts",
      "file": "internal/store/store.go",
      "start_line": 293,
      "end_line": 293,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore",
      "kind": "interface",
      "name": "SessionStore",
      "file": "internal/store/store.go",
      "start_line": 300,
      "end_line": 314,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "SessionStore::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/store/store.go",
      "start_line": 302,
      "end_line": 302,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/store/store.go",
      "start_line": 303,
      "end_line": 303,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/store/store.go",
      "start_line": 304,
      "end_line": 304,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::UpdateSession",
      "kind": "method",
      "name": "UpdateSession",
      "file": "internal/store/store.go",
      "start_line": 305,
      "end_line": 305,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::ReopenSession",
      "kind": "method",
      "name": "ReopenSession",
      "file": "internal/store/store.go",
      "start_line": 308,
      "end_line": 308,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::LogSessionTurn",
      "kind": "method",
      "name": "LogSessionTurn",
      "file": "internal/store/store.go",
      "start_line": 309,
      "end_line": 309,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/store/store.go",
      "start_line": 311,
      "end_line": 311,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::AddSessionContextRefs",
      "kind": "method",
      "name": "AddSessionContextRefs",
      "file": "internal/store/store.go",
      "start_line": 312,
      "end_line": 312,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "SessionStore::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/store/store.go",
      "start_line": 313,
      "end_line": 313,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ReportStore",
      "kind": "interface",
      "name": "ReportStore",
      "file": "internal/store/store.go",
      "start_line": 317,
      "end_line": 325,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "ReportStore::CreateReport",
      "kind": "method",
      "name": "CreateReport",
      "file": "internal/store/store.go",
      "start_line": 318,
      "end_line": 318,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ReportStore::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/store/store.go",
      "start_line": 320,
      "end_line": 320,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ReportStore::GetReportRevision",
      "kind": "method",
      "name": "GetReportRevision",
      "file": "internal/store/store.go",
      "start_line": 321,
      "end_line": 321,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ReportStore::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/store/store.go",
      "start_line": 323,
      "end_line": 323,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ReportStore::ListReports",
      "kind": "method",
      "name": "ListReports",
      "file": "internal/store/store.go",
      "start_line": 324,
      "end_line": 324,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ArtifactStore",
      "kind": "interface",
      "name": "ArtifactStore",
      "file": "internal/store/store.go",
      "start_line": 328,
      "end_line": 333,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "ArtifactStore::CreateArtifact",
      "kind": "method",
      "name": "CreateArtifact",
      "file": "internal/store/store.go",
      "start_line": 329,
      "end_line": 329,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ArtifactStore::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/store/store.go",
      "start_line": 330,
      "end_line": 330,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ArtifactStore::ListIncidentArtifacts",
      "kind": "method",
      "name": "ListIncidentArtifacts",
      "file": "internal/store/store.go",
      "start_line": 331,
      "end_line": 331,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "ArtifactStore::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/store/store.go",
      "start_line": 332,
      "end_line": 332,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "DocsStore",
      "kind": "interface",
      "name": "DocsStore",
      "file": "internal/store/store.go",
      "start_line": 336,
      "end_line": 345,
      "page": "storage-domain-model-and-store-interfaces"
    },
    {
      "id": "DocsStore::ReplaceDocChunks",
      "kind": "method",
      "name": "ReplaceDocChunks",
      "file": "internal/store/store.go",
      "start_line": 338,
      "end_line": 338,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "DocsStore::SearchDocChunks",
      "kind": "method",
      "name": "SearchDocChunks",
      "file": "internal/store/store.go",
      "start_line": 339,
      "end_line": 339,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "DocsStore::PruneDocChunks",
      "kind": "method",
      "name": "PruneDocChunks",
      "file": "internal/store/store.go",
      "start_line": 342,
      "end_line": 342,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "DocsStore::HasDocChunks",
      "kind": "method",
      "name": "HasDocChunks",
      "file": "internal/store/store.go",
      "start_line": 344,
      "end_line": 344,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "Store",
      "kind": "interface",
      "name": "Store",
      "file": "internal/store/store.go",
      "start_line": 350,
      "end_line": 356,
      "page": "incident-manager-open-list-update-close"
    },
    {
      "id": "QueryTracer",
      "kind": "struct",
      "name": "QueryTracer",
      "file": "internal/store/tracer.go",
      "start_line": 32,
      "end_line": 34,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "_",
      "kind": "variable",
      "name": "_",
      "file": "internal/store/tracer.go",
      "start_line": 39,
      "end_line": 42,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "NewQueryTracer",
      "kind": "function",
      "name": "NewQueryTracer",
      "file": "internal/store/tracer.go",
      "start_line": 51,
      "end_line": 53,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "spanKey",
      "kind": "struct",
      "name": "spanKey",
      "file": "internal/store/tracer.go",
      "start_line": 58,
      "end_line": 58,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "QueryTracer::TraceQueryStart",
      "kind": "method",
      "name": "TraceQueryStart",
      "file": "internal/store/tracer.go",
      "start_line": 67,
      "end_line": 74,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "QueryTracer::TraceQueryEnd",
      "kind": "method",
      "name": "TraceQueryEnd",
      "file": "internal/store/tracer.go",
      "start_line": 82,
      "end_line": 102,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "batchSpanKey",
      "kind": "struct",
      "name": "batchSpanKey",
      "file": "internal/store/tracer.go",
      "start_line": 106,
      "end_line": 106,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "QueryTracer::TraceBatchStart",
      "kind": "method",
      "name": "TraceBatchStart",
      "file": "internal/store/tracer.go",
      "start_line": 109,
      "end_line": 116,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "QueryTracer::TraceBatchQuery",
      "kind": "method",
      "name": "TraceBatchQuery",
      "file": "internal/store/tracer.go",
      "start_line": 132,
      "end_line": 146,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "QueryTracer::TraceBatchEnd",
      "kind": "method",
      "name": "TraceBatchEnd",
      "file": "internal/store/tracer.go",
      "start_line": 152,
      "end_line": 168,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "errorType",
      "kind": "function",
      "name": "errorType",
      "file": "internal/store/tracer.go",
      "start_line": 173,
      "end_line": 178,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "recordSpans",
      "kind": "function",
      "name": "recordSpans",
      "file": "internal/store/tracer_test.go",
      "start_line": 26,
      "end_line": 31,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "attrOf",
      "kind": "function",
      "name": "attrOf",
      "file": "internal/store/tracer_test.go",
      "start_line": 34,
      "end_line": 41,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestTraceQueryRecordsSQLAndRowCount",
      "kind": "function",
      "name": "TestTraceQueryRecordsSQLAndRowCount",
      "file": "internal/store/tracer_test.go",
      "start_line": 43,
      "end_line": 73,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestQuerySpansNeverCarryArguments",
      "kind": "function",
      "name": "TestQuerySpansNeverCarryArguments",
      "file": "internal/store/tracer_test.go",
      "start_line": 80,
      "end_line": 104,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestNoRowsIsNotASpanError",
      "kind": "function",
      "name": "TestNoRowsIsNotASpanError",
      "file": "internal/store/tracer_test.go",
      "start_line": 110,
      "end_line": 130,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestRealQueryErrorIsASpanError",
      "kind": "function",
      "name": "TestRealQueryErrorIsASpanError",
      "file": "internal/store/tracer_test.go",
      "start_line": 132,
      "end_line": 153,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestBatchWritesAreTraced",
      "kind": "function",
      "name": "TestBatchWritesAreTraced",
      "file": "internal/store/tracer_test.go",
      "start_line": 160,
      "end_line": 197,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestBatchEventsNeverCarryArguments",
      "kind": "function",
      "name": "TestBatchEventsNeverCarryArguments",
      "file": "internal/store/tracer_test.go",
      "start_line": 202,
      "end_line": 237,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestBatchErrorIsASpanError",
      "kind": "function",
      "name": "TestBatchErrorIsASpanError",
      "file": "internal/store/tracer_test.go",
      "start_line": 239,
      "end_line": 278,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestBatchNoRowsIsNotASpanError",
      "kind": "function",
      "name": "TestBatchNoRowsIsNotASpanError",
      "file": "internal/store/tracer_test.go",
      "start_line": 282,
      "end_line": 311,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestTracerCallbacksSurviveAMissingSpan",
      "kind": "function",
      "name": "TestTracerCallbacksSurviveAMissingSpan",
      "file": "internal/store/tracer_test.go",
      "start_line": 317,
      "end_line": 327,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "TestQueryTracerSatisfiesBothPgxInterfaces",
      "kind": "function",
      "name": "TestQueryTracerSatisfiesBothPgxInterfaces",
      "file": "internal/store/tracer_test.go",
      "start_line": 334,
      "end_line": 358,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "vectorLiteral",
      "kind": "function",
      "name": "vectorLiteral",
      "file": "internal/store/vector.go",
      "start_line": 22,
      "end_line": 35,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "parseVector",
      "kind": "function",
      "name": "parseVector",
      "file": "internal/store/vector.go",
      "start_line": 38,
      "end_line": 58,
      "page": "postgresql-persistence-migrations-and-vector-search"
    },
    {
      "id": "GenAIOperationChat",
      "kind": "function",
      "name": "GenAIOperationChat",
      "file": "internal/telemetry/genai.go",
      "start_line": 25,
      "end_line": 25,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "GenAIProviderName",
      "kind": "function",
      "name": "GenAIProviderName",
      "file": "internal/telemetry/genai.go",
      "start_line": 32,
      "end_line": 44,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "GenAIRequestModel",
      "kind": "function",
      "name": "GenAIRequestModel",
      "file": "internal/telemetry/genai.go",
      "start_line": 47,
      "end_line": 47,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "GenAIUsageInputTokens",
      "kind": "function",
      "name": "GenAIUsageInputTokens",
      "file": "internal/telemetry/genai.go",
      "start_line": 52,
      "end_line": 52,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "GenAIUsageOutputTokens",
      "kind": "function",
      "name": "GenAIUsageOutputTokens",
      "file": "internal/telemetry/genai.go",
      "start_line": 53,
      "end_line": 53,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "GenAIResponseFinishReasons",
      "kind": "function",
      "name": "GenAIResponseFinishReasons",
      "file": "internal/telemetry/genai.go",
      "start_line": 59,
      "end_line": 61,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "ErrorType",
      "kind": "function",
      "name": "ErrorType",
      "file": "internal/telemetry/genai.go",
      "start_line": 67,
      "end_line": 67,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestGenAIAttributeNamesMatchTheSpecLiterals",
      "kind": "function",
      "name": "TestGenAIAttributeNamesMatchTheSpecLiterals",
      "file": "internal/telemetry/genai_test.go",
      "start_line": 13,
      "end_line": 34,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestGenAIOperationChatCarriesTheSpecValue",
      "kind": "function",
      "name": "TestGenAIOperationChatCarriesTheSpecValue",
      "file": "internal/telemetry/genai_test.go",
      "start_line": 36,
      "end_line": 40,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestGenAIProviderNameMapsKorvusTypesOntoTheSpecEnum",
      "kind": "function",
      "name": "TestGenAIProviderNameMapsKorvusTypesOntoTheSpecEnum",
      "file": "internal/telemetry/genai_test.go",
      "start_line": 45,
      "end_line": 61,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestGenAIResponseFinishReasonsIsASingleElementSlice",
      "kind": "function",
      "name": "TestGenAIResponseFinishReasonsIsASingleElementSlice",
      "file": "internal/telemetry/genai_test.go",
      "start_line": 66,
      "end_line": 71,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "Version",
      "kind": "variable",
      "name": "Version",
      "file": "internal/telemetry/telemetry.go",
      "start_line": 33,
      "end_line": 33,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "Setup",
      "kind": "function",
      "name": "Setup",
      "file": "internal/telemetry/telemetry.go",
      "start_line": 46,
      "end_line": 84,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "buildResource",
      "kind": "function",
      "name": "buildResource",
      "file": "internal/telemetry/telemetry.go",
      "start_line": 89,
      "end_line": 103,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "setupRecorder",
      "kind": "function",
      "name": "setupRecorder",
      "file": "internal/telemetry/telemetry_test.go",
      "start_line": 18,
      "end_line": 41,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestSpansCarryServiceAndVersionResourceAttributes",
      "kind": "function",
      "name": "TestSpansCarryServiceAndVersionResourceAttributes",
      "file": "internal/telemetry/telemetry_test.go",
      "start_line": 43,
      "end_line": 73,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestShutdownFlushesPendingSpans",
      "kind": "function",
      "name": "TestShutdownFlushesPendingSpans",
      "file": "internal/telemetry/telemetry_test.go",
      "start_line": 75,
      "end_line": 103,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "TestEmptyEndpointDisablesTracingCleanly",
      "kind": "function",
      "name": "TestEmptyEndpointDisablesTracingCleanly",
      "file": "internal/telemetry/telemetry_test.go",
      "start_line": 105,
      "end_line": 120,
      "page": "opentelemetry-setup-and-genai-semantic-attributes"
    },
    {
      "id": "incidentToProto",
      "kind": "function",
      "name": "incidentToProto",
      "file": "internal/transport/convert.go",
      "start_line": 18,
      "end_line": 46,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionToProto",
      "kind": "function",
      "name": "sessionToProto",
      "file": "internal/transport/convert.go",
      "start_line": 48,
      "end_line": 76,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "turnToProto",
      "kind": "function",
      "name": "turnToProto",
      "file": "internal/transport/convert.go",
      "start_line": 78,
      "end_line": 102,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "reportToProto",
      "kind": "function",
      "name": "reportToProto",
      "file": "internal/transport/convert.go",
      "start_line": 104,
      "end_line": 128,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "reportRevisionToProto",
      "kind": "function",
      "name": "reportRevisionToProto",
      "file": "internal/transport/convert.go",
      "start_line": 130,
      "end_line": 139,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "artifactToProto",
      "kind": "function",
      "name": "artifactToProto",
      "file": "internal/transport/convert.go",
      "start_line": 141,
      "end_line": 158,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "artifactKindToProto",
      "kind": "function",
      "name": "artifactKindToProto",
      "file": "internal/transport/convert.go",
      "start_line": 160,
      "end_line": 173,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentStatusToProto",
      "kind": "function",
      "name": "incidentStatusToProto",
      "file": "internal/transport/convert.go",
      "start_line": 175,
      "end_line": 188,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentStatusFromProto",
      "kind": "function",
      "name": "incidentStatusFromProto",
      "file": "internal/transport/convert.go",
      "start_line": 195,
      "end_line": 208,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentOriginToProto",
      "kind": "function",
      "name": "incidentOriginToProto",
      "file": "internal/transport/convert.go",
      "start_line": 210,
      "end_line": 219,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentOriginFromProto",
      "kind": "function",
      "name": "incidentOriginFromProto",
      "file": "internal/transport/convert.go",
      "start_line": 221,
      "end_line": 230,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionKindToProto",
      "kind": "function",
      "name": "sessionKindToProto",
      "file": "internal/transport/convert.go",
      "start_line": 232,
      "end_line": 241,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionKindFromProto",
      "kind": "function",
      "name": "sessionKindFromProto",
      "file": "internal/transport/convert.go",
      "start_line": 246,
      "end_line": 255,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionStatusToProto",
      "kind": "function",
      "name": "sessionStatusToProto",
      "file": "internal/transport/convert.go",
      "start_line": 257,
      "end_line": 276,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "turnRoleToProto",
      "kind": "function",
      "name": "turnRoleToProto",
      "file": "internal/transport/convert.go",
      "start_line": 278,
      "end_line": 289,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "contextRefRoleToProto",
      "kind": "function",
      "name": "contextRefRoleToProto",
      "file": "internal/transport/convert.go",
      "start_line": 291,
      "end_line": 302,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "contextRefRoleFromProto",
      "kind": "function",
      "name": "contextRefRoleFromProto",
      "file": "internal/transport/convert.go",
      "start_line": 306,
      "end_line": 317,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "handleHealthz",
      "kind": "function",
      "name": "handleHealthz",
      "file": "internal/transport/health.go",
      "start_line": 6,
      "end_line": 13,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService",
      "kind": "struct",
      "name": "unimplementedIncidentService",
      "file": "internal/transport/incident.go",
      "start_line": 42,
      "end_line": 42,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/transport/incident.go",
      "start_line": 44,
      "end_line": 46,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/transport/incident.go",
      "start_line": 48,
      "end_line": 50,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/transport/incident.go",
      "start_line": 52,
      "end_line": 54,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/transport/incident.go",
      "start_line": 56,
      "end_line": 58,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/transport/incident.go",
      "start_line": 60,
      "end_line": 62,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::ListAlerts",
      "kind": "method",
      "name": "ListAlerts",
      "file": "internal/transport/incident.go",
      "start_line": 64,
      "end_line": 66,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedIncidentService::WatchIncidents",
      "kind": "method",
      "name": "WatchIncidents",
      "file": "internal/transport/incident.go",
      "start_line": 68,
      "end_line": 70,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "IncidentManager",
      "kind": "interface",
      "name": "IncidentManager",
      "file": "internal/transport/incident.go",
      "start_line": 75,
      "end_line": 81,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "IncidentManager::Open",
      "kind": "method",
      "name": "Open",
      "file": "internal/transport/incident.go",
      "start_line": 76,
      "end_line": 76,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "IncidentManager::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/transport/incident.go",
      "start_line": 77,
      "end_line": 77,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "IncidentManager::List",
      "kind": "method",
      "name": "List",
      "file": "internal/transport/incident.go",
      "start_line": 78,
      "end_line": 78,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "IncidentManager::Update",
      "kind": "method",
      "name": "Update",
      "file": "internal/transport/incident.go",
      "start_line": 79,
      "end_line": 79,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "IncidentManager::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/transport/incident.go",
      "start_line": 80,
      "end_line": 80,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "AlertIngestor",
      "kind": "interface",
      "name": "AlertIngestor",
      "file": "internal/transport/incident.go",
      "start_line": 90,
      "end_line": 92,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "AlertIngestor::Ingest",
      "kind": "method",
      "name": "Ingest",
      "file": "internal/transport/incident.go",
      "start_line": 91,
      "end_line": 91,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService",
      "kind": "struct",
      "name": "incidentService",
      "file": "internal/transport/incident.go",
      "start_line": 99,
      "end_line": 103,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService::CreateIncident",
      "kind": "method",
      "name": "CreateIncident",
      "file": "internal/transport/incident.go",
      "start_line": 105,
      "end_line": 143,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService::GetIncident",
      "kind": "method",
      "name": "GetIncident",
      "file": "internal/transport/incident.go",
      "start_line": 145,
      "end_line": 161,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService::ListIncidents",
      "kind": "method",
      "name": "ListIncidents",
      "file": "internal/transport/incident.go",
      "start_line": 163,
      "end_line": 187,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService::UpdateIncident",
      "kind": "method",
      "name": "UpdateIncident",
      "file": "internal/transport/incident.go",
      "start_line": 189,
      "end_line": 220,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentService::CloseIncident",
      "kind": "method",
      "name": "CloseIncident",
      "file": "internal/transport/incident.go",
      "start_line": 222,
      "end_line": 242,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "incidentError",
      "kind": "function",
      "name": "incidentError",
      "file": "internal/transport/incident.go",
      "start_line": 250,
      "end_line": 268,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents",
      "kind": "struct",
      "name": "fakeIncidents",
      "file": "internal/transport/incident_test.go",
      "start_line": 25,
      "end_line": 36,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents::Open",
      "kind": "method",
      "name": "Open",
      "file": "internal/transport/incident_test.go",
      "start_line": 38,
      "end_line": 41,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents::Get",
      "kind": "method",
      "name": "Get",
      "file": "internal/transport/incident_test.go",
      "start_line": 43,
      "end_line": 46,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents::List",
      "kind": "method",
      "name": "List",
      "file": "internal/transport/incident_test.go",
      "start_line": 48,
      "end_line": 51,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents::Update",
      "kind": "method",
      "name": "Update",
      "file": "internal/transport/incident_test.go",
      "start_line": 53,
      "end_line": 56,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeIncidents::Close",
      "kind": "method",
      "name": "Close",
      "file": "internal/transport/incident_test.go",
      "start_line": 58,
      "end_line": 61,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startIncidentServer",
      "kind": "function",
      "name": "startIncidentServer",
      "file": "internal/transport/incident_test.go",
      "start_line": 63,
      "end_line": 90,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "storedIncident",
      "kind": "function",
      "name": "storedIncident",
      "file": "internal/transport/incident_test.go",
      "start_line": 92,
      "end_line": 106,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateIncidentMapsRequestAndResponse",
      "kind": "function",
      "name": "TestCreateIncidentMapsRequestAndResponse",
      "file": "internal/transport/incident_test.go",
      "start_line": 108,
      "end_line": 156,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateIncidentRejectsAlertOriginAndFingerprint",
      "kind": "function",
      "name": "TestCreateIncidentRejectsAlertOriginAndFingerprint",
      "file": "internal/transport/incident_test.go",
      "start_line": 158,
      "end_line": 193,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateIncidentAcceptsUnspecifiedOrigin",
      "kind": "function",
      "name": "TestCreateIncidentAcceptsUnspecifiedOrigin",
      "file": "internal/transport/incident_test.go",
      "start_line": 195,
      "end_line": 207,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetIncidentRequiresID",
      "kind": "function",
      "name": "TestGetIncidentRequiresID",
      "file": "internal/transport/incident_test.go",
      "start_line": 209,
      "end_line": 220,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetIncidentNotFoundMapsToNotFound",
      "kind": "function",
      "name": "TestGetIncidentNotFoundMapsToNotFound",
      "file": "internal/transport/incident_test.go",
      "start_line": 222,
      "end_line": 230,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListIncidentsMapsFilterAndCursor",
      "kind": "function",
      "name": "TestListIncidentsMapsFilterAndCursor",
      "file": "internal/transport/incident_test.go",
      "start_line": 232,
      "end_line": 285,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListIncidentsUnspecifiedFilterIsUnfiltered",
      "kind": "function",
      "name": "TestListIncidentsUnspecifiedFilterIsUnfiltered",
      "file": "internal/transport/incident_test.go",
      "start_line": 289,
      "end_line": 303,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUpdateIncidentRequiresID",
      "kind": "function",
      "name": "TestUpdateIncidentRequiresID",
      "file": "internal/transport/incident_test.go",
      "start_line": 305,
      "end_line": 325,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUpdateIncidentMapsFields",
      "kind": "function",
      "name": "TestUpdateIncidentMapsFields",
      "file": "internal/transport/incident_test.go",
      "start_line": 327,
      "end_line": 355,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUpdateIncidentClosedMapsToFailedPrecondition",
      "kind": "function",
      "name": "TestUpdateIncidentClosedMapsToFailedPrecondition",
      "file": "internal/transport/incident_test.go",
      "start_line": 357,
      "end_line": 367,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUpdateIncidentTerminalStatusMapsToInvalidArgument",
      "kind": "function",
      "name": "TestUpdateIncidentTerminalStatusMapsToInvalidArgument",
      "file": "internal/transport/incident_test.go",
      "start_line": 369,
      "end_line": 383,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCloseIncidentMapsStatusAndReason",
      "kind": "function",
      "name": "TestCloseIncidentMapsStatusAndReason",
      "file": "internal/transport/incident_test.go",
      "start_line": 385,
      "end_line": 410,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCloseIncidentUnspecifiedStatusDefersToManager",
      "kind": "function",
      "name": "TestCloseIncidentUnspecifiedStatusDefersToManager",
      "file": "internal/transport/incident_test.go",
      "start_line": 414,
      "end_line": 425,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCloseIncidentRequiresID",
      "kind": "function",
      "name": "TestCloseIncidentRequiresID",
      "file": "internal/transport/incident_test.go",
      "start_line": 427,
      "end_line": 438,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCloseIncidentAlreadyClosedMapsToFailedPrecondition",
      "kind": "function",
      "name": "TestCloseIncidentAlreadyClosedMapsToFailedPrecondition",
      "file": "internal/transport/incident_test.go",
      "start_line": 440,
      "end_line": 449,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUnmappedManagerErrorIsInternal",
      "kind": "function",
      "name": "TestUnmappedManagerErrorIsInternal",
      "file": "internal/transport/incident_test.go",
      "start_line": 454,
      "end_line": 463,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestAlertRPCsRemainUnimplemented",
      "kind": "function",
      "name": "TestAlertRPCsRemainUnimplemented",
      "file": "internal/transport/incident_test.go",
      "start_line": 467,
      "end_line": 475,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUnimplementedMessagesNameTheirCause",
      "kind": "function",
      "name": "TestUnimplementedMessagesNameTheirCause",
      "file": "internal/transport/incident_test.go",
      "start_line": 481,
      "end_line": 543,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestNilManagerServesUnimplemented",
      "kind": "function",
      "name": "TestNilManagerServesUnimplemented",
      "file": "internal/transport/incident_test.go",
      "start_line": 547,
      "end_line": 556,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionLifecycle",
      "kind": "interface",
      "name": "SessionLifecycle",
      "file": "internal/transport/lifecycle.go",
      "start_line": 21,
      "end_line": 25,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "SessionLifecycle::Create",
      "kind": "method",
      "name": "Create",
      "file": "internal/transport/lifecycle.go",
      "start_line": 22,
      "end_line": 22,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionLifecycle::Cancel",
      "kind": "method",
      "name": "Cancel",
      "file": "internal/transport/lifecycle.go",
      "start_line": 23,
      "end_line": 23,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionLifecycle::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/transport/lifecycle.go",
      "start_line": 24,
      "end_line": 24,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionDefaults",
      "kind": "struct",
      "name": "SessionDefaults",
      "file": "internal/transport/lifecycle.go",
      "start_line": 29,
      "end_line": 36,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "errNoSessionManager",
      "kind": "variable",
      "name": "errNoSessionManager",
      "file": "internal/transport/lifecycle.go",
      "start_line": 42,
      "end_line": 43,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/transport/lifecycle.go",
      "start_line": 45,
      "end_line": 93,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::workspaceCommit",
      "kind": "method",
      "name": "workspaceCommit",
      "file": "internal/transport/lifecycle.go",
      "start_line": 98,
      "end_line": 103,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "internal/transport/lifecycle.go",
      "start_line": 105,
      "end_line": 139,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "internal/transport/lifecycle.go",
      "start_line": 146,
      "end_line": 161,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionError",
      "kind": "function",
      "name": "sessionError",
      "file": "internal/transport/lifecycle.go",
      "start_line": 165,
      "end_line": 186,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle",
      "kind": "struct",
      "name": "fakeLifecycle",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 25,
      "end_line": 34,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::Reopen",
      "kind": "method",
      "name": "Reopen",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 36,
      "end_line": 45,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::reopenCalls",
      "kind": "method",
      "name": "reopenCalls",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 47,
      "end_line": 51,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::Create",
      "kind": "method",
      "name": "Create",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 53,
      "end_line": 75,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::Cancel",
      "kind": "method",
      "name": "Cancel",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 77,
      "end_line": 87,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::cancelCalls",
      "kind": "method",
      "name": "cancelCalls",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 89,
      "end_line": 93,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeLifecycle::createCalls",
      "kind": "method",
      "name": "createCalls",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 95,
      "end_line": 99,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startLifecycleServer",
      "kind": "function",
      "name": "startLifecycleServer",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 107,
      "end_line": 134,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "wantCode",
      "kind": "function",
      "name": "wantCode",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 136,
      "end_line": 146,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateSessionMapsRequestAndDefaults",
      "kind": "function",
      "name": "TestCreateSessionMapsRequestAndDefaults",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 151,
      "end_line": 190,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateSessionUnspecifiedKindDefersToTheManager",
      "kind": "function",
      "name": "TestCreateSessionUnspecifiedKindDefersToTheManager",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 195,
      "end_line": 214,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateSessionRefusesAModelItCannotRun",
      "kind": "function",
      "name": "TestCreateSessionRefusesAModelItCannotRun",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 219,
      "end_line": 235,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateSessionPassesContextRefsThrough",
      "kind": "function",
      "name": "TestCreateSessionPassesContextRefsThrough",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 240,
      "end_line": 271,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCreateSessionErrorMapping",
      "kind": "function",
      "name": "TestCreateSessionErrorMapping",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 274,
      "end_line": 307,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCancelSessionSignalsTheManager",
      "kind": "function",
      "name": "TestCancelSessionSignalsTheManager",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 311,
      "end_line": 327,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCancelSessionOnAnEndedSessionHasNoEffect",
      "kind": "function",
      "name": "TestCancelSessionOnAnEndedSessionHasNoEffect",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 333,
      "end_line": 346,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestCancelSessionErrors",
      "kind": "function",
      "name": "TestCancelSessionErrors",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 348,
      "end_line": 363,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestLifecycleRPCsWithoutAManagerNameTheirCause",
      "kind": "function",
      "name": "TestLifecycleRPCsWithoutAManagerNameTheirCause",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 368,
      "end_line": 381,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSendMessageReopensThroughTheManager",
      "kind": "function",
      "name": "TestSendMessageReopensThroughTheManager",
      "file": "internal/transport/lifecycle_test.go",
      "start_line": 386,
      "end_line": 441,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "DownloadSigner",
      "kind": "interface",
      "name": "DownloadSigner",
      "file": "internal/transport/reads.go",
      "start_line": 19,
      "end_line": 21,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "DownloadSigner::PresignedURL",
      "kind": "method",
      "name": "PresignedURL",
      "file": "internal/transport/reads.go",
      "start_line": 20,
      "end_line": 20,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/transport/reads.go",
      "start_line": 29,
      "end_line": 42,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/transport/reads.go",
      "start_line": 48,
      "end_line": 65,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "internal/transport/reads.go",
      "start_line": 70,
      "end_line": 94,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/transport/reads.go",
      "start_line": 96,
      "end_line": 121,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/transport/reads.go",
      "start_line": 126,
      "end_line": 146,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/transport/reads.go",
      "start_line": 148,
      "end_line": 188,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "internal/transport/reads.go",
      "start_line": 195,
      "end_line": 226,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/transport/reads_test.go",
      "start_line": 19,
      "end_line": 29,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/transport/reads_test.go",
      "start_line": 31,
      "end_line": 41,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListIncidentArtifacts",
      "kind": "method",
      "name": "ListIncidentArtifacts",
      "file": "internal/transport/reads_test.go",
      "start_line": 43,
      "end_line": 53,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::GetReportRevision",
      "kind": "method",
      "name": "GetReportRevision",
      "file": "internal/transport/reads_test.go",
      "start_line": 55,
      "end_line": 65,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/transport/reads_test.go",
      "start_line": 67,
      "end_line": 77,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/transport/reads_test.go",
      "start_line": 79,
      "end_line": 89,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubSigner",
      "kind": "struct",
      "name": "stubSigner",
      "file": "internal/transport/reads_test.go",
      "start_line": 91,
      "end_line": 96,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubSigner::PresignedURL",
      "kind": "method",
      "name": "PresignedURL",
      "file": "internal/transport/reads_test.go",
      "start_line": 98,
      "end_line": 101,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startReadsServer",
      "kind": "function",
      "name": "startReadsServer",
      "file": "internal/transport/reads_test.go",
      "start_line": 103,
      "end_line": 127,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "ptr",
      "kind": "function",
      "name": "ptr",
      "file": "internal/transport/reads_test.go",
      "start_line": 129,
      "end_line": 129,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetSession",
      "kind": "function",
      "name": "TestGetSession",
      "file": "internal/transport/reads_test.go",
      "start_line": 131,
      "end_line": 148,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListSessionsIsScopedToTheIncident",
      "kind": "function",
      "name": "TestListSessionsIsScopedToTheIncident",
      "file": "internal/transport/reads_test.go",
      "start_line": 152,
      "end_line": 174,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListTurns",
      "kind": "function",
      "name": "TestListTurns",
      "file": "internal/transport/reads_test.go",
      "start_line": 178,
      "end_line": 201,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetReport",
      "kind": "function",
      "name": "TestGetReport",
      "file": "internal/transport/reads_test.go",
      "start_line": 204,
      "end_line": 225,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetReportByRevision",
      "kind": "function",
      "name": "TestGetReportByRevision",
      "file": "internal/transport/reads_test.go",
      "start_line": 230,
      "end_line": 267,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListReportRevisions",
      "kind": "function",
      "name": "TestListReportRevisions",
      "file": "internal/transport/reads_test.go",
      "start_line": 272,
      "end_line": 313,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListArtifactsScopes",
      "kind": "function",
      "name": "TestListArtifactsScopes",
      "file": "internal/transport/reads_test.go",
      "start_line": 318,
      "end_line": 358,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListArtifactsByRevision",
      "kind": "function",
      "name": "TestListArtifactsByRevision",
      "file": "internal/transport/reads_test.go",
      "start_line": 362,
      "end_line": 404,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGetArtifactDownload",
      "kind": "function",
      "name": "TestGetArtifactDownload",
      "file": "internal/transport/reads_test.go",
      "start_line": 406,
      "end_line": 455,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "errNoSessionStore",
      "kind": "variable",
      "name": "errNoSessionStore",
      "file": "internal/transport/session.go",
      "start_line": 14,
      "end_line": 15,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService",
      "kind": "struct",
      "name": "unimplementedSessionService",
      "file": "internal/transport/session.go",
      "start_line": 19,
      "end_line": 19,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::CreateSession",
      "kind": "method",
      "name": "CreateSession",
      "file": "internal/transport/session.go",
      "start_line": 21,
      "end_line": 23,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/transport/session.go",
      "start_line": 25,
      "end_line": 27,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/transport/session.go",
      "start_line": 29,
      "end_line": 31,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::CancelSession",
      "kind": "method",
      "name": "CancelSession",
      "file": "internal/transport/session.go",
      "start_line": 33,
      "end_line": 35,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::SendMessage",
      "kind": "method",
      "name": "SendMessage",
      "file": "internal/transport/session.go",
      "start_line": 37,
      "end_line": 39,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::ListTurns",
      "kind": "method",
      "name": "ListTurns",
      "file": "internal/transport/session.go",
      "start_line": 41,
      "end_line": 43,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "internal/transport/session.go",
      "start_line": 45,
      "end_line": 47,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/transport/session.go",
      "start_line": 49,
      "end_line": 51,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/transport/session.go",
      "start_line": 53,
      "end_line": 55,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/transport/session.go",
      "start_line": 57,
      "end_line": 59,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "unimplementedSessionService::GetArtifactDownload",
      "kind": "method",
      "name": "GetArtifactDownload",
      "file": "internal/transport/session.go",
      "start_line": 61,
      "end_line": 63,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionSettler",
      "kind": "interface",
      "name": "SessionSettler",
      "file": "internal/transport/settle.go",
      "start_line": 19,
      "end_line": 21,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "SessionSettler::AwaitSettled",
      "kind": "method",
      "name": "AwaitSettled",
      "file": "internal/transport/settle.go",
      "start_line": 20,
      "end_line": 20,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "_",
      "kind": "variable",
      "name": "_",
      "file": "internal/transport/settle.go",
      "start_line": 23,
      "end_line": 23,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "settlingLifecycle",
      "kind": "struct",
      "name": "settlingLifecycle",
      "file": "internal/transport/settle_test.go",
      "start_line": 22,
      "end_line": 26,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "newSettlingLifecycle",
      "kind": "function",
      "name": "newSettlingLifecycle",
      "file": "internal/transport/settle_test.go",
      "start_line": 28,
      "end_line": 30,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "settlingLifecycle::AwaitSettled",
      "kind": "method",
      "name": "AwaitSettled",
      "file": "internal/transport/settle_test.go",
      "start_line": 32,
      "end_line": 38,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startSettlingWatchServer",
      "kind": "function",
      "name": "startSettlingWatchServer",
      "file": "internal/transport/settle_test.go",
      "start_line": 40,
      "end_line": 65,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "collect",
      "kind": "function",
      "name": "collect",
      "file": "internal/transport/settle_test.go",
      "start_line": 69,
      "end_line": 81,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionLiveStreamEndsOnTheTerminalState",
      "kind": "function",
      "name": "TestWatchSessionLiveStreamEndsOnTheTerminalState",
      "file": "internal/transport/settle_test.go",
      "start_line": 90,
      "end_line": 162,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionReportsNoTransitionThatDidNotHappen",
      "kind": "function",
      "name": "TestWatchSessionReportsNoTransitionThatDidNotHappen",
      "file": "internal/transport/settle_test.go",
      "start_line": 167,
      "end_line": 197,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "kinds",
      "kind": "function",
      "name": "kinds",
      "file": "internal/transport/settle_test.go",
      "start_line": 199,
      "end_line": 221,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionKeepsBeatingWhileItWaitsToSettle",
      "kind": "function",
      "name": "TestWatchSessionKeepsBeatingWhileItWaitsToSettle",
      "file": "internal/transport/settle_test.go",
      "start_line": 235,
      "end_line": 299,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService",
      "kind": "struct",
      "name": "systemService",
      "file": "internal/transport/system.go",
      "start_line": 21,
      "end_line": 30,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::GetSystemStatus",
      "kind": "method",
      "name": "GetSystemStatus",
      "file": "internal/transport/system.go",
      "start_line": 38,
      "end_line": 54,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::applyWorkspaceStatus",
      "kind": "method",
      "name": "applyWorkspaceStatus",
      "file": "internal/transport/system.go",
      "start_line": 62,
      "end_line": 73,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::ListMCPServers",
      "kind": "method",
      "name": "ListMCPServers",
      "file": "internal/transport/system.go",
      "start_line": 75,
      "end_line": 82,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::ListSkills",
      "kind": "method",
      "name": "ListSkills",
      "file": "internal/transport/system.go",
      "start_line": 84,
      "end_line": 98,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::ListTemplates",
      "kind": "method",
      "name": "ListTemplates",
      "file": "internal/transport/system.go",
      "start_line": 100,
      "end_line": 106,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::SyncWorkspace",
      "kind": "method",
      "name": "SyncWorkspace",
      "file": "internal/transport/system.go",
      "start_line": 108,
      "end_line": 132,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::TriggerAlert",
      "kind": "method",
      "name": "TriggerAlert",
      "file": "internal/transport/system.go",
      "start_line": 134,
      "end_line": 140,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::mcpServers",
      "kind": "method",
      "name": "mcpServers",
      "file": "internal/transport/system.go",
      "start_line": 146,
      "end_line": 193,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "systemService::databaseConnected",
      "kind": "method",
      "name": "databaseConnected",
      "file": "internal/transport/system.go",
      "start_line": 195,
      "end_line": 202,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubRegistry",
      "kind": "struct",
      "name": "stubRegistry",
      "file": "internal/transport/system_test.go",
      "start_line": 21,
      "end_line": 25,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubRegistry::Servers",
      "kind": "method",
      "name": "Servers",
      "file": "internal/transport/system_test.go",
      "start_line": 27,
      "end_line": 27,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubRegistry::FailedServers",
      "kind": "method",
      "name": "FailedServers",
      "file": "internal/transport/system_test.go",
      "start_line": 28,
      "end_line": 28,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubRegistry::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/transport/system_test.go",
      "start_line": 29,
      "end_line": 29,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubPinger",
      "kind": "struct",
      "name": "stubPinger",
      "file": "internal/transport/system_test.go",
      "start_line": 31,
      "end_line": 31,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubPinger::Ping",
      "kind": "method",
      "name": "Ping",
      "file": "internal/transport/system_test.go",
      "start_line": 33,
      "end_line": 33,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startStatusServer",
      "kind": "function",
      "name": "startStatusServer",
      "file": "internal/transport/system_test.go",
      "start_line": 36,
      "end_line": 58,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "wiredOptions",
      "kind": "function",
      "name": "wiredOptions",
      "file": "internal/transport/system_test.go",
      "start_line": 62,
      "end_line": 83,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsWiredSubsystems",
      "kind": "function",
      "name": "TestSystemStatusReportsWiredSubsystems",
      "file": "internal/transport/system_test.go",
      "start_line": 85,
      "end_line": 104,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsUnreachableMCPServer",
      "kind": "function",
      "name": "TestSystemStatusReportsUnreachableMCPServer",
      "file": "internal/transport/system_test.go",
      "start_line": 109,
      "end_line": 151,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsDatabaseDown",
      "kind": "function",
      "name": "TestSystemStatusReportsDatabaseDown",
      "file": "internal/transport/system_test.go",
      "start_line": 153,
      "end_line": 167,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusWithNoSubsystemsWired",
      "kind": "function",
      "name": "TestSystemStatusWithNoSubsystemsWired",
      "file": "internal/transport/system_test.go",
      "start_line": 172,
      "end_line": 196,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestListSkillsReportsCatalog",
      "kind": "function",
      "name": "TestListSkillsReportsCatalog",
      "file": "internal/transport/system_test.go",
      "start_line": 198,
      "end_line": 221,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestUnbuiltSystemRPCsRemainUnimplemented",
      "kind": "function",
      "name": "TestUnbuiltSystemRPCsRemainUnimplemented",
      "file": "internal/transport/system_test.go",
      "start_line": 225,
      "end_line": 244,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestServerOptionsTimeoutsApplied",
      "kind": "function",
      "name": "TestServerOptionsTimeoutsApplied",
      "file": "internal/transport/system_test.go",
      "start_line": 249,
      "end_line": 273,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "ToolRegistry",
      "kind": "interface",
      "name": "ToolRegistry",
      "file": "internal/transport/transport.go",
      "start_line": 29,
      "end_line": 33,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "ToolRegistry::Servers",
      "kind": "method",
      "name": "Servers",
      "file": "internal/transport/transport.go",
      "start_line": 30,
      "end_line": 30,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "ToolRegistry::FailedServers",
      "kind": "method",
      "name": "FailedServers",
      "file": "internal/transport/transport.go",
      "start_line": 31,
      "end_line": 31,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "ToolRegistry::Tools",
      "kind": "method",
      "name": "Tools",
      "file": "internal/transport/transport.go",
      "start_line": 32,
      "end_line": 32,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "Pinger",
      "kind": "interface",
      "name": "Pinger",
      "file": "internal/transport/transport.go",
      "start_line": 36,
      "end_line": 38,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "Pinger::Ping",
      "kind": "method",
      "name": "Ping",
      "file": "internal/transport/transport.go",
      "start_line": 37,
      "end_line": 37,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "WorkspaceSyncer",
      "kind": "interface",
      "name": "WorkspaceSyncer",
      "file": "internal/transport/transport.go",
      "start_line": 47,
      "end_line": 50,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "WorkspaceSyncer::Status",
      "kind": "method",
      "name": "Status",
      "file": "internal/transport/transport.go",
      "start_line": 48,
      "end_line": 48,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "WorkspaceSyncer::Sync",
      "kind": "method",
      "name": "Sync",
      "file": "internal/transport/transport.go",
      "start_line": 49,
      "end_line": 49,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "Options",
      "kind": "struct",
      "name": "Options",
      "file": "internal/transport/transport.go",
      "start_line": 58,
      "end_line": 123,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "NewMux",
      "kind": "function",
      "name": "NewMux",
      "file": "internal/transport/transport.go",
      "start_line": 128,
      "end_line": 190,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "internal/transport/transport.go::route:/healthz",
      "kind": "route",
      "name": "ANY /healthz",
      "file": "internal/transport/transport.go",
      "start_line": 180,
      "end_line": 180,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "Server",
      "kind": "struct",
      "name": "Server",
      "file": "internal/transport/transport.go",
      "start_line": 193,
      "end_line": 198,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "ServerOptions",
      "kind": "struct",
      "name": "ServerOptions",
      "file": "internal/transport/transport.go",
      "start_line": 203,
      "end_line": 207,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "NewServer",
      "kind": "function",
      "name": "NewServer",
      "file": "internal/transport/transport.go",
      "start_line": 219,
      "end_line": 249,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "Server::Addr",
      "kind": "method",
      "name": "Addr",
      "file": "internal/transport/transport.go",
      "start_line": 253,
      "end_line": 255,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "Server::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/transport/transport.go",
      "start_line": 259,
      "end_line": 283,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startServer",
      "kind": "function",
      "name": "startServer",
      "file": "internal/transport/transport_test.go",
      "start_line": 23,
      "end_line": 47,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestHealthz",
      "kind": "function",
      "name": "TestHealthz",
      "file": "internal/transport/transport_test.go",
      "start_line": 49,
      "end_line": 68,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusOverConnectProtocol",
      "kind": "function",
      "name": "TestSystemStatusOverConnectProtocol",
      "file": "internal/transport/transport_test.go",
      "start_line": 70,
      "end_line": 84,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "grpcClient",
      "kind": "function",
      "name": "grpcClient",
      "file": "internal/transport/transport_test.go",
      "start_line": 89,
      "end_line": 93,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGRPCProtocolOnSamePort",
      "kind": "function",
      "name": "TestGRPCProtocolOnSamePort",
      "file": "internal/transport/transport_test.go",
      "start_line": 95,
      "end_line": 106,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGRPCWebProtocolOnSamePort",
      "kind": "function",
      "name": "TestGRPCWebProtocolOnSamePort",
      "file": "internal/transport/transport_test.go",
      "start_line": 108,
      "end_line": 119,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestH2CPriorKnowledge",
      "kind": "function",
      "name": "TestH2CPriorKnowledge",
      "file": "internal/transport/transport_test.go",
      "start_line": 121,
      "end_line": 141,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestIncidentAndSessionServicesAreMounted",
      "kind": "function",
      "name": "TestIncidentAndSessionServicesAreMounted",
      "file": "internal/transport/transport_test.go",
      "start_line": 143,
      "end_line": 163,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestGracefulShutdownDrainsInFlightRequest",
      "kind": "function",
      "name": "TestGracefulShutdownDrainsInFlightRequest",
      "file": "internal/transport/transport_test.go",
      "start_line": 165,
      "end_line": 228,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "internal/transport/transport_test.go::route:/slow",
      "kind": "route",
      "name": "ANY /slow",
      "file": "internal/transport/transport_test.go",
      "start_line": 174,
      "end_line": 174,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader",
      "kind": "interface",
      "name": "SessionReader",
      "file": "internal/transport/watch.go",
      "start_line": 21,
      "end_line": 32,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/transport/watch.go",
      "start_line": 22,
      "end_line": 22,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListSessions",
      "kind": "method",
      "name": "ListSessions",
      "file": "internal/transport/watch.go",
      "start_line": 23,
      "end_line": 23,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/transport/watch.go",
      "start_line": 24,
      "end_line": 24,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/transport/watch.go",
      "start_line": 25,
      "end_line": 25,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/transport/watch.go",
      "start_line": 26,
      "end_line": 26,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::GetReportRevision",
      "kind": "method",
      "name": "GetReportRevision",
      "file": "internal/transport/watch.go",
      "start_line": 27,
      "end_line": 27,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListReportRevisions",
      "kind": "method",
      "name": "ListReportRevisions",
      "file": "internal/transport/watch.go",
      "start_line": 28,
      "end_line": 28,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListArtifacts",
      "kind": "method",
      "name": "ListArtifacts",
      "file": "internal/transport/watch.go",
      "start_line": 29,
      "end_line": 29,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::ListIncidentArtifacts",
      "kind": "method",
      "name": "ListIncidentArtifacts",
      "file": "internal/transport/watch.go",
      "start_line": 30,
      "end_line": 30,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "SessionReader::GetArtifact",
      "kind": "method",
      "name": "GetArtifact",
      "file": "internal/transport/watch.go",
      "start_line": 31,
      "end_line": 31,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TurnSubscriber",
      "kind": "interface",
      "name": "TurnSubscriber",
      "file": "internal/transport/watch.go",
      "start_line": 35,
      "end_line": 37,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TurnSubscriber::Subscribe",
      "kind": "method",
      "name": "Subscribe",
      "file": "internal/transport/watch.go",
      "start_line": 36,
      "end_line": 36,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService",
      "kind": "struct",
      "name": "sessionService",
      "file": "internal/transport/watch.go",
      "start_line": 49,
      "end_line": 56,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::WatchSession",
      "kind": "method",
      "name": "WatchSession",
      "file": "internal/transport/watch.go",
      "start_line": 69,
      "end_line": 134,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::streamLive",
      "kind": "method",
      "name": "streamLive",
      "file": "internal/transport/watch.go",
      "start_line": 138,
      "end_line": 179,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "heartbeatEvent",
      "kind": "function",
      "name": "heartbeatEvent",
      "file": "internal/transport/watch.go",
      "start_line": 181,
      "end_line": 187,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::finishLive",
      "kind": "method",
      "name": "finishLive",
      "file": "internal/transport/watch.go",
      "start_line": 202,
      "end_line": 241,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "awaitSettledBeating",
      "kind": "function",
      "name": "awaitSettledBeating",
      "file": "internal/transport/watch.go",
      "start_line": 251,
      "end_line": 273,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "eventToProto",
      "kind": "function",
      "name": "eventToProto",
      "file": "internal/transport/watch.go",
      "start_line": 279,
      "end_line": 299,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::snapshot",
      "kind": "method",
      "name": "snapshot",
      "file": "internal/transport/watch.go",
      "start_line": 303,
      "end_line": 344,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "sessionService::sendReportIfAny",
      "kind": "method",
      "name": "sendReportIfAny",
      "file": "internal/transport/watch.go",
      "start_line": 349,
      "end_line": 371,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "isTerminal",
      "kind": "function",
      "name": "isTerminal",
      "file": "internal/transport/watch.go",
      "start_line": 373,
      "end_line": 380,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "toolStartToProto",
      "kind": "function",
      "name": "toolStartToProto",
      "file": "internal/transport/watch.go",
      "start_line": 382,
      "end_line": 397,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "heldSettler",
      "kind": "struct",
      "name": "heldSettler",
      "file": "internal/transport/watch_internal_test.go",
      "start_line": 12,
      "end_line": 15,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "newHeldSettler",
      "kind": "function",
      "name": "newHeldSettler",
      "file": "internal/transport/watch_internal_test.go",
      "start_line": 17,
      "end_line": 19,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "heldSettler::AwaitSettled",
      "kind": "method",
      "name": "AwaitSettled",
      "file": "internal/transport/watch_internal_test.go",
      "start_line": 21,
      "end_line": 28,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestAwaitSettledBeatingSendsAHeartbeatOnEveryBeat",
      "kind": "function",
      "name": "TestAwaitSettledBeatingSendsAHeartbeatOnEveryBeat",
      "file": "internal/transport/watch_internal_test.go",
      "start_line": 33,
      "end_line": 66,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestAwaitSettledBeatingStopsWhenAHeartbeatFails",
      "kind": "function",
      "name": "TestAwaitSettledBeatingStopsWhenAHeartbeatFails",
      "file": "internal/transport/watch_internal_test.go",
      "start_line": 72,
      "end_line": 102,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions",
      "kind": "struct",
      "name": "fakeSessions",
      "file": "internal/transport/watch_test.go",
      "start_line": 25,
      "end_line": 38,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::GetSession",
      "kind": "method",
      "name": "GetSession",
      "file": "internal/transport/watch_test.go",
      "start_line": 40,
      "end_line": 51,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListSessionTurns",
      "kind": "method",
      "name": "ListSessionTurns",
      "file": "internal/transport/watch_test.go",
      "start_line": 53,
      "end_line": 66,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::ListSessionContextRefs",
      "kind": "method",
      "name": "ListSessionContextRefs",
      "file": "internal/transport/watch_test.go",
      "start_line": 68,
      "end_line": 72,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::GetReport",
      "kind": "method",
      "name": "GetReport",
      "file": "internal/transport/watch_test.go",
      "start_line": 74,
      "end_line": 82,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "fakeSessions::appendTurn",
      "kind": "method",
      "name": "appendTurn",
      "file": "internal/transport/watch_test.go",
      "start_line": 84,
      "end_line": 88,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "runningSession",
      "kind": "function",
      "name": "runningSession",
      "file": "internal/transport/watch_test.go",
      "start_line": 92,
      "end_line": 102,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "turn",
      "kind": "function",
      "name": "turn",
      "file": "internal/transport/watch_test.go",
      "start_line": 104,
      "end_line": 113,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "startWatchServer",
      "kind": "function",
      "name": "startWatchServer",
      "file": "internal/transport/watch_test.go",
      "start_line": 118,
      "end_line": 143,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionMidRunDeliversHistoryThenLive",
      "kind": "function",
      "name": "TestWatchSessionMidRunDeliversHistoryThenLive",
      "file": "internal/transport/watch_test.go",
      "start_line": 148,
      "end_line": 201,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionAfterSeqResumesExactly",
      "kind": "function",
      "name": "TestWatchSessionAfterSeqResumesExactly",
      "file": "internal/transport/watch_test.go",
      "start_line": 205,
      "end_line": 241,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionDropsTurnsAlreadyInTheSnapshot",
      "kind": "function",
      "name": "TestWatchSessionDropsTurnsAlreadyInTheSnapshot",
      "file": "internal/transport/watch_test.go",
      "start_line": 247,
      "end_line": 293,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionToolStartPrecedesResult",
      "kind": "function",
      "name": "TestWatchSessionToolStartPrecedesResult",
      "file": "internal/transport/watch_test.go",
      "start_line": 297,
      "end_line": 361,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionDisconnectLeaksNoSubscription",
      "kind": "function",
      "name": "TestWatchSessionDisconnectLeaksNoSubscription",
      "file": "internal/transport/watch_test.go",
      "start_line": 366,
      "end_line": 401,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionCompletedSessionReplaysAndCloses",
      "kind": "function",
      "name": "TestWatchSessionCompletedSessionReplaysAndCloses",
      "file": "internal/transport/watch_test.go",
      "start_line": 406,
      "end_line": 453,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionFinishedRunClosesWithoutTerminalStatus",
      "kind": "function",
      "name": "TestWatchSessionFinishedRunClosesWithoutTerminalStatus",
      "file": "internal/transport/watch_test.go",
      "start_line": 467,
      "end_line": 517,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionClosesWhenTheAgentFinishes",
      "kind": "function",
      "name": "TestWatchSessionClosesWhenTheAgentFinishes",
      "file": "internal/transport/watch_test.go",
      "start_line": 521,
      "end_line": 548,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionRejectsBadRequests",
      "kind": "function",
      "name": "TestWatchSessionRejectsBadRequests",
      "file": "internal/transport/watch_test.go",
      "start_line": 550,
      "end_line": 585,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWatchSessionUnimplementedWithoutAStore",
      "kind": "function",
      "name": "TestWatchSessionUnimplementedWithoutAStore",
      "file": "internal/transport/watch_test.go",
      "start_line": 589,
      "end_line": 613,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "alertmanagerPayload",
      "kind": "struct",
      "name": "alertmanagerPayload",
      "file": "internal/transport/webhook.go",
      "start_line": 23,
      "end_line": 27,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "alertmanagerAlert",
      "kind": "struct",
      "name": "alertmanagerAlert",
      "file": "internal/transport/webhook.go",
      "start_line": 29,
      "end_line": 36,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "webhookResponse",
      "kind": "struct",
      "name": "webhookResponse",
      "file": "internal/transport/webhook.go",
      "start_line": 39,
      "end_line": 41,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "webhookHandler",
      "kind": "function",
      "name": "webhookHandler",
      "file": "internal/transport/webhook.go",
      "start_line": 48,
      "end_line": 89,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "alertGroup",
      "kind": "function",
      "name": "alertGroup",
      "file": "internal/transport/webhook.go",
      "start_line": 91,
      "end_line": 108,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "nonZeroTime",
      "kind": "function",
      "name": "nonZeroTime",
      "file": "internal/transport/webhook.go",
      "start_line": 113,
      "end_line": 118,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "recordingIngestor",
      "kind": "struct",
      "name": "recordingIngestor",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 20,
      "end_line": 25,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "recordingIngestor::Ingest",
      "kind": "method",
      "name": "Ingest",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 27,
      "end_line": 36,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "postWebhook",
      "kind": "function",
      "name": "postWebhook",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 63,
      "end_line": 69,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWebhookMapsAlertmanagerPayload",
      "kind": "function",
      "name": "TestWebhookMapsAlertmanagerPayload",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 71,
      "end_line": 105,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWebhookStatusCodes",
      "kind": "function",
      "name": "TestWebhookStatusCodes",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 109,
      "end_line": 140,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestWebhookIngestOutlivesTheRequest",
      "kind": "function",
      "name": "TestWebhookIngestOutlivesTheRequest",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 143,
      "end_line": 153,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestNewMuxMountsWebhookAtConfiguredPath",
      "kind": "function",
      "name": "TestNewMuxMountsWebhookAtConfiguredPath",
      "file": "internal/transport/webhook_internal_test.go",
      "start_line": 155,
      "end_line": 183,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubSyncer",
      "kind": "struct",
      "name": "stubSyncer",
      "file": "internal/transport/workspace_test.go",
      "start_line": 21,
      "end_line": 27,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubSyncer::Status",
      "kind": "method",
      "name": "Status",
      "file": "internal/transport/workspace_test.go",
      "start_line": 29,
      "end_line": 29,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "stubSyncer::Sync",
      "kind": "method",
      "name": "Sync",
      "file": "internal/transport/workspace_test.go",
      "start_line": 31,
      "end_line": 38,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "workspaceClient",
      "kind": "function",
      "name": "workspaceClient",
      "file": "internal/transport/workspace_test.go",
      "start_line": 40,
      "end_line": 45,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsWorkspaceRevision",
      "kind": "function",
      "name": "TestSystemStatusReportsWorkspaceRevision",
      "file": "internal/transport/workspace_test.go",
      "start_line": 47,
      "end_line": 73,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsStaleWorkspace",
      "kind": "function",
      "name": "TestSystemStatusReportsStaleWorkspace",
      "file": "internal/transport/workspace_test.go",
      "start_line": 79,
      "end_line": 107,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSystemStatusReportsNeverSyncedWorkspace",
      "kind": "function",
      "name": "TestSystemStatusReportsNeverSyncedWorkspace",
      "file": "internal/transport/workspace_test.go",
      "start_line": 111,
      "end_line": 129,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSyncWorkspaceReturnsTheNewRevision",
      "kind": "function",
      "name": "TestSyncWorkspaceReturnsTheNewRevision",
      "file": "internal/transport/workspace_test.go",
      "start_line": 131,
      "end_line": 152,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestSyncWorkspaceFailureIsUnavailable",
      "kind": "function",
      "name": "TestSyncWorkspaceFailureIsUnavailable",
      "file": "internal/transport/workspace_test.go",
      "start_line": 157,
      "end_line": 169,
      "page": "watch-streams-read-apis-webhooks-and-proto-conversion"
    },
    {
      "id": "TestAfterSyncRunsOnSuccessOnly",
      "kind": "function",
      "name": "TestAfterSyncRunsOnSuccessOnly",
      "file": "internal/workspace/aftersync_test.go",
      "start_line": 15,
      "end_line": 63,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestAfterSyncHoldsTheTreeAtItsRevision",
      "kind": "function",
      "name": "TestAfterSyncHoldsTheTreeAtItsRevision",
      "file": "internal/workspace/aftersync_test.go",
      "start_line": 69,
      "end_line": 133,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "stringValue",
      "kind": "function",
      "name": "stringValue",
      "file": "internal/workspace/args.go",
      "start_line": 16,
      "end_line": 23,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "requiredString",
      "kind": "function",
      "name": "requiredString",
      "file": "internal/workspace/args.go",
      "start_line": 25,
      "end_line": 31,
      "page": "workspace-sandbox-client-and-built-in-tools"
    },
    {
      "id": "stringArg",
      "kind": "function",
      "name": "stringArg",
      "file": "internal/workspace/args.go",
      "start_line": 33,
      "end_line": 38,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "boolArg",
      "kind": "function",
      "name": "boolArg",
      "file": "internal/workspace/args.go",
      "start_line": 40,
      "end_line": 49,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "intArg",
      "kind": "function",
      "name": "intArg",
      "file": "internal/workspace/args.go",
      "start_line": 51,
      "end_line": 66,
      "page": "workspace-sandbox-client-and-built-in-tools"
    },
    {
      "id": "splitLines",
      "kind": "function",
      "name": "splitLines",
      "file": "internal/workspace/args.go",
      "start_line": 70,
      "end_line": 79,
      "page": "workspace-sandbox-client-and-built-in-tools"
    },
    {
      "id": "displayPath",
      "kind": "function",
      "name": "displayPath",
      "file": "internal/workspace/args.go",
      "start_line": 84,
      "end_line": 90,
      "page": "workspace-sandbox-client-and-built-in-tools"
    },
    {
      "id": "describeEntry",
      "kind": "function",
      "name": "describeEntry",
      "file": "internal/workspace/args.go",
      "start_line": 92,
      "end_line": 107,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "friendlyFSError",
      "kind": "function",
      "name": "friendlyFSError",
      "file": "internal/workspace/args.go",
      "start_line": 112,
      "end_line": 125,
      "page": "workspace-sandbox-client-and-built-in-tools"
    },
    {
      "id": "humanBytes",
      "kind": "function",
      "name": "humanBytes",
      "file": "internal/workspace/args.go",
      "start_line": 127,
      "end_line": 136,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "tool",
      "kind": "struct",
      "name": "tool",
      "file": "internal/workspace/client.go",
      "start_line": 38,
      "end_line": 41,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Client",
      "kind": "struct",
      "name": "Client",
      "file": "internal/workspace/client.go",
      "start_line": 49,
      "end_line": 52,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "New",
      "kind": "function",
      "name": "New",
      "file": "internal/workspace/client.go",
      "start_line": 61,
      "end_line": 72,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Client::Root",
      "kind": "method",
      "name": "Root",
      "file": "internal/workspace/client.go",
      "start_line": 76,
      "end_line": 76,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Client::ListTools",
      "kind": "method",
      "name": "ListTools",
      "file": "internal/workspace/client.go",
      "start_line": 82,
      "end_line": 89,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Client::CallTool",
      "kind": "method",
      "name": "CallTool",
      "file": "internal/workspace/client.go",
      "start_line": 100,
      "end_line": 109,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "errorResult",
      "kind": "function",
      "name": "errorResult",
      "file": "internal/workspace/client.go",
      "start_line": 115,
      "end_line": 117,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "schema",
      "kind": "function",
      "name": "schema",
      "file": "internal/workspace/client.go",
      "start_line": 122,
      "end_line": 127,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "builtins",
      "kind": "variable",
      "name": "builtins",
      "file": "internal/workspace/handlers.go",
      "start_line": 32,
      "end_line": 117,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "listHandler",
      "kind": "function",
      "name": "listHandler",
      "file": "internal/workspace/handlers.go",
      "start_line": 119,
      "end_line": 181,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "readHandler",
      "kind": "function",
      "name": "readHandler",
      "file": "internal/workspace/handlers.go",
      "start_line": 183,
      "end_line": 265,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "grepHandler",
      "kind": "function",
      "name": "grepHandler",
      "file": "internal/workspace/handlers.go",
      "start_line": 267,
      "end_line": 352,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "writeHandler",
      "kind": "function",
      "name": "writeHandler",
      "file": "internal/workspace/handlers.go",
      "start_line": 354,
      "end_line": 386,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "editHandler",
      "kind": "function",
      "name": "editHandler",
      "file": "internal/workspace/handlers.go",
      "start_line": 388,
      "end_line": 455,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "seededPrefixes",
      "kind": "variable",
      "name": "seededPrefixes",
      "file": "internal/workspace/materialize.go",
      "start_line": 24,
      "end_line": 24,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "MaterializeResult",
      "kind": "struct",
      "name": "MaterializeResult",
      "file": "internal/workspace/materialize.go",
      "start_line": 27,
      "end_line": 35,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::Materialize",
      "kind": "method",
      "name": "Materialize",
      "file": "internal/workspace/materialize.go",
      "start_line": 55,
      "end_line": 106,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "writeBlob",
      "kind": "function",
      "name": "writeBlob",
      "file": "internal/workspace/materialize.go",
      "start_line": 108,
      "end_line": 129,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "syncedTo",
      "kind": "function",
      "name": "syncedTo",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 15,
      "end_line": 22,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "readFileOrEmpty",
      "kind": "function",
      "name": "readFileOrEmpty",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 24,
      "end_line": 34,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestMaterializeWritesTheSeededTreesAtThePinnedCommit",
      "kind": "function",
      "name": "TestMaterializeWritesTheSeededTreesAtThePinnedCommit",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 36,
      "end_line": 81,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestMaterializeSkipsSymlinks",
      "kind": "function",
      "name": "TestMaterializeSkipsSymlinks",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 83,
      "end_line": 122,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestMaterializeRefusesAnythingButAKnownCommit",
      "kind": "function",
      "name": "TestMaterializeRefusesAnythingButAKnownCommit",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 124,
      "end_line": 139,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestMaterializeIsUnaffectedByAConcurrentSync",
      "kind": "function",
      "name": "TestMaterializeIsUnaffectedByAConcurrentSync",
      "file": "internal/workspace/materialize_test.go",
      "start_line": 146,
      "end_line": 177,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::Run",
      "kind": "method",
      "name": "Run",
      "file": "internal/workspace/run.go",
      "start_line": 25,
      "end_line": 46,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "denyWritePrefixes",
      "kind": "variable",
      "name": "denyWritePrefixes",
      "file": "internal/workspace/sandbox.go",
      "start_line": 19,
      "end_line": 19,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "ReadOnlyPrefixes",
      "kind": "function",
      "name": "ReadOnlyPrefixes",
      "file": "internal/workspace/sandbox.go",
      "start_line": 32,
      "end_line": 36,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "errEscape",
      "kind": "variable",
      "name": "errEscape",
      "file": "internal/workspace/sandbox.go",
      "start_line": 42,
      "end_line": 42,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "resolveRoot",
      "kind": "function",
      "name": "resolveRoot",
      "file": "internal/workspace/sandbox.go",
      "start_line": 55,
      "end_line": 68,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "resolve",
      "kind": "function",
      "name": "resolve",
      "file": "internal/workspace/sandbox.go",
      "start_line": 88,
      "end_line": 115,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "resolveExisting",
      "kind": "function",
      "name": "resolveExisting",
      "file": "internal/workspace/sandbox.go",
      "start_line": 132,
      "end_line": 183,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "openRoot",
      "kind": "function",
      "name": "openRoot",
      "file": "internal/workspace/sandbox.go",
      "start_line": 202,
      "end_line": 212,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "withinRoot",
      "kind": "function",
      "name": "withinRoot",
      "file": "internal/workspace/sandbox.go",
      "start_line": 217,
      "end_line": 222,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "checkWritable",
      "kind": "function",
      "name": "checkWritable",
      "file": "internal/workspace/sandbox.go",
      "start_line": 258,
      "end_line": 272,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "denyFirstElement",
      "kind": "function",
      "name": "denyFirstElement",
      "file": "internal/workspace/sandbox.go",
      "start_line": 276,
      "end_line": 291,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "validateSymlinks",
      "kind": "function",
      "name": "validateSymlinks",
      "file": "internal/workspace/symlinks.go",
      "start_line": 34,
      "end_line": 67,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "symlinkProblem",
      "kind": "function",
      "name": "symlinkProblem",
      "file": "internal/workspace/symlinks.go",
      "start_line": 72,
      "end_line": 84,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "resolveLink",
      "kind": "function",
      "name": "resolveLink",
      "file": "internal/workspace/symlinks.go",
      "start_line": 96,
      "end_line": 168,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "linkTarget",
      "kind": "function",
      "name": "linkTarget",
      "file": "internal/workspace/symlinks.go",
      "start_line": 172,
      "end_line": 174,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "treeFile",
      "kind": "struct",
      "name": "treeFile",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 25,
      "end_line": 28,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "file",
      "kind": "function",
      "name": "file",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 30,
      "end_line": 30,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "symlink",
      "kind": "function",
      "name": "symlink",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 31,
      "end_line": 31,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "putBlob",
      "kind": "function",
      "name": "putBlob",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 33,
      "end_line": 52,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "putTree",
      "kind": "function",
      "name": "putTree",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 56,
      "end_line": 92,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "memOrigin",
      "kind": "struct",
      "name": "memOrigin",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 97,
      "end_line": 102,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "newMemOrigin",
      "kind": "function",
      "name": "newMemOrigin",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 104,
      "end_line": 110,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "memOrigin::url",
      "kind": "method",
      "name": "url",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 112,
      "end_line": 112,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "memOrigin::commit",
      "kind": "method",
      "name": "commit",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 115,
      "end_line": 139,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "treeOf",
      "kind": "function",
      "name": "treeOf",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 141,
      "end_line": 149,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "baseTree",
      "kind": "function",
      "name": "baseTree",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 154,
      "end_line": 162,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "withLinks",
      "kind": "function",
      "name": "withLinks",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 164,
      "end_line": 170,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestValidateSymlinksRefusesUnsafeShapes",
      "kind": "function",
      "name": "TestValidateSymlinksRefusesUnsafeShapes",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 177,
      "end_line": 268,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestValidateSymlinksAcceptsInTreeLinks",
      "kind": "function",
      "name": "TestValidateSymlinksAcceptsInTreeLinks",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 275,
      "end_line": 292,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestValidateSymlinksBoundsTheMessage",
      "kind": "function",
      "name": "TestValidateSymlinksBoundsTheMessage",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 296,
      "end_line": 311,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "assertNoEntry",
      "kind": "function",
      "name": "assertNoEntry",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 313,
      "end_line": 318,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "assertSymlink",
      "kind": "function",
      "name": "assertSymlink",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 320,
      "end_line": 329,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncRefusesFirstCommitWithUnsafeSymlink",
      "kind": "function",
      "name": "TestSyncRefusesFirstCommitWithUnsafeSymlink",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 335,
      "end_line": 364,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncRefusalKeepsServingPreviousCheckout",
      "kind": "function",
      "name": "TestSyncRefusalKeepsServingPreviousCheckout",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 369,
      "end_line": 400,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncAcceptsInTreeSymlinks",
      "kind": "function",
      "name": "TestSyncAcceptsInTreeSymlinks",
      "file": "internal/workspace/symlinks_test.go",
      "start_line": 405,
      "end_line": 434,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "ErrNeverSynced",
      "kind": "variable",
      "name": "ErrNeverSynced",
      "file": "internal/workspace/sync.go",
      "start_line": 26,
      "end_line": 26,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Revision",
      "kind": "struct",
      "name": "Revision",
      "file": "internal/workspace/sync.go",
      "start_line": 31,
      "end_line": 39,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Status",
      "kind": "struct",
      "name": "Status",
      "file": "internal/workspace/sync.go",
      "start_line": 44,
      "end_line": 61,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer",
      "kind": "struct",
      "name": "Syncer",
      "file": "internal/workspace/sync.go",
      "start_line": 73,
      "end_line": 110,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Options",
      "kind": "struct",
      "name": "Options",
      "file": "internal/workspace/sync.go",
      "start_line": 116,
      "end_line": 143,
      "page": "connect-api-server-and-service-handlers"
    },
    {
      "id": "NewSyncer",
      "kind": "function",
      "name": "NewSyncer",
      "file": "internal/workspace/sync.go",
      "start_line": 149,
      "end_line": 169,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::Current",
      "kind": "method",
      "name": "Current",
      "file": "internal/workspace/sync.go",
      "start_line": 175,
      "end_line": 182,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::Status",
      "kind": "method",
      "name": "Status",
      "file": "internal/workspace/sync.go",
      "start_line": 185,
      "end_line": 189,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::Sync",
      "kind": "method",
      "name": "Sync",
      "file": "internal/workspace/sync.go",
      "start_line": 207,
      "end_line": 236,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::recordFailure",
      "kind": "method",
      "name": "recordFailure",
      "file": "internal/workspace/sync.go",
      "start_line": 242,
      "end_line": 250,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::recordSuccess",
      "kind": "method",
      "name": "recordSuccess",
      "file": "internal/workspace/sync.go",
      "start_line": 252,
      "end_line": 263,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::fetch",
      "kind": "method",
      "name": "fetch",
      "file": "internal/workspace/sync.go",
      "start_line": 268,
      "end_line": 311,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::openOrClone",
      "kind": "method",
      "name": "openOrClone",
      "file": "internal/workspace/sync.go",
      "start_line": 323,
      "end_line": 364,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::fetchRemote",
      "kind": "method",
      "name": "fetchRemote",
      "file": "internal/workspace/sync.go",
      "start_line": 368,
      "end_line": 385,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::resolve",
      "kind": "method",
      "name": "resolve",
      "file": "internal/workspace/sync.go",
      "start_line": 395,
      "end_line": 423,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::remoteHead",
      "kind": "method",
      "name": "remoteHead",
      "file": "internal/workspace/sync.go",
      "start_line": 436,
      "end_line": 466,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::remoteBranches",
      "kind": "method",
      "name": "remoteBranches",
      "file": "internal/workspace/sync.go",
      "start_line": 470,
      "end_line": 496,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "Syncer::auth",
      "kind": "method",
      "name": "auth",
      "file": "internal/workspace/sync.go",
      "start_line": 503,
      "end_line": 512,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo",
      "kind": "struct",
      "name": "originRepo",
      "file": "internal/workspace/sync_test.go",
      "start_line": 41,
      "end_line": 46,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "serveGit",
      "kind": "function",
      "name": "serveGit",
      "file": "internal/workspace/sync_test.go",
      "start_line": 51,
      "end_line": 103,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "newOriginRepo",
      "kind": "function",
      "name": "newOriginRepo",
      "file": "internal/workspace/sync_test.go",
      "start_line": 105,
      "end_line": 116,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo::commit",
      "kind": "method",
      "name": "commit",
      "file": "internal/workspace/sync_test.go",
      "start_line": 119,
      "end_line": 142,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo::tag",
      "kind": "method",
      "name": "tag",
      "file": "internal/workspace/sync_test.go",
      "start_line": 144,
      "end_line": 149,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo::branch",
      "kind": "method",
      "name": "branch",
      "file": "internal/workspace/sync_test.go",
      "start_line": 152,
      "end_line": 158,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo::url",
      "kind": "method",
      "name": "url",
      "file": "internal/workspace/sync_test.go",
      "start_line": 160,
      "end_line": 160,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "originRepo::breakRemote",
      "kind": "method",
      "name": "breakRemote",
      "file": "internal/workspace/sync_test.go",
      "start_line": 165,
      "end_line": 165,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "newTestSyncer",
      "kind": "function",
      "name": "newTestSyncer",
      "file": "internal/workspace/sync_test.go",
      "start_line": 169,
      "end_line": 180,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncClonesThenPullsIncrementally",
      "kind": "function",
      "name": "TestSyncClonesThenPullsIncrementally",
      "file": "internal/workspace/sync_test.go",
      "start_line": 182,
      "end_line": 214,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncResolvesBranchTagAndSHA",
      "kind": "function",
      "name": "TestSyncResolvesBranchTagAndSHA",
      "file": "internal/workspace/sync_test.go",
      "start_line": 216,
      "end_line": 248,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestFailedSyncKeepsServingPreviousCheckout",
      "kind": "function",
      "name": "TestFailedSyncKeepsServingPreviousCheckout",
      "file": "internal/workspace/sync_test.go",
      "start_line": 252,
      "end_line": 286,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncRecoversFromStale",
      "kind": "function",
      "name": "TestSyncRecoversFromStale",
      "file": "internal/workspace/sync_test.go",
      "start_line": 291,
      "end_line": 321,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestNeverSyncedIsNotStale",
      "kind": "function",
      "name": "TestNeverSyncedIsNotStale",
      "file": "internal/workspace/sync_test.go",
      "start_line": 326,
      "end_line": 355,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestFailedCloneLeavesNoPartialCheckout",
      "kind": "function",
      "name": "TestFailedCloneLeavesNoPartialCheckout",
      "file": "internal/workspace/sync_test.go",
      "start_line": 361,
      "end_line": 374,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestRunReturnsImmediatelyWhenIntervalIsZero",
      "kind": "function",
      "name": "TestRunReturnsImmediatelyWhenIntervalIsZero",
      "file": "internal/workspace/sync_test.go",
      "start_line": 380,
      "end_line": 398,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestRunKeepsRunningAfterALaterFailure",
      "kind": "function",
      "name": "TestRunKeepsRunningAfterALaterFailure",
      "file": "internal/workspace/sync_test.go",
      "start_line": 402,
      "end_line": 438,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestIncrementalPullAfterDetachedCheckoutSeesNewCommits",
      "kind": "function",
      "name": "TestIncrementalPullAfterDetachedCheckoutSeesNewCommits",
      "file": "internal/workspace/sync_test.go",
      "start_line": 453,
      "end_line": 480,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestConcurrentSyncsKeepTheTreeAgreeingWithCurrent",
      "kind": "function",
      "name": "TestConcurrentSyncsKeepTheTreeAgreeingWithCurrent",
      "file": "internal/workspace/sync_test.go",
      "start_line": 499,
      "end_line": 547,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "treeDisagreesWithCurrent",
      "kind": "function",
      "name": "treeDisagreesWithCurrent",
      "file": "internal/workspace/sync_test.go",
      "start_line": 553,
      "end_line": 627,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestNewSyncerRejectsEmptyURLAndPath",
      "kind": "function",
      "name": "TestNewSyncerRejectsEmptyURLAndPath",
      "file": "internal/workspace/sync_test.go",
      "start_line": 629,
      "end_line": 636,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestAuthUsesPlaceholderUsernameForTokenOnly",
      "kind": "function",
      "name": "TestAuthUsesPlaceholderUsernameForTokenOnly",
      "file": "internal/workspace/sync_test.go",
      "start_line": 641,
      "end_line": 661,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "unreachableURL",
      "kind": "function",
      "name": "unreachableURL",
      "file": "internal/workspace/sync_test.go",
      "start_line": 667,
      "end_line": 678,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "readCheckout",
      "kind": "function",
      "name": "readCheckout",
      "file": "internal/workspace/sync_test.go",
      "start_line": 681,
      "end_line": 688,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "_",
      "kind": "variable",
      "name": "_",
      "file": "internal/workspace/sync_test.go",
      "start_line": 693,
      "end_line": 693,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestQueuedSyncWithDeadContextDoesNotPoisonStatus",
      "kind": "function",
      "name": "TestQueuedSyncWithDeadContextDoesNotPoisonStatus",
      "file": "internal/workspace/sync_test.go",
      "start_line": 708,
      "end_line": 780,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "requireToken",
      "kind": "function",
      "name": "requireToken",
      "file": "internal/workspace/sync_test.go",
      "start_line": 791,
      "end_line": 805,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSyncAuthenticatesAgainstATokenProtectedRemote",
      "kind": "function",
      "name": "TestSyncAuthenticatesAgainstATokenProtectedRemote",
      "file": "internal/workspace/sync_test.go",
      "start_line": 820,
      "end_line": 866,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "newTestClient",
      "kind": "function",
      "name": "newTestClient",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 23,
      "end_line": 40,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "mustWrite",
      "kind": "function",
      "name": "mustWrite",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 42,
      "end_line": 47,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "mustMkdir",
      "kind": "function",
      "name": "mustMkdir",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 49,
      "end_line": 54,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "call",
      "kind": "function",
      "name": "call",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 59,
      "end_line": 66,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestNewRejectsMissingRoot",
      "kind": "function",
      "name": "TestNewRejectsMissingRoot",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 68,
      "end_line": 76,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestListToolsAdvertisesTheFiveTools",
      "kind": "function",
      "name": "TestListToolsAdvertisesTheFiveTools",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 78,
      "end_line": 104,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSandboxRejectsEveryEscape",
      "kind": "function",
      "name": "TestSandboxRejectsEveryEscape",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 109,
      "end_line": 161,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSymlinkedRootIsUsable",
      "kind": "function",
      "name": "TestSymlinkedRootIsUsable",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 168,
      "end_line": 198,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSiblingDirectorySharingTheRootPrefix",
      "kind": "function",
      "name": "TestSiblingDirectorySharingTheRootPrefix",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 207,
      "end_line": 246,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestParentReferenceIsRefusedByName",
      "kind": "function",
      "name": "TestParentReferenceIsRefusedByName",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 256,
      "end_line": 275,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestWritesIntoReadOnlyAreasAreRefused",
      "kind": "function",
      "name": "TestWritesIntoReadOnlyAreasAreRefused",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 279,
      "end_line": 320,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestDenyListAppliesOnlyToTopLevel",
      "kind": "function",
      "name": "TestDenyListAppliesOnlyToTopLevel",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 324,
      "end_line": 341,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestSymlinkIntoReadOnlyAreaIsRefused",
      "kind": "function",
      "name": "TestSymlinkIntoReadOnlyAreaIsRefused",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 354,
      "end_line": 401,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestRootSelfSymlinkDoesNotLaunderTheDenyList",
      "kind": "function",
      "name": "TestRootSelfSymlinkDoesNotLaunderTheDenyList",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 411,
      "end_line": 442,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestDenyListCoversTheBareDirectoryName",
      "kind": "function",
      "name": "TestDenyListCoversTheBareDirectoryName",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 448,
      "end_line": 463,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestDeniedDirectoryThatIsItselfASymlinkIsRefused",
      "kind": "function",
      "name": "TestDeniedDirectoryThatIsItselfASymlinkIsRefused",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 477,
      "end_line": 536,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestDanglingSymlinkCannotEscapeTheSandbox",
      "kind": "function",
      "name": "TestDanglingSymlinkCannotEscapeTheSandbox",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 548,
      "end_line": 592,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestDanglingSymlinkIntoReadOnlyAreaIsRefused",
      "kind": "function",
      "name": "TestDanglingSymlinkIntoReadOnlyAreaIsRefused",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 598,
      "end_line": 624,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestReadSideGoesThroughTheRoot",
      "kind": "function",
      "name": "TestReadSideGoesThroughTheRoot",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 633,
      "end_line": 668,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestWriteAndReadRoundTrip",
      "kind": "function",
      "name": "TestWriteAndReadRoundTrip",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 670,
      "end_line": 693,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestReadOfAnEmptyFileIsNotAnError",
      "kind": "function",
      "name": "TestReadOfAnEmptyFileIsNotAnError",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 699,
      "end_line": 722,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestOversizedReadTruncatesWithActionableNotice",
      "kind": "function",
      "name": "TestOversizedReadTruncatesWithActionableNotice",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 729,
      "end_line": 756,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestReadPaging",
      "kind": "function",
      "name": "TestReadPaging",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 758,
      "end_line": 783,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestListAndGrep",
      "kind": "function",
      "name": "TestListAndGrep",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 785,
      "end_line": 824,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestGrepDoesNotFollowSymlinksOutOfTheSandbox",
      "kind": "function",
      "name": "TestGrepDoesNotFollowSymlinksOutOfTheSandbox",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 829,
      "end_line": 854,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestEdit",
      "kind": "function",
      "name": "TestEdit",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 856,
      "end_line": 905,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestWriteCeiling",
      "kind": "function",
      "name": "TestWriteCeiling",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 907,
      "end_line": 920,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestMissingArgumentsAreModelFacingErrors",
      "kind": "function",
      "name": "TestMissingArgumentsAreModelFacingErrors",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 922,
      "end_line": 941,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestUnknownToolIsAGoError",
      "kind": "function",
      "name": "TestUnknownToolIsAGoError",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 946,
      "end_line": 953,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "TestNilArgsDoesNotPanic",
      "kind": "function",
      "name": "TestNilArgsDoesNotPanic",
      "file": "internal/workspace/workspace_test.go",
      "start_line": 957,
      "end_line": 965,
      "page": "workspace-sync-checkout-and-materialization"
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 37,
      "end_line": 42
    },
    {
      "id": "run",
      "kind": "function",
      "name": "run",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 46,
      "end_line": 115
    },
    {
      "id": "mcp-servers/loki/cmd/mcp-loki/main.go::route:/mcp",
      "kind": "route",
      "name": "ANY /mcp",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 67,
      "end_line": 67
    },
    {
      "id": "mcp-servers/loki/cmd/mcp-loki/main.go::route:/healthz",
      "kind": "route",
      "name": "ANY /healthz",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 68,
      "end_line": 68
    },
    {
      "id": "version",
      "kind": "variable",
      "name": "version",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 119,
      "end_line": 119
    },
    {
      "id": "envOr",
      "kind": "function",
      "name": "envOr",
      "file": "mcp-servers/loki/cmd/mcp-loki/main.go",
      "start_line": 121,
      "end_line": 126
    },
    {
      "id": "Client",
      "kind": "struct",
      "name": "Client",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 23,
      "end_line": 26
    },
    {
      "id": "NewClient",
      "kind": "function",
      "name": "NewClient",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 31,
      "end_line": 36
    },
    {
      "id": "QueryError",
      "kind": "struct",
      "name": "QueryError",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 47,
      "end_line": 50
    },
    {
      "id": "QueryError::Error",
      "kind": "method",
      "name": "Error",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 72,
      "end_line": 74
    },
    {
      "id": "Entry",
      "kind": "struct",
      "name": "Entry",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 77,
      "end_line": 80,
      "page": "loki-mcp-server"
    },
    {
      "id": "Entry::UnmarshalJSON",
      "kind": "method",
      "name": "UnmarshalJSON",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 85,
      "end_line": 108
    },
    {
      "id": "Stream",
      "kind": "struct",
      "name": "Stream",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 111,
      "end_line": 114,
      "page": "loki-mcp-server"
    },
    {
      "id": "Sample",
      "kind": "struct",
      "name": "Sample",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 120,
      "end_line": 123
    },
    {
      "id": "Sample::UnmarshalJSON",
      "kind": "method",
      "name": "UnmarshalJSON",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 127,
      "end_line": 144
    },
    {
      "id": "MetricSeries",
      "kind": "struct",
      "name": "MetricSeries",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 147,
      "end_line": 150,
      "page": "loki-mcp-server"
    },
    {
      "id": "Result",
      "kind": "struct",
      "name": "Result",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 156,
      "end_line": 164,
      "page": "loki-mcp-server"
    },
    {
      "id": "apiEnvelope",
      "kind": "struct",
      "name": "apiEnvelope",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 173,
      "end_line": 176
    },
    {
      "id": "queryData",
      "kind": "struct",
      "name": "queryData",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 178,
      "end_line": 187
    },
    {
      "id": "Client::QueryRange",
      "kind": "method",
      "name": "QueryRange",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 198,
      "end_line": 219
    },
    {
      "id": "Client::Labels",
      "kind": "method",
      "name": "Labels",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 222,
      "end_line": 230
    },
    {
      "id": "Client::LabelValues",
      "kind": "method",
      "name": "LabelValues",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 234,
      "end_line": 248
    },
    {
      "id": "setWindow",
      "kind": "function",
      "name": "setWindow",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 250,
      "end_line": 257
    },
    {
      "id": "decodeStringList",
      "kind": "function",
      "name": "decodeStringList",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 262,
      "end_line": 271
    },
    {
      "id": "Client::get",
      "kind": "method",
      "name": "get",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 273,
      "end_line": 283
    },
    {
      "id": "Client::do",
      "kind": "method",
      "name": "do",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 285,
      "end_line": 319
    },
    {
      "id": "kindForStatus",
      "kind": "function",
      "name": "kindForStatus",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 321,
      "end_line": 334
    },
    {
      "id": "decodeQueryData",
      "kind": "function",
      "name": "decodeQueryData",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 343,
      "end_line": 379
    },
    {
      "id": "formatTime",
      "kind": "function",
      "name": "formatTime",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 384,
      "end_line": 386
    },
    {
      "id": "snippet",
      "kind": "function",
      "name": "snippet",
      "file": "mcp-servers/loki/internal/loki/client.go",
      "start_line": 389,
      "end_line": 400
    },
    {
      "id": "stub",
      "kind": "struct",
      "name": "stub",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 19,
      "end_line": 30
    },
    {
      "id": "stub::server",
      "kind": "method",
      "name": "server",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 32,
      "end_line": 48
    },
    {
      "id": "client",
      "kind": "function",
      "name": "client",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 50,
      "end_line": 53
    },
    {
      "id": "mustTime",
      "kind": "function",
      "name": "mustTime",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 60,
      "end_line": 67
    },
    {
      "id": "TestQueryRangeDecodesStreams",
      "kind": "function",
      "name": "TestQueryRangeDecodesStreams",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 77,
      "end_line": 108
    },
    {
      "id": "TestQueryRangeDecodesMatrix",
      "kind": "function",
      "name": "TestQueryRangeDecodesMatrix",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 110,
      "end_line": 134
    },
    {
      "id": "TestQueryRangeRejectsVectorRatherThanDroppingItsValues",
      "kind": "function",
      "name": "TestQueryRangeRejectsVectorRatherThanDroppingItsValues",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 146,
      "end_line": 166
    },
    {
      "id": "TestQueryRangeRequestsForwardDirection",
      "kind": "function",
      "name": "TestQueryRangeRequestsForwardDirection",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 171,
      "end_line": 185
    },
    {
      "id": "TestQueryRangeSendsNanosecondEpochs",
      "kind": "function",
      "name": "TestQueryRangeSendsNanosecondEpochs",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 189,
      "end_line": 203
    },
    {
      "id": "TestQueryRangeOmitsZeroStep",
      "kind": "function",
      "name": "TestQueryRangeOmitsZeroStep",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 207,
      "end_line": 218
    },
    {
      "id": "TestQueryRangePlainTextErrorIsClassified",
      "kind": "function",
      "name": "TestQueryRangePlainTextErrorIsClassified",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 223,
      "end_line": 261
    },
    {
      "id": "TestLabelsEmptyResponseIsNotAnError",
      "kind": "function",
      "name": "TestLabelsEmptyResponseIsNotAnError",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 266,
      "end_line": 276
    },
    {
      "id": "TestLabelsDecodes",
      "kind": "function",
      "name": "TestLabelsDecodes",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 278,
      "end_line": 295
    },
    {
      "id": "TestLabelValuesSendsSelectorAsQuery",
      "kind": "function",
      "name": "TestLabelValuesSendsSelectorAsQuery",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 297,
      "end_line": 315
    },
    {
      "id": "TestLabelValuesEscapesLabelInPath",
      "kind": "function",
      "name": "TestLabelValuesEscapesLabelInPath",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 319,
      "end_line": 332
    },
    {
      "id": "TestLabelsOmitsZeroWindow",
      "kind": "function",
      "name": "TestLabelsOmitsZeroWindow",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 336,
      "end_line": 346
    },
    {
      "id": "TestUnreachableServerIsClassified",
      "kind": "function",
      "name": "TestUnreachableServerIsClassified",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 348,
      "end_line": 363
    },
    {
      "id": "TestMalformedJSONBodyIsClassified",
      "kind": "function",
      "name": "TestMalformedJSONBodyIsClassified",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 365,
      "end_line": 379
    },
    {
      "id": "TestUnknownResultTypeIsRejected",
      "kind": "function",
      "name": "TestUnknownResultTypeIsRejected",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 381,
      "end_line": 392
    },
    {
      "id": "TestEntryAcceptsStructuredMetadata",
      "kind": "function",
      "name": "TestEntryAcceptsStructuredMetadata",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 396,
      "end_line": 407
    },
    {
      "id": "asQueryError",
      "kind": "function",
      "name": "asQueryError",
      "file": "mcp-servers/loki/internal/loki/client_test.go",
      "start_line": 409,
      "end_line": 411
    },
    {
      "id": "countPointLines",
      "kind": "function",
      "name": "countPointLines",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 15,
      "end_line": 23
    },
    {
      "id": "firstAndLastPointTimes",
      "kind": "function",
      "name": "firstAndLastPointTimes",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 28,
      "end_line": 43
    },
    {
      "id": "fatSeries",
      "kind": "function",
      "name": "fatSeries",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 53,
      "end_line": 70
    },
    {
      "id": "TestOneFatSeriesStillReturnsData",
      "kind": "function",
      "name": "TestOneFatSeriesStillReturnsData",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 77,
      "end_line": 121
    },
    {
      "id": "TestDownsampledResultStatesItsEffectiveResolution",
      "kind": "function",
      "name": "TestDownsampledResultStatesItsEffectiveResolution",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 126,
      "end_line": 137
    },
    {
      "id": "TestSubSecondStepNeverAdvisesAZeroStep",
      "kind": "function",
      "name": "TestSubSecondStepNeverAdvisesAZeroStep",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 143,
      "end_line": 154
    },
    {
      "id": "TestASeriesThatFitsIsNotThinned",
      "kind": "function",
      "name": "TestASeriesThatFitsIsNotThinned",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 159,
      "end_line": 173
    },
    {
      "id": "TestManySeriesStillRenderWholeOrNotAtAll",
      "kind": "function",
      "name": "TestManySeriesStillRenderWholeOrNotAtAll",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 180,
      "end_line": 210
    },
    {
      "id": "TestFatFirstSeriesStillReportsTheSeriesItHid",
      "kind": "function",
      "name": "TestFatFirstSeriesStillReportsTheSeriesItHid",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 216,
      "end_line": 248
    },
    {
      "id": "TestAbsurdlyWideValuesStayInBudget",
      "kind": "function",
      "name": "TestAbsurdlyWideValuesStayInBudget",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 254,
      "end_line": 274
    },
    {
      "id": "TestWideLabelsDoNotPushTheThinnedResultOverBudget",
      "kind": "function",
      "name": "TestWideLabelsDoNotPushTheThinnedResultOverBudget",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 284,
      "end_line": 311
    },
    {
      "id": "TestAnEmptyFirstSeriesDoesNotSuppressTheData",
      "kind": "function",
      "name": "TestAnEmptyFirstSeriesDoesNotSuppressTheData",
      "file": "mcp-servers/loki/internal/loki/downsample_test.go",
      "start_line": 317,
      "end_line": 359
    },
    {
      "id": "FormatRange",
      "kind": "function",
      "name": "FormatRange",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 44,
      "end_line": 57
    },
    {
      "id": "formatStreams",
      "kind": "function",
      "name": "formatStreams",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 66,
      "end_line": 123
    },
    {
      "id": "formatMatrix",
      "kind": "function",
      "name": "formatMatrix",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 126,
      "end_line": 187
    },
    {
      "id": "firstSeriesWithValues",
      "kind": "function",
      "name": "firstSeriesWithValues",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 194,
      "end_line": 201
    },
    {
      "id": "writePoint",
      "kind": "function",
      "name": "writePoint",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 203,
      "end_line": 205
    },
    {
      "id": "writeDownsampled",
      "kind": "function",
      "name": "writeDownsampled",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 217,
      "end_line": 252
    },
    {
      "id": "strideToFit",
      "kind": "function",
      "name": "strideToFit",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 257,
      "end_line": 283
    },
    {
      "id": "stridedIndexes",
      "kind": "function",
      "name": "stridedIndexes",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 287,
      "end_line": 302
    },
    {
      "id": "pointCost",
      "kind": "function",
      "name": "pointCost",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 308,
      "end_line": 310
    },
    {
      "id": "ordinal",
      "kind": "function",
      "name": "ordinal",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 312,
      "end_line": 323
    },
    {
      "id": "FormatLabels",
      "kind": "function",
      "name": "FormatLabels",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 326,
      "end_line": 338
    },
    {
      "id": "FormatLabelValues",
      "kind": "function",
      "name": "FormatLabelValues",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 341,
      "end_line": 356
    },
    {
      "id": "writeList",
      "kind": "function",
      "name": "writeList",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 358,
      "end_line": 373
    },
    {
      "id": "writeStats",
      "kind": "function",
      "name": "writeStats",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 378,
      "end_line": 384
    },
    {
      "id": "truncateLine",
      "kind": "function",
      "name": "truncateLine",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 388,
      "end_line": 397
    },
    {
      "id": "utf8Start",
      "kind": "function",
      "name": "utf8Start",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 401,
      "end_line": 403
    },
    {
      "id": "formatLabels",
      "kind": "function",
      "name": "formatLabels",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 406,
      "end_line": 417
    },
    {
      "id": "humanBytes",
      "kind": "function",
      "name": "humanBytes",
      "file": "mcp-servers/loki/internal/loki/format.go",
      "start_line": 419,
      "end_line": 430
    },
    {
      "id": "rangeWindow",
      "kind": "function",
      "name": "rangeWindow",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 17,
      "end_line": 20
    },
    {
      "id": "entriesAt",
      "kind": "function",
      "name": "entriesAt",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 22,
      "end_line": 31
    },
    {
      "id": "TestFormatRangeRendersLinesChronologically",
      "kind": "function",
      "name": "TestFormatRangeRendersLinesChronologically",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 33,
      "end_line": 74
    },
    {
      "id": "TestFormatRangeBoundsOutputAndSaysHowToNarrow",
      "kind": "function",
      "name": "TestFormatRangeBoundsOutputAndSaysHowToNarrow",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 78,
      "end_line": 103
    },
    {
      "id": "TestFormatRangeReportsLimitReachedSeparately",
      "kind": "function",
      "name": "TestFormatRangeReportsLimitReachedSeparately",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 109,
      "end_line": 132
    },
    {
      "id": "TestFormatRangeUnderLimitHasNoLimitNotice",
      "kind": "function",
      "name": "TestFormatRangeUnderLimitHasNoLimitNotice",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 134,
      "end_line": 148
    },
    {
      "id": "TestFormatRangeTruncatesOneHugeLine",
      "kind": "function",
      "name": "TestFormatRangeTruncatesOneHugeLine",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 151,
      "end_line": 174
    },
    {
      "id": "TestTruncationKeepsValidUTF8",
      "kind": "function",
      "name": "TestTruncationKeepsValidUTF8",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 178,
      "end_line": 192
    },
    {
      "id": "TestFormatRangeEmptyResultExplainsItself",
      "kind": "function",
      "name": "TestFormatRangeEmptyResultExplainsItself",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 194,
      "end_line": 206
    },
    {
      "id": "TestFormatRangeRendersMatrix",
      "kind": "function",
      "name": "TestFormatRangeRendersMatrix",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 208,
      "end_line": 232
    },
    {
      "id": "TestFormatRangeBoundsMatrixSeries",
      "kind": "function",
      "name": "TestFormatRangeBoundsMatrixSeries",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 234,
      "end_line": 262
    },
    {
      "id": "TestFormatRangeNeverRendersAPartialSeries",
      "kind": "function",
      "name": "TestFormatRangeNeverRendersAPartialSeries",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 266,
      "end_line": 302
    },
    {
      "id": "TestFormatRangeReportsScanVolume",
      "kind": "function",
      "name": "TestFormatRangeReportsScanVolume",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 304,
      "end_line": 323
    },
    {
      "id": "TestFormatLabelsSortsAndExplainsEmpty",
      "kind": "function",
      "name": "TestFormatLabelsSortsAndExplainsEmpty",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 325,
      "end_line": 335
    },
    {
      "id": "TestFormatLabelValuesMentionsSelectorWhenEmpty",
      "kind": "function",
      "name": "TestFormatLabelValuesMentionsSelectorWhenEmpty",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 337,
      "end_line": 349
    },
    {
      "id": "TestFormatLabelValuesBoundsLongLists",
      "kind": "function",
      "name": "TestFormatLabelValuesBoundsLongLists",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 351,
      "end_line": 364
    },
    {
      "id": "TestFormatIsDeterministic",
      "kind": "function",
      "name": "TestFormatIsDeterministic",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 369,
      "end_line": 387
    },
    {
      "id": "tail",
      "kind": "function",
      "name": "tail",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 389,
      "end_line": 395
    },
    {
      "id": "utf8Valid",
      "kind": "function",
      "name": "utf8Valid",
      "file": "mcp-servers/loki/internal/loki/format_test.go",
      "start_line": 397,
      "end_line": 404
    },
    {
      "id": "QueryRangeInput",
      "kind": "struct",
      "name": "QueryRangeInput",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 38,
      "end_line": 44,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "LabelsInput",
      "kind": "struct",
      "name": "LabelsInput",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 47,
      "end_line": 50,
      "page": "loki-mcp-server"
    },
    {
      "id": "LabelValuesInput",
      "kind": "struct",
      "name": "LabelValuesInput",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 53,
      "end_line": 58,
      "page": "loki-mcp-server"
    },
    {
      "id": "Register",
      "kind": "function",
      "name": "Register",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 61,
      "end_line": 143
    },
    {
      "id": "clampLimit",
      "kind": "function",
      "name": "clampLimit",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 150,
      "end_line": 159
    },
    {
      "id": "parseWindow",
      "kind": "function",
      "name": "parseWindow",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 161,
      "end_line": 175
    },
    {
      "id": "parseTime",
      "kind": "function",
      "name": "parseTime",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 180,
      "end_line": 188
    },
    {
      "id": "parseStep",
      "kind": "function",
      "name": "parseStep",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 194,
      "end_line": 204
    },
    {
      "id": "explain",
      "kind": "function",
      "name": "explain",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 209,
      "end_line": 237
    },
    {
      "id": "textResult",
      "kind": "function",
      "name": "textResult",
      "file": "mcp-servers/loki/internal/tools/tools.go",
      "start_line": 239,
      "end_line": 243
    },
    {
      "id": "harness",
      "kind": "struct",
      "name": "harness",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 24,
      "end_line": 28
    },
    {
      "id": "newHarness",
      "kind": "function",
      "name": "newHarness",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 30,
      "end_line": 60
    },
    {
      "id": "harness::call",
      "kind": "method",
      "name": "call",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 62,
      "end_line": 71
    },
    {
      "id": "resultText",
      "kind": "function",
      "name": "resultText",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 73,
      "end_line": 82
    },
    {
      "id": "TestRegisterExposesExactlyTheThreeTools",
      "kind": "function",
      "name": "TestRegisterExposesExactlyTheThreeTools",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 93,
      "end_line": 115
    },
    {
      "id": "TestQueryRangeHappyPath",
      "kind": "function",
      "name": "TestQueryRangeHappyPath",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 117,
      "end_line": 132
    },
    {
      "id": "TestQueryRangeAppliesDefaultLimit",
      "kind": "function",
      "name": "TestQueryRangeAppliesDefaultLimit",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 136,
      "end_line": 145
    },
    {
      "id": "TestQueryRangeClampsLimitToLokiCeiling",
      "kind": "function",
      "name": "TestQueryRangeClampsLimitToLokiCeiling",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 150,
      "end_line": 159
    },
    {
      "id": "TestQueryRangeRejectsBadArguments",
      "kind": "function",
      "name": "TestQueryRangeRejectsBadArguments",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 161,
      "end_line": 194
    },
    {
      "id": "TestMalformedLogQLGivesAnActionableError",
      "kind": "function",
      "name": "TestMalformedLogQLGivesAnActionableError",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 199,
      "end_line": 216
    },
    {
      "id": "TestUpstreamFailuresAreExplained",
      "kind": "function",
      "name": "TestUpstreamFailuresAreExplained",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 218,
      "end_line": 246
    },
    {
      "id": "TestLabelsTool",
      "kind": "function",
      "name": "TestLabelsTool",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 248,
      "end_line": 261
    },
    {
      "id": "TestLabelValuesRequiresALabel",
      "kind": "function",
      "name": "TestLabelValuesRequiresALabel",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 263,
      "end_line": 273
    },
    {
      "id": "TestLabelValuesPassesSelector",
      "kind": "function",
      "name": "TestLabelValuesPassesSelector",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 275,
      "end_line": 287
    },
    {
      "id": "TestTimeArgumentsShareOneFormat",
      "kind": "function",
      "name": "TestTimeArgumentsShareOneFormat",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 292,
      "end_line": 329
    },
    {
      "id": "sortStrings",
      "kind": "function",
      "name": "sortStrings",
      "file": "mcp-servers/loki/internal/tools/tools_test.go",
      "start_line": 331,
      "end_line": 337
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "mcp-servers/opennebula/cmd/mcp-opennebula/main.go",
      "start_line": 5,
      "end_line": 7
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 38,
      "end_line": 43
    },
    {
      "id": "run",
      "kind": "function",
      "name": "run",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 47,
      "end_line": 116
    },
    {
      "id": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go::route:/mcp",
      "kind": "route",
      "name": "ANY /mcp",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 68,
      "end_line": 68
    },
    {
      "id": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go::route:/healthz",
      "kind": "route",
      "name": "ANY /healthz",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 69,
      "end_line": 69
    },
    {
      "id": "version",
      "kind": "variable",
      "name": "version",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 120,
      "end_line": 120
    },
    {
      "id": "envOr",
      "kind": "function",
      "name": "envOr",
      "file": "mcp-servers/prometheus/cmd/mcp-prometheus/main.go",
      "start_line": 122,
      "end_line": 127
    },
    {
      "id": "Client",
      "kind": "struct",
      "name": "Client",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 23,
      "end_line": 26
    },
    {
      "id": "NewClient",
      "kind": "function",
      "name": "NewClient",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 31,
      "end_line": 36
    },
    {
      "id": "QueryError",
      "kind": "struct",
      "name": "QueryError",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 42,
      "end_line": 45
    },
    {
      "id": "QueryError::Error",
      "kind": "method",
      "name": "Error",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 55,
      "end_line": 57
    },
    {
      "id": "Sample",
      "kind": "struct",
      "name": "Sample",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 62,
      "end_line": 65
    },
    {
      "id": "Sample::UnmarshalJSON",
      "kind": "method",
      "name": "UnmarshalJSON",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 68,
      "end_line": 85
    },
    {
      "id": "Series",
      "kind": "struct",
      "name": "Series",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 89,
      "end_line": 93,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "Result",
      "kind": "struct",
      "name": "Result",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 98,
      "end_line": 103,
      "page": "loki-mcp-server"
    },
    {
      "id": "apiEnvelope",
      "kind": "struct",
      "name": "apiEnvelope",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 105,
      "end_line": 111
    },
    {
      "id": "queryData",
      "kind": "struct",
      "name": "queryData",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 113,
      "end_line": 116
    },
    {
      "id": "Client::Query",
      "kind": "method",
      "name": "Query",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 121,
      "end_line": 131
    },
    {
      "id": "Client::QueryRange",
      "kind": "method",
      "name": "QueryRange",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 135,
      "end_line": 147
    },
    {
      "id": "Client::Series",
      "kind": "method",
      "name": "Series",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 150,
      "end_line": 167
    },
    {
      "id": "Client::LabelValues",
      "kind": "method",
      "name": "LabelValues",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 171,
      "end_line": 194
    },
    {
      "id": "MetricMeta",
      "kind": "struct",
      "name": "MetricMeta",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 200,
      "end_line": 204,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "Client::Metadata",
      "kind": "method",
      "name": "Metadata",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 210,
      "end_line": 226
    },
    {
      "id": "Client::post",
      "kind": "method",
      "name": "post",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 228,
      "end_line": 238
    },
    {
      "id": "Client::get",
      "kind": "method",
      "name": "get",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 240,
      "end_line": 250
    },
    {
      "id": "Client::do",
      "kind": "method",
      "name": "do",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 252,
      "end_line": 293
    },
    {
      "id": "decodeQueryData",
      "kind": "function",
      "name": "decodeQueryData",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 301,
      "end_line": 322
    },
    {
      "id": "formatTime",
      "kind": "function",
      "name": "formatTime",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 327,
      "end_line": 329
    },
    {
      "id": "snippet",
      "kind": "function",
      "name": "snippet",
      "file": "mcp-servers/prometheus/internal/prom/client.go",
      "start_line": 332,
      "end_line": 343
    },
    {
      "id": "stub",
      "kind": "struct",
      "name": "stub",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 18,
      "end_line": 25
    },
    {
      "id": "newStub",
      "kind": "function",
      "name": "newStub",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 27,
      "end_line": 46
    },
    {
      "id": "stub::client",
      "kind": "method",
      "name": "client",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 48,
      "end_line": 48
    },
    {
      "id": "TestQueryDecodesVector",
      "kind": "function",
      "name": "TestQueryDecodesVector",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 50,
      "end_line": 79
    },
    {
      "id": "TestQueryOmitsTimeWhenUnset",
      "kind": "function",
      "name": "TestQueryOmitsTimeWhenUnset",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 84,
      "end_line": 101
    },
    {
      "id": "TestQueriesArePosted",
      "kind": "function",
      "name": "TestQueriesArePosted",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 106,
      "end_line": 125
    },
    {
      "id": "TestQueryRangeSendsStepInSeconds",
      "kind": "function",
      "name": "TestQueryRangeSendsStepInSeconds",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 127,
      "end_line": 141
    },
    {
      "id": "TestBadQueryReturnsPrometheusErrorNotTransportError",
      "kind": "function",
      "name": "TestBadQueryReturnsPrometheusErrorNotTransportError",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 147,
      "end_line": 165
    },
    {
      "id": "TestNonJSONErrorResponseIsReadable",
      "kind": "function",
      "name": "TestNonJSONErrorResponseIsReadable",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 167,
      "end_line": 181
    },
    {
      "id": "TestUnreachableServerIsClassified",
      "kind": "function",
      "name": "TestUnreachableServerIsClassified",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 183,
      "end_line": 195
    },
    {
      "id": "TestSeriesDecodesLabelSets",
      "kind": "function",
      "name": "TestSeriesDecodesLabelSets",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 197,
      "end_line": 220
    },
    {
      "id": "TestLabelValuesDecodesAndEscapesTheLabelPath",
      "kind": "function",
      "name": "TestLabelValuesDecodesAndEscapesTheLabelPath",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 222,
      "end_line": 246
    },
    {
      "id": "TestWarningsArePropagated",
      "kind": "function",
      "name": "TestWarningsArePropagated",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 248,
      "end_line": 262
    },
    {
      "id": "TestScalarResult",
      "kind": "function",
      "name": "TestScalarResult",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 264,
      "end_line": 277
    },
    {
      "id": "TestSampleValuesKeepTheirExactText",
      "kind": "function",
      "name": "TestSampleValuesKeepTheirExactText",
      "file": "mcp-servers/prometheus/internal/prom/client_test.go",
      "start_line": 282,
      "end_line": 298
    },
    {
      "id": "countPointLines",
      "kind": "function",
      "name": "countPointLines",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 15,
      "end_line": 23
    },
    {
      "id": "firstAndLastPointTimes",
      "kind": "function",
      "name": "firstAndLastPointTimes",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 28,
      "end_line": 43
    },
    {
      "id": "fatSeries",
      "kind": "function",
      "name": "fatSeries",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 55,
      "end_line": 72
    },
    {
      "id": "TestOneFatSeriesStillReturnsData",
      "kind": "function",
      "name": "TestOneFatSeriesStillReturnsData",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 79,
      "end_line": 126
    },
    {
      "id": "TestDownsampledResultStatesItsEffectiveResolution",
      "kind": "function",
      "name": "TestDownsampledResultStatesItsEffectiveResolution",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 131,
      "end_line": 142
    },
    {
      "id": "TestASeriesThatFitsIsNotThinned",
      "kind": "function",
      "name": "TestASeriesThatFitsIsNotThinned",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 147,
      "end_line": 163
    },
    {
      "id": "TestManySeriesStillRenderWholeOrNotAtAll",
      "kind": "function",
      "name": "TestManySeriesStillRenderWholeOrNotAtAll",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 167,
      "end_line": 198
    },
    {
      "id": "TestAbsurdlyWideValuesStayInBudget",
      "kind": "function",
      "name": "TestAbsurdlyWideValuesStayInBudget",
      "file": "mcp-servers/prometheus/internal/prom/downsample_test.go",
      "start_line": 203,
      "end_line": 225
    },
    {
      "id": "FormatInstant",
      "kind": "function",
      "name": "FormatInstant",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 29,
      "end_line": 61
    },
    {
      "id": "FormatRange",
      "kind": "function",
      "name": "FormatRange",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 67,
      "end_line": 122
    },
    {
      "id": "writePoint",
      "kind": "function",
      "name": "writePoint",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 129,
      "end_line": 131
    },
    {
      "id": "writeDownsampled",
      "kind": "function",
      "name": "writeDownsampled",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 141,
      "end_line": 158
    },
    {
      "id": "strideToFit",
      "kind": "function",
      "name": "strideToFit",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 163,
      "end_line": 189
    },
    {
      "id": "stridedIndexes",
      "kind": "function",
      "name": "stridedIndexes",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 193,
      "end_line": 208
    },
    {
      "id": "pointCost",
      "kind": "function",
      "name": "pointCost",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 214,
      "end_line": 216
    },
    {
      "id": "ordinal",
      "kind": "function",
      "name": "ordinal",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 218,
      "end_line": 229
    },
    {
      "id": "MetricMatch",
      "kind": "struct",
      "name": "MetricMatch",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 233,
      "end_line": 236,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "FormatMetricSearch",
      "kind": "function",
      "name": "FormatMetricSearch",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 243,
      "end_line": 274
    },
    {
      "id": "FormatSeries",
      "kind": "function",
      "name": "FormatSeries",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 277,
      "end_line": 297
    },
    {
      "id": "FormatLabelValues",
      "kind": "function",
      "name": "FormatLabelValues",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 301,
      "end_line": 323
    },
    {
      "id": "AdjustStep",
      "kind": "function",
      "name": "AdjustStep",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 330,
      "end_line": 350
    },
    {
      "id": "formatLabels",
      "kind": "function",
      "name": "formatLabels",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 354,
      "end_line": 369
    },
    {
      "id": "writeOmitted",
      "kind": "function",
      "name": "writeOmitted",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 371,
      "end_line": 378
    },
    {
      "id": "writeWarnings",
      "kind": "function",
      "name": "writeWarnings",
      "file": "mcp-servers/prometheus/internal/prom/format.go",
      "start_line": 380,
      "end_line": 384
    },
    {
      "id": "TestFormatInstantListsSeries",
      "kind": "function",
      "name": "TestFormatInstantListsSeries",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 20,
      "end_line": 37
    },
    {
      "id": "TestEmptyResultSaysTheQueryWasValid",
      "kind": "function",
      "name": "TestEmptyResultSaysTheQueryWasValid",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 42,
      "end_line": 55
    },
    {
      "id": "TestFormatLabelValuesIsSorted",
      "kind": "function",
      "name": "TestFormatLabelValuesIsSorted",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 57,
      "end_line": 65
    },
    {
      "id": "TestLabelRenderingIsDeterministic",
      "kind": "function",
      "name": "TestLabelRenderingIsDeterministic",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 70,
      "end_line": 90
    },
    {
      "id": "TestWideRangeStaysWithinTheResultBudget",
      "kind": "function",
      "name": "TestWideRangeStaysWithinTheResultBudget",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 94,
      "end_line": 131
    },
    {
      "id": "TestOtherFormattersStayWithinTheBudget",
      "kind": "function",
      "name": "TestOtherFormattersStayWithinTheBudget",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 133,
      "end_line": 166
    },
    {
      "id": "TestAdjustStep",
      "kind": "function",
      "name": "TestAdjustStep",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 168,
      "end_line": 203
    },
    {
      "id": "TestWidenedStepIsReportedInTheResult",
      "kind": "function",
      "name": "TestWidenedStepIsReportedInTheResult",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 207,
      "end_line": 224
    },
    {
      "id": "TestWarningsAreRendered",
      "kind": "function",
      "name": "TestWarningsAreRendered",
      "file": "mcp-servers/prometheus/internal/prom/format_test.go",
      "start_line": 226,
      "end_line": 234
    },
    {
      "id": "newSearchHarness",
      "kind": "function",
      "name": "newSearchHarness",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 30,
      "end_line": 36
    },
    {
      "id": "TestSearchFindsMetricsByWord",
      "kind": "function",
      "name": "TestSearchFindsMetricsByWord",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 40,
      "end_line": 53
    },
    {
      "id": "TestSearchReportsTypeAndHelp",
      "kind": "function",
      "name": "TestSearchReportsTypeAndHelp",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 58,
      "end_line": 69
    },
    {
      "id": "TestSearchIsDrivenByQueryableNamesNotMetadata",
      "kind": "function",
      "name": "TestSearchIsDrivenByQueryableNamesNotMetadata",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 76,
      "end_line": 88
    },
    {
      "id": "TestSearchSurvivesMetadataFailure",
      "kind": "function",
      "name": "TestSearchSurvivesMetadataFailure",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 92,
      "end_line": 109
    },
    {
      "id": "TestSearchWithNoMatchesSaysWhatToDoNext",
      "kind": "function",
      "name": "TestSearchWithNoMatchesSaysWhatToDoNext",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 113,
      "end_line": 124
    },
    {
      "id": "TestSearchAcceptsRegexAndRejectsABrokenOne",
      "kind": "function",
      "name": "TestSearchAcceptsRegexAndRejectsABrokenOne",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 129,
      "end_line": 144
    },
    {
      "id": "TestSearchIsCaseInsensitive",
      "kind": "function",
      "name": "TestSearchIsCaseInsensitive",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 148,
      "end_line": 156
    },
    {
      "id": "TestSearchRequiresAPattern",
      "kind": "function",
      "name": "TestSearchRequiresAPattern",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 158,
      "end_line": 169
    },
    {
      "id": "TestSearchLimitIsCappedAndReported",
      "kind": "function",
      "name": "TestSearchLimitIsCappedAndReported",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 174,
      "end_line": 190
    },
    {
      "id": "TestSearchDefaultLimitApplies",
      "kind": "function",
      "name": "TestSearchDefaultLimitApplies",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 194,
      "end_line": 204
    },
    {
      "id": "manyNames",
      "kind": "function",
      "name": "manyNames",
      "file": "mcp-servers/prometheus/internal/tools/search_test.go",
      "start_line": 211,
      "end_line": 222
    },
    {
      "id": "QueryInput",
      "kind": "struct",
      "name": "QueryInput",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 39,
      "end_line": 42,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "QueryRangeInput",
      "kind": "struct",
      "name": "QueryRangeInput",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 45,
      "end_line": 50,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "SeriesInput",
      "kind": "struct",
      "name": "SeriesInput",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 53,
      "end_line": 57,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "SearchMetricsInput",
      "kind": "struct",
      "name": "SearchMetricsInput",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 60,
      "end_line": 63,
      "page": "prometheus-mcp-server"
    },
    {
      "id": "LabelValuesInput",
      "kind": "struct",
      "name": "LabelValuesInput",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 66,
      "end_line": 71,
      "page": "loki-mcp-server"
    },
    {
      "id": "Register",
      "kind": "function",
      "name": "Register",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 74,
      "end_line": 230
    },
    {
      "id": "compileSearch",
      "kind": "function",
      "name": "compileSearch",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 245,
      "end_line": 252
    },
    {
      "id": "parseWindow",
      "kind": "function",
      "name": "parseWindow",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 254,
      "end_line": 268
    },
    {
      "id": "parseTime",
      "kind": "function",
      "name": "parseTime",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 273,
      "end_line": 281
    },
    {
      "id": "parseStep",
      "kind": "function",
      "name": "parseStep",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 287,
      "end_line": 297
    },
    {
      "id": "explain",
      "kind": "function",
      "name": "explain",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 302,
      "end_line": 323
    },
    {
      "id": "textResult",
      "kind": "function",
      "name": "textResult",
      "file": "mcp-servers/prometheus/internal/tools/tools.go",
      "start_line": 325,
      "end_line": 329
    },
    {
      "id": "harness",
      "kind": "struct",
      "name": "harness",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 21,
      "end_line": 28
    },
    {
      "id": "newHarness",
      "kind": "function",
      "name": "newHarness",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 30,
      "end_line": 66
    },
    {
      "id": "harness::call",
      "kind": "method",
      "name": "call",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 68,
      "end_line": 75
    },
    {
      "id": "text",
      "kind": "function",
      "name": "text",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 77,
      "end_line": 88
    },
    {
      "id": "TestEveryToolIsAdvertised",
      "kind": "function",
      "name": "TestEveryToolIsAdvertised",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 92,
      "end_line": 124
    },
    {
      "id": "TestEveryArgumentIsDocumented",
      "kind": "function",
      "name": "TestEveryArgumentIsDocumented",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 129,
      "end_line": 170
    },
    {
      "id": "TestMalformedQueryIsAToolErrorNotATransportError",
      "kind": "function",
      "name": "TestMalformedQueryIsAToolErrorNotATransportError",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 175,
      "end_line": 191
    },
    {
      "id": "TestErrorTextTellsTheModelWhatToDo",
      "kind": "function",
      "name": "TestErrorTextTellsTheModelWhatToDo",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 193,
      "end_line": 228
    },
    {
      "id": "TestBadTimeArgumentIsRejectedWithTheExpectedShape",
      "kind": "function",
      "name": "TestBadTimeArgumentIsRejectedWithTheExpectedShape",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 233,
      "end_line": 280
    },
    {
      "id": "TestQueryReturnsRenderedSeries",
      "kind": "function",
      "name": "TestQueryReturnsRenderedSeries",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 282,
      "end_line": 299
    },
    {
      "id": "TestQueryRangeWidensAnExcessiveStep",
      "kind": "function",
      "name": "TestQueryRangeWidensAnExcessiveStep",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 301,
      "end_line": 319
    },
    {
      "id": "TestSeriesRequiresASelector",
      "kind": "function",
      "name": "TestSeriesRequiresASelector",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 321,
      "end_line": 334
    },
    {
      "id": "TestSeriesAndLabelValuesRenderResults",
      "kind": "function",
      "name": "TestSeriesAndLabelValuesRenderResults",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 336,
      "end_line": 352
    },
    {
      "id": "TestUnreachableUpstreamSaysItIsNotTheQuery",
      "kind": "function",
      "name": "TestUnreachableUpstreamSaysItIsNotTheQuery",
      "file": "mcp-servers/prometheus/internal/tools/tools_test.go",
      "start_line": 357,
      "end_line": 386
    },
    {
      "id": "main",
      "kind": "function",
      "name": "main",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 37,
      "end_line": 42
    },
    {
      "id": "run",
      "kind": "function",
      "name": "run",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 46,
      "end_line": 115
    },
    {
      "id": "mcp-servers/tempo/cmd/mcp-tempo/main.go::route:/mcp",
      "kind": "route",
      "name": "ANY /mcp",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 67,
      "end_line": 67
    },
    {
      "id": "mcp-servers/tempo/cmd/mcp-tempo/main.go::route:/healthz",
      "kind": "route",
      "name": "ANY /healthz",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 68,
      "end_line": 68
    },
    {
      "id": "version",
      "kind": "variable",
      "name": "version",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 119,
      "end_line": 119
    },
    {
      "id": "envOr",
      "kind": "function",
      "name": "envOr",
      "file": "mcp-servers/tempo/cmd/mcp-tempo/main.go",
      "start_line": 121,
      "end_line": 126
    },
    {
      "id": "Client",
      "kind": "struct",
      "name": "Client",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 26,
      "end_line": 29
    },
    {
      "id": "NewClient",
      "kind": "function",
      "name": "NewClient",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 34,
      "end_line": 39
    },
    {
      "id": "QueryError",
      "kind": "struct",
      "name": "QueryError",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 49,
      "end_line": 52
    },
    {
      "id": "QueryError::Error",
      "kind": "method",
      "name": "Error",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 76,
      "end_line": 78
    },
    {
      "id": "ErrTraceNotFound",
      "kind": "variable",
      "name": "ErrTraceNotFound",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 83,
      "end_line": 83
    },
    {
      "id": "SearchResult",
      "kind": "struct",
      "name": "SearchResult",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 86,
      "end_line": 91
    },
    {
      "id": "TraceSummary",
      "kind": "struct",
      "name": "TraceSummary",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 94,
      "end_line": 102,
      "page": "tempo-mcp-server"
    },
    {
      "id": "SpanSet",
      "kind": "struct",
      "name": "SpanSet",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 106,
      "end_line": 109,
      "page": "tempo-mcp-server"
    },
    {
      "id": "SearchSpan",
      "kind": "struct",
      "name": "SearchSpan",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 113,
      "end_line": 119,
      "page": "tempo-mcp-server"
    },
    {
      "id": "ServiceStats",
      "kind": "struct",
      "name": "ServiceStats",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 122,
      "end_line": 125,
      "page": "tempo-mcp-server"
    },
    {
      "id": "Attribute",
      "kind": "struct",
      "name": "Attribute",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 128,
      "end_line": 131,
      "page": "tempo-mcp-server"
    },
    {
      "id": "Span",
      "kind": "struct",
      "name": "Span",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 135,
      "end_line": 148
    },
    {
      "id": "Span::Duration",
      "kind": "method",
      "name": "Duration",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 152,
      "end_line": 157
    },
    {
      "id": "Span::IsError",
      "kind": "method",
      "name": "IsError",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 160,
      "end_line": 160
    },
    {
      "id": "Event",
      "kind": "struct",
      "name": "Event",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 163,
      "end_line": 167,
      "page": "agent-session-state-resume-and-event-broadcasting"
    },
    {
      "id": "Trace",
      "kind": "struct",
      "name": "Trace",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 170,
      "end_line": 173
    },
    {
      "id": "Client::Search",
      "kind": "method",
      "name": "Search",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 194,
      "end_line": 210
    },
    {
      "id": "Client::Trace",
      "kind": "method",
      "name": "Trace",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 215,
      "end_line": 230
    },
    {
      "id": "NormalizeTraceID",
      "kind": "function",
      "name": "NormalizeTraceID",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 240,
      "end_line": 254
    },
    {
      "id": "isHex",
      "kind": "function",
      "name": "isHex",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 256,
      "end_line": 258
    },
    {
      "id": "Client::get",
      "kind": "method",
      "name": "get",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 260,
      "end_line": 288
    },
    {
      "id": "kindForStatus",
      "kind": "function",
      "name": "kindForStatus",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 290,
      "end_line": 303
    },
    {
      "id": "searchResponse",
      "kind": "struct",
      "name": "searchResponse",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 311,
      "end_line": 325
    },
    {
      "id": "searchSpanSet",
      "kind": "struct",
      "name": "searchSpanSet",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 327,
      "end_line": 336
    },
    {
      "id": "decodeSearch",
      "kind": "function",
      "name": "decodeSearch",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 338,
      "end_line": 397
    },
    {
      "id": "traceResponse",
      "kind": "struct",
      "name": "traceResponse",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 402,
      "end_line": 413
    },
    {
      "id": "otlpSpan",
      "kind": "struct",
      "name": "otlpSpan",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 415,
      "end_line": 432
    },
    {
      "id": "decodeTrace",
      "kind": "function",
      "name": "decodeTrace",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 434,
      "end_line": 460
    },
    {
      "id": "decodeSpan",
      "kind": "function",
      "name": "decodeSpan",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 462,
      "end_line": 502
    },
    {
      "id": "decodeID",
      "kind": "function",
      "name": "decodeID",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 508,
      "end_line": 520
    },
    {
      "id": "isAllHex",
      "kind": "function",
      "name": "isAllHex",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 522,
      "end_line": 529
    },
    {
      "id": "enumValue::UnmarshalJSON",
      "kind": "method",
      "name": "UnmarshalJSON",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 536,
      "end_line": 548
    },
    {
      "id": "spanKinds",
      "kind": "variable",
      "name": "spanKinds",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 550,
      "end_line": 557
    },
    {
      "id": "spanKind",
      "kind": "function",
      "name": "spanKind",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 559,
      "end_line": 564
    },
    {
      "id": "statusCode",
      "kind": "function",
      "name": "statusCode",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 566,
      "end_line": 575
    },
    {
      "id": "keyValue",
      "kind": "struct",
      "name": "keyValue",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 579,
      "end_line": 582
    },
    {
      "id": "anyValue",
      "kind": "struct",
      "name": "anyValue",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 584,
      "end_line": 596
    },
    {
      "id": "anyValue::text",
      "kind": "method",
      "name": "text",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 601,
      "end_line": 628
    },
    {
      "id": "attributes",
      "kind": "function",
      "name": "attributes",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 630,
      "end_line": 639
    },
    {
      "id": "parseNanos",
      "kind": "function",
      "name": "parseNanos",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 644,
      "end_line": 650
    },
    {
      "id": "parseNanos64",
      "kind": "function",
      "name": "parseNanos64",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 652,
      "end_line": 661
    },
    {
      "id": "ceilUnix",
      "kind": "function",
      "name": "ceilUnix",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 663,
      "end_line": 669
    },
    {
      "id": "snippet",
      "kind": "function",
      "name": "snippet",
      "file": "mcp-servers/tempo/internal/tempo/client.go",
      "start_line": 672,
      "end_line": 683
    },
    {
      "id": "stub",
      "kind": "struct",
      "name": "stub",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 18,
      "end_line": 28
    },
    {
      "id": "stub::client",
      "kind": "method",
      "name": "client",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 30,
      "end_line": 44
    },
    {
      "id": "mustTime",
      "kind": "function",
      "name": "mustTime",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 46,
      "end_line": 53
    },
    {
      "id": "TestSearchSendsTheQueryAndWindow",
      "kind": "function",
      "name": "TestSearchSendsTheQueryAndWindow",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 69,
      "end_line": 90
    },
    {
      "id": "TestSearchDecodesTracesAndPadsStrippedIDs",
      "kind": "function",
      "name": "TestSearchDecodesTracesAndPadsStrippedIDs",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 92,
      "end_line": 122
    },
    {
      "id": "TestSearchReadsTheDeprecatedSpanSetWhenItIsTheOnlyOne",
      "kind": "function",
      "name": "TestSearchReadsTheDeprecatedSpanSetWhenItIsTheOnlyOne",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 124,
      "end_line": 134
    },
    {
      "id": "TestTraceDecodesTempoOTLPJSON",
      "kind": "function",
      "name": "TestTraceDecodesTempoOTLPJSON",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 152,
      "end_line": 183
    },
    {
      "id": "TestTraceDecodesSpecFormIDsAndEnums",
      "kind": "function",
      "name": "TestTraceDecodesSpecFormIDsAndEnums",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 187,
      "end_line": 199
    },
    {
      "id": "TestTraceNotFoundIsAnEmptyTwoHundred",
      "kind": "function",
      "name": "TestTraceNotFoundIsAnEmptyTwoHundred",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 204,
      "end_line": 210
    },
    {
      "id": "TestTraceEscapesTheID",
      "kind": "function",
      "name": "TestTraceEscapesTheID",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 212,
      "end_line": 218
    },
    {
      "id": "TestFailuresAreClassified",
      "kind": "function",
      "name": "TestFailuresAreClassified",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 220,
      "end_line": 246
    },
    {
      "id": "TestMalformedResponsesAreBadResponse",
      "kind": "function",
      "name": "TestMalformedResponsesAreBadResponse",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 248,
      "end_line": 257
    },
    {
      "id": "TestUnreachableAndTimeout",
      "kind": "function",
      "name": "TestUnreachableAndTimeout",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 259,
      "end_line": 274
    },
    {
      "id": "TestNormalizeTraceID",
      "kind": "function",
      "name": "TestNormalizeTraceID",
      "file": "mcp-servers/tempo/internal/tempo/client_test.go",
      "start_line": 276,
      "end_line": 299
    },
    {
      "id": "FormatSearch",
      "kind": "function",
      "name": "FormatSearch",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 59,
      "end_line": 114
    },
    {
      "id": "renderSearchTrace",
      "kind": "function",
      "name": "renderSearchTrace",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 116,
      "end_line": 148
    },
    {
      "id": "nonEmptySpanSets",
      "kind": "function",
      "name": "nonEmptySpanSets",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 150,
      "end_line": 158
    },
    {
      "id": "searchTraceHeader",
      "kind": "function",
      "name": "searchTraceHeader",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 161,
      "end_line": 190
    },
    {
      "id": "writeInspected",
      "kind": "function",
      "name": "writeInspected",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 192,
      "end_line": 196
    },
    {
      "id": "node",
      "kind": "struct",
      "name": "node",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 199,
      "end_line": 202
    },
    {
      "id": "buildTree",
      "kind": "function",
      "name": "buildTree",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 208,
      "end_line": 265
    },
    {
      "id": "sortNodes",
      "kind": "function",
      "name": "sortNodes",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 269,
      "end_line": 277
    },
    {
      "id": "traceBounds",
      "kind": "function",
      "name": "traceBounds",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 280,
      "end_line": 291
    },
    {
      "id": "FormatTrace",
      "kind": "function",
      "name": "FormatTrace",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 297,
      "end_line": 402
    },
    {
      "id": "renderNode",
      "kind": "function",
      "name": "renderNode",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 408,
      "end_line": 450
    },
    {
      "id": "groupSiblings",
      "kind": "function",
      "name": "groupSiblings",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 458,
      "end_line": 481
    },
    {
      "id": "nameShape",
      "kind": "function",
      "name": "nameShape",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 487,
      "end_line": 502
    },
    {
      "id": "countDescendants",
      "kind": "function",
      "name": "countDescendants",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 504,
      "end_line": 510
    },
    {
      "id": "exceptionSummary",
      "kind": "function",
      "name": "exceptionSummary",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 515,
      "end_line": 537
    },
    {
      "id": "FormatSpan",
      "kind": "function",
      "name": "FormatSpan",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 541,
      "end_line": 624
    },
    {
      "id": "writeAttributes",
      "kind": "function",
      "name": "writeAttributes",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 626,
      "end_line": 636
    },
    {
      "id": "cutAtLine",
      "kind": "function",
      "name": "cutAtLine",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 640,
      "end_line": 648
    },
    {
      "id": "serviceName",
      "kind": "function",
      "name": "serviceName",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 650,
      "end_line": 655
    },
    {
      "id": "unquote",
      "kind": "function",
      "name": "unquote",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 657,
      "end_line": 662
    },
    {
      "id": "formatDuration",
      "kind": "function",
      "name": "formatDuration",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 666,
      "end_line": 671
    },
    {
      "id": "truncateValue",
      "kind": "function",
      "name": "truncateValue",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 675,
      "end_line": 684
    },
    {
      "id": "humanBytes",
      "kind": "function",
      "name": "humanBytes",
      "file": "mcp-servers/tempo/internal/tempo/format.go",
      "start_line": 686,
      "end_line": 697
    },
    {
      "id": "t0",
      "kind": "variable",
      "name": "t0",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 18,
      "end_line": 18
    },
    {
      "id": "span",
      "kind": "function",
      "name": "span",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 20,
      "end_line": 26
    },
    {
      "id": "failed",
      "kind": "function",
      "name": "failed",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 28,
      "end_line": 31
    },
    {
      "id": "checkoutTrace",
      "kind": "function",
      "name": "checkoutTrace",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 33,
      "end_line": 45
    },
    {
      "id": "TestFormatTraceLeadsWithTheErrors",
      "kind": "function",
      "name": "TestFormatTraceLeadsWithTheErrors",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 47,
      "end_line": 74
    },
    {
      "id": "fanOut",
      "kind": "function",
      "name": "fanOut",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 76,
      "end_line": 86
    },
    {
      "id": "TestFormatTraceCollapsesAFanOut",
      "kind": "function",
      "name": "TestFormatTraceCollapsesAFanOut",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 90,
      "end_line": 103
    },
    {
      "id": "TestFormatTraceKeepsPairsUncollapsed",
      "kind": "function",
      "name": "TestFormatTraceKeepsPairsUncollapsed",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 105,
      "end_line": 115
    },
    {
      "id": "TestFormatTraceCountsHiddenDescendantsOfAGroup",
      "kind": "function",
      "name": "TestFormatTraceCountsHiddenDescendantsOfAGroup",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 117,
      "end_line": 124
    },
    {
      "id": "TestFormatTraceStaysWithinBudget",
      "kind": "function",
      "name": "TestFormatTraceStaysWithinBudget",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 126,
      "end_line": 137
    },
    {
      "id": "TestFormatTraceErrorSectionCannotCrowdOutTheTree",
      "kind": "function",
      "name": "TestFormatTraceErrorSectionCannotCrowdOutTheTree",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 142,
      "end_line": 162
    },
    {
      "id": "TestFormatTraceShowsPartialTraces",
      "kind": "function",
      "name": "TestFormatTraceShowsPartialTraces",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 164,
      "end_line": 174
    },
    {
      "id": "TestFormatTraceSurvivesAParentCycle",
      "kind": "function",
      "name": "TestFormatTraceSurvivesAParentCycle",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 178,
      "end_line": 193
    },
    {
      "id": "TestFormatTraceIsDeterministic",
      "kind": "function",
      "name": "TestFormatTraceIsDeterministic",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 195,
      "end_line": 205
    },
    {
      "id": "TestFormatSpanDrillsIn",
      "kind": "function",
      "name": "TestFormatSpanDrillsIn",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 207,
      "end_line": 230
    },
    {
      "id": "TestFormatSpanBoundsHugeValues",
      "kind": "function",
      "name": "TestFormatSpanBoundsHugeValues",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 232,
      "end_line": 250
    },
    {
      "id": "TestFormatSearchOrdersAndExplains",
      "kind": "function",
      "name": "TestFormatSearchOrdersAndExplains",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 252,
      "end_line": 274
    },
    {
      "id": "TestFormatSearchStaysWithinBudget",
      "kind": "function",
      "name": "TestFormatSearchStaysWithinBudget",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 276,
      "end_line": 292
    },
    {
      "id": "TestFormatSearchCapsSpanSetsPerTrace",
      "kind": "function",
      "name": "TestFormatSearchCapsSpanSetsPerTrace",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 296,
      "end_line": 313
    },
    {
      "id": "TestFormatSearchKeepsFirstTraceHeader",
      "kind": "function",
      "name": "TestFormatSearchKeepsFirstTraceHeader",
      "file": "mcp-servers/tempo/internal/tempo/format_test.go",
      "start_line": 317,
      "end_line": 335
    },
    {
      "id": "SearchInput",
      "kind": "struct",
      "name": "SearchInput",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 31,
      "end_line": 36,
      "page": "tempo-mcp-server"
    },
    {
      "id": "GetTraceInput",
      "kind": "struct",
      "name": "GetTraceInput",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 39,
      "end_line": 42,
      "page": "tempo-mcp-server"
    },
    {
      "id": "Register",
      "kind": "function",
      "name": "Register",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 45,
      "end_line": 118
    },
    {
      "id": "notFound",
      "kind": "function",
      "name": "notFound",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 120,
      "end_line": 125
    },
    {
      "id": "normalizeSpanID",
      "kind": "function",
      "name": "normalizeSpanID",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 130,
      "end_line": 141
    },
    {
      "id": "clampLimit",
      "kind": "function",
      "name": "clampLimit",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 146,
      "end_line": 155
    },
    {
      "id": "parseTime",
      "kind": "function",
      "name": "parseTime",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 160,
      "end_line": 168
    },
    {
      "id": "explain",
      "kind": "function",
      "name": "explain",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 173,
      "end_line": 201
    },
    {
      "id": "textResult",
      "kind": "function",
      "name": "textResult",
      "file": "mcp-servers/tempo/internal/tools/tools.go",
      "start_line": 203,
      "end_line": 207
    },
    {
      "id": "harness",
      "kind": "struct",
      "name": "harness",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 25,
      "end_line": 30
    },
    {
      "id": "newHarness",
      "kind": "function",
      "name": "newHarness",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 32,
      "end_line": 63
    },
    {
      "id": "harness::call",
      "kind": "method",
      "name": "call",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 65,
      "end_line": 78
    },
    {
      "id": "TestRegisterExposesExactlyTheTwoTools",
      "kind": "function",
      "name": "TestRegisterExposesExactlyTheTwoTools",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 95,
      "end_line": 115
    },
    {
      "id": "TestSearchHappyPath",
      "kind": "function",
      "name": "TestSearchHappyPath",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 117,
      "end_line": 132
    },
    {
      "id": "TestSearchClampsLimit",
      "kind": "function",
      "name": "TestSearchClampsLimit",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 134,
      "end_line": 140
    },
    {
      "id": "TestSearchRejectsBadArgumentsWithoutCallingTempo",
      "kind": "function",
      "name": "TestSearchRejectsBadArgumentsWithoutCallingTempo",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 142,
      "end_line": 166
    },
    {
      "id": "TestMalformedTraceQLGivesAnActionableError",
      "kind": "function",
      "name": "TestMalformedTraceQLGivesAnActionableError",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 170,
      "end_line": 182
    },
    {
      "id": "TestUpstreamFailuresAreExplained",
      "kind": "function",
      "name": "TestUpstreamFailuresAreExplained",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 184,
      "end_line": 200
    },
    {
      "id": "TestGetTraceSummarizes",
      "kind": "function",
      "name": "TestGetTraceSummarizes",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 202,
      "end_line": 219
    },
    {
      "id": "TestGetTraceDrillsIntoOneSpan",
      "kind": "function",
      "name": "TestGetTraceDrillsIntoOneSpan",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 221,
      "end_line": 235
    },
    {
      "id": "TestGetTraceNotFoundIsACleanAnswer",
      "kind": "function",
      "name": "TestGetTraceNotFoundIsACleanAnswer",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 240,
      "end_line": 249
    },
    {
      "id": "TestGetTraceRejectsMalformedIDsWithoutCallingTempo",
      "kind": "function",
      "name": "TestGetTraceRejectsMalformedIDsWithoutCallingTempo",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 251,
      "end_line": 272
    },
    {
      "id": "TestTimeArgumentsShareOneFormat",
      "kind": "function",
      "name": "TestTimeArgumentsShareOneFormat",
      "file": "mcp-servers/tempo/internal/tools/tools_test.go",
      "start_line": 276,
      "end_line": 311
    }
  ],
  "edges": [
    {
      "source": "pool::acquire",
      "target": "ErrPoolExhausted",
      "kind": "references"
    },
    {
      "source": "Service::Checkout",
      "target": "ErrPoolExhausted",
      "kind": "references"
    },
    {
      "source": "escapeLabel",
      "target": "labelEscaper",
      "kind": "references"
    },
    {
      "source": "Agent::callModel",
      "target": "ErrProviderExhausted",
      "kind": "references"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "errStubPersist",
      "kind": "references"
    },
    {
      "source": "substituteEnv",
      "target": "ErrMissingEnv",
      "kind": "references"
    },
    {
      "source": "substituteEnv",
      "target": "envPattern",
      "kind": "references"
    },
    {
      "source": "substituteEnv",
      "target": "commentPattern",
      "kind": "references"
    },
    {
      "source": "Config::Validate",
      "target": "ErrInvalid",
      "kind": "references"
    },
    {
      "source": "Client::ListTools",
      "target": "searchTool",
      "kind": "references"
    },
    {
      "source": "transcript",
      "target": "loopTranscripts",
      "kind": "references"
    },
    {
      "source": "TestLoopTranscripts",
      "target": "loopTranscripts",
      "kind": "references"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "contextRefDescriptions",
      "kind": "references"
    },
    {
      "source": "IncidentRegistry::Register",
      "target": "ErrAlreadyLive",
      "kind": "references"
    },
    {
      "source": "TestSessionsPinnedToDifferentCommitsGetTheirOwnCommitsSkills",
      "target": "devOverride",
      "kind": "references"
    },
    {
      "source": "TestAnUnpinnedSessionGetsTheSkillsPathCatalog",
      "target": "devOverride",
      "kind": "references"
    },
    {
      "source": "TestAPinnedSessionNeverFallsBackToTheSkillsPathCatalog",
      "target": "devOverride",
      "kind": "references"
    },
    {
      "source": "Parse",
      "target": "frontmatterDelimiter",
      "kind": "references"
    },
    {
      "source": "migrate",
      "target": "migrationsFS",
      "kind": "references"
    },
    {
      "source": "migrate",
      "target": "ErrPoolTooSmall",
      "kind": "references"
    },
    {
      "source": "tableCount",
      "target": "migrationTables",
      "kind": "references"
    },
    {
      "source": "TestMigrateRoundTrip",
      "target": "migrationTables",
      "kind": "references"
    },
    {
      "source": "wrapErr",
      "target": "ErrInvalidReference",
      "kind": "references"
    },
    {
      "source": "wrapErr",
      "target": "ErrConflict",
      "kind": "references"
    },
    {
      "source": "PostgresStore::classifyMissingIncident",
      "target": "ErrAlreadyClosed",
      "kind": "references"
    },
    {
      "source": "PostgresStore::CloseIncident",
      "target": "ErrInvalidStatus",
      "kind": "references"
    },
    {
      "source": "buildResource",
      "target": "Version",
      "kind": "references"
    },
    {
      "source": "sessionService::CreateSession",
      "target": "errNoSessionManager",
      "kind": "references"
    },
    {
      "source": "sessionService::CancelSession",
      "target": "errNoSessionManager",
      "kind": "references"
    },
    {
      "source": "sessionService::SendMessage",
      "target": "errNoSessionManager",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::CreateSession",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::GetSession",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::ListSessions",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::CancelSession",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::SendMessage",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::ListTurns",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::WatchSession",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::GetReport",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::ListReportRevisions",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::ListArtifacts",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "unimplementedSessionService::GetArtifactDownload",
      "target": "errNoSessionStore",
      "kind": "references"
    },
    {
      "source": "Syncer::Materialize",
      "target": "seededPrefixes",
      "kind": "references"
    },
    {
      "source": "ReadOnlyPrefixes",
      "target": "denyWritePrefixes",
      "kind": "references"
    },
    {
      "source": "resolve",
      "target": "errEscape",
      "kind": "references"
    },
    {
      "source": "denyFirstElement",
      "target": "denyWritePrefixes",
      "kind": "references"
    },
    {
      "source": "Syncer::Current",
      "target": "ErrNeverSynced",
      "kind": "references"
    },
    {
      "source": "Client::Trace",
      "target": "ErrTraceNotFound",
      "kind": "references"
    },
    {
      "source": "spanKind",
      "target": "spanKinds",
      "kind": "references"
    },
    {
      "source": "ctxRespectingExecutor",
      "target": "ToolExecutor",
      "kind": "implements"
    },
    {
      "source": "closedOnClose",
      "target": "alertFakeStore",
      "kind": "extends"
    },
    {
      "source": "panicStore",
      "target": "fakeStore",
      "kind": "extends"
    },
    {
      "source": "gatedStore",
      "target": "fakeStore",
      "kind": "extends"
    },
    {
      "source": "incGateStore",
      "target": "fakeStore",
      "kind": "extends"
    },
    {
      "source": "incidentService",
      "target": "unimplementedIncidentService",
      "kind": "extends"
    },
    {
      "source": "settlingLifecycle",
      "target": "fakeLifecycle",
      "kind": "extends"
    },
    {
      "source": "alertSessionStarter::StartSession",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertSessionStarter::StartSession",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "alertSessionStarter::StartSession",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "newAlertIngestor",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "newAlertIngestor",
      "target": "AlertStore",
      "kind": "references"
    },
    {
      "source": "newAlertIngestor",
      "target": "alertSessionStarter",
      "kind": "references"
    },
    {
      "source": "newAlertIngestor",
      "target": "Ingestor",
      "kind": "references"
    },
    {
      "source": "newAlertIngestor",
      "target": "NewIngestor",
      "kind": "calls"
    },
    {
      "source": "newAlertIngestor",
      "target": "IngestorConfig",
      "kind": "instantiates"
    },
    {
      "source": "capturingLifecycle::Create",
      "target": "CreateRequest",
      "kind": "references"
    },
    {
      "source": "capturingLifecycle::Create",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "capturingLifecycle::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "capturingLifecycle::Cancel",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "capturingLifecycle::Cancel",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "capturingLifecycle::Reopen",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "capturingLifecycle::Reopen",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "pinnedWorkspace::Status",
      "target": "Status",
      "kind": "references"
    },
    {
      "source": "pinnedWorkspace::Status",
      "target": "Status",
      "kind": "instantiates"
    },
    {
      "source": "pinnedWorkspace::Status",
      "target": "Revision",
      "kind": "instantiates"
    },
    {
      "source": "pinnedWorkspace::Sync",
      "target": "Revision",
      "kind": "references"
    },
    {
      "source": "pinnedWorkspace::Sync",
      "target": "Revision",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "capturingLifecycle",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "alertSessionStarter",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "SessionDefaults",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "pinnedWorkspace",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "alertSessionStarter::StartSession",
      "kind": "calls"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "alertSessionStarter::StartSession",
      "kind": "calls"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAlertSessionStarterUsesCreateSessionDefaults",
      "target": "alertSessionStarter::StartSession",
      "kind": "calls"
    },
    {
      "source": "recordingRegistrar::RegisterServer",
      "target": "MCPClient",
      "kind": "references"
    },
    {
      "source": "recordingRegistrar::RegisterServer",
      "target": "Client::ListTools",
      "kind": "calls"
    },
    {
      "source": "stubSyncer::Status",
      "target": "Status",
      "kind": "references"
    },
    {
      "source": "stubSyncer::Status",
      "target": "Status",
      "kind": "instantiates"
    },
    {
      "source": "stubSyncer::Sync",
      "target": "Revision",
      "kind": "references"
    },
    {
      "source": "stubSyncer::Sync",
      "target": "Revision",
      "kind": "instantiates"
    },
    {
      "source": "noDocsStore::ReplaceDocChunks",
      "target": "DocChunk",
      "kind": "references"
    },
    {
      "source": "noDocsStore::SearchDocChunks",
      "target": "DocChunk",
      "kind": "references"
    },
    {
      "source": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "target": "buildDocsIndexer",
      "kind": "calls"
    },
    {
      "source": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "target": "noDocsStore",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildDocsIndexerIsNilWithoutEmbeddings",
      "target": "docsAfterSync",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "buildDocsIndexer",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "noDocsStore",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "noEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "docsAfterSync",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "recordingRegistrar",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "registerDocsSearch",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "stubSyncer",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "recordingRegistrar",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "registerDocsSearch",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "stubSyncer",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "recordingRegistrar",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "registerDocsSearch",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "registerDocsSearch",
      "kind": "calls"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "recordingRegistrar",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterDocsSearch",
      "target": "stubSyncer",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "buildDocsIndexer",
      "kind": "calls"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "noDocsStore",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "noEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "sessionDocs",
      "kind": "calls"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "stubSyncer",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "sessionDocs",
      "kind": "calls"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "sessionDocs",
      "kind": "calls"
    },
    {
      "source": "TestSessionDocsFollowsWhetherDocsSearchIsOffered",
      "target": "stubSyncer",
      "kind": "instantiates"
    },
    {
      "source": "main",
      "target": "run",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "setupLogging",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Setup",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "openPool",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Migrate",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewPostgresStore",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "buildEmbedder",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "buildDocsIndexer",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "ConnectAll",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Registry::Servers",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Registry::Tools",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "startWorkspaceSync",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "registerDocsSearch",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Registry::Servers",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "buildAgent",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "buildBlobStore",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "ReapScratch",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "run",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "sessionDocs",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Registry::Servers",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "sessionDefaults",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "newAlertIngestor",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "alertSessionStarter",
      "kind": "instantiates"
    },
    {
      "source": "run",
      "target": "NewMux",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Options",
      "kind": "instantiates"
    },
    {
      "source": "run",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewServer",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "ServerOptions",
      "kind": "instantiates"
    },
    {
      "source": "run",
      "target": "Server::Addr",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Registry::Tools",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Server::Run",
      "kind": "calls"
    },
    {
      "source": "openPool",
      "target": "Database",
      "kind": "references"
    },
    {
      "source": "openPool",
      "target": "NewQueryTracer",
      "kind": "calls"
    },
    {
      "source": "openPool",
      "target": "Pinger::Ping",
      "kind": "calls"
    },
    {
      "source": "startWorkspaceSync",
      "target": "Workspace",
      "kind": "references"
    },
    {
      "source": "startWorkspaceSync",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "startWorkspaceSync",
      "target": "WorkspaceSyncer",
      "kind": "references"
    },
    {
      "source": "startWorkspaceSync",
      "target": "NewSyncer",
      "kind": "calls"
    },
    {
      "source": "startWorkspaceSync",
      "target": "Options",
      "kind": "instantiates"
    },
    {
      "source": "startWorkspaceSync",
      "target": "docsAfterSync",
      "kind": "calls"
    },
    {
      "source": "startWorkspaceSync",
      "target": "Syncer::Sync",
      "kind": "calls"
    },
    {
      "source": "startWorkspaceSync",
      "target": "Syncer::Run",
      "kind": "calls"
    },
    {
      "source": "buildDocsIndexer",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "buildDocsIndexer",
      "target": "Embedder",
      "kind": "references"
    },
    {
      "source": "buildDocsIndexer",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "buildDocsIndexer",
      "target": "NewIndexer",
      "kind": "calls"
    },
    {
      "source": "docsAfterSync",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "docsAfterSync",
      "target": "Revision",
      "kind": "references"
    },
    {
      "source": "docsAfterSync",
      "target": "Indexer::Refresh",
      "kind": "calls"
    },
    {
      "source": "registerDocsSearch",
      "target": "serverRegistrar",
      "kind": "references"
    },
    {
      "source": "registerDocsSearch",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "registerDocsSearch",
      "target": "WorkspaceSyncer",
      "kind": "references"
    },
    {
      "source": "registerDocsSearch",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "sessionDocs",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "sessionDocs",
      "target": "WorkspaceSyncer",
      "kind": "references"
    },
    {
      "source": "sessionDocs",
      "target": "DocsSearch",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "ToolExecutor",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "TurnLogger",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "TurnBroadcaster",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "buildAgent",
      "target": "newProvider",
      "kind": "calls"
    },
    {
      "source": "buildAgent",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "buildAgent",
      "target": "newProvider",
      "kind": "calls"
    },
    {
      "source": "buildAgent",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "buildBlobStore",
      "target": "Blob",
      "kind": "references"
    },
    {
      "source": "buildBlobStore",
      "target": "BlobStore",
      "kind": "references"
    },
    {
      "source": "buildBlobStore",
      "target": "NewFS",
      "kind": "calls"
    },
    {
      "source": "sessionDefaults",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "sessionDefaults",
      "target": "SessionDefaults",
      "kind": "references"
    },
    {
      "source": "sessionDefaults",
      "target": "SessionDefaults",
      "kind": "instantiates"
    },
    {
      "source": "newProvider",
      "target": "Provider",
      "kind": "references"
    },
    {
      "source": "newProvider",
      "target": "Provider",
      "kind": "references"
    },
    {
      "source": "newProvider",
      "target": "NewOpenAIProvider",
      "kind": "calls"
    },
    {
      "source": "newProvider",
      "target": "NewAnthropicProvider",
      "kind": "calls"
    },
    {
      "source": "buildEmbedder",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "buildEmbedder",
      "target": "embeddingDimensionsReader",
      "kind": "references"
    },
    {
      "source": "buildEmbedder",
      "target": "Embedder",
      "kind": "references"
    },
    {
      "source": "buildEmbedder",
      "target": "ValidateEmbeddingDimensions",
      "kind": "calls"
    },
    {
      "source": "buildEmbedder",
      "target": "NewOpenAIEmbedder",
      "kind": "calls"
    },
    {
      "source": "embeddingsConfig",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "embeddingsConfig",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "embeddingsConfig",
      "target": "Embeddings",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderSkippedWhenUnconfigured",
      "target": "stubDims",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderSkippedWhenUnconfigured",
      "target": "buildEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderSkippedWhenUnconfigured",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderSkippedWhenUnconfigured",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "target": "stubDims",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "target": "buildEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "target": "embeddingsConfig",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderValidatesAgainstTheDatabase",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderFailsStartupOnDimensionMismatch",
      "target": "stubDims",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderFailsStartupOnDimensionMismatch",
      "target": "buildEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderFailsStartupOnDimensionMismatch",
      "target": "embeddingsConfig",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "target": "stubDims",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "target": "buildEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "target": "embeddingsConfig",
      "kind": "calls"
    },
    {
      "source": "TestBuildEmbedderPropagatesDatabaseReadFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "target": "Providers",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionDefaultsTakeThePrimaryModelAndConfiguredTemplate",
      "target": "sessionDefaults",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreUnconfiguredIsNil",
      "target": "buildBlobStore",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreUnconfiguredIsNil",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "buildBlobStore",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "Blob",
      "kind": "instantiates"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreFilesystemWritesUnderPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreUnusablePathFailsStartup",
      "target": "buildBlobStore",
      "kind": "calls"
    },
    {
      "source": "TestBuildBlobStoreUnusablePathFailsStartup",
      "target": "Blob",
      "kind": "instantiates"
    },
    {
      "source": "main",
      "target": "run",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "envFloat",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "envDuration",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "envOr",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "run",
      "target": "Sleep",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Sleep",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewLokiPusher",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "RunFlusher",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "NewSpanExporter",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "RunFlusher",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "GenerateLoad",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Service::Deploy",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Handler",
      "kind": "calls"
    },
    {
      "source": "run",
      "target": "Service::Release",
      "kind": "calls"
    },
    {
      "source": "TestEnvParsersFailOnInvalidValues",
      "target": "envFloat",
      "kind": "calls"
    },
    {
      "source": "TestEnvParsersFailOnInvalidValues",
      "target": "envFloat",
      "kind": "calls"
    },
    {
      "source": "TestEnvParsersFailOnInvalidValues",
      "target": "envDuration",
      "kind": "calls"
    },
    {
      "source": "TestEnvParsersFailOnInvalidValues",
      "target": "envDuration",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Service",
      "kind": "references"
    },
    {
      "source": "Handler",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "Handler",
      "target": "Handler",
      "kind": "references"
    },
    {
      "source": "Handler",
      "target": "Service::Checkout",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "writeJSON",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Lookup",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Versions",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "writeJSON",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Service::Deploy",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "writeJSON",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Service::Release",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "Registry::WriteText",
      "kind": "calls"
    },
    {
      "source": "Handler",
      "target": "countingWriter::Write",
      "kind": "calls"
    },
    {
      "source": "TestHandlerInjectsAndRollsBackTheFault",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestHandlerInjectsAndRollsBackTheFault",
      "target": "Handler",
      "kind": "calls"
    },
    {
      "source": "TestHandlerInjectsAndRollsBackTheFault",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestHandlerMapsPoolExhaustionTo503",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestHandlerMapsPoolExhaustionTo503",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestHandlerMapsPoolExhaustionTo503",
      "target": "Handler",
      "kind": "calls"
    },
    {
      "source": "TestHandlerMapsPoolExhaustionTo503",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "GenerateLoad",
      "target": "Service",
      "kind": "references"
    },
    {
      "source": "GenerateLoad",
      "target": "Service::Checkout",
      "kind": "calls"
    },
    {
      "source": "TestStoppingTheLoadLetsInFlightCheckoutsFinish",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestStoppingTheLoadLetsInFlightCheckoutsFinish",
      "target": "GenerateLoad",
      "kind": "calls"
    },
    {
      "source": "Lookup",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "Lookup",
      "target": "Release",
      "kind": "instantiates"
    },
    {
      "source": "newPool",
      "target": "pool",
      "kind": "references"
    },
    {
      "source": "newPool",
      "target": "pool",
      "kind": "instantiates"
    },
    {
      "source": "nopSpans::Export",
      "target": "Span",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "Service",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "nopLogs",
      "kind": "instantiates"
    },
    {
      "source": "New",
      "target": "nopSpans",
      "kind": "instantiates"
    },
    {
      "source": "New",
      "target": "Service",
      "kind": "instantiates"
    },
    {
      "source": "New",
      "target": "newPool",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::Counter",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::Histogram",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::Counter",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::Gauge",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::GaugeFunc",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Service::currentPool",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Registry::GaugeFunc",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Service::currentPool",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Gauge::Set",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "Service::currentPool",
      "target": "pool",
      "kind": "references"
    },
    {
      "source": "Service::current",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "Service::current",
      "target": "pool",
      "kind": "references"
    },
    {
      "source": "Service::Release",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "Service::Release",
      "target": "Service::current",
      "kind": "calls"
    },
    {
      "source": "Service::Deploy",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "Service::Deploy",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "Service::Deploy",
      "target": "newPool",
      "kind": "calls"
    },
    {
      "source": "Service::Deploy",
      "target": "Gauge::Reset",
      "kind": "calls"
    },
    {
      "source": "Service::Deploy",
      "target": "Gauge::Set",
      "kind": "calls"
    },
    {
      "source": "Service::Deploy",
      "target": "Service::log",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Service::current",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "NewTraceID",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "NewSpanID",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "pool::acquire",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "Service::Checkout",
      "target": "NewSpanID",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "nopSpans::Export",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Service::downstream",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Histogram::Observe",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "Service::Checkout",
      "target": "nopSpans::Export",
      "kind": "calls"
    },
    {
      "source": "Service::Checkout",
      "target": "Service::log",
      "kind": "calls"
    },
    {
      "source": "Service::downstream",
      "target": "pool",
      "kind": "references"
    },
    {
      "source": "Service::downstream",
      "target": "pool::release",
      "kind": "calls"
    },
    {
      "source": "Service::downstream",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "Service::downstream",
      "target": "NewSpanID",
      "kind": "calls"
    },
    {
      "source": "Service::downstream",
      "target": "nopSpans::Export",
      "kind": "calls"
    },
    {
      "source": "Service::log",
      "target": "nopLogs::Push",
      "kind": "calls"
    },
    {
      "source": "Service::log",
      "target": "logfmt",
      "kind": "calls"
    },
    {
      "source": "logfmt",
      "target": "quote",
      "kind": "calls"
    },
    {
      "source": "logfmt",
      "target": "quote",
      "kind": "calls"
    },
    {
      "source": "spans::Export",
      "target": "Span",
      "kind": "references"
    },
    {
      "source": "newGate",
      "target": "gate",
      "kind": "references"
    },
    {
      "source": "newGate",
      "target": "gate",
      "kind": "instantiates"
    },
    {
      "source": "newFixture",
      "target": "Release",
      "kind": "references"
    },
    {
      "source": "newFixture",
      "target": "fixture",
      "kind": "references"
    },
    {
      "source": "newFixture",
      "target": "fixture",
      "kind": "instantiates"
    },
    {
      "source": "newFixture",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "newFixture",
      "target": "logs",
      "kind": "instantiates"
    },
    {
      "source": "newFixture",
      "target": "spans",
      "kind": "instantiates"
    },
    {
      "source": "newFixture",
      "target": "newGate",
      "kind": "calls"
    },
    {
      "source": "newFixture",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "newFixture",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestFaultyReleaseFailsOnceThePoolIsFull",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestHealthyReleaseAbsorbsTheSameConcurrency",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestFailedRequestSpansCarryTheCause",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestFailedRequestSpansCarryTheCause",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestFailedRequestSpansCarryTheCause",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDeployAnnouncesThePoolChange",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestDeployAnnouncesThePoolChange",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDeployAnnouncesThePoolChange",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestDeployAnnouncesThePoolChange",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestInFlightRequestsReturnConnectionsToTheirOwnPool",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "target": "newFixture",
      "kind": "calls"
    },
    {
      "source": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "target": "fixture::holdConnections",
      "kind": "calls"
    },
    {
      "source": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "target": "wantLines",
      "kind": "calls"
    },
    {
      "source": "TestCancelledRequestIsNotCountedAsPoolTimeout",
      "target": "fixture::metrics",
      "kind": "calls"
    },
    {
      "source": "newFixture",
      "target": "gate::step",
      "kind": "references"
    },
    {
      "source": "TestBuffersAreBounded",
      "target": "NewLokiPusher",
      "kind": "calls"
    },
    {
      "source": "TestBuffersAreBounded",
      "target": "NewSpanExporter",
      "kind": "calls"
    },
    {
      "source": "TestBuffersAreBounded",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "TestBuffersAreBounded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "NewLokiPusher",
      "target": "LokiPusher",
      "kind": "references"
    },
    {
      "source": "NewLokiPusher",
      "target": "LokiPusher",
      "kind": "instantiates"
    },
    {
      "source": "LokiPusher::Push",
      "target": "streamKey",
      "kind": "calls"
    },
    {
      "source": "LokiPusher::Push",
      "target": "lokiStream",
      "kind": "instantiates"
    },
    {
      "source": "LokiPusher::Flush",
      "target": "post",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "capture",
      "kind": "instantiates"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "NewLokiPusher",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherGroupsLinesByStream",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherSurfacesRejectedPush",
      "target": "capture",
      "kind": "instantiates"
    },
    {
      "source": "TestLokiPusherSurfacesRejectedPush",
      "target": "NewLokiPusher",
      "kind": "calls"
    },
    {
      "source": "TestLokiPusherSurfacesRejectedPush",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunFlusherFlushesOnShutdown",
      "target": "RunFlusher",
      "kind": "calls"
    },
    {
      "source": "NewRegistry",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "NewRegistry",
      "target": "Registry",
      "kind": "instantiates"
    },
    {
      "source": "Registry::add",
      "target": "family",
      "kind": "references"
    },
    {
      "source": "Registry::add",
      "target": "family",
      "kind": "references"
    },
    {
      "source": "Registry::Counter",
      "target": "Counter",
      "kind": "references"
    },
    {
      "source": "Registry::Counter",
      "target": "Counter",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Counter",
      "target": "Registry::add",
      "kind": "calls"
    },
    {
      "source": "Registry::Counter",
      "target": "family",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Gauge",
      "target": "Gauge",
      "kind": "references"
    },
    {
      "source": "Registry::Gauge",
      "target": "Gauge",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Gauge",
      "target": "Registry::add",
      "kind": "calls"
    },
    {
      "source": "Registry::Gauge",
      "target": "family",
      "kind": "instantiates"
    },
    {
      "source": "Registry::GaugeFunc",
      "target": "Registry::add",
      "kind": "calls"
    },
    {
      "source": "Registry::GaugeFunc",
      "target": "family",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Histogram",
      "target": "Histogram",
      "kind": "references"
    },
    {
      "source": "Registry::Histogram",
      "target": "Histogram",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Histogram",
      "target": "Registry::add",
      "kind": "calls"
    },
    {
      "source": "Registry::Histogram",
      "target": "family",
      "kind": "instantiates"
    },
    {
      "source": "Counter::Add",
      "target": "family::get",
      "kind": "calls"
    },
    {
      "source": "Gauge::Set",
      "target": "family::get",
      "kind": "calls"
    },
    {
      "source": "Histogram::Observe",
      "target": "family::get",
      "kind": "calls"
    },
    {
      "source": "family::get",
      "target": "series",
      "kind": "references"
    },
    {
      "source": "family::get",
      "target": "renderLabels",
      "kind": "calls"
    },
    {
      "source": "family::get",
      "target": "series",
      "kind": "instantiates"
    },
    {
      "source": "renderLabels",
      "target": "escapeLabel",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "formatFloat",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "braced",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "formatFloat",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "braced",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "formatFloat",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "braced",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "braced",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "formatFloat",
      "kind": "calls"
    },
    {
      "source": "Registry::WriteText",
      "target": "braced",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Registry::Counter",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Registry::Gauge",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Gauge::Set",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Gauge::Set",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Registry::GaugeFunc",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Registry::Histogram",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Histogram::Observe",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "Registry::WriteText",
      "kind": "calls"
    },
    {
      "source": "TestWriteTextRendersEveryKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "Registry::Histogram",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "Histogram::Observe",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "Histogram::Observe",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "Histogram::Observe",
      "kind": "calls"
    },
    {
      "source": "TestHistogramBucketsAreCumulativePerLabelSet",
      "target": "Registry::WriteText",
      "kind": "calls"
    },
    {
      "source": "NewSpanExporter",
      "target": "SpanExporter",
      "kind": "references"
    },
    {
      "source": "NewSpanExporter",
      "target": "SpanExporter",
      "kind": "instantiates"
    },
    {
      "source": "SpanExporter::Export",
      "target": "Span",
      "kind": "references"
    },
    {
      "source": "attrs",
      "target": "otlpKV",
      "kind": "references"
    },
    {
      "source": "attrs",
      "target": "otlpKV",
      "kind": "instantiates"
    },
    {
      "source": "SpanExporter::Flush",
      "target": "otlpSpan",
      "kind": "instantiates"
    },
    {
      "source": "SpanExporter::Flush",
      "target": "attrs",
      "kind": "calls"
    },
    {
      "source": "SpanExporter::Flush",
      "target": "attrs",
      "kind": "calls"
    },
    {
      "source": "SpanExporter::Flush",
      "target": "post",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "capture",
      "kind": "instantiates"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "NewSpanExporter",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "NewTraceID",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "NewSpanID",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "NewSpanID",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "Span",
      "kind": "instantiates"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSpanExporterEncodesOTLPJSON",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "IncidentStatus::String",
      "target": "IncidentStatus::Descriptor",
      "kind": "calls"
    },
    {
      "source": "IncidentStatus::EnumDescriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "IncidentOrigin::String",
      "target": "IncidentOrigin::Descriptor",
      "kind": "calls"
    },
    {
      "source": "IncidentOrigin::EnumDescriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "AlertStatus::String",
      "target": "AlertStatus::Descriptor",
      "kind": "calls"
    },
    {
      "source": "AlertStatus::EnumDescriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "IncidentEventType::String",
      "target": "IncidentEventType::Descriptor",
      "kind": "calls"
    },
    {
      "source": "IncidentEventType::EnumDescriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Incident::Reset",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Incident::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Alert::Reset",
      "target": "Alert",
      "kind": "instantiates"
    },
    {
      "source": "Alert::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateIncidentRequest::Reset",
      "target": "CreateIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "CreateIncidentRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateIncidentResponse::Reset",
      "target": "CreateIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "CreateIncidentResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateIncidentResponse::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "GetIncidentRequest::Reset",
      "target": "GetIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "GetIncidentRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetIncidentResponse::Reset",
      "target": "GetIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "GetIncidentResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetIncidentResponse::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "ListIncidentsRequest::Reset",
      "target": "ListIncidentsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListIncidentsRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListIncidentsResponse::Reset",
      "target": "ListIncidentsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListIncidentsResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListIncidentsResponse::GetIncidents",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "UpdateIncidentRequest::Reset",
      "target": "UpdateIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "UpdateIncidentRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "UpdateIncidentRequest::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "UpdateIncidentResponse::Reset",
      "target": "UpdateIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "UpdateIncidentResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "UpdateIncidentResponse::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "CloseIncidentRequest::Reset",
      "target": "CloseIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "CloseIncidentRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CloseIncidentResponse::Reset",
      "target": "CloseIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "CloseIncidentResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CloseIncidentResponse::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "ListAlertsRequest::Reset",
      "target": "ListAlertsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListAlertsRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListAlertsResponse::Reset",
      "target": "ListAlertsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListAlertsResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListAlertsResponse::GetAlerts",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "WatchIncidentsRequest::Reset",
      "target": "WatchIncidentsRequest",
      "kind": "instantiates"
    },
    {
      "source": "WatchIncidentsRequest::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "WatchIncidentsResponse::Reset",
      "target": "WatchIncidentsResponse",
      "kind": "instantiates"
    },
    {
      "source": "WatchIncidentsResponse::Descriptor",
      "target": "file_korvus_v1_incident_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "WatchIncidentsResponse::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "WatchIncidentsResponse::GetAlert",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "Alert",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "CreateIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "CreateIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "GetIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "GetIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "ListIncidentsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "ListIncidentsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "UpdateIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "UpdateIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "CloseIncidentRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "CloseIncidentResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "ListAlertsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "ListAlertsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "WatchIncidentsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_incident_proto_goTypes",
      "target": "WatchIncidentsResponse",
      "kind": "instantiates"
    },
    {
      "source": "init",
      "target": "file_korvus_v1_incident_proto_init",
      "kind": "calls"
    },
    {
      "source": "NewIncidentServiceClient",
      "target": "IncidentServiceClient",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceClient",
      "target": "incidentServiceClient",
      "kind": "instantiates"
    },
    {
      "source": "incidentServiceClient::CreateIncident",
      "target": "CreateIncidentRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::CreateIncident",
      "target": "CreateIncidentResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::GetIncident",
      "target": "GetIncidentRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::GetIncident",
      "target": "GetIncidentResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::ListIncidents",
      "target": "ListIncidentsRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::ListIncidents",
      "target": "ListIncidentsResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::UpdateIncident",
      "target": "UpdateIncidentRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::UpdateIncident",
      "target": "UpdateIncidentResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::CloseIncident",
      "target": "CloseIncidentRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::CloseIncident",
      "target": "CloseIncidentResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::ListAlerts",
      "target": "ListAlertsRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::ListAlerts",
      "target": "ListAlertsResponse",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::WatchIncidents",
      "target": "WatchIncidentsRequest",
      "kind": "references"
    },
    {
      "source": "incidentServiceClient::WatchIncidents",
      "target": "WatchIncidentsResponse",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::CreateIncident",
      "target": "CreateIncidentRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::CreateIncident",
      "target": "CreateIncidentResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::GetIncident",
      "target": "GetIncidentRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::GetIncident",
      "target": "GetIncidentResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::ListIncidents",
      "target": "ListIncidentsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::ListIncidents",
      "target": "ListIncidentsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::UpdateIncident",
      "target": "UpdateIncidentRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::UpdateIncident",
      "target": "UpdateIncidentResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::CloseIncident",
      "target": "CloseIncidentRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::CloseIncident",
      "target": "CloseIncidentResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::ListAlerts",
      "target": "ListAlertsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::ListAlerts",
      "target": "ListAlertsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::WatchIncidents",
      "target": "WatchIncidentsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedIncidentServiceHandler::WatchIncidents",
      "target": "WatchIncidentsResponse",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::CreateIncident",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::GetIncident",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::ListIncidents",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::UpdateIncident",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::CloseIncident",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::ListAlerts",
      "kind": "references"
    },
    {
      "source": "NewIncidentServiceHandler",
      "target": "IncidentServiceHandler::WatchIncidents",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceClient",
      "target": "SessionServiceClient",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceClient",
      "target": "sessionServiceClient",
      "kind": "instantiates"
    },
    {
      "source": "sessionServiceClient::CreateSession",
      "target": "CreateSessionRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::CreateSession",
      "target": "CreateSessionResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetSession",
      "target": "GetSessionRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetSession",
      "target": "GetSessionResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListSessions",
      "target": "ListSessionsRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListSessions",
      "target": "ListSessionsResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::CancelSession",
      "target": "CancelSessionRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::CancelSession",
      "target": "CancelSessionResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::SendMessage",
      "target": "SendMessageRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::SendMessage",
      "target": "SendMessageResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListTurns",
      "target": "ListTurnsRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListTurns",
      "target": "ListTurnsResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::WatchSession",
      "target": "WatchSessionRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::WatchSession",
      "target": "WatchSessionResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetReport",
      "target": "GetReportRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetReport",
      "target": "GetReportResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListReportRevisions",
      "target": "ListReportRevisionsRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListReportRevisions",
      "target": "ListReportRevisionsResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListArtifacts",
      "target": "ListArtifactsRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::ListArtifacts",
      "target": "ListArtifactsResponse",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetArtifactDownload",
      "target": "GetArtifactDownloadRequest",
      "kind": "references"
    },
    {
      "source": "sessionServiceClient::GetArtifactDownload",
      "target": "GetArtifactDownloadResponse",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::CreateSession",
      "target": "CreateSessionRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::CreateSession",
      "target": "CreateSessionResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetSession",
      "target": "GetSessionRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetSession",
      "target": "GetSessionResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListSessions",
      "target": "ListSessionsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListSessions",
      "target": "ListSessionsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::CancelSession",
      "target": "CancelSessionRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::CancelSession",
      "target": "CancelSessionResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::SendMessage",
      "target": "SendMessageRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::SendMessage",
      "target": "SendMessageResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListTurns",
      "target": "ListTurnsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListTurns",
      "target": "ListTurnsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::WatchSession",
      "target": "WatchSessionRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::WatchSession",
      "target": "WatchSessionResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetReport",
      "target": "GetReportRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetReport",
      "target": "GetReportResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListReportRevisions",
      "target": "ListReportRevisionsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListReportRevisions",
      "target": "ListReportRevisionsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListArtifacts",
      "target": "ListArtifactsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::ListArtifacts",
      "target": "ListArtifactsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetArtifactDownload",
      "target": "GetArtifactDownloadRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSessionServiceHandler::GetArtifactDownload",
      "target": "GetArtifactDownloadResponse",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::CreateSession",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::GetSession",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::ListSessions",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::CancelSession",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::SendMessage",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::ListTurns",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::WatchSession",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::GetReport",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::ListReportRevisions",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::ListArtifacts",
      "kind": "references"
    },
    {
      "source": "NewSessionServiceHandler",
      "target": "SessionServiceHandler::GetArtifactDownload",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceClient",
      "target": "SystemServiceClient",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceClient",
      "target": "systemServiceClient",
      "kind": "instantiates"
    },
    {
      "source": "systemServiceClient::GetSystemStatus",
      "target": "GetSystemStatusRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::GetSystemStatus",
      "target": "GetSystemStatusResponse",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListMCPServers",
      "target": "ListMCPServersRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListMCPServers",
      "target": "ListMCPServersResponse",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListSkills",
      "target": "ListSkillsRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListSkills",
      "target": "ListSkillsResponse",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListTemplates",
      "target": "ListTemplatesRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::ListTemplates",
      "target": "ListTemplatesResponse",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::SyncWorkspace",
      "target": "SyncWorkspaceRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::SyncWorkspace",
      "target": "SyncWorkspaceResponse",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::TriggerAlert",
      "target": "TriggerAlertRequest",
      "kind": "references"
    },
    {
      "source": "systemServiceClient::TriggerAlert",
      "target": "TriggerAlertResponse",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::GetSystemStatus",
      "target": "GetSystemStatusRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::GetSystemStatus",
      "target": "GetSystemStatusResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListMCPServers",
      "target": "ListMCPServersRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListMCPServers",
      "target": "ListMCPServersResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListSkills",
      "target": "ListSkillsRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListSkills",
      "target": "ListSkillsResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListTemplates",
      "target": "ListTemplatesRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::ListTemplates",
      "target": "ListTemplatesResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::SyncWorkspace",
      "target": "SyncWorkspaceRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::SyncWorkspace",
      "target": "SyncWorkspaceResponse",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::TriggerAlert",
      "target": "TriggerAlertRequest",
      "kind": "references"
    },
    {
      "source": "UnimplementedSystemServiceHandler::TriggerAlert",
      "target": "TriggerAlertResponse",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::GetSystemStatus",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::ListMCPServers",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::ListSkills",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::ListTemplates",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::SyncWorkspace",
      "kind": "references"
    },
    {
      "source": "NewSystemServiceHandler",
      "target": "SystemServiceHandler::TriggerAlert",
      "kind": "references"
    },
    {
      "source": "SessionKind::String",
      "target": "SessionKind::Descriptor",
      "kind": "calls"
    },
    {
      "source": "SessionKind::EnumDescriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionStatus::String",
      "target": "SessionStatus::Descriptor",
      "kind": "calls"
    },
    {
      "source": "SessionStatus::EnumDescriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "TurnRole::String",
      "target": "TurnRole::Descriptor",
      "kind": "calls"
    },
    {
      "source": "TurnRole::EnumDescriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ArtifactKind::String",
      "target": "ArtifactKind::Descriptor",
      "kind": "calls"
    },
    {
      "source": "ArtifactKind::EnumDescriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ContextRefRole::String",
      "target": "ContextRefRole::Descriptor",
      "kind": "calls"
    },
    {
      "source": "ContextRefRole::EnumDescriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Session::Reset",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Session::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionTurn::Reset",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "SessionTurn::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Report::Reset",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "Report::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ReportRevision::Reset",
      "target": "ReportRevision",
      "kind": "instantiates"
    },
    {
      "source": "ReportRevision::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Artifact::Reset",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "Artifact::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionContextRef::Reset",
      "target": "SessionContextRef",
      "kind": "instantiates"
    },
    {
      "source": "SessionContextRef::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionSnapshot::Reset",
      "target": "SessionSnapshot",
      "kind": "instantiates"
    },
    {
      "source": "SessionSnapshot::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionSnapshot::GetSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "SessionSnapshot::GetTurns",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "SessionSnapshot::GetContextRefs",
      "target": "SessionContextRef",
      "kind": "references"
    },
    {
      "source": "TurnDelta::Reset",
      "target": "TurnDelta",
      "kind": "instantiates"
    },
    {
      "source": "TurnDelta::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ToolCallStarted::Reset",
      "target": "ToolCallStarted",
      "kind": "instantiates"
    },
    {
      "source": "ToolCallStarted::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SessionStatusChanged::Reset",
      "target": "SessionStatusChanged",
      "kind": "instantiates"
    },
    {
      "source": "SessionStatusChanged::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ReportReady::Reset",
      "target": "ReportReady",
      "kind": "instantiates"
    },
    {
      "source": "ReportReady::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ReportReady::GetReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "Heartbeat::Reset",
      "target": "Heartbeat",
      "kind": "instantiates"
    },
    {
      "source": "Heartbeat::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateSessionRequest::Reset",
      "target": "CreateSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "CreateSessionRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateSessionRequest::GetContextRefs",
      "target": "SessionContextRefInput",
      "kind": "references"
    },
    {
      "source": "SessionContextRefInput::Reset",
      "target": "SessionContextRefInput",
      "kind": "instantiates"
    },
    {
      "source": "SessionContextRefInput::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateSessionResponse::Reset",
      "target": "CreateSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "CreateSessionResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CreateSessionResponse::GetSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "GetSessionRequest::Reset",
      "target": "GetSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "GetSessionRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetSessionResponse::Reset",
      "target": "GetSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "GetSessionResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetSessionResponse::GetSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "ListSessionsRequest::Reset",
      "target": "ListSessionsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListSessionsRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListSessionsResponse::Reset",
      "target": "ListSessionsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListSessionsResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListSessionsResponse::GetSessions",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "CancelSessionRequest::Reset",
      "target": "CancelSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "CancelSessionRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CancelSessionResponse::Reset",
      "target": "CancelSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "CancelSessionResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "CancelSessionResponse::GetSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "SendMessageRequest::Reset",
      "target": "SendMessageRequest",
      "kind": "instantiates"
    },
    {
      "source": "SendMessageRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SendMessageResponse::Reset",
      "target": "SendMessageResponse",
      "kind": "instantiates"
    },
    {
      "source": "SendMessageResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SendMessageResponse::GetTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "ListTurnsRequest::Reset",
      "target": "ListTurnsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListTurnsRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListTurnsResponse::Reset",
      "target": "ListTurnsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListTurnsResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListTurnsResponse::GetTurns",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "WatchSessionRequest::Reset",
      "target": "WatchSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "WatchSessionRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "WatchSessionResponse::Reset",
      "target": "WatchSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "WatchSessionResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "WatchSessionResponse::GetEvent",
      "target": "isWatchSessionResponse_Event",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetSnapshot",
      "target": "SessionSnapshot",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetDelta",
      "target": "TurnDelta",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetToolStarted",
      "target": "ToolCallStarted",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetStatus",
      "target": "SessionStatusChanged",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetReport",
      "target": "ReportReady",
      "kind": "references"
    },
    {
      "source": "WatchSessionResponse::GetHeartbeat",
      "target": "Heartbeat",
      "kind": "references"
    },
    {
      "source": "GetReportRequest::Reset",
      "target": "GetReportRequest",
      "kind": "instantiates"
    },
    {
      "source": "GetReportRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetReportResponse::Reset",
      "target": "GetReportResponse",
      "kind": "instantiates"
    },
    {
      "source": "GetReportResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetReportResponse::GetReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "ListReportRevisionsRequest::Reset",
      "target": "ListReportRevisionsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListReportRevisionsRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListReportRevisionsResponse::Reset",
      "target": "ListReportRevisionsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListReportRevisionsResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListReportRevisionsResponse::GetRevisions",
      "target": "ReportRevision",
      "kind": "references"
    },
    {
      "source": "ListArtifactsRequest::Reset",
      "target": "ListArtifactsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListArtifactsRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListArtifactsResponse::Reset",
      "target": "ListArtifactsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListArtifactsResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListArtifactsResponse::GetArtifacts",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "GetArtifactDownloadRequest::Reset",
      "target": "GetArtifactDownloadRequest",
      "kind": "instantiates"
    },
    {
      "source": "GetArtifactDownloadRequest::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetArtifactDownloadResponse::Reset",
      "target": "GetArtifactDownloadResponse",
      "kind": "instantiates"
    },
    {
      "source": "GetArtifactDownloadResponse::Descriptor",
      "target": "file_korvus_v1_session_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetArtifactDownloadResponse::GetArtifact",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ReportRevision",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SessionContextRef",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SessionSnapshot",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "TurnDelta",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ToolCallStarted",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SessionStatusChanged",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ReportReady",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "Heartbeat",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "CreateSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SessionContextRefInput",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "CreateSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListSessionsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListSessionsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "CancelSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "CancelSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SendMessageRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "SendMessageResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListTurnsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListTurnsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "WatchSessionRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "WatchSessionResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetReportRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetReportResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListReportRevisionsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListReportRevisionsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListArtifactsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "ListArtifactsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetArtifactDownloadRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_goTypes",
      "target": "GetArtifactDownloadResponse",
      "kind": "instantiates"
    },
    {
      "source": "init",
      "target": "file_korvus_v1_session_proto_init",
      "kind": "calls"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Snapshot",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Turn",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Delta",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_ToolStarted",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Status",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Report",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_session_proto_init",
      "target": "WatchSessionResponse_Heartbeat",
      "kind": "instantiates"
    },
    {
      "source": "MCPServer::Reset",
      "target": "MCPServer",
      "kind": "instantiates"
    },
    {
      "source": "MCPServer::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "MCPServer::GetTools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "Tool::Reset",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "Tool::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Skill::Reset",
      "target": "Skill",
      "kind": "instantiates"
    },
    {
      "source": "Skill::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "Template::Reset",
      "target": "Template",
      "kind": "instantiates"
    },
    {
      "source": "Template::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetSystemStatusRequest::Reset",
      "target": "GetSystemStatusRequest",
      "kind": "instantiates"
    },
    {
      "source": "GetSystemStatusRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetSystemStatusResponse::Reset",
      "target": "GetSystemStatusResponse",
      "kind": "instantiates"
    },
    {
      "source": "GetSystemStatusResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "GetSystemStatusResponse::GetMcpServers",
      "target": "MCPServer",
      "kind": "references"
    },
    {
      "source": "ListMCPServersRequest::Reset",
      "target": "ListMCPServersRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListMCPServersRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListMCPServersResponse::Reset",
      "target": "ListMCPServersResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListMCPServersResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListMCPServersResponse::GetServers",
      "target": "MCPServer",
      "kind": "references"
    },
    {
      "source": "ListSkillsRequest::Reset",
      "target": "ListSkillsRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListSkillsRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListSkillsResponse::Reset",
      "target": "ListSkillsResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListSkillsResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListSkillsResponse::GetSkills",
      "target": "Skill",
      "kind": "references"
    },
    {
      "source": "ListTemplatesRequest::Reset",
      "target": "ListTemplatesRequest",
      "kind": "instantiates"
    },
    {
      "source": "ListTemplatesRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListTemplatesResponse::Reset",
      "target": "ListTemplatesResponse",
      "kind": "instantiates"
    },
    {
      "source": "ListTemplatesResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "ListTemplatesResponse::GetTemplates",
      "target": "Template",
      "kind": "references"
    },
    {
      "source": "SyncWorkspaceRequest::Reset",
      "target": "SyncWorkspaceRequest",
      "kind": "instantiates"
    },
    {
      "source": "SyncWorkspaceRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "SyncWorkspaceResponse::Reset",
      "target": "SyncWorkspaceResponse",
      "kind": "instantiates"
    },
    {
      "source": "SyncWorkspaceResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "TriggerAlertRequest::Reset",
      "target": "TriggerAlertRequest",
      "kind": "instantiates"
    },
    {
      "source": "TriggerAlertRequest::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "TriggerAlertResponse::Reset",
      "target": "TriggerAlertResponse",
      "kind": "instantiates"
    },
    {
      "source": "TriggerAlertResponse::Descriptor",
      "target": "file_korvus_v1_system_proto_rawDescGZIP",
      "kind": "calls"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "MCPServer",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "Skill",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "Template",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "GetSystemStatusRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "GetSystemStatusResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListMCPServersRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListMCPServersResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListSkillsRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListSkillsResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListTemplatesRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "ListTemplatesResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "SyncWorkspaceRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "SyncWorkspaceResponse",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "TriggerAlertRequest",
      "kind": "instantiates"
    },
    {
      "source": "file_korvus_v1_system_proto_goTypes",
      "target": "TriggerAlertResponse",
      "kind": "instantiates"
    },
    {
      "source": "init",
      "target": "file_korvus_v1_system_proto_init",
      "kind": "calls"
    },
    {
      "source": "New",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "New",
      "target": "namedProvider",
      "kind": "instantiates"
    },
    {
      "source": "New",
      "target": "Agent",
      "kind": "instantiates"
    },
    {
      "source": "Agent::Run",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "Agent::Run",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::Run",
      "target": "RunRequest::validate",
      "kind": "calls"
    },
    {
      "source": "Agent::Run",
      "target": "Agent::newSession",
      "kind": "calls"
    },
    {
      "source": "Agent::Run",
      "target": "Session::beginBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::Run",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Agent::runBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "newRepeatGuard",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Agent::toolDefs",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Agent::authorReport",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Agent::providersExhausted",
      "kind": "calls"
    },
    {
      "source": "Agent::investigateAndLand",
      "target": "Agent::finalize",
      "kind": "calls"
    },
    {
      "source": "Agent::Continue",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::Continue",
      "target": "Session::beginBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::Continue",
      "target": "Agent::openBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::Continue",
      "target": "Agent::runBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::Continue",
      "target": "newRepeatGuard",
      "kind": "calls"
    },
    {
      "source": "Agent::Continue",
      "target": "Agent::toolDefs",
      "kind": "calls"
    },
    {
      "source": "Agent::openBurst",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::openBurst",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::openBurst",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::openBurst",
      "target": "userTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::openBurst",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::runBurst",
      "target": "repeatGuard",
      "kind": "references"
    },
    {
      "source": "Agent::runBurst",
      "target": "ToolDef",
      "kind": "references"
    },
    {
      "source": "Agent::runBurst",
      "target": "exitFromCtx",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::providersExhausted",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::callModel",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Session::pruneToolResults",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "classifyLoopError",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "assistantTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::handleNoToolCalls",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "toolResult",
      "kind": "instantiates"
    },
    {
      "source": "Agent::runBurst",
      "target": "repeatGuard::check",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::executeToolCall",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "toolResult::message",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "toolTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "repeatGuard::shouldHalt",
      "kind": "calls"
    },
    {
      "source": "Agent::newSession",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "Agent::newSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::newSession",
      "target": "systemPrompt",
      "kind": "calls"
    },
    {
      "source": "Agent::newSession",
      "target": "ToolExecutor::Has",
      "kind": "calls"
    },
    {
      "source": "Agent::newSession",
      "target": "layeredTools",
      "kind": "instantiates"
    },
    {
      "source": "Agent::newSession",
      "target": "ToolExecutor::Tools",
      "kind": "calls"
    },
    {
      "source": "Agent::newSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Agent::newSession",
      "target": "AuditCounters",
      "kind": "instantiates"
    },
    {
      "source": "Agent::toolsFor",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::toolsFor",
      "target": "ToolExecutor",
      "kind": "references"
    },
    {
      "source": "Agent::skillsUsed",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::handleNoToolCalls",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::finalize",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::finalize",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "Agent::finalize",
      "target": "Agent::providersExhausted",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Agent::buildReport",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "fallbackReportData",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::finalize",
      "target": "finalizePrompt",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Agent::callModel",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::finalize",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "assistantTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "Agent::finalize",
      "target": "parseReportJSON",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::finalize",
      "target": "fallbackReportData",
      "kind": "calls"
    },
    {
      "source": "Agent::finalize",
      "target": "Agent::buildReport",
      "kind": "calls"
    },
    {
      "source": "Agent::buildReport",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::buildReport",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "Agent::buildReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "Agent::buildReport",
      "target": "IncidentMeta",
      "kind": "instantiates"
    },
    {
      "source": "Agent::buildReport",
      "target": "Agent::currentProvider",
      "kind": "calls"
    },
    {
      "source": "Agent::buildReport",
      "target": "Agent::skillsUsed",
      "kind": "calls"
    },
    {
      "source": "Agent::buildReport",
      "target": "AuditSummary",
      "kind": "instantiates"
    },
    {
      "source": "Agent::buildReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "Agent::buildReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "Agent::buildReport",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "fallbackReportData",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fallbackReportData",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "fallbackReportData",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "parseReportJSON",
      "target": "extractJSONObject",
      "kind": "calls"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "parseReportJSON",
      "target": "ReportData",
      "kind": "instantiates"
    },
    {
      "source": "Agent::logAndBroadcast",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "Agent::logAndBroadcast",
      "target": "TurnLogger::LogSessionTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::logAndBroadcast",
      "target": "TurnBroadcaster::PublishTurn",
      "kind": "calls"
    },
    {
      "source": "userTurn",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "userTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "userTurn",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "userTurn",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "userTurn",
      "target": "Session::nextSeq",
      "kind": "calls"
    },
    {
      "source": "assistantTurn",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "assistantTurn",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "assistantTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "assistantTurn",
      "target": "storedArgs",
      "kind": "calls"
    },
    {
      "source": "assistantTurn",
      "target": "Session::nextSeq",
      "kind": "calls"
    },
    {
      "source": "assistantTurn",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "assistantTurn",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "toolTurn",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "toolTurn",
      "target": "toolResult",
      "kind": "references"
    },
    {
      "source": "toolTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "toolTurn",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "toolTurn",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "toolTurn",
      "target": "Session::nextSeq",
      "kind": "calls"
    },
    {
      "source": "Agent::toolDefs",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::toolDefs",
      "target": "ToolDef",
      "kind": "references"
    },
    {
      "source": "Agent::toolDefs",
      "target": "ToolExecutor::Tools",
      "kind": "calls"
    },
    {
      "source": "Agent::toolDefs",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "Agent::toolDefs",
      "target": "ToolDef",
      "kind": "instantiates"
    },
    {
      "source": "Agent::currentProvider",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::currentProvider",
      "target": "namedProvider",
      "kind": "references"
    },
    {
      "source": "Agent::providersExhausted",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "classifyLoopError",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::runBurst",
      "target": "Agent::toolDefs",
      "kind": "references"
    },
    {
      "source": "scriptedProvider::Complete",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "scriptedProvider::Complete",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "scriptedProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "scriptedProvider::Complete",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "scriptedProvider::lastCall",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "textStep",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "textStep",
      "target": "Usage",
      "kind": "instantiates"
    },
    {
      "source": "toolStep",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "toolStep",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "toolStep",
      "target": "Usage",
      "kind": "instantiates"
    },
    {
      "source": "failStep",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "failStep",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "investigateThenReport",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "investigateThenReport",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "investigateThenReport",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "newEchoExecutor",
      "target": "fakeExecutor",
      "kind": "references"
    },
    {
      "source": "newEchoExecutor",
      "target": "fakeExecutor",
      "kind": "instantiates"
    },
    {
      "source": "newEchoExecutor",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "fakeExecutor::addTool",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "fakeExecutor::Tools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "fakeExecutor::Tools",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "fakeExecutor::Call",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "fakeExecutor::Call",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "memLogger::LogSessionTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "memLogger::roleTurns",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "newTestAgent",
      "target": "Provider",
      "kind": "references"
    },
    {
      "source": "newTestAgent",
      "target": "ToolExecutor",
      "kind": "references"
    },
    {
      "source": "newTestAgent",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "newTestAgent",
      "target": "memLogger",
      "kind": "references"
    },
    {
      "source": "newTestAgent",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "newTestAgent",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "newTestAgent",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "newTestAgent",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "testIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "testIncident",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "testIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "testSession",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "testSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "testSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "testRunRequest",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "testRunRequest",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "testRunRequest",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "testRunRequest",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "mustRun",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "mustRun",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "mustRun",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "mustRun",
      "target": "mustRunRequest",
      "kind": "calls"
    },
    {
      "source": "mustRun",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "mustRunRequest",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "mustRunRequest",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "mustRunRequest",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "mustRunRequest",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "mustRunRequest",
      "target": "Agent::Run",
      "kind": "calls"
    },
    {
      "source": "mustRunRequest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "mustRunRequest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "checkPairing",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "checkPairing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "checkPairing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "checkPairing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "checkPairing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "roleShape",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "loopCallCount",
      "target": "scriptedProvider",
      "kind": "references"
    },
    {
      "source": "TestHappyPath",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestHappyPath",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestHappyPath",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestHappyPath",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestHappyPath",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestMaxIterations",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestMaxIterations",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestCancelledMidToolBatch",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTimeoutDuringModelCall",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRateLimitRetryHonorsRetryAfter",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestHugeRetryAfterIsCapped",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFallbackAfterServerErrorsIsSticky",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestBothProvidersExhausted",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestAuthErrorFailsOverImmediately",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOverflowPruneThenRetry",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestOverflowTwiceLandsDegraded",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestOverflowWithNothingToPruneDoesNotBurnATurn",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestToolErrorContinuesLoop",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestUnknownToolStrikesHalt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestBadToolStrikesResetAfterAProductiveTurn",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestIsErrorResultResetsBadToolStrikes",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestInvalidArgsFedBackAndCorrected",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestTooManyToolCallsInOneTurn",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestStopLengthDropsToolCalls",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardWarnsThenHalts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestPollingWithChangingResultsIsLegal",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponseNudgeThenRecover",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestEmptyResponsesExhausted",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestStopFilteredIsTerminal",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeParsesFencedJSON",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRetriesOnInvalidJSON",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeEmptyAttemptDoesNotPoisonTheTranscript",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeFallsBackToProgrammaticReport",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttribution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttribution",
      "target": "mustRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSkillAttributionIgnoresUnexecutedCalls",
      "target": "mustRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "mustRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestEachRunsSystemPromptIsBuiltFromItsOwnSkills",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "mustRun",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "roleShape",
      "kind": "calls"
    },
    {
      "source": "TestTerminalTranscriptShapes",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestStoreWriteFailureAbortsRun",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestStoreWriteFailureAbortsRun",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestStoreWriteFailureAbortsRun",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestStoreWriteFailureAbortsRun",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestStoreWriteFailureAbortsRun",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBroadcasterReceivesTurnsAndCloses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestTurnsAreKeyedByTheCallersSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::authorReport",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "Agent::authorReport",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::workspaceToolDefs",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::providersExhausted",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::verifyAuthoredReport",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "Agent::authorReport",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::authorReport",
      "target": "authorPrompt",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::callModel",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "assistantTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::executeToolCall",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "toolResult::message",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::logAndBroadcast",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "toolTurn",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "Agent::verifyAuthoredReport",
      "kind": "calls"
    },
    {
      "source": "Agent::authorReport",
      "target": "disownUnchangedDocument",
      "kind": "calls"
    },
    {
      "source": "disownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "disownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "disownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "disownUnchangedDocument",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "ToolExecutor::Call",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "readWasCutOff",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "stripLineNumbers",
      "kind": "calls"
    },
    {
      "source": "Agent::verifyAuthoredReport",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "readWasCutOff",
      "target": "documentLineNumber",
      "kind": "calls"
    },
    {
      "source": "stripLineNumbers",
      "target": "documentLineNumber",
      "kind": "calls"
    },
    {
      "source": "Agent::workspaceToolDefs",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::workspaceToolDefs",
      "target": "ToolDef",
      "kind": "references"
    },
    {
      "source": "Agent::workspaceToolDefs",
      "target": "ToolExecutor::Tools",
      "kind": "calls"
    },
    {
      "source": "Agent::workspaceToolDefs",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "Agent::workspaceToolDefs",
      "target": "ToolDef",
      "kind": "instantiates"
    },
    {
      "source": "assertVerifiedThenExhausted",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "assertVerifiedThenExhausted",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "assertVerifiedThenExhausted",
      "target": "ProviderError::Error",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "Agent::Run",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterTheDocumentVerifiedEndsProviderFailed",
      "target": "assertVerifiedThenExhausted",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureAfterTheDocumentVerifiedWithAProviderLeftStaysCompleted",
      "target": "finalizeSawDocument",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "reopenTurns",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "settledRow",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "assertVerifiedThenExhausted",
      "kind": "calls"
    },
    {
      "source": "TestResumeAuthorExhaustionAfterTheDocumentVerified",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "authorWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "authorWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "authorRunRequest",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "authorRunRequest",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "writeReportStep",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "writeReportStep",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "writeReportStep",
      "target": "mustJSONString",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseProducesAReportKorvusReadsBack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "blipStore::LogSessionTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "blipStore",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterAToolTurnPersistFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAClaimWithoutAFile",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseRejectsAnEmptyReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseTemplateComesFromTheWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseOffersOnlyWorkspaceTools",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "ctxRespectingExecutor::Call",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "ctxRespectingExecutor::Call",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "ctxRespectingExecutor",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseVerifiesAfterCancellation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedWithoutAWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "containsMessage",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "containsMessage",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhaseSkippedOnceEveryProviderIsExhausted",
      "target": "authorPrompt",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "ProviderError::Error",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "containsMessage",
      "kind": "calls"
    },
    {
      "source": "TestProviderExhaustedDuringAuthoringLandsTheFallback",
      "target": "finalizePrompt",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestAuthorExhaustionAfterFailoverEndsProviderFailed",
      "target": "ProviderError::Error",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "ProviderError::Error",
      "kind": "calls"
    },
    {
      "source": "TestAuthorFailureWithAProviderLeftStaysReportAuthorFailed",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestStripLineNumbers",
      "target": "stripLineNumbers",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "blipStore",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPhasePreservesTheCauseWhenTheDocumentNeverLanded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCauseThen",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "NewTurnBroadcaster",
      "target": "TurnBroadcaster",
      "kind": "references"
    },
    {
      "source": "NewTurnBroadcaster",
      "target": "TurnBroadcaster",
      "kind": "instantiates"
    },
    {
      "source": "TurnBroadcaster::Subscribe",
      "target": "Event",
      "kind": "references"
    },
    {
      "source": "TurnBroadcaster::PublishTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "TurnBroadcaster::PublishTurn",
      "target": "TurnBroadcaster::publish",
      "kind": "calls"
    },
    {
      "source": "TurnBroadcaster::PublishTurn",
      "target": "Event",
      "kind": "instantiates"
    },
    {
      "source": "TurnBroadcaster::PublishToolStart",
      "target": "ToolCallStart",
      "kind": "references"
    },
    {
      "source": "TurnBroadcaster::PublishToolStart",
      "target": "TurnBroadcaster::publish",
      "kind": "calls"
    },
    {
      "source": "TurnBroadcaster::PublishToolStart",
      "target": "Event",
      "kind": "instantiates"
    },
    {
      "source": "TurnBroadcaster::publish",
      "target": "Event",
      "kind": "references"
    },
    {
      "source": "TurnBroadcaster::Close",
      "target": "TurnBroadcaster::latchClosed",
      "kind": "calls"
    },
    {
      "source": "testTurn",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "testTurn",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelReturnsSubscriberCountToZero",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestCancelReturnsSubscriberCountToZero",
      "target": "TurnBroadcaster::SubscriberCount",
      "kind": "calls"
    },
    {
      "source": "TestCancelReturnsSubscriberCountToZero",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelReturnsSubscriberCountToZero",
      "target": "TurnBroadcaster::SubscriberCount",
      "kind": "calls"
    },
    {
      "source": "TestCancelReturnsSubscriberCountToZero",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelIsIdempotentAfterClose",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestCancelIsIdempotentAfterClose",
      "target": "TurnBroadcaster::SubscriberCount",
      "kind": "calls"
    },
    {
      "source": "TestCancelIsIdempotentAfterClose",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseClosesEverySubscriberChannel",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsNonBlockingWhenTheBufferIsFull",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsNonBlockingWhenTheBufferIsFull",
      "target": "TurnBroadcaster::PublishTurn",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsNonBlockingWhenTheBufferIsFull",
      "target": "testTurn",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsScopedToOneSession",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsScopedToOneSession",
      "target": "TurnBroadcaster::PublishTurn",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsScopedToOneSession",
      "target": "testTurn",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsScopedToOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPublishIsScopedToOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSubscribeAfterCloseYieldsAClosedChannel",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestSubscribeAfterCloseYieldsAClosedChannel",
      "target": "TurnBroadcaster::SubscriberCount",
      "kind": "calls"
    },
    {
      "source": "TestReopenLiftsTheLatch",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestReopenLiftsTheLatch",
      "target": "TurnBroadcaster::PublishTurn",
      "kind": "calls"
    },
    {
      "source": "TestReopenLiftsTheLatch",
      "target": "testTurn",
      "kind": "calls"
    },
    {
      "source": "TestReopenLiftsTheLatch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestClosedLatchIsBounded",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestClosedLatchIsBounded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseIsIdempotentInTheLatch",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestCloseIsIdempotentInTheLatch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "NewTurnBroadcaster",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "TurnBroadcaster::PublishTurn",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "testTurn",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "TurnBroadcaster::PublishToolStart",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "ToolCallStart",
      "kind": "instantiates"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "TurnBroadcaster::SubscriberCount",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentSubscribeCancelPublish",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestPerBurstCeilingIsIndependentOfTheSessionTotal",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionCeilingStopsAnEndlessChainOfBursts",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestSessionWallClockStopsABurstBeforeItStarts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionClockStartsAtTheFirstBurstAndNeverMoves",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserIsNotTerminal",
      "target": "ExitReason::IsTerminal",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserIsNotTerminal",
      "target": "ExitReason::IsTerminal",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserIsNotTerminal",
      "target": "ExitReason::IsTerminal",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestRunStillCompletesWhileContinueAwaits",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestAFollowUpThatTripsARailKeepsTheRailsReason",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedOnlyOverridesACompletedRun",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestASkippedAuthorPhaseIsNotAFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::callModel",
      "target": "ToolDef",
      "kind": "references"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIOperationChat",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIProviderName",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIRequestModel",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "newBackoff",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "Agent::completeOnce",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIUsageInputTokens",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIUsageOutputTokens",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "GenAIResponseFinishReasons",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "Agent::recordCallFailure",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "Agent::callModel",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "Agent::recordCallFailure",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "Agent::callModel",
      "target": "SessionKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "ErrorType",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "SessionKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "SessionKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "Agent::recordCallFailure",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "Agent::callModel",
      "target": "Agent::recordCallFailure",
      "kind": "calls"
    },
    {
      "source": "Agent::callModel",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "Agent::recordCallFailure",
      "target": "ErrorKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::recordCallFailure",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::recordCallFailure",
      "target": "ErrorType",
      "kind": "calls"
    },
    {
      "source": "Agent::recordCallFailure",
      "target": "ErrorKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::recordCallFailure",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "namedProvider",
      "kind": "references"
    },
    {
      "source": "Agent::completeOnce",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "Agent::completeOnce",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIOperationChat",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIProviderName",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIRequestModel",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "SessionKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "ErrorType",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "SessionKind::String",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIUsageInputTokens",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIUsageOutputTokens",
      "kind": "calls"
    },
    {
      "source": "Agent::completeOnce",
      "target": "GenAIResponseFinishReasons",
      "kind": "calls"
    },
    {
      "source": "investigateThenText",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "investigateThenText",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "investigateThenText",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "ctxAwareTextStep",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "ctxAwareTextStep",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "ctxAwareTextStep",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "ctxAwareTextStep",
      "target": "Usage",
      "kind": "instantiates"
    },
    {
      "source": "assertReportLanded",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "assertReportLanded",
      "target": "ReportData",
      "kind": "references"
    },
    {
      "source": "assertReportLanded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "assertReportLanded",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "assertReportLanded",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "assertReportLanded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "assertReportLanded",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "assertReportLanded",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "ladderCase",
      "kind": "references"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "investigateThenText",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "investigateThenText",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "ladderCases",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "ladderCases",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "ladderCases",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestDegradationLadderAlwaysLandsAReport",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeSpendsExactlyMaxFinalizeAttempts",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestProviderDeadBeforeFinalizeNeverReachesTheWire",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "containsMessage",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "finalizePrompt",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeIsSkippedOnceEveryProviderIsExhausted",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "ctxAwareTextStep",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestFinalizeRunsOnGraceBudgetAfterTheSessionDeadline",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "investigateThenText",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestOverflowFallbackNamesTheOverflow",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestFinalizePromptTellsTheModelTheInvestigationWasCutShort",
      "target": "finalizePrompt",
      "kind": "calls"
    },
    {
      "source": "TestFinalizePromptTellsTheModelTheInvestigationWasCutShort",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "investigateThenText",
      "kind": "calls"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRunErrorsOnlyOnTurnPersistenceFailure",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "investigateThenText",
      "kind": "calls"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestMalformedRequestReturnsNoSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptMentionsDocsSearchOnlyWhenRegistered",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestDocsSearchToolNameMatchesTheDocsPackage",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "newRepeatGuard",
      "target": "repeatGuard",
      "kind": "references"
    },
    {
      "source": "newRepeatGuard",
      "target": "repeatGuard",
      "kind": "instantiates"
    },
    {
      "source": "repeatGuard::check",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "repeatGuard::check",
      "target": "toolResult",
      "kind": "references"
    },
    {
      "source": "repeatGuard::check",
      "target": "toolResult",
      "kind": "references"
    },
    {
      "source": "repeatGuard::check",
      "target": "canonicalArgs",
      "kind": "calls"
    },
    {
      "source": "finalizeRequest",
      "target": "scriptedProvider",
      "kind": "references"
    },
    {
      "source": "finalizeRequest",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "finalizeRequest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "finalizeRequest",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "lastUserContent",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "lastUserContent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseInjectsTheAuthoredDocument",
      "target": "finalizeRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "lastUserContent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "finalizeRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseFallsBackToTheTranscriptWhenAuthoringFailed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseKeepsTheTruncationSignalWhenIndexing",
      "target": "finalizePrompt",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseKeepsTheTruncationSignalWhenIndexing",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "padSection",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "mustJSONString",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "lastUserContent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseDisclosesATruncatedDocument",
      "target": "finalizeRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "lastUserContent",
      "kind": "calls"
    },
    {
      "source": "TestIndexPhaseSaysNothingAboutTruncationForAWholeDocument",
      "target": "finalizeRequest",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "padSection",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReadWasCutOffMatchesTheRealNotices",
      "target": "readWasCutOff",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "lastUserContent",
      "kind": "calls"
    },
    {
      "source": "TestAWholeDocumentQuotingANoticeIsNotAPrefix",
      "target": "finalizeRequest",
      "kind": "calls"
    },
    {
      "source": "TestDocumentLineNumberIsTheSingleDiscrimination",
      "target": "documentLineNumber",
      "kind": "calls"
    },
    {
      "source": "inheritedArtifact",
      "target": "InheritedArtifact",
      "kind": "references"
    },
    {
      "source": "inheritedArtifact",
      "target": "InheritedArtifact",
      "kind": "instantiates"
    },
    {
      "source": "inheritedArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestFirstUserMessageListsInheritedArtifactsByPath",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "RunRequest::validate",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContextPathSeparatesArtifactsSharingABaseName",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestContextPathFallsBackToTheArtifactID",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestContextPathFallsBackToTheArtifactID",
      "target": "ContextPath",
      "kind": "calls"
    },
    {
      "source": "TestContextPathFallsBackToTheArtifactID",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestContextPathFallsBackToTheArtifactID",
      "target": "ContextPath",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "target": "contextManifest",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescribesAnArtifactTheCallerLeftUndescribed",
      "target": "artifactKindDescription",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescriptionIsOneLineByConstruction",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescriptionIsOneLineByConstruction",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescriptionIsOneLineByConstruction",
      "target": "contextManifest",
      "kind": "calls"
    },
    {
      "source": "TestManifestDescriptionIsOneLineByConstruction",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "contextManifest",
      "kind": "calls"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestManifestPathIsOneLineByConstruction",
      "target": "ContextPath",
      "kind": "calls"
    },
    {
      "source": "TestBreaksManifestLineIsIsControlPlusLineSeparators",
      "target": "breaksManifestLine",
      "kind": "calls"
    },
    {
      "source": "TestManifestHeaderHoldsForAnAttachment",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestManifestHeaderHoldsForAnAttachment",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestManifestHeaderHoldsForAnAttachment",
      "target": "contextManifest",
      "kind": "calls"
    },
    {
      "source": "TestManifestHeaderHoldsForAnAttachment",
      "target": "artifactKindDescription",
      "kind": "calls"
    },
    {
      "source": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestManualIncidentWithNoLabelsProducesACoherentOpeningMessage",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertIncidentKeepsItsLabelsAndNarrowing",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "firstMessage",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalForAnInitialAndAFollowUpSession",
      "target": "firstMessage",
      "kind": "calls"
    },
    {
      "source": "firstMessage",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "inheritedWorkspace",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "inheritedWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "inheritedWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "inheritedWorkspace",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "inheritedWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "inheritedWorkspace",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "inheritedWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "inheritedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "ContextPath",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "inheritedWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "memLogger",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpReadsAnInheritedArtifactFromTheManifest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpeningUserMessageIsPersistedAsTurnOne",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestFollowUpUserMessageIsPersistedWhenTheBurstStarts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "assertInHistory",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "assertInHistory",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestLoopMechanicsAreNotPersistedAsUserTurns",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "assertInHistory",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestAuthorPromptIsNotPersistedAsAUserTurn",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "assertInHistory",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "assertInHistory",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "assertInHistory",
      "target": "roleShape",
      "kind": "calls"
    },
    {
      "source": "layeredTools::Tools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "layeredTools::Call",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "sessionWorkspace",
      "target": "ToolExecutor",
      "kind": "references"
    },
    {
      "source": "sessionWorkspace",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "sessionWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "sessionWorkspace",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "sessionWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "offered",
      "target": "ToolDef",
      "kind": "references"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "sessionWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "offered",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsReachTheLoopAndTheAuthorPhase",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "sessionWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "offered",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSessionToolsDoNotOutliveTheirSession",
      "target": "offered",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "layeredTools",
      "kind": "instantiates"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "layeredTools::Call",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "layeredTools::Call",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "layeredTools::Tools",
      "kind": "calls"
    },
    {
      "source": "TestLayeredToolsResolveACollisionToTheSessionsTool",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentLoopOverRealMCPStack",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "Server::Addr",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "ConnectAll",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestUnreachableServerDegradesWithoutCrashing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "ConnectAll",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestConnectAllRejectsCollisionAcrossRealServers",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRejectsCallsBeforeConnect",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRejectsCallsBeforeConnect",
      "target": "Client::ListTools",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRejectsCallsBeforeConnect",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientSurfacesToolErrorFlag",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientReconnect",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "systemPrompt",
      "target": "Skill",
      "kind": "references"
    },
    {
      "source": "firstUserMessage",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "firstUserMessage",
      "target": "incidentSection",
      "kind": "calls"
    },
    {
      "source": "firstUserMessage",
      "target": "contextManifest",
      "kind": "calls"
    },
    {
      "source": "firstUserMessage",
      "target": "closingInstruction",
      "kind": "calls"
    },
    {
      "source": "incidentSection",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "incidentSection",
      "target": "writeIfSet",
      "kind": "calls"
    },
    {
      "source": "incidentSection",
      "target": "writeIfSet",
      "kind": "calls"
    },
    {
      "source": "incidentSection",
      "target": "writeIfSet",
      "kind": "calls"
    },
    {
      "source": "incidentSection",
      "target": "writeSortedKV",
      "kind": "calls"
    },
    {
      "source": "incidentSection",
      "target": "writeSortedKV",
      "kind": "calls"
    },
    {
      "source": "closingInstruction",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "contextManifest",
      "target": "InheritedArtifact",
      "kind": "references"
    },
    {
      "source": "contextManifest",
      "target": "artifactKindDescription",
      "kind": "calls"
    },
    {
      "source": "contextManifest",
      "target": "ContextPath",
      "kind": "calls"
    },
    {
      "source": "ContextPath",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "ContextPath",
      "target": "breaksManifestLine",
      "kind": "calls"
    },
    {
      "source": "finalizePrompt",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "finalizeSawDocument",
      "target": "scriptedProvider",
      "kind": "references"
    },
    {
      "source": "finalizeSawDocument",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDegradedReopenDoesNotIndexTheRestoredDocument",
      "target": "finalizeSawDocument",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "writeReportStep",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "authorWorkspace",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "authorRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "assertReportLanded",
      "kind": "calls"
    },
    {
      "source": "TestReopenKeepsADocumentItsAuthorPhaseOwns",
      "target": "finalizeSawDocument",
      "kind": "calls"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestDisownUnchangedDocument",
      "target": "disownUnchangedDocument",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "ResumeRequest",
      "kind": "references"
    },
    {
      "source": "Agent::Resume",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::Resume",
      "target": "ResumeRequest::validate",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "Agent::newSession",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "Agent::Resume",
      "target": "Session::restore",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "TurnBroadcaster::Close",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "Session::beginBurst",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "Agent::investigateAndLand",
      "kind": "calls"
    },
    {
      "source": "Agent::Resume",
      "target": "Agent::currentProvider",
      "kind": "calls"
    },
    {
      "source": "Session::restore",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Session::restore",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "Session::restore",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "Session::restore",
      "target": "rebuildMessages",
      "kind": "calls"
    },
    {
      "source": "Session::restore",
      "target": "Session::markServerUsed",
      "kind": "calls"
    },
    {
      "source": "Session::restore",
      "target": "activeTime",
      "kind": "calls"
    },
    {
      "source": "activeTime",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "rebuildMessages",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "rebuildMessages",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "rebuildMessages",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "rebuildMessages",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "rebuildMessages",
      "target": "storedToolCalls",
      "kind": "calls"
    },
    {
      "source": "rebuildMessages",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "rebuildMessages",
      "target": "isOpenCall",
      "kind": "calls"
    },
    {
      "source": "rebuildMessages",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "isOpenCall",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "storedToolCalls",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "storedToolCalls",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "storedToolCalls",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "reopenTurns",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "reopenTurns",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "reopenTurns",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "reopenTurns",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "resumeRequest",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "resumeRequest",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "resumeRequest",
      "target": "SessionTurn",
      "kind": "references"
    },
    {
      "source": "resumeRequest",
      "target": "ResumeRequest",
      "kind": "references"
    },
    {
      "source": "resumeRequest",
      "target": "ResumeRequest",
      "kind": "instantiates"
    },
    {
      "source": "settledRow",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "settledRow",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "settledRow",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "reopenTurns",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "settledRow",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestResumeContinuesTheStoredConversation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestResumeAnswersEveryStoredToolCall",
      "target": "roleShape",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeDoesNotCountTheGapBeforeTheReopen",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestActiveTimeSkipsTheGapsBetweenBursts",
      "target": "activeTime",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeStillEnforcesTheWallClock",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestResumeCarriesTheSessionIterationBudget",
      "target": "loopCallCount",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "SessionTurn",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "newID",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "resumeRequest",
      "kind": "calls"
    },
    {
      "source": "TestResumeRefusesAMalformedRequest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStoredToolCallArgsComeBackAsSent",
      "target": "assistantTurn",
      "kind": "calls"
    },
    {
      "source": "TestStoredToolCallArgsComeBackAsSent",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestStoredToolCallArgsComeBackAsSent",
      "target": "storedToolCalls",
      "kind": "calls"
    },
    {
      "source": "TestStoredToolCallArgsComeBackAsSent",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestBurstAfterExhaustedProvidersMakesNoModelCall",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportRecordsTheIterationTurnRange",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAssistantTurnKeepsToolCallArgs",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStoredArgsKeepsMalformedArgumentsAsAString",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestStoredArgsKeepsMalformedArgumentsAsAString",
      "target": "assistantTurn",
      "kind": "calls"
    },
    {
      "source": "Session::append",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "InheritedArtifact",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestValidation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestRunRejectsCrossIncidentInheritanceBeforeCallingTheModel",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRunReturnsTheSessionAlongsideAPersistenceError",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "roleShape",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "TestContinueAppendsTheUserMessageAndRunsABurst",
      "target": "checkPairing",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueRejectsAnEmptyMessage",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRepeatGuardIsPerBurst",
      "target": "scriptedProvider::lastCall",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueClearsThePreviousExitReason",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "firstUserMessage",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "incidentSection",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "closingInstruction",
      "kind": "calls"
    },
    {
      "source": "TestFirstUserMessageCarriesTheOperatorPrompt",
      "target": "closingInstruction",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "testIncident",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "testSession",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "TestSystemPromptIsIdenticalAcrossSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsTheEmptyResponseBudget",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueResetsBadToolStrikes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "Agent::Continue",
      "kind": "calls"
    },
    {
      "source": "TestContinueRestoresThePruneAttempt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "AuditCounters",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "Frontmatter",
      "kind": "instantiates"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEverySessionFieldIsScoped",
      "target": "Session::beginBurst",
      "kind": "calls"
    },
    {
      "source": "toolResult::message",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "toolResult::message",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "ToolCall",
      "kind": "references"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "toolResult",
      "kind": "references"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "toolResult",
      "kind": "instantiates"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "ToolExecutor::Has",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "Agent::toolNames",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "TurnBroadcaster::PublishToolStart",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "ToolCallStart",
      "kind": "instantiates"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "ToolExecutor::Call",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "Session::markServerUsed",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "truncateResult",
      "kind": "calls"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "toolResult",
      "kind": "instantiates"
    },
    {
      "source": "Agent::executeToolCall",
      "target": "toolResult",
      "kind": "instantiates"
    },
    {
      "source": "Agent::toolNames",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Agent::toolNames",
      "target": "ToolExecutor::Tools",
      "kind": "calls"
    },
    {
      "source": "Agent::toolNames",
      "target": "Agent::toolsFor",
      "kind": "calls"
    },
    {
      "source": "truncateResult",
      "target": "cutAtBoundary",
      "kind": "calls"
    },
    {
      "source": "truncateResult",
      "target": "cutAtBoundary",
      "kind": "calls"
    },
    {
      "source": "truncateResult",
      "target": "humanBytes",
      "kind": "calls"
    },
    {
      "source": "TestTruncateResultPassesSmallResults",
      "target": "truncateResult",
      "kind": "calls"
    },
    {
      "source": "TestTruncateResultKeepsHeadAndTail",
      "target": "truncateResult",
      "kind": "calls"
    },
    {
      "source": "TestTruncateResultDoesNotSplitRunes",
      "target": "truncateResult",
      "kind": "calls"
    },
    {
      "source": "TestExtractJSONObject",
      "target": "extractJSONObject",
      "kind": "calls"
    },
    {
      "source": "TestParseReportJSONValidation",
      "target": "parseReportJSON",
      "kind": "calls"
    },
    {
      "source": "TestParseReportJSONValidation",
      "target": "parseReportJSON",
      "kind": "calls"
    },
    {
      "source": "TestParseReportJSONValidation",
      "target": "parseReportJSON",
      "kind": "calls"
    },
    {
      "source": "TestParseReportJSONValidation",
      "target": "parseReportJSON",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsKeepsRecentTurns",
      "target": "Session::pruneToolResults",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Session::append",
      "kind": "calls"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneToolResultsReportsNoOp",
      "target": "Session::pruneToolResults",
      "kind": "calls"
    },
    {
      "source": "recordSpans",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "callModelDirect",
      "target": "Agent",
      "kind": "references"
    },
    {
      "source": "callModelDirect",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "callModelDirect",
      "target": "Agent::newSession",
      "kind": "calls"
    },
    {
      "source": "callModelDirect",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "callModelDirect",
      "target": "Agent::callModel",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSuccessfulModelCallCarriesGenAISemconvAttributes",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "eventsNamed",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEachRetryAttemptGetsItsOwnSpanCarryingItsErrorKind",
      "target": "eventAttrs",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "eventsNamed",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "eventAttrs",
      "kind": "calls"
    },
    {
      "source": "TestProviderFailoverIsRecordedAsAnEventNamingBothSlots",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "Status",
      "kind": "instantiates"
    },
    {
      "source": "TestExhaustedCallRecordsAttemptCountsAndErrorTypeOnTheParentSpan",
      "target": "Status",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "Agent::newSession",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "Agent::callModel",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelledCallStillClosesTheParentSpanWithCounts",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallStillNamesTheModelAndProviderOnTheParentSpan",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "failStep",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "callModelDirect",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedCallAfterFailoverNamesTheLastProviderTried",
      "target": "attrsOf",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "investigateThenReport",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "newEchoExecutor",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "spansNamed",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "SpanID::String",
      "kind": "calls"
    },
    {
      "source": "TestModelCallSpansShareTheRunTrace",
      "target": "SpanID::String",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "New",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "newTestMCPServer",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "scriptedProvider",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "toolStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "textStep",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "newTestAgent",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "testRunRequest",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAgentReachesWorkspaceToolsThroughTheRegistry",
      "target": "memLogger::roleTurns",
      "kind": "calls"
    },
    {
      "source": "_",
      "target": "FS",
      "kind": "instantiates"
    },
    {
      "source": "NewFS",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "NewFS",
      "target": "FS",
      "kind": "instantiates"
    },
    {
      "source": "FS::Put",
      "target": "FS::resolve",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "FS::createTemp",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "newContextReader",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Put",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "FS::resolve",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Get",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "FS::resolve",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::Delete",
      "target": "FS::explain",
      "kind": "calls"
    },
    {
      "source": "FS::resolve",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "FS::resolve",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "FS::explain",
      "target": "FS::escapesViaSymlink",
      "kind": "calls"
    },
    {
      "source": "newContextReader",
      "target": "contextReader",
      "kind": "instantiates"
    },
    {
      "source": "mustNewFS",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "mustNewFS",
      "target": "mustNewFSAt",
      "kind": "calls"
    },
    {
      "source": "mustNewFSAt",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "mustNewFSAt",
      "target": "NewFS",
      "kind": "calls"
    },
    {
      "source": "mustNewFSAt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "put",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "put",
      "target": "FS::Put",
      "kind": "calls"
    },
    {
      "source": "put",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "get",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "get",
      "target": "FS::Get",
      "kind": "calls"
    },
    {
      "source": "get",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "get",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripPutGetDelete",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripPutGetDelete",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripPutGetDelete",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripPutGetDelete",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetMissingKeyReportsErrNotFound",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestGetMissingKeyReportsErrNotFound",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDeleteIsIdempotent",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestDeleteIsIdempotent",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestDeleteIsIdempotent",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesAnExistingObject",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesAnExistingObject",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesAnExistingObject",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesAnExistingObject",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestPutLeavesNoTemporaryFile",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutLeavesNoTemporaryFile",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestPutLeavesNoTemporaryFile",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPutReplacesASymlinkRatherThanWritingThroughIt",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestKeysThatEscapeTheRootAreRejected",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkedDirectoryInsideTheRootCannotBeEscapedThrough",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestAnEscapedPutCreatesNoDirectoriesOutsideTheRoot",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestASiblingDirectoryNamedLikeTheRootIsNotInsideIt",
      "target": "mustNewFSAt",
      "kind": "calls"
    },
    {
      "source": "TestAnInRootSymlinkFailureIsNotReportedAsAnEscape",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestAnInRootSymlinkFailureIsNotReportedAsAnEscape",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestGetRefusesALeafSymlinkPointingOutsideTheRoot",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestDeleteCannotUnlinkThroughASymlinkedDirectory",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestDeleteUnlinksALeafSymlinkWithoutTouchingItsTarget",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestADanglingSymlinkCannotBeWrittenThrough",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkThatStaysInsideTheRootIsFollowed",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkThatStaysInsideTheRootIsFollowed",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkThatStaysInsideTheRootIsFollowed",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestGetOnADirectoryKeyReportsErrNotFound",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestGetOnADirectoryKeyReportsErrNotFound",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestDeleteLeavesADirectoryKeyAlone",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestDeleteLeavesADirectoryKeyAlone",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestDeleteLeavesADirectoryKeyAlone",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestDeleteLeavesADirectoryKeyAlone",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTheElementLimitMatchesWhatTheFilesystemAccepts",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestTheElementLimitMatchesWhatTheFilesystemAccepts",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestOrdinaryKeysAreAccepted",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentPutsOfOneKeyYieldOneCompleteObject",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentPutsOfOneKeyYieldOneCompleteObject",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestPutHonoursContextCancellation",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutAbortsMidBodyOnCancellationWithoutLeavingAnObject",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutAbortsMidBodyOnCancellationWithoutLeavingAnObject",
      "target": "cancelAfterFirstRead",
      "kind": "instantiates"
    },
    {
      "source": "TestPutAbortsMidBodyOnCancellationWithoutLeavingAnObject",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetAndDeleteHonourContextCancellation",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestGetAndDeleteHonourContextCancellation",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestGetAndDeleteHonourContextCancellation",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestPutStoresBinaryContentUnchanged",
      "target": "mustNewFS",
      "kind": "calls"
    },
    {
      "source": "TestPutStoresBinaryContentUnchanged",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPutStoresBinaryContentUnchanged",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestNewFSRejectsAnEmptyRoot",
      "target": "NewFS",
      "kind": "calls"
    },
    {
      "source": "TestNewFSCreatesAMissingRoot",
      "target": "mustNewFSAt",
      "kind": "calls"
    },
    {
      "source": "TestNewFSCreatesAMissingRoot",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestNewFSAcceptsARootThatIsItselfASymlink",
      "target": "mustNewFSAt",
      "kind": "calls"
    },
    {
      "source": "TestNewFSAcceptsARootThatIsItselfASymlink",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "TestNewFSAcceptsARootThatIsItselfASymlink",
      "target": "get",
      "kind": "calls"
    },
    {
      "source": "TestNewFSResolvesARelativeRootToAbsolute",
      "target": "mustNewFSAt",
      "kind": "calls"
    },
    {
      "source": "TestNewFSResolvesARelativeRootToAbsolute",
      "target": "put",
      "kind": "calls"
    },
    {
      "source": "ReportKey",
      "target": "validateIDs",
      "kind": "calls"
    },
    {
      "source": "ReportKey",
      "target": "validateRevision",
      "kind": "calls"
    },
    {
      "source": "ReportKey",
      "target": "join",
      "kind": "calls"
    },
    {
      "source": "ArtifactKey",
      "target": "validateIDs",
      "kind": "calls"
    },
    {
      "source": "ArtifactKey",
      "target": "ValidateIDComponent",
      "kind": "calls"
    },
    {
      "source": "ArtifactKey",
      "target": "join",
      "kind": "calls"
    },
    {
      "source": "WorkspaceArchiveKey",
      "target": "validateIDs",
      "kind": "calls"
    },
    {
      "source": "WorkspaceArchiveKey",
      "target": "validateRevision",
      "kind": "calls"
    },
    {
      "source": "WorkspaceArchiveKey",
      "target": "join",
      "kind": "calls"
    },
    {
      "source": "validateIDs",
      "target": "ValidateIDComponent",
      "kind": "calls"
    },
    {
      "source": "ValidateIDComponent",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateIDComponent",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateIDComponent",
      "target": "isSafeIDRune",
      "kind": "calls"
    },
    {
      "source": "ValidateIDComponent",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "ValidateKey",
      "target": "truncate",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDerivedKeysAreDeterministicAndSafe",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestEveryKeyForOneIncidentSharesAPrefix",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestEveryKeyForOneIncidentSharesAPrefix",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestEveryKeyForOneIncidentSharesAPrefix",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestASessionIDCannotForgeTheIncidentLevelSegment",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsUnsafeIDs",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestFailedDerivationReturnsAnEmptyKey",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestFailedDerivationReturnsAnEmptyKey",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestFailedDerivationReturnsAnEmptyKey",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsARevisionBelowOne",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestKeyDerivationRejectsARevisionBelowOne",
      "target": "WorkspaceArchiveKey",
      "kind": "calls"
    },
    {
      "source": "TestValidateKeyAcceptsOrdinaryKeys",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestValidateKeyRejectsAnElementOverTheFilesystemLimit",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestInvalidKeyErrorsNameTheOffendingInput",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestSeparatorRulesExplainThemselvesRatherThanReportingAnEmptyElement",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "TestSeparatorRulesExplainThemselvesRatherThanReportingAnEmptyElement",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOversizedInputsAreTruncatedInErrors",
      "target": "ValidateIDComponent",
      "kind": "calls"
    },
    {
      "source": "newFS",
      "target": "FS",
      "kind": "references"
    },
    {
      "source": "newFS",
      "target": "NewFS",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "Store::Put",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "Store::Delete",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAConsumerNeedsOnlyTheInterface",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestNotFoundIsDistinguishableThroughTheInterfaceAlone",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkEscapeReachesTheConsumerAsErrInvalidKey",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestASymlinkEscapeReachesTheConsumerAsErrInvalidKey",
      "target": "Store::Get",
      "kind": "calls"
    },
    {
      "source": "TestTheFilesystemBackendDoesNotClaimThePresignerCapability",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestAPresigningBackendIsReachableThroughTheSameAssertion",
      "target": "presigningStore",
      "kind": "instantiates"
    },
    {
      "source": "TestKeysAreDerivableWithoutAStore",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "TestOneKeyMeansOneObjectAcrossBackends",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestOneKeyMeansOneObjectAcrossBackends",
      "target": "newFS",
      "kind": "calls"
    },
    {
      "source": "TestOneKeyMeansOneObjectAcrossBackends",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "Providers::Find",
      "target": "Provider",
      "kind": "references"
    },
    {
      "source": "Providers::Find",
      "target": "Provider",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "Default",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Server",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Database",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Embeddings",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Workspace",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Blob",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Telemetry",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Default",
      "target": "Skills",
      "kind": "instantiates"
    },
    {
      "source": "Load",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "Load",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "Load",
      "target": "parse",
      "kind": "calls"
    },
    {
      "source": "parse",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "parse",
      "target": "substituteEnv",
      "kind": "calls"
    },
    {
      "source": "parse",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "parse",
      "target": "Default",
      "kind": "calls"
    },
    {
      "source": "parse",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "parse",
      "target": "Config::Validate",
      "kind": "calls"
    },
    {
      "source": "parse",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "Config::Validate",
      "target": "Providers::Find",
      "kind": "calls"
    },
    {
      "source": "Config::Validate",
      "target": "Providers::Find",
      "kind": "calls"
    },
    {
      "source": "writeConfig",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoadMinimal",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestLoadMinimal",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestLoadMinimal",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoadOverridesDefaults",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestLoadOverridesDefaults",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestLoadOverridesDefaults",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestBlobPath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestEnvSubstitution",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnknownKeyIsRejected",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestUnknownKeyIsRejected",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestValidationFailures",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestValidationFailures",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestZeroDebounceDelayIsValid",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestZeroDebounceDelayIsValid",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestZeroDebounceDelayIsValid",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnResolved",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestValidateReportsEveryProblem",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestValidateReportsEveryProblem",
      "target": "writeConfig",
      "kind": "calls"
    },
    {
      "source": "TestExampleConfigLoads",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "TestExampleConfigLoads",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestProvidersFind",
      "target": "Providers",
      "kind": "instantiates"
    },
    {
      "source": "TestProvidersFind",
      "target": "Providers::Find",
      "kind": "calls"
    },
    {
      "source": "TestProvidersFind",
      "target": "Providers::Find",
      "kind": "calls"
    },
    {
      "source": "TestLoadMissingFile",
      "target": "Load",
      "kind": "calls"
    },
    {
      "source": "SplitMarkdown",
      "target": "Chunk",
      "kind": "references"
    },
    {
      "source": "SplitMarkdown",
      "target": "sections",
      "kind": "calls"
    },
    {
      "source": "SplitMarkdown",
      "target": "splitSection",
      "kind": "calls"
    },
    {
      "source": "SplitMarkdown",
      "target": "Chunk",
      "kind": "instantiates"
    },
    {
      "source": "sections",
      "target": "section",
      "kind": "references"
    },
    {
      "source": "sections",
      "target": "closesFence",
      "kind": "calls"
    },
    {
      "source": "sections",
      "target": "openingFence",
      "kind": "calls"
    },
    {
      "source": "sections",
      "target": "atxHeading",
      "kind": "calls"
    },
    {
      "source": "sections",
      "target": "section",
      "kind": "instantiates"
    },
    {
      "source": "sections",
      "target": "breadcrumb",
      "kind": "calls"
    },
    {
      "source": "atxHeading",
      "target": "trimIndent",
      "kind": "calls"
    },
    {
      "source": "openingFence",
      "target": "trimIndent",
      "kind": "calls"
    },
    {
      "source": "closesFence",
      "target": "trimIndent",
      "kind": "calls"
    },
    {
      "source": "splitSection",
      "target": "trimBlankEdges",
      "kind": "calls"
    },
    {
      "source": "splitSection",
      "target": "hardWrap",
      "kind": "calls"
    },
    {
      "source": "splitSection",
      "target": "overlapTail",
      "kind": "calls"
    },
    {
      "source": "splitSection",
      "target": "joinedLen",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownStartsAChunkAtEveryHeading",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownStartsAChunkAtEveryHeading",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownIgnoresHeadingsInsideFencedCode",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownIgnoresHeadingsInsideFencedCode",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownHeadingSyntax",
      "target": "atxHeading",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSkipsHeadingOnlySections",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSkipsHeadingOnlySections",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownNormalisesCRLF",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownNormalisesCRLF",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "contains",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "contains",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "contents",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownSplitsLongSectionsWithOverlap",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownBoundsASingleHugeLine",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "TestSplitMarkdownBoundsASingleHugeLine",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEmbeddingInputCarriesPathAndHeading",
      "target": "Chunk",
      "kind": "instantiates"
    },
    {
      "source": "TestEmbeddingInputCarriesPathAndHeading",
      "target": "Chunk::EmbeddingInput",
      "kind": "calls"
    },
    {
      "source": "TestEmbeddingInputCarriesPathAndHeading",
      "target": "Chunk::EmbeddingInput",
      "kind": "calls"
    },
    {
      "source": "TestEmbeddingInputCarriesPathAndHeading",
      "target": "Chunk",
      "kind": "instantiates"
    },
    {
      "source": "contents",
      "target": "Chunk",
      "kind": "references"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "lexicalTop",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "NewIndexer",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "NewOpenAIEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "TestRealEmbedderFindsWhatLexicalSearchMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "newMemStore",
      "target": "memStore",
      "kind": "references"
    },
    {
      "source": "newMemStore",
      "target": "memStore",
      "kind": "instantiates"
    },
    {
      "source": "memStore::ReplaceDocChunks",
      "target": "DocChunk",
      "kind": "references"
    },
    {
      "source": "memStore::SearchDocChunks",
      "target": "DocChunk",
      "kind": "references"
    },
    {
      "source": "memStore::SearchDocChunks",
      "target": "cosine",
      "kind": "calls"
    },
    {
      "source": "memStore::SearchDocChunks",
      "target": "cosine",
      "kind": "calls"
    },
    {
      "source": "conceptEmbedder::Embed",
      "target": "words",
      "kind": "calls"
    },
    {
      "source": "lexicalTop",
      "target": "words",
      "kind": "calls"
    },
    {
      "source": "lexicalTop",
      "target": "words",
      "kind": "calls"
    },
    {
      "source": "writeTree",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "writeTree",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "newTestIndexer",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "newTestIndexer",
      "target": "conceptEmbedder",
      "kind": "references"
    },
    {
      "source": "newTestIndexer",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "newTestIndexer",
      "target": "NewIndexer",
      "kind": "calls"
    },
    {
      "source": "newTestIndexer",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "NewIndexer",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "NewIndexer",
      "target": "Embedder",
      "kind": "references"
    },
    {
      "source": "NewIndexer",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "NewIndexer",
      "target": "Indexer",
      "kind": "instantiates"
    },
    {
      "source": "Indexer::Refresh",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "Indexer::Refresh",
      "target": "Indexer::Current",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "Result",
      "kind": "references"
    },
    {
      "source": "Indexer::Index",
      "target": "Result",
      "kind": "instantiates"
    },
    {
      "source": "Indexer::Index",
      "target": "Result",
      "kind": "instantiates"
    },
    {
      "source": "Indexer::Index",
      "target": "Store::HasDocChunks",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "Indexer::promote",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "readDocs",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "SplitMarkdown",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "Indexer::embed",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "Store::ReplaceDocChunks",
      "kind": "calls"
    },
    {
      "source": "Indexer::Index",
      "target": "Indexer::promote",
      "kind": "calls"
    },
    {
      "source": "Indexer::promote",
      "target": "Indexer::setCurrent",
      "kind": "calls"
    },
    {
      "source": "Indexer::promote",
      "target": "Indexer::keepRefs",
      "kind": "calls"
    },
    {
      "source": "Indexer::promote",
      "target": "Store::PruneDocChunks",
      "kind": "calls"
    },
    {
      "source": "Indexer::embed",
      "target": "Chunk",
      "kind": "references"
    },
    {
      "source": "Indexer::embed",
      "target": "DocChunk",
      "kind": "references"
    },
    {
      "source": "Indexer::embed",
      "target": "Chunk::EmbeddingInput",
      "kind": "calls"
    },
    {
      "source": "Indexer::embed",
      "target": "Embedder::Embed",
      "kind": "calls"
    },
    {
      "source": "Indexer::embed",
      "target": "DocChunk",
      "kind": "instantiates"
    },
    {
      "source": "readDocs",
      "target": "docFile",
      "kind": "references"
    },
    {
      "source": "readDocs",
      "target": "docFile",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexEmbedsMarkdownUnderDocsOnly",
      "target": "memStore::paths",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnchangedRefDoesNoEmbeddingWork",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "TestChangedRefReindexesAndPrunes",
      "target": "memStore::paths",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestFailedIndexKeepsThePreviousRefServing",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAMiscountedEmbeddingResponse",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexBatchesEmbeddingRequests",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsSymlinks",
      "target": "memStore::paths",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexSkipsFilesPostgresCannotStore",
      "target": "memStore::paths",
      "kind": "calls"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIndexWithoutADocsDirectoryServesAnEmptyIndex",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "TestPruneFailureIsRetriedOnTheNextSync",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAnEmptyRef",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAnEmptyRef",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestIndexRejectsAnEmptyRef",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestIndexRejectsAnEmptyRef",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "TestNewIndexerRequiresStoreAndEmbedder",
      "target": "NewIndexer",
      "kind": "calls"
    },
    {
      "source": "TestNewIndexerRequiresStoreAndEmbedder",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestNewIndexerRequiresStoreAndEmbedder",
      "target": "NewIndexer",
      "kind": "calls"
    },
    {
      "source": "TestNewIndexerRequiresStoreAndEmbedder",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestCurrentIsSafeDuringIndex",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "TestCurrentIsSafeDuringIndex",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestCurrentIsSafeDuringIndex",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestCurrentIsSafeDuringIndex",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestCurrentIsSafeDuringIndex",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "indexAt",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "indexAt",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "indexAt",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "indexAt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "search",
      "target": "MCPClient",
      "kind": "references"
    },
    {
      "source": "search",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "search",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "search",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "search",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientAnswersFromItsPinnedCommitAfterANewerIndex",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestASessionClientWithoutAnIndexForItsCommitSaysSoAndNamesTheOneUsed",
      "target": "search",
      "kind": "calls"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "Client",
      "kind": "instantiates"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestASessionWhoseCommitWasPrunedFallsBackRatherThanReportingEmpty",
      "target": "search",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedSessionOnTheCurrentCommitWithNoDocsStillSaysEmpty",
      "target": "search",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "Indexer::Pin",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRefSurvivesThePruneUntilReleased",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "Indexer::Pin",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "Indexer::Pin",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "indexAt",
      "kind": "calls"
    },
    {
      "source": "TestReleasingOnePinLeavesTheOtherSessionsPin",
      "target": "memStore::refs",
      "kind": "calls"
    },
    {
      "source": "searchTool",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "NewClient",
      "target": "Indexer",
      "kind": "references"
    },
    {
      "source": "NewClient",
      "target": "Client",
      "kind": "references"
    },
    {
      "source": "NewClient",
      "target": "Client",
      "kind": "instantiates"
    },
    {
      "source": "Indexer::SessionClient",
      "target": "MCPClient",
      "kind": "references"
    },
    {
      "source": "Indexer::SessionClient",
      "target": "Client",
      "kind": "instantiates"
    },
    {
      "source": "Indexer::SessionClient",
      "target": "Indexer::Pin",
      "kind": "calls"
    },
    {
      "source": "Client::ListTools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "Client::CallTool",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "Client::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "topKArg",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "Indexer::Current",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "errorResult",
      "kind": "calls"
    },
    {
      "source": "Client::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "Client::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "errorResult",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "errorResult",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "indexedClient",
      "target": "Client",
      "kind": "references"
    },
    {
      "source": "indexedClient",
      "target": "memStore",
      "kind": "references"
    },
    {
      "source": "indexedClient",
      "target": "conceptEmbedder",
      "kind": "references"
    },
    {
      "source": "indexedClient",
      "target": "writeTree",
      "kind": "calls"
    },
    {
      "source": "indexedClient",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "indexedClient",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "indexedClient",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "indexedClient",
      "target": "Indexer::Index",
      "kind": "calls"
    },
    {
      "source": "indexedClient",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "indexedClient",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "call",
      "target": "Client",
      "kind": "references"
    },
    {
      "source": "call",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "call",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSearchFindsWhatLexicalMatchingMisses",
      "target": "lexicalTop",
      "kind": "calls"
    },
    {
      "source": "TestSearchFindsWhatLexicalMatchingMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSearchFindsWhatLexicalMatchingMisses",
      "target": "indexedClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchFindsWhatLexicalMatchingMisses",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchFindsWhatLexicalMatchingMisses",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSearchReadsTheCurrentRefWithTheRequestedK",
      "target": "indexedClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchReadsTheCurrentRefWithTheRequestedK",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchReadsTheCurrentRefWithTheRequestedK",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchRefusesBadArguments",
      "target": "indexedClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchRefusesBadArguments",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "newMemStore",
      "kind": "calls"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "conceptEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "newTestIndexer",
      "kind": "calls"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchBeforeAnyIndexSaysNotReady",
      "target": "conceptEmbedder::counts",
      "kind": "calls"
    },
    {
      "source": "TestSearchReportsAnEmbedderFailureToTheModel",
      "target": "indexedClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchReportsAnEmbedderFailureToTheModel",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestSearchOverAnEmptyIndexSaysSo",
      "target": "indexedClient",
      "kind": "calls"
    },
    {
      "source": "TestSearchOverAnEmptyIndexSaysSo",
      "target": "call",
      "kind": "calls"
    },
    {
      "source": "TestListToolsAdvertisesDocsSearch",
      "target": "Client::ListTools",
      "kind": "calls"
    },
    {
      "source": "TestListToolsAdvertisesDocsSearch",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "TestListToolsAdvertisesDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestListToolsAdvertisesDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestListToolsAdvertisesDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCallToolRejectsAnUnknownTool",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestCallToolRejectsAnUnknownTool",
      "target": "NewClient",
      "kind": "calls"
    },
    {
      "source": "NewIngestor",
      "target": "IngestorConfig",
      "kind": "references"
    },
    {
      "source": "NewIngestor",
      "target": "Ingestor",
      "kind": "references"
    },
    {
      "source": "NewIngestor",
      "target": "Ingestor",
      "kind": "instantiates"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "validateGroup",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "allResolved",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::ingestResolved",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "AlertStore::GetActiveIncidentByFingerprint",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "alertIDs",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "pendingOpen",
      "kind": "instantiates"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "alertIDs",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::open",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "Ingestor::fire",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "AlertStore::ListOpenIncidentsByFingerprint",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Ingestor::closeResolved",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "alertIDs",
      "kind": "calls"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Ingestor::record",
      "kind": "calls"
    },
    {
      "source": "Ingestor::fire",
      "target": "pendingOpen",
      "kind": "references"
    },
    {
      "source": "Ingestor::fire",
      "target": "Ingestor::open",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "pendingOpen",
      "kind": "references"
    },
    {
      "source": "Ingestor::open",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Ingestor::open",
      "target": "AlertStore::CreateIncident",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "alertIncident",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Ingestor::open",
      "target": "AlertStore::AttachAlerts",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "Ingestor::closeResolved",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "SessionStarter::StartSession",
      "kind": "calls"
    },
    {
      "source": "Ingestor::open",
      "target": "alertPrompt",
      "kind": "calls"
    },
    {
      "source": "Ingestor::closeResolved",
      "target": "AlertStore::CloseIncident",
      "kind": "calls"
    },
    {
      "source": "Ingestor::record",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "Ingestor::record",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "Ingestor::record",
      "target": "Alert",
      "kind": "instantiates"
    },
    {
      "source": "Ingestor::record",
      "target": "AlertStore::LogAlert",
      "kind": "calls"
    },
    {
      "source": "validateGroup",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "allResolved",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "alertIDs",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "alertIncident",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "alertIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "alertIncident",
      "target": "alertTitle",
      "kind": "calls"
    },
    {
      "source": "alertTitle",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "alertPrompt",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "alertPrompt",
      "target": "writeSorted",
      "kind": "calls"
    },
    {
      "source": "alertPrompt",
      "target": "writeSorted",
      "kind": "calls"
    },
    {
      "source": "Ingestor::Ingest",
      "target": "alertIDs",
      "kind": "references"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "Ingestor::open",
      "kind": "references"
    },
    {
      "source": "Ingestor::ingestResolved",
      "target": "alertIDs",
      "kind": "references"
    },
    {
      "source": "Ingestor::fire",
      "target": "alertIDs",
      "kind": "references"
    },
    {
      "source": "Ingestor::open",
      "target": "alertIDs",
      "kind": "references"
    },
    {
      "source": "Ingestor::Stop",
      "target": "alertIDs",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::CreateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::CreateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::CreateIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "alertFakeStore::GetActiveIncidentByFingerprint",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::GetActiveIncidentByFingerprint",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "alertFakeStore::ListOpenIncidentsByFingerprint",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::LogAlert",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::snapshot",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "alertFakeStore::snapshot",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "sessionRecorder::StartSession",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "sessionRecorder::StartSession",
      "target": "startedSession",
      "kind": "instantiates"
    },
    {
      "source": "manualTimers::afterFunc",
      "target": "manualTimer",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "IngestorConfig",
      "kind": "references"
    },
    {
      "source": "newIngestFixture",
      "target": "ingestFixture",
      "kind": "references"
    },
    {
      "source": "newIngestFixture",
      "target": "ingestFixture",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "alertFakeStore",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "testClock",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "sessionRecorder",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "manualTimers",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "IngestorConfig",
      "kind": "instantiates"
    },
    {
      "source": "newIngestFixture",
      "target": "NewIngestor",
      "kind": "calls"
    },
    {
      "source": "newIngestFixture",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "firingGroup",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "firingGroup",
      "target": "AlertGroup",
      "kind": "instantiates"
    },
    {
      "source": "firingGroup",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "firingGroup",
      "target": "IncomingAlert",
      "kind": "instantiates"
    },
    {
      "source": "resolvedGroup",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "resolvedGroup",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "mustIngest",
      "target": "Ingestor",
      "kind": "references"
    },
    {
      "source": "mustIngest",
      "target": "AlertGroup",
      "kind": "references"
    },
    {
      "source": "mustIngest",
      "target": "Alert",
      "kind": "references"
    },
    {
      "source": "mustIngest",
      "target": "Ingestor::Ingest",
      "kind": "calls"
    },
    {
      "source": "mustIngest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestBurstOpensOneIncidentAndOneSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentBurstOpensOneIncident",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentBurstOpensOneIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentBurstOpensOneIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentBurstOpensOneIncident",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestConcurrentBurstOpensOneIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIgnoredLabelsDoNotAffectFingerprint",
      "target": "groupFingerprint",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestIngestUsesConfiguredIgnoredLabels",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDedupLookupUsesConfiguredWindow",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestDedupLookupUsesConfiguredWindow",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestDedupLookupUsesConfiguredWindow",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestDedupLookupUsesConfiguredWindow",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedClosesIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterDedupWindowClosesIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterWindowAlsoResolvesPendingDebounce",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterRefireClosesEveryOpenIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "closedOnClose",
      "kind": "instantiates"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedAfterManualCloseIsNotAnError",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "closedOnClose::ListOpenIncidentsByFingerprint",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "TestAlertBeforeIncidentIsStoredThenAttached",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestAlertBeforeIncidentIsStoredThenAttached",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestAlertBeforeIncidentIsStoredThenAttached",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestAlertBeforeIncidentIsStoredThenAttached",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestAlertBeforeIncidentIsStoredThenAttached",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithinDebounceClosesWithoutSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestRefiringWithinDebounceStartsSession",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithoutIncidentOpensNothing",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithoutIncidentOpensNothing",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithoutIncidentOpensNothing",
      "target": "resolvedGroup",
      "kind": "calls"
    },
    {
      "source": "TestResolvedWithoutIncidentOpensNothing",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentFields",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentFields",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentFields",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestAlertIncidentFields",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestAlertTitleFallbacks",
      "target": "AlertGroup",
      "kind": "instantiates"
    },
    {
      "source": "TestAlertTitleFallbacks",
      "target": "alertTitle",
      "kind": "calls"
    },
    {
      "source": "TestAlertTitleFallbacks",
      "target": "alertTitle",
      "kind": "calls"
    },
    {
      "source": "TestAlertTitleFallbacks",
      "target": "AlertGroup",
      "kind": "instantiates"
    },
    {
      "source": "TestSessionStartFailureKeepsIncident",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestSessionStartFailureKeepsIncident",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestSessionStartFailureKeepsIncident",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestSessionStartFailureKeepsIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestInvalidGroupRecordsNothing",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestInvalidGroupRecordsNothing",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestInvalidGroupRecordsNothing",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestInvalidGroupRecordsNothing",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestStopAbandonsPendingDebounce",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestTimerFiringAfterStopOpensNothing",
      "target": "newIngestFixture",
      "kind": "calls"
    },
    {
      "source": "TestTimerFiringAfterStopOpensNothing",
      "target": "mustIngest",
      "kind": "calls"
    },
    {
      "source": "TestTimerFiringAfterStopOpensNothing",
      "target": "firingGroup",
      "kind": "calls"
    },
    {
      "source": "TestTimerFiringAfterStopOpensNothing",
      "target": "checkoutLabels",
      "kind": "calls"
    },
    {
      "source": "TestNewIngestorRejectsUnusableConfig",
      "target": "IngestorConfig",
      "kind": "instantiates"
    },
    {
      "source": "TestNewIngestorRejectsUnusableConfig",
      "target": "alertFakeStore",
      "kind": "instantiates"
    },
    {
      "source": "TestNewIngestorRejectsUnusableConfig",
      "target": "sessionRecorder",
      "kind": "instantiates"
    },
    {
      "source": "TestNewIngestorRejectsUnusableConfig",
      "target": "NewIngestor",
      "kind": "calls"
    },
    {
      "source": "TestNewIngestorRejectsUnusableConfig",
      "target": "NewIngestor",
      "kind": "calls"
    },
    {
      "source": "newIngestFixture",
      "target": "manualTimers::afterFunc",
      "kind": "references"
    },
    {
      "source": "newIngestFixture",
      "target": "testClock::Now",
      "kind": "references"
    },
    {
      "source": "NewManager",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "NewManager",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "NewManager",
      "target": "Manager",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Open",
      "target": "OpenRequest",
      "kind": "references"
    },
    {
      "source": "Manager::Open",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::Open",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Open",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Open",
      "target": "Store::CreateIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Open",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Get",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::Get",
      "target": "Store::GetIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Get",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::List",
      "target": "ListFilter",
      "kind": "references"
    },
    {
      "source": "Manager::List",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::List",
      "target": "IncidentFilter",
      "kind": "instantiates"
    },
    {
      "source": "Manager::List",
      "target": "Store::ListIncidents",
      "kind": "calls"
    },
    {
      "source": "Manager::List",
      "target": "NextIncidentCursor",
      "kind": "calls"
    },
    {
      "source": "Manager::Update",
      "target": "UpdateRequest",
      "kind": "references"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::Update",
      "target": "Store::GetIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "isTerminal",
      "kind": "calls"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "Store::UpdateIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Update",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Close",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::Close",
      "target": "isTerminal",
      "kind": "calls"
    },
    {
      "source": "Manager::Close",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Close",
      "target": "Store::CloseIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Close",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Close",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Close",
      "target": "Store::GetIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Close",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "newFakeStore",
      "target": "fakeStore",
      "kind": "references"
    },
    {
      "source": "newFakeStore",
      "target": "fakeStore",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::ListIncidents",
      "target": "IncidentFilter",
      "kind": "references"
    },
    {
      "source": "fakeStore::ListIncidents",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::UpdateIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::UpdateIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "openTestIncident",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "openTestIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "openTestIncident",
      "target": "OpenRequest",
      "kind": "instantiates"
    },
    {
      "source": "openTestIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenDefaultsAndManualOrigin",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestOpenDefaultsAndManualOrigin",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestOpenDefaultsAndManualOrigin",
      "target": "OpenRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestOpenDefaultsAndManualOrigin",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenRejectsBlankTitle",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestOpenRejectsBlankTitle",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestOpenRejectsBlankTitle",
      "target": "OpenRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestOpenKeepsSuppliedStartedAt",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestOpenKeepsSuppliedStartedAt",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestOpenKeepsSuppliedStartedAt",
      "target": "OpenRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestOpenKeepsSuppliedStartedAt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateChangesDescriptiveFields",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateChangesDescriptiveFields",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateChangesDescriptiveFields",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateChangesDescriptiveFields",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateChangesDescriptiveFields",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateKeepsCurrentStatusWhenUnset",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesTerminalStatus",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesTerminalStatus",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesTerminalStatus",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesTerminalStatus",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateRejectsUnknownStatus",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRejectsUnknownStatus",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRejectsUnknownStatus",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRejectsUnknownStatus",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateRefusesClosedIncident",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateOnMissingIncident",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateOnMissingIncident",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateOnMissingIncident",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "UpdateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUpdateLosingTheRaceToACloseReportsAlreadyClosed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseStampsTerminalState",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestCloseStampsTerminalState",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCloseStampsTerminalState",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestCloseStampsTerminalState",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseDefaultsToResolved",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestCloseDefaultsToResolved",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCloseDefaultsToResolved",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestCloseDefaultsToResolved",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseRejectsNonTerminalStatus",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestCloseRejectsNonTerminalStatus",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCloseRejectsNonTerminalStatus",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestSecondCloseIsRefusedAndPreservesTheFirst",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnMissingIncident",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestCloseOnMissingIncident",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "openTestIncident",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "ListFilter",
      "kind": "instantiates"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "ListFilter",
      "kind": "instantiates"
    },
    {
      "source": "TestListFiltersAndCursor",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenPropagatesStoreError",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestOpenPropagatesStoreError",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestOpenPropagatesStoreError",
      "target": "OpenRequest",
      "kind": "instantiates"
    },
    {
      "source": "NewStreamableHTTPClient",
      "target": "StreamableHTTPClient",
      "kind": "references"
    },
    {
      "source": "NewStreamableHTTPClient",
      "target": "StreamableHTTPClient",
      "kind": "instantiates"
    },
    {
      "source": "StreamableHTTPClient::Connect",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "StreamableHTTPClient::ListTools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "StreamableHTTPClient::ListTools",
      "target": "StreamableHTTPClient::liveSession",
      "kind": "calls"
    },
    {
      "source": "StreamableHTTPClient::ListTools",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "StreamableHTTPClient::liveSession",
      "kind": "calls"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "StreamableHTTPClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "newEchoServer",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "Client::ListTools",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "Client::CallTool",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientRoundTrip",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "Server::Addr",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "Client::ListTools",
      "kind": "calls"
    },
    {
      "source": "TestStreamableClientConnectFailureIsAnError",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "newEchoServer",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "ConnectAll",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRegistryOverRealClient",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "ConnectAll",
      "target": "NewStreamableHTTPClient",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "StreamableHTTPClient::Connect",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "Registry::RecordFailure",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "Registry::RegisterServer",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "StreamableHTTPClient::Close",
      "kind": "calls"
    },
    {
      "source": "ConnectAll",
      "target": "Registry::RecordFailure",
      "kind": "calls"
    },
    {
      "source": "NewRegistry",
      "target": "Registry",
      "kind": "references"
    },
    {
      "source": "NewRegistry",
      "target": "Registry",
      "kind": "instantiates"
    },
    {
      "source": "Registry::RegisterServer",
      "target": "MCPClient",
      "kind": "references"
    },
    {
      "source": "Registry::RegisterServer",
      "target": "MCPClient::ListTools",
      "kind": "calls"
    },
    {
      "source": "Registry::Tools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "Registry::Call",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "Registry::Call",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Call",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "Registry::Call",
      "target": "MCPClient::CallTool",
      "kind": "calls"
    },
    {
      "source": "Registry::Call",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "stubClient::ListTools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "stubClient::CallTool",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "stubClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestCallRejectsToolWhoseServerIsMissing",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestCallRejectsToolWhoseServerIsMissing",
      "target": "Tool",
      "kind": "instantiates"
    },
    {
      "source": "TestCallRejectsToolWhoseServerIsMissing",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "TestCallRoutesToOwningServer",
      "target": "stubClient",
      "kind": "instantiates"
    },
    {
      "source": "TestCallRoutesToOwningServer",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestCallRoutesToOwningServer",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCallRoutesToOwningServer",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCallRejectsUnknownTool",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestRegisterServerRejectsToolNameCollision",
      "target": "NewRegistry",
      "kind": "calls"
    },
    {
      "source": "TestRegisterServerRejectsToolNameCollision",
      "target": "stubClient",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterServerRejectsToolNameCollision",
      "target": "stubClient",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterServerRejectsToolNameCollision",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "newTracingTransport",
      "target": "tracingTransport",
      "kind": "references"
    },
    {
      "source": "newTracingTransport",
      "target": "tracingTransport",
      "kind": "instantiates"
    },
    {
      "source": "TestTraceparentCarriesTheCallersTraceID",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestTraceparentCarriesTheCallersTraceID",
      "target": "tracingTransport::RoundTrip",
      "kind": "calls"
    },
    {
      "source": "TestTraceparentCarriesTheCallersTraceID",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestTraceparentCarriesTheCallersTraceID",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripDoesNotMutateTheCallersRequest",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripDoesNotMutateTheCallersRequest",
      "target": "tracingTransport::RoundTrip",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripDoesNotMutateTheCallersRequest",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripSpanCarriesServerAndStatus",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripSpanCarriesServerAndStatus",
      "target": "tracingTransport::RoundTrip",
      "kind": "calls"
    },
    {
      "source": "TestRoundTripSpanCarriesServerAndStatus",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestServerErrorStatusMarksTheSpan",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestServerErrorStatusMarksTheSpan",
      "target": "tracingTransport::RoundTrip",
      "kind": "calls"
    },
    {
      "source": "TestServerErrorStatusMarksTheSpan",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestServerErrorStatusMarksTheSpan",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTransportErrorIsRecorded",
      "target": "recordSpans",
      "kind": "calls"
    },
    {
      "source": "TestTransportErrorIsRecorded",
      "target": "tracingTransport::RoundTrip",
      "kind": "calls"
    },
    {
      "source": "TestTransportErrorIsRecorded",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestNilBaseUsesDefaultTransport",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "TestNilBaseUsesDefaultTransport",
      "target": "newTracingTransport",
      "kind": "calls"
    },
    {
      "source": "NewAnthropicProvider",
      "target": "AnthropicProvider",
      "kind": "references"
    },
    {
      "source": "NewAnthropicProvider",
      "target": "AnthropicProvider",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "anthropicMessages",
      "kind": "calls"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "classifyAnthropicError",
      "kind": "calls"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "anthropicStopReason",
      "kind": "calls"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "Usage",
      "kind": "instantiates"
    },
    {
      "source": "AnthropicProvider::Complete",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "anthropicMessages",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "anthropicMessages",
      "target": "anthropicBlocks",
      "kind": "calls"
    },
    {
      "source": "anthropicMessages",
      "target": "appendBlock",
      "kind": "calls"
    },
    {
      "source": "anthropicBlocks",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "anthropicBlocks",
      "target": "toolInput",
      "kind": "calls"
    },
    {
      "source": "classifyAnthropicError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "classifyAnthropicError",
      "target": "classifyStatus",
      "kind": "calls"
    },
    {
      "source": "classifyAnthropicError",
      "target": "retryAfterFromHeader",
      "kind": "calls"
    },
    {
      "source": "classifyAnthropicError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "anthropicTestServer",
      "target": "AnthropicProvider",
      "kind": "references"
    },
    {
      "source": "anthropicTestServer",
      "target": "NewAnthropicProvider",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicCompleteMapsResponse",
      "target": "anthropicTestServer",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicCompleteMapsResponse",
      "target": "sampleRequest",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicCompleteMapsResponse",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicClassifiesErrors",
      "target": "anthropicTestServer",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicClassifiesErrors",
      "target": "sampleRequest",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicClassifiesErrors",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "formatWire",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "anthropicWire",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "anthropicWire",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "anthropicWire",
      "target": "anthropicMessages",
      "kind": "calls"
    },
    {
      "source": "anthropicWire",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "anthropicWire",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "anthropicWire",
      "target": "wireMessage",
      "kind": "instantiates"
    },
    {
      "source": "anthropicWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "anthropicWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "anthropicWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "openaiWire",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "openaiWire",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "openaiWire",
      "target": "openaiMessages",
      "kind": "calls"
    },
    {
      "source": "openaiWire",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "openaiWire",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "openaiWire",
      "target": "wireMessage",
      "kind": "instantiates"
    },
    {
      "source": "openaiWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "openaiWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "openaiWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "openaiWire",
      "target": "wireBlock",
      "kind": "instantiates"
    },
    {
      "source": "assertNonEmpty",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertFirstIsUser",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertFirstIsUser",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertSystemFirst",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertSystemFirst",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertSystemFirst",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertNoEmptyBlockList",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertNoEmptyBlockList",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertAlternates",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertAlternates",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsBatched",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertToolResultsBatched",
      "target": "countKind",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsBatched",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsBatched",
      "target": "countKind",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsBatched",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsFirst",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertToolResultsFirst",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsPaired",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "assertToolResultsPaired",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsPaired",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsPaired",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolResultsPaired",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "assertToolInputsAreObjects",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "countKind",
      "target": "wireMessage",
      "kind": "references"
    },
    {
      "source": "roleShape",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "userMsg",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "userMsg",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "assistantMsg",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "assistantMsg",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "assistantMsg",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "toolMsg",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "toolMsg",
      "target": "Message",
      "kind": "instantiates"
    },
    {
      "source": "investigateLoop",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "investigateLoop",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "investigateLoop",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "investigateLoop",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "investigateLoop",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "repeatShape",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "investigateLoop",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "repeatShape",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "investigateLoop",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "toolMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "assistantMsg",
      "kind": "calls"
    },
    {
      "source": "loopTranscripts",
      "target": "userMsg",
      "kind": "calls"
    },
    {
      "source": "transcript",
      "target": "Message",
      "kind": "references"
    },
    {
      "source": "transcript",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoopTranscripts",
      "target": "roleShape",
      "kind": "calls"
    },
    {
      "source": "TestLoopTranscripts",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestLoopTranscripts",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "transcript",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicBatchesToolResultsIntoOneUserMessage",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "transcript",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicMergesConsecutiveUserMessages",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicDropsEmptyMessagesWithoutBreakingAlternation",
      "target": "assertAlternates",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "assertToolResultsFirst",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicPutsToolResultsBeforeTextWhenMerging",
      "target": "assertToolResultsPaired",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicToolInputIsAlwaysAnObject",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicToolInputIsAlwaysAnObject",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicToolInputIsAlwaysAnObject",
      "target": "assertToolInputsAreObjects",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicToolInputIsAlwaysAnObject",
      "target": "assertToolResultsPaired",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "target": "anthropicWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "target": "formatWire",
      "kind": "calls"
    },
    {
      "source": "TestAnthropicEmptyToolResultIsNotAnEmptyTextBlock",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "converters",
      "target": "anthropicWire",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertNonEmpty",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertFirstIsUser",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertNoEmptyBlockList",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertAlternates",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertToolResultsBatched",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertToolResultsFirst",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertToolResultsPaired",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertToolInputsAreObjects",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "openaiWire",
      "kind": "references"
    },
    {
      "source": "converters",
      "target": "assertSystemFirst",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "anthropicWire",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertNonEmpty",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertFirstIsUser",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertNoEmptyBlockList",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertAlternates",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertToolResultsBatched",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertToolResultsFirst",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertToolResultsPaired",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertToolInputsAreObjects",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "openaiWire",
      "kind": "references"
    },
    {
      "source": "internal/model/composition_test.go",
      "target": "assertSystemFirst",
      "kind": "references"
    },
    {
      "source": "classifyStatus",
      "target": "looksLikeOverloaded",
      "kind": "calls"
    },
    {
      "source": "classifyStatus",
      "target": "looksLikeOverflow",
      "kind": "calls"
    },
    {
      "source": "NewOpenAIProvider",
      "target": "OpenAIProvider",
      "kind": "references"
    },
    {
      "source": "NewOpenAIProvider",
      "target": "OpenAIProvider",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionResponse",
      "kind": "references"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "openaiMessages",
      "kind": "calls"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "classifyOpenAIError",
      "kind": "calls"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "CompletionResponse",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "openaiStopReason",
      "kind": "calls"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "Usage",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIProvider::Complete",
      "target": "ToolCall",
      "kind": "instantiates"
    },
    {
      "source": "openaiMessages",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "classifyOpenAIError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "classifyOpenAIError",
      "target": "classifyStatus",
      "kind": "calls"
    },
    {
      "source": "classifyOpenAIError",
      "target": "retryAfterFromHeader",
      "kind": "calls"
    },
    {
      "source": "classifyOpenAIError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "NewOpenAIEmbedder",
      "target": "OpenAIEmbedder",
      "kind": "references"
    },
    {
      "source": "NewOpenAIEmbedder",
      "target": "OpenAIEmbedder",
      "kind": "instantiates"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "classifyOpenAIEmbedError",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "embedServerError",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "embedServerError",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "embedServerError",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "embedServerError",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "float32Vector",
      "kind": "calls"
    },
    {
      "source": "OpenAIEmbedder::Embed",
      "target": "embedServerError",
      "kind": "calls"
    },
    {
      "source": "embedServerError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "classifyOpenAIEmbedError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "classifyOpenAIEmbedError",
      "target": "classifyStatus",
      "kind": "calls"
    },
    {
      "source": "classifyOpenAIEmbedError",
      "target": "retryAfterFromHeader",
      "kind": "calls"
    },
    {
      "source": "classifyOpenAIEmbedError",
      "target": "ProviderError",
      "kind": "instantiates"
    },
    {
      "source": "embedTestServer",
      "target": "OpenAIEmbedder",
      "kind": "references"
    },
    {
      "source": "embedTestServer",
      "target": "NewOpenAIEmbedder",
      "kind": "calls"
    },
    {
      "source": "embedResponse",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReturnsOneVectorPerInputInOrder",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReordersByResponseIndex",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReordersByResponseIndex",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedReordersByResponseIndex",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedEmptyInputMakesNoRequest",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedEmptyInputMakesNoRequest",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsWrongWidth",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsWrongWidth",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsWrongWidth",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsWrongWidth",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsShortBatch",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsShortBatch",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsRepeatedIndex",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsRepeatedIndex",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsOutOfRangeIndex",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedRejectsOutOfRangeIndex",
      "target": "embedResponse",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedClassifiesErrors",
      "target": "embedTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedClassifiesErrors",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedClassifiesErrors",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedClassifiesErrors",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedTransportFailureIsRetryable",
      "target": "NewOpenAIEmbedder",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedTransportFailureIsRetryable",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedTransportFailureIsRetryable",
      "target": "KindOf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedderReportsDimensions",
      "target": "OpenAIEmbedder::Dimensions",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIEmbedderReportsDimensions",
      "target": "NewOpenAIEmbedder",
      "kind": "calls"
    },
    {
      "source": "openaiTestServer",
      "target": "OpenAIProvider",
      "kind": "references"
    },
    {
      "source": "openaiTestServer",
      "target": "NewOpenAIProvider",
      "kind": "calls"
    },
    {
      "source": "sampleRequest",
      "target": "CompletionRequest",
      "kind": "references"
    },
    {
      "source": "sampleRequest",
      "target": "CompletionRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestOpenAICompleteMapsResponse",
      "target": "openaiTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAICompleteMapsResponse",
      "target": "sampleRequest",
      "kind": "calls"
    },
    {
      "source": "TestOpenAICompleteMapsResponse",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIClassifiesErrors",
      "target": "openaiTestServer",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIClassifiesErrors",
      "target": "sampleRequest",
      "kind": "calls"
    },
    {
      "source": "TestOpenAIClassifiesErrors",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAwaitingUserLeavesTheSessionOpen",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestATerminalExitStillStampsEndedAt",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportAuthorFailedStillCompletes",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "fakeStore::GetArtifact",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "fakeStore::AddSessionContextRefs",
      "target": "SessionContextRef",
      "kind": "references"
    },
    {
      "source": "fakeStore::seedArtifact",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "fakeStore::seedArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "completingRunner",
      "target": "fakeRunner",
      "kind": "references"
    },
    {
      "source": "completingRunner",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "completingRunner",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "completingRunner",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "completingRunner",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "fakeRunner::lastRequest",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestContextRefsBecomeInheritedContextAndAreRecorded",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "completingRunner",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "fakeStore::sessionCount",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "completingRunner",
      "kind": "calls"
    },
    {
      "source": "TestBadContextRefsAreRefusedBeforeAnySessionExists",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "completingRunner",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAFailedRefInsertSettlesTheRowFailed",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "fakeStore::seedArtifact",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "completingRunner",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAnUnroledRefDerivesItsRoleFromTheArtifactKind",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "fakeDocs::SessionClient",
      "target": "MCPClient",
      "kind": "references"
    },
    {
      "source": "fakeDocs::SessionClient",
      "target": "pinnedDocsClient",
      "kind": "instantiates"
    },
    {
      "source": "pinnedDocsClient::ListTools",
      "target": "Tool",
      "kind": "references"
    },
    {
      "source": "pinnedDocsClient::CallTool",
      "target": "CallResult",
      "kind": "references"
    },
    {
      "source": "pinnedDocsClient::CallTool",
      "target": "CallResult",
      "kind": "instantiates"
    },
    {
      "source": "docsRun::run",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "docsRun::run",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "docsRun::run",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "docsRun::run",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "docsRun",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "fakeDocs",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "scratchManager",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "createPinned",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPinnedRunSearchesTheDocsOfItsOwnCommitAndUnpinsAfterwards",
      "target": "fakeDocs::state",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "docsRun",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "fakeDocs",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "scratchManager",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "createPinned",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingRunStillReleasesItsDocsPin",
      "target": "fakeDocs::state",
      "kind": "calls"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "docsRun",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "fakeDocs",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "scratchManager",
      "kind": "calls"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "waitOrFail",
      "kind": "calls"
    },
    {
      "source": "TestAnUnpinnedRunGetsNoSessionDocsSearch",
      "target": "fakeDocs::state",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestStopCancelsEveryRunAndWaitsForItToSettle",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestStopWithNothingRunningReturns",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestStopWithNothingRunningReturns",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestStopWithNothingRunningReturns",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheTemplatePath",
      "target": "fakeRunner::lastRequest",
      "kind": "calls"
    },
    {
      "source": "NewManager",
      "target": "Config",
      "kind": "references"
    },
    {
      "source": "NewManager",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "NewManager",
      "target": "Manager",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "CreateRequest",
      "kind": "references"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Store::GetIncident",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Manager::inferKind",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Manager::resolveContextRefs",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Store::CreateSession",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Counter::Add",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Store::AddSessionContextRefs",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Manager::settle",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Create",
      "target": "Manager::launch",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Manager::run",
      "kind": "calls"
    },
    {
      "source": "Manager::Create",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::launch",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::launch",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "Manager::launch",
      "target": "Manager::trackSettle",
      "kind": "calls"
    },
    {
      "source": "Manager::launch",
      "target": "Manager::markSettled",
      "kind": "calls"
    },
    {
      "source": "Manager::launch",
      "target": "IncidentRegistry::Unregister",
      "kind": "calls"
    },
    {
      "source": "Manager::launch",
      "target": "Manager::settle",
      "kind": "calls"
    },
    {
      "source": "Manager::inferKind",
      "target": "Store::ListSessions",
      "kind": "calls"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "ContextRef",
      "kind": "references"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "InheritedArtifact",
      "kind": "references"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "SessionContextRef",
      "kind": "references"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "Store::GetArtifact",
      "kind": "calls"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "roleForKind",
      "kind": "calls"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "InheritedArtifact",
      "kind": "instantiates"
    },
    {
      "source": "Manager::resolveContextRefs",
      "target": "SessionContextRef",
      "kind": "instantiates"
    },
    {
      "source": "Manager::run",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::run",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "Manager::run",
      "target": "CreateRequest",
      "kind": "references"
    },
    {
      "source": "Manager::run",
      "target": "Manager::prepareScratch",
      "kind": "calls"
    },
    {
      "source": "Manager::run",
      "target": "Manager::releaseScratch",
      "kind": "calls"
    },
    {
      "source": "Manager::run",
      "target": "Runner::Run",
      "kind": "calls"
    },
    {
      "source": "Manager::run",
      "target": "RunRequest",
      "kind": "instantiates"
    },
    {
      "source": "Manager::run",
      "target": "Manager::skillsFor",
      "kind": "calls"
    },
    {
      "source": "Manager::run",
      "target": "Manager::land",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::land",
      "target": "WorkspaceRef",
      "kind": "references"
    },
    {
      "source": "Manager::land",
      "target": "scratch",
      "kind": "references"
    },
    {
      "source": "Manager::land",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::land",
      "target": "Manager::settle",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "Manager::persistArtifacts",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "logHarvest",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "adoptsStaleReport",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "Manager::persistReport",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "Manager::settle",
      "kind": "calls"
    },
    {
      "source": "Manager::land",
      "target": "statusFor",
      "kind": "calls"
    },
    {
      "source": "adoptsStaleReport",
      "target": "harvestResult",
      "kind": "references"
    },
    {
      "source": "adoptsStaleReport",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "adoptsStaleReport",
      "target": "AuthoredReport",
      "kind": "references"
    },
    {
      "source": "statusFor",
      "target": "ExitReason::IsTerminal",
      "kind": "calls"
    },
    {
      "source": "Manager::persistReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "Manager::persistReport",
      "target": "Store::CreateReport",
      "kind": "calls"
    },
    {
      "source": "Manager::settle",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::settle",
      "target": "isTerminalStatus",
      "kind": "calls"
    },
    {
      "source": "Manager::settle",
      "target": "Store::UpdateSession",
      "kind": "calls"
    },
    {
      "source": "Manager::settle",
      "target": "isTerminalStatus",
      "kind": "calls"
    },
    {
      "source": "Manager::Get",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::Get",
      "target": "Store::GetSession",
      "kind": "calls"
    },
    {
      "source": "Manager::Get",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::List",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::List",
      "target": "Store::ListSessions",
      "kind": "calls"
    },
    {
      "source": "Manager::Cancel",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::Cancel",
      "target": "Store::GetSession",
      "kind": "calls"
    },
    {
      "source": "Manager::Cancel",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Cancel",
      "target": "isTerminalStatus",
      "kind": "calls"
    },
    {
      "source": "Manager::Cancel",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "Manager::Cancel",
      "target": "IncidentRegistry::Cancel",
      "kind": "calls"
    },
    {
      "source": "Manager::Stop",
      "target": "IncidentRegistry::CancelAll",
      "kind": "calls"
    },
    {
      "source": "newFakeStore",
      "target": "fakeStore",
      "kind": "references"
    },
    {
      "source": "newFakeStore",
      "target": "fakeStore",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::GetSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::ListSessions",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::UpdateSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::UpdateSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::UpdateSession",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::GetIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateReport",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::CreateArtifact",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::sessionArtifacts",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "fakeStore::seedIncident",
      "target": "Incident",
      "kind": "references"
    },
    {
      "source": "fakeStore::seedIncident",
      "target": "Incident",
      "kind": "instantiates"
    },
    {
      "source": "fakeStore::session",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeStore::session",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "fakeStore::report",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "fakeRunner::Run",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "fakeRunner::Run",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeRunner::Resume",
      "target": "ResumeRequest",
      "kind": "references"
    },
    {
      "source": "fakeRunner::Resume",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "fakeRunner::Resume",
      "target": "Manager::resume",
      "kind": "calls"
    },
    {
      "source": "fakeRunner::lastRequest",
      "target": "RunRequest",
      "kind": "references"
    },
    {
      "source": "reportFor",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "reportFor",
      "target": "Report",
      "kind": "references"
    },
    {
      "source": "reportFor",
      "target": "Report",
      "kind": "instantiates"
    },
    {
      "source": "newManager",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "newManager",
      "target": "Runner",
      "kind": "references"
    },
    {
      "source": "newManager",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "newManager",
      "target": "IncidentRegistry",
      "kind": "references"
    },
    {
      "source": "newManager",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "newManager",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "newManager",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "newManager",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "fakeStore::updateCount",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestCreateReturnsBeforeTheRunFinishes",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestCancelTerminatesTheRunAndStillLandsAReport",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestReportIsPersistedBeforeTheTerminalStatus",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestDegradedRunStillCompletes",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestRunContextOutlivesTheCreateCall",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelOnAnEndedSessionIsRefused",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "fakeStore::updateCount",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelForAnotherReplicasSessionDoesNotFabricateATerminalWrite",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCreateRefusesAClosedIncident",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCreateRefusesAClosedIncident",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCreateRefusesAClosedIncident",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateRefusesAClosedIncident",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCreateRefusesAClosedIncident",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateRequiresAPrompt",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestCreateRequiresAPrompt",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestCreateRequiresAPrompt",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestCreateRequiresAPrompt",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestCreateRequiresAPrompt",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestKindIsInferredFromExistingSessions",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "fakeRunner::lastRequest",
      "kind": "calls"
    },
    {
      "source": "TestRunRequestCarriesTheIncidentAndInheritedContext",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAuditCountersLandOnTheRow",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestNilSessionFromTheRunnerFailsTheRow",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestTerminalWriteSurvivesAReportFailure",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAReportFailureDoesNotMaskAFailedRun",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestGetAndListReadThroughToTheStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestNewManagerRejectsMissingDependencies",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAPanicOnTheRunGoroutineIsContained",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAPanicDoesNotStrandBystanderSessions",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "panicStore::UpdateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "panicStore::UpdateSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "everyUpdate",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "onlyPrompt",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "waitOrFail",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "waitOrFail",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "panicStore",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "waitOrFail",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "panicStore",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "waitOrFail",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "panicStore",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "onlyPrompt",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "newManager",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "waitOrFail",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAPanickingStoreDoesNotStrandBystanderSessions",
      "target": "panicStore::panicCount",
      "kind": "calls"
    },
    {
      "source": "TestAStorePanicOnTheOrdinaryTerminalWriteDoesNotKillTheProcess",
      "target": "everyUpdate",
      "kind": "references"
    },
    {
      "source": "TestAStorePanicOnTheRecoverPathDoesNotKillTheProcess",
      "target": "everyUpdate",
      "kind": "references"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "WorkspaceRef",
      "kind": "references"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "Artifact",
      "kind": "references"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "harvestResult",
      "kind": "references"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "harvestCandidates",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "skipPrefixes",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "sha256Hex",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "Manager::storeFile",
      "kind": "calls"
    },
    {
      "source": "Manager::persistArtifacts",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "Manager::storeFile",
      "target": "ArtifactKey",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "contentTypeFor",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "BlobStore::Put",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "sha256Hex",
      "kind": "calls"
    },
    {
      "source": "Manager::storeFile",
      "target": "Artifact",
      "kind": "instantiates"
    },
    {
      "source": "Manager::storeFile",
      "target": "Store::CreateArtifact",
      "kind": "calls"
    },
    {
      "source": "harvestCandidates",
      "target": "walkSummary",
      "kind": "references"
    },
    {
      "source": "harvestCandidates",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "harvestCandidates",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "harvestCandidates",
      "target": "capCandidates",
      "kind": "calls"
    },
    {
      "source": "capCandidates",
      "target": "walkSummary",
      "kind": "references"
    },
    {
      "source": "capCandidates",
      "target": "walkSummary",
      "kind": "references"
    },
    {
      "source": "capCandidates",
      "target": "causeThen",
      "kind": "calls"
    },
    {
      "source": "skipPrefixes",
      "target": "WorkspaceRef",
      "kind": "references"
    },
    {
      "source": "skipPrefixes",
      "target": "ReadOnlyPrefixes",
      "kind": "calls"
    },
    {
      "source": "skipPrefixes",
      "target": "checkoutPrefix",
      "kind": "calls"
    },
    {
      "source": "checkoutPrefix",
      "target": "WorkspaceRef",
      "kind": "references"
    },
    {
      "source": "logHarvest",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "logHarvest",
      "target": "harvestResult",
      "kind": "references"
    },
    {
      "source": "newFakeBlobs",
      "target": "fakeBlobs",
      "kind": "references"
    },
    {
      "source": "newFakeBlobs",
      "target": "fakeBlobs",
      "kind": "instantiates"
    },
    {
      "source": "fakeBlobs::Put",
      "target": "ValidateKey",
      "kind": "calls"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "Store",
      "kind": "references"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "Runner",
      "kind": "references"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "BlobStore",
      "kind": "references"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "newManagerWithBlobs",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "scratchWith",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "scratchWith",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "completedRun",
      "target": "fakeRunner",
      "kind": "references"
    },
    {
      "source": "completedRun",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "completedRun",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "completedRun",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "completedRun",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "runSession",
      "target": "fakeStore",
      "kind": "references"
    },
    {
      "source": "runSession",
      "target": "Manager",
      "kind": "references"
    },
    {
      "source": "runSession",
      "target": "Session",
      "kind": "references"
    },
    {
      "source": "runSession",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "runSession",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "runSession",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "runSession",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "runSession",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "fakeBlobs::get",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestAuthoredReportLandsInBlobStorageAndOnTheReportRow",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "fakeBlobs::get",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestEveryOtherFileTheSessionWroteIsHarvested",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestTheSyncedWorkspaceTreesAreNotHarvested",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestTheCheckoutDirectoryIsNotHarvested",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestASessionThatWroteNoDocumentStillLandsItsReport",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestAnEmptyDocumentIsNotStored",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAFailedUploadStillLandsTheReportAndSaysSo",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestAVerifiedThenExhaustedRunStoresItsDocumentAndKeepsProviderFailed",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAFailedArtifactRowStillLandsTheReport",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestWithoutBlobStorageNothingIsReportedAsFailed",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestASessionWithNoWorkspaceStillLandsItsReport",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAnUnreadableWorkspaceStillLandsItsReport",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestAFileOverTheCeilingIsSkippedAndTheReportIsNot",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "newManagerWithBlobs",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "completedRun",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "runSession",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestTheReportSurvivesTheFileCountCeiling",
      "target": "fakeStore::sessionArtifacts",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "newFakeStore",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeStore::seedIncident",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "newFakeBlobs",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeRunner",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "Session",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "AuthoredReport",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "reportFor",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "NewManager",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "Config",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "scratchWith",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "CreateRequest",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "WorkspaceRef",
      "kind": "instantiates"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "Manager::Wait",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeBlobs::get",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeBlobs::keys",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeStore::report",
      "kind": "calls"
    },
    {
      "source": "TestACancelledSessionStillHarvestsItsWorkspace",
      "target": "fakeStore::session",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "NewFS",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "FS::Close",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "ReportKey",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "fakeBlobs::Put",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "FS::Get",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestARealBackendSatisfiesTheManagersBlobStore",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "NewIncidentRegistry",
      "target": "IncidentRegistry",
      "kind": "references"
    },
    {
      "source": "NewIncidentRegistry",
      "target": "IncidentRegistry",
      "kind": "instantiates"
    },
    {
      "source": "IncidentRegistry::Register",
      "target": "liveSession",
      "kind": "instantiates"
    },
    {
      "source": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "TestRegisterRejectsADuplicateWithoutLosingTheFirstCancel",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "IncidentRegistry::Unregister",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "IncidentRegistry::Unregister",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "IncidentRegistry::Unregister",
      "kind": "calls"
    },
    {
      "source": "TestUnregisterIsIdempotent",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    },
    {
      "source": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "target": "gooseSlogLogger::Fatalf",
      "kind": "calls"
    },
    {
      "source": "TestCancelLeavesTheEntryForTheRunGoroutineToRemove",
      "target": "IncidentRegistry::Count",
      "kind": "calls"
    },
    {
      "source": "TestLiveIsScopedToOneIncident",
      "target": "NewIncidentRegistry",
      "kind": "calls"
    },
    {
      "source": "TestLiveIsScopedToOneIncident",
      "target": "IncidentRegistry::Register",
      "kind": "calls"
    }
  ]
}
