@c4a/context-cli 0.7.67 → 0.7.71

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 (47) hide show
  1. package/README.md +9 -0
  2. package/README.zh-CN.md +2 -0
  3. package/cli.js +3371 -2942
  4. package/indexers/bundles/context-code-indexer/references/composers/contracts-and-chains.md +2 -2
  5. package/indexers/bundles/context-code-indexer/references/composers/cross-module-chain.md +2 -2
  6. package/indexers/bundles/context-code-indexer/references/composers/development-and-delivery.md +2 -2
  7. package/indexers/bundles/context-code-indexer/references/composers/event-flow.md +2 -2
  8. package/indexers/bundles/context-code-indexer/references/composers/examples-and-documentation.md +2 -2
  9. package/indexers/bundles/context-code-indexer/references/composers/persistence-boundary.md +2 -2
  10. package/indexers/bundles/context-code-indexer/references/composers/protocol-boundary.md +2 -2
  11. package/indexers/bundles/context-code-indexer/references/composers/public-contract.md +2 -2
  12. package/indexers/bundles/context-code-indexer/references/indexer.md +2 -2
  13. package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +2 -1
  14. package/indexers/bundles/context-markdown-indexer/references/indexer.md +2 -2
  15. package/indexers/contracts/profile-contract.json +245 -245
  16. package/indexers/release-manifest.json +14 -14
  17. package/package.json +12 -12
  18. package/parserEntryWorker.js +40 -13
  19. package/plugins/VERSION +1 -1
  20. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  21. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  22. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  23. package/plugins/skills/context-code-indexer/references/composers/contracts-and-chains.md +2 -2
  24. package/plugins/skills/context-code-indexer/references/composers/cross-module-chain.md +2 -2
  25. package/plugins/skills/context-code-indexer/references/composers/development-and-delivery.md +2 -2
  26. package/plugins/skills/context-code-indexer/references/composers/event-flow.md +2 -2
  27. package/plugins/skills/context-code-indexer/references/composers/examples-and-documentation.md +2 -2
  28. package/plugins/skills/context-code-indexer/references/composers/persistence-boundary.md +2 -2
  29. package/plugins/skills/context-code-indexer/references/composers/protocol-boundary.md +2 -2
  30. package/plugins/skills/context-code-indexer/references/composers/public-contract.md +2 -2
  31. package/plugins/skills/context-code-indexer/references/indexer.md +2 -2
  32. package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +2 -1
  33. package/plugins/skills/context-markdown-indexer/references/indexer.md +2 -2
  34. package/providers/context/manifest.json +23 -23
  35. package/providers/context/provider.yaml +1 -1
  36. package/providers/context/resources/manuals/guides/code-indexer-skill-authoring.md +2 -1
  37. package/providers/context/resources/manuals/guides/knowledge-updates.md +15 -2
  38. package/providers/context/resources/manuals/guides/markdown-indexer-skill-authoring.md +1 -1
  39. package/providers/context/resources/manuals/guides/site-translation.md +27 -2
  40. package/providers/context/resources/manuals/reference/package-templates.md +2 -2
  41. package/providers/context/resources/procedures/approved-revision.md +16 -1
  42. package/providers/context/resources/procedures/knowledge-updates.md +15 -2
  43. package/providers/context/resources/procedures/production-stage-files.md +14 -1
  44. package/providers/context/resources/procedures/source-update.md +7 -0
  45. package/providers/context/schemas/approved-revision-result.schema.json +56 -19
  46. package/providers/context/schemas/indexer-agent-step-result.schema.json +56 -19
  47. package/providers/context/skills/translate-site-locales/SKILL.md +10 -4
@@ -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.67",
4
+ "version": "0.7.71",
5
5
  "issuer": "context4ai/context",
6
6
  "bundles": [
7
7
  {
@@ -11,7 +11,7 @@
11
11
  "kind": "cli-bundled",
12
12
  "locator": "cli-bundled://context/context-code-indexer"
13
13
  },
14
- "integrity": "sha256:d2d93b54af00ddb1062f49a0a2d622b5c88c1e9481e53ddfe7afe0445d950910",
14
+ "integrity": "sha256:c0dee602a87f5f95a3419fba3bbb3b3ea69292968b52c46744af869751487107",
15
15
  "manifest_digest": "sha256:1bb49c2cfaaf1cc847dccd90c5f2bb6465941217a0e0d6053c0a5aeff467a013",
16
16
  "files": [
17
17
  {
@@ -92,35 +92,35 @@
92
92
  },
93
93
  {
94
94
  "path": "references/composers/contracts-and-chains.md",
95
- "digest": "sha256:04d2286b60c153d9e5521145901042af06af9538902dab8c570027f77b28cfd9"
95
+ "digest": "sha256:9cd801c6901ecf4d0e95258224e4a1c82ee14ba4010ce594ff97267c6ce58e38"
96
96
  },
97
97
  {
98
98
  "path": "references/composers/cross-module-chain.md",
99
- "digest": "sha256:a548e2f92fb7416df78734d4b913526d86717ccdd740b78c35423ccaae0be6a4"
99
+ "digest": "sha256:7beb0ace96064e035de762c8ffe19b29c5960da7695363bf4873eb186528e2c3"
100
100
  },
101
101
  {
102
102
  "path": "references/composers/development-and-delivery.md",
103
- "digest": "sha256:77e15189c2f4e19d15ff0d88773b99a6f7fa3e37b0af3ac7b67c0316c744e947"
103
+ "digest": "sha256:27414925870e883803f3507abaacf2e2dc1c01bf03e4b6cf3ec47ad80f95770a"
104
104
  },
105
105
  {
106
106
  "path": "references/composers/event-flow.md",
107
- "digest": "sha256:0c33872b835ef44f9e7343173e3ca0913006e7f8c7a32617e005f866b60d74cb"
107
+ "digest": "sha256:a430d14f11c02c8b67e98afffd0cf9d3c6e71bbf421780fd9b0399723cab8e93"
108
108
  },
109
109
  {
110
110
  "path": "references/composers/examples-and-documentation.md",
111
- "digest": "sha256:580ad81d9bd8f7cd8426a98a26d0fb8e0aa5a5e9c7c064fe48addbc42bdca0b0"
111
+ "digest": "sha256:e97d2be0bb15ad28ad69de04dedb150ca0395278e45d8ee3299f22380579a45c"
112
112
  },
113
113
  {
114
114
  "path": "references/composers/persistence-boundary.md",
115
- "digest": "sha256:24c931a72a22d94e6a66eac8c8fc075dc559244bc1b623ec3673f3e6ae632bb5"
115
+ "digest": "sha256:406e4a08f50f6a75c6f2cb52bbc5263eb1962071971681749bed4a6b0072e4e7"
116
116
  },
117
117
  {
118
118
  "path": "references/composers/protocol-boundary.md",
119
- "digest": "sha256:b92134ac9c73d4b4b813a9fa29c410c30c808d14bb275cc61552f20e7740d856"
119
+ "digest": "sha256:fc30a3ad05e0e6183e526e801d72d802df69770885f627b51c1e9739eaac17b7"
120
120
  },
121
121
  {
122
122
  "path": "references/composers/public-contract.md",
123
- "digest": "sha256:d21f3d31def73d66f22e16f3a0e2932c144837a9814a3006f93fee8405212e88"
123
+ "digest": "sha256:0870c39814802b4ecb647f86878b325ddb29fec0dd9865de05de7e183d692422"
124
124
  },
125
125
  {
126
126
  "path": "references/diagram-behavior-examples.md",
@@ -136,7 +136,7 @@
136
136
  },
137
137
  {
138
138
  "path": "references/indexer.md",
139
- "digest": "sha256:7aacb7d6d11c30483ea73ccdbb6639fdc0912566f6e8022f28277dcee03244ab"
139
+ "digest": "sha256:4c14a0ea8961a5aeabe8fc457d5fc8b70bb3da948fa724ec189d08198651c659"
140
140
  },
141
141
  {
142
142
  "path": "references/metrics.md",
@@ -388,7 +388,7 @@
388
388
  },
389
389
  {
390
390
  "path": "templates/data-sync-reconciliation.md",
391
- "digest": "sha256:505f3f07c14b3f4dffc2ba301a9b307a707d83e0af055be751935e00114ffc00"
391
+ "digest": "sha256:0e8d5cc9759cced52a2cb9baad6b18c10c3df85cb9c61927d383268c7ef64214"
392
392
  },
393
393
  {
394
394
  "path": "templates/derived-generated-source-public-api-reference.md",
@@ -539,7 +539,7 @@
539
539
  "kind": "cli-bundled",
540
540
  "locator": "cli-bundled://context/context-markdown-indexer"
541
541
  },
542
- "integrity": "sha256:41f8ff9add026026c1a689224c684afe220680922935f5cee7afd792207ced98",
542
+ "integrity": "sha256:12a5a40e4770cc1b96876028732ed887e7c92b279060b247cc61dafe54fc6a75",
543
543
  "manifest_digest": "sha256:4b6ea2307077abd4899515d32f72941ab8e6bceaa89f2b7662d732bbf817bce5",
544
544
  "files": [
545
545
  {
@@ -628,7 +628,7 @@
628
628
  },
629
629
  {
630
630
  "path": "references/indexer.md",
631
- "digest": "sha256:3287d06938825afd9b2244b4cb2c4e2ba4cf8a03b78d0f924162e13eb06f8a93"
631
+ "digest": "sha256:d96c0396d43c610870ae78aa80cf19b3fedec761a70ca330f2190115615133cf"
632
632
  },
633
633
  {
634
634
  "path": "references/semantic-planning.md",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c4a/context-cli",
3
- "version": "0.7.67",
3
+ "version": "0.7.71",
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.67",
28
- "@c4a/extract": "0.7.67",
29
- "@c4a/extract-contract": "0.7.67",
30
- "@c4a/extract-go": "0.7.67",
31
- "@c4a/extract-mdx": "0.7.67",
32
- "@c4a/extract-proto": "0.7.67",
33
- "@c4a/extract-rush": "0.7.67",
34
- "@c4a/extract-sql": "0.7.67",
35
- "@c4a/extract-style": "0.7.67",
36
- "@c4a/extract-thrift": "0.7.67",
37
- "@c4a/extract-ts": "0.7.67",
27
+ "@c4a/context": "0.7.71",
28
+ "@c4a/extract": "0.7.71",
29
+ "@c4a/extract-contract": "0.7.71",
30
+ "@c4a/extract-go": "0.7.71",
31
+ "@c4a/extract-mdx": "0.7.71",
32
+ "@c4a/extract-proto": "0.7.71",
33
+ "@c4a/extract-rush": "0.7.71",
34
+ "@c4a/extract-sql": "0.7.71",
35
+ "@c4a/extract-style": "0.7.71",
36
+ "@c4a/extract-thrift": "0.7.71",
37
+ "@c4a/extract-ts": "0.7.71",
38
38
  "@mermaid-js/layout-elk": "0.2.0",
39
39
  "commander": "^11.0.0",
40
40
  "fast-xml-parser": "^5.10.1",
@@ -4821,6 +4821,18 @@ var init_indexerProtocolCommon = __esm(() => {
4821
4821
 
4822
4822
  // ../context/src/articleStructure.ts
4823
4823
  import { createHash as createHash3 } from "node:crypto";
4824
+ function articleFragmentReferenceListSchema(item) {
4825
+ return exports_external.array(item).max(ARTICLE_FRAGMENT_REGION_LIMIT, {
4826
+ message: `A fragment can cite at most ${ARTICLE_FRAGMENT_REGION_LIMIT} source regions`
4827
+ }).superRefine((references, context) => {
4828
+ const files = new Set(references.map((reference) => JSON.stringify([reference.source_ref, reference.locator.path])));
4829
+ if (files.size > ARTICLE_FRAGMENT_SOURCE_FILE_LIMIT)
4830
+ context.addIssue({
4831
+ code: exports_external.ZodIssueCode.custom,
4832
+ message: `A fragment can cite at most ${ARTICLE_FRAGMENT_SOURCE_FILE_LIMIT} distinct source files (got ${files.size}); split the fragment or drop a supporting file`
4833
+ });
4834
+ });
4835
+ }
4824
4836
  function articleFragmentReferences(values) {
4825
4837
  const unique = new Map;
4826
4838
  for (const value of values) {
@@ -4885,7 +4897,7 @@ function locateArticleRegion(regionText, newText, path) {
4885
4897
  end_line: found + region.length
4886
4898
  };
4887
4899
  }
4888
- var articleSourceLocatorSchema, articleSourceReferenceSchema, articleSectionSchema, articleStructureEntrySchema;
4900
+ var articleSourceLocatorSchema, articleSourceReferenceSchema, ARTICLE_FRAGMENT_SOURCE_FILE_LIMIT = 3, ARTICLE_FRAGMENT_REGION_LIMIT = 8, articleSectionSchema, articleStructureEntrySchema;
4889
4901
  var init_articleStructure = __esm(() => {
4890
4902
  init_zod();
4891
4903
  init_contracts();
@@ -4909,7 +4921,7 @@ var init_articleStructure = __esm(() => {
4909
4921
  }).strict();
4910
4922
  articleSectionSchema = exports_external.object({
4911
4923
  id: exports_external.string().min(1),
4912
- references: exports_external.array(articleSourceReferenceSchema).max(3)
4924
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema)
4913
4925
  }).strict();
4914
4926
  articleStructureEntrySchema = exports_external.object({
4915
4927
  article_id: exports_external.string().min(1),
@@ -5322,12 +5334,12 @@ var init_indexerContentLayers = __esm(() => {
5322
5334
  block_id: indexerIdSchema,
5323
5335
  layer: exports_external.literal("semantic-prose"),
5324
5336
  markdown: exports_external.string().min(1),
5325
- references: exports_external.array(articleSourceReferenceSchema).max(3)
5337
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema)
5326
5338
  }).strict();
5327
5339
  renderedContentBlockPayloadSchema = exports_external.object({
5328
5340
  layer: exports_external.enum(["deterministic-block", "semantic-prose"]),
5329
5341
  markdown: exports_external.string().min(1),
5330
- references: exports_external.array(articleSourceReferenceSchema).max(3)
5342
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema)
5331
5343
  }).strict();
5332
5344
  indexerRenderedContentBlockSchema = renderedContentBlockPayloadSchema.extend({
5333
5345
  content_digest: indexerDigestSchema
@@ -5360,7 +5372,7 @@ var init_indexerArtifact = __esm(() => {
5360
5372
  }).strict();
5361
5373
  indexerArtifactTemplateVariableSchema = exports_external.object({
5362
5374
  value: indexerCanonicalJsonSchema,
5363
- references: exports_external.array(articleSourceReferenceSchema).max(3)
5375
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema)
5364
5376
  }).strict();
5365
5377
  artifactCommonFields = {
5366
5378
  artifact_id: indexerIdSchema,
@@ -18099,6 +18111,19 @@ var init_indexerAgentStepProtocol = __esm(() => {
18099
18111
  ]);
18100
18112
  });
18101
18113
 
18114
+ // ../context/src/articleSourceLocatorInput.ts
18115
+ var articleSourceLocatorInputSchema;
18116
+ var init_articleSourceLocatorInput = __esm(() => {
18117
+ init_zod();
18118
+ init_articleStructure();
18119
+ init_indexerProtocolCommon();
18120
+ articleSourceLocatorInputSchema = exports_external.union([
18121
+ articleSourceLocatorSchema,
18122
+ exports_external.object({ path: portableIndexerPathSchema, heading: exports_external.string().trim().min(1) }).strict(),
18123
+ exports_external.object({ path: portableIndexerPathSchema, quote: exports_external.string().min(1) }).strict()
18124
+ ]);
18125
+ });
18126
+
18102
18127
  // ../context/src/knowledgeMap.ts
18103
18128
  function validateEntries(entries) {
18104
18129
  const indexed = new Map(entries.map((entry) => [entry.key, entry]));
@@ -18208,6 +18233,7 @@ function parseIndexerCurrentActionSubmission(value) {
18208
18233
  }
18209
18234
  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
18235
  var init_indexerSemanticInput = __esm(() => {
18236
+ init_articleSourceLocatorInput();
18211
18237
  init_articleStructure();
18212
18238
  init_indexerProtocolCommon();
18213
18239
  init_knowledgeMap();
@@ -18326,14 +18352,14 @@ var init_indexerSemanticInput = __esm(() => {
18326
18352
  heading: exports_external.string().min(1),
18327
18353
  visuals: exports_external.array(authorVisualSchema).optional(),
18328
18354
  markdown: exports_external.string().min(1),
18329
- references: exports_external.array(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict()).max(3).default([]),
18355
+ references: articleFragmentReferenceListSchema(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict()).default([]),
18330
18356
  answers: exports_external.array(exports_external.string().min(1)).default([])
18331
18357
  }).strict();
18332
18358
  authorTemplateVariablesSchema = exports_external.record(exports_external.union([
18333
18359
  exports_external.string(),
18334
18360
  exports_external.object({
18335
18361
  value: exports_external.string(),
18336
- references: exports_external.array(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict()).max(3).default([])
18362
+ references: articleFragmentReferenceListSchema(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict()).default([])
18337
18363
  }).strict()
18338
18364
  ]));
18339
18365
  authorMemberDispositionSchema = exports_external.object({
@@ -18444,7 +18470,7 @@ var init_indexerSemanticInput = __esm(() => {
18444
18470
  heading: exports_external.string().min(1),
18445
18471
  visuals: exports_external.array(authorVisualSchema).optional(),
18446
18472
  markdown: exports_external.string().min(1),
18447
- references: exports_external.array(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict()).max(3)
18473
+ references: articleFragmentReferenceListSchema(exports_external.object({ source_ref: exports_external.string().min(1), locator: articleSourceLocatorSchema }).strict())
18448
18474
  }).strict();
18449
18475
  postAuthorInputBaseSchema = exports_external.object({
18450
18476
  stage: exports_external.literal("post-author"),
@@ -18513,8 +18539,8 @@ var init_indexerSemanticInput = __esm(() => {
18513
18539
  ]);
18514
18540
  revisionSectionReferencesSchema = exports_external.array(exports_external.object({
18515
18541
  source_ref: exports_external.string().min(1),
18516
- locator: articleSourceLocatorSchema
18517
- }).strict()).max(3);
18542
+ locator: articleSourceLocatorInputSchema
18543
+ }).strict());
18518
18544
  approvedRevisionSemanticInputSchema = exports_external.union([
18519
18545
  exports_external.object({
18520
18546
  stage: exports_external.literal("approved-revision"),
@@ -19256,7 +19282,7 @@ var init_indexerTemplateRendering = __esm(() => {
19256
19282
  artifact_kind: indexerIdSchema,
19257
19283
  markdown: exports_external.string().min(1),
19258
19284
  content_blocks: exports_external.array(indexerRenderedContentBlockSchema).min(1),
19259
- references: exports_external.array(articleSourceReferenceSchema).max(3),
19285
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema),
19260
19286
  content_digest: indexerDigestSchema
19261
19287
  }).strict();
19262
19288
  renderedMaterialGapSchema = exports_external.object({
@@ -19311,7 +19337,7 @@ var init_indexerLayoutResolver = __esm(() => {
19311
19337
  artifact_kind: indexerIdSchema,
19312
19338
  state: exports_external.enum(["structured", "rendered", "material-gap"]),
19313
19339
  content_digest: indexerDigestSchema.nullable(),
19314
- references: exports_external.array(articleSourceReferenceSchema).max(3),
19340
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema),
19315
19341
  material_question_proposal_ref: indexerCanonicalRefSchema.nullable(),
19316
19342
  collection_resolution_digest: indexerDigestSchema
19317
19343
  }).strict();
@@ -19684,7 +19710,7 @@ var init_indexerCandidateCompile = __esm(() => {
19684
19710
  sections: exports_external.array(exports_external.object({
19685
19711
  section_ref: exports_external.string().min(1),
19686
19712
  section_key: indexerIdSchema,
19687
- references: exports_external.array(articleSourceReferenceSchema).max(3),
19713
+ references: articleFragmentReferenceListSchema(articleSourceReferenceSchema),
19688
19714
  markdown: exports_external.string().min(1),
19689
19715
  markdown_digest: indexerDigestSchema
19690
19716
  }).strict()).min(1),
@@ -20725,6 +20751,7 @@ var init_src = __esm(() => {
20725
20751
  init_knowledgeMap();
20726
20752
  init_indexerApprovedKnowledge();
20727
20753
  init_articleStructure();
20754
+ init_articleSourceLocatorInput();
20728
20755
  });
20729
20756
 
20730
20757
  // src/project/codeAnalysisInput.ts
package/plugins/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.67
1
+ 0.7.71
@@ -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.67",
4
+ "version": "0.7.71",
5
5
  "author": {
6
6
  "name": "c4a"
7
7
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "c4a",
3
- "version": "0.7.67",
3
+ "version": "0.7.71",
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.67",
13
+ "shortDescription": "Initialize and advance a local, source-linked project knowledge workspace.\nv0.7.71",
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",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "c4a",
3
3
  "displayName": "C4A Context",
4
- "version": "0.7.67",
4
+ "version": "0.7.71",
5
5
  "description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
6
6
  "author": {
7
7
  "name": "Context4AI",
@@ -24,5 +24,5 @@ empty `fragments` array.
24
24
 
25
25
  Use only the supplied primary artifacts and their actual regional references.
26
26
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
27
- output fragment retains at most three real source locations; no reference
28
- ledger is reconstructed from the full inventory.
27
+ output fragment retains real source regions from at most three files (up to
28
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -23,5 +23,5 @@ empty result: the accepted layer-fragment result with `fragments: []`.
23
23
 
24
24
  Use only the supplied primary artifacts and their actual regional references.
25
25
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
26
- output fragment retains at most three real source locations; no reference
27
- ledger is reconstructed from the full inventory.
26
+ output fragment retains real source regions from at most three files (up to
27
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -23,5 +23,5 @@ return `fragments: []` in the ordinary structured result.
23
23
 
24
24
  Use only the supplied primary artifacts and their actual regional references.
25
25
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
26
- output fragment retains at most three real source locations; no reference
27
- ledger is reconstructed from the full inventory.
26
+ output fragment retains real source regions from at most three files (up to
27
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -22,5 +22,5 @@ reader value must return the normal result envelope with `fragments: []`.
22
22
 
23
23
  Use only the supplied primary artifacts and their actual regional references.
24
24
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
25
- output fragment retains at most three real source locations; no reference
26
- ledger is reconstructed from the full inventory.
25
+ output fragment retains real source regions from at most three files (up to
26
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -23,5 +23,5 @@ never invent tutorial steps.
23
23
 
24
24
  Use only the supplied primary artifacts and their actual regional references.
25
25
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
26
- output fragment retains at most three real source locations; no reference
27
- ledger is reconstructed from the full inventory.
26
+ output fragment retains real source regions from at most three files (up to
27
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -22,5 +22,5 @@ set rather than reading outside the workset.
22
22
 
23
23
  Use only the supplied primary artifacts and their actual regional references.
24
24
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
25
- output fragment retains at most three real source locations; no reference
26
- ledger is reconstructed from the full inventory.
25
+ output fragment retains real source regions from at most three files (up to
26
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -23,5 +23,5 @@ answers the reader question, return a valid result with `fragments: []`.
23
23
 
24
24
  Use only the supplied primary artifacts and their actual regional references.
25
25
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
26
- output fragment retains at most three real source locations; no reference
27
- ledger is reconstructed from the full inventory.
26
+ output fragment retains real source regions from at most three files (up to
27
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -36,5 +36,5 @@ Composer's declared result schema and actions.
36
36
 
37
37
  Use only the supplied primary artifacts and their actual regional references.
38
38
  Do not require a primary Fact table, evidence IDs, or graph nodes. Each derived
39
- output fragment retains at most three real source locations; no reference
40
- ledger is reconstructed from the full inventory.
39
+ output fragment retains real source regions from at most three files (up to
40
+ eight regions); no reference ledger is reconstructed from the full inventory.
@@ -129,8 +129,8 @@ affected sections when appropriate. Preserve still-valid examples, limitations
129
129
  and confirmed contributions. New explanatory context does not require
130
130
  repartitioning unchanged code.
131
131
 
132
- Each fragment uses actual source regions, at most three locations; the CLI
133
- computes content digests. Do not use fallback evidence from an unrelated
132
+ Each fragment uses actual source regions from at most three source files (up
133
+ to eight regions in total); the CLI computes content digests. Do not use fallback evidence from an unrelated
134
134
  member, fabricate a continuous span for unrelated locations, or include
135
135
  process identities, full source bodies or credentials in reader output.
136
136
 
@@ -61,7 +61,8 @@ owner or inventory membership is required; avoid duplicating existing prose.
61
61
  The article may cite every authorized participating source. Cover the reader
62
62
  question and relevant handoffs defined in the task brief.
63
63
  Explain operations and handoffs in reader prose, links or diagrams, citing the
64
- actual source regions for each fragment (at most three locations per fragment).
64
+ actual source regions for each fragment (at most three source files per fragment;
65
+ several regions of one file are fine, up to eight regions in total).
65
66
  Do not emit graph edges, classify nodes or create a relationship ledger.
66
67
 
67
68
  ## Granularity and stop conditions
@@ -27,8 +27,8 @@ needed section edits when appropriate. Stable section markers and title and
27
27
  description follow that schema; there is no ArtifactResult, subject identity
28
28
  or profile-owned output mapping to assemble.
29
29
 
30
- For each output fragment, cite the actual source regions used, at most three
31
- locations. Use source_ref and an inclusive file/line locator; the CLI computes
30
+ For each output fragment, cite the actual source regions used, from at most
31
+ three source files (up to eight regions in total). Use source_ref and an inclusive file/line locator; the CLI computes
32
32
  content digests. Do not attach an entire corpus to a generic paragraph or
33
33
  combine unrelated locations into a fabricated continuous span. Split genuinely
34
34
  distinct explanations when they need distinct references.
@@ -2,7 +2,7 @@
2
2
  "schema": "agent-graph.bundle.v1",
3
3
  "provider": {
4
4
  "id": "c4a/context",
5
- "version": "0.7.67"
5
+ "version": "0.7.71"
6
6
  },
7
7
  "providerManifest": "provider.yaml",
8
8
  "graphs": [
@@ -198,7 +198,7 @@
198
198
  {
199
199
  "id": "context.sdk.package-templates",
200
200
  "path": "resources/manuals/reference/package-templates.md",
201
- "digest": "sha256:8d512d232ea5157717eca73357a213ab2449d83cf98bec217621aff79eda0216"
201
+ "digest": "sha256:f3a7fcc0166a6af15da550edb7937c7630bd2fb2372ca2ccd430b7cd6e56a3a9"
202
202
  },
203
203
  {
204
204
  "id": "context.sdk.page-customization",
@@ -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:369ffdc81481e48843891f5e007129d38047e4077a693b3bc58fa6c8e8f86666"
216
+ "digest": "sha256:6d7567967cda5c592665641cfb8ba29255621acf77ee27b45ee6272e76879872"
217
217
  },
218
218
  {
219
219
  "id": "context.sdk.template-variables",
@@ -288,7 +288,7 @@
288
288
  {
289
289
  "id": "procedure.approved-revision",
290
290
  "path": "resources/procedures/approved-revision.md",
291
- "digest": "sha256:4ee897e6c13e0e908e4d28b239d93f74e66756ef7707277997225743ca250552"
291
+ "digest": "sha256:fecf43f12b1759cc1ca3b716892a787b5445caa25ff7efadb2cebf042a309a0c"
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:6b54d24f6928721e1e941c904d45aee97fe053cb90173f297659b7fdb181e0da"
326
+ "digest": "sha256:8a3e8d6539bc18d4bc82cb69376b5126d53c6d1535c9145ba5770b72cf008656"
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:00abeb0d32efb3fa8bf65fe1864e42fd5a16be42c2de7644a344465699cecc0a"
351
+ "digest": "sha256:3baccaa799d01749dae4cdb7bf839c7d182009540d3bf91a95e775d44be2ef6c"
352
352
  },
353
353
  {
354
354
  "id": "procedure.project-configuration",
@@ -383,7 +383,7 @@
383
383
  {
384
384
  "id": "procedure.source-update",
385
385
  "path": "resources/procedures/source-update.md",
386
- "digest": "sha256:70953737216d099e06875d23b5ae00759e71fc1bdcfeade9b24df9e89bc2f581"
386
+ "digest": "sha256:900eedba46408ca1f5a38de152e70a36f04a9ad020f48a20fdad0a1e79029ece"
387
387
  },
388
388
  {
389
389
  "id": "procedure.task-recovery",
@@ -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:18d66d69acd29ff87aba456e58dacc693781768f066411262912df47a2367de5"
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:9900937515f9987775e6a61c3b8ce4d754296ce5a1958e69985676665d2f8ec6"
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:13d87c848d3f6b43d934f8f23da53a8fa3e52566a18a11c9850c0a2e084bfc41"
592
+ "digest": "sha256:e8d06cd4944c44f7c35a4fb0ada6027a8e3c2d3f2fd618c8f372cabd741e85ab"
593
593
  },
594
594
  {
595
595
  "path": "resources/contracts/indexer-provider-guide.yaml",
@@ -637,7 +637,7 @@
637
637
  },
638
638
  {
639
639
  "path": "resources/manuals/guides/code-indexer-skill-authoring.md",
640
- "digest": "sha256:55cf273848c8acce51f83bb03b4d86222c4d431472cde573f081049f88bddece"
640
+ "digest": "sha256:35a403edb2efaa0814df6f7b743c9c6a997f65603667678b53f6b36a068d124b"
641
641
  },
642
642
  {
643
643
  "path": "resources/manuals/guides/imports.md",
@@ -649,7 +649,7 @@
649
649
  },
650
650
  {
651
651
  "path": "resources/manuals/guides/knowledge-updates.md",
652
- "digest": "sha256:e389fcc1d5dd4be5e4255889f68e977f34b16d983e169b1c3cc5f6d97322a487"
652
+ "digest": "sha256:bdb5bfac802dfea75f38af8800216288cf740b53395ccbe4bfe5e30a1c555f48"
653
653
  },
654
654
  {
655
655
  "path": "resources/manuals/guides/lark-resources.md",
@@ -657,7 +657,7 @@
657
657
  },
658
658
  {
659
659
  "path": "resources/manuals/guides/markdown-indexer-skill-authoring.md",
660
- "digest": "sha256:63dcf596e262035500d94910e1adc37d9bc4174862821a15a381019ba3ab322a"
660
+ "digest": "sha256:a2d9cce0fce4a220befbfa8c0a8062ec4656b1ab812b149e0a14d341967d976a"
661
661
  },
662
662
  {
663
663
  "path": "resources/manuals/guides/note.md",
@@ -681,7 +681,7 @@
681
681
  },
682
682
  {
683
683
  "path": "resources/manuals/guides/site-translation.md",
684
- "digest": "sha256:369ffdc81481e48843891f5e007129d38047e4077a693b3bc58fa6c8e8f86666"
684
+ "digest": "sha256:6d7567967cda5c592665641cfb8ba29255621acf77ee27b45ee6272e76879872"
685
685
  },
686
686
  {
687
687
  "path": "resources/manuals/guides/source-batches.md",
@@ -705,7 +705,7 @@
705
705
  },
706
706
  {
707
707
  "path": "resources/manuals/reference/package-templates.md",
708
- "digest": "sha256:8d512d232ea5157717eca73357a213ab2449d83cf98bec217621aff79eda0216"
708
+ "digest": "sha256:f3a7fcc0166a6af15da550edb7937c7630bd2fb2372ca2ccd430b7cd6e56a3a9"
709
709
  },
710
710
  {
711
711
  "path": "resources/manuals/reference/project-api.md",
@@ -717,7 +717,7 @@
717
717
  },
718
718
  {
719
719
  "path": "resources/procedures/approved-revision.md",
720
- "digest": "sha256:4ee897e6c13e0e908e4d28b239d93f74e66756ef7707277997225743ca250552"
720
+ "digest": "sha256:fecf43f12b1759cc1ca3b716892a787b5445caa25ff7efadb2cebf042a309a0c"
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:6b54d24f6928721e1e941c904d45aee97fe053cb90173f297659b7fdb181e0da"
748
+ "digest": "sha256:8a3e8d6539bc18d4bc82cb69376b5126d53c6d1535c9145ba5770b72cf008656"
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:00abeb0d32efb3fa8bf65fe1864e42fd5a16be42c2de7644a344465699cecc0a"
768
+ "digest": "sha256:3baccaa799d01749dae4cdb7bf839c7d182009540d3bf91a95e775d44be2ef6c"
769
769
  },
770
770
  {
771
771
  "path": "resources/procedures/project-configuration.md",
@@ -793,7 +793,7 @@
793
793
  },
794
794
  {
795
795
  "path": "resources/procedures/source-update.md",
796
- "digest": "sha256:70953737216d099e06875d23b5ae00759e71fc1bdcfeade9b24df9e89bc2f581"
796
+ "digest": "sha256:900eedba46408ca1f5a38de152e70a36f04a9ad020f48a20fdad0a1e79029ece"
797
797
  },
798
798
  {
799
799
  "path": "resources/procedures/task-recovery.md",
@@ -857,11 +857,11 @@
857
857
  },
858
858
  {
859
859
  "path": "schemas/approved-revision-result.schema.json",
860
- "digest": "sha256:18d66d69acd29ff87aba456e58dacc693781768f066411262912df47a2367de5"
860
+ "digest": "sha256:e672c5c6de7f0f6eb523486b71a7b92ae735d36632fafc351b734732d6fbedb0"
861
861
  },
862
862
  {
863
863
  "path": "schemas/indexer-agent-step-result.schema.json",
864
- "digest": "sha256:9900937515f9987775e6a61c3b8ce4d754296ce5a1958e69985676665d2f8ec6"
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:b5197f6568b1443022d631f661d7484291c9be512b78109f91e6b42806294e7e"
904
+ "digest": "sha256:b13be9668338273cb6f2a7baa4bf1249d77e63895369220af84193c1de3da3ad"
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:e70281043cdf69e95392b4fcf03d83a8ce7ea0c5ce846b426c43105a9540b5d9"
915
+ "digest": "sha256:070092db096158a07452305ff56f39417032207865f7deac8bf3cb82f67392f1"
916
916
  }