@c4a/context-cli 0.7.36 → 0.7.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "protocol": "context.indexer.cli-release-manifest/v1",
3
3
  "package": "@c4a/context-cli",
4
- "version": "0.7.36",
4
+ "version": "0.7.37",
5
5
  "issuer": "context4ai/context",
6
6
  "bundles": [
7
7
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c4a/context-cli",
3
- "version": "0.7.36",
3
+ "version": "0.7.37",
4
4
  "type": "module",
5
5
  "description": "Local runtime and Agent integration for traceable knowledge production",
6
6
  "license": "MIT",
@@ -24,17 +24,17 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@c4a/agent-graph": "0.3.0",
27
- "@c4a/context": "0.7.36",
28
- "@c4a/extract": "0.7.36",
29
- "@c4a/extract-contract": "0.7.36",
30
- "@c4a/extract-go": "0.7.36",
31
- "@c4a/extract-mdx": "0.7.36",
32
- "@c4a/extract-proto": "0.7.36",
33
- "@c4a/extract-rush": "0.7.36",
34
- "@c4a/extract-sql": "0.7.36",
35
- "@c4a/extract-style": "0.7.36",
36
- "@c4a/extract-thrift": "0.7.36",
37
- "@c4a/extract-ts": "0.7.36",
27
+ "@c4a/context": "0.7.37",
28
+ "@c4a/extract": "0.7.37",
29
+ "@c4a/extract-contract": "0.7.37",
30
+ "@c4a/extract-go": "0.7.37",
31
+ "@c4a/extract-mdx": "0.7.37",
32
+ "@c4a/extract-proto": "0.7.37",
33
+ "@c4a/extract-rush": "0.7.37",
34
+ "@c4a/extract-sql": "0.7.37",
35
+ "@c4a/extract-style": "0.7.37",
36
+ "@c4a/extract-thrift": "0.7.37",
37
+ "@c4a/extract-ts": "0.7.37",
38
38
  "@mermaid-js/layout-elk": "0.2.0",
39
39
  "commander": "^11.0.0",
40
40
  "fast-xml-parser": "^5.10.1",
package/plugins/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.36
1
+ 0.7.37
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
4
- "version": "0.7.36",
4
+ "version": "0.7.37",
5
5
  "author": {
6
6
  "name": "c4a"
7
7
  },
@@ -251,7 +251,6 @@ already made for the same scope.
251
251
  | `context.gate.top_level_directory` | Confirm the concrete structure. | Same. | Knowledge map guidance |
252
252
  | `context.gate.knowledge_review` | Ask for a decision on the current HTML report. | Delegate when the Route permits. | `knowledge-review` |
253
253
  | `context.gate.deletion_scope` | A user-approved deletion of exact sources or approved pages needs no second question after the CLI preview; ask only before deleting additional objects outside that scope. | Same. | Source remove / article retirement preview |
254
- | `context.gate.force_review_approval` | If the user explicitly says `强制批准` after the report is inaccessible, execute the current force-approval Route without another question. | Same. | `knowledge-review` recovery |
255
254
  | `context.gate.package_output` | Ask. | Choose within the requested delivery scope. | `package-output` |
256
255
  | `context.gate.package_template` | Ask. | Choose within the requested delivery scope. | `package-template-review` |
257
256
  | `context.gate.git_delivery` | Ask before commit, push or MR. | Same. | Host Git delivery |
@@ -465,9 +464,8 @@ receipt or recovery step.
465
464
  inspection and resolution separate: inspection resources apply while inspecting;
466
465
  resolution resources apply once the decision is authorized. Neither replaces
467
466
  ordinary required reading. For ordinary Knowledge Review, use its selected
468
- dialogue; only the exact reply `强制批准` authorizes the report-inaccessible
469
- force-approval route. Do not offer that shortcut initially or treat generic
470
- approval as equivalent.
467
+ dialogue to interpret confirmation, revision notes, or explicit approval after
468
+ revision. Ordinary confirmation needs no review code or special phrase.
471
469
 
472
470
  For `execution.target: agent-host`, use the exact top-level host action with
473
471
  its required access, not a restricted child sandbox. For `configuration`, edit
@@ -571,7 +569,7 @@ above for every progress summary.
571
569
  Keep the exact HTML review report links the user actually used in this
572
570
  conversation. Include those links in a compact final `Review reports` section
573
571
  when applicable; do not reconstruct them from runtime files or describe managed,
574
- force-approved or inaccessible reports as user-reviewed.
572
+ unread or inaccessible reports as user-reviewed.
575
573
 
576
574
  Publication is outside the Context production Route. When explicitly requested,
577
575
  use an installed distribution tool and its documented complete-output upload
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c4a",
3
- "version": "0.7.36",
3
+ "version": "0.7.37",
4
4
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
5
5
  "author": { "name": "c4a" },
6
6
  "homepage": "https://github.com/context4ai/c4a",
@@ -10,7 +10,7 @@
10
10
  "skills": "./skills/",
11
11
  "interface": {
12
12
  "displayName": "C4A Context",
13
- "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.36",
13
+ "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.37",
14
14
  "longDescription": "Create a Context workspace and use agent-guided next steps to register sources, run extraction, review candidates, build package outputs, and verify health without silently mutating source repositories.",
15
15
  "developerName": "c4a",
16
16
  "category": "Productivity",
@@ -249,7 +249,6 @@ already made for the same scope.
249
249
  | `context.gate.top_level_directory` | Confirm the concrete structure. | Same. | Knowledge map guidance |
250
250
  | `context.gate.knowledge_review` | Ask for a decision on the current HTML report. | Delegate when the Route permits. | `knowledge-review` |
251
251
  | `context.gate.deletion_scope` | A user-approved deletion of exact sources or approved pages needs no second question after the CLI preview; ask only before deleting additional objects outside that scope. | Same. | Source remove / article retirement preview |
252
- | `context.gate.force_review_approval` | If the user explicitly says `强制批准` after the report is inaccessible, execute the current force-approval Route without another question. | Same. | `knowledge-review` recovery |
253
252
  | `context.gate.package_output` | Ask. | Choose within the requested delivery scope. | `package-output` |
254
253
  | `context.gate.package_template` | Ask. | Choose within the requested delivery scope. | `package-template-review` |
255
254
  | `context.gate.git_delivery` | Ask before commit, push or MR. | Same. | Host Git delivery |
@@ -463,9 +462,8 @@ receipt or recovery step.
463
462
  inspection and resolution separate: inspection resources apply while inspecting;
464
463
  resolution resources apply once the decision is authorized. Neither replaces
465
464
  ordinary required reading. For ordinary Knowledge Review, use its selected
466
- dialogue; only the exact reply `强制批准` authorizes the report-inaccessible
467
- force-approval route. Do not offer that shortcut initially or treat generic
468
- approval as equivalent.
465
+ dialogue to interpret confirmation, revision notes, or explicit approval after
466
+ revision. Ordinary confirmation needs no review code or special phrase.
469
467
 
470
468
  For `execution.target: agent-host`, use the exact top-level host action with
471
469
  its required access, not a restricted child sandbox. For `configuration`, edit
@@ -569,7 +567,7 @@ above for every progress summary.
569
567
  Keep the exact HTML review report links the user actually used in this
570
568
  conversation. Include those links in a compact final `Review reports` section
571
569
  when applicable; do not reconstruct them from runtime files or describe managed,
572
- force-approved or inaccessible reports as user-reviewed.
570
+ unread or inaccessible reports as user-reviewed.
573
571
 
574
572
  Publication is outside the Context production Route. When explicitly requested,
575
573
  use an installed distribution tool and its documented complete-output upload
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "displayName": "C4A Context",
4
- "version": "0.7.36",
4
+ "version": "0.7.37",
5
5
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
6
6
  "author": {
7
7
  "name": "Context4AI",
@@ -246,7 +246,6 @@ already made for the same scope.
246
246
  | `context.gate.top_level_directory` | Confirm the concrete structure. | Same. | Knowledge map guidance |
247
247
  | `context.gate.knowledge_review` | Ask for a decision on the current HTML report. | Delegate when the Route permits. | `knowledge-review` |
248
248
  | `context.gate.deletion_scope` | A user-approved deletion of exact sources or approved pages needs no second question after the CLI preview; ask only before deleting additional objects outside that scope. | Same. | Source remove / article retirement preview |
249
- | `context.gate.force_review_approval` | If the user explicitly says `强制批准` after the report is inaccessible, execute the current force-approval Route without another question. | Same. | `knowledge-review` recovery |
250
249
  | `context.gate.package_output` | Ask. | Choose within the requested delivery scope. | `package-output` |
251
250
  | `context.gate.package_template` | Ask. | Choose within the requested delivery scope. | `package-template-review` |
252
251
  | `context.gate.git_delivery` | Ask before commit, push or MR. | Same. | Host Git delivery |
@@ -460,9 +459,8 @@ receipt or recovery step.
460
459
  inspection and resolution separate: inspection resources apply while inspecting;
461
460
  resolution resources apply once the decision is authorized. Neither replaces
462
461
  ordinary required reading. For ordinary Knowledge Review, use its selected
463
- dialogue; only the exact reply `强制批准` authorizes the report-inaccessible
464
- force-approval route. Do not offer that shortcut initially or treat generic
465
- approval as equivalent.
462
+ dialogue to interpret confirmation, revision notes, or explicit approval after
463
+ revision. Ordinary confirmation needs no review code or special phrase.
466
464
 
467
465
  For `execution.target: agent-host`, use the exact top-level host action with
468
466
  its required access, not a restricted child sandbox. For `configuration`, edit
@@ -566,7 +564,7 @@ above for every progress summary.
566
564
  Keep the exact HTML review report links the user actually used in this
567
565
  conversation. Include those links in a compact final `Review reports` section
568
566
  when applicable; do not reconstruct them from runtime files or describe managed,
569
- force-approved or inaccessible reports as user-reviewed.
567
+ unread or inaccessible reports as user-reviewed.
570
568
 
571
569
  Publication is outside the Context production Route. When explicitly requested,
572
570
  use an installed distribution tool and its documented complete-output upload
@@ -249,7 +249,6 @@ already made for the same scope.
249
249
  | `context.gate.top_level_directory` | Confirm the concrete structure. | Same. | Knowledge map guidance |
250
250
  | `context.gate.knowledge_review` | Ask for a decision on the current HTML report. | Delegate when the Route permits. | `knowledge-review` |
251
251
  | `context.gate.deletion_scope` | A user-approved deletion of exact sources or approved pages needs no second question after the CLI preview; ask only before deleting additional objects outside that scope. | Same. | Source remove / article retirement preview |
252
- | `context.gate.force_review_approval` | If the user explicitly says `强制批准` after the report is inaccessible, execute the current force-approval Route without another question. | Same. | `knowledge-review` recovery |
253
252
  | `context.gate.package_output` | Ask. | Choose within the requested delivery scope. | `package-output` |
254
253
  | `context.gate.package_template` | Ask. | Choose within the requested delivery scope. | `package-template-review` |
255
254
  | `context.gate.git_delivery` | Ask before commit, push or MR. | Same. | Host Git delivery |
@@ -463,9 +462,8 @@ receipt or recovery step.
463
462
  inspection and resolution separate: inspection resources apply while inspecting;
464
463
  resolution resources apply once the decision is authorized. Neither replaces
465
464
  ordinary required reading. For ordinary Knowledge Review, use its selected
466
- dialogue; only the exact reply `强制批准` authorizes the report-inaccessible
467
- force-approval route. Do not offer that shortcut initially or treat generic
468
- approval as equivalent.
465
+ dialogue to interpret confirmation, revision notes, or explicit approval after
466
+ revision. Ordinary confirmation needs no review code or special phrase.
469
467
 
470
468
  For `execution.target: agent-host`, use the exact top-level host action with
471
469
  its required access, not a restricted child sandbox. For `configuration`, edit
@@ -569,7 +567,7 @@ above for every progress summary.
569
567
  Keep the exact HTML review report links the user actually used in this
570
568
  conversation. Include those links in a compact final `Review reports` section
571
569
  when applicable; do not reconstruct them from runtime files or describe managed,
572
- force-approved or inaccessible reports as user-reviewed.
570
+ unread or inaccessible reports as user-reviewed.
573
571
 
574
572
  Publication is outside the Context production Route. When explicitly requested,
575
573
  use an installed distribution tool and its documented complete-output upload
@@ -0,0 +1,5 @@
1
+ schema: agent-graph.action.v1
2
+ id: apply-confirmed-review
3
+ runner: host
4
+ effect: write
5
+ handler: context.review.confirm-current
@@ -184,7 +184,7 @@ nodes:
184
184
  kind: gate
185
185
  reasonCode: route.review.decision-required
186
186
  inspectionAction: actions/inspect-review.yaml
187
- resolutionAction: actions/apply-forced-review.yaml
187
+ resolutionAction: actions/apply-confirmed-review.yaml
188
188
  delegated:
189
189
  inspection: skip
190
190
  resolutionAction: actions/apply-managed-review.yaml
@@ -2,7 +2,7 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.7.36"
5
+ "version": "0.7.37"
6
6
  },
7
7
  "providerManifest": "provider.yaml",
8
8
  "graphs": [
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "id": "workspace",
16
16
  "path": "graphs/workspace.yaml",
17
- "digest": "sha256:869b4dfcb052d45cc706e06aee9058ba72af9acc86c20ad3edb9b0217bf03459"
17
+ "digest": "sha256:ba5d93d4883c28e9dfd21829528684d8d6ad9b1523d5e1895b67dc5106b43f7c"
18
18
  }
19
19
  ],
20
20
  "actions": [
@@ -29,9 +29,9 @@
29
29
  "digest": "sha256:69ebc6ba54e3c59f3e17d97246fe7beae5ae15eb7b331e4e48ad59342a3fbada"
30
30
  },
31
31
  {
32
- "id": "apply-forced-review",
33
- "path": "actions/apply-forced-review.yaml",
34
- "digest": "sha256:ed530819831b68824bd373dec399c73a30d7eeebd2ef72ae0eab3e7a60cad80f"
32
+ "id": "apply-confirmed-review",
33
+ "path": "actions/apply-confirmed-review.yaml",
34
+ "digest": "sha256:9e90af61f9c3aa5ceaacc84d9b886ad8abf14c7690a15044da3690e030254b29"
35
35
  },
36
36
  {
37
37
  "id": "apply-managed-review",
@@ -258,7 +258,7 @@
258
258
  {
259
259
  "id": "dialogue.knowledge-review",
260
260
  "path": "resources/dialogue/knowledge-review.md",
261
- "digest": "sha256:d61cd56bc74ea0653ac6d02588115575ca7d7c21b4ac071d3868c4a2524242b6"
261
+ "digest": "sha256:685d6d408419d21a6cfb2affa008b260813193836a828486868a8700123cf11e"
262
262
  },
263
263
  {
264
264
  "id": "dialogue.package-output",
@@ -308,12 +308,12 @@
308
308
  {
309
309
  "id": "procedure.knowledge-review",
310
310
  "path": "resources/procedures/knowledge-review.md",
311
- "digest": "sha256:fa37908e7766f62227e02f6d38f3f3cc9ec023fd1ab01374bcb56e11338cf6fa"
311
+ "digest": "sha256:c3707cfe0c53e3732366ee4b19873f7f609823b44746c9a694e6a3d44bfafd55"
312
312
  },
313
313
  {
314
314
  "id": "procedure.knowledge-updates",
315
315
  "path": "resources/procedures/knowledge-updates.md",
316
- "digest": "sha256:44cea5c34793c775a0729f589f4436546528ddcde524e36fe16b5bad0f8e32e1"
316
+ "digest": "sha256:5f43cd5f6f1dd9260e11382867c71724d40699e99ef7c0d8a2c966000d449269"
317
317
  },
318
318
  {
319
319
  "id": "procedure.note",
@@ -458,8 +458,8 @@
458
458
  "digest": "sha256:69ebc6ba54e3c59f3e17d97246fe7beae5ae15eb7b331e4e48ad59342a3fbada"
459
459
  },
460
460
  {
461
- "path": "actions/apply-forced-review.yaml",
462
- "digest": "sha256:ed530819831b68824bd373dec399c73a30d7eeebd2ef72ae0eab3e7a60cad80f"
461
+ "path": "actions/apply-confirmed-review.yaml",
462
+ "digest": "sha256:9e90af61f9c3aa5ceaacc84d9b886ad8abf14c7690a15044da3690e030254b29"
463
463
  },
464
464
  {
465
465
  "path": "actions/apply-managed-review.yaml",
@@ -571,11 +571,11 @@
571
571
  },
572
572
  {
573
573
  "path": "graphs/workspace.yaml",
574
- "digest": "sha256:869b4dfcb052d45cc706e06aee9058ba72af9acc86c20ad3edb9b0217bf03459"
574
+ "digest": "sha256:ba5d93d4883c28e9dfd21829528684d8d6ad9b1523d5e1895b67dc5106b43f7c"
575
575
  },
576
576
  {
577
577
  "path": "provider.yaml",
578
- "digest": "sha256:0f561dd75d89ccbd26e3d9d0102607cf942a30ec180890be5f8551cdbb14e550"
578
+ "digest": "sha256:8a74deb769bb16186805bdf9e56b7eb7eca8e921a637337643f1ecc447a69d28"
579
579
  },
580
580
  {
581
581
  "path": "resources/contracts/indexer-provider-guide.yaml",
@@ -607,7 +607,7 @@
607
607
  },
608
608
  {
609
609
  "path": "resources/dialogue/knowledge-review.md",
610
- "digest": "sha256:d61cd56bc74ea0653ac6d02588115575ca7d7c21b4ac071d3868c4a2524242b6"
610
+ "digest": "sha256:685d6d408419d21a6cfb2affa008b260813193836a828486868a8700123cf11e"
611
611
  },
612
612
  {
613
613
  "path": "resources/dialogue/package-output.md",
@@ -631,7 +631,7 @@
631
631
  },
632
632
  {
633
633
  "path": "resources/manuals/guides/knowledge-updates.md",
634
- "digest": "sha256:c85e58acf930b9ffae128f0bb83d5494024dd81ae1c338df4a2fa6fa0a95695f"
634
+ "digest": "sha256:5ac2976982208339a2cb4142c3d2c0877ea35c6add63ce21d2253b5015c96fa7"
635
635
  },
636
636
  {
637
637
  "path": "resources/manuals/guides/lark-resources.md",
@@ -715,11 +715,11 @@
715
715
  },
716
716
  {
717
717
  "path": "resources/procedures/knowledge-review.md",
718
- "digest": "sha256:fa37908e7766f62227e02f6d38f3f3cc9ec023fd1ab01374bcb56e11338cf6fa"
718
+ "digest": "sha256:c3707cfe0c53e3732366ee4b19873f7f609823b44746c9a694e6a3d44bfafd55"
719
719
  },
720
720
  {
721
721
  "path": "resources/procedures/knowledge-updates.md",
722
- "digest": "sha256:44cea5c34793c775a0729f589f4436546528ddcde524e36fe16b5bad0f8e32e1"
722
+ "digest": "sha256:5f43cd5f6f1dd9260e11382867c71724d40699e99ef7c0d8a2c966000d449269"
723
723
  },
724
724
  {
725
725
  "path": "resources/procedures/note.md",
@@ -882,5 +882,5 @@
882
882
  "indexer": [],
883
883
  "workspace": []
884
884
  },
885
- "digest": "sha256:29b92311749d0e5041e30fe8e2fec76bd8e29eea0fcbb3c1b7b6d5b6923d046f"
885
+ "digest": "sha256:bda37ec8c50797ca3c5eb3ceab11095cd51bb1f591a80eb4dcb3957a1447a9cf"
886
886
  }
@@ -1,6 +1,6 @@
1
1
  schema: agent-graph.provider.v1
2
2
  id: c4a/context
3
- version: 0.7.36
3
+ version: 0.7.37
4
4
  name: Context workflow
5
5
  description: Internal work contract for Context knowledge workspaces.
6
6
  graphs:
@@ -6,55 +6,58 @@ mediaType: text/markdown
6
6
 
7
7
  # Knowledge-review dialogue
8
8
 
9
- Explain that Review is the boundary between draft candidates and approved
10
- Markdown. In ordinary mode:
11
-
12
- 1. open the complete current Review report;
13
- 2. let the user approve, reject, or request revisions to candidates;
14
- 3. ask them to copy the review code back into the conversation; and
15
- 4. apply only that exact review code through the returned command.
16
-
17
- The user does not need to create a payload file; the Agent may write the pasted
18
- review code to ignored scratch storage for the CLI command. Preserve it exactly;
19
- do not decode, regenerate, summarize, or edit it. The code carries decisions and
20
- revision instructions together. If it exceeds 1,000 characters, use a direct
21
- reply (mention the Bot when relevant) instead of a length-limited form. Older
22
- segmented codes still require every segment in the same input file. If the CLI
23
- reports damaged or stale feedback, follow its diagnostic and request a fresh
24
- report/code; never repair a code by hand.
25
- Never derive a payload
26
- from HTML, candidate ids, snapshots, or a default decision.
27
-
28
- When the user completes a decision from the report, retain the exact report URL
29
- or local report path and reviewed scope in the current conversation for the
30
- final completion summary. Do not persist a separate workspace ledger or count a
31
- report as user-reviewed when it was inaccessible, fully managed, or bypassed by
32
- force approval.
33
-
34
- Do not mention force approval when first presenting Review. If the user replies
35
- without a review code that they approve or want to continue, explain that the
36
- report review code remains the normal path. Only at that point, when the report is
37
- unavailable to them, tell them they may explicitly reply with the exact phrase
38
- `强制批准` to approve the complete current scope without per-candidate choices.
39
- Execute the Route's `after-human-confirmation` force-approval command only after
40
- that exact phrase appears in the current conversation. Phrases such as `我批准`,
41
- `继续`, or `全部通过` do not invoke this escape path.
42
-
43
- Do not open Review for one page or module while another confirmed item in the
44
- same round is still being generated. If a repeat codeindex run has no delta,
45
- state that existing approvals were preserved and no Review gate remains.
46
-
47
- When the user explicitly requested fully managed operation, materialize the
48
- required `context.review-current` Markdown Resource once, read its index and
49
- the pages being decided, then use the revision-bound atomic apply command with
50
- the index's current scope template. Approve only pages actually reviewed; leave
51
- undecided and repair pages pending. Do not open HTML or persist a parallel review
52
- ledger. A partial review code in ordinary mode likewise leaves pending pages
53
- unchanged; all segments of that code are still required.
54
-
55
- After applying feedback, follow each returned repair command with the user's
56
- exact instruction. Repairs remain pending; neither copying nor applying the
57
- code approves them. Pending instructions are retained by the CLI and exposed in
58
- the current review resource after a session restart. Re-read and review the
59
- resulting candidate before approval. Do not silently replace a revision request
60
- with rejection or bulk approval.
9
+ Present one current report for the complete agreed candidate scope. Ask the user
10
+ to read it and confirm or return revision notes. Use the host's user-question
11
+ tool when a response is needed. In a host supporting an opt-in feedback
12
+ confirmation presentation, use that presentation with an optional feedback input
13
+ and one explicit Confirm submit action. Otherwise use the existing question
14
+ surface. Do not require review codes, exact magic phrases, read receipts, or
15
+ per-article decisions from the user.
16
+
17
+ Interpret the full reply in its conversation context:
18
+
19
+ - Feedback alone: preserve the instructions, repair the affected candidates,
20
+ inspect the resulting content, generate an updated report, and ask again.
21
+ - Explicit confirmation, approval, or permission to continue: apply approval to
22
+ the presented scope using the current revision-bound confirmation command.
23
+ There is no additional confirmation step.
24
+ - Feedback plus explicit approval to continue after fixing it: repair first,
25
+ verify the resulting content against the instructions, then approve only the
26
+ affected resulting revisions and previously presented unchanged candidates.
27
+ Share the updated report for information and follow the next Route without
28
+ asking again. If the correction cannot be completed, report the remaining
29
+ issue instead of approving it.
30
+ - A request to continue editing and show the result afterward authorizes editing,
31
+ not approval. Generate the revised report and wait for the user's decision.
32
+
33
+ An explicit Confirm submission with empty optional feedback is approval. Nonempty
34
+ feedback alone is a revision request even when sent with that same submit button;
35
+ only an explicit instruction to approve after revision adds that authority.
36
+ An ignored card, timeout, read progress or silence is not approval. Do not decide
37
+ by matching isolated keywords. Quoted examples inside feedback are not approval.
38
+
39
+ Resolve notes by canonical article ID or title against the presented candidates.
40
+ If a title is ambiguous, ask only for that missing identity. Retain the report
41
+ reference, scope and user intent in the conversation; do not make the user copy
42
+ an internal JSON payload. The Agent prepares scoped JSON from the current review
43
+ resource when needed. It may record pending instructions as repairs containing
44
+ candidate_id and instruction, separate from approve/reject decisions. Applying
45
+ repair instructions never approves a page. Follow returned repair commands and
46
+ inspect actual new content, not just successful command receipts.
47
+
48
+ A content change invalidates the old mechanical snapshot. For approved-after-fix
49
+ intent, materialize the new scope after verifying the fix and explicitly map the
50
+ result back to the authorized articles; leave unrelated new drafts pending. Do
51
+ not widen prior consent to a new article or an unrelated change. Use explicit
52
+ per-candidate decisions when the current batch also contains unapproved work.
53
+ Keep source, identity, baseline, revision and atomic-apply checks intact.
54
+
55
+ Retain the exact report URL or local path and the user's reviewed scope for the
56
+ final summary. A generated or accessible report is not proof that it was read.
57
+ Do not report fully managed or inaccessible material as read by the user.
58
+
59
+ With explicit session-managed authority, consume the required current Markdown
60
+ review resource and use its scope template and Route's atomic apply command.
61
+ Read pages before deciding, leave repair and undecided pages pending, and reuse
62
+ still-available review of unchanged pages. Do not open HTML or create a parallel
63
+ review ledger. After any apply or repair, follow the freshly evaluated Route.
@@ -324,16 +324,20 @@ assembled page and previous text without accepting the edit. Submit the same
324
324
  input without that flag to continue. A preview is not approval and does not make
325
325
  a stale revision valid.
326
326
 
327
- Review can approve checked pages while leaving repair pages pending. The HTML
328
- report shows the current site navigation, candidate changes and expected file
329
- paths. Unchanged approved pages retain their titles with omitted bodies. Enter
330
- revision instructions directly in the report; the copied code and following
331
- instruction lines must be returned together without edits. The CLI binds them to
332
- the reviewed content and baseline and returns repair commands while leaving
333
- those pages pending. Changed candidates require a fresh review. The HTML
334
- review code includes pending positions; managed Review provides the same current
335
- scope as a JSON template. Send decisions only for pages actually reviewed. Omit
336
- means a durable exclusion, not repair. Partial approval alone does not build.
327
+ Review can approve checked pages while leaving repair pages pending. The report
328
+ shows current navigation, candidate changes and expected file paths. Its READ
329
+ progress is local to the browser. Enter revision notes in the article input,
330
+ then copy the plain notes back to the conversation or simply confirm there.
331
+ No review code is needed. Feedback alone leads to repair and an updated report;
332
+ explicit approval continues the workflow. If the user asks to fix the notes and
333
+ then proceed, verify the fix and approve only that authorized scope without
334
+ another question. A request to edit and show the result still waits for review.
335
+
336
+ The Agent uses the current resource's scoped JSON template, with explicit
337
+ candidate decisions or repairs containing candidate_id and instruction. The CLI
338
+ checks scope, content and displayed baseline before applying changes. Pending
339
+ instructions survive a session restart. Omit means durable exclusion, not repair.
340
+ Partial approval alone does not build.
337
341
 
338
342
  When the user requests an earlier delivery, use the Route's `context run
339
343
  --deliver` request. Independently approved pages can pass close/build while
@@ -8,7 +8,6 @@ mediaType: text/markdown
8
8
 
9
9
  Agent policy: `context.gate.knowledge_review`. An instance-specific Bot may
10
10
  override the managed default and require the ordinary HTML review decision.
11
- The report-inaccessible exception is `context.gate.force_review_approval`.
12
11
 
13
12
  Review is the authority boundary between candidates and approved knowledge.
14
13
  Open one report for the complete current candidate set and apply only a payload
@@ -25,20 +24,22 @@ an approved path is a migration within the user's requested scope; do not ask
25
24
  again when that scope is already clear. The resulting Candidate still enters
26
25
  Review.
27
26
 
28
- Without explicit session-managed authority:
29
-
30
- - open the report returned by the route;
31
- - let the user approve, reject, or request revisions to candidates;
32
- - apply the exact copied review code through the returned review apply command; and
33
- - retain the exact report reference and reviewed scope in this conversation for
34
- the final completion summary.
35
-
36
- The ordinary Route also carries a revision-bound force-approval resolution
37
- Action as an escape path. Do not advertise it when first presenting Review.
38
- Use it only after the user cannot use the report and explicitly replies with
39
- the exact phrase `强制批准` in the current conversation. That reply is the
40
- decision; do not ask a second confirmation. It approves the complete
41
- current scope atomically; no candidate-specific decisions are inferred.
27
+ Without explicit session-managed authority, open the report returned by the
28
+ Route and request confirmation or revision notes through the host user-question
29
+ tool. Follow the selected knowledge-review dialogue to distinguish feedback,
30
+ approval and approval-after-repair. Keep the exact report reference, presented
31
+ scope and user intent in this conversation. The HTML contains reading progress
32
+ and plain revision notes, not approval authority. Normal explicit confirmation
33
+ uses the Route's revision-bound resolution Action and the report's scope snapshot.
34
+ No review code or special approval phrase is required.
35
+
36
+ For old automation, `review approve-all --force` remains a deprecated explicit
37
+ approval alias and applies the current candidate scope without requiring a new
38
+ report. Prefer `--confirmed` for new calls. The CLI also accepts existing legacy
39
+ review files and translates their decisions and repair notes, retaining scope,
40
+ content and baseline checks. Compatibility notices go to stderr, preserving JSON
41
+ stdout. Never request or generate a review code; the page exposes only reading
42
+ progress and revision notes. Existing pending repairs must still be resolved.
42
43
 
43
44
  With explicit session-managed authority, materialize the required
44
45
  `context.review-current` Markdown Resource once. Read its index and every
@@ -80,16 +81,19 @@ all candidate pages as New. Existing unchanged pages show titles only; changed
80
81
  blocks and previous text remain available for comparison. Navigation without a
81
82
  Git baseline is labelled as current context, not an invented historical diff.
82
83
 
83
- Approve accepts a candidate. Reject durably omits it; it does not request a
84
- rewrite or retire an approved article. Entering revision instructions requests
85
- repair and locks the other choices for that page until cancelled. Bulk approval
86
- requires confirmation and affects only undecided pages. When the report contains
87
- new top-level categories, the dialog lists them and requires explicit
88
- acknowledgment plus an eight-second wait before confirmation is enabled.
89
- New descendant pages under an existing category do not trigger this extra step. The copied code binds
90
- the candidate scope, exact content, displayed baseline and revision instructions;
91
- the CLI validates these together before writing any decision. Follow returned
92
- repair commands, then obtain review of the repaired candidates.
84
+ Opening a candidate marks it READ once for that browser and content version.
85
+ Read counts and revision notes are local convenience state, never approval or
86
+ required CLI receipts. The total includes only current candidates. Typing notes
87
+ immediately marks a page for revision; clearing notes preserves its READ state.
88
+ The revision counter opens a card list of titles and notes, with links back to
89
+ the articles. Copy exports plain notes with article IDs and titles. After copying,
90
+ a five-second dialog previews the text; only that preview is truncated at 400px.
91
+
92
+ The Agent converts conversation intent into current scoped CLI decisions or
93
+ revision instructions. A rejection durably omits a candidate; it does not request
94
+ a rewrite or retire an approved article. Repair first, inspect the actual result,
95
+ and obtain a new decision unless the user already explicitly authorized approval
96
+ after the correction. The latter applies only to the same agreed article scope.
93
97
 
94
98
  Use the affected page's `Repair` command in the review material, replacing only
95
99
  the correction instruction. Current candidates are repaired within this batch;