Releases: HarperZ9/index
Release list
v2.9.0
What's Changed
- Improve flagship presentation assets by @HarperZ9 in #14
- Use the Project Telos flagship card as the repo banner by @HarperZ9 in #15
- feat: path selector with typed rejection receipts (index.path-selection/v1) by @HarperZ9 in #16
- index wiki: the verified wiki (derived, receipted, commit-pinned) by @HarperZ9 in #17
- Browser-evidence pipeline (parallel-session work, preserved + integrated) by @HarperZ9 in #19
- feat: staleness contract (index.invalidation/1) + typed focus rejection by @HarperZ9 in #18
- feat: index onboarding overhaul P2 (README wow-first, map write notice, --dry-run) by @HarperZ9 in #20
- refactor(cli): split cli.py into handler and parser modules by @HarperZ9 in #21
- Index elevation P3-P5: wiki URL ingestion, router wiki pointers, Beta classifier by @HarperZ9 in #22
- feat: index serve, on-demand consent-clean verified-wiki server by @HarperZ9 in #23
- feat(symbols):
index symbolsnavigation with find-implementations by @HarperZ9 in #24 - Style: spectrum banner + feature-first README header by @HarperZ9 in #25
- Release v2.9.0 by @HarperZ9 in #26
Full Changelog: v2.8.0...v2.9.0
index 2.8.0
index 2.8.0
A workspace of many repositories has a shape, and past a handful of repos that shape lives only in someone's head. index draws it from evidence: how your repositories depend on each other, the architecture you meant, and whether the code still matches it. Deterministic, fully offline, zero dependencies. No API, no account, no model, no network.
pip install index-graph
index atlas --root /path/to/workspace --format html --out atlas.htmlThis is the first 2.x release published as a GitHub release, so the notes below cover the whole arc since 1.2.0: index grew from a dependency map into a re-checkable architecture brain.
What index does now
- The two-layer atlas.
index atlasrenders repos and your markdown docs as one navigable, self-contained HTML map. Pan, zoom, search repos and docs together, read a doc rendered in place with clickable wiki-links. One offline file. - A dependency graph from real evidence. Every edge is derived from a manifest line and a source import, and carries the file and line that witnesses it, graded by confidence. Nothing enters the graph on faith. Nine ecosystems: Python, JavaScript and TypeScript, Rust, Go, Java, C#, Ruby, PHP, and C and C++. Zero runtime dependencies for any of them.
- Module graph (internals).
index internalsbuilds the dependency graph inside one repo, where architecture actually erodes. Python is exact, read from the syntax tree; others best-effort. It reports internal cycles and what every module leans on, and it is honest about what a static scan could not verify (parse failures, dynamic imports). - Architecture conformance with a re-checkable certificate. Declare the layers, forbidden edges, a cycle ceiling, and required edges in
.index.toml.index checkmeasures the real graph against that and returns a certificate whose verdict is one of three words, MATCH, DRIFT, or UNVERIFIABLE, never a fourth. There is no TRUSTED. You believe it by re-running itsrecheckcommand and recomputing the hashes, not because it told you to. - Drift across time.
index snapshotthenindex driftrecords the shape today and diffs it tomorrow: repos and edges added or removed, cycles introduced or cleared, role changes. - Freshness.
index check --freshnessstamps the certificate with a content fingerprint; laterindex freshnessanswers whether the ground truth has moved, FRESH or STALE, naming the repos that changed. The mid-loop "has anything changed since I verified?" check. - Claim grounding.
index verify --depends "A -> B"or--exists NAMEgrounds a claim against the real graph and returns MATCH with the file:line, REFUTED, or UNVERIFIABLE. The anti-hallucination check: confirm a dependency instead of trusting memory. - The router.
index routeremits a deterministic, evidence-carrying workspace map for your CLAUDE.md or AGENTS.md, replacing the index plus read-first plus brief that teams maintain by hand. - A protocol face.
index mcpserves an MCP-shaped, zero-dependency JSON-RPC stdio server, so an agent host calls index's deterministic tools by name. - Token economy you can reproduce.
index benchmeasures how much smaller the structural pack is than the source it distills. On a 47-repo, ~50 MB workspace the pack came back about 70x smaller. Run it on your own workspace.
Why it is built this way
Every verdict is re-checkable by anyone holding only the artifact and the evidence, with no model in the loop. The whole tool runs offline and is agnostic to whatever produced the code it reads. Specified in docs/PROTOCOL.md.
Install and read
pip install index-graph # Python 3.11+, zero dependencies- README and the full flag reference: README.md and USAGE.md
- The seam (snapshot, certificate, freshness, hashing rule, resolution bounds): docs/PROTOCOL.md
Fair source (FSL-1.1-MIT): source-available, converts to MIT two years after each release.
index 1.2.0
index 1.2.0 reaches three more ecosystems. It now reads Rust (Cargo.toml), Go (go.mod), and Java (Maven pom.xml, with best-effort Gradle) workspaces, so a polyglot or non-Python workspace finally shows its real dependency edges, each with the file and line that proves it. Rust and Go reach high confidence when a manifest and an import agree; Java is manifest-only.
Under the hood, edge resolution gained a longest-prefix fallback, so a Go import of a module's sub-package resolves to that module. Python and JavaScript resolution is unchanged.
Zero runtime dependencies. Python 3.11 or newer. Fair source (FSL-1.1-MIT).
Install or upgrade:
pip install -U index-graph
index 1.1.0
The headline is index atlas, a two-layer map that brings your markdown docs onto the same graph as the code they describe. Open one self-contained HTML file and pan, zoom, search repos and docs together, click a doc to read it rendered in place, and follow its [[links]] across the graph.
This release also carries the v1.1 dependency dashboard forward: cycle detection and highlighting, edge-evidence tooltips, a legend, and neighborhood highlighting.
The license changes with this version. index is now fair source (FSL-1.1-MIT). The source is open to read and use, a competing-use restriction keeps it sustainable, and each version converts to MIT two years after it ships. Version 1.0.0 stays MIT under its original terms.
Zero runtime dependencies. Python 3.11 or newer.
Install or upgrade:
pip install -U index-graph
index v1.0.0 — flagship debut
index — see the shape of any codebase: a witnessed repo-dependency graph + an interactive dashboard, zero dependencies.
pip install index-graph
index viz --root /path/to/workspace --format html --out graph.htmlHighlights
- Interactive HTML dashboard (self-contained — no server, no assets), plus layered SVG, Mermaid, and a JSON context manifest.
- Evidence on every edge — each dependency carries the file/line that witnesses it and a confidence grade.
- Deterministic output; zero runtime dependencies (pure Python 3.11+ stdlib).
PyPI: index-graph · CLI: index · import: index_graph
workspace-repo-map v0.2.0
Productization release. Config-driven classification via an optional .repomap.toml (ordered path-glob rules, first match wins) with a neutral remote-host fallback (local/public/private). Versioned output (schema_version 1) plus a stable public API (build_map, load_config, classify, Map, RepoRow). Portable (default) and opt-in local output modes; credential-shaped material in remote URLs is always redacted. Parallel git scanning with deterministic, path-sorted output. Single CLI; Python floor raised to 3.11 (stdlib tomllib); zero runtime dependencies. Install: pip install workspace-repo-map (now on PyPI), or use the attached wheel. Full directions in USAGE.md; runnable demo in examples/demo.py.
workspace-repo-map v0.1.0
workspace-repo-map v0.1.0
Initial public release of workspace-repo-map.
Included
- Source release from the public GitHub repository.
- Built package artifacts attached to this release.
- CI and release-artifact workflows verified on GitHub.
- Registry publication is not automated from this release.