{
 "number": 35765,
 "input_hash": "6d55b271d25420e6",
 "model": "openrouter/google/gemini-3.8-flash",
 "batch": false,
 "created": "2026-09-17T16:20:28+00:00",
 "provider": "Google",
 "stop_reason": "end_turn",
 "usage": {
  "input_tokens": 16718,
  "cache_creation_input_tokens": 0,
  "cache_read_input_tokens": 0,
  "output_tokens": 1928
 },
 "cost_usd": 0.01428615,
 "error": null,
 "result": {
  "display": {
   "goal": [
    "Prevent stale depends builds by content-hashing local source packages instead of checking file modification times",
    "Allow separate git worktrees to safely share a depends sources directory"
   ],
   "reviewability": [
    "Needs rebase",
    "The branch conflicts with upstream and the author has been silent for nearly two months"
   ],
   "agreement": [
    "Crickets; no reviews or feedback on the PR yet"
   ],
   "categories": [
    {
     "name": "build",
     "why": [
      "P3 because it fixes cache invalidation in depends for packages built from local directories",
      "It resolves stale builds across worktrees sharing a source cache but currently only affects native_libmultiprocess"
     ]
    }
   ]
  },
  "summary": "This PR replaces mtime-based cache invalidation for local source packages in depends with content-addressed archives hashed via CMake. Generated tarballs are keyed by SHA256, allowing multiple worktrees to share a single `SOURCES_PATH` cache without collision or stale rebuilds.",
  "problem": "Currently, depends uses `find -newer` against cached tarballs to detect changes in local source directories (such as `native_libmultiprocess`). When multiple worktrees share a source directory, or when files are deleted or restored without newer timestamps, depends fails to rebuild or reuses stale code from another worktree.",
  "discussion": {
   "open_concerns": [],
   "resolved_concerns": [],
   "author_status": "silent since 2026-07-22"
  },
  "reviewability": {
   "state": "Stale",
   "label": "Needs rebase",
   "reason": "The PR has merge conflicts, the 'Needs rebase' label, and has had no author activity for 57 days."
  },
  "agreement": {
   "state": "Crickets",
   "summary": "No feedback or review comments have been left yet.",
   "reason": "Only the author has commented on the PR to note a question about mtimes and post Guix build hashes.",
   "evidence": []
  },
  "dependencies": {
   "depends_on": [],
   "enables": []
  },
  "categories": [
   {
    "name": "build",
    "member": true,
    "evidence": "Modifies depends build infrastructure (`depends/funcs.mk` and `depends/local_source.cmake`).",
    "band": "P3",
    "reason_tag": "bug fix",
    "score": 0.35,
    "factors": {
     "security_stability": 0,
     "bug_severity": 1,
     "performance": 0,
     "user_value": 0,
     "leverage": 1
    },
    "rationale": "Fixes depends cache invalidation when building local sources across worktrees (#35764). As noted by willcl-ark, 'timestamp comparisons can reuse an archive produced by another worktree, causing Depends to build stale local sources.' While helpful for developer workflows sharing depends sources, it is limited in scope as `native_libmultiprocess` is currently the only package utilizing `local_dir`."
   }
  ],
  "confidence": "high",
  "uncertainties": [],
  "needs": [],
  "card": "PR #35765 modifies the depends build system to create deterministic, content-addressed archives of local directory sources using CMake, replacing mtime-based checks with SHA256 hashes. This fixes issue #35764 where sharing a depends source directory across worktrees causes stale packages to be built. The change primarily benefits developers testing local subtrees or multiprocess builds across multiple checkouts. The PR is marked as a draft, has merge conflicts, and has received no reviewer feedback since opening."
 },
 "raw_text": null
}