You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stale doc references after Phase 6 (Java deletion, #132) and the Kuzu
0.7.1 → 0.11.3 bump (#155 + #159).
- CLAUDE.md / PROJECT_SUMMARY.md: bump Kuzu 0.7.1 → 0.11.3,
go-sqlite3 1.14.22 → 1.14.44, cobra to 1.10.2; note native FTS.
- AGENTS.md: rewrite "What this repo is" (no more "REST API");
flip `mvn -B -ntp clean verify` → `go test ./...`; clarify that
REST + React SPA were deleted in Phase 6 and won't return.
- SECURITY.md: rewrite scope. Drop the dead JAR / serve / REST API /
React UI / H2 / Neo4j Embedded references. New in-scope list covers
every codeiq subcommand, the 10 MCP tools (with `run_cypher` mutation
gate called out), `.codeiq/cache/` (SQLite) + `.codeiq/graph/`
(Kuzu), and `read_file` path sandboxing. Add the security CI
workflows (CodeQL, Semgrep, OSV-Scanner, Trivy, Gitleaks, SBOM,
Socket Security) + perf-gate to the hardening references.
- CHANGELOG.md: populate [Unreleased] with the OOM-fix saga
(PRs #145-#148), the five correctness fixes (#149-#153), the
Kuzu 0.7.1 → 0.11.3 bump (#155-#158), the FTS migration (#159),
the Dependabot config rewrite (#154), and the enrich CLI knobs.
No code changes.
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: AGENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
## What this repo is
6
6
7
-
codeiq is a CLI + read-only server that builds a deterministic code-knowledge graph over a codebase. No AI, no external APIs — pure static analysis. See [`/CLAUDE.md`](CLAUDE.md) for the architecture, package map, pipeline, conventions, and gotchas.
7
+
codeiq is a CLI + read-only stdio MCP server that builds a deterministic code-knowledge graph over a codebase. No AI in the index/enrich pipeline; LLM use is opt-in via `codeiq review`. Single static Go binary (CGO for Kuzu + SQLite). See [`/CLAUDE.md`](CLAUDE.md) for the architecture, package map, pipeline, conventions, and gotchas.
8
8
9
9
## Pointers, in priority order
10
10
@@ -22,9 +22,9 @@ codeiq is a CLI + read-only server that builds a deterministic code-knowledge gr
22
22
-**Sign every commit.** The repo-local config (`scripts/setup-git-signed.sh`) makes this automatic; do not rewrite it.
-**Squash-merge only.** Branch protection rejects merge commits and force-pushes to `main`.
25
-
-**Tests + jacoco gate must pass.**`mvn -B -ntp clean verify` is the contract.
25
+
-**Tests + race + vet must pass.**`cd go && CGO_ENABLED=1 go test ./... -count=1` is the contract; release CI runs `-race` too. 880+ tests today.
26
26
-**Determinism is non-negotiable.** Same input → same output, byte-for-byte. Any new detector ships with a determinism test.
27
-
-**Read-only serving layer.**MCP and REST API on the `serve` path do not mutate. If you find yourself adding `POST /api/<verb>` that writes, stop and reconsider.
27
+
-**Read-only MCP server.**Tool calls never write to the graph. Index/enrich happen only via the CLI commands `codeiq index` / `codeiq enrich`. The Java reference's REST API + React SPA were deleted in Phase 6 cutover (#132) and will not be reintroduced.
28
28
-**No secrets in code.** Repo-level GitHub Actions secrets only.
Copy file name to clipboardExpand all lines: SECURITY.md
+18-16Lines changed: 18 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,14 @@
2
2
3
3
## Supported versions
4
4
5
-
Security fixes are issued against the latest minor release line on Maven Central. While codeiq is pre-1.0 (`0.x.y`) only the **latest** released `0.MINOR.x` line receives backports; older minor lines are EOL the moment a new minor ships.
5
+
Security fixes are issued against the latest minor release line. While codeiq is pre-1.0 (`0.x.y`) only the **latest** released `0.MINOR.x` line receives backports; older minor lines are EOL the moment a new minor ships.
6
6
7
7
| Version line | Status |
8
8
|---|---|
9
-
|`0.1.x`| Supported (current) |
10
-
|`< 0.1.0`| Unsupported |
9
+
|`0.3.x`| Supported (current — Go single binary) |
10
+
|`0.2.x` and below | Unsupported (Java/Spring Boot reference, deleted at Phase 6 cutover)|
11
11
12
-
`-SNAPSHOT` builds are development snapshots; they do not receive security fixes by themselves — you should be tracking the latest tagged release.
12
+
Development builds (untagged `main`) are not covered — track the latest tagged release.
13
13
14
14
## Reporting a vulnerability
15
15
@@ -22,8 +22,8 @@ Use one of:
22
22
23
23
Please include:
24
24
25
-
- The codeiq version (`java -jar code-iq-*-cli.jar version` or `pom.xml` coordinate).
26
-
- The shortest reproducer you can produce — a CLI command or test case is ideal.
25
+
- The codeiq version (`codeiq --version`).
26
+
- The shortest reproducer you can produce — a CLI command, a test case, or an indexed-fixture path.
27
27
- Your assessment of impact (e.g., RCE, path traversal, info-disclosure, DoS).
28
28
- Whether the issue is in a transitive dependency (please name the dependency + advisory ID if known).
29
29
@@ -40,26 +40,28 @@ We do not currently run a paid bug bounty.
40
40
41
41
In-scope:
42
42
43
-
- The codeiq CLI (`code-iq-*-cli.jar`).
44
-
- The library JAR (`io.github.randomcodespace.iq:code-iq`).
45
-
- The bundled REST API + MCP server (`serve` subcommand) — including path traversal, authn/authz, deserialisation, request smuggling, and SSRF.
46
-
-The bundled React UI assets shipped inside the JAR.
47
-
- The pipeline cache (H2) and graph store (Neo4j Embedded) — including local privilege escalation and data tampering.
43
+
- The `codeiq` CLI binary and every subcommand (`index`, `enrich`, `mcp`, `query`, `find`, `cypher`, `stats`, `flow`, `graph`, `topology`, `review`, `cache`, `plugins`, `config`).
44
+
- The stdio MCP server (`codeiq mcp`) — including its 10 user-facing tools (`graph_summary`, `find_in_graph`, `inspect_node`, `trace_relationships`, `analyze_impact`, `topology_view`, `run_cypher`, `read_file`, `generate_flow`, `review_changes`). The mutation gate on `run_cypher` is in-scope — bypassing it to mutate the read-only Kuzu store is a vulnerability.
45
+
- The pipeline cache (SQLite, `.codeiq/cache/codeiq.sqlite`) and graph store (Kuzu embedded, `.codeiq/graph/codeiq.kuzu`) — including local privilege escalation and data tampering of the indexed graph.
46
+
-File-read sandboxing in `read_file` and `codeiq review` — path traversal out of the indexed root is in-scope.
47
+
- The release pipeline — Goreleaser config, signing keys (cosign keyless via OIDC), GitHub Actions workflows under `.github/workflows/`, and the published artifacts (binary tarballs + checksums + cosign bundles).
48
48
49
49
Out of scope:
50
50
51
51
- Vulnerabilities that require pre-existing local code execution on the developer's machine (we ship as a developer tool — by definition you trust the code you point it at).
52
-
- Public-internet attack surface — codeiq does not expose any service to the public internet by default; deploying the `serve` endpoint behind hostile reverse-proxies is out of scope.
53
-
- Findings in third-party services we do not control (Maven Central, GitHub itself, SonarCloud, etc.) — please report those upstream.
52
+
- Public-internet attack surface — codeiq does not expose any service to the public internet. It is a CLI + stdio MCP server only; there is no REST API and no web UI (the Java reference had both; they were deleted in Phase 6 cutover and will not be reintroduced).
53
+
- Vulnerabilities in the LLM endpoint used by `codeiq review` (Ollama local or cloud) — those are the LLM vendor's surface area.
54
+
- Findings in third-party services we do not control (GitHub itself, OpenSSF, Socket Security, etc.) — please report those upstream.
54
55
55
56
## Hardening references
56
57
57
58
-[`shared/runbooks/engineering-standards.md`](shared/runbooks/engineering-standards.md) — CVE policy and quality gates.
- GitHub repo-level **CodeQL default setup** (java-kotlin + javascript-typescript + actions) — code scanning, SARIF in the Security tab. Configured under repo Settings → Code security → Code scanning, not via a workflow file (a workflow-driven `codeql.yml` was tried and removed because GitHub rejects duplicate SARIF uploads when default setup is on for the same language).
-`.github/dependabot.yml` — automated `gomod` + `github-actions` bumps, grouped per ecosystem.
62
64
63
65
## Changelog
64
66
65
-
This file is versioned as part of the repo. Material changes (e.g., raising the supported-versions table, changing the disclosure timeline) are announced via a Release note and a Paperclip board comment.
67
+
This file is versioned as part of the repo. Material changes (e.g., raising the supported-versions table, changing the disclosure timeline) are announced via a Release note.
0 commit comments