Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitleaks.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ title = "Code System Graph Gitleaks configuration"
description = "Ignore the synthetic Terraform password fixture used to prove secret-free persistence."
paths = [
'''^fixtures/platform-demo/infra/terraform/main\.tf$''',
'''^\.git/''',
'''^\.cursor/''',
'''^\.codegraph/''',
'''^dist/''',
'''^target/''',
]
regexes = [
'''ghp_012345678901234567890123456789012345''',
Expand Down
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,53 @@
All notable public changes to Code System Graph are documented in this file. Code System Graph follows Semantic
Versioning.

## [1.1.0] - 2026-08-11

### Breaking changes

- MCP tools now return one bounded Markdown text block plus typed agent-delivery
`structuredContent`; result `outputSchema` remains omitted. All MCP resources use
`text/markdown`, with fenced JSON only in the schema catalog.
- HTTP and CLI tool envelopes use delivery schema v2. Explore returns `ExploreReport` and places
ephemeral source in `source_markdown`.
- Direct MCP mode requires `--config`; binding mode loads its recorded global manifest. Generated
plugin bindings and ownership receipts use version 2.
- SQLite schema version 2 deliberately rejects 1.0.x databases. A fresh database and complete scan
are required; no legacy serializer, cache, plugin, or database compatibility path is provided.

### Added

- Added global Explore, Query, MCP-tool, MCP-resource, and schema-catalog limits to
`executionPolicy`, including checked capacity relationships and immutable policy sharing across
long-lived servers.
- Added independent scan and agent-delivery fingerprints so presentation-only limits do not
invalidate snapshots, batches, or checkpoints.
- Explore now reports repository context, source Markdown, resolved symbols, callers/callees,
evidence-correlated federated handoffs, coverage gaps, truncations, grounded next actions, and
exact provider execution accounting.
- Query now returns grounded next actions and directs zero-hit source questions toward Explore when
a real registered repository alias is recognized.
- Added bounded Markdown rendering with UTF-8-safe, block-stable truncation and centralized escaping
for headings, inline values, paths, controls, and untrusted source blocks.

### Fixed

- Explore now enforces one deadline across snapshot loading, provider traversal, and correlation;
timed-out or abandoned work is cooperatively cancelled while partial context remains available.
- Snapshot and candidate identity now includes the complete scan fingerprint while excluding
agent-delivery-only settings, so scan-facing changes cannot reuse stale persisted results.
- Explore reports observed provider concurrency and counts an anchor as traversed only after both
caller and callee directions complete successfully.
- MCP rendering now preserves compact status, freshness, warnings, coverage, and paths at the
256-byte minimum, and reports collection retention after both item and byte limits are applied.

### Release engineering

- Added exhaustive typed Markdown fixtures and golden coverage for all 15 MCP tools and every MCP
resource, including low-budget, UTF-8, fenced-source, error, and nested-collection cases.
- Added direct deadline and cancellation tests for Explore snapshot loading and correlation, plus
synchronized Markdown-only MCP instructions and CLI configuration examples.

## [1.0.3] - 2026-08-09

### Added
Expand Down
20 changes: 10 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ default-members = ["crates/*"]
resolver = "3"

[workspace.package]
version = "1.0.3"
version = "1.1.0"
edition = "2024"
rust-version = "1.97.1"
description = "Local cross-repository code intelligence and dependency graph for impact analysis and AI coding agents."
Expand Down
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Map APIs, events, schemas, packages, databases, and ownership across repositorie
breaks another service.

[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
![Source version](https://img.shields.io/badge/source-v1.0.3-orange.svg)
![Source version](https://img.shields.io/badge/source-v1.1.0-orange.svg)
[![crates.io](https://img.shields.io/crates/v/code-system-graph.svg)](https://crates.io/crates/code-system-graph)
![Platforms](https://img.shields.io/badge/validated-Linux%20%7C%20macOS%20%7C%20Windows-1793d1.svg)
![Privacy](https://img.shields.io/badge/privacy-local%20%7C%20no%20telemetry-2ea44f.svg)
Expand Down Expand Up @@ -268,11 +268,18 @@ Code System Graph exposes a local MCP server. For Codex:
```bash
codex mcp add code-system-graph -- \
csgraph mcp \
--config /absolute/path/to/my-project/code-system-graph.yaml \
--codegraph \
--workspace my-project \
--database /absolute/path/to/my-project/.code-system-graph/code-system-graph.db
```

MCP tools return one bounded Markdown text block and resources use `text/markdown`. HTTP and CLI
retain typed schema-v2 JSON. Explore is the only source-bearing response and combines ephemeral
source, symbols, callers/callees, federated evidence handoffs, coverage, and grounded next actions.
Final MCP tool, resource, and schema-catalog budgets must each be at least 256 bytes so status and
truncation controls remain representable.

For clients that support [Agent Plugins](https://agent-plugins.org/), generate one portable,
workspace-bound package plus its ignored local binding instead of configuring MCP and routing
guidance separately:
Expand Down Expand Up @@ -321,7 +328,7 @@ plugin root. Re-run with `--replace-generated` after local paths change; only a
Code System Graph's recognized ownership identity can be replaced. Until local binding creation
runs, that MCP entry fails visibly while independent plugin skills and servers remain usable.

The generated MCP is read-only and requires `csgraph 1.0.3` in `PATH`; it does not bundle binaries.
The generated MCP is read-only and requires `csgraph 1.1.0` in `PATH`; it does not bundle binaries.
Its plugin, server, and skill share a stable name derived from the declared workspace name, so
clones produce the same versioned files. Install it project-locally for workspace-only activation;
the generated skill also requires the nearest manifest and MCP `status` to report that workspace.
Expand Down Expand Up @@ -411,7 +418,7 @@ discovery rules without opening a database.
Search for the contract, select its stable node ID, and inspect upstream impact:

```bash
csgraph query "POST /orders" --workspace my-project --database .code-system-graph/code-system-graph.db
csgraph query "POST /orders" --config code-system-graph.yaml --workspace my-project --database .code-system-graph/code-system-graph.db
csgraph impact --target <node-id> --workspace my-project --database .code-system-graph/code-system-graph.db
```

Expand All @@ -437,6 +444,8 @@ For a complete first workspace, including multi-repository layout and expected o

- Local workflows run without telemetry or required network access.
- Source bodies and secret values are not persisted.
- An MCP host may retain requests and responses, including ephemeral Explore source, in its own
conversation history; configure host retention separately.
- SQLite snapshots are local and atomically replaced.
- Remote pull-request access is disabled by default and requires explicit enablement and consent.
- MCP is read-only by default; administrative tools require an explicit server flag.
Expand Down
8 changes: 4 additions & 4 deletions crates/code-system-graph-cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ axum = "0.8.9"
blake3 = "1.8.5"
clap = { version = "4.6.4", features = ["derive"] }
clap_complete = "4.6.8"
code-system-graph-core = { version = "1.0.3", path = "../code-system-graph-core" }
code-system-graph-hooks = { version = "1.0.3", path = "../code-system-graph-hooks" }
code-system-graph-model = { version = "1.0.3", path = "../code-system-graph-model" }
code-system-graph-store-sqlite = { version = "1.0.3", path = "../code-system-graph-store-sqlite" }
code-system-graph-core = { version = "1.1.0", path = "../code-system-graph-core" }
code-system-graph-hooks = { version = "1.1.0", path = "../code-system-graph-hooks" }
code-system-graph-model = { version = "1.1.0", path = "../code-system-graph-model" }
code-system-graph-store-sqlite = { version = "1.1.0", path = "../code-system-graph-store-sqlite" }
rmcp = { version = "3.1.0", features = ["transport-io"] }
notify = "8.2.0"
rusqlite = { version = "0.40.1", features = ["bundled"] }
Expand Down
Loading
Loading