@c4a/context-cli 0.7.29 → 0.7.30

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.
@@ -27,9 +27,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
27
27
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
28
28
  before choosing the first retrieval path. Supported values are:
29
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.
30
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
31
+ workspace first; trace authorized original sources only for material gaps.
32
+ Use an available package when approved knowledge is unavailable.
33
33
  - `package-first`: inspect the selected package first, then use its recorded
34
34
  workspace or repository sources for missing, stale or disputed evidence.
35
35
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -43,8 +43,10 @@ sources and identify only gaps that affect the answer.
43
43
  ## Search available material according to the configured mode
44
44
 
45
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
46
+ start with approved knowledge, not original-code checkout preparation. With
47
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
48
+ packages: distribution output is not a query prerequisite. An explicit request
49
+ to investigate delivered content is an exception. In `package-first`, start with
48
50
  the selected readable package. In `dual`, start both paths concurrently. Search
49
51
  each selected path as soon as it is readable; tool checks and authorized
50
52
  upgrades must not block independent reading. If a configured primary path is
@@ -64,9 +66,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
64
66
  other reading continues. Only check or prepare tools needed for the next actual
65
67
  operation; installation failure does not block independent local retrieval.
66
68
 
67
- For gaps or latest-content questions, also search approved knowledge when a workspace is available:
68
- use `knowledge/structure.yaml` and relevant `knowledge/` paths, trying business
69
- terms, symbols and synonyms, then read matching sections in context. Delivered
69
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
70
+ then read matching sections in context; use `knowledge/structure.yaml` when
71
+ navigation or associations are needed, not as an exhaustive preflight. In
72
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
73
+ questions in delivered material. Delivered
70
74
  content may lag approved knowledge; they are not independent corroboration.
71
75
  Candidates and temporary reports are not approved pages. A search miss does not
72
76
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -76,8 +80,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
76
80
  without asking whether to deepen the query. Use available document, code-search
77
81
  or extraction tools within the authorized scope, recording source identity and
78
82
  version. Prepare sources while continuing other reading.
79
- One failed source blocks only dependent claims. Answer when evidence is
80
- sufficient, without completing unnecessary preparation.
83
+ One failed source blocks only dependent claims. If the read knowledge supports
84
+ the requested conclusion, its conditions and scope, answer without restoring
85
+ code or checking every associated source. Missing mechanisms, conflicting facts
86
+ or unsupported current-behavior claims still require targeted investigation;
87
+ an article title, search snippet or unread citation is not sufficient evidence.
81
88
 
82
89
  ## Trace and retrieve only relevant sources
83
90
 
@@ -88,18 +95,23 @@ registry is not a mandatory intermediate step. If the source identity or version
88
95
  cannot be established, retain package-grounded findings and qualify attribution;
89
96
  do not invent a repository or equate current source with the package's baseline.
90
97
 
91
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
98
+ Only when tracing a delivered page and a build inventory is already available, map its
92
99
  `dist_path` through `approved_knowledge.files` to its `approved_path`, relative
93
- to the workspace's `knowledge/` root. Follow the approved page's associations in
94
- `knowledge/structure.yaml` and `sources/*/index.yaml`. Without a reliable mapping,
100
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
101
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
102
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
95
103
  continue package retrieval and follow explicit source references where available.
96
104
  Do not guess originals from similar filenames or claim attribution without
97
105
  checking the referenced material.
98
106
 
99
107
  Use the repository and recorded commit identified by the package or workspace
100
108
  as the source baseline.
101
- Reuse existing checkouts only after checking remote, commit, module coverage
102
- and local changes; do not reset them or change their sparse configuration.
109
+ Before reusing a checkout for source reads, group checks of remote, commit,
110
+ module coverage and local changes. Reuse those findings within this response
111
+ instead of checking again before each search or file read. Recheck affected
112
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
113
+ concurrent edits; do not treat a previous response's checks as current. Do not
114
+ reset user checkouts or change their sparse configuration.
103
115
  Missing code goes into a reusable query-owned path such as
104
116
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
105
117
  checkouts and production-managed sources. Use safe, credential-free path
@@ -128,10 +140,24 @@ capture/recovery actions. Production recovery gates do not block this independen
128
140
  inspection. Preserve unavailable-evidence gaps rather than changing production
129
141
  state to get past them.
130
142
 
131
- Compare relevant baseline files with current code when accessible, including
132
- relevant local changes. Use actual diffs to assess impact; current code is not a
133
- substitute for the baseline. Mention a missing comparison only when it limits
134
- the answer. For documents, notes and sessions, read saved bodies and necessary
143
+ Batch independent searches and related file reads once paths are known, such as
144
+ the entrypoint, state update and controlling render logic for one mechanism.
145
+ Read enough surrounding context and follow unresolved imports or calls; batching
146
+ must not truncate decisive evidence or turn a partial read into a complete audit.
147
+ Reuse already read evidence rather than rereading it to prepare each tool call.
148
+
149
+ Let evidence sufficiency determine whether a version comparison is needed.
150
+ When the available knowledge or identified baseline code resolves the question,
151
+ answer without fetching the default branch, recovering a second checkout or
152
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
153
+ conflicting evidence, suspected changes or an explicit version-comparison request
154
+ makes it useful. A question about current behavior requires judging whether the
155
+ available evidence supports that claim, not automatically comparing every branch.
156
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
157
+ with a verified live deployment. When comparing, use actual relevant diffs,
158
+ including relevant local changes; current code is not a substitute for the baseline.
159
+ Mention a missing comparison only when it limits the answer.
160
+ For documents, notes and sessions, read saved bodies and necessary
135
161
  attachments; fetch missing accessible material within scope. A summary is not a
136
162
  full transcript, an unread link is not evidence, and current remote content does
137
163
  not prove a historical snapshot.
@@ -164,13 +190,25 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
164
190
  version comparisons. Explain only differences affecting the answer; hashes may
165
191
  appear in source URLs without requiring a separate version audit in the prose.
166
192
 
167
- For website links, use `context-site-map.json` from the selected package or
168
- sibling website output. Match `pages[].package_path` or `approved_path`, and
193
+ Collect citation targets after the relevant evidence is established and resolve
194
+ them in one batch using the host's existing link resolver when available. Reuse
195
+ known workspace, repository and site parameters; do not rediscover them per link.
196
+ If later evidence adds targets, resolve only those missing from the results.
197
+ Without a host resolver, use an already available `context-site-map.json` from
198
+ the selected package or website output. Do not search for `dist/` merely to
199
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
169
200
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
170
201
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
171
202
  or invalid, retain local citations. Do not build, publish or probe remote sites
172
203
  just to format citations; a local map is not proof of the current online content.
173
204
 
205
+ Once the requested questions are supported or genuinely unavailable evidence is
206
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
207
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
208
+ exceptions, citations and verification limits; fewer preparation steps must not
209
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
210
+ still apply, without repeating the completed investigation.
211
+
174
212
  Suggest a knowledge update only with supporting evidence: identify the affected
175
213
  page or gap, proposed change and bounded source scope. Check neighboring content
176
214
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -28,9 +28,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
28
28
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
29
  before choosing the first retrieval path. Supported values are:
30
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.
31
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
32
+ workspace first; trace authorized original sources only for material gaps.
33
+ Use an available package when approved knowledge is unavailable.
34
34
  - `package-first`: inspect the selected package first, then use its recorded
35
35
  workspace or repository sources for missing, stale or disputed evidence.
36
36
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -44,8 +44,10 @@ sources and identify only gaps that affect the answer.
44
44
  ## Search available material according to the configured mode
45
45
 
46
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
47
+ start with approved knowledge, not original-code checkout preparation. With
48
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
49
+ packages: distribution output is not a query prerequisite. An explicit request
50
+ to investigate delivered content is an exception. In `package-first`, start with
49
51
  the selected readable package. In `dual`, start both paths concurrently. Search
50
52
  each selected path as soon as it is readable; tool checks and authorized
51
53
  upgrades must not block independent reading. If a configured primary path is
@@ -65,9 +67,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
65
67
  other reading continues. Only check or prepare tools needed for the next actual
66
68
  operation; installation failure does not block independent local retrieval.
67
69
 
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
70
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
71
+ then read matching sections in context; use `knowledge/structure.yaml` when
72
+ navigation or associations are needed, not as an exhaustive preflight. In
73
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
74
+ questions in delivered material. Delivered
71
75
  content may lag approved knowledge; they are not independent corroboration.
72
76
  Candidates and temporary reports are not approved pages. A search miss does not
73
77
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -77,8 +81,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
77
81
  without asking whether to deepen the query. Use available document, code-search
78
82
  or extraction tools within the authorized scope, recording source identity and
79
83
  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.
84
+ One failed source blocks only dependent claims. If the read knowledge supports
85
+ the requested conclusion, its conditions and scope, answer without restoring
86
+ code or checking every associated source. Missing mechanisms, conflicting facts
87
+ or unsupported current-behavior claims still require targeted investigation;
88
+ an article title, search snippet or unread citation is not sufficient evidence.
82
89
 
83
90
  ## Trace and retrieve only relevant sources
84
91
 
@@ -89,18 +96,23 @@ registry is not a mandatory intermediate step. If the source identity or version
89
96
  cannot be established, retain package-grounded findings and qualify attribution;
90
97
  do not invent a repository or equate current source with the package's baseline.
91
98
 
92
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
99
+ Only when tracing a delivered page and a build inventory is already available, map its
93
100
  `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,
101
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
102
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
103
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
96
104
  continue package retrieval and follow explicit source references where available.
97
105
  Do not guess originals from similar filenames or claim attribution without
98
106
  checking the referenced material.
99
107
 
100
108
  Use the repository and recorded commit identified by the package or workspace
101
109
  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.
110
+ Before reusing a checkout for source reads, group checks of remote, commit,
111
+ module coverage and local changes. Reuse those findings within this response
112
+ instead of checking again before each search or file read. Recheck affected
113
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
114
+ concurrent edits; do not treat a previous response's checks as current. Do not
115
+ reset user checkouts or change their sparse configuration.
104
116
  Missing code goes into a reusable query-owned path such as
105
117
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
106
118
  checkouts and production-managed sources. Use safe, credential-free path
@@ -129,10 +141,24 @@ capture/recovery actions. Production recovery gates do not block this independen
129
141
  inspection. Preserve unavailable-evidence gaps rather than changing production
130
142
  state to get past them.
131
143
 
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
144
+ Batch independent searches and related file reads once paths are known, such as
145
+ the entrypoint, state update and controlling render logic for one mechanism.
146
+ Read enough surrounding context and follow unresolved imports or calls; batching
147
+ must not truncate decisive evidence or turn a partial read into a complete audit.
148
+ Reuse already read evidence rather than rereading it to prepare each tool call.
149
+
150
+ Let evidence sufficiency determine whether a version comparison is needed.
151
+ When the available knowledge or identified baseline code resolves the question,
152
+ answer without fetching the default branch, recovering a second checkout or
153
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
154
+ conflicting evidence, suspected changes or an explicit version-comparison request
155
+ makes it useful. A question about current behavior requires judging whether the
156
+ available evidence supports that claim, not automatically comparing every branch.
157
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
158
+ with a verified live deployment. When comparing, use actual relevant diffs,
159
+ including relevant local changes; current code is not a substitute for the baseline.
160
+ Mention a missing comparison only when it limits the answer.
161
+ For documents, notes and sessions, read saved bodies and necessary
136
162
  attachments; fetch missing accessible material within scope. A summary is not a
137
163
  full transcript, an unread link is not evidence, and current remote content does
138
164
  not prove a historical snapshot.
@@ -165,13 +191,25 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
165
191
  version comparisons. Explain only differences affecting the answer; hashes may
166
192
  appear in source URLs without requiring a separate version audit in the prose.
167
193
 
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
194
+ Collect citation targets after the relevant evidence is established and resolve
195
+ them in one batch using the host's existing link resolver when available. Reuse
196
+ known workspace, repository and site parameters; do not rediscover them per link.
197
+ If later evidence adds targets, resolve only those missing from the results.
198
+ Without a host resolver, use an already available `context-site-map.json` from
199
+ the selected package or website output. Do not search for `dist/` merely to
200
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
170
201
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
171
202
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
172
203
  or invalid, retain local citations. Do not build, publish or probe remote sites
173
204
  just to format citations; a local map is not proof of the current online content.
174
205
 
206
+ Once the requested questions are supported or genuinely unavailable evidence is
207
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
208
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
209
+ exceptions, citations and verification limits; fewer preparation steps must not
210
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
211
+ still apply, without repeating the completed investigation.
212
+
175
213
  Suggest a knowledge update only with supporting evidence: identify the affected
176
214
  page or gap, proposed change and bounded source scope. Check neighboring content
177
215
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -28,9 +28,9 @@ registrations, snapshots, tasks, approvals or user checkouts.
28
28
  Resolve `CONTEXT_QUERY_SOURCE_MODE` from the host or Bot instance configuration
29
29
  before choosing the first retrieval path. Supported values are:
30
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.
31
+ - `repo-first` (default): search approved `knowledge/` in the configured knowledge
32
+ workspace first; trace authorized original sources only for material gaps.
33
+ Use an available package when approved knowledge is unavailable.
34
34
  - `package-first`: inspect the selected package first, then use its recorded
35
35
  workspace or repository sources for missing, stale or disputed evidence.
36
36
  - `dual`: inspect the package and repository paths concurrently, then reconcile
@@ -44,8 +44,10 @@ sources and identify only gaps that affect the answer.
44
44
  ## Search available material according to the configured mode
45
45
 
46
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
47
+ start with approved knowledge, not original-code checkout preparation. With
48
+ readable `knowledge/`, do not probe `dist/`, build inventories or installed
49
+ packages: distribution output is not a query prerequisite. An explicit request
50
+ to investigate delivered content is an exception. In `package-first`, start with
49
51
  the selected readable package. In `dual`, start both paths concurrently. Search
50
52
  each selected path as soon as it is readable; tool checks and authorized
51
53
  upgrades must not block independent reading. If a configured primary path is
@@ -65,9 +67,11 @@ missing, use the host's configured, authorized package retrieval mechanism while
65
67
  other reading continues. Only check or prepare tools needed for the next actual
66
68
  operation; installation failure does not block independent local retrieval.
67
69
 
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
70
+ Search relevant `knowledge/` paths using business terms, symbols and synonyms,
71
+ then read matching sections in context; use `knowledge/structure.yaml` when
72
+ navigation or associations are needed, not as an exhaustive preflight. In
73
+ package-first or dual mode, approved knowledge can resolve gaps or freshness
74
+ questions in delivered material. Delivered
71
75
  content may lag approved knowledge; they are not independent corroboration.
72
76
  Candidates and temporary reports are not approved pages. A search miss does not
73
77
  prove a capability is absent. Do not build merely to answer a query; a separately
@@ -77,8 +81,11 @@ When package or approved knowledge leaves a gap, directly trace relevant sources
77
81
  without asking whether to deepen the query. Use available document, code-search
78
82
  or extraction tools within the authorized scope, recording source identity and
79
83
  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.
84
+ One failed source blocks only dependent claims. If the read knowledge supports
85
+ the requested conclusion, its conditions and scope, answer without restoring
86
+ code or checking every associated source. Missing mechanisms, conflicting facts
87
+ or unsupported current-behavior claims still require targeted investigation;
88
+ an article title, search snippet or unread citation is not sufficient evidence.
82
89
 
83
90
  ## Trace and retrieve only relevant sources
84
91
 
@@ -89,18 +96,23 @@ registry is not a mandatory intermediate step. If the source identity or version
89
96
  cannot be established, retain package-grounded findings and qualify attribution;
90
97
  do not invent a repository or equate current source with the package's baseline.
91
98
 
92
- When a workspace and `context-build-inventory.json` are available, map a delivered page's
99
+ Only when tracing a delivered page and a build inventory is already available, map its
93
100
  `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,
101
+ to the workspace's `knowledge/` root. For directly read approved pages, skip this
102
+ mapping entirely. Follow relevant associations in `knowledge/structure.yaml`
103
+ and `sources/*/index.yaml` only when source tracing is needed. Without a reliable mapping,
96
104
  continue package retrieval and follow explicit source references where available.
97
105
  Do not guess originals from similar filenames or claim attribution without
98
106
  checking the referenced material.
99
107
 
100
108
  Use the repository and recorded commit identified by the package or workspace
101
109
  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.
110
+ Before reusing a checkout for source reads, group checks of remote, commit,
111
+ module coverage and local changes. Reuse those findings within this response
112
+ instead of checking again before each search or file read. Recheck affected
113
+ facts if the checkout/ref changes, sparse scope expands or there is evidence of
114
+ concurrent edits; do not treat a previous response's checks as current. Do not
115
+ reset user checkouts or change their sparse configuration.
104
116
  Missing code goes into a reusable query-owned path such as
105
117
  `.tmp/context-inspect/<host>/<repository-path>/<commit>/`, separate from user
106
118
  checkouts and production-managed sources. Use safe, credential-free path
@@ -129,10 +141,24 @@ capture/recovery actions. Production recovery gates do not block this independen
129
141
  inspection. Preserve unavailable-evidence gaps rather than changing production
130
142
  state to get past them.
131
143
 
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
144
+ Batch independent searches and related file reads once paths are known, such as
145
+ the entrypoint, state update and controlling render logic for one mechanism.
146
+ Read enough surrounding context and follow unresolved imports or calls; batching
147
+ must not truncate decisive evidence or turn a partial read into a complete audit.
148
+ Reuse already read evidence rather than rereading it to prepare each tool call.
149
+
150
+ Let evidence sufficiency determine whether a version comparison is needed.
151
+ When the available knowledge or identified baseline code resolves the question,
152
+ answer without fetching the default branch, recovering a second checkout or
153
+ reading history merely to confirm freshness. Compare narrowly when uncertainty,
154
+ conflicting evidence, suspected changes or an explicit version-comparison request
155
+ makes it useful. A question about current behavior requires judging whether the
156
+ available evidence supports that claim, not automatically comparing every branch.
157
+ Retain necessary source reads; do not equate a recorded baseline or branch HEAD
158
+ with a verified live deployment. When comparing, use actual relevant diffs,
159
+ including relevant local changes; current code is not a substitute for the baseline.
160
+ Mention a missing comparison only when it limits the answer.
161
+ For documents, notes and sessions, read saved bodies and necessary
136
162
  attachments; fetch missing accessible material within scope. A summary is not a
137
163
  full transcript, an unread link is not evidence, and current remote content does
138
164
  not prove a historical snapshot.
@@ -165,13 +191,25 @@ limitation. Do not dump internal reasoning, runtime identifiers or routine
165
191
  version comparisons. Explain only differences affecting the answer; hashes may
166
192
  appear in source URLs without requiring a separate version audit in the prose.
167
193
 
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
194
+ Collect citation targets after the relevant evidence is established and resolve
195
+ them in one batch using the host's existing link resolver when available. Reuse
196
+ known workspace, repository and site parameters; do not rediscover them per link.
197
+ If later evidence adds targets, resolve only those missing from the results.
198
+ Without a host resolver, use an already available `context-site-map.json` from
199
+ the selected package or website output. Do not search for `dist/` merely to
200
+ obtain links for readable approved knowledge. Match `pages[].package_path` or `approved_path`, and
170
201
  resolve `site_path` against `site_url` without prepending `base` again. Cite only
171
202
  matched pages, deduplicate links and do not invent anchors. If mapping is absent
172
203
  or invalid, retain local citations. Do not build, publish or probe remote sites
173
204
  just to format citations; a local map is not proof of the current online content.
174
205
 
206
+ Once the requested questions are supported or genuinely unavailable evidence is
207
+ clearly bounded, synthesize the final answer directly. Do not add another planning,
208
+ freshness-audit or summary round just to prepare it. Preserve necessary mechanisms,
209
+ exceptions, citations and verification limits; fewer preparation steps must not
210
+ mean weaker evidence or omitted questions. Host delivery and receipt requirements
211
+ still apply, without repeating the completed investigation.
212
+
175
213
  Suggest a knowledge update only with supporting evidence: identify the affected
176
214
  page or gap, proposed change and bounded source scope. Check neighboring content
177
215
  before proposing a new page. Only after user acceptance, hand the evidence and
@@ -2,7 +2,7 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.7.29"
5
+ "version": "0.7.30"
6
6
  },
7
7
  "providerManifest": "provider.yaml",
8
8
  "graphs": [
@@ -183,7 +183,7 @@
183
183
  {
184
184
  "id": "context.sdk.lark-resources",
185
185
  "path": "resources/manuals/guides/lark-resources.md",
186
- "digest": "sha256:b1ffb74a145962ff89a5db29cffd1318e4ec038b97884dcd43804170cb0f6f64"
186
+ "digest": "sha256:d5b6b44fe800f302232300adbdb4f32b04b78588ea7879dc9a5c247f36658b9d"
187
187
  },
188
188
  {
189
189
  "id": "context.sdk.package-outputs",
@@ -248,7 +248,7 @@
248
248
  {
249
249
  "id": "dialogue.document-capture",
250
250
  "path": "resources/dialogue/document-capture.md",
251
- "digest": "sha256:eab34072dc96d77c0749148463f722d2483d8e7d83899ce489e927176a1178e4"
251
+ "digest": "sha256:20bb708f2c471591c0f633742d75a1353bcd4762917ce9528d3de0c7f4babbe8"
252
252
  },
253
253
  {
254
254
  "id": "dialogue.human-gates",
@@ -288,7 +288,7 @@
288
288
  {
289
289
  "id": "procedure.document-capture",
290
290
  "path": "resources/procedures/document-capture.md",
291
- "digest": "sha256:9d0d1b9187bbe540a4afffb366cd549385dbf61bfaffa96ae51de848b2dd5460"
291
+ "digest": "sha256:2e6b4e45587fffc1930a3dce0fc6b68d659499a034a367e1cc34a2ef46cb50d9"
292
292
  },
293
293
  {
294
294
  "id": "procedure.document-code-investigation",
@@ -368,7 +368,7 @@
368
368
  {
369
369
  "id": "procedure.source-capture-detailed",
370
370
  "path": "resources/procedures/source-capture-detailed.md",
371
- "digest": "sha256:75694361543f5c44a1077b5e6c4ed9bca844ec9b46c1773198f66e0f20ba3748"
371
+ "digest": "sha256:39644875f09bac66580332357c3d9701c234da036b61205c8a02029165455f76"
372
372
  },
373
373
  {
374
374
  "id": "procedure.source-update",
@@ -575,7 +575,7 @@
575
575
  },
576
576
  {
577
577
  "path": "provider.yaml",
578
- "digest": "sha256:0a21f82483186c4fe1f6f450923d0d336300274fb95e2c7ee3569700ba922372"
578
+ "digest": "sha256:50adfb493675f902e6df4d6eade84bb279c64b767084aa15277d65870825458e"
579
579
  },
580
580
  {
581
581
  "path": "resources/contracts/indexer-provider-guide.yaml",
@@ -599,7 +599,7 @@
599
599
  },
600
600
  {
601
601
  "path": "resources/dialogue/document-capture.md",
602
- "digest": "sha256:eab34072dc96d77c0749148463f722d2483d8e7d83899ce489e927176a1178e4"
602
+ "digest": "sha256:20bb708f2c471591c0f633742d75a1353bcd4762917ce9528d3de0c7f4babbe8"
603
603
  },
604
604
  {
605
605
  "path": "resources/dialogue/human-gates.md",
@@ -635,7 +635,7 @@
635
635
  },
636
636
  {
637
637
  "path": "resources/manuals/guides/lark-resources.md",
638
- "digest": "sha256:b1ffb74a145962ff89a5db29cffd1318e4ec038b97884dcd43804170cb0f6f64"
638
+ "digest": "sha256:d5b6b44fe800f302232300adbdb4f32b04b78588ea7879dc9a5c247f36658b9d"
639
639
  },
640
640
  {
641
641
  "path": "resources/manuals/guides/markdown-indexer-skill-authoring.md",
@@ -695,7 +695,7 @@
695
695
  },
696
696
  {
697
697
  "path": "resources/procedures/document-capture.md",
698
- "digest": "sha256:9d0d1b9187bbe540a4afffb366cd549385dbf61bfaffa96ae51de848b2dd5460"
698
+ "digest": "sha256:2e6b4e45587fffc1930a3dce0fc6b68d659499a034a367e1cc34a2ef46cb50d9"
699
699
  },
700
700
  {
701
701
  "path": "resources/procedures/document-code-investigation.md",
@@ -759,7 +759,7 @@
759
759
  },
760
760
  {
761
761
  "path": "resources/procedures/source-capture-detailed.md",
762
- "digest": "sha256:75694361543f5c44a1077b5e6c4ed9bca844ec9b46c1773198f66e0f20ba3748"
762
+ "digest": "sha256:39644875f09bac66580332357c3d9701c234da036b61205c8a02029165455f76"
763
763
  },
764
764
  {
765
765
  "path": "resources/procedures/source-update.md",
@@ -878,5 +878,5 @@
878
878
  "indexer": [],
879
879
  "workspace": []
880
880
  },
881
- "digest": "sha256:3e0f9fc6f81571381dced3a8d02b20624022183e924c7b99c16430c8924d624d"
881
+ "digest": "sha256:36c06f801f991b92bb78cc94676c8d338389bdc031f49577eb196a96628b2f76"
882
882
  }
@@ -1,6 +1,6 @@
1
1
  schema: agent-graph.provider.v1
2
2
  id: c4a/context
3
- version: 0.7.29
3
+ version: 0.7.30
4
4
  name: Context workflow
5
5
  description: Internal work contract for Context knowledge workspaces.
6
6
  graphs:
@@ -23,6 +23,14 @@ refresh, or capture preview before permission is clear. A request that
23
23
  explicitly says to ingest, fetch, capture, or read the named documents grants
24
24
  that scope; merely mentioning a possible source does not.
25
25
 
26
+ The image preflight in the document-capture procedure is an Agent self-check,
27
+ not an additional user question. Before capture, briefly report the task-wide
28
+ document count and applied policy. Reference-only images keep source references
29
+ but are not downloaded or interpreted. Do not wait for confirmation or infer an
30
+ all-image override from managed execution. Unknown scope requires authorized
31
+ metadata or body-and-reference-only discovery first. Existing source-read
32
+ permission requirements remain unchanged.
33
+
26
34
  If deterministic inspection detects `.mdx`, route metadata, sidebars, or a docs
27
35
  configuration, explain that the boundary looks like a documentation site and
28
36
  ask whether to use the Context document-site processor. Do not infer that
@@ -133,8 +133,24 @@ assess the page with its non-text evidence.
133
133
 
134
134
  ## Image choices for a production task
135
135
 
136
+ Before capture, the Agent follows the document-capture Route procedure's task-wide
137
+ document threshold and image self-check, without asking for user confirmation.
138
+ Set `DOCUMENT_IMAGE_CAPTURE` in task instructions or workspace guidance to `ON`
139
+ (include images), `OFF` (references only), or a positive integer document threshold.
140
+ Omitting it uses `10`; exactly the threshold remains within normal acquisition.
141
+ Current-conversation instructions override workspace guidance for that task only.
142
+ For example, `DOCUMENT_IMAGE_CAPTURE: 20` skips image downloads when the task
143
+ contains more than 20 distinct documents. This is an Agent instruction, not an
144
+ environment variable, CLI flag or SDK field; no Bot configuration is required.
145
+ Above a numeric threshold, the default is body capture with image references,
146
+ unless the effective setting is overridden to `ON`. This workflow
147
+ choice uses the existing resource fields; it does not change SDK defaults or add
148
+ a CLI hard gate. Apply it before bulk capture or host prefetch, not after images
149
+ have already been downloaded.
150
+
136
151
  The work-start report asks once when a task contains more than 30 distinct images
137
- and has no explicit image policy. The choices are intelligent conversion and
152
+ that will be acquired and has no explicit image handling policy. Reuse the
153
+ current-conversation image instruction when it already settles this choice. The choices are intelligent conversion and
138
154
  inclusion (recommended), include all as images with compression, or include none
139
155
  with placeholders. Count the whole task, not each capture or writing batch.
140
156
  Review reports show the resulting image handling and any fallbacks.