@c4a/context-cli 0.6.1-beta.3 → 0.6.1-beta.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 (41) hide show
  1. package/README.md +20 -9
  2. package/README.zh-CN.md +10 -8
  3. package/cli.js +71833 -69465
  4. package/docs/quickstart.md +7 -0
  5. package/package.json +3 -3
  6. package/plugins/README.md +7 -2
  7. package/plugins/README_CN.md +7 -2
  8. package/plugins/VERSION +1 -1
  9. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  10. package/plugins/claude/commands/continue.md +17 -3
  11. package/plugins/claude/commands/init.md +7 -4
  12. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  13. package/plugins/codex/skills/continue/SKILL.md +17 -3
  14. package/plugins/codex/skills/init/SKILL.md +6 -3
  15. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  16. package/plugins/cursor/commands/context-continue.md +17 -3
  17. package/plugins/cursor/commands/context-init.md +7 -4
  18. package/plugins/skills/context-continue/SKILL.md +17 -3
  19. package/plugins/skills/context-init/SKILL.md +6 -3
  20. package/providers/context/actions/accept-package-templates.yaml +5 -0
  21. package/providers/context/actions/align-next.yaml +1 -0
  22. package/providers/context/codes.yaml +2 -0
  23. package/providers/context/graphs/workspace.yaml +26 -1
  24. package/providers/context/manifest.json +63 -36
  25. package/providers/context/provider.yaml +1 -1
  26. package/providers/context/resources/diagnostics/projection-stale.md +13 -0
  27. package/providers/context/resources/dialogue/document-classification.md +2 -1
  28. package/providers/context/resources/dialogue/package-output.md +5 -7
  29. package/providers/context/resources/manuals/guides/package-outputs.md +40 -37
  30. package/providers/context/resources/manuals/reference/package-templates.md +36 -48
  31. package/providers/context/resources/manuals/reference/project-api.md +75 -12
  32. package/providers/context/resources/manuals/reference/template-variables.md +12 -11
  33. package/providers/context/resources/procedures/close-and-build.md +3 -1
  34. package/providers/context/resources/procedures/code-extraction.md +16 -2
  35. package/providers/context/resources/procedures/document-capture.md +14 -0
  36. package/providers/context/resources/procedures/document-classification.md +3 -0
  37. package/providers/context/resources/procedures/package-output.md +17 -11
  38. package/providers/context/resources/procedures/prose-align.md +45 -0
  39. package/providers/context/resources/semantic/align/candidate-resolution.md +4 -2
  40. package/providers/context/resources/semantic/align/structure-planning.md +8 -5
  41. package/providers/context/schemas/prose-structure-batch.schema.json +35 -0
@@ -31,6 +31,13 @@ Create a standalone workspace:
31
31
  context init context
32
32
  ```
33
33
 
34
+ Choose the generated workspace and starter-template language explicitly when
35
+ needed; the CLI does not infer it from terminal locale or conversation text:
36
+
37
+ ```bash
38
+ context init context --language zh-CN
39
+ ```
40
+
34
41
  Then enter it and install dependencies:
35
42
 
36
43
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c4a/context-cli",
3
- "version": "0.6.1-beta.3",
3
+ "version": "0.6.1-beta.4",
4
4
  "type": "module",
5
5
  "description": "Local CLI for capturing, compiling, and governing knowledge workspaces",
6
6
  "license": "MIT",
@@ -20,8 +20,8 @@
20
20
  "context": "cli.js"
21
21
  },
22
22
  "dependencies": {
23
- "@c4a/agent-graph": "0.2.2",
24
- "@c4a/context": "0.6.1-beta.3",
23
+ "@c4a/agent-graph": "0.2.3",
24
+ "@c4a/context": "0.6.1-beta.4",
25
25
  "commander": "^11.0.0",
26
26
  "handlebars": "^4.7.8",
27
27
  "ink": "^5.0.0",
package/plugins/README.md CHANGED
@@ -40,8 +40,13 @@ context status --format json
40
40
  ```
41
41
 
42
42
  `workflow.current` is the current-step authority. The Agent reads every required
43
- resource, executes only returned commands, preserves revision and authority
44
- flags, and reevaluates status after each action. Long procedures and semantic
43
+ resource marked `read_state: read-required`, executes only returned commands,
44
+ preserves revision and authority flags, and reevaluates status after each
45
+ action. Current-conversation read receipts may be passed back through
46
+ `context status --resource-receipts @<file>` so unchanged resources are marked
47
+ `current`. A dynamic materialization becomes a receipt only after the Agent
48
+ reads the complete returned file. `context.source-body/*` resources are source
49
+ text; source indexes and heading metadata never replace the body. Long procedures and semantic
45
50
  judgment rules are published in the Context workflow bundle and loaded only
46
51
  when the current route or operation selects them.
47
52
 
@@ -38,8 +38,13 @@ Continuation 从以下命令开始:
38
38
  context status --format json
39
39
  ```
40
40
 
41
- `workflow.current` 是当前步骤的权威协议。Agent 读取全部 required 资源,只执行
42
- 返回的命令,完整保留 revision authority 参数,并在每次动作后重新求值。
41
+ `workflow.current` 是当前步骤的权威协议。Agent 读取所有标记为
42
+ `read_state: read-required` required 资源,只执行返回的命令,完整保留
43
+ revision 与 authority 参数,并在每次动作后重新求值。当前会话可通过
44
+ `context status --resource-receipts @<file>` 回传读取回执,使未变化资源标记为
45
+ `current`。动态资源的 materialize 结果只有在 Agent 完整读取返回文件后才可作为
46
+ 回执;`context.source-body/*` 是必须阅读的正文,source-index 和标题元数据不能
47
+ 替代正文。
43
48
  长篇流程与语义判断规则发布在 Context workflow bundle 中,仅在当前路线或操作
44
49
  选中时加载。
45
50
 
package/plugins/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1-beta.3
1
+ 0.6.1-beta.4
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "context",
3
3
  "description": "Maintain a project-local knowledge workspace through init and next-step agent guidance.",
4
- "version": "0.6.1-beta.3",
4
+ "version": "0.6.1-beta.4",
5
5
  "author": {
6
6
  "name": "c4a"
7
7
  },
@@ -44,15 +44,29 @@ JSONL payload keys, `source_ref` values, and copied CLI output tokens unchanged.
44
44
 
45
45
  Treat `workflow.current` as the current-step authority:
46
46
 
47
- 1. Read every `resources.required` item. Read a `path` directly; for a resource
48
- with `command`, execute that command and read the returned file.
47
+ 1. Read every `resources.required` item whose `read_state` is
48
+ `read-required`. Read a `path` directly; for a resource with `command`,
49
+ execute that command and read the returned file. Keep read receipts only in
50
+ the current conversation and pass the merged receipt set back with
51
+ `context status --resource-receipts @<file>`; an unchanged static digest or
52
+ matching dynamic Route revision then returns `read_state: current`.
53
+ Materializing a resource is not a read: use the returned
54
+ `after_read_receipts` only after reading the complete returned file. A
55
+ `context.source-body/*` resource is the complete captured Markdown body;
56
+ source indexes and heading metadata never replace it. The exact
57
+ `resources.after_read.command` returns the re-evaluated `workflow.current`;
58
+ continue from that response without an additional status call.
49
59
  2. At a Gate, keep conditional context phase-local. An `inspection_action`
50
60
  Skill or Schema is read only when performing that pre-decision inspection;
51
61
  a `resolution_action` Skill or Schema is read only after the user confirms
52
62
  the Gate. Neither replaces ordinary `resources.required`.
53
63
  3. Execute only `commands` returned by the Route, preserving revision and
54
64
  authority flags exactly. A command marked `after-human-confirmation` must
55
- wait for the current Gate decision.
65
+ wait for the current Gate decision. Run a command whose
66
+ `execution.target` is `agent-host` as a top-level host action with the
67
+ host's external and credential access, not inside a restricted child
68
+ sandbox. Request host approval when required; never weaken credential
69
+ storage as a workaround.
56
70
  4. If `configuration` is present, edit only the named project file using the
57
71
  selected resources as its contract.
58
72
  5. After every action or configuration change, run status again. The managed
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: "Initialize a Context knowledge workspace."
3
- argument-hint: "[project-dir] [--name <name>]"
3
+ argument-hint: "[project-dir] [--name <name>] [--language en|zh-CN]"
4
4
  allowed-tools: Bash(context:*), Bash(bun:*), Bash(cd *)
5
5
  ---
6
6
 
@@ -12,9 +12,12 @@ step, then hand control to the current workflow route.
12
12
  Use the user's language for conversation. Keep command and payload tokens
13
13
  unchanged.
14
14
 
15
- Run `context init [project-dir] [--name <name>]` with only the arguments the
16
- user supplied. Never substitute `.` when `project-dir` was omitted; the default
17
- is `context/`. Use `--dev` only for an explicitly requested local-link test.
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.
18
21
 
19
22
  If init reports `init-target-nonempty`, explain that existing files would share
20
23
  the workspace root. Run the returned `--allow-nonempty` command only after
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "context",
3
- "version": "0.6.1-beta.3",
3
+ "version": "0.6.1-beta.4",
4
4
  "description": "Maintain a project-local knowledge workspace through init and next-step agent guidance.",
5
5
  "author": {
6
6
  "name": "c4a"
@@ -18,7 +18,7 @@
18
18
  "skills": "./skills/",
19
19
  "interface": {
20
20
  "displayName": "C4A Context",
21
- "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.6.1-beta.3",
21
+ "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.6.1-beta.4",
22
22
  "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.",
23
23
  "developerName": "c4a",
24
24
  "category": "Productivity",
@@ -56,15 +56,29 @@ JSONL payload keys, `source_ref` values, and copied CLI output tokens unchanged.
56
56
 
57
57
  Treat `workflow.current` as the current-step authority:
58
58
 
59
- 1. Read every `resources.required` item. Read a `path` directly; for a resource
60
- with `command`, execute that command and read the returned file.
59
+ 1. Read every `resources.required` item whose `read_state` is
60
+ `read-required`. Read a `path` directly; for a resource with `command`,
61
+ execute that command and read the returned file. Keep read receipts only in
62
+ the current conversation and pass the merged receipt set back with
63
+ `context status --resource-receipts @<file>`; an unchanged static digest or
64
+ matching dynamic Route revision then returns `read_state: current`.
65
+ Materializing a resource is not a read: use the returned
66
+ `after_read_receipts` only after reading the complete returned file. A
67
+ `context.source-body/*` resource is the complete captured Markdown body;
68
+ source indexes and heading metadata never replace it. The exact
69
+ `resources.after_read.command` returns the re-evaluated `workflow.current`;
70
+ continue from that response without an additional status call.
61
71
  2. At a Gate, keep conditional context phase-local. An `inspection_action`
62
72
  Skill or Schema is read only when performing that pre-decision inspection;
63
73
  a `resolution_action` Skill or Schema is read only after the user confirms
64
74
  the Gate. Neither replaces ordinary `resources.required`.
65
75
  3. Execute only `commands` returned by the Route, preserving revision and
66
76
  authority flags exactly. A command marked `after-human-confirmation` must
67
- wait for the current Gate decision.
77
+ wait for the current Gate decision. Run a command whose
78
+ `execution.target` is `agent-host` as a top-level host action with the
79
+ host's external and credential access, not inside a restricted child
80
+ sandbox. Request host approval when required; never weaken credential
81
+ storage as a workaround.
68
82
  4. If `configuration` is present, edit only the named project file using the
69
83
  selected resources as its contract.
70
84
  5. After every action or configuration change, run status again. The managed
@@ -24,9 +24,12 @@ step, then hand control to the current workflow route.
24
24
  Use the user's language for conversation. Keep command and payload tokens
25
25
  unchanged.
26
26
 
27
- Run `context init [project-dir] [--name <name>]` with only the arguments the
28
- user supplied. Never substitute `.` when `project-dir` was omitted; the default
29
- is `context/`. Use `--dev` only for an explicitly requested local-link test.
27
+ Run `context init [project-dir] [--name <name>] --language <language>`. Use the
28
+ user's explicit language choice when present; otherwise pass `zh-CN` for a
29
+ Chinese conversation and `en` for an English conversation. This explicit CLI
30
+ value controls generated workspace instructions and starter templates. Never
31
+ substitute `.` when `project-dir` was omitted; the default is `context/`. Use
32
+ `--dev` only for an explicitly requested local-link test.
30
33
 
31
34
  If init reports `init-target-nonempty`, explain that existing files would share
32
35
  the workspace root. Run the returned `--allow-nonempty` command only after
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "context",
3
3
  "displayName": "C4A Context",
4
- "version": "0.6.1-beta.3",
4
+ "version": "0.6.1-beta.4",
5
5
  "description": "Maintain a project-local knowledge workspace through init and next-step agent guidance.",
6
6
  "author": {
7
7
  "name": "Context4AI",
@@ -48,15 +48,29 @@ JSONL payload keys, `source_ref` values, and copied CLI output tokens unchanged.
48
48
 
49
49
  Treat `workflow.current` as the current-step authority:
50
50
 
51
- 1. Read every `resources.required` item. Read a `path` directly; for a resource
52
- with `command`, execute that command and read the returned file.
51
+ 1. Read every `resources.required` item whose `read_state` is
52
+ `read-required`. Read a `path` directly; for a resource with `command`,
53
+ execute that command and read the returned file. Keep read receipts only in
54
+ the current conversation and pass the merged receipt set back with
55
+ `context status --resource-receipts @<file>`; an unchanged static digest or
56
+ matching dynamic Route revision then returns `read_state: current`.
57
+ Materializing a resource is not a read: use the returned
58
+ `after_read_receipts` only after reading the complete returned file. A
59
+ `context.source-body/*` resource is the complete captured Markdown body;
60
+ source indexes and heading metadata never replace it. The exact
61
+ `resources.after_read.command` returns the re-evaluated `workflow.current`;
62
+ continue from that response without an additional status call.
53
63
  2. At a Gate, keep conditional context phase-local. An `inspection_action`
54
64
  Skill or Schema is read only when performing that pre-decision inspection;
55
65
  a `resolution_action` Skill or Schema is read only after the user confirms
56
66
  the Gate. Neither replaces ordinary `resources.required`.
57
67
  3. Execute only `commands` returned by the Route, preserving revision and
58
68
  authority flags exactly. A command marked `after-human-confirmation` must
59
- wait for the current Gate decision.
69
+ wait for the current Gate decision. Run a command whose
70
+ `execution.target` is `agent-host` as a top-level host action with the
71
+ host's external and credential access, not inside a restricted child
72
+ sandbox. Request host approval when required; never weaken credential
73
+ storage as a workaround.
60
74
  4. If `configuration` is present, edit only the named project file using the
61
75
  selected resources as its contract.
62
76
  5. After every action or configuration change, run status again. The managed
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: "Initialize a Context knowledge workspace."
3
- argument-hint: "[project-dir] [--name <name>]"
3
+ argument-hint: "[project-dir] [--name <name>] [--language en|zh-CN]"
4
4
  allowed-tools: Bash(context:*), Bash(bun:*), Bash(cd *)
5
5
  ---
6
6
 
@@ -16,9 +16,12 @@ step, then hand control to the current workflow route.
16
16
  Use the user's language for conversation. Keep command and payload tokens
17
17
  unchanged.
18
18
 
19
- Run `context init [project-dir] [--name <name>]` with only the arguments the
20
- user supplied. Never substitute `.` when `project-dir` was omitted; the default
21
- is `context/`. Use `--dev` only for an explicitly requested local-link test.
19
+ Run `context init [project-dir] [--name <name>] --language <language>`. Use the
20
+ user's explicit language choice when present; otherwise pass `zh-CN` for a
21
+ Chinese conversation and `en` for an English conversation. This explicit CLI
22
+ value controls generated workspace instructions and starter templates. Never
23
+ substitute `.` when `project-dir` was omitted; the default is `context/`. Use
24
+ `--dev` only for an explicitly requested local-link test.
22
25
 
23
26
  If init reports `init-target-nonempty`, explain that existing files would share
24
27
  the workspace root. Run the returned `--allow-nonempty` command only after
@@ -56,15 +56,29 @@ JSONL payload keys, `source_ref` values, and copied CLI output tokens unchanged.
56
56
 
57
57
  Treat `workflow.current` as the current-step authority:
58
58
 
59
- 1. Read every `resources.required` item. Read a `path` directly; for a resource
60
- with `command`, execute that command and read the returned file.
59
+ 1. Read every `resources.required` item whose `read_state` is
60
+ `read-required`. Read a `path` directly; for a resource with `command`,
61
+ execute that command and read the returned file. Keep read receipts only in
62
+ the current conversation and pass the merged receipt set back with
63
+ `context status --resource-receipts @<file>`; an unchanged static digest or
64
+ matching dynamic Route revision then returns `read_state: current`.
65
+ Materializing a resource is not a read: use the returned
66
+ `after_read_receipts` only after reading the complete returned file. A
67
+ `context.source-body/*` resource is the complete captured Markdown body;
68
+ source indexes and heading metadata never replace it. The exact
69
+ `resources.after_read.command` returns the re-evaluated `workflow.current`;
70
+ continue from that response without an additional status call.
61
71
  2. At a Gate, keep conditional context phase-local. An `inspection_action`
62
72
  Skill or Schema is read only when performing that pre-decision inspection;
63
73
  a `resolution_action` Skill or Schema is read only after the user confirms
64
74
  the Gate. Neither replaces ordinary `resources.required`.
65
75
  3. Execute only `commands` returned by the Route, preserving revision and
66
76
  authority flags exactly. A command marked `after-human-confirmation` must
67
- wait for the current Gate decision.
77
+ wait for the current Gate decision. Run a command whose
78
+ `execution.target` is `agent-host` as a top-level host action with the
79
+ host's external and credential access, not inside a restricted child
80
+ sandbox. Request host approval when required; never weaken credential
81
+ storage as a workaround.
68
82
  4. If `configuration` is present, edit only the named project file using the
69
83
  selected resources as its contract.
70
84
  5. After every action or configuration change, run status again. The managed
@@ -24,9 +24,12 @@ step, then hand control to the current workflow route.
24
24
  Use the user's language for conversation. Keep command and payload tokens
25
25
  unchanged.
26
26
 
27
- Run `context init [project-dir] [--name <name>]` with only the arguments the
28
- user supplied. Never substitute `.` when `project-dir` was omitted; the default
29
- is `context/`. Use `--dev` only for an explicitly requested local-link test.
27
+ Run `context init [project-dir] [--name <name>] --language <language>`. Use the
28
+ user's explicit language choice when present; otherwise pass `zh-CN` for a
29
+ Chinese conversation and `en` for an English conversation. This explicit CLI
30
+ value controls generated workspace instructions and starter templates. Never
31
+ substitute `.` when `project-dir` was omitted; the default is `context/`. Use
32
+ `--dev` only for an explicitly requested local-link test.
30
33
 
31
34
  If init reports `init-target-nonempty`, explain that existing files would share
32
35
  the workspace root. Run the returned `--allow-nonempty` command only after
@@ -0,0 +1,5 @@
1
+ schema: agent-graph.action.v1
2
+ id: accept-package-templates
3
+ runner: command
4
+ effect: write
5
+ command: context package template accept --all --format json
@@ -3,3 +3,4 @@ id: align-next
3
3
  runner: host
4
4
  effect: write
5
5
  handler: context.align.next
6
+ inputSchema: schemas/prose-structure-batch.schema.json
@@ -8,6 +8,7 @@ codes:
8
8
  - { code: diagnostic.compile-route-ambiguous, kind: diagnostic, severity: error, summary: More than one compile lifecycle owns the same source and collection., document: resources/diagnostics/workspace-state.md }
9
9
  - { code: diagnostic.structure-snapshot-missing, kind: diagnostic, severity: error, summary: A compile batch references a missing confirmed structure snapshot., document: resources/diagnostics/workspace-state.md }
10
10
  - { code: diagnostic.verify-failed, kind: diagnostic, severity: error, summary: Verification found one or more blocking findings., document: resources/diagnostics/verification.md }
11
+ - { code: diagnostic.projection-stale, kind: diagnostic, severity: info, summary: Approved knowledge changed and deterministic close must refresh its derived projection., document: resources/diagnostics/projection-stale.md }
11
12
  - { code: diagnostic.evidence-degraded, kind: diagnostic, severity: warning, summary: Approved knowledge has evidence that cannot currently be rechecked., document: resources/diagnostics/verification.md }
12
13
  - { code: diagnostic.evidence-stale, kind: diagnostic, severity: warning, summary: Approved knowledge evidence is stale against its registered source., document: resources/diagnostics/verification.md }
13
14
  - { code: diagnostic.evidence-orphaned, kind: diagnostic, severity: warning, summary: Approved knowledge no longer resolves to registered source evidence., document: resources/diagnostics/verification.md }
@@ -35,4 +36,5 @@ codes:
35
36
  - { code: route.close.projection-stale, kind: route-reason, summary: Rebuild the deterministic approved structure projection., document: resources/procedures/close-and-build.md }
36
37
  - { code: route.package.output-required, kind: route-reason, summary: Approved knowledge has no confirmed package output., document: resources/procedures/package-output.md }
37
38
  - { code: route.package.configuration-required, kind: route-reason, summary: Declare the confirmed package output in the Context project., document: resources/procedures/package-output.md }
39
+ - { code: route.package.template-review-required, kind: route-reason, summary: "Replace or edit package templates, or explicitly accept the generic defaults.", document: resources/procedures/package-output.md }
38
40
  - { code: route.build.package-stale, kind: route-reason, summary: Build the declared package outputs from current approved knowledge., document: resources/procedures/close-and-build.md }
@@ -384,6 +384,8 @@ nodes:
384
384
  required:
385
385
  - resources/procedures/close-and-build.md
386
386
  - resources/views/verification-current.yaml
387
+ recommended:
388
+ - resources/diagnostics/projection-stale.md
387
389
 
388
390
  - id: choose-package-output
389
391
  kind: gate
@@ -402,6 +404,7 @@ nodes:
402
404
  - resources/dialogue/human-gates.md
403
405
  - resources/dialogue/package-output.md
404
406
  - resources/views/package-current.yaml
407
+ recommended:
405
408
  - resources/manuals/guides/package-outputs.md
406
409
  - resources/manuals/reference/package-templates.md
407
410
  - resources/manuals/reference/template-variables.md
@@ -418,7 +421,9 @@ nodes:
418
421
  - resources/procedures/project-configuration.md
419
422
  - resources/procedures/package-output.md
420
423
  - resources/views/package-current.yaml
424
+ recommended:
421
425
  - resources/manuals/guides/package-outputs.md
426
+ - resources/manuals/reference/project-api.md
422
427
  - resources/manuals/reference/package-templates.md
423
428
  - resources/manuals/reference/template-variables.md
424
429
 
@@ -434,6 +439,25 @@ nodes:
434
439
  - resources/procedures/close-and-build.md
435
440
  - resources/views/package-current.yaml
436
441
 
442
+ - id: review-package-template
443
+ kind: gate
444
+ reasonCode: route.package.template-review-required
445
+ resolutionAction: actions/accept-package-templates.yaml
446
+ gate:
447
+ id: package-template-review
448
+ prompt: Replace or edit the declared package templates, or explicitly accept the unchanged generic defaults.
449
+ authority: context.package-template-review
450
+ delegatable: true
451
+ satisfiedBy:
452
+ - path: packages.templates_reviewed
453
+ equals: true
454
+ resources:
455
+ required:
456
+ - resources/procedures/package-output.md
457
+ - resources/dialogue/human-gates.md
458
+ - resources/views/package-current.yaml
459
+ - resources/manuals/reference/package-templates.md
460
+
437
461
  - id: current-scope-complete
438
462
  kind: terminal
439
463
  terminalOutcome: completed
@@ -465,5 +489,6 @@ edges:
465
489
  - { from: configure-prose-lifecycle, to: align-next }
466
490
  - { from: align-next, to: choose-package-output }
467
491
  - { from: choose-package-output, to: configure-package-output, kind: gatedBy }
468
- - { from: configure-package-output, to: build-next }
492
+ - { from: configure-package-output, to: review-package-template }
493
+ - { from: review-package-template, to: build-next, kind: gatedBy }
469
494
  - { from: build-next, to: current-scope-complete }