@c4a/context-cli 0.7.29 → 0.7.34

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "protocol": "context.indexer.cli-release-manifest/v1",
3
3
  "package": "@c4a/context-cli",
4
- "version": "0.7.29",
4
+ "version": "0.7.34",
5
5
  "issuer": "context4ai/context",
6
6
  "bundles": [
7
7
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c4a/context-cli",
3
- "version": "0.7.29",
3
+ "version": "0.7.34",
4
4
  "type": "module",
5
5
  "description": "Local runtime and Agent integration for traceable knowledge production",
6
6
  "license": "MIT",
@@ -24,17 +24,17 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@c4a/agent-graph": "0.3.0",
27
- "@c4a/context": "0.7.29",
28
- "@c4a/extract": "0.7.29",
29
- "@c4a/extract-contract": "0.7.29",
30
- "@c4a/extract-go": "0.7.29",
31
- "@c4a/extract-mdx": "0.7.29",
32
- "@c4a/extract-proto": "0.7.29",
33
- "@c4a/extract-rush": "0.7.29",
34
- "@c4a/extract-sql": "0.7.29",
35
- "@c4a/extract-style": "0.7.29",
36
- "@c4a/extract-thrift": "0.7.29",
37
- "@c4a/extract-ts": "0.7.29",
27
+ "@c4a/context": "0.7.34",
28
+ "@c4a/extract": "0.7.34",
29
+ "@c4a/extract-contract": "0.7.34",
30
+ "@c4a/extract-go": "0.7.34",
31
+ "@c4a/extract-mdx": "0.7.34",
32
+ "@c4a/extract-proto": "0.7.34",
33
+ "@c4a/extract-rush": "0.7.34",
34
+ "@c4a/extract-sql": "0.7.34",
35
+ "@c4a/extract-style": "0.7.34",
36
+ "@c4a/extract-thrift": "0.7.34",
37
+ "@c4a/extract-ts": "0.7.34",
38
38
  "@mermaid-js/layout-elk": "0.2.0",
39
39
  "commander": "^11.0.0",
40
40
  "fast-xml-parser": "^5.10.1",
package/plugins/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.29
1
+ 0.7.34
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
4
- "version": "0.7.29",
4
+ "version": "0.7.34",
5
5
  "author": {
6
6
  "name": "c4a"
7
7
  },
@@ -13,6 +13,11 @@ language. The invocation authorizes read-only investigation of the selected
13
13
  knowledge packages, available workspace and identified sources within that scope,
14
14
  including isolated source retrieval and bounded non-destructive checks. The Skill
15
15
  can run from a global installation with host-provided packages and no workspace.
16
+ The ordinary query path is contained in this file. Reuse instructions already
17
+ read in this response; do not reopen them for each stage. When actual delivery
18
+ requires separate host link or response Skills, read their still-unread main
19
+ instructions together once, and open conditional references only for the case
20
+ being handled. Do not prepare delivery that the host's progress mode skips.
16
21
  Resolve scope from the request, conversation and configuration before asking.
17
22
  Continue through non-blocking issues; ask only for missing access, genuinely
18
23
  unresolved scope or effects outside existing authorization.
@@ -29,9 +34,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
29
34
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
30
35
  before choosing the first retrieval path. Supported values are:
31
36
 
32
- - `repo-first` (default): inspect the configured knowledge workspace and
33
- authorized repository sources first. Use an available package only when the
34
- repository path is unavailable or leaves a material gap.
37
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
38
+ workspace first; trace authorized original sources only for material gaps.
39
+ Use an available package when approved knowledge is unavailable.
35
40
  - `package-first`: inspect the selected package first, then use its recorded
36
41
  workspace or repository sources for missing, stale or disputed evidence.
37
42
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -45,8 +50,10 @@ sources and identify only gaps that affect the answer.
45
50
  ## Search available material according to the configured mode
46
51
 
47
52
  Apply `CONTEXT_QUERY_SOURCE_MODE` before starting retrieval. In `repo-first`,
48
- start with the configured workspace and reusable source checkouts; do not fetch
49
- or install a package merely to begin the query. In `package-first`, start with
53
+ start with approved knowledge, not original-code checkout preparation. With
54
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
55
+ packages: distribution output is not a query prerequisite. An explicit request
56
+ to investigate delivered content is an exception. In `package-first`, start with
50
57
  the selected readable package. In `dual`, start both paths concurrently. Search
51
58
  each selected path as soon as it is readable; tool checks and authorized
52
59
  upgrades must not block independent reading. If a configured primary path is
@@ -66,9 +73,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
66
73
  other reading continues. Only check or prepare tools needed for the next actual
67
74
  operation; installation failure does not block independent local retrieval.
68
75
 
69
- For gaps or latest-content questions, also search approved knowledge when a workspace is available:
70
- use `knowledge/structure.yaml` and relevant `knowledge/` paths, trying business
71
- terms, symbols and synonyms, then read matching sections in context. Delivered
76
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
77
+ then read matching sections in context; use `knowledge/structure.yaml` when
78
+ navigation or associations are needed, not as an exhaustive preflight. In
79
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
80
+ questions in delivered material. Delivered
72
81
  content may lag approved knowledge; they are not independent corroboration.
73
82
  Candidates and temporary reports are not approved pages. A search miss does not
74
83
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -78,8 +87,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
78
87
  without asking whether to deepen the query. Use available document, code-search
79
88
  or extraction tools within the authorized scope, recording source identity and
80
89
  version. Prepare sources while continuing other reading.
81
- One failed source blocks only dependent claims. Answer when evidence is
82
- sufficient, without completing unnecessary preparation.
90
+ One failed source blocks only dependent claims. If the read knowledge supports
91
+ the requested conclusion, its conditions and scope, answer without restoring
92
+ code or checking every associated source. Missing mechanisms, conflicting facts
93
+ or unsupported current-behavior claims still require targeted investigation;
94
+ an article title, search snippet or unread citation is not sufficient evidence.
83
95
 
84
96
  ## Trace and retrieve only relevant sources
85
97
 
@@ -90,18 +102,23 @@ registry is not a mandatory intermediate step. If the source identity or version
90
102
  cannot be established, retain package-grounded findings and qualify attribution;
91
103
  do not invent a repository or equate current source with the package's baseline.
92
104
 
93
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
105
+ Only when tracing a delivered page and a build inventory is already available, map its
94
106
  `dist_path` through `approved_knowledge.files` to its `approved_path`, relative
95
- to the workspace's `knowledge/` root. Follow the approved page's associations in
96
- `knowledge/structure.yaml` and `sources/*/index.yaml`. Without a reliable mapping,
107
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
108
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
109
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
97
110
  continue package retrieval and follow explicit source references where available.
98
111
  Do not guess originals from similar filenames or claim attribution without
99
112
  checking the referenced material.
100
113
 
101
114
  Use the repository and recorded commit identified by the package or workspace
102
115
  as the source baseline.
103
- Reuse existing checkouts only after checking remote, commit, module coverage
104
- and local changes; do not reset them or change their sparse configuration.
116
+ Before reusing a checkout for source reads, group checks of remote, commit,
117
+ module coverage and local changes. Reuse those findings within this response
118
+ instead of checking again before each search or file read. Recheck affected
119
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
120
+ concurrent edits; do not treat a previous response's checks as current. Do not
121
+ reset user checkouts or change their sparse configuration.
105
122
  Missing code goes into a reusable query-owned path such as
106
123
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
107
124
  checkouts and production-managed sources. Use safe, credential-free path
@@ -130,10 +147,24 @@ capture/recovery actions. Production recovery gates do not block this independen
130
147
  inspection. Preserve unavailable-evidence gaps rather than changing production
131
148
  state to get past them.
132
149
 
133
- Compare relevant baseline files with current code when accessible, including
134
- relevant local changes. Use actual diffs to assess impact; current code is not a
135
- substitute for the baseline. Mention a missing comparison only when it limits
136
- the answer. For documents, notes and sessions, read saved bodies and necessary
150
+ Batch independent searches and related file reads once paths are known, such as
151
+ the entrypoint, state update and controlling render logic for one mechanism.
152
+ Read enough surrounding context and follow unresolved imports or calls; batching
153
+ must not truncate decisive evidence or turn a partial read into a complete audit.
154
+ Reuse already read evidence rather than rereading it to prepare each tool call.
155
+
156
+ Let evidence sufficiency determine whether a version comparison is needed.
157
+ When the available knowledge or identified baseline code resolves the question,
158
+ answer without fetching the default branch, recovering a second checkout or
159
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
160
+ conflicting evidence, suspected changes or an explicit version-comparison request
161
+ makes it useful. A question about current behavior requires judging whether the
162
+ available evidence supports that claim, not automatically comparing every branch.
163
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
164
+ with a verified live deployment. When comparing, use actual relevant diffs,
165
+ including relevant local changes; current code is not a substitute for the baseline.
166
+ Mention a missing comparison only when it limits the answer.
167
+ For documents, notes and sessions, read saved bodies and necessary
137
168
  attachments; fetch missing accessible material within scope. A summary is not a
138
169
  full transcript, an unread link is not evidence, and current remote content does
139
170
  not prove a historical snapshot.
@@ -158,6 +189,10 @@ Distinguish implementation,
158
189
  declared contracts, test assertions, runtime observations and inferences. Perform
159
190
  bounded non-destructive validation only when useful; inspect its effects first
160
191
  and do not run unrelated scripts, builds or tests.
192
+ Do not turn a symbolic constant or version-like name into a numeric value without
193
+ checking its actual imported definition at the inspected revision. A mock value
194
+ is not the production definition. Keep the symbol when its numeric value is not
195
+ needed; verify the value when the user's concrete boundary depends on it.
161
196
 
162
197
  Link material actually read: source files at the inspected commit, knowledge
163
198
  website articles and original documents. If no reliable clickable link exists,
@@ -166,13 +201,34 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
166
201
  version comparisons. Explain only differences affecting the answer; hashes may
167
202
  appear in source URLs without requiring a separate version audit in the prose.
168
203
 
169
- For website links, use `context-site-map.json` from the selected package or
170
- sibling website output. Match `pages[].package_path` or `approved_path`, and
204
+ Collect citation targets after the relevant evidence is established and resolve
205
+ them in one batch using the host's existing link resolver when available. Reuse
206
+ known workspace, repository and site parameters; do not rediscover them per link.
207
+ Include knowledge pages and original-source locations in that same batch. For
208
+ each source file, retain the actual inspected repository, full commit, path and
209
+ line range from the investigation; a recorded source reference alone may resolve
210
+ to an older baseline. Pass the inspected commit through the resolver's supported
211
+ contract, or supply a verified commit-specific URL when needed. Never first
212
+ resolve baseline links and then replace them with branch-head links merely as a
213
+ formatting step. If the revision cannot be established, state the attribution
214
+ limit rather than silently substituting another commit. Resolution formats
215
+ citations; it does not prove file contents, accessibility or live deployment.
216
+ If later evidence adds targets, resolve only those missing from the results.
217
+ Without a host resolver, use an already available `context-site-map.json` from
218
+ the selected package or website output. Do not search for `dist/` merely to
219
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
171
220
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
172
221
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
173
222
  or invalid, retain local citations. Do not build, publish or probe remote sites
174
223
  just to format citations; a local map is not proof of the current online content.
175
224
 
225
+ Once the requested questions are supported or genuinely unavailable evidence is
226
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
227
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
228
+ exceptions, citations and verification limits; fewer preparation steps must not
229
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
230
+ still apply, without repeating the completed investigation.
231
+
176
232
  Suggest a knowledge update only with supporting evidence: identify the affected
177
233
  page or gap, proposed change and bounded source scope. Check neighboring content
178
234
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -12,6 +12,11 @@ language. The invocation authorizes read-only investigation of the selected
12
12
  knowledge packages, available workspace and identified sources within that scope,
13
13
  including isolated source retrieval and bounded non-destructive checks. The Skill
14
14
  can run from a global installation with host-provided packages and no workspace.
15
+ The ordinary query path is contained in this file. Reuse instructions already
16
+ read in this response; do not reopen them for each stage. When actual delivery
17
+ requires separate host link or response Skills, read their still-unread main
18
+ instructions together once, and open conditional references only for the case
19
+ being handled. Do not prepare delivery that the host's progress mode skips.
15
20
  Resolve scope from the request, conversation and configuration before asking.
16
21
  Continue through non-blocking issues; ask only for missing access, genuinely
17
22
  unresolved scope or effects outside existing authorization.
@@ -28,9 +33,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
28
33
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
34
  before choosing the first retrieval path. Supported values are:
30
35
 
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.
36
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
37
+ workspace first; trace authorized original sources only for material gaps.
38
+ Use an available package when approved knowledge is unavailable.
34
39
  - `package-first`: inspect the selected package first, then use its recorded
35
40
  workspace or repository sources for missing, stale or disputed evidence.
36
41
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -44,8 +49,10 @@ sources and identify only gaps that affect the answer.
44
49
  ## Search available material according to the configured mode
45
50
 
46
51
  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
52
+ start with approved knowledge, not original-code checkout preparation. With
53
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
54
+ packages: distribution output is not a query prerequisite. An explicit request
55
+ to investigate delivered content is an exception. In `package-first`, start with
49
56
  the selected readable package. In `dual`, start both paths concurrently. Search
50
57
  each selected path as soon as it is readable; tool checks and authorized
51
58
  upgrades must not block independent reading. If a configured primary path is
@@ -65,9 +72,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
65
72
  other reading continues. Only check or prepare tools needed for the next actual
66
73
  operation; installation failure does not block independent local retrieval.
67
74
 
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
75
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
76
+ then read matching sections in context; use `knowledge/structure.yaml` when
77
+ navigation or associations are needed, not as an exhaustive preflight. In
78
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
79
+ questions in delivered material. Delivered
71
80
  content may lag approved knowledge; they are not independent corroboration.
72
81
  Candidates and temporary reports are not approved pages. A search miss does not
73
82
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -77,8 +86,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
77
86
  without asking whether to deepen the query. Use available document, code-search
78
87
  or extraction tools within the authorized scope, recording source identity and
79
88
  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.
89
+ One failed source blocks only dependent claims. If the read knowledge supports
90
+ the requested conclusion, its conditions and scope, answer without restoring
91
+ code or checking every associated source. Missing mechanisms, conflicting facts
92
+ or unsupported current-behavior claims still require targeted investigation;
93
+ an article title, search snippet or unread citation is not sufficient evidence.
82
94
 
83
95
  ## Trace and retrieve only relevant sources
84
96
 
@@ -89,18 +101,23 @@ registry is not a mandatory intermediate step. If the source identity or version
89
101
  cannot be established, retain package-grounded findings and qualify attribution;
90
102
  do not invent a repository or equate current source with the package's baseline.
91
103
 
92
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
104
+ Only when tracing a delivered page and a build inventory is already available, map its
93
105
  `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,
106
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
107
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
108
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
96
109
  continue package retrieval and follow explicit source references where available.
97
110
  Do not guess originals from similar filenames or claim attribution without
98
111
  checking the referenced material.
99
112
 
100
113
  Use the repository and recorded commit identified by the package or workspace
101
114
  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.
115
+ Before reusing a checkout for source reads, group checks of remote, commit,
116
+ module coverage and local changes. Reuse those findings within this response
117
+ instead of checking again before each search or file read. Recheck affected
118
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
119
+ concurrent edits; do not treat a previous response's checks as current. Do not
120
+ reset user checkouts or change their sparse configuration.
104
121
  Missing code goes into a reusable query-owned path such as
105
122
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
106
123
  checkouts and production-managed sources. Use safe, credential-free path
@@ -129,10 +146,24 @@ capture/recovery actions. Production recovery gates do not block this independen
129
146
  inspection. Preserve unavailable-evidence gaps rather than changing production
130
147
  state to get past them.
131
148
 
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
149
+ Batch independent searches and related file reads once paths are known, such as
150
+ the entrypoint, state update and controlling render logic for one mechanism.
151
+ Read enough surrounding context and follow unresolved imports or calls; batching
152
+ must not truncate decisive evidence or turn a partial read into a complete audit.
153
+ Reuse already read evidence rather than rereading it to prepare each tool call.
154
+
155
+ Let evidence sufficiency determine whether a version comparison is needed.
156
+ When the available knowledge or identified baseline code resolves the question,
157
+ answer without fetching the default branch, recovering a second checkout or
158
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
159
+ conflicting evidence, suspected changes or an explicit version-comparison request
160
+ makes it useful. A question about current behavior requires judging whether the
161
+ available evidence supports that claim, not automatically comparing every branch.
162
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
163
+ with a verified live deployment. When comparing, use actual relevant diffs,
164
+ including relevant local changes; current code is not a substitute for the baseline.
165
+ Mention a missing comparison only when it limits the answer.
166
+ For documents, notes and sessions, read saved bodies and necessary
136
167
  attachments; fetch missing accessible material within scope. A summary is not a
137
168
  full transcript, an unread link is not evidence, and current remote content does
138
169
  not prove a historical snapshot.
@@ -157,6 +188,10 @@ Distinguish implementation,
157
188
  declared contracts, test assertions, runtime observations and inferences. Perform
158
189
  bounded non-destructive validation only when useful; inspect its effects first
159
190
  and do not run unrelated scripts, builds or tests.
191
+ Do not turn a symbolic constant or version-like name into a numeric value without
192
+ checking its actual imported definition at the inspected revision. A mock value
193
+ is not the production definition. Keep the symbol when its numeric value is not
194
+ needed; verify the value when the user's concrete boundary depends on it.
160
195
 
161
196
  Link material actually read: source files at the inspected commit, knowledge
162
197
  website articles and original documents. If no reliable clickable link exists,
@@ -165,13 +200,34 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
165
200
  version comparisons. Explain only differences affecting the answer; hashes may
166
201
  appear in source URLs without requiring a separate version audit in the prose.
167
202
 
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
203
+ Collect citation targets after the relevant evidence is established and resolve
204
+ them in one batch using the host's existing link resolver when available. Reuse
205
+ known workspace, repository and site parameters; do not rediscover them per link.
206
+ Include knowledge pages and original-source locations in that same batch. For
207
+ each source file, retain the actual inspected repository, full commit, path and
208
+ line range from the investigation; a recorded source reference alone may resolve
209
+ to an older baseline. Pass the inspected commit through the resolver's supported
210
+ contract, or supply a verified commit-specific URL when needed. Never first
211
+ resolve baseline links and then replace them with branch-head links merely as a
212
+ formatting step. If the revision cannot be established, state the attribution
213
+ limit rather than silently substituting another commit. Resolution formats
214
+ citations; it does not prove file contents, accessibility or live deployment.
215
+ If later evidence adds targets, resolve only those missing from the results.
216
+ Without a host resolver, use an already available `context-site-map.json` from
217
+ the selected package or website output. Do not search for `dist/` merely to
218
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
170
219
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
171
220
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
172
221
  or invalid, retain local citations. Do not build, publish or probe remote sites
173
222
  just to format citations; a local map is not proof of the current online content.
174
223
 
224
+ Once the requested questions are supported or genuinely unavailable evidence is
225
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
226
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
227
+ exceptions, citations and verification limits; fewer preparation steps must not
228
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
229
+ still apply, without repeating the completed investigation.
230
+
175
231
  Suggest a knowledge update only with supporting evidence: identify the affected
176
232
  page or gap, proposed change and bounded source scope. Check neighboring content
177
233
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c4a",
3
- "version": "0.7.29",
3
+ "version": "0.7.34",
4
4
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
5
5
  "author": { "name": "c4a" },
6
6
  "homepage": "https://github.com/context4ai/c4a",
@@ -10,7 +10,7 @@
10
10
  "skills": "./skills/",
11
11
  "interface": {
12
12
  "displayName": "C4A Context",
13
- "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.29",
13
+ "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.34",
14
14
  "longDescription": "Create a Context workspace and use agent-guided next steps to register sources, run extraction, review candidates, build package outputs, and verify health without silently mutating source repositories.",
15
15
  "developerName": "c4a",
16
16
  "category": "Productivity",
@@ -12,6 +12,11 @@ language. The invocation authorizes read-only investigation of the selected
12
12
  knowledge packages, available workspace and identified sources within that scope,
13
13
  including isolated source retrieval and bounded non-destructive checks. The Skill
14
14
  can run from a global installation with host-provided packages and no workspace.
15
+ The ordinary query path is contained in this file. Reuse instructions already
16
+ read in this response; do not reopen them for each stage. When actual delivery
17
+ requires separate host link or response Skills, read their still-unread main
18
+ instructions together once, and open conditional references only for the case
19
+ being handled. Do not prepare delivery that the host's progress mode skips.
15
20
  Resolve scope from the request, conversation and configuration before asking.
16
21
  Continue through non-blocking issues; ask only for missing access, genuinely
17
22
  unresolved scope or effects outside existing authorization.
@@ -28,9 +33,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
28
33
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
34
  before choosing the first retrieval path. Supported values are:
30
35
 
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.
36
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
37
+ workspace first; trace authorized original sources only for material gaps.
38
+ Use an available package when approved knowledge is unavailable.
34
39
  - `package-first`: inspect the selected package first, then use its recorded
35
40
  workspace or repository sources for missing, stale or disputed evidence.
36
41
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -44,8 +49,10 @@ sources and identify only gaps that affect the answer.
44
49
  ## Search available material according to the configured mode
45
50
 
46
51
  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
52
+ start with approved knowledge, not original-code checkout preparation. With
53
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
54
+ packages: distribution output is not a query prerequisite. An explicit request
55
+ to investigate delivered content is an exception. In `package-first`, start with
49
56
  the selected readable package. In `dual`, start both paths concurrently. Search
50
57
  each selected path as soon as it is readable; tool checks and authorized
51
58
  upgrades must not block independent reading. If a configured primary path is
@@ -65,9 +72,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
65
72
  other reading continues. Only check or prepare tools needed for the next actual
66
73
  operation; installation failure does not block independent local retrieval.
67
74
 
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
75
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
76
+ then read matching sections in context; use `knowledge/structure.yaml` when
77
+ navigation or associations are needed, not as an exhaustive preflight. In
78
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
79
+ questions in delivered material. Delivered
71
80
  content may lag approved knowledge; they are not independent corroboration.
72
81
  Candidates and temporary reports are not approved pages. A search miss does not
73
82
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -77,8 +86,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
77
86
  without asking whether to deepen the query. Use available document, code-search
78
87
  or extraction tools within the authorized scope, recording source identity and
79
88
  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.
89
+ One failed source blocks only dependent claims. If the read knowledge supports
90
+ the requested conclusion, its conditions and scope, answer without restoring
91
+ code or checking every associated source. Missing mechanisms, conflicting facts
92
+ or unsupported current-behavior claims still require targeted investigation;
93
+ an article title, search snippet or unread citation is not sufficient evidence.
82
94
 
83
95
  ## Trace and retrieve only relevant sources
84
96
 
@@ -89,18 +101,23 @@ registry is not a mandatory intermediate step. If the source identity or version
89
101
  cannot be established, retain package-grounded findings and qualify attribution;
90
102
  do not invent a repository or equate current source with the package's baseline.
91
103
 
92
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
104
+ Only when tracing a delivered page and a build inventory is already available, map its
93
105
  `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,
106
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
107
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
108
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
96
109
  continue package retrieval and follow explicit source references where available.
97
110
  Do not guess originals from similar filenames or claim attribution without
98
111
  checking the referenced material.
99
112
 
100
113
  Use the repository and recorded commit identified by the package or workspace
101
114
  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.
115
+ Before reusing a checkout for source reads, group checks of remote, commit,
116
+ module coverage and local changes. Reuse those findings within this response
117
+ instead of checking again before each search or file read. Recheck affected
118
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
119
+ concurrent edits; do not treat a previous response's checks as current. Do not
120
+ reset user checkouts or change their sparse configuration.
104
121
  Missing code goes into a reusable query-owned path such as
105
122
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
106
123
  checkouts and production-managed sources. Use safe, credential-free path
@@ -129,10 +146,24 @@ capture/recovery actions. Production recovery gates do not block this independen
129
146
  inspection. Preserve unavailable-evidence gaps rather than changing production
130
147
  state to get past them.
131
148
 
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
149
+ Batch independent searches and related file reads once paths are known, such as
150
+ the entrypoint, state update and controlling render logic for one mechanism.
151
+ Read enough surrounding context and follow unresolved imports or calls; batching
152
+ must not truncate decisive evidence or turn a partial read into a complete audit.
153
+ Reuse already read evidence rather than rereading it to prepare each tool call.
154
+
155
+ Let evidence sufficiency determine whether a version comparison is needed.
156
+ When the available knowledge or identified baseline code resolves the question,
157
+ answer without fetching the default branch, recovering a second checkout or
158
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
159
+ conflicting evidence, suspected changes or an explicit version-comparison request
160
+ makes it useful. A question about current behavior requires judging whether the
161
+ available evidence supports that claim, not automatically comparing every branch.
162
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
163
+ with a verified live deployment. When comparing, use actual relevant diffs,
164
+ including relevant local changes; current code is not a substitute for the baseline.
165
+ Mention a missing comparison only when it limits the answer.
166
+ For documents, notes and sessions, read saved bodies and necessary
136
167
  attachments; fetch missing accessible material within scope. A summary is not a
137
168
  full transcript, an unread link is not evidence, and current remote content does
138
169
  not prove a historical snapshot.
@@ -157,6 +188,10 @@ Distinguish implementation,
157
188
  declared contracts, test assertions, runtime observations and inferences. Perform
158
189
  bounded non-destructive validation only when useful; inspect its effects first
159
190
  and do not run unrelated scripts, builds or tests.
191
+ Do not turn a symbolic constant or version-like name into a numeric value without
192
+ checking its actual imported definition at the inspected revision. A mock value
193
+ is not the production definition. Keep the symbol when its numeric value is not
194
+ needed; verify the value when the user's concrete boundary depends on it.
160
195
 
161
196
  Link material actually read: source files at the inspected commit, knowledge
162
197
  website articles and original documents. If no reliable clickable link exists,
@@ -165,13 +200,34 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
165
200
  version comparisons. Explain only differences affecting the answer; hashes may
166
201
  appear in source URLs without requiring a separate version audit in the prose.
167
202
 
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
203
+ Collect citation targets after the relevant evidence is established and resolve
204
+ them in one batch using the host's existing link resolver when available. Reuse
205
+ known workspace, repository and site parameters; do not rediscover them per link.
206
+ Include knowledge pages and original-source locations in that same batch. For
207
+ each source file, retain the actual inspected repository, full commit, path and
208
+ line range from the investigation; a recorded source reference alone may resolve
209
+ to an older baseline. Pass the inspected commit through the resolver's supported
210
+ contract, or supply a verified commit-specific URL when needed. Never first
211
+ resolve baseline links and then replace them with branch-head links merely as a
212
+ formatting step. If the revision cannot be established, state the attribution
213
+ limit rather than silently substituting another commit. Resolution formats
214
+ citations; it does not prove file contents, accessibility or live deployment.
215
+ If later evidence adds targets, resolve only those missing from the results.
216
+ Without a host resolver, use an already available `context-site-map.json` from
217
+ the selected package or website output. Do not search for `dist/` merely to
218
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
170
219
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
171
220
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
172
221
  or invalid, retain local citations. Do not build, publish or probe remote sites
173
222
  just to format citations; a local map is not proof of the current online content.
174
223
 
224
+ Once the requested questions are supported or genuinely unavailable evidence is
225
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
226
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
227
+ exceptions, citations and verification limits; fewer preparation steps must not
228
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
229
+ still apply, without repeating the completed investigation.
230
+
175
231
  Suggest a knowledge update only with supporting evidence: identify the affected
176
232
  page or gap, proposed change and bounded source scope. Check neighboring content
177
233
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "displayName": "C4A Context",
4
- "version": "0.7.29",
4
+ "version": "0.7.34",
5
5
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
6
6
  "author": {
7
7
  "name": "Context4AI",