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
Copy file name to clipboardExpand all lines: docs/gap-analysis.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ Intentionally deferred after Phase 7:
72
72
- The remaining MCP work outside the completed daily-use slice, especially fuller Cypher parity.
73
73
- Full Cypher parity beyond the broader day-to-day query subset now supporting node/edge reads, filtering, sorting, and counts.
74
74
- Deeper usage/type-reference extraction parity and broader cross-language semantics beyond the current target daily-use slice.
75
-
- Richer decorator/enrichment follow-ons, decorator-based route detection, `HANDLES`/`DATA_FLOWS` edge creation, and full config normalization surface. (Git-history coupling is now implemented; config-linking and route nodes are partially implemented.)
75
+
- Richer decorator/enrichment follow-ons, broader route detection, and broader config normalization/linking surface. (Git-history coupling is now implemented; route nodes and config-linking both have strict shared graph-model fixture slices.)
76
76
- Broader installer/self-update behavior beyond the current source-build-friendly Codex CLI / Claude Code support.
77
77
- Idle-store and session-lifecycle extras beyond the current persistent-store + watcher runtime model.
78
78
@@ -127,7 +127,7 @@ Deferred or optional future slices:
- long-tail edges — now implemented: `THROWS`/`RAISES` (JS/TS/TSX throw statements), decorator-backed `HANDLES`, and route-linked `DATA_FLOWS`; remaining or out-of-scope gaps: `OVERRIDE` (Go-only), `WRITES`/`READS` (not proven original-overlap by the current C reference fixture)
129
129
- route nodes — partially implemented (stub and concrete URL/path/topic `Route` nodes, verified decorator-backed `Route`/`HANDLES`, strict shared route-linked `DATA_FLOWS`, and strict shared `ASYNC_CALLS`; broader framework coverage still open)
130
-
- config-linking — partially implemented (Strategy 1 key-symbol + Strategy 2 dependency-import; full config normalization surface not yet ported)
130
+
- config-linking — partially implemented (Strategy 1 key-symbol + Strategy 2 dependency-import; the first strict shared key-symbol normalization fixture now proves raw-key preservation and `CONFIGURES` query visibility, while dependency-import closure remains open)
131
131
- richer decorator/enrichment promotion
132
132
- current entrypoint: [graph-model-parity-plan.md](/Users/skooch/projects/codebase-memory-zig/docs/plans/in-progress/graph-model-parity-plan.md)
133
133
- Productization beyond the current contract:
@@ -428,10 +428,10 @@ The Zig store has the schema (tables + indexes + pragmas) and opens in-memory DB
428
428
|`pass_parallel`| 1,427 | MISSING | Thread pool orchestration |
|`pass_route_nodes`| 742 | PARTIAL (stub and concrete URL/path Route nodes, verified decorator-backed `Route`/`HANDLES`, and Zig route-linked `DATA_FLOWS`) | HTTP route node creation, first handler association slice, and first data-flow bridge |
431
+
|`pass_route_nodes`| 742 | PARTIAL (stub and concrete URL/path/topic Route nodes, verified decorator-backed `Route`/`HANDLES`, strict shared route-linked `DATA_FLOWS`, and strict shared `ASYNC_CALLS`) | HTTP/async route node creation, first handler association slice, and first data-flow bridge |
432
432
|`pass_tests`| 285 | WORKS for the shared Python `TESTS` / `TESTS_FILE` slice | Test file/function tagging now verified on the local parity fixture; broader language breadth stays follow-on work |
433
433
|`pass_enrichment`|~200 | MISSING (deferred) | Decorator tag enrichment |
Copy file name to clipboardExpand all lines: docs/plans/in-progress/graph-model-parity-progress.md
+15-3Lines changed: 15 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,12 +39,24 @@
39
39
- Added strict manifest assertions for `__route__celery__users.refresh` and `enqueue_users -> users.refresh` over `ASYNC_CALLS`.
40
40
- Regenerated `graph-model-async` golden coverage.
41
41
42
+
### Phase 4: Finish Config-Link Normalization
43
+
-**Status:** in progress for the first shared key-symbol slice
44
+
- Actions:
45
+
- Re-read the original C `pass_configlink` behavior and compared it with Zig's `runConfigLinkPass` and `normalizeConfigName`.
46
+
- Probed a focused YAML/Python fixture against both implementations and confirmed the shared public rows before adding repo fixtures.
47
+
- Added `testdata/interop/graph-model/config/` with `maxConnections`, `max_connections`, `max-connections`, and `short`.
48
+
- Added strict manifest assertions that prove the raw `max-connections` config key, the normalized `maxConnections -> max-connections``CONFIGURES` row, and no false `CONFIGURES` row for `short`.
49
+
- Regenerated `graph-model-config` golden coverage.
50
+
42
51
### Verification
43
52
-`zig build` -> passed
44
53
-`zig build test` -> passed
45
-
-`bash scripts/run_interop_alignment.sh --update-golden` -> passed, 21/21 golden snapshots updated
46
-
-`bash scripts/run_interop_alignment.sh --zig-only` -> passed, 21/21 golden comparison
47
-
-`bash scripts/run_interop_alignment.sh` -> passed with 21 fixtures, 165 comparisons, 92 strict matches, 21 diagnostic-only comparisons, 10 known mismatches, and `cli_progress: match`
Copy file name to clipboardExpand all lines: docs/port-comparison.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
@@ -132,7 +132,7 @@ It is intentionally not a wish list. It describes:
132
132
| LSP hybrid type resolution | Present for Go/C/C++ in original | Not implemented |`Deferred`| No | The original README explicitly calls out LSP-style hybrid type resolution; Zig does not ship that layer. |
133
133
| Test tagging pass | Yes | Yes for the verified shared Python fixture slice |`Near parity`| Yes | Zig now derives `TESTS` and `TESTS_FILE` from shared filename and call-edge rules on the parity fixture without reopening broader language-specific enrichment work. |
134
134
| Git history coupling | Yes | Implemented |`Near parity`| Yes | Zig pass uses subprocess `git log` (no libgit2); creates `FILE_CHANGES_WITH` edges with `co_changes` and `coupling_score` properties. |
135
-
| Config linking / config normalization | Yes | Partial |`Partial`| No | Zig now implements Strategy 1 (key-symbol) and Strategy 2 (dependency-import matching)but not the full config normalization surface. |
135
+
| Config linking / config normalization | Yes | Partial |`Partial`| No | Zig now implements Strategy 1 (key-symbol) and Strategy 2 (dependency-import matching); the first strict shared key-symbol normalization fixture locks raw-key query visibility and `maxConnections -> max-connections`, but dependency-import mismatch closure and broader normalization coverage remain open. |
136
136
| Route-node creation / cross-service graph | Yes | Partial |`Partial`| No | Zig now classifies call edges as `HTTP_CALLS`/`ASYNC_CALLS`, creates stub and concrete URL/path/topic `Route` nodes, emits verified decorator-backed `HANDLES`, and has strict shared route-linked `DATA_FLOWS` plus async topic fixtures. Broader framework coverage remains open. |
137
137
| Infra scanning (`Docker`, `K8s`, Terraform, etc.) | Yes in the original codebase | Not ported |`Cut`| No | Zig intentionally excludes the infra-scan family from the current port target. |
138
138
| OTLP traces | Stubbed | Not ported |`N/A`| No | Not a meaningful implemented-vs-implemented gap. |
@@ -146,7 +146,7 @@ This section compares what kinds of graph entities the two systems are built to
146
146
| Core code graph (`Project`, `Folder`, `File`, `Module`, `Class`, `Function`, `Method`, `Interface`, `Enum`) | Yes | Yes |`Near parity`| Yes | These are the backbone of the shipped Zig graph. |
147
147
| Core code edges (`CONTAINS_*`, `DEFINES`, `DEFINES_METHOD`, `CALLS`, `USAGE`) | Yes | Yes |`Near parity`| Yes | All are part of the current Zig daily-use contract. |
| Shared `CONFIGURES` contract | Yes | Yes for the verified shared fixture slice|`Near parity`| Yes | The parity fixtures now compare the overlapping `CONFIGURES`row directly; broader config-link systems remain deferred elsewhere. |
149
+
| Shared `CONFIGURES` contract | Yes | Yes for the verified shared fixture slices|`Near parity`| Yes | The parity fixtures now compare overlapping `CONFIGURES`rows directly, including the graph-model key-symbol normalization case; broader config-link systems remain deferred elsewhere. |
150
150
| Internal serving architecture | Graph-centric serving path | Hybrid internal serving path: SQLite graph core, FTS5 lexical index, optional SCIP sidecar overlay, and query router |`Near parity`| Yes | This is an internal implementation improvement in the Zig port; it deliberately preserves the interoperable MCP surface rather than creating a new client contract. |
151
151
| Route graph (`Route`, `HTTP_CALLS`, `ASYNC_CALLS`, `HANDLES`, route-linked data flows) | Yes | Partial |`Partial`| No | Zig now creates `HTTP_CALLS` and `ASYNC_CALLS` edges, concrete URL/path/topic `Route` nodes, verified decorator-backed `HANDLES`, strict shared route-linked `DATA_FLOWS`, and strict shared async topic caller rows. Broader framework coverage remains open. |
152
152
| Resource / infra graph (`Resource`, K8s/Kustomize entities) | Yes | Not shipped |`Cut`| No | Intentionally outside the Zig scope. |
@@ -226,7 +226,7 @@ If someone asks “what still separates the Zig port from the original?”, the
226
226
| No full Cypher parity | Some advanced graph query patterns remain C-only. |
| No LSP-assisted hybrid resolution | Some higher-fidelity call/type resolution paths remain original-only. |
229
-
| No full config normalization | Git-history coupling is implemented, config linking has dependency-import matching, decorator-backed `HANDLES` is verified, strict shared route-linked `DATA_FLOWS` is covered, and the first async topic route fixture is covered. The remaining graph-model gap is broader framework route coverage and the full config normalization surface. |
229
+
| No full config normalization | Git-history coupling is implemented, config linking has dependency-import matching and a strict shared key-symbol normalization fixture, decorator-backed `HANDLES` is verified, strict shared route-linked `DATA_FLOWS` is covered, and the first async topic route fixture is covered. The remaining graph-model gap is broader framework route coverage plus dependency-import and broader config-normalization closure. |
230
230
| No UI subsystem | The original can run a graph visualization UI; the Zig port intentionally cannot. |
231
231
| Much narrower installer ecosystem | The original configures 10 agents plus hooks/instructions; Zig currently configures 2 agents and only MCP entries. |
Copy file name to clipboardExpand all lines: docs/zig-port-plan.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -567,9 +567,9 @@ Current state: the broader daily-use MCP surface is now live, the runtime uses a
567
567
-[x] Git history pass (change coupling)
568
568
-[ ] Route node creation and handler/data-flow links (partial: stub and concrete URL/path/topic `Route` nodes, verified decorator-backed `HANDLES`, strict shared route-linked `DATA_FLOWS`, and strict shared `ASYNC_CALLS` are implemented; broader framework coverage remains open)
569
569
-[x] Test tagging
570
-
-[ ] Config-code linking (partial: key-symbol and dependency-import strategies are implemented)
570
+
-[ ] Config-code linking (partial: key-symbol and dependency-import strategies are implemented; first strict shared key-symbol normalization fixture is locked)
571
571
-[ ] Decorator enrichment
572
-
Current state: M4 is no longer a blank backlog. Git-history coupling, test tagging, route stubs, concrete URL/path/topic route callers, decorator-backed `HANDLES`, strict shared route-linked `DATA_FLOWS`, strict shared `ASYNC_CALLS`, service-pattern call classification, partial config linking, and long-tail `THROWS` / `RAISES` edges are implemented. The active graph-model parity entrypoint is [graph-model-parity-plan.md](/Users/skooch/projects/codebase-memory-zig/docs/plans/in-progress/graph-model-parity-plan.md), which tracks the remaining broader route handler coverage and config-normalization work.
572
+
Current state: M4 is no longer a blank backlog. Git-history coupling, test tagging, route stubs, concrete URL/path/topic route callers, decorator-backed `HANDLES`, strict shared route-linked `DATA_FLOWS`, strict shared `ASYNC_CALLS`, service-pattern call classification, partial config linking with a strict shared key-symbol normalization fixture, and long-tail `THROWS` / `RAISES` edges are implemented. The active graph-model parity entrypoint is [graph-model-parity-plan.md](/Users/skooch/projects/codebase-memory-zig/docs/plans/in-progress/graph-model-parity-plan.md), which tracks the remaining broader route handler coverage and dependency-import/config-normalization work.
0 commit comments