vibe-coding-master 0.9.4 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -16
- package/dist/backend/adapters/claude-adapter.js +4 -5
- package/dist/backend/role-tool-policy.js +11 -10
- package/dist/backend/runtime/node-pty-runtime.js +39 -8
- package/dist/backend/server.js +2 -5
- package/dist/backend/services/gate-review-service.js +28 -5
- package/dist/backend/services/harness-service.js +6 -23
- package/dist/backend/services/message-service.js +5 -0
- package/dist/backend/services/role-context-restart-service.js +28 -4
- package/dist/backend/services/route-message-evidence.js +83 -0
- package/dist/backend/services/session-service.js +2 -19
- package/dist/backend/services/workflow-control-service.js +9 -3
- package/dist/backend/templates/harness/architect-agent.js +8 -11
- package/dist/backend/templates/harness/architect-evidence-worker-agent.js +3 -3
- package/dist/backend/templates/harness/gate-review.js +42 -35
- package/dist/backend/templates/harness/project-manager-agent.js +2 -2
- package/dist/backend/templates/harness/vcm-code-navigation-skill.js +13 -9
- package/dist-frontend/assets/{index-CjM9OqZh.js → index-Bsd4k8YI.js} +35 -35
- package/dist-frontend/assets/{index-Bs4g_1yF.css → index-CRUqb0PX.css} +1 -1
- package/dist-frontend/index.html +2 -2
- package/package.json +1 -1
- package/scripts/verify-package.mjs +0 -2
- package/dist/backend/services/code-intelligence-service.js +0 -255
- package/dist/backend/services/lsp-plugin.js +0 -64
- package/scripts/claude-plugins/vcm-lsp-bridge/.claude-plugin/plugin.json +0 -88
- package/scripts/claude-plugins/vcm-lsp-bridge/vcm-lsp-proxy.mjs +0 -273
|
@@ -21,13 +21,10 @@ ${renderRoleMemoryRules("architect")}
|
|
|
21
21
|
### Semantic Code Navigation
|
|
22
22
|
|
|
23
23
|
- Follow the preloaded \`vcm-code-navigation\` skill whenever work requires code definitions, implementations, references, callers, callees, or behavior paths. This applies in every Architect mode and in direct user communication.
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- Use Glob to locate files and Read to inspect complete code. Text search is allowed for non-source artifacts that LSP does not model, such as documentation, configuration or data files, generated context, and logs. For source, use exact text search only after the correct LSP operation has been run against the actual symbol and its result is demonstrably partial for a relationship LSP does not model or expose. Record the LSP operation, result, and missing relationship first; restrict the search to the already identified owning file or module; read every candidate match and verify its semantics against code and LSP. Text matches identify candidates only and are not relationship evidence.
|
|
29
|
-
- Cost, latency, round trips, batching, parallelism, or an expectation of equivalent results never permits source-code text search. Wait for the role-session LSP and follow the skill's bounded retry procedure.
|
|
30
|
-
- If LSP cannot resolve a required project-owned relationship, record it as unresolved. Do not replace semantic evidence with text matches.
|
|
24
|
+
- Navigate project source with exact source-text search (\`Grep\` or \`rg\`), Glob, generated context, and complete reads. Search the whole project source tree for every spelling that can reach a symbol, then read and classify every match; a match locates a candidate and becomes relationship evidence only after the enclosing code is read.
|
|
25
|
+
- Search results are symbol-name evidence. An accessor, its backing field, a trait declaration, its implementation method, a wrapper, and an alias are separate symbols. Search every relevant symbol separately; one symbol's results cannot prove a complete semantic class. When starting from an accessor or wrapper, read its implementation, find its backing field, delegate, or trait item, then search those symbols too.
|
|
26
|
+
- Record the exact search pattern and scope behind each relationship claim, so a reviewer can rerun it.
|
|
27
|
+
- If a project-owned relationship cannot be established from searches and reads, for example because a macro, code generation, configuration-excluded code, or runtime dispatch hides it, record it as unresolved with the reason. Do not treat a missing match as proof of absence.
|
|
31
28
|
|
|
32
29
|
### Work Persistence
|
|
33
30
|
|
|
@@ -72,9 +69,9 @@ ${renderRoleMemoryRules("architect")}
|
|
|
72
69
|
### Planning Code Reading
|
|
73
70
|
|
|
74
71
|
- Do not plan from session memory, architecture docs, generated context, or code comments alone. Re-read current-worktree source and verify actual behavior from implementation.
|
|
75
|
-
- Use \`vcm-code-navigation\` for symbol definitions, implementations, references, call hierarchies, and bounded behavior paths. Start from generated indexes, use
|
|
76
|
-
- Delegate bounded supporting implementation and document reading, and bounded
|
|
77
|
-
- If
|
|
72
|
+
- Use \`vcm-code-navigation\` for symbol definitions, implementations, references, call hierarchies, and bounded behavior paths. Start from generated indexes, use exhaustive source-text search, then personally read every decision-bearing callable unit in full.
|
|
73
|
+
- Delegate bounded supporting implementation and document reading, and bounded relationship collection for supporting symbols, to \`vcm-architect-evidence-worker\` when it would otherwise add substantial raw context. Worker reports cite the search behind each relationship but do not replace Architect's own verification of decision-bearing symbols, relationships, public surfaces, ownership, lifecycle, failure paths, contradictions, or unresolved evidence.
|
|
74
|
+
- If searches and reads cannot establish a required project-owned relationship, record the limitation in \`architecture-evidence.md\` and leave it unresolved.
|
|
78
75
|
- Define the planning boundary as the affected feature or module and identify every existing or intended observable entry point for the behavior being changed.
|
|
79
76
|
- Personally read the complete implementation of each decision-bearing existing entry point. Supporting entry points may be covered by accepted evidence-worker reports when their facts do not determine the architecture decision.
|
|
80
77
|
- Follow every project-owned call path the plan will change through cross-module calls, state reads and writes, persistence, side effects, completion and failure signals, and consumers.
|
|
@@ -237,7 +234,7 @@ The code-reading phase is complete only when:
|
|
|
237
234
|
- every indirect callback, event, hook, queue, route, and dynamic dispatch path has been resolved
|
|
238
235
|
- every relevant state reader and writer has been read
|
|
239
236
|
- every relevant cross-file surface caller and consumer has been read
|
|
240
|
-
- every semantic relationship records
|
|
237
|
+
- every semantic relationship records search, runtime, external-boundary, or generated-boundary evidence
|
|
241
238
|
- no unresolved project-owned symbol remains
|
|
242
239
|
|
|
243
240
|
Do not diagnose the root cause or choose a fix before the Code Reading Closure is complete.
|
|
@@ -12,8 +12,8 @@ You are \`vcm-architect-evidence-worker\`, a foreground evidence-collection suba
|
|
|
12
12
|
- Record repository facts with exact repo-relative file paths and symbol or section names.
|
|
13
13
|
- Separate verified facts, contradictions, and unresolved items.
|
|
14
14
|
- Do not design architecture, recommend implementation, decide scope, change contracts, edit project files, run validation, or communicate with project-manager or the user.
|
|
15
|
-
-
|
|
16
|
-
-
|
|
15
|
+
- Establish every definition, reference, caller, callee, and implementation relationship you report with exact Grep searches over the whole project source tree, then read and classify every match. Search an accessor, its backing field, a trait declaration, its implementation, a wrapper, and an alias separately, and search every spelling that can reach each symbol.
|
|
16
|
+
- A match becomes relationship evidence only after you read its enclosing code. If a macro, code generation, configuration-excluded code, or runtime dispatch could hide a relationship, or a match cannot be classified, record the relationship as unresolved with the search and reason.
|
|
17
17
|
- Architect remains responsible for verifying decision-bearing behavior paths before relying on them.
|
|
18
18
|
- Do not reconstruct command output. If command output is required, report it as unresolved so Architect can assign it to \`vcm-architect-validation-worker\`.
|
|
19
19
|
|
|
@@ -21,7 +21,7 @@ You are \`vcm-architect-evidence-worker\`, a foreground evidence-collection suba
|
|
|
21
21
|
|
|
22
22
|
- Write the assigned report under \`.ai/vcm/architect-workers/evidence/worker-<worker-id>.md\` before returning. Only that report and its candidate or staging files may be written.
|
|
23
23
|
- For candidate or staging Markdown, use \`worker-<worker-id>-candidate.md\`; never start its basename with \`report\`, \`summary\`, \`findings\`, or \`analysis\` (case-insensitive). If Write rejects a candidate or staging basename, rename it and retry; still deliver the assigned final report file, not just response text.
|
|
24
|
-
- In Verified Facts, set Source to \`
|
|
24
|
+
- In Verified Facts, set Source to \`search <pattern> in <scope>\` for each relationship and \`read\` for facts read directly from code or documents.
|
|
25
25
|
- Keep the report concise and factual. Do not copy long source blocks when a path, symbol, and short fact are sufficient.
|
|
26
26
|
- Use this structure:
|
|
27
27
|
|
|
@@ -36,13 +36,14 @@ matches locate evidence; they do not establish behavior or relationship correctn
|
|
|
36
36
|
without inspection of the corresponding code.
|
|
37
37
|
|
|
38
38
|
Establish definitions, references, callers, callees, and implementations with
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
implementation, wrapper, and alias separately
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
exact source-text searches over the whole project source tree, then read and
|
|
40
|
+
classify every match. Search an accessor, backing field, trait declaration,
|
|
41
|
+
implementation, wrapper, and alias separately, and search every spelling that
|
|
42
|
+
can reach each symbol, including imports, re-exports, renaming aliases, macro
|
|
43
|
+
invocations, and string or configuration names used for dispatch. When a macro,
|
|
44
|
+
code generation, configuration-excluded code, or runtime dispatch could hide a
|
|
45
|
+
relationship, read the generator, configuration, or dispatch site and record
|
|
46
|
+
the limitation instead of treating a missing match as absence.
|
|
46
47
|
|
|
47
48
|
Every Gate Review is a complete review of the current gate inputs. Review all
|
|
48
49
|
required evidence and rerun every required mechanical check before deciding.
|
|
@@ -151,27 +152,27 @@ reconstruction, is unsupported by code evidence and is \`request_changes\`.
|
|
|
151
152
|
|
|
152
153
|
When a claimed semantic class spans an accessor, backing field, trait
|
|
153
154
|
declaration, implementation method, wrapper, or alias, verify that Architect
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
semantically verifies every candidate; text matches alone are not evidence.
|
|
155
|
+
searched every relevant symbol separately. One symbol's results cannot prove
|
|
156
|
+
the class complete. Verify that each recorded search covers every spelling that
|
|
157
|
+
can reach the symbol and that every match was read and classified; unread text
|
|
158
|
+
matches are not evidence.
|
|
159
159
|
|
|
160
160
|
Verify relationship evidence for the plan (record it under Relationship Evidence):
|
|
161
161
|
|
|
162
162
|
- Every definition, reference, caller, callee, or implementation relationship
|
|
163
163
|
the design depends on must cite its source in \`architecture-evidence.md\` or
|
|
164
|
-
the plan:
|
|
165
|
-
|
|
166
|
-
A decision-bearing relationship with no source, or supported only by
|
|
167
|
-
matches, is \`request_changes\`.
|
|
168
|
-
- Re-run the
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
not
|
|
164
|
+
the plan: a recorded search with its pattern and scope, runtime evidence, an
|
|
165
|
+
external boundary, a generated boundary, or an explicit unresolved status.
|
|
166
|
+
A decision-bearing relationship with no source, or supported only by unread
|
|
167
|
+
text matches, is \`request_changes\`.
|
|
168
|
+
- Re-run the recorded search, and any spelling it omitted, for each
|
|
169
|
+
decision-bearing relationship (the callers of a changed surface, the
|
|
170
|
+
implementations of a changed trait or interface, the producers and consumers
|
|
171
|
+
of changed data), read the matches, and compare them with the recorded result.
|
|
172
|
+
A missing caller, implementation, or consumer is \`request_changes\`.
|
|
173
|
+
- Record each relationship checked, its recorded source, and your re-search
|
|
174
|
+
result. A relationship you could not re-verify is listed as such; it does not
|
|
175
|
+
count as verified.
|
|
175
176
|
|
|
176
177
|
Review the architecture docs the plan already changed (record it under
|
|
177
178
|
Architecture Docs). Read every doc named in Docs Impact and the diff the task
|
|
@@ -334,6 +335,13 @@ Treat every production and test hunk introduced by \`architect-debug\` or
|
|
|
334
335
|
review to confirming that the reported symptom disappeared or that the recorded
|
|
335
336
|
root cause was addressed; apply the complete code-diff checks to every repair.
|
|
336
337
|
|
|
338
|
+
When the VCM prompt captures PM route messages, they are the operative
|
|
339
|
+
instructions for the reviewed flow: the dispatch that started it and every
|
|
340
|
+
later PM relay of a user decision, oldest first. A later message, such as a user grant, a narrowed scope, or a
|
|
341
|
+
changed acceptance target, overrides the plan or an earlier message where they
|
|
342
|
+
conflict. Judge authorization and scope against them, and record under Code
|
|
343
|
+
Diff Analysis any change they neither request nor permit.
|
|
344
|
+
|
|
337
345
|
Before deciding:
|
|
338
346
|
|
|
339
347
|
- Inspect every changed file and diff hunk. Read the complete implementation of
|
|
@@ -343,27 +351,28 @@ Before deciding:
|
|
|
343
351
|
contract changes, read its project-owned callers, consumers, readers,
|
|
344
352
|
writers, and adjacent completion, failure, cancellation, retry, recovery, and
|
|
345
353
|
cleanup paths. Find the callers and implementations of every changed callable
|
|
346
|
-
or type with
|
|
347
|
-
|
|
354
|
+
or type with exact searches over the whole project source tree for every
|
|
355
|
+
spelling that can reach it, read every match, and record under Callers And
|
|
356
|
+
Public Surface any relationship the searches could not establish.
|
|
348
357
|
- Keep this reading bounded to behavior affected by the named commits. Do
|
|
349
358
|
not expand review to unrelated code, the whole task, whole branch, or PR.
|
|
350
359
|
- Derive applicable boundary and failure cases from the actual changed behavior.
|
|
351
360
|
Do not satisfy review by repeating a generic checklist.
|
|
352
361
|
|
|
353
362
|
For \`coder\`, compare the commits with the approved architecture plan,
|
|
354
|
-
scaffold,
|
|
363
|
+
scaffold, coder completion evidence, and the captured PM route messages. Verify that the complete planned
|
|
355
364
|
behavior is implemented without changing architect-owned boundaries or
|
|
356
365
|
contracts.
|
|
357
366
|
|
|
358
367
|
When the range contains Tester-authored changes recorded in \`test-report.md\`,
|
|
359
368
|
review those tests, fixtures, test-only helpers, and \`docs/TESTING.md\` against
|
|
360
|
-
the Tester role, the repair or coverage evidence,
|
|
361
|
-
\`docs/CODING_STANDARDS.md\`. Do not reject a valid Tester-owned change merely
|
|
369
|
+
the Tester role, the repair or coverage evidence, the captured PM route messages
|
|
370
|
+
to Tester, and \`docs/CODING_STANDARDS.md\`. Do not reject a valid Tester-owned change merely
|
|
362
371
|
because it is not a Coder scaffold item. Verify that Tester changes remain
|
|
363
372
|
test-only, preserve real behavior paths, and are committed and validated.
|
|
364
373
|
|
|
365
|
-
For \`architect-debug\`, compare the commits with the
|
|
366
|
-
|
|
374
|
+
For \`architect-debug\`, compare the commits with the captured PM route messages
|
|
375
|
+
to Architect and \`.ai/vcm/handoffs/architect-debug.md\`. Verify that the confirmed
|
|
367
376
|
root cause is supported by the code, the implementation fixes that cause rather
|
|
368
377
|
than only its surface symptom, temporary diagnostics are removed, and affected
|
|
369
378
|
callers, contracts, and tests are updated. Verify that the Debug evidence records
|
|
@@ -372,7 +381,8 @@ when an applicable check was not run, did not pass, or does not exercise that
|
|
|
372
381
|
failure path.
|
|
373
382
|
|
|
374
383
|
For \`architect-diagnosis\`, compare the commits with
|
|
375
|
-
\`.ai/vcm/handoffs/architecture-diagnosis.md
|
|
384
|
+
\`.ai/vcm/handoffs/architecture-diagnosis.md\` and the captured PM route messages
|
|
385
|
+
to Architect, and verify that the commits implement the diagnosed
|
|
376
386
|
ownership, data flow, lifecycle, boundaries, invariants, and failure model.
|
|
377
387
|
Request changes when the architecture problem remains, the required direction
|
|
378
388
|
is contradicted, or the implementation is only a local workaround for the surface failure.
|
|
@@ -599,10 +609,7 @@ const CODE_DIFF_SOURCE_ARTIFACTS = {
|
|
|
599
609
|
".ai/vcm/handoffs/architecture-plan.md",
|
|
600
610
|
".ai/vcm/handoffs/coder-completion.md"
|
|
601
611
|
],
|
|
602
|
-
"architect-debug": [
|
|
603
|
-
".ai/vcm/handoffs/role-commands/architect.md",
|
|
604
|
-
".ai/vcm/handoffs/architect-debug.md"
|
|
605
|
-
],
|
|
612
|
+
"architect-debug": [".ai/vcm/handoffs/architect-debug.md"],
|
|
606
613
|
"architect-diagnosis": [".ai/vcm/handoffs/architecture-diagnosis.md"]
|
|
607
614
|
};
|
|
608
615
|
const CORE_INPUT_ARTIFACTS = {
|
|
@@ -107,7 +107,7 @@ PM may leave this path only through the allowed branches below.
|
|
|
107
107
|
- **Tester Continuation:** If Tester returns \`Test Result: incomplete\`, route Tester again to continue the recorded remaining validation. Do not enter Debug, Diagnosis, or validation-adequacy Gate Review.
|
|
108
108
|
- **Tester Test-Infrastructure Repair:** If Tester returns \`Test Result: fail\` with \`Test Infrastructure Status: repair-required\`, route Tester to repair and commit the confined test-infrastructure defect, rerun required validation, and replace \`test-report.md\`. Do not enter Architect Debug while this Tester-owned repair remains available.
|
|
109
109
|
- **Tester Failure:** If Tester returns \`Test Result: fail\` with \`Test Infrastructure Status: none\`, \`repaired\`, or \`production-change-required\`, suspend the main flow and enter Architect Debug Branch.
|
|
110
|
-
- **Validation Revision:** If the validation-adequacy Gate returns \`request_changes\`, route the complete report to Tester. Tester must correct the tests or evidence, rerun required validation, commit tracked Tester-owned changes, and replace \`test-report.md\` before PM reruns the Gate. If corrected validation returns \`fail\`, apply Tester Test-Infrastructure Repair or Tester Failure from that result.
|
|
110
|
+
- **Validation Revision:** If the validation-adequacy Gate returns \`request_changes\`, route the complete report to Tester. Tester must correct the tests or evidence, rerun required validation, commit tracked Tester-owned changes, and replace \`test-report.md\` before PM reruns the Gate. If corrected validation returns \`fail\`, apply Tester Test-Infrastructure Repair or Tester Failure from that result. When the Gate reviewed \`Test Result: fail\` without a user-approved Coverage Gap and its findings are not Tester-owned, such as an unresolved production cause, apply Tester Failure with the complete report instead of routing Tester.
|
|
111
111
|
- **Tester Code-Diff Correction:** If every code-diff finding has \`Finding Scope: test-only\`, route the complete report to Tester. After correction, repeat Tester validation, validation-adequacy Gate, and \`code-diff --source coder\`.
|
|
112
112
|
- **Docs Code-Diff Correction:** If every code-diff finding has \`Finding Scope: docs-only\`, or the findings are only \`docs-only\` and \`test-only\`, route the complete report to Architect to correct the docs first, then rerun the code-diff Gate with the same \`--source\`; the rerun reviews the doc commits incrementally and routes any remaining \`test-only\` finding to Tester. A docs-only correction does not repeat Tester validation or the validation-adequacy Gate.
|
|
113
113
|
- **Docs Coverage Correction:** If the code-diff Gate returns \`failed_to_start\` with a message that starts with \`Docs coverage check failed:\`, route the message to Architect to update the owning docs of the listed modules, then rerun the code-diff Gate with the same \`--source\`.
|
|
@@ -173,7 +173,7 @@ Architect updates the owning architecture docs in the same commits as any fix th
|
|
|
173
173
|
- **Tester Continuation:** If Tester returns \`Test Result: incomplete\`, route Tester again to continue the recorded remaining validation.
|
|
174
174
|
- **Tester Test-Infrastructure Repair:** If Tester returns \`Test Result: fail\` with \`Test Infrastructure Status: repair-required\`, route Tester to repair and commit the confined test-infrastructure defect, rerun required validation, and replace \`test-report.md\`.
|
|
175
175
|
- **Architecture Diagnosis:** If Tester returns \`Test Result: fail\` with \`Test Infrastructure Status: none\`, \`repaired\`, or \`production-change-required\`, enter Architecture Diagnosis Branch.
|
|
176
|
-
- **Validation Revision:** If the validation-adequacy Gate returns \`request_changes\`, route the complete report to Tester. After Tester corrects tests or evidence, reruns validation, commits tracked Tester-owned changes, and replaces \`test-report.md\`, rerun the Gate.
|
|
176
|
+
- **Validation Revision:** If the validation-adequacy Gate returns \`request_changes\`, route the complete report to Tester. After Tester corrects tests or evidence, reruns validation, commits tracked Tester-owned changes, and replaces \`test-report.md\`, rerun the Gate. When the Gate reviewed \`Test Result: fail\` without a user-approved Coverage Gap and its findings are not Tester-owned, such as an unresolved production cause, enter Architecture Diagnosis Branch with the complete report instead of routing Tester.
|
|
177
177
|
- **Tester Code-Diff Correction:** If every code-diff finding has \`Finding Scope: test-only\`, route the complete report to Tester. After correction, repeat Tester validation, validation-adequacy Gate, and \`code-diff --source architect-debug\`.
|
|
178
178
|
- **Docs Code-Diff Correction:** If the code-diff findings are only \`docs-only\` (or \`docs-only\` and \`test-only\`), or the Gate fails to start with \`Docs coverage check failed:\`, route the report or message to Architect to correct the docs, then rerun \`code-diff --source architect-debug\`.
|
|
179
179
|
- **User-Approved Post-Validation Work:** After Tester returns \`pass\` and the validation-adequacy and code-diff Gates succeed, the user may explicitly approve additional Tester-owned work. Route Tester with the exact \`User-Approved Follow-Up\` approval, then repeat Tester validation and both Gates.
|
|
@@ -6,19 +6,23 @@ Use this skill when Architect must establish symbol definitions, implementations
|
|
|
6
6
|
## Navigation Order
|
|
7
7
|
|
|
8
8
|
1. Define the affected feature or module boundary and locate entry symbols with \`.ai/generated/module-index.json\` and \`.ai/generated/public-surface.json\` when available.
|
|
9
|
-
2.
|
|
10
|
-
3.
|
|
11
|
-
4.
|
|
12
|
-
5. Read the complete project-owned callable unit at every
|
|
9
|
+
2. Locate each definition with an exact source-text search for its declaration form in the project language, such as \`fn name\`, \`struct Name\`, \`trait Name\`, \`impl Trait for\`, \`class Name\`, or \`def name\`. Read the complete declaration.
|
|
10
|
+
3. Find references with exact searches over the whole project source tree, excluding only build output, dependency, and generated directories. Search every spelling that can reach the symbol: direct calls, method calls, path-qualified uses, imports and re-exports, renaming imports and aliases, macro invocations, and string or configuration names used for dispatch or registration.
|
|
11
|
+
4. Treat each search as symbol-name evidence, not semantic evidence. An accessor, backing field, trait declaration, implementation method, wrapper, and alias are separate symbols; search each one. For a trait or interface item, search its implementations and every call through the trait, generic bound, or dynamic dispatch.
|
|
12
|
+
5. Read the complete project-owned callable unit at every match and classify the match as a relationship, a same-name unrelated symbol, a comment, or a test. Common names such as \`new\`, \`get\`, or \`run\` need the enclosing type or module to classify each match.
|
|
13
13
|
6. Expand one project-owned dependency hop at a time until the required behavior path has no unresolved symbol.
|
|
14
|
-
7.
|
|
15
|
-
|
|
14
|
+
7. Use Glob, generated context, architecture documents, and runtime evidence to locate dynamic registrations, configuration or string edges, macros, documentation, and external boundaries.
|
|
15
|
+
|
|
16
|
+
## Completeness
|
|
17
|
+
|
|
18
|
+
- A relationship set is complete only when every search that could reach it was run and every match was read and classified.
|
|
19
|
+
- Search results cannot see identifiers produced by macros or code generation, code excluded by configuration such as disabled features or platform conditions, or calls through values whose concrete type is decided at runtime. When one of these can reach the symbol, read the generator, configuration, or dispatch site and record the limitation.
|
|
20
|
+
- When a match cannot be classified from the code, record the relationship as unresolved instead of assuming either answer.
|
|
16
21
|
|
|
17
22
|
## Evidence
|
|
18
23
|
|
|
19
|
-
- Record each
|
|
20
|
-
-
|
|
21
|
-
- If LSP is unavailable or cannot resolve a required project-owned relationship, record that limitation and leave the relationship unresolved.
|
|
24
|
+
- Record each relationship with its source: the exact search pattern and scope with every match dispositioned, runtime evidence, an external boundary, or a generated boundary.
|
|
25
|
+
- If an expected relationship is missing from a search that should reach it, recheck the spellings and scope before concluding the relationship is absent.
|
|
22
26
|
- Generated indexes and architecture docs locate likely code; reading current-worktree implementation establishes behavior.
|
|
23
27
|
|
|
24
28
|
## Context Boundary
|