Skip to content
Merged
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
1 change: 0 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ codeiq/
│ ├── parser/ — tree-sitter + structured parsers
│ ├── query/ — service / topology / stats / dead-code Cypher templates
│ └── review/ — PR-review pipeline (diff + Ollama)
├── parity/ — parity harness (build tag `parity`); mostly idle
├── testdata/ — fixture-minimal, fixture-multi-lang
├── scripts/ — release / git-setup shell helpers
├── .github/workflows/ — go-ci, perf-gate, release-go, release-darwin, security, scorecard
Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,6 @@ codeiq/
│ ├── parser/ ── tree-sitter + structured parsers
│ ├── query/ ── service / topology / stats / dead-code Cypher templates
│ └── review/ ── PR-review pipeline (diff + Ollama)
├── parity/ ── parity harness (build tag `parity`)
├── testdata/ ── fixture-minimal + fixture-multi-lang
├── .github/workflows/ ── go-ci, perf-gate, release-go, release-darwin, security, scorecard
└── .goreleaser.yml ── Goreleaser v2 (CGO multi-arch + Cosign + Syft)
Expand Down Expand Up @@ -383,9 +382,8 @@ Architectural decisions: [`docs/adr/`](docs/adr/). Repo-specific Claude Code ins
| Goreleaser pipeline + Cosign keyless | Production |
| 884+ tests passing (race + vet + staticcheck + gosec + govulncheck on every PR) | Production |
| `codeiq review` (LLM PR review) | Beta — works end-to-end against local Ollama |
| `parity/` harness | Idle (Java→Go port artifact; build-tag gated) |

Currently on **v0.4.1**. Release history was reset at v0.4.0 — see [`docs/00-project-overview.md`](docs/00-project-overview.md) for context.
Currently on **v0.4.2**. Release history was reset at v0.4.0 — see [`docs/00-project-overview.md`](docs/00-project-overview.md) for context.

---

Expand Down
2 changes: 0 additions & 2 deletions docs/00-project-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ Production-ready surface:

Experimental / partial:
- `codeiq review` — works end-to-end against local Ollama; Ollama Cloud path tested but the default endpoint is local. Output format is markdown or JSON.
- `parity/` harness — build tag `parity`, compares cache + graph outputs across runs; used during the Java→Go port, now mostly idle.

Not implemented (despite mentions in older docs):
- **`codeiq config <action>`** — CLAUDE.md historically listed this; no `internal/cli/config.go` exists. The root `--config` flag still loads `codeiq.yml`.
Expand All @@ -53,7 +52,6 @@ Not implemented (despite mentions in older docs):
| Kuzu 0.11.3 + native FTS | Production | Migrated from 0.7.1 with CONTAINS fallback retained |
| Goreleaser release pipeline | Production | Cosign keyless via GitHub OIDC + Sigstore Rekor |
| `codeiq review` (LLM PR review) | Beta | Works; quality depends on the LLM endpoint |
| `parity/` harness | Idle | Phase 5 / Java parity verification; build-tag gated |
| Detector coverage | Mixed | 100 detectors; some are lexical-only (regex), AST refinement is a per-detector concern |

## Release history (after the v0.4.0 reset)
Expand Down
7 changes: 1 addition & 6 deletions docs/03-code-map.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
# 03 — Code map

> All paths are repo-root-relative. Module: `github.com/randomcodespace/codeiq`. CGO required everywhere. ~395 Go files in `internal/` + `cmd/` + `parity/`.
> All paths are repo-root-relative. Module: `github.com/randomcodespace/codeiq`. CGO required everywhere. ~395 Go files in `internal/` + `cmd/`.

## Top level

```
codeiq/
├── cmd/ — main package(s)
├── internal/ — production code (393 .go files)
├── parity/ — parity harness (build tag `parity`, 7 .go files)
├── testdata/ — fixtures (fixture-minimal, fixture-multi-lang)
├── scripts/ — release / git-setup shell helpers
├── .github/workflows/ — 6 workflows: go-ci, perf-gate, release-go, release-darwin, security, scorecard
Expand Down Expand Up @@ -161,10 +160,6 @@ Sample (Spring REST): [`internal/detector/jvm/java/spring_rest.go`](../internal/
| [`internal/model/`](../internal/model/) | Canonical types: `CodeNode`, `CodeEdge`, `NodeKind` (34 values), `EdgeKind` (28 values), `Confidence` (LEXICAL/SYNTACTIC/RESOLVED), `Layer` (frontend/backend/infra/shared/unknown). |
| [`internal/buildinfo/`](../internal/buildinfo/) | `Version`, `Commit`, `Date`, `Dirty`, `Platform`, `GoVersion`, `Features`. `init()` falls back to `runtime/debug.BuildInfo` when no `-ldflags -X`. |

## `parity/`

Build-tag `parity` harness. Compares cache + graph outputs of two runs (Java side vs Go side, or two Go runs). Used heavily during the Java → Go port; now mostly idle. Build with `go build -tags parity ./parity/...`.

## `testdata/`

| Path | Purpose |
Expand Down
1 change: 0 additions & 1 deletion docs/05-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ The project does not use a feature-flag system. Build-time switches are limited

| Switch | Mechanism |
|---|---|
| Parity harness | Go build tag `parity` (see [`parity/`](../parity/)). |
| Detector registration | Blank-import gate in [`internal/cli/detectors_register.go`](../internal/cli/detectors_register.go). |
| Verbose logging | `-v` count flag on the root command. |

Expand Down
1 change: 0 additions & 1 deletion docs/08-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Test file count per package (sampled from `find internal -name '*_test.go' | wc
| `internal/cache/` | 3 |
| `internal/query/` | 3 |
| `internal/review/` | 3 |
| `parity/` | 1 |

**Total:** 884+ tests pass cleanly on `main`. Race detector passes too (CI runs `go test -race -count=1`).

Expand Down
4 changes: 1 addition & 3 deletions docs/10-known-risks-and-todos.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## TODO / FIXME / HACK markers in code

**Zero.** A repo-wide grep for `TODO`, `FIXME`, `HACK`, `XXX` in `internal/`, `cmd/`, and `parity/` returns **0 occurrences**.
**Zero.** A repo-wide grep for `TODO`, `FIXME`, `HACK`, `XXX` in `internal/` and `cmd/` returns **0 occurrences**.

This is the result of a deliberate "no TODOs in main" discipline — incomplete work either ships behind a clear interface or is captured in plan files (now wiped). The flip side: there's no in-code roadmap for "things known to need work". The list below substitutes for that, drawn from comments, deleted plan files, and observed bugs.

Expand Down Expand Up @@ -58,7 +58,6 @@ This is the result of a deliberate "no TODOs in main" discipline — incomplete
| **No structured logging** | Across packages | Plain `fmt.Fprintln(os.Stderr, ...)` at `-v` levels. Fine for a CLI; would be limiting in a long-running service (and there isn't one, so it's fine). |
| **`config <action>` subcommand not implemented** | [`internal/cli/`](../internal/cli/) — no `config.go` | Older docs referenced this. Today only the root `--config` flag exists. |
| **Java detector `.java` test fixtures** | [`testdata/fixture-minimal/`](../testdata/fixture-minimal/) | The fixture has `User.java` + `UserController.java` to exercise the Java detector. They are content, not project Java code — easy to confuse with stale Java-era artifacts. |
| **`parity/` harness mostly idle** | [`parity/`](../parity/) | Build-tag `parity`. Used during the Java → Go port; now sits behind the tag waiting for someone to wake it up or delete it. |

### Incomplete features

Expand Down Expand Up @@ -97,4 +96,3 @@ This is the result of a deliberate "no TODOs in main" discipline — incomplete
3. **Snapshot tests for tree-sitter grammar output** on canonical files per language; pin grammar versions in `go.mod` rather than the wildcard tag patterns currently in use.
4. **`gh attestation verify` documentation** for release consumers.
5. **Consider extracting an `extra_files` block in `.goreleaser.yml`** with `match: optional` rather than the `*`-glob hack for README.md.
6. **Delete `parity/` or revive it** — Phase 5 of the Java port is over; the harness is in limbo.
5 changes: 1 addition & 4 deletions docs/11-agent-handoff.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
16. **Never re-use a deleted version number.** Always tag forward (v0.4.X+1).
17. There's no REST API, no web UI, no telemetry, no auto-update, no Docker image. Operator-driven CLI + stdio MCP only.
18. Java reference implementation was deleted at v0.3.0 cutover (PR #132). Will not return.
19. `parity/` directory is a build-tag-gated harness (`-tags parity`) from the Java→Go port; mostly idle, can be revived or deleted.
20. Documentation lives entirely under `docs/` + `README.md` + `CLAUDE.md`. Wiped + rebuilt in this handoff (PR #168 + the doc-rewrite this file is part of).
19. Documentation lives entirely under `docs/` + `README.md` + `CLAUDE.md`. Wiped + rebuilt in this handoff (PR #168 + the doc-rewrite this file is part of).

## Top 20 files to read first

Expand Down Expand Up @@ -147,15 +146,13 @@ codeiq --version
| `v0.4.2` tag | Created then deleted because the v0.4.2 release failed on the goreleaser literal-file pattern. Once #169 lands, re-tag as v0.4.2. |
| CHANGELOG `[Unreleased]` section | Will need to be cut to `[v0.4.2]` when the next release ships. See [`docs/09-build-deploy-release.md`](09-build-deploy-release.md). |
| New reference docs | This is the deliverable. After this PR lands, the repo will have a clean `docs/` tree (the user wiped the prior set in PR #168). |
| `parity/` harness | Build-tag idle since the Java port. Revive or delete. |
| `config <action>` subcommand | Mentioned in older docs; never implemented. Root `--config` flag works. Implement or remove the mention. |

## Recommended next tasks (priority order)

1. **Merge PR #169** (goreleaser glob fix) → tag v0.4.2 → publish the release.
2. **Wire the new reference docs into `go-ci.yml` or `security.yml` link-check** — broken markdown links would be the most likely doc-bitrot vector.
3. **Add a `gh attestation verify` example to the README** — the binaries ship with build provenance but it's invisible to consumers.
4. **Decide on `parity/`** — keep + document, or delete.
5. **Fuzz [`MutationKeyword`](../internal/graph/mutation.go)** — adversarial Cypher with comment / string smuggling.
6. **Property-fuzz the CSV bulk-load writer** — random byte sequences in node/edge properties (catches the next #150/#152/#153-style bug).
7. **Snapshot tests for tree-sitter grammar outputs** — pin grammar versions; alert on AST node-name drift.
Expand Down
1 change: 0 additions & 1 deletion docs/adr/0001-current-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ Each detector registers itself with `detector.RegisterDefault(NewMyDetector())`
- Property-fuzz the CSV bulk-load writer.
- Snapshot tests for tree-sitter grammar outputs.
- Document `gh attestation verify` for release consumers.
- Decide on `parity/` — keep or delete.
- Implement `codeiq config <action>` or formally remove the historical reference.

## References
Expand Down
31 changes: 0 additions & 31 deletions parity/cmd/parity-normalize/main.go

This file was deleted.

63 changes: 0 additions & 63 deletions parity/java-normalize.jq

This file was deleted.

99 changes: 0 additions & 99 deletions parity/kuzu_dump.go

This file was deleted.

Loading