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
| is_optional_chain | INTEGER | 1 when the call uses optional chaining (`?.`) |
262
+
| callee_symbol_id | INTEGER FK | Resolved callee in `symbols` (NULL when unresolved / external global) |
263
+
| callee_resolution_kind | TEXT |`same-file`, `imported`, `re-exported`, `global`, or `unresolved` — set by `resolveCalls` after bindings; NULL on method calls (`is_method_call = 1`, deferred)|
264
264
265
265
Edges are deduped per (caller_scope, callee, call vs constructor) per file: if `foo` calls `bar` three times in the same file, only one row is stored. `foo()` and `new Foo()` with the same callee name remain distinct rows. Same-named methods in different classes get distinct `caller_scope` values. Module-level calls (outside any function) are excluded — only function-scoped calls are tracked.
266
266
267
-
**Call resolution:**`src/application/call-resolver.ts` runs after bindings on full rebuild and after incremental file updates. Incremental scope is `expandHeritageResolveScope` over all requested/changed paths (includes importers). Method calls (`is_method_call = 1`) are not name-bound yet. Unresolved sites are staged in `unresolved_calls`; `meta.unresolved_calls_residual` is the global queue `COUNT(*)`.
267
+
**Call resolution:**`src/application/call-resolver.ts` runs after bindings on full rebuild and after incremental file updates. Incremental scope is `expandHeritageResolveScope` over changed/requested paths **and** deletion-only paths (includes importers). Method calls (`is_method_call = 1`) are not name-bound yet (`callee_*` stay NULL; not queued). Unresolved sites are staged in `unresolved_calls`; `meta.unresolved_calls_residual` is the global queue `COUNT(*)`.
268
268
269
269
### `unresolved_calls` — Staging queue for unresolved call sites (`STRICT`)
-[x] Expand `test:agent-eval` to one probe per `CAPABILITIES.json`group (18 probes; guarded by`capability-probes.test.mjs`)
52
+
-[x] Expand `test:agent-eval` to one probe per `CAPABILITIES.json`capability id (18 probes; 15 golden-backed + 3 `unitTests`/`enforcedBy` groups;`capability-probes.test.mjs`)
|**Unit**|`bun test ./src`| Parsers, DB DDL, engines, CLI/MCP handlers in isolation (`:memory:` or mocks). |
14
-
|**In-repo test bench**|`bun run test:golden`| Index `fixtures/minimal/` (bench corpus) → compare `fixtures/golden/minimal/*.json`. Map: `fixtures/CAPABILITIES.json`. |
15
-
|**Golden guard**|`bun run test:scripts`|`scripts/query-golden-coverage-matrix.test.mjs` — every bundled recipe + substrate table has a scenario. |
16
-
|**Agent eval**|`bun run test:agent-eval`| Probe arms vs golden ids (MCP-on vs glob/read). |
|**Unit**|`bun test ./src`| Parsers, DB DDL, engines, CLI/MCP handlers in isolation (`:memory:` or mocks). |
14
+
|**In-repo test bench**|`bun run test:golden`| Index `fixtures/minimal/` (bench corpus) → compare `fixtures/golden/minimal/*.json`. Map: `fixtures/CAPABILITIES.json`. |
15
+
|**Golden guard**|`bun run test:scripts`|`scripts/query-golden-coverage-matrix.test.mjs` — every bundled recipe + substrate table has a scenario. |
16
+
|**Agent eval**|`bun run test:agent-eval`| Probe arms vs golden ids (MCP-on vs glob/read). |
|**Check**|`bun run check`| build + lint + unit + scripts + golden + agent-eval. |
20
20
21
21
Refresh Tier A goldens after intentional fixture or schema changes:
22
22
@@ -81,7 +81,7 @@ Codemap development uses **only** the committed bench ([fixtures/README.md](../f
81
81
82
82
## Agent eval probes
83
83
84
-
`scripts/agent-eval/scenarios.json` — **18 probes**, one golden id per `CAPABILITIES.json` group (except bundled-recipe guard + CLI-only groups). Enforced by `scripts/agent-eval/capability-probes.test.mjs` in `test:scripts`.
84
+
`scripts/agent-eval/scenarios.json` — **18 probes** (one per `CAPABILITIES.json`capability id). Each probe’s `goldenId` must appear in that group’s `goldenScenarios` (or the group uses `unitTests` / `enforcedBy` instead — `recipes.bundled`, `cli.bench-smoke`, `cli.mcp.http`). Some groups list multiple substrate scenarios; probes need only cover one id per group. Enforced by `scripts/agent-eval/capability-probes.test.mjs` in `test:scripts`.
0 commit comments