Skip to content

Commit 43cc3f0

Browse files
aksOpsclaude
andcommitted
chore: delete parity harness
Remove the `parity/` package and update every doc reference to it. Background: the parity harness was a Java→Go cross-binary diff tool used heavily during the v0.3.0 cutover. Phase 6 deleted the Java side months ago; the harness has been idle since. It compiled into the default `go test ./...` run (~0.15s overhead) but produced no verification anyone consumed. Deleted (8 files / 621 LoC): parity/cmd/parity-normalize/main.go parity/java-normalize.jq parity/kuzu_dump.go parity/kuzu_dump_test.go parity/normalize.go parity/normalize_test.go parity/open_ro.go parity/parity_test.go Doc updates (9 files): CLAUDE.md ── layout tree README.md ── tree + status table; v0.4.1 → v0.4.2 docs/00-project-overview.md ── drop parity bullet + status row docs/03-code-map.md ── intro line + tree + dedicated section docs/05-configuration.md ── feature-flags table row docs/08-testing.md ── test-counts table row docs/10-known-risks-and-todos.md ── debt table row + follow-up bullet docs/11-agent-handoff.md ── 20-line summary + unfinished work + follow-ups docs/adr/0001-current-architecture.md ── open-follow-up bullet Verification: * Zero non-self references to github.com/randomcodespace/codeiq/parity in the rest of the codebase. * `CGO_ENABLED=1 go build ./...` clean. * `CGO_ENABLED=1 go test ./... -count=1` clean (one fewer package). References to "parity" that are NOT the harness are preserved: * MCP consolidated-tool parity tests (different concept — covers arg-name mapping between consolidated modes and their narrow handlers). * The "Java H2 parity" reserved-word workaround note in the cache schema doc — it's about byte-for-byte parity-dump compatibility, not the harness. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 0870fab commit 43cc3f0

17 files changed

Lines changed: 4 additions & 737 deletions

CLAUDE.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ codeiq/
120120
│ ├── parser/ — tree-sitter + structured parsers
121121
│ ├── query/ — service / topology / stats / dead-code Cypher templates
122122
│ └── review/ — PR-review pipeline (diff + Ollama)
123-
├── parity/ — parity harness (build tag `parity`); mostly idle
124123
├── testdata/ — fixture-minimal, fixture-multi-lang
125124
├── scripts/ — release / git-setup shell helpers
126125
├── .github/workflows/ — go-ci, perf-gate, release-go, release-darwin, security, scorecard

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,6 @@ codeiq/
291291
│ ├── parser/ ── tree-sitter + structured parsers
292292
│ ├── query/ ── service / topology / stats / dead-code Cypher templates
293293
│ └── review/ ── PR-review pipeline (diff + Ollama)
294-
├── parity/ ── parity harness (build tag `parity`)
295294
├── testdata/ ── fixture-minimal + fixture-multi-lang
296295
├── .github/workflows/ ── go-ci, perf-gate, release-go, release-darwin, security, scorecard
297296
└── .goreleaser.yml ── Goreleaser v2 (CGO multi-arch + Cosign + Syft)
@@ -383,9 +382,8 @@ Architectural decisions: [`docs/adr/`](docs/adr/). Repo-specific Claude Code ins
383382
| Goreleaser pipeline + Cosign keyless | Production |
384383
| 884+ tests passing (race + vet + staticcheck + gosec + govulncheck on every PR) | Production |
385384
| `codeiq review` (LLM PR review) | Beta — works end-to-end against local Ollama |
386-
| `parity/` harness | Idle (Java→Go port artifact; build-tag gated) |
387385

388-
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.
386+
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.
389387

390388
---
391389

docs/00-project-overview.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ Production-ready surface:
3838

3939
Experimental / partial:
4040
- `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.
41-
- `parity/` harness — build tag `parity`, compares cache + graph outputs across runs; used during the Java→Go port, now mostly idle.
4241

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

5957
## Release history (after the v0.4.0 reset)

docs/03-code-map.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
# 03 — Code map
22

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

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

164-
## `parity/`
165-
166-
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/...`.
167-
168163
## `testdata/`
169164

170165
| Path | Purpose |

docs/05-configuration.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ The project does not use a feature-flag system. Build-time switches are limited
117117

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

docs/08-testing.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ Test file count per package (sampled from `find internal -name '*_test.go' | wc
2020
| `internal/cache/` | 3 |
2121
| `internal/query/` | 3 |
2222
| `internal/review/` | 3 |
23-
| `parity/` | 1 |
2423

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

docs/10-known-risks-and-todos.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## TODO / FIXME / HACK markers in code
44

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

77
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.
88

@@ -58,7 +58,6 @@ This is the result of a deliberate "no TODOs in main" discipline — incomplete
5858
| **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). |
5959
| **`config <action>` subcommand not implemented** | [`internal/cli/`](../internal/cli/) — no `config.go` | Older docs referenced this. Today only the root `--config` flag exists. |
6060
| **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. |
61-
| **`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. |
6261

6362
### Incomplete features
6463

@@ -97,4 +96,3 @@ This is the result of a deliberate "no TODOs in main" discipline — incomplete
9796
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.
9897
4. **`gh attestation verify` documentation** for release consumers.
9998
5. **Consider extracting an `extra_files` block in `.goreleaser.yml`** with `match: optional` rather than the `*`-glob hack for README.md.
100-
6. **Delete `parity/` or revive it** — Phase 5 of the Java port is over; the harness is in limbo.

docs/11-agent-handoff.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222
16. **Never re-use a deleted version number.** Always tag forward (v0.4.X+1).
2323
17. There's no REST API, no web UI, no telemetry, no auto-update, no Docker image. Operator-driven CLI + stdio MCP only.
2424
18. Java reference implementation was deleted at v0.3.0 cutover (PR #132). Will not return.
25-
19. `parity/` directory is a build-tag-gated harness (`-tags parity`) from the Java→Go port; mostly idle, can be revived or deleted.
26-
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).
25+
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).
2726

2827
## Top 20 files to read first
2928

@@ -147,15 +146,13 @@ codeiq --version
147146
| `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. |
148147
| 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). |
149148
| 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). |
150-
| `parity/` harness | Build-tag idle since the Java port. Revive or delete. |
151149
| `config <action>` subcommand | Mentioned in older docs; never implemented. Root `--config` flag works. Implement or remove the mention. |
152150

153151
## Recommended next tasks (priority order)
154152

155153
1. **Merge PR #169** (goreleaser glob fix) → tag v0.4.2 → publish the release.
156154
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.
157155
3. **Add a `gh attestation verify` example to the README** — the binaries ship with build provenance but it's invisible to consumers.
158-
4. **Decide on `parity/`** — keep + document, or delete.
159156
5. **Fuzz [`MutationKeyword`](../internal/graph/mutation.go)** — adversarial Cypher with comment / string smuggling.
160157
6. **Property-fuzz the CSV bulk-load writer** — random byte sequences in node/edge properties (catches the next #150/#152/#153-style bug).
161158
7. **Snapshot tests for tree-sitter grammar outputs** — pin grammar versions; alert on AST node-name drift.

docs/adr/0001-current-architecture.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ Each detector registers itself with `detector.RegisterDefault(NewMyDetector())`
155155
- Property-fuzz the CSV bulk-load writer.
156156
- Snapshot tests for tree-sitter grammar outputs.
157157
- Document `gh attestation verify` for release consumers.
158-
- Decide on `parity/` — keep or delete.
159158
- Implement `codeiq config <action>` or formally remove the historical reference.
160159

161160
## References

parity/cmd/parity-normalize/main.go

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)