@c4a/context-cli 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +51 -3
  2. package/README.zh-CN.md +43 -3
  3. package/cli.js +32849 -28177
  4. package/docs/context-debug-event-v1.schema.json +31 -0
  5. package/docs/context-debug-replay-v1.schema.json +33 -0
  6. package/docs/debug-tracing.md +94 -0
  7. package/docs/quickstart.md +1 -1
  8. package/package.json +6 -3
  9. package/plugins/VERSION +1 -1
  10. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  11. package/plugins/claude/commands/continue.md +19 -14
  12. package/plugins/claude/commands/init.md +3 -1
  13. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  14. package/plugins/codex/skills/continue/SKILL.md +19 -14
  15. package/plugins/codex/skills/init/SKILL.md +2 -0
  16. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  17. package/plugins/cursor/commands/context-continue.md +19 -14
  18. package/plugins/cursor/commands/context-init.md +3 -1
  19. package/plugins/skills/context-continue/SKILL.md +19 -14
  20. package/plugins/skills/context-init/SKILL.md +2 -0
  21. package/providers/context/actions/inspect-code-extraction.yaml +5 -0
  22. package/providers/context/actions/inspect-repository-recovery.yaml +6 -0
  23. package/providers/context/actions/reconcile-review-identities.yaml +5 -0
  24. package/providers/context/actions/repair-verification.yaml +3 -3
  25. package/providers/context/actions/restore-repository-sources.yaml +7 -0
  26. package/providers/context/codes.yaml +2 -1
  27. package/providers/context/graphs/workspace.yaml +51 -8
  28. package/providers/context/manifest.json +126 -45
  29. package/providers/context/provider.yaml +1 -1
  30. package/providers/context/resources/dialogue/code-extraction.md +11 -0
  31. package/providers/context/resources/dialogue/package-output.md +9 -0
  32. package/providers/context/resources/dialogue/repository-source-recovery.md +23 -0
  33. package/providers/context/resources/manuals/guides/lark-resources.md +121 -0
  34. package/providers/context/resources/manuals/guides/package-outputs.md +22 -0
  35. package/providers/context/resources/manuals/reference/code-extractors.md +94 -0
  36. package/providers/context/resources/manuals/reference/package-templates.md +52 -0
  37. package/providers/context/resources/manuals/reference/project-api.md +78 -7
  38. package/providers/context/resources/procedures/close-and-build.md +5 -3
  39. package/providers/context/resources/procedures/code-extraction.md +23 -0
  40. package/providers/context/resources/procedures/document-capture.md +5 -1
  41. package/providers/context/resources/procedures/knowledge-review.md +10 -0
  42. package/providers/context/resources/procedures/package-output.md +21 -0
  43. package/providers/context/resources/procedures/repository-source-recovery.md +43 -0
  44. package/providers/context/resources/procedures/source-capture-detailed.md +13 -0
  45. package/providers/context/resources/procedures/verify-and-repair.md +12 -0
  46. package/providers/context/resources/semantic/align/gates.md +2 -2
  47. package/providers/context/resources/semantic/align/structure-planning.md +8 -3
  48. package/providers/context/resources/views/source-boundary.yaml +6 -0
  49. package/providers/context/schemas/repository-source-recovery.schema.json +40 -0
  50. package/providers/context/actions/ensure-repository-sources.yaml +0 -5
@@ -107,6 +107,23 @@ nodes:
107
107
  - resources/dialogue/structure-confirmation.md
108
108
  - resources/views/structure-current.yaml
109
109
 
110
+ - id: resume-align-next
111
+ kind: action
112
+ reasonCode: route.structure.pending-target
113
+ action: actions/align-next.yaml
114
+ satisfiedBy:
115
+ - path: resume.structure_refresh_required
116
+ exists: false
117
+ resources:
118
+ required:
119
+ - resources/procedures/prose-align.md
120
+ - resources/views/structure-current.yaml
121
+ recommended:
122
+ - resources/semantic/align/structure-planning.md
123
+ - resources/semantic/align/gates.md
124
+ - resources/semantic/align/density-profile.md
125
+ - resources/semantic/align/candidate-resolution.md
126
+
110
127
  - id: apply-structure-confirmation
111
128
  kind: action
112
129
  reasonCode: route.structure.confirm
@@ -133,6 +150,18 @@ nodes:
133
150
  - resources/views/structure-current.yaml
134
151
  - resources/semantic/compile/index.md
135
152
 
153
+ - id: resolve-review-identities
154
+ kind: action
155
+ reasonCode: route.review.identity-conflict
156
+ action: actions/reconcile-review-identities.yaml
157
+ satisfiedBy:
158
+ - path: review.identity_conflicts_present
159
+ exists: false
160
+ resources:
161
+ required:
162
+ - resources/procedures/knowledge-review.md
163
+ - resources/views/review-current.yaml
164
+
136
165
  - id: resume-review-current-batch
137
166
  kind: gate
138
167
  reasonCode: route.review.decision-required
@@ -186,15 +215,23 @@ nodes:
186
215
  - resources/procedures/source-capture-detailed.md
187
216
 
188
217
  - id: ensure-repository-sources
189
- kind: action
218
+ kind: gate
190
219
  reasonCode: route.source.repository-not-ready
191
- action: actions/ensure-repository-sources.yaml
220
+ inspectionAction: actions/inspect-repository-recovery.yaml
221
+ resolutionAction: actions/restore-repository-sources.yaml
222
+ gate:
223
+ id: repository-source-recovery
224
+ prompt: Choose how to restore each missing registered repository checkout.
225
+ authority: context.repository-restore
226
+ delegatable: false
192
227
  satisfiedBy:
193
228
  - path: sources.repositories_ready
194
229
  equals: true
195
230
  resources:
196
231
  required:
197
- - resources/procedures/source-boundary.md
232
+ - resources/procedures/repository-source-recovery.md
233
+ - resources/dialogue/human-gates.md
234
+ - resources/dialogue/repository-source-recovery.md
198
235
  - resources/views/source-current.yaml
199
236
 
200
237
  - id: configure-document-capture
@@ -211,6 +248,7 @@ nodes:
211
248
  recommended:
212
249
  - resources/procedures/document-capture.md
213
250
  - resources/views/source-current.yaml
251
+ - resources/manuals/guides/lark-resources.md
214
252
 
215
253
  - id: authorize-document-capture
216
254
  kind: gate
@@ -231,6 +269,7 @@ nodes:
231
269
  - resources/views/source-current.yaml
232
270
  recommended:
233
271
  - resources/procedures/source-capture-detailed.md
272
+ - resources/manuals/guides/lark-resources.md
234
273
 
235
274
  - id: capture-next
236
275
  kind: action
@@ -242,13 +281,15 @@ nodes:
242
281
  resources:
243
282
  required:
244
283
  - resources/procedures/document-capture.md
245
- - resources/views/source-current.yaml
284
+ - resources/views/source-boundary.yaml
246
285
  recommended:
247
286
  - resources/procedures/source-capture-detailed.md
287
+ - resources/manuals/guides/lark-resources.md
248
288
 
249
289
  - id: choose-extraction-scope
250
290
  kind: gate
251
291
  reasonCode: route.extract.scope-required
292
+ inspectionAction: actions/inspect-code-extraction.yaml
252
293
  gate:
253
294
  id: extraction-scope
254
295
  prompt: Confirm which registered code modules and symbol boundaries should enter code knowledge.
@@ -278,7 +319,7 @@ nodes:
278
319
  - resources/procedures/project-configuration.md
279
320
  - resources/procedures/code-extraction.md
280
321
  - resources/views/source-current.yaml
281
- - resources/manuals/reference/project-api.md
322
+ - resources/manuals/reference/code-extractors.md
282
323
 
283
324
  - id: extract-next
284
325
  kind: action
@@ -290,7 +331,7 @@ nodes:
290
331
  resources:
291
332
  required:
292
333
  - resources/procedures/code-extraction.md
293
- - resources/views/source-current.yaml
334
+ - resources/views/source-boundary.yaml
294
335
 
295
336
  - id: classify-document
296
337
  kind: gate
@@ -469,10 +510,12 @@ edges:
469
510
  - { from: choose-evidence-maintenance, to: maintain-evidence, kind: gatedBy }
470
511
  - { from: maintain-evidence, to: close-approved-knowledge }
471
512
  - { from: close-approved-knowledge, to: resume-prose-lifecycle }
472
- - { from: resume-prose-lifecycle, to: confirm-structure }
513
+ - { from: resume-prose-lifecycle, to: resume-align-next }
514
+ - { from: resume-align-next, to: confirm-structure }
473
515
  - { from: confirm-structure, to: apply-structure-confirmation, kind: gatedBy }
474
516
  - { from: apply-structure-confirmation, to: compile-next }
475
- - { from: compile-next, to: resume-review-current-batch }
517
+ - { from: compile-next, to: resolve-review-identities }
518
+ - { from: resolve-review-identities, to: resume-review-current-batch }
476
519
  - { from: resume-review-current-batch, to: apply-resumed-review, kind: gatedBy }
477
520
  - { from: apply-resumed-review, to: choose-source-boundary }
478
521
  - { from: choose-source-boundary, to: ensure-repository-sources, kind: gatedBy }
@@ -2,14 +2,14 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.6.2"
5
+ "version": "0.6.4"
6
6
  },
7
7
  "providerManifest": "provider.yaml",
8
8
  "graphs": [
9
9
  {
10
10
  "id": "workspace",
11
11
  "path": "graphs/workspace.yaml",
12
- "digest": "sha256:4b344cb9ecc03990f2a2f35aca372949917510f5957c4760fe69a651368eddbc"
12
+ "digest": "sha256:83c1b8feb410398a34051810cbefffe8fc86dd44211d32e049d3007ecea24d7e"
13
13
  }
14
14
  ],
15
15
  "actions": [
@@ -73,21 +73,26 @@
73
73
  "path": "actions/configure-prose-lifecycle.yaml",
74
74
  "digest": "sha256:226d20be637455b3ffba4a115dd0437d3330354d8a73b8e5313b3af303d53bcc"
75
75
  },
76
- {
77
- "id": "ensure-repository-sources",
78
- "path": "actions/ensure-repository-sources.yaml",
79
- "digest": "sha256:00205debd0e58065f04520b1543c3e5dffc0da63cf42ffff4370757e59557791"
80
- },
81
76
  {
82
77
  "id": "extract-next",
83
78
  "path": "actions/extract-next.yaml",
84
79
  "digest": "sha256:3d5e26cbdd912c9be666ce423b19456b31ab67da53c4e01a1a1c7a3dc1e6420a"
85
80
  },
81
+ {
82
+ "id": "inspect-code-extraction",
83
+ "path": "actions/inspect-code-extraction.yaml",
84
+ "digest": "sha256:214cf9b0f9645ec7164a779ab5779ccf5b3e3132b10f8f9f666213d048f582b1"
85
+ },
86
86
  {
87
87
  "id": "inspect-document-classification",
88
88
  "path": "actions/inspect-document-classification.yaml",
89
89
  "digest": "sha256:973889832e3adfba4fa019b3dfadda35fe22536c44ef97efba2299e6cdd65786"
90
90
  },
91
+ {
92
+ "id": "inspect-repository-recovery",
93
+ "path": "actions/inspect-repository-recovery.yaml",
94
+ "digest": "sha256:6890fc2fb95823753beb7684066ddaac0b02e377c5fe3f568ac75286e00c9e88"
95
+ },
91
96
  {
92
97
  "id": "inspect-review",
93
98
  "path": "actions/inspect-review.yaml",
@@ -108,6 +113,11 @@
108
113
  "path": "actions/materialize-context-view.yaml",
109
114
  "digest": "sha256:0ed6b73b6a31324575fd10fb8f2067c8381609ab272a031b326080506105d115"
110
115
  },
116
+ {
117
+ "id": "reconcile-review-identities",
118
+ "path": "actions/reconcile-review-identities.yaml",
119
+ "digest": "sha256:aac95cc46ab8a872bdd1cc53cf64e3bbde8cf8dc2d6e9ac2da82bb378fcfe09a"
120
+ },
111
121
  {
112
122
  "id": "register-source-batch",
113
123
  "path": "actions/register-source-batch.yaml",
@@ -121,12 +131,17 @@
121
131
  {
122
132
  "id": "repair-verification",
123
133
  "path": "actions/repair-verification.yaml",
124
- "digest": "sha256:ab78ad85d3d001e7897bbb3f952f1489753d58a222b7aaefecb41d189a806375"
134
+ "digest": "sha256:835789670d5a3ee0b140820c79a26b925b8df374a4a93f598055dfcb06498cc7"
125
135
  },
126
136
  {
127
137
  "id": "repair-workspace-state",
128
138
  "path": "actions/repair-workspace-state.yaml",
129
139
  "digest": "sha256:67296adf5336a7f746e250dc23676972282f88410fb6a6edc41a929e15d1856b"
140
+ },
141
+ {
142
+ "id": "restore-repository-sources",
143
+ "path": "actions/restore-repository-sources.yaml",
144
+ "digest": "sha256:8e44f0dc15ac9b0eea8af62dcefd315d7c03a52dab1cda373537d275ae7383dc"
130
145
  }
131
146
  ],
132
147
  "resources": [
@@ -140,20 +155,25 @@
140
155
  "path": "resources/views/review-current.yaml",
141
156
  "digest": "sha256:264b6f7de5cce9034e5e0a344bf29341421467bfb1ef96c298d4936ee99d13f5"
142
157
  },
158
+ {
159
+ "id": "context.sdk.lark-resources",
160
+ "path": "resources/manuals/guides/lark-resources.md",
161
+ "digest": "sha256:a179bb8bf7d8185bb6f3033ef692dd15fa5b702c91525e7c272d3025d3bb7c52"
162
+ },
143
163
  {
144
164
  "id": "context.sdk.package-outputs",
145
165
  "path": "resources/manuals/guides/package-outputs.md",
146
- "digest": "sha256:df6236373c23ffde93283b0999450250d90fa1e961185f83b9060a6ba56400fc"
166
+ "digest": "sha256:dd9e8c21ece757a683b9ebf219d3bd6235b9a0ada43b537f143b3f2eacbb8eb9"
147
167
  },
148
168
  {
149
169
  "id": "context.sdk.package-templates",
150
170
  "path": "resources/manuals/reference/package-templates.md",
151
- "digest": "sha256:32d5fd550304d76fe011aadce4abcb0321f656c710cbeb91d964b463316561d5"
171
+ "digest": "sha256:125c867bfc33e953541f89f1fc4f9b779680e9d994071a47dd8d6c36201a2e7a"
152
172
  },
153
173
  {
154
174
  "id": "context.sdk.project-api",
155
175
  "path": "resources/manuals/reference/project-api.md",
156
- "digest": "sha256:9ab0be26aeccea79f561c7ecd01636beb97b7088ea1ddb141c3cbc96af758508"
176
+ "digest": "sha256:0e21f44f9c239abf176da0bcf4094f2b1d0085f31240b97b85a8b44d4633493e"
157
177
  },
158
178
  {
159
179
  "id": "context.sdk.template-variables",
@@ -163,7 +183,7 @@
163
183
  {
164
184
  "id": "context.semantic.align.align-gates",
165
185
  "path": "resources/semantic/align/gates.md",
166
- "digest": "sha256:b3982f5104418ba9a9a9b600f362cf83dba6d0becbb4efd128fe1eea89eba727"
186
+ "digest": "sha256:517be59f675022a5d9e3fa04f9b35f801a80fc32aa42084dac8bce8a45481fea"
167
187
  },
168
188
  {
169
189
  "id": "context.semantic.align.candidate-resolution",
@@ -178,13 +198,18 @@
178
198
  {
179
199
  "id": "context.semantic.align.structure-planning",
180
200
  "path": "resources/semantic/align/structure-planning.md",
181
- "digest": "sha256:c6d8902f7f70857596d3486307bb5e58ffaac6efd6021451e487c92ceb86f87d"
201
+ "digest": "sha256:73d7d1cb49ad27691e7baa29003fa1736fc8a7036c6094f40f733e62fd3c1aad"
182
202
  },
183
203
  {
184
204
  "id": "context.semantic.compile.index",
185
205
  "path": "resources/semantic/compile/index.md",
186
206
  "digest": "sha256:4145f6bdc2855e354d00d311448584c3ed4b73849fc1277a2ed72d7be84e9e7c"
187
207
  },
208
+ {
209
+ "id": "context.source-boundary",
210
+ "path": "resources/views/source-boundary.yaml",
211
+ "digest": "sha256:6ff3eeaeb3ea8c3908106c26cfe8b8a6c6b0f636e3daaf7da9511830305feee2"
212
+ },
188
213
  {
189
214
  "id": "context.source-current",
190
215
  "path": "resources/views/source-current.yaml",
@@ -223,7 +248,7 @@
223
248
  {
224
249
  "id": "dialogue.code-extraction",
225
250
  "path": "resources/dialogue/code-extraction.md",
226
- "digest": "sha256:367c845da3ebab0354d77918170101ee9d5e6aa19700d33db2cbeffffb6b5b70"
251
+ "digest": "sha256:5aa3b52dcf9cd9bd058baea7dadb123eead162a1ec7640cc63c7c359e71922e3"
227
252
  },
228
253
  {
229
254
  "id": "dialogue.document-capture",
@@ -253,7 +278,12 @@
253
278
  {
254
279
  "id": "dialogue.package-output",
255
280
  "path": "resources/dialogue/package-output.md",
256
- "digest": "sha256:0ca7a9e56397f9acc62d92777d91e0203e2d6caa7f08268dca8037987e5911a5"
281
+ "digest": "sha256:fcf64598b9a505c764ae4984ff4d63a7010143f749ba454e220752f737306612"
282
+ },
283
+ {
284
+ "id": "dialogue.repository-source-recovery",
285
+ "path": "resources/dialogue/repository-source-recovery.md",
286
+ "digest": "sha256:ac1c7ba59f91d870f011eb1526afa83003e45205a6c436f635fb0e5b2e3c3055"
257
287
  },
258
288
  {
259
289
  "id": "dialogue.source-boundary",
@@ -265,20 +295,25 @@
265
295
  "path": "resources/dialogue/structure-confirmation.md",
266
296
  "digest": "sha256:4f9667860bb555c2cf236237c5a21644b7a2b249a452337d83087fa4c389dc2d"
267
297
  },
298
+ {
299
+ "id": "manual.reference.code-extractors",
300
+ "path": "resources/manuals/reference/code-extractors.md",
301
+ "digest": "sha256:6af1a9ea24b59bd5cb2125296e04d19529c92be77910e5e768251e6c4bd7902a"
302
+ },
268
303
  {
269
304
  "id": "procedure.close-and-build",
270
305
  "path": "resources/procedures/close-and-build.md",
271
- "digest": "sha256:19c630e9c4c05f5b430df603fb705731427d2ef4bfcaf83a1b653d364164cae2"
306
+ "digest": "sha256:752f44bbb939cfb2c48bf3900069412b7c8c0eb135bb2b539de6b1e6862e847c"
272
307
  },
273
308
  {
274
309
  "id": "procedure.code-extraction",
275
310
  "path": "resources/procedures/code-extraction.md",
276
- "digest": "sha256:0563be260b3c37f1c7a1a9c831ba3a0c01a872ec3ddc64fd28d414e3c876f7e2"
311
+ "digest": "sha256:dce77b35fffbba51cbc8d6bc9d2abe2924229a6248eb9585b90e63ab9e05e37a"
277
312
  },
278
313
  {
279
314
  "id": "procedure.document-capture",
280
315
  "path": "resources/procedures/document-capture.md",
281
- "digest": "sha256:07f8ccfe3429c28f7dd6b732821911b9636e9a0a9f1b6034986dce669b416248"
316
+ "digest": "sha256:482fa395dbc5ed167a4c1180463e0b9929d2a9a5a90f4ef0b5122cabf2cce80b"
282
317
  },
283
318
  {
284
319
  "id": "procedure.document-classification",
@@ -293,12 +328,12 @@
293
328
  {
294
329
  "id": "procedure.knowledge-review",
295
330
  "path": "resources/procedures/knowledge-review.md",
296
- "digest": "sha256:5ebf2bb9399d291f8a5dbba249169b4fb221e456aa6c05081c4c54b2e6f3cf48"
331
+ "digest": "sha256:a5d1f85514125eee0da2fda87b9b9af1e922248dffd8e3fc98f626a8325297d2"
297
332
  },
298
333
  {
299
334
  "id": "procedure.package-output",
300
335
  "path": "resources/procedures/package-output.md",
301
- "digest": "sha256:c088c2341fa64caa25a04c3cef75635b2f635a932bfc7326b35cff59fc390b29"
336
+ "digest": "sha256:5d93de483e668fe77c5eaabb3ae52d4d9c36f73b61e264fd40d53f7f4d008bf8"
302
337
  },
303
338
  {
304
339
  "id": "procedure.project-configuration",
@@ -315,6 +350,11 @@
315
350
  "path": "resources/procedures/prose-compile.md",
316
351
  "digest": "sha256:c36ba3dcf9aa11a8759afaab2c9a99859c31acaf5f06456c4e0e6793130b7d6e"
317
352
  },
353
+ {
354
+ "id": "procedure.repository-source-recovery",
355
+ "path": "resources/procedures/repository-source-recovery.md",
356
+ "digest": "sha256:af42c0f67d48518e76f4feac1969476fe16e35f591d2dd4432ae57fb31b6f794"
357
+ },
318
358
  {
319
359
  "id": "procedure.source-boundary",
320
360
  "path": "resources/procedures/source-boundary.md",
@@ -323,12 +363,12 @@
323
363
  {
324
364
  "id": "procedure.source-capture-detailed",
325
365
  "path": "resources/procedures/source-capture-detailed.md",
326
- "digest": "sha256:0cf764a43c33fbcf86b32a3731fec5905ebf0d312b7939059aae99a6ab0532e2"
366
+ "digest": "sha256:45fd35260c6bcd799ebf4f9069596a604cd23333332e45ef05d2b87f1ad02dfc"
327
367
  },
328
368
  {
329
369
  "id": "procedure.verify-and-repair",
330
370
  "path": "resources/procedures/verify-and-repair.md",
331
- "digest": "sha256:6becb02923a07eae47de7a9cfca2fc28ee3932a62bbcf4d273ec0f5b430b15e9"
371
+ "digest": "sha256:177d6c1f1f263f5c502ad197067a7fdcd5165d7ce2ac778672201c9f90888589"
332
372
  }
333
373
  ],
334
374
  "schemas": [
@@ -342,6 +382,11 @@
342
382
  "path": "schemas/prose-structure-batch.schema.json",
343
383
  "digest": "sha256:fc4ebbb5ee81ae77238cd60350ebac16f55e8a5adf3f5f5db411040474e01842"
344
384
  },
385
+ {
386
+ "id": "schemas/repository-source-recovery.schema.json",
387
+ "path": "schemas/repository-source-recovery.schema.json",
388
+ "digest": "sha256:589aea722965d81c9291232346bfc1d90ea04a94913d8ab7e3461e5a92746c56"
389
+ },
345
390
  {
346
391
  "id": "schemas/source-batch-input.schema.json",
347
392
  "path": "schemas/source-batch-input.schema.json",
@@ -397,18 +442,22 @@
397
442
  "path": "actions/configure-prose-lifecycle.yaml",
398
443
  "digest": "sha256:226d20be637455b3ffba4a115dd0437d3330354d8a73b8e5313b3af303d53bcc"
399
444
  },
400
- {
401
- "path": "actions/ensure-repository-sources.yaml",
402
- "digest": "sha256:00205debd0e58065f04520b1543c3e5dffc0da63cf42ffff4370757e59557791"
403
- },
404
445
  {
405
446
  "path": "actions/extract-next.yaml",
406
447
  "digest": "sha256:3d5e26cbdd912c9be666ce423b19456b31ab67da53c4e01a1a1c7a3dc1e6420a"
407
448
  },
449
+ {
450
+ "path": "actions/inspect-code-extraction.yaml",
451
+ "digest": "sha256:214cf9b0f9645ec7164a779ab5779ccf5b3e3132b10f8f9f666213d048f582b1"
452
+ },
408
453
  {
409
454
  "path": "actions/inspect-document-classification.yaml",
410
455
  "digest": "sha256:973889832e3adfba4fa019b3dfadda35fe22536c44ef97efba2299e6cdd65786"
411
456
  },
457
+ {
458
+ "path": "actions/inspect-repository-recovery.yaml",
459
+ "digest": "sha256:6890fc2fb95823753beb7684066ddaac0b02e377c5fe3f568ac75286e00c9e88"
460
+ },
412
461
  {
413
462
  "path": "actions/inspect-review.yaml",
414
463
  "digest": "sha256:79ab3605a3b17d227f4c3ae4d207634884e1422c4bb07fc275e98c2bb296f140"
@@ -425,6 +474,10 @@
425
474
  "path": "actions/materialize-context-view.yaml",
426
475
  "digest": "sha256:0ed6b73b6a31324575fd10fb8f2067c8381609ab272a031b326080506105d115"
427
476
  },
477
+ {
478
+ "path": "actions/reconcile-review-identities.yaml",
479
+ "digest": "sha256:aac95cc46ab8a872bdd1cc53cf64e3bbde8cf8dc2d6e9ac2da82bb378fcfe09a"
480
+ },
428
481
  {
429
482
  "path": "actions/register-source-batch.yaml",
430
483
  "digest": "sha256:e2f406ce398f21bfb0a0cb43b88416422581519a8e74168f44a2a4f5f7e673f6"
@@ -435,23 +488,27 @@
435
488
  },
436
489
  {
437
490
  "path": "actions/repair-verification.yaml",
438
- "digest": "sha256:ab78ad85d3d001e7897bbb3f952f1489753d58a222b7aaefecb41d189a806375"
491
+ "digest": "sha256:835789670d5a3ee0b140820c79a26b925b8df374a4a93f598055dfcb06498cc7"
439
492
  },
440
493
  {
441
494
  "path": "actions/repair-workspace-state.yaml",
442
495
  "digest": "sha256:67296adf5336a7f746e250dc23676972282f88410fb6a6edc41a929e15d1856b"
443
496
  },
497
+ {
498
+ "path": "actions/restore-repository-sources.yaml",
499
+ "digest": "sha256:8e44f0dc15ac9b0eea8af62dcefd315d7c03a52dab1cda373537d275ae7383dc"
500
+ },
444
501
  {
445
502
  "path": "codes.yaml",
446
- "digest": "sha256:cee059821edb0cf7601189649172418031ec145438e0647a248813c6255f0d55"
503
+ "digest": "sha256:583f6b7e4d489d42328ea0f7ad73b95c6a28c03cc44bd4b703443f00cdb66a6d"
447
504
  },
448
505
  {
449
506
  "path": "graphs/workspace.yaml",
450
- "digest": "sha256:4b344cb9ecc03990f2a2f35aca372949917510f5957c4760fe69a651368eddbc"
507
+ "digest": "sha256:83c1b8feb410398a34051810cbefffe8fc86dd44211d32e049d3007ecea24d7e"
451
508
  },
452
509
  {
453
510
  "path": "provider.yaml",
454
- "digest": "sha256:0edd1fb11947dbf99179fc715b1a9182a4ed8ffe2007ff1859c09eb2aba609d5"
511
+ "digest": "sha256:f02c4060d0a30553de73be5ada2ea3086c5e91348fd920cbf282f60bebf270b5"
455
512
  },
456
513
  {
457
514
  "path": "resources/diagnostics/projection-stale.md",
@@ -467,7 +524,7 @@
467
524
  },
468
525
  {
469
526
  "path": "resources/dialogue/code-extraction.md",
470
- "digest": "sha256:367c845da3ebab0354d77918170101ee9d5e6aa19700d33db2cbeffffb6b5b70"
527
+ "digest": "sha256:5aa3b52dcf9cd9bd058baea7dadb123eead162a1ec7640cc63c7c359e71922e3"
471
528
  },
472
529
  {
473
530
  "path": "resources/dialogue/document-capture.md",
@@ -491,7 +548,11 @@
491
548
  },
492
549
  {
493
550
  "path": "resources/dialogue/package-output.md",
494
- "digest": "sha256:0ca7a9e56397f9acc62d92777d91e0203e2d6caa7f08268dca8037987e5911a5"
551
+ "digest": "sha256:fcf64598b9a505c764ae4984ff4d63a7010143f749ba454e220752f737306612"
552
+ },
553
+ {
554
+ "path": "resources/dialogue/repository-source-recovery.md",
555
+ "digest": "sha256:ac1c7ba59f91d870f011eb1526afa83003e45205a6c436f635fb0e5b2e3c3055"
495
556
  },
496
557
  {
497
558
  "path": "resources/dialogue/source-boundary.md",
@@ -501,17 +562,25 @@
501
562
  "path": "resources/dialogue/structure-confirmation.md",
502
563
  "digest": "sha256:4f9667860bb555c2cf236237c5a21644b7a2b249a452337d83087fa4c389dc2d"
503
564
  },
565
+ {
566
+ "path": "resources/manuals/guides/lark-resources.md",
567
+ "digest": "sha256:a179bb8bf7d8185bb6f3033ef692dd15fa5b702c91525e7c272d3025d3bb7c52"
568
+ },
504
569
  {
505
570
  "path": "resources/manuals/guides/package-outputs.md",
506
- "digest": "sha256:df6236373c23ffde93283b0999450250d90fa1e961185f83b9060a6ba56400fc"
571
+ "digest": "sha256:dd9e8c21ece757a683b9ebf219d3bd6235b9a0ada43b537f143b3f2eacbb8eb9"
572
+ },
573
+ {
574
+ "path": "resources/manuals/reference/code-extractors.md",
575
+ "digest": "sha256:6af1a9ea24b59bd5cb2125296e04d19529c92be77910e5e768251e6c4bd7902a"
507
576
  },
508
577
  {
509
578
  "path": "resources/manuals/reference/package-templates.md",
510
- "digest": "sha256:32d5fd550304d76fe011aadce4abcb0321f656c710cbeb91d964b463316561d5"
579
+ "digest": "sha256:125c867bfc33e953541f89f1fc4f9b779680e9d994071a47dd8d6c36201a2e7a"
511
580
  },
512
581
  {
513
582
  "path": "resources/manuals/reference/project-api.md",
514
- "digest": "sha256:9ab0be26aeccea79f561c7ecd01636beb97b7088ea1ddb141c3cbc96af758508"
583
+ "digest": "sha256:0e21f44f9c239abf176da0bcf4094f2b1d0085f31240b97b85a8b44d4633493e"
515
584
  },
516
585
  {
517
586
  "path": "resources/manuals/reference/template-variables.md",
@@ -519,15 +588,15 @@
519
588
  },
520
589
  {
521
590
  "path": "resources/procedures/close-and-build.md",
522
- "digest": "sha256:19c630e9c4c05f5b430df603fb705731427d2ef4bfcaf83a1b653d364164cae2"
591
+ "digest": "sha256:752f44bbb939cfb2c48bf3900069412b7c8c0eb135bb2b539de6b1e6862e847c"
523
592
  },
524
593
  {
525
594
  "path": "resources/procedures/code-extraction.md",
526
- "digest": "sha256:0563be260b3c37f1c7a1a9c831ba3a0c01a872ec3ddc64fd28d414e3c876f7e2"
595
+ "digest": "sha256:dce77b35fffbba51cbc8d6bc9d2abe2924229a6248eb9585b90e63ab9e05e37a"
527
596
  },
528
597
  {
529
598
  "path": "resources/procedures/document-capture.md",
530
- "digest": "sha256:07f8ccfe3429c28f7dd6b732821911b9636e9a0a9f1b6034986dce669b416248"
599
+ "digest": "sha256:482fa395dbc5ed167a4c1180463e0b9929d2a9a5a90f4ef0b5122cabf2cce80b"
531
600
  },
532
601
  {
533
602
  "path": "resources/procedures/document-classification.md",
@@ -539,11 +608,11 @@
539
608
  },
540
609
  {
541
610
  "path": "resources/procedures/knowledge-review.md",
542
- "digest": "sha256:5ebf2bb9399d291f8a5dbba249169b4fb221e456aa6c05081c4c54b2e6f3cf48"
611
+ "digest": "sha256:a5d1f85514125eee0da2fda87b9b9af1e922248dffd8e3fc98f626a8325297d2"
543
612
  },
544
613
  {
545
614
  "path": "resources/procedures/package-output.md",
546
- "digest": "sha256:c088c2341fa64caa25a04c3cef75635b2f635a932bfc7326b35cff59fc390b29"
615
+ "digest": "sha256:5d93de483e668fe77c5eaabb3ae52d4d9c36f73b61e264fd40d53f7f4d008bf8"
547
616
  },
548
617
  {
549
618
  "path": "resources/procedures/project-configuration.md",
@@ -557,17 +626,21 @@
557
626
  "path": "resources/procedures/prose-compile.md",
558
627
  "digest": "sha256:c36ba3dcf9aa11a8759afaab2c9a99859c31acaf5f06456c4e0e6793130b7d6e"
559
628
  },
629
+ {
630
+ "path": "resources/procedures/repository-source-recovery.md",
631
+ "digest": "sha256:af42c0f67d48518e76f4feac1969476fe16e35f591d2dd4432ae57fb31b6f794"
632
+ },
560
633
  {
561
634
  "path": "resources/procedures/source-boundary.md",
562
635
  "digest": "sha256:99097947961d7fa5b17f9e6b9c9471aac38cec1943bd7feb414b21d6a1e26a49"
563
636
  },
564
637
  {
565
638
  "path": "resources/procedures/source-capture-detailed.md",
566
- "digest": "sha256:0cf764a43c33fbcf86b32a3731fec5905ebf0d312b7939059aae99a6ab0532e2"
639
+ "digest": "sha256:45fd35260c6bcd799ebf4f9069596a604cd23333332e45ef05d2b87f1ad02dfc"
567
640
  },
568
641
  {
569
642
  "path": "resources/procedures/verify-and-repair.md",
570
- "digest": "sha256:6becb02923a07eae47de7a9cfca2fc28ee3932a62bbcf4d273ec0f5b430b15e9"
643
+ "digest": "sha256:177d6c1f1f263f5c502ad197067a7fdcd5165d7ce2ac778672201c9f90888589"
571
644
  },
572
645
  {
573
646
  "path": "resources/semantic/align/candidate-resolution.md",
@@ -579,11 +652,11 @@
579
652
  },
580
653
  {
581
654
  "path": "resources/semantic/align/gates.md",
582
- "digest": "sha256:b3982f5104418ba9a9a9b600f362cf83dba6d0becbb4efd128fe1eea89eba727"
655
+ "digest": "sha256:517be59f675022a5d9e3fa04f9b35f801a80fc32aa42084dac8bce8a45481fea"
583
656
  },
584
657
  {
585
658
  "path": "resources/semantic/align/structure-planning.md",
586
- "digest": "sha256:c6d8902f7f70857596d3486307bb5e58ffaac6efd6021451e487c92ceb86f87d"
659
+ "digest": "sha256:73d7d1cb49ad27691e7baa29003fa1736fc8a7036c6094f40f733e62fd3c1aad"
587
660
  },
588
661
  {
589
662
  "path": "resources/semantic/compile/index.md",
@@ -597,6 +670,10 @@
597
670
  "path": "resources/views/review-current.yaml",
598
671
  "digest": "sha256:264b6f7de5cce9034e5e0a344bf29341421467bfb1ef96c298d4936ee99d13f5"
599
672
  },
673
+ {
674
+ "path": "resources/views/source-boundary.yaml",
675
+ "digest": "sha256:6ff3eeaeb3ea8c3908106c26cfe8b8a6c6b0f636e3daaf7da9511830305feee2"
676
+ },
600
677
  {
601
678
  "path": "resources/views/source-current.yaml",
602
679
  "digest": "sha256:2d9c832f7f6c460d2b1e413048093da1ffb939f7d6ac4dc770433815c8fe3f09"
@@ -621,6 +698,10 @@
621
698
  "path": "schemas/prose-structure-batch.schema.json",
622
699
  "digest": "sha256:fc4ebbb5ee81ae77238cd60350ebac16f55e8a5adf3f5f5db411040474e01842"
623
700
  },
701
+ {
702
+ "path": "schemas/repository-source-recovery.schema.json",
703
+ "digest": "sha256:589aea722965d81c9291232346bfc1d90ea04a94913d8ab7e3461e5a92746c56"
704
+ },
624
705
  {
625
706
  "path": "schemas/source-batch-input.schema.json",
626
707
  "digest": "sha256:aa5f1a1bf6a6573982e89e50c9d991f6aa72a5cbbda0867d1f483e30315c4409"
@@ -633,5 +714,5 @@
633
714
  "graphDependencies": {
634
715
  "workspace": []
635
716
  },
636
- "digest": "sha256:f9d3b6ea8d0b93df323af7557c9729ecb328a260c5389ed8869c21e1290726d3"
717
+ "digest": "sha256:c039063eb3d29dadd7b60279dfd97f809c007f8cbb39f1dafe47667a994cd3e7"
637
718
  }
@@ -1,6 +1,6 @@
1
1
  schema: agent-graph.provider.v1
2
2
  id: c4a/context
3
- version: 0.6.2
3
+ version: 0.6.4
4
4
  name: Context workflow
5
5
  description: Internal work contract for Context knowledge workspaces.
6
6
  graphs:
@@ -16,11 +16,22 @@ Describe the proposed code scope before SDK fields. State:
16
16
  - that the first run or later deltas produce Review candidates rather than
17
17
  approved Markdown.
18
18
 
19
+ Also state the inspected manifest signals and the chosen extractor in one
20
+ sentence. Say whether the selected capability covers the module directly or
21
+ whether a project-owned adapter supplies the missing mapping. Do not ask the
22
+ user to choose between parser package names unless two genuinely incompatible
23
+ technical choices remain.
24
+
19
25
  If a selected package lacks a standard entry, offer two Context-owned choices:
20
26
  configure source-relative API roots, or use scan mode for all declarations in
21
27
  the confirmed file scope. Do not ask the user to change source code or package
22
28
  metadata to satisfy Context.
23
29
 
30
+ For a non-TypeScript source or an aggregated repository protocol, explain that
31
+ the project will use `extractCustom()`. If an optional structural extractor is
32
+ available, use it for syntax facts and keep project-specific classification in
33
+ the project callback; do not imply that installing it adds a new CLI phase.
34
+
24
35
  Run the route-selected dry-run first. Report discovered, AST-analyzed, skipped,
25
36
  symbol, relation, and candidate counts separately, plus resolved entries,
26
37
  exported/internal counts, symbol-kind counts, and the proposed knowledge tree.
@@ -25,6 +25,15 @@ package namespace. Ask whether Skills need a short optional prefix, then
25
25
  maintain their complete final names in the template. Do not expose downstream
26
26
  layout terminology or ask for platform-specific identity fields.
27
27
 
28
+ Also ask how referenced resources should be delivered. Offer Git raw links,
29
+ bundled files, or explicit omission. Git raw may derive a commit-pinned GitHub
30
+ URL when the workspace is in Git, or use an author-provided HTTPS `urlPrefix`
31
+ for resources published from another repository. A literal branch in that
32
+ prefix is an explicit project choice, not a Context default. If neither local
33
+ Git nor an explicit prefix is available, offer only bundle or omit.
34
+ State that publishing the referenced resources and making private raw hosts
35
+ reachable are the package author's responsibility; Context does not probe them.
36
+
28
37
  Do not offer a hidden `both` shortcut. If the user wants multiple outputs,
29
38
  declare and inspect one first, then obtain confirmation for the next. Mention
30
39
  `kbPackage` and `llmsPackage` only after the semantic output choice.
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: dialogue.repository-source-recovery
3
+ kind: procedure
4
+ mediaType: text/markdown
5
+ ---
6
+
7
+ # Repository source recovery dialogue
8
+
9
+ Explain that the Context project is intact: only Git-ignored source checkouts
10
+ or local links are missing. Show one choice per physical repository, not per
11
+ logical module.
12
+
13
+ For an existing checkout, ask for its path or ask the user to authorize a
14
+ specific parent directory for a bounded scan. Show matching candidates with
15
+ their origin, HEAD, dirty state, and required subpath coverage before the user
16
+ selects one. Do not modify, switch, clean, or pull the selected checkout.
17
+
18
+ For a clone, show the registered remote, pinned commit, target directory, and
19
+ the logical modules that will share it. The clone restores the recorded source
20
+ version; it does not silently advance to the latest branch.
21
+
22
+ After recovery, summarize reused and cloned checkouts, actual commits, restored
23
+ module links, and any remaining permission or missing-subpath blockers.