@c4a/context-cli 0.7.30 → 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.30",
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.30",
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.30",
28
- "@c4a/extract": "0.7.30",
29
- "@c4a/extract-contract": "0.7.30",
30
- "@c4a/extract-go": "0.7.30",
31
- "@c4a/extract-mdx": "0.7.30",
32
- "@c4a/extract-proto": "0.7.30",
33
- "@c4a/extract-rush": "0.7.30",
34
- "@c4a/extract-sql": "0.7.30",
35
- "@c4a/extract-style": "0.7.30",
36
- "@c4a/extract-thrift": "0.7.30",
37
- "@c4a/extract-ts": "0.7.30",
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.30
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.30",
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.
@@ -184,6 +189,10 @@ Distinguish implementation,
184
189
  declared contracts, test assertions, runtime observations and inferences. Perform
185
190
  bounded non-destructive validation only when useful; inspect its effects first
186
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.
187
196
 
188
197
  Link material actually read: source files at the inspected commit, knowledge
189
198
  website articles and original documents. If no reliable clickable link exists,
@@ -195,6 +204,15 @@ appear in source URLs without requiring a separate version audit in the prose.
195
204
  Collect citation targets after the relevant evidence is established and resolve
196
205
  them in one batch using the host's existing link resolver when available. Reuse
197
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.
198
216
  If later evidence adds targets, resolve only those missing from the results.
199
217
  Without a host resolver, use an already available `context-site-map.json` from
200
218
  the selected package or website output. Do not search for `dist/` merely to
@@ -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.
@@ -183,6 +188,10 @@ Distinguish implementation,
183
188
  declared contracts, test assertions, runtime observations and inferences. Perform
184
189
  bounded non-destructive validation only when useful; inspect its effects first
185
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.
186
195
 
187
196
  Link material actually read: source files at the inspected commit, knowledge
188
197
  website articles and original documents. If no reliable clickable link exists,
@@ -194,6 +203,15 @@ appear in source URLs without requiring a separate version audit in the prose.
194
203
  Collect citation targets after the relevant evidence is established and resolve
195
204
  them in one batch using the host's existing link resolver when available. Reuse
196
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.
197
215
  If later evidence adds targets, resolve only those missing from the results.
198
216
  Without a host resolver, use an already available `context-site-map.json` from
199
217
  the selected package or website output. Do not search for `dist/` merely to
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c4a",
3
- "version": "0.7.30",
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.30",
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.
@@ -183,6 +188,10 @@ Distinguish implementation,
183
188
  declared contracts, test assertions, runtime observations and inferences. Perform
184
189
  bounded non-destructive validation only when useful; inspect its effects first
185
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.
186
195
 
187
196
  Link material actually read: source files at the inspected commit, knowledge
188
197
  website articles and original documents. If no reliable clickable link exists,
@@ -194,6 +203,15 @@ appear in source URLs without requiring a separate version audit in the prose.
194
203
  Collect citation targets after the relevant evidence is established and resolve
195
204
  them in one batch using the host's existing link resolver when available. Reuse
196
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.
197
215
  If later evidence adds targets, resolve only those missing from the results.
198
216
  Without a host resolver, use an already available `context-site-map.json` from
199
217
  the selected package or website output. Do not search for `dist/` merely to
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "displayName": "C4A Context",
4
- "version": "0.7.30",
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",
@@ -11,6 +11,11 @@ language. The invocation authorizes read-only investigation of the selected
11
11
  knowledge packages, available workspace and identified sources within that scope,
12
12
  including isolated source retrieval and bounded non-destructive checks. The Skill
13
13
  can run from a global installation with host-provided packages and no workspace.
14
+ The ordinary query path is contained in this file. Reuse instructions already
15
+ read in this response; do not reopen them for each stage. When actual delivery
16
+ requires separate host link or response Skills, read their still-unread main
17
+ instructions together once, and open conditional references only for the case
18
+ being handled. Do not prepare delivery that the host's progress mode skips.
14
19
  Resolve scope from the request, conversation and configuration before asking.
15
20
  Continue through non-blocking issues; ask only for missing access, genuinely
16
21
  unresolved scope or effects outside existing authorization.
@@ -182,6 +187,10 @@ Distinguish implementation,
182
187
  declared contracts, test assertions, runtime observations and inferences. Perform
183
188
  bounded non-destructive validation only when useful; inspect its effects first
184
189
  and do not run unrelated scripts, builds or tests.
190
+ Do not turn a symbolic constant or version-like name into a numeric value without
191
+ checking its actual imported definition at the inspected revision. A mock value
192
+ is not the production definition. Keep the symbol when its numeric value is not
193
+ needed; verify the value when the user's concrete boundary depends on it.
185
194
 
186
195
  Link material actually read: source files at the inspected commit, knowledge
187
196
  website articles and original documents. If no reliable clickable link exists,
@@ -193,6 +202,15 @@ appear in source URLs without requiring a separate version audit in the prose.
193
202
  Collect citation targets after the relevant evidence is established and resolve
194
203
  them in one batch using the host's existing link resolver when available. Reuse
195
204
  known workspace, repository and site parameters; do not rediscover them per link.
205
+ Include knowledge pages and original-source locations in that same batch. For
206
+ each source file, retain the actual inspected repository, full commit, path and
207
+ line range from the investigation; a recorded source reference alone may resolve
208
+ to an older baseline. Pass the inspected commit through the resolver's supported
209
+ contract, or supply a verified commit-specific URL when needed. Never first
210
+ resolve baseline links and then replace them with branch-head links merely as a
211
+ formatting step. If the revision cannot be established, state the attribution
212
+ limit rather than silently substituting another commit. Resolution formats
213
+ citations; it does not prove file contents, accessibility or live deployment.
196
214
  If later evidence adds targets, resolve only those missing from the results.
197
215
  Without a host resolver, use an already available `context-site-map.json` from
198
216
  the selected package or website output. Do not search for `dist/` merely to
@@ -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.
@@ -183,6 +188,10 @@ Distinguish implementation,
183
188
  declared contracts, test assertions, runtime observations and inferences. Perform
184
189
  bounded non-destructive validation only when useful; inspect its effects first
185
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.
186
195
 
187
196
  Link material actually read: source files at the inspected commit, knowledge
188
197
  website articles and original documents. If no reliable clickable link exists,
@@ -194,6 +203,15 @@ appear in source URLs without requiring a separate version audit in the prose.
194
203
  Collect citation targets after the relevant evidence is established and resolve
195
204
  them in one batch using the host's existing link resolver when available. Reuse
196
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.
197
215
  If later evidence adds targets, resolve only those missing from the results.
198
216
  Without a host resolver, use an already available `context-site-map.json` from
199
217
  the selected package or website output. Do not search for `dist/` merely to
@@ -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.
@@ -183,6 +188,10 @@ Distinguish implementation,
183
188
  declared contracts, test assertions, runtime observations and inferences. Perform
184
189
  bounded non-destructive validation only when useful; inspect its effects first
185
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.
186
195
 
187
196
  Link material actually read: source files at the inspected commit, knowledge
188
197
  website articles and original documents. If no reliable clickable link exists,
@@ -194,6 +203,15 @@ appear in source URLs without requiring a separate version audit in the prose.
194
203
  Collect citation targets after the relevant evidence is established and resolve
195
204
  them in one batch using the host's existing link resolver when available. Reuse
196
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.
197
215
  If later evidence adds targets, resolve only those missing from the results.
198
216
  Without a host resolver, use an already available `context-site-map.json` from
199
217
  the selected package or website output. Do not search for `dist/` merely to
@@ -2,7 +2,7 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.7.30"
5
+ "version": "0.7.34"
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:d5b6b44fe800f302232300adbdb4f32b04b78588ea7879dc9a5c247f36658b9d"
186
+ "digest": "sha256:ca488cf7d5c818b82c81ea2d9a058cb5e7b91b7de2656506dbc40f19c79fada8"
187
187
  },
188
188
  {
189
189
  "id": "context.sdk.package-outputs",
@@ -288,7 +288,7 @@
288
288
  {
289
289
  "id": "procedure.document-capture",
290
290
  "path": "resources/procedures/document-capture.md",
291
- "digest": "sha256:2e6b4e45587fffc1930a3dce0fc6b68d659499a034a367e1cc34a2ef46cb50d9"
291
+ "digest": "sha256:fea23e68a535ff1a567439fe8b05e027575762c4a8f04da2fd181c17e58076f4"
292
292
  },
293
293
  {
294
294
  "id": "procedure.document-code-investigation",
@@ -575,7 +575,7 @@
575
575
  },
576
576
  {
577
577
  "path": "provider.yaml",
578
- "digest": "sha256:50adfb493675f902e6df4d6eade84bb279c64b767084aa15277d65870825458e"
578
+ "digest": "sha256:ba2618496299deb80171ab9e7472a26b09d9187083347f22bdf65294564acc5d"
579
579
  },
580
580
  {
581
581
  "path": "resources/contracts/indexer-provider-guide.yaml",
@@ -635,7 +635,7 @@
635
635
  },
636
636
  {
637
637
  "path": "resources/manuals/guides/lark-resources.md",
638
- "digest": "sha256:d5b6b44fe800f302232300adbdb4f32b04b78588ea7879dc9a5c247f36658b9d"
638
+ "digest": "sha256:ca488cf7d5c818b82c81ea2d9a058cb5e7b91b7de2656506dbc40f19c79fada8"
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:2e6b4e45587fffc1930a3dce0fc6b68d659499a034a367e1cc34a2ef46cb50d9"
698
+ "digest": "sha256:fea23e68a535ff1a567439fe8b05e027575762c4a8f04da2fd181c17e58076f4"
699
699
  },
700
700
  {
701
701
  "path": "resources/procedures/document-code-investigation.md",
@@ -878,5 +878,5 @@
878
878
  "indexer": [],
879
879
  "workspace": []
880
880
  },
881
- "digest": "sha256:36c06f801f991b92bb78cc94676c8d338389bdc031f49577eb196a96628b2f76"
881
+ "digest": "sha256:b68d36eaf96c10f0a19ed342e9b15dc21e8ebec3e5864586e66e5f4af8c198f6"
882
882
  }
@@ -1,6 +1,6 @@
1
1
  schema: agent-graph.provider.v1
2
2
  id: c4a/context
3
- version: 0.7.30
3
+ version: 0.7.34
4
4
  name: Context workflow
5
5
  description: Internal work contract for Context knowledge workspaces.
6
6
  graphs:
@@ -18,7 +18,8 @@ resource checks; it does not fetch that supplied body again. See
18
18
 
19
19
  | Resource | Default capture behavior |
20
20
  |---|---|
21
- | Image and attachment | Download the original file and link it from the Markdown projection. |
21
+ | Image | Download the original; on explicit download permission denial, try a same-identity preview once and mark it as a preview. |
22
+ | Attachment | Download the original file and link it from the Markdown projection. |
22
23
  | Sheet | Read the complete selected sheet, render a Markdown table, and retain a CSV snapshot. |
23
24
  | Base | Read the selected table/view with pagination, render a Markdown table, and retain a canonical JSON snapshot. |
24
25
  | Whiteboard and diagram | Retain a readable preview plus the raw structured export. |
@@ -34,21 +35,22 @@ preserves an unavailable-resource notice with the reason code
34
35
  `document.resource.source-missing`, reports a warning, and continues capture;
35
36
  it does not pretend that the deleted content was materialized. When the current
36
37
  identity can read the document body but the API explicitly returns
37
- `authorization/permission_denied` for an embedded resource, Context records
38
+ an explicit permission denial (including HTTP 403) for an embedded resource, Context records
38
39
  `document.resource.permission-denied`, keeps the stable resource identity in
39
40
  the audit layer, renders the same unavailable-resource notice, and continues
40
- with a warning. Missing scopes, transient network errors, malformed payloads,
41
- and unclassified authorization failures still block capture. Reference-only
41
+ with a warning. Explicit missing-scope and access-denied resource responses are
42
+ likewise recorded without changing identity. Transient network errors, malformed
43
+ payloads, and unclassified failures still block capture. Reference-only
42
44
  resources remain explicit in the capture report. Unknown non-empty XML blocks
43
45
  stay auditable in the raw XML and receive a warning; the CLI does not infer
44
46
  their meaning.
45
47
 
46
- Document and resource reads share one access identity. Context first uses the
47
- user identity; it falls back to the bot identity only when user credentials
48
- are unavailable, never when the source denies permission or reports missing
49
- scopes. This prevents a capture from mixing document text read by one identity
50
- with attachments read by another. A bot fallback is reported in the capture
51
- result and remains subject to the bot's own access boundary.
48
+ Document and resource reads share one access identity. The configured default is
49
+ user. Bot mode permits one whole-document user fallback for a body authorization
50
+ failure, restarting all pages. After the body is read, resources remain under
51
+ that identity. A resource failure never requests another identity's credentials.
52
+ Legacy explicit auto mode may select Bot when user credentials are unavailable;
53
+ all resources still use the identity that supplied the complete body.
52
54
 
53
55
  ## Storage lifecycle
54
56
 
@@ -184,3 +186,13 @@ limits. The reading meaning of an image is handled in writing and Review.
184
186
  Source document links can be retained for viewing under the reader's permissions.
185
187
  Temporary signed media links are not durable image hosting. Do not embed access
186
188
  tokens in generated pages or claim that excluded images have been interpreted.
189
+
190
+ ### Capture identity and unavailable media
191
+
192
+ The selected document identity remains fixed for resource reads. In Bot mode,
193
+ only an authorization failure while reading the body can restart the article
194
+ as the current user. Resource failures never trigger that identity fallback.
195
+ Images may use the official same-identity preview endpoint after download
196
+ permission is denied. Previews are marked explicitly; unavailable resources
197
+ retain references and diagnostics. Use available body evidence without inferring
198
+ missing resource contents, and review evidence gaps before approving conclusions.
@@ -53,19 +53,26 @@ text or scan outside the confirmed boundary.
53
53
  For Lark reads, set `CONTEXT_LARK_IDENTITY=user|bot` in the environment of every
54
54
  Context invocation that may read Lark; the default is `user`. A host/Bot prompt
55
55
  setting alone is not an exported environment variable. User mode reads only
56
- as the current user. Bot mode reads as the configured application, then retries
57
- once as the current user on a credential, scope or access denial. Subsequent
58
- reads in that capture use the fallback identity, including pagination, synced
59
- references, media, Sheets, Base and whiteboards. Network, rate-limit and format
60
- errors do not switch identity. The diagnostic records any fallback.
56
+ as the current user. Bot mode may fall back once to the current user only when
57
+ reading the document body fails with a credential, scope or access denial.
58
+ The fallback restarts the entire body, including pagination; never combine body
59
+ pages from different identities. Once the body is available, its identity is
60
+ fixed for all media, synced references, Sheets, Base and whiteboard reads.
61
+ Resource failures do not request user authorization or restart the article.
62
+ Network, rate-limit and format errors do not switch identity.
63
+
64
+ An image download denied by permissions may use the official preview endpoint
65
+ once with the same identity. A captured preview is explicitly marked as such.
66
+ Unavailable resources retain their location and failure reason; continue with
67
+ other resources and usable body text. Never infer missing image contents or
68
+ present a partial snapshot as a complete original. Assess any evidence gaps
69
+ before approving conclusions that depend on those resources.
61
70
 
62
71
  This setting does not grant source access or change the intended audience of
63
72
  the resulting knowledge. Do not use another person's credentials. For direct
64
- host `lark-cli` reads, explicitly pass the selected `--as bot` or `--as user`
65
- on every business read, including Wiki resolution/listing and asset reads.
66
- If Bot access fails for the reasons above, retry that read once as user; stop
67
- and report a pending source if user authorization is required. In a managed
68
- runtime, use its authorization flow rather than repeatedly running `auth login`.
73
+ host reads, explicitly pass the article's selected identity on every read.
74
+ Only an article-level fallback may request the current user's authorization;
75
+ use the managed runtime's authorization flow once when needed.
69
76
  Local help and embedded skill discovery require no document authorization;
70
77
  do not request user OAuth just to read a CLI guide.
71
78