Repository navigation
Index 2.11.0
Index 2.11.0
Index 2.11.0 hardens large-workspace inventory and interactive agent surfaces. Complete workspace maps now have a resumable JSONL checkpoint path, and interactive router, graph, context, and context-envelope calls return typed UNVERIFIABLE results when repository discovery exceeds their configured budget.
What changed
- Fixed fresh-process interactive MCP cache identity so warm calls can return before repository discovery instead of recursively walking the workspace during cache lookup.
- Added
--budget-mstoindex router,index graph,index context, andindex context-envelope; matching interactive MCP tools acceptbudget_ms. - Added
index map --resume-state PATHand MCPindex.mapresume_statefor resumable complete repository inventory builds. - Made map resume reuse freshness-aware across Git/control-file identity, dirty/untracked state, markers, and row-affecting config.
- Added explicit metadata uncertainty fields: row-level
metadata_status, optionalmetadata_error, and top-levelmetadata_status,metadata_ok_count,metadata_unknown_count, anddirty_count_status. - Changed
index.mapMCP behavior so complete inventory calls do not use the interactive TTL text cache and do not advertise an unsupportedbudget_msparameter. - Prevented broken nested Git markers from inheriting parent repository metadata; failed Git metadata now reports
unknowninstead of false cleanliness.
Published artifacts
These GitHub release assets are the PyPI-published bytes downloaded back from PyPI during verification, not the earlier local release-candidate build bytes. The local candidate and CI/PyPI builds are content-equivalent against the accepted source, but the archive bytes differ, so the hashes below are authoritative for public downloads.
70c41ff3920a79755465cd0d920acd73d665052f065fa06fc3a61e6bf776ad86 index_graph-2.11.0-py3-none-any.whl
231c9f630c140dcfce5a8ef314f8258faed6399aec5f3e2658f158c64176cef2 index_graph-2.11.0.tar.gz
Accepted local candidate hashes for traceability only:
a003be9115e93e5343f4e651b277aff87ef19e6740a70989aa87c6c8496fb390 index_graph-2.11.0-py3-none-any.whl
1335acd2df103849f30c9f2f45b13601dfa8809c3886e230fc86ff4f5fda7283 index_graph-2.11.0.tar.gz
Provenance and checks
- Tag
v2.11.0peels to merge commit79f5f65dd516c27618fe80bf45080a9bd1cf8526. - Accepted source commit
01b2b28ebd443f81898b57dc2ee3f392408f3f92has an empty tree diff against the merge commit. - PyPI JSON digests match the downloaded wheel and sdist bytes.
- Wheel provenance check compared 109 packaged Python files against the tag tree with zero mismatches.
- Sdist provenance check compared 312 tracked files against the tag tree with zero mismatches.
twine checkwith twine 7 passed for both downloaded distributions.- GitHub Actions run
34112180947completed successfully, including the package build and PyPI publish jobs.
Large-workspace acceptance measurement
A final frozen-source private workspace measurement was run at version 2.11.0, commit 01b2b28. The measurement is aggregate-only here; raw path lists were not uploaded.
| Surface | Time | Repositories | Diagnostic fixture repos | Metadata ok | Metadata unknown | Dirty count status | Path reconciliation |
|---|---|---|---|---|---|---|---|
| CLI fresh map | 16.609s | 617 | 84 | 515 | 102 | known_only |
exact |
| CLI resumed map | 11.817s | 617 | 84 | 515 | 102 | known_only |
exact |
MCP fresh index.map |
12.210s | 617 | 84 | 515 | 102 | known_only |
exact |
MCP resumed index.map |
10.078s | 617 | 84 | 515 | 102 | known_only |
exact |
The metadata status is partial because broken or synthetic Git fixtures fail closed as unknown. dirty_count is therefore a known-only aggregate, not a complete workspace cleanliness assertion.
Boundary
This release fixes complete map reliability and bounds interactive discovery failure modes. It does not claim that a cold full router build over every large workspace finishes inside every host timeout; the supported complete-inventory path is index map --resume-state PATH or MCP index.map with resume_state.