@c4a/context-cli 0.7.25 → 0.7.29

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.
Files changed (27) hide show
  1. package/cli.js +59 -41
  2. package/indexers/contracts/profile-contract.json +245 -245
  3. package/indexers/release-manifest.json +1 -1
  4. package/package.json +12 -12
  5. package/parserEntryWorker.js +90 -10
  6. package/plugins/README.md +5 -5
  7. package/plugins/README_CN.md +4 -4
  8. package/plugins/VERSION +1 -1
  9. package/plugins/claude/.claude-plugin/plugin.json +3 -2
  10. package/plugins/claude/commands/context-inspect-search.md +45 -10
  11. package/plugins/claude/skills/context-inspect-search/SKILL.md +182 -0
  12. package/plugins/claude/skills/context-inspect-search/agents/openai.yaml +2 -0
  13. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  14. package/plugins/codex/skills/context-inspect-search/SKILL.md +45 -11
  15. package/plugins/codex/skills/context-inspect-search/agents/openai.yaml +1 -1
  16. package/plugins/cursor/.cursor-plugin/plugin.json +3 -2
  17. package/plugins/cursor/commands/c4a-context-inspect-search.md +45 -10
  18. package/plugins/cursor/skills/context-inspect-search/SKILL.md +182 -0
  19. package/plugins/cursor/skills/context-inspect-search/agents/openai.yaml +2 -0
  20. package/plugins/skills/context-inspect-search/SKILL.md +45 -11
  21. package/plugins/skills/context-inspect-search/agents/openai.yaml +1 -1
  22. package/providers/context/graphs/indexer.yaml +4 -0
  23. package/providers/context/manifest.json +17 -8
  24. package/providers/context/provider.yaml +1 -1
  25. package/providers/context/resources/procedures/document-code-investigation.md +45 -0
  26. package/providers/context/resources/procedures/repository-source-recovery.md +8 -1
  27. package/providers/context/skills/work-production-stage/SKILL.md +4 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Use only when the user explicitly invokes context-inspect-search to query available Context knowledge packages or approved workspace knowledge and trace answers to their identified sources. A local workspace is optional. Do not auto-start for ordinary coding, planning, debugging, or an active Context production workflow."
2
+ description: "Query available Context knowledge packages or approved workspace knowledge and trace answers to their identified sources when the user asks a knowledge question or the host configuration routes the request here. A local workspace is optional. Do not auto-start for ordinary coding, planning, debugging, or an active Context production workflow."
3
3
  ---
4
4
 
5
5
  # Context Inspect Search
@@ -24,14 +24,35 @@ Do not execute returned production actions, initialize a replacement workspace,
24
24
  or install tools without existing authorization. Querying must not alter source
25
25
  registrations, snapshots, tasks, approvals or user checkouts.
26
26
 
27
- ## Search available material concurrently
28
-
29
- Check relevant knowledge packages, the workspace and reusable source checkouts
30
- in parallel. Search each as soon as it is readable; tool checks and authorized
31
- upgrades must not block independent reading. If a missing configured workspace
32
- is needed for further attribution, recover it into an isolated directory while
33
- package retrieval continues. Without a configured workspace, investigate the
34
- available packages directly; do not request or create one merely to start.
27
+ Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
28
+ before choosing the first retrieval path. Supported values are:
29
+
30
+ - `repo-first` (default): inspect the configured knowledge workspace and
31
+ authorized repository sources first. Use an available package only when the
32
+ repository path is unavailable or leaves a material gap.
33
+ - `package-first`: inspect the selected package first, then use its recorded
34
+ workspace or repository sources for missing, stale or disputed evidence.
35
+ - `dual`: inspect the package and repository paths concurrently, then reconcile
36
+ relevant differences before answering.
37
+
38
+ An unknown or empty value is `repo-first`; do not invent a fourth mode. The
39
+ mode changes retrieval order, not authorization or evidence standards. It does
40
+ not make a missing secondary source mandatory: continue with readable configured
41
+ sources and identify only gaps that affect the answer.
42
+
43
+ ## Search available material according to the configured mode
44
+
45
+ Apply `CONTEXT_QUERY_SOURCE_MODE` before starting retrieval. In `repo-first`,
46
+ start with the configured workspace and reusable source checkouts; do not fetch
47
+ or install a package merely to begin the query. In `package-first`, start with
48
+ the selected readable package. In `dual`, start both paths concurrently. Search
49
+ each selected path as soon as it is readable; tool checks and authorized
50
+ upgrades must not block independent reading. If a configured primary path is
51
+ missing, continue with the readable fallback instead of stopping. If a missing
52
+ configured workspace is needed for further attribution, recover it into an
53
+ isolated directory while other selected retrieval continues. Without a
54
+ configured workspace, investigate available packages directly; do not request
55
+ or create one merely to start.
35
56
 
36
57
  A knowledge package may be workspace build output (usually `dist/`), a global
37
58
  installation, or an equivalent host-provided directory. Locate it from available
@@ -117,7 +138,21 @@ not prove a historical snapshot.
117
138
 
118
139
  ## Answer with evidence and hand off updates
119
140
 
120
- Lead with the conclusion and a concise evidence chain. Distinguish implementation,
141
+ Answer the user's question directly, keeping conditions that change the conclusion
142
+ beside it. For complex questions, explain the mechanism that determines the result,
143
+ not just the verdict and source links. Explain its practical meaning before using
144
+ a short code excerpt or concrete rule when that helps the reader verify or act.
145
+ Keep decisive evidence beside the claim it supports; separate supplementary facts
146
+ from the proof. State where a local rule applies rather than generalizing it to
147
+ the whole system, and do not infer presentation or behavior from data retrieval
148
+ alone without checking the controlling logic.
149
+
150
+ Adapt depth and structure to the question: keep simple answers short; use short
151
+ headings and, where supported, separators between major semantic sections in
152
+ longer answers. Do not impose a fixed outline, separate every paragraph, repeat
153
+ the conclusion, or remove necessary explanation just to shorten the answer.
154
+ Keep conditions affecting the answer prominent and supplementary reading secondary.
155
+ Distinguish implementation,
121
156
  declared contracts, test assertions, runtime observations and inferences. Perform
122
157
  bounded non-destructive validation only when useful; inspect its effects first
123
158
  and do not run unrelated scripts, builds or tests.
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: context-inspect-search
3
+ description: Query available Context knowledge packages or approved workspace knowledge and trace answers to their identified sources when the user asks a knowledge question or the host configuration routes the request here. A local workspace is optional. Do not auto-start for ordinary coding, planning, debugging, or an active Context production workflow.
4
+ ---
5
+
6
+ # Context Inspect Search
7
+
8
+ ## Entry and boundaries
9
+
10
+ Use on explicit invocation and related follow-up questions; use the conversation
11
+ language. The invocation authorizes read-only investigation of the selected
12
+ knowledge packages, available workspace and identified sources within that scope,
13
+ including isolated source retrieval and bounded non-destructive checks. The Skill
14
+ can run from a global installation with host-provided packages and no workspace.
15
+ Resolve scope from the request, conversation and configuration before asking.
16
+ Continue through non-blocking issues; ask only for missing access, genuinely
17
+ unresolved scope or effects outside existing authorization.
18
+
19
+ Start from the supplied package locations or workspace configuration. If a
20
+ workspace exists, read its `AGENTS.md` and relevant configuration;
21
+ `context entry [project-dir] --format json` may help locate instructions.
22
+ Neither a workspace nor a working Context CLI is required for package retrieval;
23
+ do not call entry in an arbitrary directory just to satisfy a prerequisite.
24
+ Do not execute returned production actions, initialize a replacement workspace,
25
+ or install tools without existing authorization. Querying must not alter source
26
+ registrations, snapshots, tasks, approvals or user checkouts.
27
+
28
+ Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
+ before choosing the first retrieval path. Supported values are:
30
+
31
+ - `repo-first` (default): inspect the configured knowledge workspace and
32
+ authorized repository sources first. Use an available package only when the
33
+ repository path is unavailable or leaves a material gap.
34
+ - `package-first`: inspect the selected package first, then use its recorded
35
+ workspace or repository sources for missing, stale or disputed evidence.
36
+ - `dual`: inspect the package and repository paths concurrently, then reconcile
37
+ relevant differences before answering.
38
+
39
+ An unknown or empty value is `repo-first`; do not invent a fourth mode. The
40
+ mode changes retrieval order, not authorization or evidence standards. It does
41
+ not make a missing secondary source mandatory: continue with readable configured
42
+ sources and identify only gaps that affect the answer.
43
+
44
+ ## Search available material according to the configured mode
45
+
46
+ Apply `CONTEXT_QUERY_SOURCE_MODE` before starting retrieval. In `repo-first`,
47
+ start with the configured workspace and reusable source checkouts; do not fetch
48
+ or install a package merely to begin the query. In `package-first`, start with
49
+ the selected readable package. In `dual`, start both paths concurrently. Search
50
+ each selected path as soon as it is readable; tool checks and authorized
51
+ upgrades must not block independent reading. If a configured primary path is
52
+ missing, continue with the readable fallback instead of stopping. If a missing
53
+ configured workspace is needed for further attribution, recover it into an
54
+ isolated directory while other selected retrieval continues. Without a
55
+ configured workspace, investigate available packages directly; do not request
56
+ or create one merely to start.
57
+
58
+ A knowledge package may be workspace build output (usually `dist/`), a global
59
+ installation, or an equivalent host-provided directory. Locate it from available
60
+ configuration or installation metadata rather than assuming a fixed path.
61
+ Select packages relevant to the question. Follow their bundled query Skill when
62
+ present; otherwise search readable indexes and pages. Missing Skills or build
63
+ inventories do not block retrieval or justify rebuilding. If a needed package is
64
+ missing, use the host's configured, authorized package retrieval mechanism while
65
+ other reading continues. Only check or prepare tools needed for the next actual
66
+ operation; installation failure does not block independent local retrieval.
67
+
68
+ For gaps or latest-content questions, also search approved knowledge when a workspace is available:
69
+ use `knowledge/structure.yaml` and relevant `knowledge/` paths, trying business
70
+ terms, symbols and synonyms, then read matching sections in context. Delivered
71
+ content may lag approved knowledge; they are not independent corroboration.
72
+ Candidates and temporary reports are not approved pages. A search miss does not
73
+ prove a capability is absent. Do not build merely to answer a query; a separately
74
+ authorized build must follow its own workflow without advancing unrelated work.
75
+
76
+ When package or approved knowledge leaves a gap, directly trace relevant sources
77
+ without asking whether to deepen the query. Use available document, code-search
78
+ or extraction tools within the authorized scope, recording source identity and
79
+ version. Prepare sources while continuing other reading.
80
+ One failed source blocks only dependent claims. Answer when evidence is
81
+ sufficient, without completing unnecessary preparation.
82
+
83
+ ## Trace and retrieve only relevant sources
84
+
85
+ Without a workspace, use explicit source references in the package, its metadata
86
+ or user configuration to identify relevant documents or repository paths and
87
+ commits. Read or retrieve those sources directly within scope; the workspace
88
+ registry is not a mandatory intermediate step. If the source identity or version
89
+ cannot be established, retain package-grounded findings and qualify attribution;
90
+ do not invent a repository or equate current source with the package's baseline.
91
+
92
+ When a workspace and `context-build-inventory.json` are available, map a delivered page's
93
+ `dist_path` through `approved_knowledge.files` to its `approved_path`, relative
94
+ to the workspace's `knowledge/` root. Follow the approved page's associations in
95
+ `knowledge/structure.yaml` and `sources/*/index.yaml`. Without a reliable mapping,
96
+ continue package retrieval and follow explicit source references where available.
97
+ Do not guess originals from similar filenames or claim attribution without
98
+ checking the referenced material.
99
+
100
+ Use the repository and recorded commit identified by the package or workspace
101
+ as the source baseline.
102
+ Reuse existing checkouts only after checking remote, commit, module coverage
103
+ and local changes; do not reset them or change their sparse configuration.
104
+ Missing code goes into a reusable query-owned path such as
105
+ `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
106
+ checkouts and production-managed sources. Use safe, credential-free path
107
+ components and the full commit. Verify identity before reuse; never overwrite
108
+ a mismatched directory. Deduplicate recovery and use one writer per checkout;
109
+ that writer may append sparse paths without resetting existing files.
110
+
111
+ Default to lightweight retrieval and sparse checkout:
112
+
113
+ - Use shallow history (`--depth=1`) and deferred contents (`--filter=blob:none`)
114
+ where supported, with a complete partial-clone setup and named promisor remote.
115
+ Configure the sparse scope before checkout and verify the resulting commit.
116
+ - Start from known module paths. If unclear, inspect
117
+ `git ls-tree -r --name-only <commit>` for candidates, then read code to confirm
118
+ their relevance. Expand along imports, calls and service routes as needed;
119
+ deepen history only when needed. A sparse search miss is not a whole-repository miss.
120
+ - Read ready modules while other recovery proceeds. Allow sufficient command
121
+ time (for example 300 seconds or more), but investigate confirmed stalls
122
+ without waiting for timeout; silence alone is not a stall. If unsupported or
123
+ unsuccessful, try caches, commit-specific file retrieval or bounded shallow
124
+ retrieval; use a full clone only when necessary. Do not retry blindly or
125
+ silently substitute the default branch for an unavailable recorded commit.
126
+
127
+ Query retrieval never runs `context source restore`, `task prepare` or production
128
+ capture/recovery actions. Production recovery gates do not block this independent
129
+ inspection. Preserve unavailable-evidence gaps rather than changing production
130
+ state to get past them.
131
+
132
+ Compare relevant baseline files with current code when accessible, including
133
+ relevant local changes. Use actual diffs to assess impact; current code is not a
134
+ substitute for the baseline. Mention a missing comparison only when it limits
135
+ the answer. For documents, notes and sessions, read saved bodies and necessary
136
+ attachments; fetch missing accessible material within scope. A summary is not a
137
+ full transcript, an unread link is not evidence, and current remote content does
138
+ not prove a historical snapshot.
139
+
140
+ ## Answer with evidence and hand off updates
141
+
142
+ Answer the user's question directly, keeping conditions that change the conclusion
143
+ beside it. For complex questions, explain the mechanism that determines the result,
144
+ not just the verdict and source links. Explain its practical meaning before using
145
+ a short code excerpt or concrete rule when that helps the reader verify or act.
146
+ Keep decisive evidence beside the claim it supports; separate supplementary facts
147
+ from the proof. State where a local rule applies rather than generalizing it to
148
+ the whole system, and do not infer presentation or behavior from data retrieval
149
+ alone without checking the controlling logic.
150
+
151
+ Adapt depth and structure to the question: keep simple answers short; use short
152
+ headings and, where supported, separators between major semantic sections in
153
+ longer answers. Do not impose a fixed outline, separate every paragraph, repeat
154
+ the conclusion, or remove necessary explanation just to shorten the answer.
155
+ Keep conditions affecting the answer prominent and supplementary reading secondary.
156
+ Distinguish implementation,
157
+ declared contracts, test assertions, runtime observations and inferences. Perform
158
+ bounded non-destructive validation only when useful; inspect its effects first
159
+ and do not run unrelated scripts, builds or tests.
160
+
161
+ Link material actually read: source files at the inspected commit, knowledge
162
+ website articles and original documents. If no reliable clickable link exists,
163
+ give checkable local paths, symbols and short supporting excerpts with the
164
+ limitation. Do not dump internal reasoning, runtime identifiers or routine
165
+ version comparisons. Explain only differences affecting the answer; hashes may
166
+ appear in source URLs without requiring a separate version audit in the prose.
167
+
168
+ For website links, use `context-site-map.json` from the selected package or
169
+ sibling website output. Match `pages[].package_path` or `approved_path`, and
170
+ resolve `site_path` against `site_url` without prepending `base` again. Cite only
171
+ matched pages, deduplicate links and do not invent anchors. If mapping is absent
172
+ or invalid, retain local citations. Do not build, publish or probe remote sites
173
+ just to format citations; a local map is not proof of the current online content.
174
+
175
+ Suggest a knowledge update only with supporting evidence: identify the affected
176
+ page or gap, proposed change and bounded source scope. Check neighboring content
177
+ before proposing a new page. Only after user acceptance, hand the evidence and
178
+ scope to the installed `context` production Skill in the selected workspace and
179
+ its fresh Route. If no target workspace is known, resolve it at that handoff,
180
+ not as a prerequisite to answering. Do not edit approved knowledge, clear state
181
+ or reuse an earlier revision. If that entry
182
+ is unavailable, provide the handoff and state that no update has started.
@@ -0,0 +1,2 @@
1
+ policy:
2
+ allow_implicit_invocation: true
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: context-inspect-search
3
- description: Use only when the user explicitly invokes context-inspect-search to query available Context knowledge packages or approved workspace knowledge and trace answers to their identified sources. A local workspace is optional. Do not auto-start for ordinary coding, planning, debugging, or an active Context production workflow.
4
- disable-model-invocation: true
3
+ description: Query available Context knowledge packages or approved workspace knowledge and trace answers to their identified sources when the user asks a knowledge question or the host configuration routes the request here. A local workspace is optional. Do not auto-start for ordinary coding, planning, debugging, or an active Context production workflow.
5
4
  ---
6
5
 
7
6
  # Context Inspect Search
@@ -26,14 +25,35 @@ Do not execute returned production actions, initialize a replacement workspace,
26
25
  or install tools without existing authorization. Querying must not alter source
27
26
  registrations, snapshots, tasks, approvals or user checkouts.
28
27
 
29
- ## Search available material concurrently
30
-
31
- Check relevant knowledge packages, the workspace and reusable source checkouts
32
- in parallel. Search each as soon as it is readable; tool checks and authorized
33
- upgrades must not block independent reading. If a missing configured workspace
34
- is needed for further attribution, recover it into an isolated directory while
35
- package retrieval continues. Without a configured workspace, investigate the
36
- available packages directly; do not request or create one merely to start.
28
+ Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
+ before choosing the first retrieval path. Supported values are:
30
+
31
+ - `repo-first` (default): inspect the configured knowledge workspace and
32
+ authorized repository sources first. Use an available package only when the
33
+ repository path is unavailable or leaves a material gap.
34
+ - `package-first`: inspect the selected package first, then use its recorded
35
+ workspace or repository sources for missing, stale or disputed evidence.
36
+ - `dual`: inspect the package and repository paths concurrently, then reconcile
37
+ relevant differences before answering.
38
+
39
+ An unknown or empty value is `repo-first`; do not invent a fourth mode. The
40
+ mode changes retrieval order, not authorization or evidence standards. It does
41
+ not make a missing secondary source mandatory: continue with readable configured
42
+ sources and identify only gaps that affect the answer.
43
+
44
+ ## Search available material according to the configured mode
45
+
46
+ Apply `CONTEXT_QUERY_SOURCE_MODE` before starting retrieval. In `repo-first`,
47
+ start with the configured workspace and reusable source checkouts; do not fetch
48
+ or install a package merely to begin the query. In `package-first`, start with
49
+ the selected readable package. In `dual`, start both paths concurrently. Search
50
+ each selected path as soon as it is readable; tool checks and authorized
51
+ upgrades must not block independent reading. If a configured primary path is
52
+ missing, continue with the readable fallback instead of stopping. If a missing
53
+ configured workspace is needed for further attribution, recover it into an
54
+ isolated directory while other selected retrieval continues. Without a
55
+ configured workspace, investigate available packages directly; do not request
56
+ or create one merely to start.
37
57
 
38
58
  A knowledge package may be workspace build output (usually `dist/`), a global
39
59
  installation, or an equivalent host-provided directory. Locate it from available
@@ -119,7 +139,21 @@ not prove a historical snapshot.
119
139
 
120
140
  ## Answer with evidence and hand off updates
121
141
 
122
- Lead with the conclusion and a concise evidence chain. Distinguish implementation,
142
+ Answer the user's question directly, keeping conditions that change the conclusion
143
+ beside it. For complex questions, explain the mechanism that determines the result,
144
+ not just the verdict and source links. Explain its practical meaning before using
145
+ a short code excerpt or concrete rule when that helps the reader verify or act.
146
+ Keep decisive evidence beside the claim it supports; separate supplementary facts
147
+ from the proof. State where a local rule applies rather than generalizing it to
148
+ the whole system, and do not infer presentation or behavior from data retrieval
149
+ alone without checking the controlling logic.
150
+
151
+ Adapt depth and structure to the question: keep simple answers short; use short
152
+ headings and, where supported, separators between major semantic sections in
153
+ longer answers. Do not impose a fixed outline, separate every paragraph, repeat
154
+ the conclusion, or remove necessary explanation just to shorten the answer.
155
+ Keep conditions affecting the answer prominent and supplementary reading secondary.
156
+ Distinguish implementation,
123
157
  declared contracts, test assertions, runtime observations and inferences. Perform
124
158
  bounded non-destructive validation only when useful; inspect its effects first
125
159
  and do not run unrelated scripts, builds or tests.
@@ -1,2 +1,2 @@
1
1
  policy:
2
- allow_implicit_invocation: false
2
+ allow_implicit_invocation: true
@@ -36,6 +36,10 @@ nodes:
36
36
  kind: action
37
37
  reasonCode: route.production.planning-required
38
38
  action: actions/work-production-stage.yaml
39
+ resources:
40
+ recommended:
41
+ - resources/procedures/document-code-investigation.md
42
+ - resources/procedures/repository-source-recovery.md
39
43
  satisfiedBy:
40
44
  - path: production.planning_complete
41
45
  equals: true
@@ -2,14 +2,14 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.7.25"
5
+ "version": "0.7.29"
6
6
  },
7
7
  "providerManifest": "provider.yaml",
8
8
  "graphs": [
9
9
  {
10
10
  "id": "indexer",
11
11
  "path": "graphs/indexer.yaml",
12
- "digest": "sha256:4992b548a9d19c6d7fd25a5dc0ae6b78a4a494ce39d37633144d389362f21122"
12
+ "digest": "sha256:d52242180fbe1afea09946bb223a698f7e0637f81d619d9245acb74732f2409e"
13
13
  },
14
14
  {
15
15
  "id": "workspace",
@@ -290,6 +290,11 @@
290
290
  "path": "resources/procedures/document-capture.md",
291
291
  "digest": "sha256:9d0d1b9187bbe540a4afffb366cd549385dbf61bfaffa96ae51de848b2dd5460"
292
292
  },
293
+ {
294
+ "id": "procedure.document-code-investigation",
295
+ "path": "resources/procedures/document-code-investigation.md",
296
+ "digest": "sha256:eff8e54b9e1c1139c5df82a0685a365bce902dfb4a19c17e380967ee1c1762f5"
297
+ },
293
298
  {
294
299
  "id": "procedure.homogeneous-source-review",
295
300
  "path": "resources/procedures/homogeneous-source-review.md",
@@ -343,7 +348,7 @@
343
348
  {
344
349
  "id": "procedure.repository-source-recovery",
345
350
  "path": "resources/procedures/repository-source-recovery.md",
346
- "digest": "sha256:024f6e2947ef421b9a5f5e138c9af65a054d676a7f484dbf80b43a620ee2c95d"
351
+ "digest": "sha256:20a8112df985a20481e914a564c64c231218c73c1630d74cd46d72987e54f714"
347
352
  },
348
353
  {
349
354
  "id": "procedure.runtime-event-delivery",
@@ -562,7 +567,7 @@
562
567
  },
563
568
  {
564
569
  "path": "graphs/indexer.yaml",
565
- "digest": "sha256:4992b548a9d19c6d7fd25a5dc0ae6b78a4a494ce39d37633144d389362f21122"
570
+ "digest": "sha256:d52242180fbe1afea09946bb223a698f7e0637f81d619d9245acb74732f2409e"
566
571
  },
567
572
  {
568
573
  "path": "graphs/workspace.yaml",
@@ -570,7 +575,7 @@
570
575
  },
571
576
  {
572
577
  "path": "provider.yaml",
573
- "digest": "sha256:205a4786448c8825b10469fc7eda3b5e9e67caa7a0df528d14709c9c88f985bd"
578
+ "digest": "sha256:0a21f82483186c4fe1f6f450923d0d336300274fb95e2c7ee3569700ba922372"
574
579
  },
575
580
  {
576
581
  "path": "resources/contracts/indexer-provider-guide.yaml",
@@ -692,6 +697,10 @@
692
697
  "path": "resources/procedures/document-capture.md",
693
698
  "digest": "sha256:9d0d1b9187bbe540a4afffb366cd549385dbf61bfaffa96ae51de848b2dd5460"
694
699
  },
700
+ {
701
+ "path": "resources/procedures/document-code-investigation.md",
702
+ "digest": "sha256:eff8e54b9e1c1139c5df82a0685a365bce902dfb4a19c17e380967ee1c1762f5"
703
+ },
695
704
  {
696
705
  "path": "resources/procedures/homogeneous-source-review.md",
697
706
  "digest": "sha256:e9746b45351f3c58f1eca90f786fa5ddef06b19024f4ba5539a0c21e0a1508da"
@@ -734,7 +743,7 @@
734
743
  },
735
744
  {
736
745
  "path": "resources/procedures/repository-source-recovery.md",
737
- "digest": "sha256:024f6e2947ef421b9a5f5e138c9af65a054d676a7f484dbf80b43a620ee2c95d"
746
+ "digest": "sha256:20a8112df985a20481e914a564c64c231218c73c1630d74cd46d72987e54f714"
738
747
  },
739
748
  {
740
749
  "path": "resources/procedures/runtime-event-delivery.md",
@@ -862,12 +871,12 @@
862
871
  },
863
872
  {
864
873
  "path": "skills/work-production-stage/SKILL.md",
865
- "digest": "sha256:b7aa28c032e00f93f67d3c9dc3589cf1513451456f589262e22ad7f73d265de7"
874
+ "digest": "sha256:676289693df57b5887f104d751dd9c8cc73fb1c903e4df7088f110ef6147388a"
866
875
  }
867
876
  ],
868
877
  "graphDependencies": {
869
878
  "indexer": [],
870
879
  "workspace": []
871
880
  },
872
- "digest": "sha256:1632415b812eb5fe95240d1e959d1f598ed060a9b923ba9dfa5dc5d88d02cfce"
881
+ "digest": "sha256:3e0f9fc6f81571381dced3a8d02b20624022183e924c7b99c16430c8924d624d"
873
882
  }
@@ -1,6 +1,6 @@
1
1
  schema: agent-graph.provider.v1
2
2
  id: c4a/context
3
- version: 0.7.25
3
+ version: 0.7.29
4
4
  name: Context workflow
5
5
  description: Internal work contract for Context knowledge workspaces.
6
6
  graphs:
@@ -0,0 +1,45 @@
1
+ ---
2
+ id: procedure.document-code-investigation
3
+ kind: procedure
4
+ mediaType: text/markdown
5
+ ---
6
+
7
+ # Assess code needs during document investigation
8
+
9
+ Register the requested document sources before preparing their article plan.
10
+ Continue authorized document capture even when unrelated registered repositories
11
+ are unavailable. Existing workspace coverage does not select the current task's
12
+ code dependencies.
13
+
14
+ After reading outlines, representative bodies and related approved articles,
15
+ group the reader topics and assess whether code investigation is needed before
16
+ submitting the plan and work-start report. Large collections can be investigated
17
+ in batches while capture continues. If the expected production plan exceeds 30
18
+ article tasks, explicitly perform this assessment before bulk writing. This is
19
+ Agent guidance, not a CLI validation threshold. Wiki nodes, documents and article
20
+ tasks are different counts; more than 30 document nodes calls for early batched
21
+ investigation, not an assumption of 30 articles or automatic repository recovery.
22
+
23
+ Code evidence is useful when the reader task requires implementation behavior,
24
+ call chains, interface constraints or debugging entry points, or when incomplete
25
+ or conflicting documents require checking code. Explicit file, symbol or API
26
+ references strengthen that assessment. A repository link or service name alone
27
+ does not establish a dependency. Keep document-supported topics independent.
28
+
29
+ Use existing plan briefs or report prose to explain which reader questions need
30
+ which registered modules and why; no separate assessment receipt, score or
31
+ required schema field is needed. If code is needed, inspect its availability with
32
+ `context source recovery-plan <registered-name> --format json`. Follow
33
+ [repository source recovery](repository-source-recovery.md), reusing applicable
34
+ authorization and local checkouts. Prefer the smallest sufficient registered
35
+ module scope. Expand to a shared physical checkout or whole repository when
36
+ cross-module calls, common dependencies or uncertain boundaries require it;
37
+ do not substitute a different remote or pinned commit.
38
+
39
+ If recovery is unavailable, continue independent document tasks. Keep questions
40
+ requiring unread code pending, or narrow the article to supported document
41
+ claims and explain its limits. Do not present inferred implementation as verified
42
+ code, delete configured sources, or clear a stage to bypass unavailable evidence.
43
+ After recovery, follow its returned preparation command and current task handles;
44
+ retain accepted work instead of restarting the task. Reassess code needs when
45
+ later reading exposes a dependency that the initial sample did not show.
@@ -17,7 +17,9 @@ remote and pinned commit, so one physical checkout can restore every module in
17
17
  that group. Do not create one clone per module. Groups already marked `ready`
18
18
  need no decision; when every group is ready, the plan has no recovery action.
19
19
 
20
- For each missing physical checkout, ask the user to choose one option:
20
+ For each missing physical checkout, reuse an applicable choice and authorization
21
+ already supplied in the current task. If the recovery choice is unresolved, ask
22
+ the user to choose one option:
21
23
 
22
24
  1. provide an existing local Git checkout;
23
25
  2. name a bounded directory that the Agent may scan, then choose one of the
@@ -43,3 +45,8 @@ Repository sources are ready only when every selected module resolves to the
43
45
  registered remote and pinned commit, every registered subpath exists, no local
44
46
  path was overwritten, Context materialization succeeds, and the selected recovery
45
47
  plan reports them ready.
48
+
49
+ Recovery failure does not stop unrelated document capture or independent article
50
+ tasks. Preserve pending code-dependent questions and follow the returned recovery
51
+ diagnostic. After a successful restore, follow `next_action` to refresh affected
52
+ production material; keep accepted articles and use the newly returned handles.
@@ -19,6 +19,10 @@ where needed to decide reader topics, source grouping and writing batches.
19
19
  Indexer guidance discovers a skeleton, not a mandatory deep parse or a ledger
20
20
  of every symbol. Declare relevant available skills and record planned uses;
21
21
  do not collect skill hashes, versions or article ownership credentials.
22
+ After reading representative documents and grouping reader topics, apply
23
+ [document and code investigation guidance](../../resources/procedures/document-code-investigation.md)
24
+ before submitting the article plan. Revisit it when new implementation questions
25
+ appear during writing. This assessment adds no approval gate or required field.
22
26
  Submit the plan before presenting the work-start report. Planning does not
23
27
  authorize writing or approve the report.
24
28