@c4a/context-cli 0.7.1 → 0.7.5

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 (161) hide show
  1. package/README.md +18 -39
  2. package/README.zh-CN.md +13 -27
  3. package/cli.js +64945 -81995
  4. package/indexers/bundles/context-code-indexer/SKILL.md +30 -3
  5. package/indexers/bundles/context-code-indexer/context-indexer.yaml +3 -8
  6. package/indexers/bundles/context-code-indexer/references/indexer.md +110 -7
  7. package/indexers/bundles/context-code-indexer/references/metrics.md +143 -37
  8. package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +2 -2
  9. package/indexers/bundles/context-code-indexer/templates/component-library.md +8 -0
  10. package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +16 -0
  11. package/indexers/bundles/context-markdown-indexer/SKILL.md +13 -3
  12. package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +20 -7
  13. package/indexers/bundles/context-markdown-indexer/references/indexer.md +33 -4
  14. package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +30 -14
  15. package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
  16. package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
  17. package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
  18. package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +122 -0
  19. package/indexers/contracts/operator-contract.json +2 -2
  20. package/indexers/contracts/profile-contract.json +3819 -454
  21. package/indexers/release-manifest.json +22 -22
  22. package/package.json +12 -2
  23. package/plugins/VERSION +1 -1
  24. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  25. package/plugins/claude/commands/context.md +56 -107
  26. package/plugins/codex/.codex-plugin/plugin.json +2 -2
  27. package/plugins/codex/skills/context/SKILL.md +56 -107
  28. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  29. package/plugins/cursor/commands/c4a-context.md +56 -107
  30. package/plugins/skills/context/SKILL.md +56 -107
  31. package/plugins/skills/context-code-indexer/SKILL.md +30 -3
  32. package/plugins/skills/context-code-indexer/context-indexer.yaml +3 -8
  33. package/plugins/skills/context-code-indexer/references/indexer.md +110 -7
  34. package/plugins/skills/context-code-indexer/references/metrics.md +143 -37
  35. package/plugins/skills/context-code-indexer/templates/adapter-integration.md +2 -2
  36. package/plugins/skills/context-code-indexer/templates/component-library.md +8 -0
  37. package/plugins/skills/context-code-indexer/templates/gateway-facade.md +16 -0
  38. package/plugins/skills/context-markdown-indexer/SKILL.md +13 -3
  39. package/plugins/skills/context-markdown-indexer/context-indexer.yaml +20 -7
  40. package/plugins/skills/context-markdown-indexer/references/indexer.md +33 -4
  41. package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +30 -14
  42. package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
  43. package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
  44. package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
  45. package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +122 -0
  46. package/providers/context/actions/advance-current-indexer-lifecycle.yaml +6 -0
  47. package/providers/context/actions/authorize-current-indexer-provider-program.yaml +6 -0
  48. package/providers/context/actions/configure-indexer-providers.yaml +1 -1
  49. package/providers/context/actions/finalize-current-indexer-provider-selection.yaml +5 -0
  50. package/providers/context/actions/materialize-indexer-workset-view.yaml +7 -0
  51. package/providers/context/actions/resolve-current-indexer-gate.yaml +6 -0
  52. package/providers/context/actions/resolve-current-indexer-provider.yaml +6 -0
  53. package/providers/context/actions/run-indexer-lifecycle.yaml +0 -1
  54. package/providers/context/actions/run-indexer-post-author-composer.yaml +2 -2
  55. package/providers/context/codes.yaml +8 -22
  56. package/providers/context/graphs/indexer.yaml +95 -564
  57. package/providers/context/graphs/workspace.yaml +5 -43
  58. package/providers/context/manifest.json +119 -678
  59. package/providers/context/provider.yaml +1 -1
  60. package/providers/context/resources/dialogue/human-gates.md +3 -3
  61. package/providers/context/resources/dialogue/knowledge-review.md +6 -3
  62. package/providers/context/resources/manuals/reference/package-templates.md +2 -3
  63. package/providers/context/resources/manuals/reference/project-api.md +52 -986
  64. package/providers/context/resources/procedures/close-and-build.md +8 -23
  65. package/providers/context/resources/procedures/knowledge-review.md +17 -5
  66. package/providers/context/resources/procedures/source-capture-detailed.md +6 -8
  67. package/providers/context/resources/views/authorized-indexer-workset-view.yaml +15 -0
  68. package/providers/context/resources/views/resolved-indexer-instructions.yaml +2 -4
  69. package/providers/context/schemas/indexer-agent-step-input.schema.json +71 -21
  70. package/providers/context/schemas/indexer-agent-step-result.schema.json +385 -32
  71. package/providers/context/schemas/indexer-authorized-workset-view.schema.json +65 -0
  72. package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +13 -20
  73. package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +17 -2
  74. package/providers/context/schemas/indexer-materialize-request.schema.json +4 -8
  75. package/providers/context/schemas/indexer-materialized-resource.schema.json +8 -1
  76. package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +51 -2
  77. package/providers/context/schemas/indexer-workset-view-materialization-request.schema.json +35 -0
  78. package/providers/context/skills/authorize-current-indexer-provider-program/SKILL.md +20 -0
  79. package/providers/context/skills/configure-indexer-providers/SKILL.md +47 -33
  80. package/providers/context/skills/resolve-current-indexer-gate/SKILL.md +27 -0
  81. package/providers/context/skills/resolve-current-indexer-provider/SKILL.md +20 -0
  82. package/providers/context/skills/run-indexer-agent-step/SKILL.md +49 -10
  83. package/providers/context/skills/run-indexer-lifecycle/SKILL.md +19 -13
  84. package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +52 -11
  85. package/docs/document-optimization.md +0 -82
  86. package/docs/document-optimization.zh-CN.md +0 -70
  87. package/indexers/capability-manifest.json +0 -35
  88. package/indexers/contracts/hard-rule-conformance.json +0 -2644
  89. package/providers/context/actions/accept-main-index-run.yaml +0 -7
  90. package/providers/context/actions/accept-material-answer-run.yaml +0 -7
  91. package/providers/context/actions/accept-post-author-composer-run.yaml +0 -7
  92. package/providers/context/actions/actualize-material-answer-bindings.yaml +0 -8
  93. package/providers/context/actions/audit-material-gap-state.yaml +0 -8
  94. package/providers/context/actions/audit-projected-artifact-fan-out.yaml +0 -8
  95. package/providers/context/actions/build-main-index-author-worksets.yaml +0 -7
  96. package/providers/context/actions/build-main-index-catalog-fallback.yaml +0 -7
  97. package/providers/context/actions/build-main-index-partition-worksets.yaml +0 -7
  98. package/providers/context/actions/build-material-question-workset.yaml +0 -7
  99. package/providers/context/actions/build-post-author-composer-worksets.yaml +0 -7
  100. package/providers/context/actions/build-question-target-inventory.yaml +0 -7
  101. package/providers/context/actions/build-subject-catalog.yaml +0 -7
  102. package/providers/context/actions/build-target-resolution-views.yaml +0 -7
  103. package/providers/context/actions/checkpoint-material-answer-review.yaml +0 -8
  104. package/providers/context/actions/checkpoint-material-gaps.yaml +0 -8
  105. package/providers/context/actions/close-indexer-approved-knowledge.yaml +0 -8
  106. package/providers/context/actions/compose-indexer-post-author-fragments.yaml +0 -7
  107. package/providers/context/actions/converge-main-index-partition-run.yaml +0 -7
  108. package/providers/context/actions/evaluate-material-gaps.yaml +0 -8
  109. package/providers/context/actions/fail-main-index-run.yaml +0 -7
  110. package/providers/context/actions/fail-material-answer-run.yaml +0 -7
  111. package/providers/context/actions/fail-post-author-composer-run.yaml +0 -7
  112. package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +0 -8
  113. package/providers/context/actions/inspect-index-profile-failure.yaml +0 -7
  114. package/providers/context/actions/inspect-material-answer-review.yaml +0 -8
  115. package/providers/context/actions/observe-main-index-run-ledger.yaml +0 -7
  116. package/providers/context/actions/observe-material-answer-runs.yaml +0 -7
  117. package/providers/context/actions/observe-post-author-composer-worksets.yaml +0 -7
  118. package/providers/context/actions/override-index-profile-audit.yaml +0 -7
  119. package/providers/context/actions/prepare-main-index-run-ledger.yaml +0 -7
  120. package/providers/context/actions/prepare-material-answer-runs.yaml +0 -7
  121. package/providers/context/actions/reconcile-indexer-results.yaml +0 -7
  122. package/providers/context/actions/reconcile-review-identities.yaml +0 -5
  123. package/providers/context/actions/record-index-profile-revision.yaml +0 -7
  124. package/providers/context/actions/report-index-profile-failure.yaml +0 -7
  125. package/providers/context/actions/resolve-effective-composers.yaml +0 -7
  126. package/providers/context/actions/review-material-answer-candidate.yaml +0 -8
  127. package/providers/context/actions/revise-document.yaml +0 -5
  128. package/providers/context/actions/revise-index-output.yaml +0 -7
  129. package/providers/context/actions/run-material-answer-indexers.yaml +0 -7
  130. package/providers/context/actions/start-main-index-run.yaml +0 -7
  131. package/providers/context/actions/start-material-answer-run.yaml +0 -7
  132. package/providers/context/actions/start-post-author-composer-run.yaml +0 -7
  133. package/providers/context/resources/procedures/document-revision.md +0 -36
  134. package/providers/context/resources/views/document-optimization-current.yaml +0 -6
  135. package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +0 -46
  136. package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +0 -104
  137. package/providers/context/schemas/indexer-lifecycle-continuation.schema.json +0 -15
  138. package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +0 -90
  139. package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +0 -80
  140. package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +0 -32
  141. package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +0 -32
  142. package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +0 -19
  143. package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +0 -87
  144. package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +0 -86
  145. package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +0 -19
  146. package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +0 -26
  147. package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +0 -18
  148. package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +0 -94
  149. package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +0 -72
  150. package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +0 -13
  151. package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +0 -19
  152. package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +0 -22
  153. package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +0 -49
  154. package/providers/context/schemas/indexer-profile-override-decision.schema.json +0 -20
  155. package/providers/context/schemas/indexer-profile-override-result.schema.json +0 -49
  156. package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +0 -18
  157. package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +0 -31
  158. package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +0 -45
  159. package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +0 -59
  160. package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +0 -43
  161. package/providers/context/skills/revise-index-output/SKILL.md +0 -12
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: context-code-indexer
3
- description: Context-managed Provider for evidence-bound code knowledge. Use only when the Context Indexer lifecycle selects this Provider, not as a standalone workflow.
3
+ description: Context-managed Provider for source-grounded code knowledge. Use only when the Context Indexer lifecycle selects this Provider, not as a standalone workflow.
4
4
  metadata:
5
5
  context-role: "indexer-provider"
6
6
  context-public-entry: "false"
7
- context-provider-version: "1.0.0"
7
+ context-provider-version: "1.1.2"
8
8
  ---
9
9
 
10
10
  # Context Code Indexer
@@ -15,6 +15,33 @@ shared Provider/customization guide before publishing or extending this Skill.
15
15
  Those documents are authoring contracts; the current workset and Route remain
16
16
  execution authority.
17
17
 
18
- Use this Provider only through the Context Indexer lifecycle. The workspace registry selects an exact profile, version, integrity, scope, and operation. Do not scan outside the supplied workset or write project files directly.
18
+ Use this Provider only through the Context Indexer lifecycle. The workspace registry selects an exact profile, version, integrity, scope, and operation. Consume evidence only from the single Context-supplied Authorized Workset View; do not scan outside the supplied workset, construct pagination/receipt requests, or write project files directly.
19
+
20
+ Keep machine identity and reader content deliberately small. A durable Fact
21
+ locator may identify a relation or declaration, but must never embed a source
22
+ expression, implementation body, complete tool response, credential-like value,
23
+ or other source text; keep such material in the process-local protected payload.
24
+ Write for a consumer outside the indexed module: show what the module is
25
+ responsible for, when and how to enter it through stable interfaces, where it
26
+ hands off, and which core state, failure, operation, or source-of-truth facts are
27
+ needed for correct use and attribution. Effective coverage means answering these
28
+ supported reader questions across stable capabilities, not maximizing the number
29
+ of symbols or paths mentioned.
30
+ Every reader Artifact must answer the selected profile's concrete questions from
31
+ current facts. A symbol/path list, generic module summary, workflow explanation,
32
+ or internal Fact/View/digest count is not useful knowledge and must not be emitted.
33
+ Before emitting an Artifact, identify the concrete selected-profile question
34
+ that its logical unit answers. Formal question refs may close required coverage,
35
+ but a group label, Partition Subject, or large Fact volume alone is not a reader
36
+ purpose; a unit with no applicable profile question is catalog-only.
37
+ Bind each reader claim only to the smallest relevant evidence set; never attach
38
+ an entire workset inventory to a generic summary.
39
+ Close inventory members with their actual boundary evidence or a legal
40
+ catalog/exclusion disposition. Never reuse one unrelated fallback evidence
41
+ binding merely to make the disposition denominator appear complete.
42
+ When a large module exposes stable route, capability, protocol, runtime, or
43
+ storage boundaries, partition on those boundaries before authoring. Do not put
44
+ the whole module in one catch-all logical unit, and do not replace semantic
45
+ partitioning with numbered batches.
19
46
 
20
47
  The machine-readable authority is `context-indexer.yaml`. Detailed authoring guidance is materialized by Context from the registered Bundle after its file ledger and integrity have been verified.
@@ -1,6 +1,6 @@
1
1
  protocol: context.indexer.provider/v1
2
2
  id: context-code-indexer
3
- version: 1.0.0
3
+ version: 1.1.2
4
4
  domains: [code]
5
5
 
6
6
  activation:
@@ -62,14 +62,9 @@ provides:
62
62
  priority: 200
63
63
  operations:
64
64
  - id: main-index
65
- consumes: context.indexer.main-workset/v1
65
+ consumes: context.indexer.main-workset/v2
66
66
  produces: context.indexer.main-result/v1
67
67
  accepts_layer_fragments: [fact-enrichment, template-variables]
68
- - id: material-answer
69
- consumes: context.indexer.material-question-workset/v1
70
- produces: context.indexer.material-answer-result/v1
71
- supported_evidence_kinds: [code, contract, configuration, documentation, runbook, test-result, runtime-observation]
72
- accepts_layer_fragments: [fact-enrichment]
73
68
  layer_fragments:
74
69
  - kind: derived-artifact-proposal
75
70
  phase: post-author
@@ -209,7 +204,7 @@ provider:
209
204
  - { id: contract-source, profile: contract-source, path: templates/contract-source.md }
210
205
  - { id: derived-generated-source, profile: derived-generated-source, path: templates/derived-generated-source.md }
211
206
  forbidden_fallbacks: [one-page-per-symbol, ordinal-batch-pages, inferred-runtime-chain]
212
- completion_checks: [inventory-disposition-closure, subject-owner-closure, evidence-binding]
207
+ completion_checks: [inventory-disposition-closure, subject-owner-closure, source-coverage]
213
208
 
214
209
  customization:
215
210
  supports: [config, instructions-append, template-override, program-extend]
@@ -1,6 +1,13 @@
1
1
  # Code Indexer authoring contract
2
2
 
3
- Consume only the current workset, normalized parser facts, verified layer input, and scoped evidence views supplied by Context.
3
+ Consume only the current workset authority and the single Authorized Workset View supplied by Context. Normalized parser facts, verified layer fragments, document evidence, and tool observations all arrive through that View; do not open source-specific evidence channels or manage their pagination and receipts.
4
+
5
+ The reader is outside the indexed module. Give that reader a reliable route to
6
+ the module's responsibility, supported entrypoints and interfaces, downstream
7
+ handoffs, and the core state, failure, operation, ownership, and source-of-truth
8
+ facts needed to use or attribute the capability correctly. Judge coverage by
9
+ whether supported profile questions and stable capability boundaries are
10
+ actually explained, never by symbol, file, relation, or evidence counts.
4
11
 
5
12
  ## Classify before selecting templates
6
13
 
@@ -16,14 +23,77 @@ Use only the ordered partition strategy materialized by Context for the current
16
23
 
17
24
  Group related identities by a capability, entrypoint, protocol boundary, lifecycle stage, state owner, or handoff. A granular catalog is appropriate only when the selected profile and reader goal require a public API, protocol, command, or registry reference. A cross-module chain requires an explicit trigger, source-backed joins on both sides of every boundary, transformations or state handoffs, and a terminal outcome; imports or similar names do not prove execution order.
18
25
 
26
+ A module-level overview may be one logical unit, but it must not own every
27
+ member of a large application or service when current facts expose stable route
28
+ families, public capability families, protocol surfaces, runtime workers, or
29
+ storage boundaries. Give those boundaries separate semantic groups and keep the
30
+ overview limited to navigation and shared lifecycle. This keeps each Author View
31
+ bounded enough to inspect and prevents a catch-all page from replacing useful
32
+ knowledge. Never split by traversal order, member count, or numbered batches.
33
+ Renaming a fact-kind bucket such as all relations or all symbols is not semantic
34
+ partitioning; assign cross-boundary facts to the smallest capability, protocol,
35
+ runtime, or state boundary that they actually explain.
36
+
19
37
  Create a reader target only from a CLI-supplied declaration, public export, contract declaration, runtime registration, approved Subject, or Partition Subject identity. Import/re-export aliases, ordinary references, internal helpers, and lightweight evidence may enrich their canonical owner but cannot independently authorize a target. Normalize aliases into the supplied canonical identity. Never promote a name merely because it appears in prose or has many inbound references.
20
38
 
39
+ ## Durable identity and reader-output boundary
40
+
41
+ Keep durable locator identities compact and semantic. A locator may contain a
42
+ normalized file coordinate, declaration identity, relation kind, line and a
43
+ content digest, but never a raw call expression, implementation body, complete
44
+ configuration value, remote response, secret, token, or credential-like source
45
+ text. Full source material belongs only in the bounded process-local Fact payload;
46
+ reader prose consumes its verified meaning, not the internal carrier.
47
+
48
+ The selected profile templates are mandatory authoring guidance. Use current
49
+ facts to answer their reader questions about responsibility, entrypoints,
50
+ contracts, state, handoffs, failure behavior, configuration and operation. Omit
51
+ unsupported sections. Do not replace those answers with a generic introduction,
52
+ an exhaustive or representative symbol/path list, Parser/Indexer ownership text,
53
+ selected-Fact counts, View/receipt/digest metadata, or claims about what the
54
+ pipeline did. Those details neither help a reader nor recover production state.
55
+
56
+ State caller-visible contracts directly when current facts support them:
57
+ required inputs, defaults, quantity or size limits, and asymmetric rules between
58
+ operations or variants. Naming an internal validator, mapper, hook, or generic
59
+ "validation" step does not explain the contract. Omit details that current facts
60
+ cannot prove rather than inferring them from an implementation name.
61
+
21
62
  ## Author Result and evidence
22
63
 
23
64
  For author work, produce exactly one Result for the supplied logical unit. Keep deterministic catalogs separate from explanatory prose, bind every declaration and Section to current evidence, and select only an Artifact policy variant listed in the workset. Missing material must become a canonical question disposition; never invent an answer or emit placeholder knowledge.
24
65
 
66
+ Before authoring, identify the concrete selected-profile question that the
67
+ logical unit answers. Formal question refs are used only when the workset
68
+ authorizes them, but their absence does not permit generic prose: do not turn the
69
+ Partition Subject, group label, or available Fact volume into an implied reader
70
+ purpose. Close the group as catalog-only when no profile question applies, or
71
+ return to requirement/registry planning when required coverage lacks authority.
72
+
73
+ An inventory group with no reader-authorizing public export, contract, runtime registration, approved Subject, or Partition Subject is catalog-only. Close its inventory dispositions and return no reader Artifact; do not publish a page that merely says the unit exists. Conversely, when the workset supplies current contract facts such as public signatures, properties, events, defaults, variants, examples, or source roles, consume each applicable fact in the matching template question or give it an explicit legal disposition. A generic directory summary is not a substitute for supplied contract facts.
74
+
75
+ For every Section, select the exact `document_kind`, `reader_goal`, and `artifact_kind` tuple declared by the current profile's unique layout mapping. Do not invent a tuple or return a collection name; Context resolves the collection mechanically from that mapping.
76
+
77
+ When the same Authorized Workset View contains CLI-authorized captured documents or tool snapshots, treat them as ordinary input evidence for the current logical unit. Use that material to answer a supplied question only when its evidence contract permits; otherwise keep the canonical material-gap disposition. Do not create a second answer flow or inspect registered sources outside the View.
78
+
25
79
  Treat the CLI inventory as the complete denominator, not a sample. Parser facts may prove files, declarations, entries, contracts, and relationships; they do not by themselves prove business meaning, runtime defaults, failure behavior, or ownership. Every relationship must cite the concrete evidence for its own handoff. Do not repeat one whole-page evidence set across unrelated facts, and do not reduce a multi-source fact to one arbitrary primary file.
26
80
 
81
+ Inventory closure is not a license to attach a convenient fallback binding to
82
+ unrelated members. A `boundary-only` member still needs evidence that places
83
+ that member in the current semantic boundary; otherwise use the legal catalog,
84
+ exclusion, unsupported, or material-gap disposition that describes its actual
85
+ state. Denominator completeness with false attribution is invalid.
86
+
87
+ Before declaring a dependency or handoff unverified, inspect the complete authorized
88
+ source identity inventory for `code-relation` members and join their caller/callee
89
+ identity to the supplied source spans. Relationship members can enrich a logical
90
+ unit even when they are not primary partition members and do not need to be copied
91
+ into the Result fact inventory. A large relation inventory is not evidence absence:
92
+ select the few relations that cross a stable module, protocol, runtime, store, or
93
+ generated-client boundary, then explain that boundary from the corresponding code
94
+ span. Request material only when those authorized relations and spans still cannot
95
+ establish the handoff.
96
+
27
97
  Close every CLI-supplied example candidate with exactly one decision: link it to its public target, merge it into a canonical example for the same target and scenario, retain it as a documentation example, exclude it with a reason, or request missing material. A retained representative must decide setup, key calls, parameters, and expected behavior as either extracted facts or evidence-backed not-applicable facets. Merge only by the full example identity supplied by Context; filenames and basenames are not identities. Do not omit an unresolved candidate from the decision set, and do not treat a material request as completed linkage.
28
98
 
29
99
  Explain stable responsibility, inputs, outputs, state and failure boundaries, the next handoff, and the evidence that supports each claim. Keep implementation bodies, generated payloads, exhaustive internal helper lists, and normalized template repetition out of reader prose. Empty Results are valid only when every target receives a legal disposition.
@@ -36,14 +106,47 @@ If a declared primary fact or Artifact requirement is absent, or the view does n
36
106
 
37
107
  ## Mechanical audit and revision
38
108
 
39
- Context independently validates inventory closure, owner closure, parser coverage, Artifact completeness, evidence scope, relationship candidates, semantic density, template repetition, enumeration, and implementation-body limits. These dimensions are independent; one strong dimension cannot offset a hard failure in another. Do not alter wording, Markdown syntax, sentence counts, or partitions solely to influence a counter.
109
+ Context independently validates production invariants it can derive from current
110
+ inputs, including inventory and owner closure, parser coverage, Artifact
111
+ completeness, source scope, identity, layout, and currentness. These failures
112
+ block the current Result and must be fixed at their source.
113
+
114
+ Profile metrics are authoring guidance, not a second readiness protocol. Use
115
+ `references/metrics.md` when the Result exhibits a real reader problem, but do
116
+ not alter wording, Markdown syntax, sentence counts, or partitions merely to
117
+ influence a counter. Context does not accept an Agent-supplied score as proof
118
+ that a Result is ready.
119
+
120
+ ## Two classes of evidence in a template Evidence pass
121
+
122
+ A template Evidence pass lists what to locate. Those entries do not all resolve the same way, and the difference decides whether an assertion can be written at all.
123
+
124
+ The parsers name structural identity and declarative contracts: files and symbols, imports and call relations, configuration values, source spans, page and redirect routes, workspace and release units, protocol services, methods and types, contract endpoints and operations, maintained examples and public target links, stylesheet modifiers, tables, views and indexes, and generated-source boundaries. When an Evidence pass entry falls in this set, a fact carries it and the assertion binds to that fact.
125
+
126
+ Nothing in the parser layer is named for operational behavior. There is no fact for a retry, a timeout, a lifecycle transition, a permission, a schedule, a topic or queue identity, idempotency, concurrency, ordering, a cache, a transaction, observability, a CLI command or flag, an exit code, or a component prop, slot, or variant. Templates still ask you to locate these, because they are what the reader needs — but they resolve only through a configuration value, a source span, or a relation that literally states them.
40
127
 
41
- For a failed metric, follow the matching entry in `references/metrics.md`. Each entry explains the denominator-preserving repair, a positive example, and an anti-example. It deliberately contains no numeric threshold: use the current CLI audit for actual, recommended, and hard values.
128
+ So for this second class: base the assertion on the configuration value or
129
+ source span that states the behavior, and name the identity it uses. If nothing
130
+ in the authorized view states it, the behavior is a material gap. Write the
131
+ gap. Do not convert a library dependency, a symbol name, or a familiar
132
+ framework convention into a behavioral claim. Context validates structured
133
+ references, but final Review remains responsible for rejecting unsupported
134
+ prose.
42
135
 
43
- The reference-only reader-target metric is a zero-count hard gate. Context joins the proposed reader-target projection to its own current identity observations and separately rejects targets with no identity observation at all. Provider prose, display titles, filenames, inbound-reference counts, and self-reported target authority cannot satisfy this gate.
136
+ Every profile template ends with a `Revise or stop when` condition. Stopping means recording the material gap that blocks the question the evidence that is missing and what would resolve it and never silently dropping the question from the Result. A template that tells you to stop when discovery is inferred is telling you not to guess, not to omit. Dropping the question satisfies no entry and fails question closure.
44
137
 
45
- Context recomputes example candidate decision coverage over the complete example inventory. Representative coverage and public-target linkage keep undecided and material-request candidates in their denominator, while only a confirmed exclusion removes a candidate. A scenario variant inherits coverage only when its canonical decision chain terminates at a retained representative; it inherits public-target linkage only when that terminal decision links the exact public target.
138
+ The complete reader-question set and canonical inventory are production
139
+ obligations rather than quality scores. A PartitionPlan must cover the current
140
+ question set, dispositions must cover the inventory, and an answered question
141
+ must satisfy its evidence contract. Natural-language sentences are not checked
142
+ one by one by a metric engine; keep them grounded in the supplied material and
143
+ use final Review to remove unsupported interpretation. Excluding inventory may
144
+ close a disposition, but it does not manufacture an answer to a reader
145
+ question.
46
146
 
47
- When the current audit reports a repairable profile failure, revise the complete affected logical-unit set and return a new Result under the same stable problem lineage. Use the reported uncovered identities, failed metric ids, evidence locators, and legal actions. Request material only when reliable correction requires a source, contract, protocol, or access boundary absent from the registered scope. Three failed revisions produce one complete human report; only the explicit non-delegable profile-risk Gate may accept that runtime profile risk, and no baseline integrity failure is bypassable.
147
+ A required question with no authorized supporting material remains a material request and cannot be published. Repairable content feedback reopens the owning Author or Composer through the same `context revise` lifecycle. Context does not keep a profile retry ledger and does not provide a profile-risk override Gate.
48
148
 
49
- Do not return output paths, collection names, quality thresholds, pass/fail decisions, extra owners, ad hoc question contracts, or facts outside the supplied authority. Context validates structure, evidence, layout, metrics, freshness, reconciliation, and final Review independently.
149
+ Do not return output paths, collection names, quality thresholds, pass/fail
150
+ decisions, extra owners, ad hoc question contracts, or facts outside the
151
+ supplied authority. Context validates deterministic structure, references,
152
+ layout, freshness, reconciliation, and final Review independently.
@@ -1,20 +1,77 @@
1
1
  # Profile metric revision guide
2
2
 
3
- Use the current CLI audit as the sole source of actual, recommended, and hard values. This guide explains how to revise a Result; it does not define thresholds or authorize changing a denominator.
3
+ This guide names reader-facing quality problems and explains how to revise a
4
+ Result. It does not define a second readiness check, ask the Agent to score its
5
+ own output, or authorize changing the profile contract.
6
+
7
+ ## What this catalog does not prove
8
+
9
+ Read this before treating a metric catalog as proof of success. These entries
10
+ describe useful review lenses, but they do not read prose for meaning and they
11
+ do not replace Context's deterministic validation or final Review. A Result can
12
+ look tidy by these measures and still fail to answer a reader's question.
13
+
14
+ Count entries point to shapes that should normally disappear, coverage entries
15
+ ask whether a known inventory was handled, and ratios help find excessive
16
+ duplication or scaffolding. They interact, so repair the reader problem rather
17
+ than optimizing one number in isolation.
18
+
19
+ One entry, `discretionary-artifacts-per-logical-unit`, is judged
20
+ comparatively rather than against a fixed ceiling: it reacts to inflation
21
+ relative to the selected Bundle variant. Do not look for a constant here.
22
+
23
+ Context blocks only facts it can calculate from current authority, including
24
+ workset identity, complete question planning, inventory disposition coverage,
25
+ evidence contracts, layout and currentness. Natural-language usefulness and
26
+ support remain authoring and final-Review responsibilities. No Agent-supplied
27
+ metric value can weaken or satisfy those checks.
28
+
29
+ ## Do not satisfy one entry by breaking another
30
+
31
+ These conflicts are the common cause of a second failed audit.
32
+
33
+ The inventory denominator is protected. Reduce
34
+ `narrative-enumeration-ratio` by relocating identities into the deterministic
35
+ catalog, never by dropping them from the Result. A dropped identity converts an
36
+ enumeration finding into an `inventory-disposition-coverage` failure.
37
+
38
+ Merging is not concatenation. When resolving
39
+ `duplicated-fact-target-ratio`, name one canonical owner and replace the other
40
+ copies with explicit relationships. Pasting several pages together moves the
41
+ duplication into one page and raises its enumeration instead.
42
+
43
+ A deterministic catalog is not a discretionary Artifact. When enumeration
44
+ moves into a catalog, bind that catalog to the logical unit that owns it. Do
45
+ not create a new optional Artifact to hold it, which trades an enumeration
46
+ finding for artifact inflation.
47
+
48
+ Re-home facts before removing a target. Satisfying
49
+ `reference-only-reader-targets` means merging an alias or ordinary reference
50
+ into its canonical owner. Deleting the target and its facts loses evidence and
51
+ reopens disposition coverage.
52
+
53
+ Regrouping must be semantic. Satisfying `unresolved-ordinal-partitions` by
54
+ renaming numbered batches to non-numeric labels changes nothing; the identity
55
+ must come from a boundary a reader can name.
4
56
 
5
57
  ## inventory-disposition-coverage
6
58
 
7
59
  ### Meaning
8
60
 
9
- Every identity in the CLI inventory needs an owned, excluded, or unsupported disposition.
61
+ Every identity in the CLI inventory needs an owned, excluded, or unsupported
62
+ disposition.
10
63
 
11
64
  ### Revise
12
65
 
13
- Return decisions for the reported missing identities, preserving the complete inventory denominator and citing the evidence behind exclusions or unsupported cases.
66
+ Return decisions for the reported missing identities, preserving the complete
67
+ inventory denominator and citing the evidence behind exclusions or unsupported
68
+ cases.
14
69
 
15
70
  ### Positive example
16
71
 
17
- An internal generated file is retained in the inventory and marked excluded with its generated-source evidence.
72
+ An internal generated file is retained in the inventory and marked excluded
73
+ with its generated-source evidence, so a reader can see it was considered and
74
+ why it carries no reader knowledge.
18
75
 
19
76
  ### Anti-example
20
77
 
@@ -24,11 +81,13 @@ The Result omits files that did not fit the selected template.
24
81
 
25
82
  ### Meaning
26
83
 
27
- The same reader fact should have one canonical target rather than competing copies across Artifacts.
84
+ The same reader fact should have one canonical target rather than competing
85
+ copies across Artifacts.
28
86
 
29
87
  ### Revise
30
88
 
31
- Choose the canonical owner, replace other copies with explicit relationships, and keep evidence on the owning fact.
89
+ Choose the canonical owner, replace other copies with explicit relationships,
90
+ and keep evidence on the owning fact.
32
91
 
33
92
  ### Positive example
34
93
 
@@ -42,33 +101,55 @@ Several pages repeat the same behavior paragraph with different headings.
42
101
 
43
102
  ### Meaning
44
103
 
45
- Reader prose should explain capabilities and boundaries instead of restating a deterministic inventory as sentences.
104
+ Reader prose should explain capabilities and boundaries instead of restating a
105
+ deterministic inventory as sentences.
106
+
107
+ The measured scope is reader prose only. A deterministic catalog Artifact that
108
+ the Result declares as such is outside both the numerator and the denominator:
109
+ a complete inventory is that Artifact's entire purpose, and counting it as
110
+ narrative enumeration would penalise the Result for holding the catalog it was
111
+ asked to produce. Count an identity once, in the prose that mentions it. An
112
+ identity that lives only in a declared catalog is not counted at all.
46
113
 
47
114
  ### Revise
48
115
 
49
- Move exhaustive identities into the deterministic catalog, group related items by a reader question, and explain responsibility, differences, and handoffs.
116
+ Move exhaustive identities into the deterministic catalog, group related items
117
+ by a reader question, and explain responsibility, differences, and handoffs.
118
+
119
+ One allowance serves every profile, because excluding declared catalogs from
120
+ the scope already accounts for the profiles whose reader value lies in a
121
+ complete inventory. A catalog-heavy Result is measured on its prose like any
122
+ other, so a breach here means the prose itself restates the catalog rather than
123
+ explaining it — never that the profile is inherently enumerative. Do not
124
+ rewrite a catalog into prose, and do not move prose into a catalog to change
125
+ the count: relocating an identity is legitimate only when the catalog is where
126
+ the reader should look for it.
50
127
 
51
128
  ### Positive example
52
129
 
53
- A capability section explains dispatch choices and links to a complete generated route catalog.
130
+ A capability section explains dispatch choices and links to a complete
131
+ generated route catalog.
54
132
 
55
133
  ### Anti-example
56
134
 
57
- The page turns every discovered symbol into an observed bullet.
135
+ The page turns every discovered symbol into an "observed" bullet.
58
136
 
59
137
  ## normalized-template-repetition-ratio
60
138
 
61
139
  ### Meaning
62
140
 
63
- Repeated sentence frames with only identity substitutions indicate template residue rather than evidence-specific explanation.
141
+ Repeated sentence frames with only identity substitutions indicate template
142
+ residue rather than evidence-specific explanation.
64
143
 
65
144
  ### Revise
66
145
 
67
- Merge repeated observations, describe the shared rule once, and record meaningful exceptions with their own evidence.
146
+ Merge repeated observations, describe the shared rule once, and record
147
+ meaningful exceptions with their own evidence.
68
148
 
69
149
  ### Positive example
70
150
 
71
- A family section states the common lifecycle and separately explains the exceptional member.
151
+ A family section states the common lifecycle and separately explains the
152
+ exceptional member.
72
153
 
73
154
  ### Anti-example
74
155
 
@@ -78,47 +159,58 @@ Every member receives the same sentence with only its name changed.
78
159
 
79
160
  ### Meaning
80
161
 
81
- Reader knowledge should describe stable behavior without copying implementation bodies, generated payloads, or declaration dumps.
162
+ Reader knowledge should describe stable behavior without copying implementation
163
+ bodies, generated payloads, or declaration dumps.
82
164
 
83
165
  ### Revise
84
166
 
85
- Replace copied code with an evidence-bound behavioral statement and retain only a small excerpt when it is necessary to explain a contract or failure boundary.
167
+ Replace copied code with an evidence-bound behavioral statement and retain only
168
+ a small excerpt when it is necessary to explain a contract or failure boundary.
86
169
 
87
170
  ### Positive example
88
171
 
89
- The page explains the validation and rollback sequence and links to the exact implementation locator.
172
+ The page explains the validation and rollback sequence and links to the exact
173
+ implementation locator.
90
174
 
91
175
  ### Anti-example
92
176
 
93
- The page embeds the complete function or generated type file as its main content.
177
+ The page embeds the complete function or generated type file as its main
178
+ content.
94
179
 
95
180
  ## reference-only-reader-targets
96
181
 
97
182
  ### Meaning
98
183
 
99
- A reader target requires a CLI-authorized declaration, registration, public contract, approved Subject, or Partition Subject identity.
184
+ A reader target requires a CLI-authorized declaration, registration, public
185
+ contract, approved Subject, or Partition Subject identity.
100
186
 
101
187
  ### Revise
102
188
 
103
- Merge aliases and ordinary references into their canonical owner, or remove the target when no authorized identity observation exists.
189
+ Merge aliases and ordinary references into their canonical owner, or remove the
190
+ target when no authorized identity observation exists.
104
191
 
105
192
  ### Positive example
106
193
 
107
- A re-export alias points to the canonical public target instead of creating another page.
194
+ A re-export alias points to the canonical public target instead of creating
195
+ another page.
108
196
 
109
197
  ### Anti-example
110
198
 
111
- A frequently imported helper becomes a target solely because it has many references.
199
+ A frequently imported helper becomes a target solely because it has many
200
+ references.
112
201
 
113
202
  ## unresolved-ordinal-partitions
114
203
 
115
204
  ### Meaning
116
205
 
117
- Partition identity must come from a stable semantic boundary, not traversal order or a fixed batch label.
206
+ Partition identity must come from a stable semantic boundary, not traversal
207
+ order or a fixed batch label.
118
208
 
119
209
  ### Revise
120
210
 
121
- Regroup members by capability, entrypoint, lifecycle stage, state owner, protocol boundary, or handoff; if none applies, return the protocol outcome for CLI-owned catalog fallback.
211
+ Regroup members by capability, entrypoint, lifecycle stage, state owner,
212
+ protocol boundary, or handoff; if none applies, return the protocol outcome for
213
+ CLI-owned catalog fallback.
122
214
 
123
215
  ### Positive example
124
216
 
@@ -132,15 +224,18 @@ Files are divided into successive numbered batches to reduce page size.
132
224
 
133
225
  ### Meaning
134
226
 
135
- Optional Artifacts must answer distinct reader questions allowed by the selected Bundle variant.
227
+ Optional Artifacts must answer distinct reader questions allowed by the
228
+ selected Bundle variant.
136
229
 
137
230
  ### Revise
138
231
 
139
- Remove unsupported optional Artifacts, merge overlapping ones, or select another CLI-eligible variant when canonical facts justify it.
232
+ Remove unsupported optional Artifacts, merge overlapping ones, or select
233
+ another CLI-eligible variant when canonical facts justify it.
140
234
 
141
235
  ### Positive example
142
236
 
143
- An examples Artifact is retained because it explains a distinct usage scenario with independent evidence.
237
+ An examples Artifact is retained because it explains a distinct usage scenario
238
+ with independent evidence.
144
239
 
145
240
  ### Anti-example
146
241
 
@@ -150,33 +245,40 @@ The Result creates extra pages to spread the same prose across a larger Bundle.
150
245
 
151
246
  ### Meaning
152
247
 
153
- Every CLI-discovered example candidate needs one explicit terminal or merge decision.
248
+ Every CLI-discovered example candidate needs one explicit terminal or merge
249
+ decision.
154
250
 
155
251
  ### Revise
156
252
 
157
- Decide each reported candidate as linked, merged, documentation-only, excluded with reason, or blocked by a material request.
253
+ Decide each reported candidate as linked, merged, documentation-only, excluded
254
+ with reason, or blocked by a material request.
158
255
 
159
256
  ### Positive example
160
257
 
161
- A duplicate scenario is merged into a canonical example through its full example identity.
258
+ A duplicate scenario is merged into a canonical example through its full
259
+ example identity.
162
260
 
163
261
  ### Anti-example
164
262
 
165
- Unclear examples disappear from the Result without a disposition.
263
+ A candidate whose purpose was unclear is left out of the Result entirely, so a
264
+ later reader cannot tell whether it was rejected or never examined.
166
265
 
167
266
  ## example-representative-coverage
168
267
 
169
268
  ### Meaning
170
269
 
171
- Eligible scenarios need retained representatives that explain setup, key calls, parameters, and expected behavior.
270
+ Eligible scenarios need retained representatives that explain setup, key calls,
271
+ parameters, and expected behavior.
172
272
 
173
273
  ### Revise
174
274
 
175
- Promote or merge evidence-backed examples for the reported uncovered scenarios and close each required facet explicitly.
275
+ Promote or merge evidence-backed examples for the reported uncovered scenarios
276
+ and close each required facet explicitly.
176
277
 
177
278
  ### Positive example
178
279
 
179
- A canonical example covers the scenario and records evidence-backed not-applicable facets.
280
+ A canonical example covers the scenario and records evidence-backed
281
+ not-applicable facets.
180
282
 
181
283
  ### Anti-example
182
284
 
@@ -186,16 +288,20 @@ A path is listed as an example without explaining how or why it is used.
186
288
 
187
289
  ### Meaning
188
290
 
189
- Eligible examples should resolve to the exact public target they demonstrate whenever that target exists.
291
+ Eligible examples should resolve to the exact public target they demonstrate
292
+ whenever that target exists.
190
293
 
191
294
  ### Revise
192
295
 
193
- Resolve aliases, repair the terminal decision chain, and bind the representative to the CLI-supplied public target identity.
296
+ Resolve aliases, repair the terminal decision chain, and bind the
297
+ representative to the CLI-supplied public target identity.
194
298
 
195
299
  ### Positive example
196
300
 
197
- A scenario variant merges into a representative whose terminal decision links the canonical public target.
301
+ A scenario variant merges into a representative whose terminal decision links
302
+ the canonical public target.
198
303
 
199
304
  ### Anti-example
200
305
 
201
- An example is linked to a similarly named internal helper or only to a directory.
306
+ An example is linked to a similarly named internal helper or only to a
307
+ directory.
@@ -90,8 +90,8 @@ helper separately.
90
90
  Add structured edges only for concrete registration and call paths. Keep a
91
91
  narrative locator when dynamic dispatch prevents an unambiguous edge.
92
92
 
93
- Return `identityGroups` when several target identities share one explained
94
- adapter responsibility. Return every source-backed adjacency in
93
+ Use one canonical semantic subject when several target identities share one
94
+ explained adapter responsibility. Return every source-backed adjacency in
95
95
  `chainCandidates`, then provide one `chainCandidateDecisions` record for each
96
96
  candidate. A documented decision names the reader-facing view and emits its
97
97
  structured edge; an equivalent candidate merges into that canonical candidate;
@@ -30,6 +30,14 @@ Treat stories and examples as usage evidence, not as authority for unsupported
30
30
  props or behavior. When generated declarations disagree with source, identify
31
31
  the authoritative source and record the gap.
32
32
 
33
+ When the Authorized Workset View supplies a public declaration together with
34
+ structured props, events, defaults, variants, maintained examples, or source
35
+ roles, the corresponding reader section must consume those facts or record an
36
+ explicit supported omission/material-gap disposition. Do not replace available
37
+ contract facts with a generic statement about the component directory. A group
38
+ without any reader-authorizing public declaration remains catalog-only and does
39
+ not produce an empty component page.
40
+
33
41
  ## Questions the knowledge must answer
34
42
 
35
43
  1. Which component families are public, and how are they imported?
@@ -36,6 +36,22 @@ fields, imports, or transport-library dependencies.
36
36
  4. What timeout, retry, compatibility, and failure behavior is source-backed?
37
37
  5. Which generated artifacts are locators rather than independent authority?
38
38
 
39
+ ## Chapter blueprint
40
+
41
+ ```markdown
42
+ # <Gateway or facade boundary>
43
+ ## Exposed and translated responsibilities
44
+ ## Operations provided or consumed
45
+ ## Request, identity, and context mapping
46
+ ## Timeout, retry, compatibility, and failure translation
47
+ ## Contract authority and generated bindings
48
+ ## Source-backed provider-to-consumer relationships
49
+ ```
50
+
51
+ Operations belong under the operations chapter as canonical records. Do not
52
+ promote a single operation to a page heading unless its authority, security, or
53
+ failure semantics differ materially from the rest of the boundary.
54
+
39
55
  ## Canonical operation record
40
56
 
41
57
  Use this record wherever another selected template asks for an operation,
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  name: context-markdown-indexer
3
- description: Context-managed Provider for evidence-bound document knowledge. Use only when the Context Indexer lifecycle selects this Provider, not as a standalone workflow.
3
+ description: Context-managed Provider for source-grounded document knowledge. Use only when the Context Indexer lifecycle selects this Provider, not as a standalone workflow.
4
4
  metadata:
5
5
  context-role: "indexer-provider"
6
6
  context-public-entry: "false"
7
- context-provider-version: "1.0.0"
7
+ context-provider-version: "1.1.1"
8
8
  ---
9
9
 
10
10
  # Context Markdown Indexer
@@ -15,6 +15,16 @@ the shared Provider/customization guide before publishing or extending this
15
15
  Skill. Those documents are authoring contracts; the current captured evidence,
16
16
  workset and Route remain execution authority.
17
17
 
18
- Use this Provider only through the Context Indexer lifecycle. Context supplies exact captured sources, profile authority, worksets, and evidence views; the Provider does not read arbitrary workspace paths or write approved knowledge directly.
18
+ Use this Provider only through the Context Indexer lifecycle. Context supplies exact profile/workset authority and one Authorized Workset View containing the permitted captured evidence. The Provider does not open source-specific readers, manage pagination/receipts, read arbitrary workspace paths, or write approved knowledge directly.
19
+
20
+ Treat the captured document as reader material, not as pipeline metadata. Every
21
+ reader Artifact must preserve or synthesize the source-backed guidance needed by
22
+ the selected profile. A heading inventory, directory summary, generic document
23
+ description, internal Fact/View/digest count, or a sentence sending the reader
24
+ back to the source is not useful knowledge and must not be emitted. Keep
25
+ execution receipts, content digests, internal refs, and other recovery machinery
26
+ out of reader Markdown. Bind each reader claim only to the smallest relevant
27
+ source span or captured evidence set; never attach a whole document corpus or
28
+ Authorized Workset View to a generic summary.
19
29
 
20
30
  The machine-readable authority is `context-indexer.yaml`. Context materializes the detailed guidance only after verifying this Bundle's release identity and complete file ledger.