{
  "schema": "kin.homepage.history.v1",
  "qualified": true,
  "entity": {
    "name": "listRun",
    "file": "pkg/cmd/issue/list/list.go",
    "id": "63cb41e0-4e45-41cb-8e93-22c1fda19349"
  },
  "upstreamGitCommit": "14d339d9ba87e87f34b7a25f00200a2062f87039",
  "preparedGitCommit": "c033f2961104e1f932406325341147ace3b7ff21",
  "kinVersion": "0.7.20",
  "reopened": true,
  "setupLabel": "Separate saved v0.7.20 demonstration \u00b7 full MCP profile \u00b7 CPU \u00b7 no gopls or embedding",
  "qualification": "Three observed caller rows; graph coverage is partial and the reference verdict is inconclusive.",
  "capturedAt": "2026-09-22T21:40:28.202293+00:00",
  "states": [
    {
      "label": "Before change",
      "message": "tree at 14d339d9ba87e87f34b7a25f00200a2062f87039",
      "nativeChangeId": "7c16ade6f77261b64816adc4d0df2c735b43d7e733bedb8973e3e5a3da0825c0",
      "changeOrigin": "git_commit",
      "source": "func listRun(opts *ListOptions) error {\n\thttpClient, err := opts.HttpClient()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tbaseRepo, err := opts.BaseRepo()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tissueState := strings.ToLower(opts.State)\n\tif issueState == \"open\" && prShared.QueryHasStateClause(opts.Search) {\n\t\tissueState = \"\"\n\t}\n\n\tif opts.Detector == nil {\n\t\tcachedClient := api.NewCachedHTTPClient(httpClient, time.Hour*24)\n\t\topts.Detector = fd.NewDetector(cachedClient, baseRepo.RepoHost())\n\t}\n\tfeatures, err := opts.Detector.IssueFeatures()\n\tif err != nil {\n\t\treturn err\n\t}\n\tfields := defaultFields\n\tif features.StateReason {\n\t\tfields = append(defaultFields, \"stateReason\")\n\t}\n\n\tfilterOptions := prShared.FilterOptions{\n\t\tEntity:    \"issue\",\n\t\tState:     issueState,\n\t\tAssignee:  opts.Assignee,\n\t\tLabels:    opts.Labels,\n\t\tAuthor:    opts.Author,\n\t\tMention:   opts.Mention,\n\t\tMilestone: opts.Milestone,\n\t\tSearch:    opts.Search,\n\t\tFields:    fields,\n\t}\n\n\tisTerminal := opts.IO.IsStdoutTTY()\n\n\tif opts.WebMode {\n\t\tissueListURL := ghrepo.GenerateRepoURL(baseRepo, \"issues\")\n\t\topenURL, err := prShared.ListURLWithQuery(issueListURL, filterOptions)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif isTerminal {\n\t\t\tfmt.Fprintf(opts.IO.ErrOut, \"Opening %s in your browser.\\n\", text.DisplayURL(openURL))\n\t\t}\n\t\treturn opts.Browser.Browse(openURL)\n\t}\n\n\tif opts.Exporter != nil {\n\t\tfilterOptions.Fields = opts.Exporter.Fields()\n\t}\n\n\tlistResult, err := issueList(httpClient, baseRepo, filterOptions, opts.LimitResults)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(listResult.Issues) == 0 && opts.Exporter == nil {\n\t\treturn prShared.ListNoResults(ghrepo.FullName(baseRepo), \"issue\", !filterOptions.IsDefault())\n\t}\n\n\tif err := opts.IO.StartPager(); err == nil {\n\t\tdefer opts.IO.StopPager()\n\t} else {\n\t\tfmt.Fprintf(opts.IO.ErrOut, \"failed to start pager: %v\\n\", err)\n\t}\n\n\tif opts.Exporter != nil {\n\t\treturn opts.Exporter.Write(opts.IO, listResult.Issues)\n\t}\n\n\tif listResult.SearchCapped {\n\t\tfmt.Fprintln(opts.IO.ErrOut, \"warning: this query uses the Search API which is capped at 1000 results maximum\")\n\t}\n\tif isTerminal {\n\t\ttitle := prShared.ListHeader(ghrepo.FullName(baseRepo), \"issue\", len(listResult.Issues), listResult.TotalCount, !filterOptions.IsDefault())\n\t\tfmt.Fprintf(opts.IO.Out, \"\\n%s\\n\\n\", title)\n\t}\n\n\tissueShared.PrintIssues(opts.IO, opts.Now(), \"\", len(listResult.Issues), listResult.Issues)\n\n\treturn nil\n}",
      "sourceSha256": "ce765038c908347af0445ae001babe0d49b240f9bd14b7b8111bbd1a4a7ff3a1",
      "callers": [
        "NewCmdList",
        "TestIssueList_web",
        "runCommand"
      ],
      "callerRows": [
        {
          "entity_id": "599cf212-3e74-4e10-976e-8530f26304a5",
          "file_path": "pkg/cmd/issue/list/list.go",
          "kind": "Function",
          "name": "NewCmdList",
          "reference_line_count": 1,
          "reference_lines": [
            95
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "type_resolved",
          "role": "source",
          "start_line": 47,
          "via_override_of": null
        },
        {
          "entity_id": "134cda1b-c527-4f39-81be-3159c8eeb6c4",
          "file_path": "pkg/cmd/issue/list/list_test.go",
          "kind": "Function",
          "name": "TestIssueList_web",
          "reference_line_count": 1,
          "reference_lines": [
            204
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "import_scoped",
          "role": "test",
          "start_line": 192,
          "via_override_of": null
        },
        {
          "entity_id": "c1fd5ca7-3eda-4bbb-9bd8-8d87a80f2917",
          "file_path": "pkg/cmd/issue/list/list_test.go",
          "kind": "Function",
          "name": "runCommand",
          "reference_line_count": 1,
          "reference_lines": [
            52
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "import_scoped",
          "role": "test",
          "start_line": 27,
          "via_override_of": null
        }
      ],
      "receipt": "assets/evidence/go-history-before.json",
      "referenceVerdict": "inconclusive",
      "referenceCompleteness": {
        "bound": "at_least",
        "classes": {
          "calls": "present",
          "imports": "unproduced",
          "references": "present"
        },
        "counted": {
          "exact": false,
          "reported": 3,
          "sites": {
            "known_reference_sites": 3,
            "reference_sites": 3,
            "reference_sites_complete": true
          },
          "unit": "referencing_entities"
        },
        "decided_by": [
          "calls",
          "imports",
          "references"
        ],
        "limits": [
          "edge_coverage:imports_unproduced",
          "edge_coverage:reference_enrichment_unsupported",
          "verdict_inconclusive"
        ],
        "status": "partial",
        "substrate": "edges"
      }
    },
    {
      "label": "Recorded and reopened",
      "message": "Cache issue feature detection for twelve hours",
      "nativeChangeId": "db6e4fb4cedc3590f8d8c1e02ec2464eb8676ef416be86030300c30cdccda257",
      "changeOrigin": "native",
      "source": "func listRun(opts *ListOptions) error {\n\thttpClient, err := opts.HttpClient()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tbaseRepo, err := opts.BaseRepo()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tissueState := strings.ToLower(opts.State)\n\tif issueState == \"open\" && prShared.QueryHasStateClause(opts.Search) {\n\t\tissueState = \"\"\n\t}\n\n\tif opts.Detector == nil {\n\t\tcachedClient := api.NewCachedHTTPClient(httpClient, time.Hour*12)\n\t\topts.Detector = fd.NewDetector(cachedClient, baseRepo.RepoHost())\n\t}\n\tfeatures, err := opts.Detector.IssueFeatures()\n\tif err != nil {\n\t\treturn err\n\t}\n\tfields := defaultFields\n\tif features.StateReason {\n\t\tfields = append(defaultFields, \"stateReason\")\n\t}\n\n\tfilterOptions := prShared.FilterOptions{\n\t\tEntity:    \"issue\",\n\t\tState:     issueState,\n\t\tAssignee:  opts.Assignee,\n\t\tLabels:    opts.Labels,\n\t\tAuthor:    opts.Author,\n\t\tMention:   opts.Mention,\n\t\tMilestone: opts.Milestone,\n\t\tSearch:    opts.Search,\n\t\tFields:    fields,\n\t}\n\n\tisTerminal := opts.IO.IsStdoutTTY()\n\n\tif opts.WebMode {\n\t\tissueListURL := ghrepo.GenerateRepoURL(baseRepo, \"issues\")\n\t\topenURL, err := prShared.ListURLWithQuery(issueListURL, filterOptions)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\n\t\tif isTerminal {\n\t\t\tfmt.Fprintf(opts.IO.ErrOut, \"Opening %s in your browser.\\n\", text.DisplayURL(openURL))\n\t\t}\n\t\treturn opts.Browser.Browse(openURL)\n\t}\n\n\tif opts.Exporter != nil {\n\t\tfilterOptions.Fields = opts.Exporter.Fields()\n\t}\n\n\tlistResult, err := issueList(httpClient, baseRepo, filterOptions, opts.LimitResults)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(listResult.Issues) == 0 && opts.Exporter == nil {\n\t\treturn prShared.ListNoResults(ghrepo.FullName(baseRepo), \"issue\", !filterOptions.IsDefault())\n\t}\n\n\tif err := opts.IO.StartPager(); err == nil {\n\t\tdefer opts.IO.StopPager()\n\t} else {\n\t\tfmt.Fprintf(opts.IO.ErrOut, \"failed to start pager: %v\\n\", err)\n\t}\n\n\tif opts.Exporter != nil {\n\t\treturn opts.Exporter.Write(opts.IO, listResult.Issues)\n\t}\n\n\tif listResult.SearchCapped {\n\t\tfmt.Fprintln(opts.IO.ErrOut, \"warning: this query uses the Search API which is capped at 1000 results maximum\")\n\t}\n\tif isTerminal {\n\t\ttitle := prShared.ListHeader(ghrepo.FullName(baseRepo), \"issue\", len(listResult.Issues), listResult.TotalCount, !filterOptions.IsDefault())\n\t\tfmt.Fprintf(opts.IO.Out, \"\\n%s\\n\\n\", title)\n\t}\n\n\tissueShared.PrintIssues(opts.IO, opts.Now(), \"\", len(listResult.Issues), listResult.Issues)\n\n\treturn nil\n}",
      "sourceSha256": "4fad1a5f0ce366f8737a00dfe372cde801c2005c3e0c01e7f8abc43da684b393",
      "callers": [
        "NewCmdList",
        "TestIssueList_web",
        "runCommand"
      ],
      "callerRows": [
        {
          "entity_id": "599cf212-3e74-4e10-976e-8530f26304a5",
          "file_path": "pkg/cmd/issue/list/list.go",
          "kind": "Function",
          "name": "NewCmdList",
          "reference_line_count": 1,
          "reference_lines": [
            95
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "type_resolved",
          "role": "source",
          "start_line": 47,
          "via_override_of": null
        },
        {
          "entity_id": "134cda1b-c527-4f39-81be-3159c8eeb6c4",
          "file_path": "pkg/cmd/issue/list/list_test.go",
          "kind": "Function",
          "name": "TestIssueList_web",
          "reference_line_count": 1,
          "reference_lines": [
            204
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "import_scoped",
          "role": "test",
          "start_line": 192,
          "via_override_of": null
        },
        {
          "entity_id": "c1fd5ca7-3eda-4bbb-9bd8-8d87a80f2917",
          "file_path": "pkg/cmd/issue/list/list_test.go",
          "kind": "Function",
          "name": "runCommand",
          "reference_line_count": 1,
          "reference_lines": [
            52
          ],
          "reference_lines_absent_reason": null,
          "reference_lines_partial_reason": null,
          "relation_kinds": [
            "calls"
          ],
          "resolution": "import_scoped",
          "role": "test",
          "start_line": 27,
          "via_override_of": null
        }
      ],
      "receipt": "assets/evidence/go-history-reopened.json",
      "referenceVerdict": "inconclusive",
      "referenceCompleteness": {
        "bound": "at_least",
        "classes": {
          "calls": "present",
          "imports": "unproduced",
          "references": "present"
        },
        "counted": {
          "exact": false,
          "reported": 3,
          "sites": {
            "known_reference_sites": 3,
            "reference_sites": 3,
            "reference_sites_complete": true
          },
          "unit": "referencing_entities"
        },
        "decided_by": [
          "calls",
          "imports",
          "references"
        ],
        "limits": [
          "edge_coverage:imports_unproduced",
          "edge_coverage:reference_enrichment_unsupported",
          "verdict_inconclusive"
        ],
        "status": "partial",
        "substrate": "edges"
      }
    }
  ],
  "restartProof": {
    "oldDaemonPid": 71017,
    "oldDaemonObservedAbsentAt": "2026-09-22T21:40:14.126151+00:00",
    "newDaemonPid": 78358,
    "freshMcpClientPid": 78178,
    "originalMcpClientPid": 71259,
    "nativeChangeVisibleThroughFreshMcp": true,
    "ownedDaemonCleanupVerified": true
  },
  "provenance": {
    "releaseTag": "v0.7.20",
    "kinCommit": "9af9b04437fe380b2376e4ceb1fdaa69679b02dc",
    "archiveSha256": "c8f459855935fd7edc6be4b3b5dffe2be66905faf6deb712908c0971971904a8",
    "binaries": [
      {
        "name": "kin",
        "sha256": "232ac217cdfdcbe44fa090281a2af427cdbbea567db4f22282053a0dafc10b64",
        "build_identity": {
          "schema": "kin.update-build.v1",
          "version": "0.7.20",
          "commit": "9af9b04437fe380b2376e4ceb1fdaa69679b02dc",
          "clean": true,
          "source_known": true,
          "dependency_provenance": "8ffbe680d33f3e93a9e403bfafce4d73dce96d85e1077e6f4c2be321cfce09ed",
          "graph_snapshot_version": 16
        }
      },
      {
        "name": "kin-daemon",
        "sha256": "e3fa4b9b3a8517d5675253adcdefb5bb634e95d3fa26ec303542170ac776ce26",
        "build_identity": {
          "schema": "kin.update-build.v1",
          "version": "0.7.20",
          "commit": "9af9b04437fe380b2376e4ceb1fdaa69679b02dc",
          "clean": true,
          "source_known": true,
          "dependency_provenance": "8ffbe680d33f3e93a9e403bfafce4d73dce96d85e1077e6f4c2be321cfce09ed",
          "graph_snapshot_version": 16
        }
      }
    ],
    "releaseWorkflow": {
      "repository": "firelock-ai/kin",
      "run_id": "35165203726",
      "run_attempt": "1"
    },
    "upstreamGitCommit": "14d339d9ba87e87f34b7a25f00200a2062f87039",
    "preparedGitCommit": "c033f2961104e1f932406325341147ace3b7ff21",
    "preparedTreeSha256": "0df83490f418ab5fe2a2365b4c6b763a0d6dc541c4fb2c103fffd5700d1430dd",
    "mcpProfile": "full",
    "setup": "CPU, automatic embedding disabled, no gopls on PATH; separate isolated repository",
    "startedAt": "2026-09-22T21:38:48.717348+00:00",
    "finishedAt": "2026-09-22T21:40:28.202293+00:00",
    "driverSha256": "ccc5eb085352f4d810b2522c18dd25ce69e351bdcc051ad1fd7e013c921674b6"
  },
  "limitations": [
    "Saved local demonstration using released Kin 0.7.20; not v0.8.0 candidate acceptance.",
    "The cache-lifetime edit is a task-owned demonstration change, not a change from upstream GitHub CLI.",
    "The record command warned that cross-file enrichment was still catching up (0 of 708 files). Its full output is supplied as go-history-record.txt. The preserved three caller rows do not imply that background cross-file enrichment completed.",
    "References are a lower bound: Kin reports an inconclusive verdict and partial coverage because this build produces no Go entity-level import edges and this setup has no Go language server. The three observed rows do not establish exhaustive absence.",
    "The full MCP profile was explicitly selected because agent-default does not expose entity_history. Only list_file_entities, find_references and entity_history were invoked through MCP.",
    "Entity UUID continuity is asserted only within this capture, across the edit and daemon reopen. The hero example is a separate capture/setup.",
    "The first state is a Kin semantic change imported from the prepared Git snapshot, not a native-origin edit. The second change has native origin.",
    "Compact history extracts retain only focal-entity deltas plus change metadata. Full original replies remain in the local audit bundle and are identified by SHA256 and byte count; released entity_history returned entire change records, including 6082 imported entity deltas."
  ]
}
