@c4a/context-cli 0.6.7 → 0.6.9
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.
- package/README.md +156 -220
- package/README.zh-CN.md +120 -160
- package/cli.js +1533 -869
- package/docs/quickstart.md +57 -70
- package/docs/quickstart.zh-CN.md +79 -0
- package/package.json +4 -4
- package/plugins/.agents/plugins/marketplace.json +1 -1
- package/plugins/.claude-plugin/marketplace.json +2 -2
- package/plugins/.cursor-plugin/marketplace.json +2 -2
- package/plugins/README.md +79 -66
- package/plugins/README_CN.md +62 -57
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +3 -3
- package/plugins/claude/commands/context.md +121 -0
- package/plugins/codex/.codex-plugin/plugin.json +4 -4
- package/plugins/codex/skills/context/SKILL.md +133 -0
- package/plugins/cursor/.cursor-plugin/plugin.json +3 -3
- package/plugins/cursor/README.md +2 -2
- package/plugins/cursor/commands/c4a-context.md +125 -0
- package/plugins/skills/c4a-context/SKILL.md +133 -0
- package/providers/context/actions/flush-runtime-events.yaml +5 -0
- package/providers/context/codes.yaml +1 -0
- package/providers/context/graphs/workspace.yaml +53 -2
- package/providers/context/manifest.json +48 -12
- package/providers/context/provider.yaml +2 -2
- package/providers/context/resources/dialogue/workflow-mode-after-capture.md +22 -0
- package/providers/context/resources/dialogue/workflow-mode-after-creation.md +25 -0
- package/providers/context/resources/manuals/guides/package-outputs.md +1 -1
- package/providers/context/resources/manuals/reference/package-templates.md +13 -1
- package/providers/context/resources/procedures/package-output.md +16 -2
- package/providers/context/resources/procedures/runtime-event-delivery.md +86 -0
- package/plugins/claude/commands/continue.md +0 -85
- package/plugins/claude/commands/init.md +0 -36
- package/plugins/codex/skills/continue/SKILL.md +0 -97
- package/plugins/codex/skills/init/SKILL.md +0 -48
- package/plugins/cursor/commands/context-continue.md +0 -89
- package/plugins/cursor/commands/context-init.md +0 -40
- package/plugins/skills/context-continue/SKILL.md +0 -97
- package/plugins/skills/context-init/SKILL.md +0 -48
|
@@ -2,7 +2,7 @@ schema: agent-graph.graph.v1
|
|
|
2
2
|
id: workspace
|
|
3
3
|
description: Fact-grounded lifecycle for a Context knowledge workspace.
|
|
4
4
|
entrypoints:
|
|
5
|
-
|
|
5
|
+
context: repair-project-entry
|
|
6
6
|
nodes:
|
|
7
7
|
- id: repair-project-entry
|
|
8
8
|
kind: action
|
|
@@ -92,6 +92,12 @@ nodes:
|
|
|
92
92
|
kind: gate
|
|
93
93
|
reasonCode: route.structure.confirmation-required
|
|
94
94
|
inspectionAction: actions/inspect-structure.yaml
|
|
95
|
+
resolutionAction: actions/apply-structure-confirmation.yaml
|
|
96
|
+
delegated:
|
|
97
|
+
inspection: skip
|
|
98
|
+
resources:
|
|
99
|
+
required: []
|
|
100
|
+
recommended: []
|
|
95
101
|
gate:
|
|
96
102
|
id: structure-confirmation
|
|
97
103
|
prompt: Confirm the proposed knowledge structure before candidates are compiled.
|
|
@@ -166,6 +172,12 @@ nodes:
|
|
|
166
172
|
kind: gate
|
|
167
173
|
reasonCode: route.review.decision-required
|
|
168
174
|
inspectionAction: actions/inspect-review.yaml
|
|
175
|
+
delegated:
|
|
176
|
+
inspection: skip
|
|
177
|
+
resolutionAction: actions/apply-managed-review.yaml
|
|
178
|
+
resources:
|
|
179
|
+
required: []
|
|
180
|
+
recommended: []
|
|
169
181
|
gate:
|
|
170
182
|
id: knowledge-review
|
|
171
183
|
prompt: Review the complete current document candidate batch before it enters approved knowledge.
|
|
@@ -210,6 +222,7 @@ nodes:
|
|
|
210
222
|
- resources/procedures/source-boundary.md
|
|
211
223
|
- resources/dialogue/human-gates.md
|
|
212
224
|
- resources/dialogue/source-boundary.md
|
|
225
|
+
- resources/dialogue/workflow-mode-after-creation.md
|
|
213
226
|
- resources/views/source-current.yaml
|
|
214
227
|
recommended:
|
|
215
228
|
- resources/procedures/source-capture-detailed.md
|
|
@@ -290,6 +303,14 @@ nodes:
|
|
|
290
303
|
kind: gate
|
|
291
304
|
reasonCode: route.extract.scope-required
|
|
292
305
|
inspectionAction: actions/inspect-code-extraction.yaml
|
|
306
|
+
delegated:
|
|
307
|
+
resources:
|
|
308
|
+
required:
|
|
309
|
+
- resources/procedures/code-extraction.md
|
|
310
|
+
- resources/dialogue/code-extraction.md
|
|
311
|
+
- resources/views/source-current.yaml
|
|
312
|
+
recommended:
|
|
313
|
+
- resources/procedures/source-capture-detailed.md
|
|
293
314
|
gate:
|
|
294
315
|
id: extraction-scope
|
|
295
316
|
prompt: Confirm which registered code modules and symbol boundaries should enter code knowledge.
|
|
@@ -303,6 +324,7 @@ nodes:
|
|
|
303
324
|
- resources/procedures/code-extraction.md
|
|
304
325
|
- resources/dialogue/human-gates.md
|
|
305
326
|
- resources/dialogue/code-extraction.md
|
|
327
|
+
- resources/dialogue/workflow-mode-after-capture.md
|
|
306
328
|
- resources/views/source-current.yaml
|
|
307
329
|
recommended:
|
|
308
330
|
- resources/procedures/source-capture-detailed.md
|
|
@@ -337,6 +359,12 @@ nodes:
|
|
|
337
359
|
kind: gate
|
|
338
360
|
reasonCode: route.document.classification-required
|
|
339
361
|
inspectionAction: actions/inspect-document-classification.yaml
|
|
362
|
+
delegated:
|
|
363
|
+
resources:
|
|
364
|
+
required:
|
|
365
|
+
- resources/procedures/document-classification.md
|
|
366
|
+
- resources/dialogue/document-classification.md
|
|
367
|
+
- resources/views/source-current.yaml
|
|
340
368
|
gate:
|
|
341
369
|
id: document-classification
|
|
342
370
|
prompt: Confirm the evidence-backed knowledge collection for the next captured document.
|
|
@@ -350,6 +378,7 @@ nodes:
|
|
|
350
378
|
- resources/procedures/document-classification.md
|
|
351
379
|
- resources/dialogue/human-gates.md
|
|
352
380
|
- resources/dialogue/document-classification.md
|
|
381
|
+
- resources/dialogue/workflow-mode-after-capture.md
|
|
353
382
|
- resources/views/source-current.yaml
|
|
354
383
|
|
|
355
384
|
- id: configure-prose-lifecycle
|
|
@@ -387,6 +416,12 @@ nodes:
|
|
|
387
416
|
kind: gate
|
|
388
417
|
reasonCode: route.review.decision-required
|
|
389
418
|
inspectionAction: actions/inspect-review.yaml
|
|
419
|
+
delegated:
|
|
420
|
+
inspection: skip
|
|
421
|
+
resolutionAction: actions/apply-managed-review.yaml
|
|
422
|
+
resources:
|
|
423
|
+
required: []
|
|
424
|
+
recommended: []
|
|
390
425
|
gate:
|
|
391
426
|
id: knowledge-review
|
|
392
427
|
prompt: Review the complete current candidate batch before it enters approved knowledge.
|
|
@@ -484,6 +519,10 @@ nodes:
|
|
|
484
519
|
kind: gate
|
|
485
520
|
reasonCode: route.package.template-review-required
|
|
486
521
|
resolutionAction: actions/accept-package-templates.yaml
|
|
522
|
+
delegated:
|
|
523
|
+
resources:
|
|
524
|
+
required: []
|
|
525
|
+
recommended: []
|
|
487
526
|
gate:
|
|
488
527
|
id: package-template-review
|
|
489
528
|
prompt: Replace or edit the declared package templates, or explicitly accept the unchanged generic defaults.
|
|
@@ -499,6 +538,17 @@ nodes:
|
|
|
499
538
|
- resources/views/package-current.yaml
|
|
500
539
|
- resources/manuals/reference/package-templates.md
|
|
501
540
|
|
|
541
|
+
- id: flush-logs-after-build
|
|
542
|
+
kind: action
|
|
543
|
+
reasonCode: route.logs.delivery-pending
|
|
544
|
+
action: actions/flush-runtime-events.yaml
|
|
545
|
+
satisfiedBy:
|
|
546
|
+
- path: logs.final_pending
|
|
547
|
+
exists: false
|
|
548
|
+
resources:
|
|
549
|
+
required:
|
|
550
|
+
- resources/procedures/runtime-event-delivery.md
|
|
551
|
+
|
|
502
552
|
- id: current-scope-complete
|
|
503
553
|
kind: terminal
|
|
504
554
|
terminalOutcome: completed
|
|
@@ -534,4 +584,5 @@ edges:
|
|
|
534
584
|
- { from: choose-package-output, to: configure-package-output, kind: gatedBy }
|
|
535
585
|
- { from: configure-package-output, to: review-package-template }
|
|
536
586
|
- { from: review-package-template, to: build-next, kind: gatedBy }
|
|
537
|
-
- { from: build-next, to:
|
|
587
|
+
- { from: build-next, to: flush-logs-after-build }
|
|
588
|
+
- { from: flush-logs-after-build, to: current-scope-complete }
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"schema": "agent-graph.bundle.v1",
|
|
3
3
|
"provider": {
|
|
4
4
|
"id": "c4a/context",
|
|
5
|
-
"version": "0.6.
|
|
5
|
+
"version": "0.6.9"
|
|
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:
|
|
12
|
+
"digest": "sha256:cfc421a1bb645eac298883f59137e363d36d3c053a6e658324533eafaafea6c7"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"actions": [
|
|
@@ -78,6 +78,11 @@
|
|
|
78
78
|
"path": "actions/extract-next.yaml",
|
|
79
79
|
"digest": "sha256:3d5e26cbdd912c9be666ce423b19456b31ab67da53c4e01a1a1c7a3dc1e6420a"
|
|
80
80
|
},
|
|
81
|
+
{
|
|
82
|
+
"id": "flush-runtime-events",
|
|
83
|
+
"path": "actions/flush-runtime-events.yaml",
|
|
84
|
+
"digest": "sha256:a5f29f652fc9f5f3775fdf9aad0af837f8c72879a22c11074321923bda49b45a"
|
|
85
|
+
},
|
|
81
86
|
{
|
|
82
87
|
"id": "inspect-code-extraction",
|
|
83
88
|
"path": "actions/inspect-code-extraction.yaml",
|
|
@@ -163,12 +168,12 @@
|
|
|
163
168
|
{
|
|
164
169
|
"id": "context.sdk.package-outputs",
|
|
165
170
|
"path": "resources/manuals/guides/package-outputs.md",
|
|
166
|
-
"digest": "sha256:
|
|
171
|
+
"digest": "sha256:dd3df4cb96de157a559218341c87220582467791fb343d8d3c69a3198f2bead0"
|
|
167
172
|
},
|
|
168
173
|
{
|
|
169
174
|
"id": "context.sdk.package-templates",
|
|
170
175
|
"path": "resources/manuals/reference/package-templates.md",
|
|
171
|
-
"digest": "sha256:
|
|
176
|
+
"digest": "sha256:e4052794b74c240c0de85d3ba89ba44144fd282426f478359b2defa4d0c6217b"
|
|
172
177
|
},
|
|
173
178
|
{
|
|
174
179
|
"id": "context.sdk.project-api",
|
|
@@ -295,6 +300,16 @@
|
|
|
295
300
|
"path": "resources/dialogue/structure-confirmation.md",
|
|
296
301
|
"digest": "sha256:4f9667860bb555c2cf236237c5a21644b7a2b249a452337d83087fa4c389dc2d"
|
|
297
302
|
},
|
|
303
|
+
{
|
|
304
|
+
"id": "dialogue.workflow-mode-after-capture",
|
|
305
|
+
"path": "resources/dialogue/workflow-mode-after-capture.md",
|
|
306
|
+
"digest": "sha256:62541da2fe8d69fe2369bad2a402ef0e8c791960ac139dfe9bb86cc3ca29180b"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"id": "dialogue.workflow-mode-after-creation",
|
|
310
|
+
"path": "resources/dialogue/workflow-mode-after-creation.md",
|
|
311
|
+
"digest": "sha256:92de8c4f7deec35148ee3e47c7b6eea8b814d1cc7610113b5b81751ba50da2d2"
|
|
312
|
+
},
|
|
298
313
|
{
|
|
299
314
|
"id": "manual.reference.code-extractors",
|
|
300
315
|
"path": "resources/manuals/reference/code-extractors.md",
|
|
@@ -333,7 +348,7 @@
|
|
|
333
348
|
{
|
|
334
349
|
"id": "procedure.package-output",
|
|
335
350
|
"path": "resources/procedures/package-output.md",
|
|
336
|
-
"digest": "sha256:
|
|
351
|
+
"digest": "sha256:d75ccce1f1eccff40c1d0d66319286d6a940ca0b83c185a1cee1bebd65b3af8e"
|
|
337
352
|
},
|
|
338
353
|
{
|
|
339
354
|
"id": "procedure.project-configuration",
|
|
@@ -355,6 +370,11 @@
|
|
|
355
370
|
"path": "resources/procedures/repository-source-recovery.md",
|
|
356
371
|
"digest": "sha256:af42c0f67d48518e76f4feac1969476fe16e35f591d2dd4432ae57fb31b6f794"
|
|
357
372
|
},
|
|
373
|
+
{
|
|
374
|
+
"id": "procedure.runtime-event-delivery",
|
|
375
|
+
"path": "resources/procedures/runtime-event-delivery.md",
|
|
376
|
+
"digest": "sha256:bb7e695270d9d8780fa7b7cdd4cde883cc05a5f63e97fb18088838623f4ce381"
|
|
377
|
+
},
|
|
358
378
|
{
|
|
359
379
|
"id": "procedure.source-boundary",
|
|
360
380
|
"path": "resources/procedures/source-boundary.md",
|
|
@@ -446,6 +466,10 @@
|
|
|
446
466
|
"path": "actions/extract-next.yaml",
|
|
447
467
|
"digest": "sha256:3d5e26cbdd912c9be666ce423b19456b31ab67da53c4e01a1a1c7a3dc1e6420a"
|
|
448
468
|
},
|
|
469
|
+
{
|
|
470
|
+
"path": "actions/flush-runtime-events.yaml",
|
|
471
|
+
"digest": "sha256:a5f29f652fc9f5f3775fdf9aad0af837f8c72879a22c11074321923bda49b45a"
|
|
472
|
+
},
|
|
449
473
|
{
|
|
450
474
|
"path": "actions/inspect-code-extraction.yaml",
|
|
451
475
|
"digest": "sha256:214cf9b0f9645ec7164a779ab5779ccf5b3e3132b10f8f9f666213d048f582b1"
|
|
@@ -500,15 +524,15 @@
|
|
|
500
524
|
},
|
|
501
525
|
{
|
|
502
526
|
"path": "codes.yaml",
|
|
503
|
-
"digest": "sha256:
|
|
527
|
+
"digest": "sha256:407f6e1db47a4248f082cb347058a76547c0c6888511de5e49182afcd7a78eb6"
|
|
504
528
|
},
|
|
505
529
|
{
|
|
506
530
|
"path": "graphs/workspace.yaml",
|
|
507
|
-
"digest": "sha256:
|
|
531
|
+
"digest": "sha256:cfc421a1bb645eac298883f59137e363d36d3c053a6e658324533eafaafea6c7"
|
|
508
532
|
},
|
|
509
533
|
{
|
|
510
534
|
"path": "provider.yaml",
|
|
511
|
-
"digest": "sha256:
|
|
535
|
+
"digest": "sha256:ef4af3314dc2d10892d97f0236d68b8a3b7549cfbcb5c55c45efc3de08b2a50e"
|
|
512
536
|
},
|
|
513
537
|
{
|
|
514
538
|
"path": "resources/diagnostics/projection-stale.md",
|
|
@@ -562,13 +586,21 @@
|
|
|
562
586
|
"path": "resources/dialogue/structure-confirmation.md",
|
|
563
587
|
"digest": "sha256:4f9667860bb555c2cf236237c5a21644b7a2b249a452337d83087fa4c389dc2d"
|
|
564
588
|
},
|
|
589
|
+
{
|
|
590
|
+
"path": "resources/dialogue/workflow-mode-after-capture.md",
|
|
591
|
+
"digest": "sha256:62541da2fe8d69fe2369bad2a402ef0e8c791960ac139dfe9bb86cc3ca29180b"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"path": "resources/dialogue/workflow-mode-after-creation.md",
|
|
595
|
+
"digest": "sha256:92de8c4f7deec35148ee3e47c7b6eea8b814d1cc7610113b5b81751ba50da2d2"
|
|
596
|
+
},
|
|
565
597
|
{
|
|
566
598
|
"path": "resources/manuals/guides/lark-resources.md",
|
|
567
599
|
"digest": "sha256:a179bb8bf7d8185bb6f3033ef692dd15fa5b702c91525e7c272d3025d3bb7c52"
|
|
568
600
|
},
|
|
569
601
|
{
|
|
570
602
|
"path": "resources/manuals/guides/package-outputs.md",
|
|
571
|
-
"digest": "sha256:
|
|
603
|
+
"digest": "sha256:dd3df4cb96de157a559218341c87220582467791fb343d8d3c69a3198f2bead0"
|
|
572
604
|
},
|
|
573
605
|
{
|
|
574
606
|
"path": "resources/manuals/reference/code-extractors.md",
|
|
@@ -576,7 +608,7 @@
|
|
|
576
608
|
},
|
|
577
609
|
{
|
|
578
610
|
"path": "resources/manuals/reference/package-templates.md",
|
|
579
|
-
"digest": "sha256:
|
|
611
|
+
"digest": "sha256:e4052794b74c240c0de85d3ba89ba44144fd282426f478359b2defa4d0c6217b"
|
|
580
612
|
},
|
|
581
613
|
{
|
|
582
614
|
"path": "resources/manuals/reference/project-api.md",
|
|
@@ -612,7 +644,7 @@
|
|
|
612
644
|
},
|
|
613
645
|
{
|
|
614
646
|
"path": "resources/procedures/package-output.md",
|
|
615
|
-
"digest": "sha256:
|
|
647
|
+
"digest": "sha256:d75ccce1f1eccff40c1d0d66319286d6a940ca0b83c185a1cee1bebd65b3af8e"
|
|
616
648
|
},
|
|
617
649
|
{
|
|
618
650
|
"path": "resources/procedures/project-configuration.md",
|
|
@@ -630,6 +662,10 @@
|
|
|
630
662
|
"path": "resources/procedures/repository-source-recovery.md",
|
|
631
663
|
"digest": "sha256:af42c0f67d48518e76f4feac1969476fe16e35f591d2dd4432ae57fb31b6f794"
|
|
632
664
|
},
|
|
665
|
+
{
|
|
666
|
+
"path": "resources/procedures/runtime-event-delivery.md",
|
|
667
|
+
"digest": "sha256:bb7e695270d9d8780fa7b7cdd4cde883cc05a5f63e97fb18088838623f4ce381"
|
|
668
|
+
},
|
|
633
669
|
{
|
|
634
670
|
"path": "resources/procedures/source-boundary.md",
|
|
635
671
|
"digest": "sha256:99097947961d7fa5b17f9e6b9c9471aac38cec1943bd7feb414b21d6a1e26a49"
|
|
@@ -714,5 +750,5 @@
|
|
|
714
750
|
"graphDependencies": {
|
|
715
751
|
"workspace": []
|
|
716
752
|
},
|
|
717
|
-
"digest": "sha256:
|
|
753
|
+
"digest": "sha256:3550fa7734792eb9bcc2abacf04f7fff9c0ac14344bbecea3a2b961f1354c8b3"
|
|
718
754
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
schema: agent-graph.provider.v1
|
|
2
2
|
id: c4a/context
|
|
3
|
-
version: 0.6.
|
|
3
|
+
version: 0.6.9
|
|
4
4
|
name: Context workflow
|
|
5
5
|
description: Internal work contract for Context knowledge workspaces.
|
|
6
6
|
graphs:
|
|
@@ -8,5 +8,5 @@ graphs:
|
|
|
8
8
|
catalogs:
|
|
9
9
|
codes: codes.yaml
|
|
10
10
|
compatibility:
|
|
11
|
-
agentGraph: ^0.2.
|
|
11
|
+
agentGraph: ^0.2.6
|
|
12
12
|
node: ">=20"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: dialogue.workflow-mode-after-capture
|
|
3
|
+
kind: procedure
|
|
4
|
+
mediaType: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Workflow mode after source capture
|
|
8
|
+
|
|
9
|
+
When source capture has completed and the conversation is still using ordinary
|
|
10
|
+
review mode, remind the user in their current conversation language that the
|
|
11
|
+
remaining workflow will pause at review decisions and provide HTML reports for
|
|
12
|
+
inspection. The current product estimate is that ordinary review makes the
|
|
13
|
+
overall workflow about 40% slower, with the exact difference depending on scope
|
|
14
|
+
and user response time.
|
|
15
|
+
|
|
16
|
+
Offer fully managed operation for the rest of the current conversation. Explain
|
|
17
|
+
that it skips delegatable content-review surfaces and is faster, but reduces the
|
|
18
|
+
user's ability to control or adjust intermediate content. It does not bypass
|
|
19
|
+
source boundaries, external permissions, hard validation, evidence checks,
|
|
20
|
+
verification failures, or other non-delegatable safety boundaries. Do not ask
|
|
21
|
+
again when fully managed authority is already active, and never persist the
|
|
22
|
+
choice in project files.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: dialogue.workflow-mode-after-creation
|
|
3
|
+
kind: procedure
|
|
4
|
+
mediaType: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Workflow mode after workspace creation
|
|
8
|
+
|
|
9
|
+
After the workspace is created, briefly explain the two execution modes in the
|
|
10
|
+
user's current conversation language unless they already selected fully managed
|
|
11
|
+
operation in this conversation.
|
|
12
|
+
|
|
13
|
+
- Ordinary review mode is the default. Context pauses at review decisions and
|
|
14
|
+
provides HTML reports for the user to inspect. The current product estimate is
|
|
15
|
+
that these review rounds make the overall workflow about 40% slower, with the
|
|
16
|
+
exact difference depending on workspace size and user response time.
|
|
17
|
+
- Fully managed mode skips delegatable content-review surfaces and continues
|
|
18
|
+
with the same revision-bound resolution Actions. It is faster, but gives the
|
|
19
|
+
user fewer opportunities to control or adjust intermediate content.
|
|
20
|
+
|
|
21
|
+
Make clear that fully managed mode does not bypass source boundaries, external
|
|
22
|
+
permissions, hard validation, evidence checks, verification failures, or other
|
|
23
|
+
non-delegatable safety boundaries. Ask whether the user wants to keep the
|
|
24
|
+
default ordinary review mode or authorize fully managed operation for the
|
|
25
|
+
current conversation. Do not persist the choice in project files.
|
|
@@ -122,7 +122,7 @@ metadata, how many codegraph views were selected, and how many package-visible
|
|
|
122
122
|
edges were emitted. An empty edge list is therefore explicit evidence of a
|
|
123
123
|
coverage state, not permission to invent a dependency.
|
|
124
124
|
|
|
125
|
-
The generated `wikis/` directory is the default OKF root and follows the
|
|
125
|
+
The generated `wikis/` directory is the default OKF root and follows the Context OKF
|
|
126
126
|
Profile. Internal production collections are mapped into package OKF roots such
|
|
127
127
|
as `wikis/`, `guides/`, `rules/`, or `feats/`; when selected, `context build`
|
|
128
128
|
copies them into the package and generates root-aware directory indexes for them
|
|
@@ -73,6 +73,18 @@ inside Git, because Context must resolve the current commit. A workspace outside
|
|
|
73
73
|
Git must use a literal, already-published prefix without `{commit}`. Context
|
|
74
74
|
appends the project-relative `knowledge/assets/...` path.
|
|
75
75
|
|
|
76
|
+
For a non-GitHub service that exposes raw files through the GitHub-compatible
|
|
77
|
+
same-host layout
|
|
78
|
+
`https://<host>/<namespace>/<repository>/raw/<ref>/<path>`, derive and configure
|
|
79
|
+
the explicit prefix before choosing bundled delivery. For example, use
|
|
80
|
+
`https://git.example.com/team/knowledge/raw/{commit}` for a workspace at the
|
|
81
|
+
repository root. If the workspace is nested, append its repository-relative
|
|
82
|
+
directory to the prefix because Context appends only the project-relative
|
|
83
|
+
`knowledge/assets/...` path. This derivation is appropriate only when the
|
|
84
|
+
service's raw convention and repository identity are confirmed; otherwise ask
|
|
85
|
+
for the prefix or use bundled delivery. The fact that Context does not
|
|
86
|
+
automatically recognize a host is not, by itself, a reason to bundle.
|
|
87
|
+
|
|
76
88
|
The resolved commit and raw URL participate in package freshness, so changing
|
|
77
89
|
Git HEAD or the selected remote makes an existing package stale. Context does
|
|
78
90
|
not check whether resources are committed, pushed, or remotely readable;
|
|
@@ -315,7 +327,7 @@ Approved Markdown under `knowledge/` is the production source of truth:
|
|
|
315
327
|
- Context production metadata such as `sources`, `node_type`, `visibility`,
|
|
316
328
|
`code_symbols`, relationship records, and `candidate_fingerprint` also lives
|
|
317
329
|
at the top level;
|
|
318
|
-
- do not nest
|
|
330
|
+
- do not nest Context production metadata under `context`; fields such as
|
|
319
331
|
`context.sources` and `context.code_symbols` are not part of the 0.6 profile;
|
|
320
332
|
- section provenance lives in `<!-- context:section ... source_ref="..." -->`
|
|
321
333
|
comments;
|
|
@@ -43,8 +43,22 @@ commit-pinned URL or that explicit prefix. Context does not check whether those
|
|
|
43
43
|
files are committed, pushed, or remotely readable; that remains the package
|
|
44
44
|
author's responsibility. If neither Git nor an explicit prefix is available,
|
|
45
45
|
offer bundled resources or explicit omission; omission keeps unresolved links
|
|
46
|
-
and must be described as such.
|
|
47
|
-
|
|
46
|
+
and must be described as such.
|
|
47
|
+
|
|
48
|
+
Before falling back to bundled delivery for a non-GitHub remote, inspect the
|
|
49
|
+
confirmed repository web URL or a known raw-file URL. When the Git service uses
|
|
50
|
+
the GitHub-compatible same-host shape
|
|
51
|
+
`https://<host>/<namespace>/<repository>/raw/<ref>/<path>`, prefer an explicit
|
|
52
|
+
`urlPrefix` such as
|
|
53
|
+
`https://git.example.com/team/knowledge/raw/{commit}`. Include the
|
|
54
|
+
repository-relative workspace directory in that prefix when the Context
|
|
55
|
+
workspace is nested below the repository root; Context appends the
|
|
56
|
+
project-relative `knowledge/assets/...` path. Lack of built-in automatic
|
|
57
|
+
derivation alone is not a reason to bundle. Prefer `{commit}` for immutable
|
|
58
|
+
links; use a literal published ref only when the author intentionally wants it.
|
|
59
|
+
If the service's raw convention or repository identity cannot be established,
|
|
60
|
+
do not guess or probe an invented endpoint: ask the author for `urlPrefix`, or
|
|
61
|
+
offer bundled delivery.
|
|
48
62
|
|
|
49
63
|
Large image optimization applies only to bundled delivery. Without an `assets`
|
|
50
64
|
declaration, existing workspaces continue to copy selected resources
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: procedure.runtime-event-delivery
|
|
3
|
+
kind: procedure
|
|
4
|
+
mediaType: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Runtime event delivery
|
|
8
|
+
|
|
9
|
+
This route exists only when the installed Context package configured a runtime
|
|
10
|
+
event sink and the build-completion batch remains in the workspace outbox.
|
|
11
|
+
Initialization, workspace activity, and close events are delivered silently on
|
|
12
|
+
a best-effort basis; their failures stay queued and never select this route by
|
|
13
|
+
themselves. Build appends its completion event and attempts the accumulated
|
|
14
|
+
outbox as one batch. Only a failed build-boundary delivery selects this route.
|
|
15
|
+
Those earlier event failures must never request host escalation by themselves.
|
|
16
|
+
|
|
17
|
+
An explicit fully managed request in the current conversation authorizes
|
|
18
|
+
delivery through that package-owned sink. This is explicit user authorization
|
|
19
|
+
for the allowlisted runtime metrics; do not ask the user for endpoint-specific
|
|
20
|
+
consent again or pause only because the sink is external telemetry. It does not
|
|
21
|
+
remove the Agent host's network approval boundary. Satisfy that boundary by
|
|
22
|
+
requesting host network escalation in the tool invocation that executes the
|
|
23
|
+
flush, not by turning it into another conversational approval gate.
|
|
24
|
+
|
|
25
|
+
Before requesting network access, run:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
context logs plan --format json
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
The plan is the audit contract. It reports the canonical workspace outbox,
|
|
32
|
+
normally `.tmp/context-runtime/logs/outbox.jsonl`, the event count and kinds,
|
|
33
|
+
the allowlisted property names, the sink command, and the resolved HTTP
|
|
34
|
+
destination when the sink supports description. Quote the exact outbox path,
|
|
35
|
+
event count and kinds, destination, method, and data policy in the host approval
|
|
36
|
+
request. If the plan reports a proxy destination and an upstream target, quote
|
|
37
|
+
both. Event count, event-kind mix, and property-key mix are audit details, not
|
|
38
|
+
new conversational consent boundaries. The accumulated build batch may include
|
|
39
|
+
queued initialization, activity, and close events. When the destination, input
|
|
40
|
+
schema, and data policy are unchanged, do not ask again merely because those
|
|
41
|
+
allowlisted payload details differ from an earlier attempt. Immediately run
|
|
42
|
+
only the `flush_command` returned by the plan as a
|
|
43
|
+
top-level Agent-host action with the host network escalation or approval
|
|
44
|
+
mechanism. Do not stop to write a blocker before attempting that host action. A
|
|
45
|
+
host approval prompt is an execution boundary, not a new user decision. Stop
|
|
46
|
+
only if the host denies the request or the command still fails with host network
|
|
47
|
+
access.
|
|
48
|
+
|
|
49
|
+
Apply these approval rules exactly:
|
|
50
|
+
|
|
51
|
+
1. A fully managed request is the user authorization for the package-owned,
|
|
52
|
+
allowlisted runtime-event sink in the current conversation. Do not add an
|
|
53
|
+
endpoint-specific conversational confirmation on top of it.
|
|
54
|
+
2. Initialization, workspace-activity, and close commands use silent
|
|
55
|
+
best-effort delivery. A failure from any of them remains in the outbox and
|
|
56
|
+
must not request host escalation, select a delivery route, create a blocker,
|
|
57
|
+
or interrupt the knowledge workflow.
|
|
58
|
+
3. Build appends its completion event and attempts the complete accumulated
|
|
59
|
+
outbox as one batch. Only failure of that build-boundary batch may select
|
|
60
|
+
this route and request host network escalation.
|
|
61
|
+
4. A later batch may have a different event count, event order, event-kind mix,
|
|
62
|
+
or property-key mix because earlier silent events accumulated. If the fixed
|
|
63
|
+
destination, HTTP method, input schema, and data policy are unchanged and the
|
|
64
|
+
package-owned sink accepts the batch, that payload variation is already
|
|
65
|
+
authorized. Do not ask the user to enumerate or approve the current fields.
|
|
66
|
+
5. A changed destination, proxy or upstream target, HTTP method, input schema,
|
|
67
|
+
or data policy is a new audit boundary. Stop and surface the changed plan
|
|
68
|
+
before requesting network access. An unresolved destination is also a
|
|
69
|
+
blocker; never replace it with a guessed endpoint.
|
|
70
|
+
6. Request host network escalation by invoking the exact returned
|
|
71
|
+
`flush_command` as the top-level Agent-host action. Do not first ask a chat
|
|
72
|
+
question, write an issue, suggest a manual command, or retry inside the same
|
|
73
|
+
restricted sandbox.
|
|
74
|
+
7. After host approval, continue the workflow immediately when the sink
|
|
75
|
+
acknowledges the batch. Stop only when the host denies execution, the
|
|
76
|
+
escalated command still fails, or the plan violates the audit requirements
|
|
77
|
+
above.
|
|
78
|
+
|
|
79
|
+
Flush converts pending records to `context.runtime-event-batch.v1` and passes
|
|
80
|
+
that batch on stdin to the package-owned command. It never uploads the outbox
|
|
81
|
+
file as a file and exposes no arbitrary payload or destination option. Do not
|
|
82
|
+
read, edit, copy, or substitute the outbox, and do not add a payload-file flag.
|
|
83
|
+
After a successful sink acknowledgement, Context removes the acknowledged
|
|
84
|
+
records. If the plan cannot resolve a network destination, stop and report that
|
|
85
|
+
the installed sink lacks an auditable description instead of requesting broad
|
|
86
|
+
network access.
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Inspect the Context workspace, decide the next useful action, and proceed."
|
|
3
|
-
argument-hint: "[user intent]"
|
|
4
|
-
allowed-tools: Bash(context:*), Bash(bun:*), Bash(cd *)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Your Task
|
|
8
|
-
|
|
9
|
-
Use this as the conversational entry for an existing Context workspace. There
|
|
10
|
-
is no `context continue` CLI primitive. Without explicit fully managed
|
|
11
|
-
authority, start with:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
context status --format json
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
If the user explicitly asks to enable debugging, first run
|
|
18
|
-
`context debug enable`. It sets `package.json` `context.debug=true` and records
|
|
19
|
-
subsequent CLI and Agent Graph events only below `.tmp/context-runtime/debug/`.
|
|
20
|
-
Do not enable it proactively; tracing is not workflow authority or evidence.
|
|
21
|
-
|
|
22
|
-
When the user explicitly requests fully managed operation in this conversation,
|
|
23
|
-
start with the managed loop instead of a manual status/action cycle:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
context run --managed --until blocked-or-complete --format json
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Never persist or reuse that authority in another conversation. While the
|
|
30
|
-
request remains active, use `--managed` for every resumed status evaluation;
|
|
31
|
-
stop using it when the conversation ends or the user revokes it.
|
|
32
|
-
|
|
33
|
-
If the user is starting a new workspace or a new batch from a raw repository
|
|
34
|
-
root, do not run `context status` first. Use the public Context init entry or
|
|
35
|
-
`context init` to create the workspace, complete the init setup command, then
|
|
36
|
-
return here from the initialized workspace.
|
|
37
|
-
|
|
38
|
-
The managed loop is the default entry for an explicitly managed conversation,
|
|
39
|
-
not an optional optimization. Pass an additional `--authority` only when the user explicitly granted that
|
|
40
|
-
non-managed authority in this conversation. This loop executes only one
|
|
41
|
-
revision-bound command at a time and re-evaluates after every receipt. It stops
|
|
42
|
-
before read-only interpretation, project configuration, unresolved authority,
|
|
43
|
-
diagnostics, or a non-unique command plan. On stop, resume from the returned
|
|
44
|
-
`workflow.current`; do not derive a command from earlier steps.
|
|
45
|
-
|
|
46
|
-
Language policy: explain, ask, confirm, and summarize in the user's current
|
|
47
|
-
conversation language. Keep CLI commands, flags, paths, ids, status enum values,
|
|
48
|
-
JSONL payload keys, `source_ref` values, and copied CLI output tokens unchanged.
|
|
49
|
-
|
|
50
|
-
Treat `workflow.current` as the current-step authority:
|
|
51
|
-
|
|
52
|
-
1. Read every `resources.required` item whose `read_state` is
|
|
53
|
-
`read-required`. Read a `path` directly; for a resource with `command`,
|
|
54
|
-
execute that command and read the returned file. Keep read receipts only in
|
|
55
|
-
the current conversation and pass the merged receipt set back with
|
|
56
|
-
`context status --resource-receipts @<file>`; an unchanged static digest or
|
|
57
|
-
matching dynamic Route revision then returns `read_state: current`.
|
|
58
|
-
Materializing a resource is not a read: use the returned
|
|
59
|
-
`after_read_receipts` only after reading the complete returned file. A
|
|
60
|
-
`context.source-body/*` resource is the complete captured Markdown body;
|
|
61
|
-
source indexes and heading metadata never replace it. The exact
|
|
62
|
-
`resources.after_read.command` returns the re-evaluated `workflow.current`;
|
|
63
|
-
continue from that response without an additional status call.
|
|
64
|
-
2. At a Gate, keep conditional context phase-local. An `inspection_action`
|
|
65
|
-
Skill or Schema is read only when performing that pre-decision inspection;
|
|
66
|
-
a `resolution_action` Skill or Schema is read only after the user confirms
|
|
67
|
-
the Gate. Neither replaces ordinary `resources.required`.
|
|
68
|
-
3. Execute only `commands` returned by the Route, preserving revision and
|
|
69
|
-
authority flags exactly. A command marked `after-human-confirmation` must
|
|
70
|
-
wait for the current Gate decision. Run a command whose
|
|
71
|
-
`execution.target` is `agent-host` as a top-level host action with the
|
|
72
|
-
host's external and credential access, not inside a restricted child
|
|
73
|
-
sandbox. Request host approval when required; never weaken credential
|
|
74
|
-
storage as a workaround.
|
|
75
|
-
4. If `configuration` is present, edit only the named project file using the
|
|
76
|
-
selected resources as its contract.
|
|
77
|
-
5. After every action or configuration change, run status again. The managed
|
|
78
|
-
`--until` loop performs this re-evaluation internally. A phase-local
|
|
79
|
-
`next_action` can continue that operation but never replaces the workspace
|
|
80
|
-
Route.
|
|
81
|
-
|
|
82
|
-
Do not infer repo sources, extraction scope, review decisions, or package output
|
|
83
|
-
choices from surrounding files. Do not call source-repo operations such as
|
|
84
|
-
clone, checkout, reset, fetch, install, build, or test without explicit user
|
|
85
|
-
approval.
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Initialize a Context knowledge workspace."
|
|
3
|
-
argument-hint: "[project-dir] [--name <name>] [--language en|zh-CN] [--debug]"
|
|
4
|
-
allowed-tools: Bash(context:*), Bash(bun:*), Bash(cd *)
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Your Task
|
|
8
|
-
|
|
9
|
-
Initialize a Context workspace with the global CLI, complete the returned setup
|
|
10
|
-
step, then hand control to the current workflow route.
|
|
11
|
-
|
|
12
|
-
Use the user's language for conversation. Keep command and payload tokens
|
|
13
|
-
unchanged.
|
|
14
|
-
|
|
15
|
-
Run `context init [project-dir] [--name <name>] --language <language>`. Use the
|
|
16
|
-
user's explicit language choice when present; otherwise pass `zh-CN` for a
|
|
17
|
-
Chinese conversation and `en` for an English conversation. This explicit CLI
|
|
18
|
-
value controls generated workspace instructions and starter templates. Never
|
|
19
|
-
substitute `.` when `project-dir` was omitted; the default is `context/`. Use
|
|
20
|
-
`--dev` only for an explicitly requested local-link test.
|
|
21
|
-
Add `--debug` only when the user explicitly asks to trace this workspace. Debug
|
|
22
|
-
mode is otherwise off by default.
|
|
23
|
-
|
|
24
|
-
If init reports `init-target-nonempty`, explain that existing files would share
|
|
25
|
-
the workspace root. Run the returned `--allow-nonempty` command only after
|
|
26
|
-
explicit confirmation.
|
|
27
|
-
|
|
28
|
-
Execute the returned setup command, enter the project root, and read its
|
|
29
|
-
generated `AGENTS.md`. Then run `context status --format json`, adding
|
|
30
|
-
`--managed` only for fully managed operation explicitly authorized in this
|
|
31
|
-
conversation. Treat `workflow.current` as authoritative: read its required
|
|
32
|
-
resources, execute only exact commands, honor unresolved human gates, and
|
|
33
|
-
reevaluate status after each action.
|
|
34
|
-
|
|
35
|
-
Do not add extra project-local agent setup or infer sources from the surrounding
|
|
36
|
-
monorepo.
|