@c4a/context-cli 0.7.66 → 0.7.70
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/cli.js +1672 -1238
- package/indexers/contracts/profile-contract.json +245 -245
- package/indexers/release-manifest.json +1 -1
- package/package.json +12 -12
- package/parserEntryWorker.js +17 -2
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/codex/.codex-plugin/plugin.json +2 -2
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/providers/context/manifest.json +21 -21
- package/providers/context/provider.yaml +1 -1
- package/providers/context/resources/diagnostics/verification.md +2 -0
- package/providers/context/resources/manuals/guides/knowledge-updates.md +11 -0
- package/providers/context/resources/manuals/guides/package-outputs.md +6 -2
- package/providers/context/resources/manuals/guides/site-translation.md +26 -2
- package/providers/context/resources/procedures/approved-revision.md +11 -0
- package/providers/context/resources/procedures/knowledge-updates.md +11 -0
- package/providers/context/resources/procedures/production-stage-files.md +11 -0
- package/providers/context/schemas/approved-revision-result.schema.json +56 -19
- package/providers/context/schemas/indexer-agent-step-result.schema.json +56 -19
- package/providers/context/skills/translate-site-locales/SKILL.md +9 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c4a/context-cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.70",
|
|
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.
|
|
28
|
-
"@c4a/extract": "0.7.
|
|
29
|
-
"@c4a/extract-contract": "0.7.
|
|
30
|
-
"@c4a/extract-go": "0.7.
|
|
31
|
-
"@c4a/extract-mdx": "0.7.
|
|
32
|
-
"@c4a/extract-proto": "0.7.
|
|
33
|
-
"@c4a/extract-rush": "0.7.
|
|
34
|
-
"@c4a/extract-sql": "0.7.
|
|
35
|
-
"@c4a/extract-style": "0.7.
|
|
36
|
-
"@c4a/extract-thrift": "0.7.
|
|
37
|
-
"@c4a/extract-ts": "0.7.
|
|
27
|
+
"@c4a/context": "0.7.70",
|
|
28
|
+
"@c4a/extract": "0.7.70",
|
|
29
|
+
"@c4a/extract-contract": "0.7.70",
|
|
30
|
+
"@c4a/extract-go": "0.7.70",
|
|
31
|
+
"@c4a/extract-mdx": "0.7.70",
|
|
32
|
+
"@c4a/extract-proto": "0.7.70",
|
|
33
|
+
"@c4a/extract-rush": "0.7.70",
|
|
34
|
+
"@c4a/extract-sql": "0.7.70",
|
|
35
|
+
"@c4a/extract-style": "0.7.70",
|
|
36
|
+
"@c4a/extract-thrift": "0.7.70",
|
|
37
|
+
"@c4a/extract-ts": "0.7.70",
|
|
38
38
|
"@mermaid-js/layout-elk": "0.2.0",
|
|
39
39
|
"commander": "^11.0.0",
|
|
40
40
|
"fast-xml-parser": "^5.10.1",
|
package/parserEntryWorker.js
CHANGED
|
@@ -18099,6 +18099,19 @@ var init_indexerAgentStepProtocol = __esm(() => {
|
|
|
18099
18099
|
]);
|
|
18100
18100
|
});
|
|
18101
18101
|
|
|
18102
|
+
// ../context/src/articleSourceLocatorInput.ts
|
|
18103
|
+
var articleSourceLocatorInputSchema;
|
|
18104
|
+
var init_articleSourceLocatorInput = __esm(() => {
|
|
18105
|
+
init_zod();
|
|
18106
|
+
init_articleStructure();
|
|
18107
|
+
init_indexerProtocolCommon();
|
|
18108
|
+
articleSourceLocatorInputSchema = exports_external.union([
|
|
18109
|
+
articleSourceLocatorSchema,
|
|
18110
|
+
exports_external.object({ path: portableIndexerPathSchema, heading: exports_external.string().trim().min(1) }).strict(),
|
|
18111
|
+
exports_external.object({ path: portableIndexerPathSchema, quote: exports_external.string().min(1) }).strict()
|
|
18112
|
+
]);
|
|
18113
|
+
});
|
|
18114
|
+
|
|
18102
18115
|
// ../context/src/knowledgeMap.ts
|
|
18103
18116
|
function validateEntries(entries) {
|
|
18104
18117
|
const indexed = new Map(entries.map((entry) => [entry.key, entry]));
|
|
@@ -18208,6 +18221,7 @@ function parseIndexerCurrentActionSubmission(value) {
|
|
|
18208
18221
|
}
|
|
18209
18222
|
var catalogProviderSelectionSchema, providerSelectionEntrySchema, providerObservationSchema, indexerProviderSelectionSemanticInputSchema, indexerProviderResolutionSemanticInputSchema, indexerProviderProgramAuthorizationSemanticInputSchema, partitionGroupSchema2, partitionDispositionSchema, partitionUnsupportedSchema, completePartitionInputSchema, failedPartitionInputSchema, indexerPartitionSemanticInputSchema, authorVisualSchema, authorSectionSchema, authorTemplateVariablesSchema, authorMemberDispositionSchema, authorMaterialGapSchema, authorDiagnosticSchema, authorInputBaseSchema, indexerAuthorSemanticInputSchema, indexerPartitionBatchSemanticInputSchema, indexerAuthorBatchSemanticInputSchema, indexerMainBatchSubmissionEnvelopeSchema, postAuthorSectionSchema, postAuthorInputBaseSchema, indexerPostAuthorSemanticInputSchema, indexerPostAuthorBatchSemanticInputSchema, structureReviewBaseSchema, indexerStructureReviewInputSchema, layoutConfirmationBaseSchema, indexerLayoutConfirmationInputSchema, revisionSectionReferencesSchema, approvedRevisionSemanticInputSchema, sourceUpdateSemanticInputSchema, indexerCurrentActionInputDefinitions, indexerCurrentActionInputSchema;
|
|
18210
18223
|
var init_indexerSemanticInput = __esm(() => {
|
|
18224
|
+
init_articleSourceLocatorInput();
|
|
18211
18225
|
init_articleStructure();
|
|
18212
18226
|
init_indexerProtocolCommon();
|
|
18213
18227
|
init_knowledgeMap();
|
|
@@ -18513,8 +18527,8 @@ var init_indexerSemanticInput = __esm(() => {
|
|
|
18513
18527
|
]);
|
|
18514
18528
|
revisionSectionReferencesSchema = exports_external.array(exports_external.object({
|
|
18515
18529
|
source_ref: exports_external.string().min(1),
|
|
18516
|
-
locator:
|
|
18517
|
-
}).strict())
|
|
18530
|
+
locator: articleSourceLocatorInputSchema
|
|
18531
|
+
}).strict());
|
|
18518
18532
|
approvedRevisionSemanticInputSchema = exports_external.union([
|
|
18519
18533
|
exports_external.object({
|
|
18520
18534
|
stage: exports_external.literal("approved-revision"),
|
|
@@ -20725,6 +20739,7 @@ var init_src = __esm(() => {
|
|
|
20725
20739
|
init_knowledgeMap();
|
|
20726
20740
|
init_indexerApprovedKnowledge();
|
|
20727
20741
|
init_articleStructure();
|
|
20742
|
+
init_articleSourceLocatorInput();
|
|
20728
20743
|
});
|
|
20729
20744
|
|
|
20730
20745
|
// src/project/codeAnalysisInput.ts
|
package/plugins/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.7.
|
|
1
|
+
0.7.70
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "c4a",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.70",
|
|
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.
|
|
13
|
+
"shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.70",
|
|
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",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema": "agent-graph.bundle.v1",
|
|
3
3
|
"provider": {
|
|
4
4
|
"id": "c4a/context",
|
|
5
|
-
"version": "0.7.
|
|
5
|
+
"version": "0.7.70"
|
|
6
6
|
},
|
|
7
7
|
"providerManifest": "provider.yaml",
|
|
8
8
|
"graphs": [
|
|
@@ -193,7 +193,7 @@
|
|
|
193
193
|
{
|
|
194
194
|
"id": "context.sdk.package-outputs",
|
|
195
195
|
"path": "resources/manuals/guides/package-outputs.md",
|
|
196
|
-
"digest": "sha256:
|
|
196
|
+
"digest": "sha256:695a97ef8abc86e1fd8646f90f100f074ba7547f496087204caee73c6ab9237c"
|
|
197
197
|
},
|
|
198
198
|
{
|
|
199
199
|
"id": "context.sdk.package-templates",
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
{
|
|
214
214
|
"id": "context.sdk.site-translation",
|
|
215
215
|
"path": "resources/manuals/guides/site-translation.md",
|
|
216
|
-
"digest": "sha256:
|
|
216
|
+
"digest": "sha256:f91c6676dc2b51e91e29d9a818c56039b5f6389982b124d3f3609c7c88293a6a"
|
|
217
217
|
},
|
|
218
218
|
{
|
|
219
219
|
"id": "context.sdk.template-variables",
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
{
|
|
249
249
|
"id": "diagnostic.verification",
|
|
250
250
|
"path": "resources/diagnostics/verification.md",
|
|
251
|
-
"digest": "sha256:
|
|
251
|
+
"digest": "sha256:49ea3bfff8b1315aa81f2dfef245ca181499a40c10bca43ec12a37f7d50383a8"
|
|
252
252
|
},
|
|
253
253
|
{
|
|
254
254
|
"id": "diagnostic.workspace-state",
|
|
@@ -288,7 +288,7 @@
|
|
|
288
288
|
{
|
|
289
289
|
"id": "procedure.approved-revision",
|
|
290
290
|
"path": "resources/procedures/approved-revision.md",
|
|
291
|
-
"digest": "sha256:
|
|
291
|
+
"digest": "sha256:31bc0c4dfb0393b079f69c5cfe84c0b4b0e77149e64e923838bdeeb0f7002669"
|
|
292
292
|
},
|
|
293
293
|
{
|
|
294
294
|
"id": "procedure.close-and-build",
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
{
|
|
324
324
|
"id": "procedure.knowledge-updates",
|
|
325
325
|
"path": "resources/procedures/knowledge-updates.md",
|
|
326
|
-
"digest": "sha256:
|
|
326
|
+
"digest": "sha256:a8c3505aa7bd7e97db85fafb89a30a62f15c24e9976b1de1f5d3736143b3e0fd"
|
|
327
327
|
},
|
|
328
328
|
{
|
|
329
329
|
"id": "procedure.note",
|
|
@@ -348,7 +348,7 @@
|
|
|
348
348
|
{
|
|
349
349
|
"id": "procedure.production-stage-files",
|
|
350
350
|
"path": "resources/procedures/production-stage-files.md",
|
|
351
|
-
"digest": "sha256:
|
|
351
|
+
"digest": "sha256:add64bef96b5d87aa8205386637a00b1a4a57cf40f715fcf5659d45b577ac2cc"
|
|
352
352
|
},
|
|
353
353
|
{
|
|
354
354
|
"id": "procedure.project-configuration",
|
|
@@ -435,12 +435,12 @@
|
|
|
435
435
|
{
|
|
436
436
|
"id": "schemas/approved-revision-result.schema.json",
|
|
437
437
|
"path": "schemas/approved-revision-result.schema.json",
|
|
438
|
-
"digest": "sha256:
|
|
438
|
+
"digest": "sha256:e672c5c6de7f0f6eb523486b71a7b92ae735d36632fafc351b734732d6fbedb0"
|
|
439
439
|
},
|
|
440
440
|
{
|
|
441
441
|
"id": "schemas/indexer-agent-step-result.schema.json",
|
|
442
442
|
"path": "schemas/indexer-agent-step-result.schema.json",
|
|
443
|
-
"digest": "sha256:
|
|
443
|
+
"digest": "sha256:b80501f5c131ffd731cd2f96513c37aa012c3470098a287bd58b06c4698af6d2"
|
|
444
444
|
},
|
|
445
445
|
{
|
|
446
446
|
"id": "context.indexer.registry-bootstrap",
|
|
@@ -589,7 +589,7 @@
|
|
|
589
589
|
},
|
|
590
590
|
{
|
|
591
591
|
"path": "provider.yaml",
|
|
592
|
-
"digest": "sha256:
|
|
592
|
+
"digest": "sha256:f4aa4bb6f22eb6e9fd9a95f5b44f87b404768bfbc0a40df7413df908a21b9033"
|
|
593
593
|
},
|
|
594
594
|
{
|
|
595
595
|
"path": "resources/contracts/indexer-provider-guide.yaml",
|
|
@@ -605,7 +605,7 @@
|
|
|
605
605
|
},
|
|
606
606
|
{
|
|
607
607
|
"path": "resources/diagnostics/verification.md",
|
|
608
|
-
"digest": "sha256:
|
|
608
|
+
"digest": "sha256:49ea3bfff8b1315aa81f2dfef245ca181499a40c10bca43ec12a37f7d50383a8"
|
|
609
609
|
},
|
|
610
610
|
{
|
|
611
611
|
"path": "resources/diagnostics/workspace-state.md",
|
|
@@ -649,7 +649,7 @@
|
|
|
649
649
|
},
|
|
650
650
|
{
|
|
651
651
|
"path": "resources/manuals/guides/knowledge-updates.md",
|
|
652
|
-
"digest": "sha256:
|
|
652
|
+
"digest": "sha256:c26d6552b9a21d2ce1fb3a2508d0909165a3f61ab126fc4f7153fc2bca738e95"
|
|
653
653
|
},
|
|
654
654
|
{
|
|
655
655
|
"path": "resources/manuals/guides/lark-resources.md",
|
|
@@ -665,7 +665,7 @@
|
|
|
665
665
|
},
|
|
666
666
|
{
|
|
667
667
|
"path": "resources/manuals/guides/package-outputs.md",
|
|
668
|
-
"digest": "sha256:
|
|
668
|
+
"digest": "sha256:695a97ef8abc86e1fd8646f90f100f074ba7547f496087204caee73c6ab9237c"
|
|
669
669
|
},
|
|
670
670
|
{
|
|
671
671
|
"path": "resources/manuals/guides/page-customization.md",
|
|
@@ -681,7 +681,7 @@
|
|
|
681
681
|
},
|
|
682
682
|
{
|
|
683
683
|
"path": "resources/manuals/guides/site-translation.md",
|
|
684
|
-
"digest": "sha256:
|
|
684
|
+
"digest": "sha256:f91c6676dc2b51e91e29d9a818c56039b5f6389982b124d3f3609c7c88293a6a"
|
|
685
685
|
},
|
|
686
686
|
{
|
|
687
687
|
"path": "resources/manuals/guides/source-batches.md",
|
|
@@ -717,7 +717,7 @@
|
|
|
717
717
|
},
|
|
718
718
|
{
|
|
719
719
|
"path": "resources/procedures/approved-revision.md",
|
|
720
|
-
"digest": "sha256:
|
|
720
|
+
"digest": "sha256:31bc0c4dfb0393b079f69c5cfe84c0b4b0e77149e64e923838bdeeb0f7002669"
|
|
721
721
|
},
|
|
722
722
|
{
|
|
723
723
|
"path": "resources/procedures/close-and-build.md",
|
|
@@ -745,7 +745,7 @@
|
|
|
745
745
|
},
|
|
746
746
|
{
|
|
747
747
|
"path": "resources/procedures/knowledge-updates.md",
|
|
748
|
-
"digest": "sha256:
|
|
748
|
+
"digest": "sha256:a8c3505aa7bd7e97db85fafb89a30a62f15c24e9976b1de1f5d3736143b3e0fd"
|
|
749
749
|
},
|
|
750
750
|
{
|
|
751
751
|
"path": "resources/procedures/note.md",
|
|
@@ -765,7 +765,7 @@
|
|
|
765
765
|
},
|
|
766
766
|
{
|
|
767
767
|
"path": "resources/procedures/production-stage-files.md",
|
|
768
|
-
"digest": "sha256:
|
|
768
|
+
"digest": "sha256:add64bef96b5d87aa8205386637a00b1a4a57cf40f715fcf5659d45b577ac2cc"
|
|
769
769
|
},
|
|
770
770
|
{
|
|
771
771
|
"path": "resources/procedures/project-configuration.md",
|
|
@@ -857,11 +857,11 @@
|
|
|
857
857
|
},
|
|
858
858
|
{
|
|
859
859
|
"path": "schemas/approved-revision-result.schema.json",
|
|
860
|
-
"digest": "sha256:
|
|
860
|
+
"digest": "sha256:e672c5c6de7f0f6eb523486b71a7b92ae735d36632fafc351b734732d6fbedb0"
|
|
861
861
|
},
|
|
862
862
|
{
|
|
863
863
|
"path": "schemas/indexer-agent-step-result.schema.json",
|
|
864
|
-
"digest": "sha256:
|
|
864
|
+
"digest": "sha256:b80501f5c131ffd731cd2f96513c37aa012c3470098a287bd58b06c4698af6d2"
|
|
865
865
|
},
|
|
866
866
|
{
|
|
867
867
|
"path": "schemas/indexer-registry-bootstrap.schema.json",
|
|
@@ -901,7 +901,7 @@
|
|
|
901
901
|
},
|
|
902
902
|
{
|
|
903
903
|
"path": "skills/translate-site-locales/SKILL.md",
|
|
904
|
-
"digest": "sha256:
|
|
904
|
+
"digest": "sha256:d736b2dff46cc75330522ecbef41f10d77b24dae87fcd290418bb25683f94a43"
|
|
905
905
|
},
|
|
906
906
|
{
|
|
907
907
|
"path": "skills/work-production-stage/SKILL.md",
|
|
@@ -912,5 +912,5 @@
|
|
|
912
912
|
"indexer": [],
|
|
913
913
|
"workspace": []
|
|
914
914
|
},
|
|
915
|
-
"digest": "sha256:
|
|
915
|
+
"digest": "sha256:063167b951010b10898421a8585b4cd8311eb002f56d08131d675c1755c510c1"
|
|
916
916
|
}
|
|
@@ -19,3 +19,5 @@ whether the content needs revision.
|
|
|
19
19
|
Changed, missing or ambiguously relocated source regions identify articles to
|
|
20
20
|
inspect through the normal revision workflow. Warnings do not add a separate
|
|
21
21
|
maintenance gate, silently rewrite articles or confirm that the prose is current.
|
|
22
|
+
Build does not repeat this comparison or read registered sources, so package
|
|
23
|
+
pages carry no source-region notice; run verify before publishing.
|
|
@@ -706,3 +706,14 @@ an explicit empty list removes them, and deleting a fragment removes its
|
|
|
706
706
|
citations. Each fragment may cite at most three source positions. Register and
|
|
707
707
|
authorize new material before citing it, then follow normal Review, close and
|
|
708
708
|
build. Article links alone do not authorize reading new sources or prove a claim.
|
|
709
|
+
|
|
710
|
+
### Locating submitted references
|
|
711
|
+
|
|
712
|
+
Submission locators also accept `{path, heading}` or `{path, quote}` instead of
|
|
713
|
+
line numbers. Use exactly one form. A heading matches an exact ATX heading
|
|
714
|
+
outside code fences in a Markdown source; its region ends before the next
|
|
715
|
+
same-level or higher-level heading. A quote is an exact, unique, nonempty
|
|
716
|
+
substring (line endings are normalized). Ambiguous matches return candidate
|
|
717
|
+
line ranges. Both forms resolve against authorized captured text before hashing;
|
|
718
|
+
stored references still contain only `path`, `start_line` and `end_line`.
|
|
719
|
+
The three-region limit applies after resolving and deduplicating positions.
|
|
@@ -173,8 +173,8 @@ the workspace under `translations/<tag>/` and follow the
|
|
|
173
173
|
[site translation](site-translation.md) procedure. The top bar language button
|
|
174
174
|
switches the current page in place. A saved choice wins, then the browser
|
|
175
175
|
languages, then `site.lang`; the choice is remembered under
|
|
176
|
-
`site.localePreferenceKey` (default `context-locale
|
|
177
|
-
sites on one origin
|
|
176
|
+
`site.localePreferenceKey` (default `context-locale`), which
|
|
177
|
+
sites on one origin share unless configured otherwise. Pages without a current translation show the
|
|
178
178
|
original with a notice. LLM Docs and Changelog stay in the primary language.
|
|
179
179
|
`context-site-map.json` lists translated, stale and missing counts per locale.
|
|
180
180
|
Without `site.locales` the button still switches the interface between Chinese
|
|
@@ -575,6 +575,10 @@ not a generated HTML file: builds never overwrite existing values. Deleting it
|
|
|
575
575
|
restores built-in defaults; Review does not need the file or an existing website
|
|
576
576
|
build. The next website build recreates it.
|
|
577
577
|
|
|
578
|
+
Websites open in light mode regardless of the system color scheme. The reader's
|
|
579
|
+
light/dark choice is remembered under the origin-wide `context-theme` key, so
|
|
580
|
+
sites and other pages on one origin share it.
|
|
581
|
+
|
|
578
582
|
Each `light`/`dark` object supports `brand`, `accent`, `background`, `surface`,
|
|
579
583
|
`text`, `mutedText`, and `border`. Values are hexadecimal CSS colors (`#RGB`,
|
|
580
584
|
`#RRGGBB`, or `#RRGGBBAA`). Partial objects inherit missing default colors. Invalid
|
|
@@ -60,8 +60,11 @@ map_entries:
|
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
A translated article keeps every `context:section` marker, id and order, every
|
|
63
|
-
fenced code block
|
|
64
|
-
|
|
63
|
+
fenced code block and its language marker, and every link target. Prose in
|
|
64
|
+
`text`, `txt`, and `plaintext` blocks may be translated; keep commands, paths,
|
|
65
|
+
and placeholders such as `<repository>` unchanged. Mermaid labels may change.
|
|
66
|
+
All other blocks, including blocks without a language marker, keep their content
|
|
67
|
+
unchanged. Submission validates all items first and saves nothing when
|
|
65
68
|
any item fails. A digest from before an approved content change is rejected.
|
|
66
69
|
|
|
67
70
|
`skip` records that the current pending items are published in the primary
|
|
@@ -76,3 +79,24 @@ an outdated notice and a button that switches to the original; a missing page
|
|
|
76
79
|
shows the original with a notice. Navigation titles without a translation use
|
|
77
80
|
the translated article title, then the primary title. Site search covers every
|
|
78
81
|
language; opening a result in another language switches to it.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## Incremental drafts
|
|
85
|
+
|
|
86
|
+
`prepare` returns section changes, title/description changes, exterior-text changes
|
|
87
|
+
(including the article tail), and section order changes. It writes draft files
|
|
88
|
+
and a `submission_path` template. Unchanged parts retain their translation;
|
|
89
|
+
changed parts contain the current primary-language text for the Agent to translate.
|
|
90
|
+
Review every pending part before submitting; generated source text is not a translation.
|
|
91
|
+
|
|
92
|
+
Older current translations acquire source-part baselines without changing their
|
|
93
|
+
reader text. Older stale translations report `diff: unknown` and get a full source
|
|
94
|
+
draft plus a `.previous.md` translation for comparison.
|
|
95
|
+
|
|
96
|
+
Repeated preparation preserves edited drafts. `draft: rebase-required` means the
|
|
97
|
+
source changed while a draft was being edited; that draft is excluded from the
|
|
98
|
+
submission template. Reconcile it with the current source, then explicitly add
|
|
99
|
+
the returned `source_digest` to that article's submission entry. Never copy a new
|
|
100
|
+
digest onto an unreconciled draft. Ordinary submissions still use `expected_digest`.
|
|
101
|
+
A draft without a generation record, such as one left by an older workflow, is
|
|
102
|
+
kept as `unrecorded_draft` beside a freshly generated draft.
|
|
@@ -170,3 +170,14 @@ If the user explicitly requires a different presentation, explain the difference
|
|
|
170
170
|
and resolve that choice before accepting it. Do not rerun unchanged Repair to
|
|
171
171
|
force a format the program deliberately omits. Check the actual resulting page;
|
|
172
172
|
accepted tasks or an empty Composer result alone do not demonstrate a correction.
|
|
173
|
+
|
|
174
|
+
### Locating submitted references
|
|
175
|
+
|
|
176
|
+
Submission locators also accept `{path, heading}` or `{path, quote}` instead of
|
|
177
|
+
line numbers. Use exactly one form. A heading matches an exact ATX heading
|
|
178
|
+
outside code fences in a Markdown source; its region ends before the next
|
|
179
|
+
same-level or higher-level heading. A quote is an exact, unique, nonempty
|
|
180
|
+
substring (line endings are normalized). Ambiguous matches return candidate
|
|
181
|
+
line ranges. Both forms resolve against authorized captured text before hashing;
|
|
182
|
+
stored references still contain only `path`, `start_line` and `end_line`.
|
|
183
|
+
The three-region limit applies after resolving and deduplicating positions.
|
|
@@ -706,3 +706,14 @@ an explicit empty list removes them, and deleting a fragment removes its
|
|
|
706
706
|
citations. Each fragment may cite at most three source positions. Register and
|
|
707
707
|
authorize new material before citing it, then follow normal Review, close and
|
|
708
708
|
build. Article links alone do not authorize reading new sources or prove a claim.
|
|
709
|
+
|
|
710
|
+
### Locating submitted references
|
|
711
|
+
|
|
712
|
+
Submission locators also accept `{path, heading}` or `{path, quote}` instead of
|
|
713
|
+
line numbers. Use exactly one form. A heading matches an exact ATX heading
|
|
714
|
+
outside code fences in a Markdown source; its region ends before the next
|
|
715
|
+
same-level or higher-level heading. A quote is an exact, unique, nonempty
|
|
716
|
+
substring (line endings are normalized). Ambiguous matches return candidate
|
|
717
|
+
line ranges. Both forms resolve against authorized captured text before hashing;
|
|
718
|
+
stored references still contain only `path`, `start_line` and `end_line`.
|
|
719
|
+
The three-region limit applies after resolving and deduplicating positions.
|
|
@@ -104,3 +104,14 @@ build resumes the same stage; a failed build retains the pause and all tasks.
|
|
|
104
104
|
To cancel that pause explicitly, use `context run --resume-writing --format json`.
|
|
105
105
|
It preserves approved articles, candidates and existing task input handles.
|
|
106
106
|
Partial delivery must include the approved articles needed by its local links.
|
|
107
|
+
|
|
108
|
+
### Locating submitted references
|
|
109
|
+
|
|
110
|
+
Submission locators also accept `{path, heading}` or `{path, quote}` instead of
|
|
111
|
+
line numbers. Use exactly one form. A heading matches an exact ATX heading
|
|
112
|
+
outside code fences in a Markdown source; its region ends before the next
|
|
113
|
+
same-level or higher-level heading. A quote is an exact, unique, nonempty
|
|
114
|
+
substring (line endings are normalized). Ambiguous matches return candidate
|
|
115
|
+
line ranges. Both forms resolve against authorized captured text before hashing;
|
|
116
|
+
stored references still contain only `path`, `start_line` and `end_line`.
|
|
117
|
+
The three-region limit applies after resolving and deduplicating positions.
|
|
@@ -30,26 +30,64 @@
|
|
|
30
30
|
"minLength": 1
|
|
31
31
|
},
|
|
32
32
|
"locator": {
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
33
|
+
"anyOf": [
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"path": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"start_line": {
|
|
41
|
+
"type": "integer",
|
|
42
|
+
"minimum": 1
|
|
43
|
+
},
|
|
44
|
+
"end_line": {
|
|
45
|
+
"type": "integer",
|
|
46
|
+
"minimum": 1
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"path",
|
|
51
|
+
"start_line",
|
|
52
|
+
"end_line"
|
|
53
|
+
],
|
|
54
|
+
"additionalProperties": false
|
|
37
55
|
},
|
|
38
|
-
|
|
39
|
-
"type": "
|
|
40
|
-
"
|
|
56
|
+
{
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"path": {
|
|
60
|
+
"$ref": "#/anyOf/0/properties/sections/items/properties/references/items/properties/locator/anyOf/0/properties/path"
|
|
61
|
+
},
|
|
62
|
+
"heading": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"minLength": 1
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"required": [
|
|
68
|
+
"path",
|
|
69
|
+
"heading"
|
|
70
|
+
],
|
|
71
|
+
"additionalProperties": false
|
|
41
72
|
},
|
|
42
|
-
|
|
43
|
-
"type": "
|
|
44
|
-
"
|
|
73
|
+
{
|
|
74
|
+
"type": "object",
|
|
75
|
+
"properties": {
|
|
76
|
+
"path": {
|
|
77
|
+
"$ref": "#/anyOf/0/properties/sections/items/properties/references/items/properties/locator/anyOf/0/properties/path"
|
|
78
|
+
},
|
|
79
|
+
"quote": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"minLength": 1
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"path",
|
|
86
|
+
"quote"
|
|
87
|
+
],
|
|
88
|
+
"additionalProperties": false
|
|
45
89
|
}
|
|
46
|
-
|
|
47
|
-
"required": [
|
|
48
|
-
"path",
|
|
49
|
-
"start_line",
|
|
50
|
-
"end_line"
|
|
51
|
-
],
|
|
52
|
-
"additionalProperties": false
|
|
90
|
+
]
|
|
53
91
|
}
|
|
54
92
|
},
|
|
55
93
|
"required": [
|
|
@@ -57,8 +95,7 @@
|
|
|
57
95
|
"locator"
|
|
58
96
|
],
|
|
59
97
|
"additionalProperties": false
|
|
60
|
-
}
|
|
61
|
-
"maxItems": 3
|
|
98
|
+
}
|
|
62
99
|
}
|
|
63
100
|
},
|
|
64
101
|
"required": [
|
|
@@ -129,26 +129,64 @@
|
|
|
129
129
|
"minLength": 1
|
|
130
130
|
},
|
|
131
131
|
"locator": {
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
"
|
|
132
|
+
"anyOf": [
|
|
133
|
+
{
|
|
134
|
+
"type": "object",
|
|
135
|
+
"properties": {
|
|
136
|
+
"path": {
|
|
137
|
+
"type": "string"
|
|
138
|
+
},
|
|
139
|
+
"start_line": {
|
|
140
|
+
"type": "integer",
|
|
141
|
+
"minimum": 1
|
|
142
|
+
},
|
|
143
|
+
"end_line": {
|
|
144
|
+
"type": "integer",
|
|
145
|
+
"minimum": 1
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"required": [
|
|
149
|
+
"path",
|
|
150
|
+
"start_line",
|
|
151
|
+
"end_line"
|
|
152
|
+
],
|
|
153
|
+
"additionalProperties": false
|
|
136
154
|
},
|
|
137
|
-
|
|
138
|
-
"type": "
|
|
139
|
-
"
|
|
155
|
+
{
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"path": {
|
|
159
|
+
"$ref": "#/$defs/approvedRevision/anyOf/0/properties/sections/items/properties/references/items/properties/locator/anyOf/0/properties/path"
|
|
160
|
+
},
|
|
161
|
+
"heading": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"required": [
|
|
167
|
+
"path",
|
|
168
|
+
"heading"
|
|
169
|
+
],
|
|
170
|
+
"additionalProperties": false
|
|
140
171
|
},
|
|
141
|
-
|
|
142
|
-
"type": "
|
|
143
|
-
"
|
|
172
|
+
{
|
|
173
|
+
"type": "object",
|
|
174
|
+
"properties": {
|
|
175
|
+
"path": {
|
|
176
|
+
"$ref": "#/$defs/approvedRevision/anyOf/0/properties/sections/items/properties/references/items/properties/locator/anyOf/0/properties/path"
|
|
177
|
+
},
|
|
178
|
+
"quote": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"minLength": 1
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"required": [
|
|
184
|
+
"path",
|
|
185
|
+
"quote"
|
|
186
|
+
],
|
|
187
|
+
"additionalProperties": false
|
|
144
188
|
}
|
|
145
|
-
|
|
146
|
-
"required": [
|
|
147
|
-
"path",
|
|
148
|
-
"start_line",
|
|
149
|
-
"end_line"
|
|
150
|
-
],
|
|
151
|
-
"additionalProperties": false
|
|
189
|
+
]
|
|
152
190
|
}
|
|
153
191
|
},
|
|
154
192
|
"required": [
|
|
@@ -156,8 +194,7 @@
|
|
|
156
194
|
"locator"
|
|
157
195
|
],
|
|
158
196
|
"additionalProperties": false
|
|
159
|
-
}
|
|
160
|
-
"maxItems": 3
|
|
197
|
+
}
|
|
161
198
|
}
|
|
162
199
|
},
|
|
163
200
|
"required": [
|