Repository navigation
Drop the listing helpers the GitHub and Hub rewrite orphaned - #1640
Merged
Merged
Conversation
b3560b8 removed the last callers of departed and listing_refreshed on both hosts; only their own tests still reached them. With listing_refreshed gone, nothing reads listing_trusted through the CacheInvalidator protocol, so the protocol and its test fakes drop it too. CacheManager.listing_trusted stays: the mount and reconcile call it on the concrete manager. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sonhmai
marked this pull request as draft
October 17, 2026 08:37
Contributor
[Medium impact] This cleanup appears safe to merge; no actionable issues were found.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
b3560b8 (GitHub and the Hub answer their listings as stats) removed the last callers of these helpers on both hosts; only their own tests still reached them.
cache/index/diff(departed) in Python and TypeScript, with its tests.listing_refreshed/listingRefreshedfromcache/context, with its tests.listing_trusted/listingTrustedfrom theCacheInvalidatorprotocol and its test fakes. Nothing calls it through the protocol any more; the mount and reconcile call it on the concreteCacheManager, which keeps it.Where this sits
CacheInvalidatoris an internal construct, not something exposed to clients. It is the typecache/contextgives the per-command cache manager: the mount binds it, backendcore/xfunctions read it. Neither it norCacheManageris exported from the package barrels; clients configure caching throughWorkspace(cache=..., index=...)and the cache stores. None of the removed symbols shipped in a release (latest: 0.0.7-alpha.2, 2026-09-08).flowchart TD Client["Clients: app · agents · mirage CLI · YAML"] --> API subgraph Public["Public API: package barrels"] API["Workspace · Mount · build_vfs · VFS · Policy · Runtime · CLI · IndexCacheStore"] end API --> Shell subgraph Internal["Internal: importable by path, not a contract"] Shell["Shell · executor · command handlers"] --> Disp["Op dispatcher"] Disp --> MountRT["Mount runtime · CacheManager<br/>listing_trusted stays"] Disp --> Core["VFS · ops · core/x"] Core --> Acc["accessor/x"] MountRT -- "binds per command" --> Ctx["cache/context · CacheInvalidator<br/>removed: listing_refreshed,<br/>CacheInvalidator.listing_trusted"] Core -- reads --> Ctx Core -. "callers gone in b3560b894" .-> Diff["cache/index/diff<br/>removed: departed"] end classDef public fill:#E1F5EE,stroke:#0F6E56,color:#085041 classDef changed fill:#FAEEDA,stroke:#854F0B,color:#633806 classDef removed fill:#FAECE7,stroke:#993C1D,color:#712B13 class API public class Ctx changed class Diff removedTest plan
uv run pytest: 32237 passed, 601 skippedpnpm typecheck(all packages),vitest runin core: 22782 passeduv run mypy: no issues in 2223 filescheck_layout_parity.py --strict,check_symbol_parity.py --strict,check_import_direction.py,check_barrel_surface.py: baselines unchanged