@c4a/context-cli 0.6.19 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -6
- package/README.zh-CN.md +42 -5
- package/cli.js +75051 -42154
- package/indexers/bundles/context-code-indexer/SKILL.md +20 -0
- package/indexers/bundles/context-code-indexer/context-indexer.yaml +230 -0
- package/indexers/bundles/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
- package/indexers/bundles/context-code-indexer/references/composers/cross-module-chain.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/development-and-delivery.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/event-flow.md +21 -0
- package/indexers/bundles/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/persistence-boundary.md +21 -0
- package/indexers/bundles/context-code-indexer/references/composers/protocol-boundary.md +22 -0
- package/indexers/bundles/context-code-indexer/references/composers/public-contract.md +23 -0
- package/indexers/bundles/context-code-indexer/references/indexer.md +49 -0
- package/indexers/bundles/context-code-indexer/references/metrics.md +201 -0
- package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +119 -0
- package/indexers/bundles/context-code-indexer/templates/api-service.md +118 -0
- package/indexers/bundles/context-code-indexer/templates/background-runtime.md +109 -0
- package/indexers/bundles/context-code-indexer/templates/cli-tool.md +129 -0
- package/indexers/bundles/context-code-indexer/templates/component-library.md +99 -0
- package/indexers/bundles/context-code-indexer/templates/contract-source.md +73 -0
- package/indexers/bundles/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
- package/indexers/bundles/context-code-indexer/templates/derived-generated-source.md +117 -0
- package/indexers/bundles/context-code-indexer/templates/domain-service.md +109 -0
- package/indexers/bundles/context-code-indexer/templates/event-consumer.md +62 -0
- package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +89 -0
- package/indexers/bundles/context-code-indexer/templates/monorepo-container.md +124 -0
- package/indexers/bundles/context-code-indexer/templates/plugin-extension.md +52 -0
- package/indexers/bundles/context-code-indexer/templates/sdk-library.md +132 -0
- package/indexers/bundles/context-code-indexer/templates/storage-repository.md +56 -0
- package/indexers/bundles/context-code-indexer/templates/web-application.md +146 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/chapters.json +226 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/composers.json +82 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/profiles.json +210 -0
- package/indexers/bundles/context-code-indexer/tests/fixtures/scenarios.json +122 -0
- package/indexers/bundles/context-markdown-indexer/SKILL.md +20 -0
- package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +147 -0
- package/indexers/bundles/context-markdown-indexer/references/classification.md +63 -0
- package/indexers/bundles/context-markdown-indexer/references/editorial-policy.md +106 -0
- package/indexers/bundles/context-markdown-indexer/references/indexer.md +23 -0
- package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +146 -0
- package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +151 -0
- package/indexers/capability-manifest.json +40 -0
- package/indexers/contracts/hard-rule-conformance.json +2644 -0
- package/indexers/contracts/operator-contract.json +35 -0
- package/indexers/contracts/profile-contract.json +10162 -0
- package/indexers/release-manifest.json +208 -0
- package/package.json +5 -4
- package/plugins/README.md +17 -109
- package/plugins/README_CN.md +11 -89
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +3 -11
- package/plugins/claude/CLAUDE.md +1 -1
- package/plugins/claude/README.md +1 -1
- package/plugins/claude/commands/context.md +76 -1
- package/plugins/codex/.codex-plugin/plugin.json +6 -17
- package/plugins/codex/AGENTS.md +1 -1
- package/plugins/codex/README.md +1 -1
- package/plugins/codex/skills/context/SKILL.md +77 -13
- package/plugins/cursor/.cursor-plugin/plugin.json +4 -17
- package/plugins/cursor/AGENTS.md +1 -1
- package/plugins/cursor/README.md +3 -2
- package/plugins/cursor/commands/c4a-context.md +76 -3
- package/plugins/skills/{c4a-context → context}/SKILL.md +78 -14
- package/plugins/skills/context-code-indexer/SKILL.md +20 -0
- package/plugins/skills/context-code-indexer/context-indexer.yaml +230 -0
- package/plugins/skills/context-code-indexer/references/composers/contracts-and-chains.md +23 -0
- package/plugins/skills/context-code-indexer/references/composers/cross-module-chain.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/development-and-delivery.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/event-flow.md +21 -0
- package/plugins/skills/context-code-indexer/references/composers/examples-and-documentation.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/persistence-boundary.md +21 -0
- package/plugins/skills/context-code-indexer/references/composers/protocol-boundary.md +22 -0
- package/plugins/skills/context-code-indexer/references/composers/public-contract.md +23 -0
- package/plugins/skills/context-code-indexer/references/indexer.md +49 -0
- package/plugins/skills/context-code-indexer/references/metrics.md +201 -0
- package/plugins/skills/context-code-indexer/templates/adapter-integration.md +119 -0
- package/plugins/skills/context-code-indexer/templates/api-service.md +118 -0
- package/plugins/skills/context-code-indexer/templates/background-runtime.md +109 -0
- package/plugins/skills/context-code-indexer/templates/cli-tool.md +129 -0
- package/plugins/skills/context-code-indexer/templates/component-library.md +99 -0
- package/plugins/skills/context-code-indexer/templates/contract-source.md +73 -0
- package/plugins/skills/context-code-indexer/templates/data-sync-reconciliation.md +77 -0
- package/plugins/skills/context-code-indexer/templates/derived-generated-source.md +117 -0
- package/plugins/skills/context-code-indexer/templates/domain-service.md +109 -0
- package/plugins/skills/context-code-indexer/templates/event-consumer.md +62 -0
- package/plugins/skills/context-code-indexer/templates/gateway-facade.md +89 -0
- package/plugins/skills/context-code-indexer/templates/monorepo-container.md +124 -0
- package/plugins/skills/context-code-indexer/templates/plugin-extension.md +52 -0
- package/plugins/skills/context-code-indexer/templates/sdk-library.md +132 -0
- package/plugins/skills/context-code-indexer/templates/storage-repository.md +56 -0
- package/plugins/skills/context-code-indexer/templates/web-application.md +146 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/chapters.json +226 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/composers.json +82 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/profiles.json +210 -0
- package/plugins/skills/context-code-indexer/tests/fixtures/scenarios.json +122 -0
- package/plugins/skills/context-markdown-indexer/SKILL.md +20 -0
- package/plugins/skills/context-markdown-indexer/context-indexer.yaml +147 -0
- package/plugins/skills/context-markdown-indexer/references/classification.md +63 -0
- package/plugins/skills/context-markdown-indexer/references/editorial-policy.md +106 -0
- package/plugins/skills/context-markdown-indexer/references/indexer.md +23 -0
- package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +146 -0
- package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +109 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +31 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/editorial.json +309 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/migration-equivalence.json +186 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +171 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +151 -0
- package/providers/context/actions/accept-main-index-run.yaml +7 -0
- package/providers/context/actions/accept-material-answer-run.yaml +7 -0
- package/providers/context/actions/accept-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/actualize-material-answer-bindings.yaml +8 -0
- package/providers/context/actions/apply-document-optimization-guidance.yaml +5 -0
- package/providers/context/actions/apply-indexer-project.yaml +7 -0
- package/providers/context/actions/audit-material-gap-state.yaml +8 -0
- package/providers/context/actions/audit-projected-artifact-fan-out.yaml +8 -0
- package/providers/context/actions/authorize-indexer-contract-overlay.yaml +7 -0
- package/providers/context/actions/authorize-indexer-dependencies.yaml +7 -0
- package/providers/context/actions/authorize-indexer-program-execution.yaml +7 -0
- package/providers/context/actions/build-main-index-author-worksets.yaml +7 -0
- package/providers/context/actions/build-main-index-catalog-fallback.yaml +7 -0
- package/providers/context/actions/build-main-index-partition-worksets.yaml +7 -0
- package/providers/context/actions/build-material-question-workset.yaml +7 -0
- package/providers/context/actions/build-post-author-composer-worksets.yaml +7 -0
- package/providers/context/actions/build-question-target-inventory.yaml +7 -0
- package/providers/context/actions/build-subject-catalog.yaml +7 -0
- package/providers/context/actions/build-target-resolution-views.yaml +7 -0
- package/providers/context/actions/checkpoint-material-answer-review.yaml +8 -0
- package/providers/context/actions/checkpoint-material-gaps.yaml +8 -0
- package/providers/context/actions/close-indexer-approved-knowledge.yaml +8 -0
- package/providers/context/actions/compile-indexer-candidates.yaml +8 -0
- package/providers/context/actions/compose-indexer-post-author-fragments.yaml +7 -0
- package/providers/context/actions/configure-community-indexer-fallback.yaml +6 -0
- package/providers/context/actions/configure-indexer-providers.yaml +6 -0
- package/providers/context/actions/confirm-index-requirement-workset.yaml +8 -0
- package/providers/context/actions/confirm-subject-reidentification.yaml +8 -0
- package/providers/context/actions/converge-main-index-partition-run.yaml +7 -0
- package/providers/context/actions/discover-markdown-indexer-providers.yaml +6 -0
- package/providers/context/actions/evaluate-material-gaps.yaml +8 -0
- package/providers/context/actions/fail-main-index-run.yaml +7 -0
- package/providers/context/actions/fail-material-answer-run.yaml +7 -0
- package/providers/context/actions/fail-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +8 -0
- package/providers/context/actions/inspect-index-profile-failure.yaml +7 -0
- package/providers/context/actions/inspect-indexer-dependencies.yaml +7 -0
- package/providers/context/actions/inspect-indexer-program-execution.yaml +7 -0
- package/providers/context/actions/inspect-indexer-project-proposal.yaml +7 -0
- package/providers/context/actions/inspect-markdown-provider-capture.yaml +7 -0
- package/providers/context/actions/inspect-material-answer-review.yaml +8 -0
- package/providers/context/actions/materialize-indexer-instructions.yaml +7 -0
- package/providers/context/actions/observe-indexer-project.yaml +7 -0
- package/providers/context/actions/observe-main-index-run-ledger.yaml +7 -0
- package/providers/context/actions/observe-material-answer-runs.yaml +7 -0
- package/providers/context/actions/observe-post-author-composer-worksets.yaml +7 -0
- package/providers/context/actions/override-index-profile-audit.yaml +7 -0
- package/providers/context/actions/prepare-indexer-customization-project.yaml +7 -0
- package/providers/context/actions/prepare-main-index-run-ledger.yaml +7 -0
- package/providers/context/actions/prepare-material-answer-runs.yaml +7 -0
- package/providers/context/actions/propose-indexer-customization.yaml +7 -0
- package/providers/context/actions/propose-overlay-question-amendment.yaml +7 -0
- package/providers/context/actions/rebind-indexer-selection-to-requirement.yaml +7 -0
- package/providers/context/actions/reconcile-indexer-results.yaml +7 -0
- package/providers/context/actions/record-index-profile-revision.yaml +7 -0
- package/providers/context/actions/report-index-profile-failure.yaml +7 -0
- package/providers/context/actions/report-indexer-incremental-impact.yaml +8 -0
- package/providers/context/actions/resolve-effective-composers.yaml +7 -0
- package/providers/context/actions/review-material-answer-candidate.yaml +8 -0
- package/providers/context/actions/revise-index-output.yaml +7 -0
- package/providers/context/actions/route-index-requirement-confirmation.yaml +8 -0
- package/providers/context/actions/route-indexer-provider-selection.yaml +7 -0
- package/providers/context/actions/run-indexer-agent-step.yaml +7 -0
- package/providers/context/actions/run-indexer-post-author-composer.yaml +7 -0
- package/providers/context/actions/run-material-answer-indexers.yaml +7 -0
- package/providers/context/actions/start-main-index-run.yaml +7 -0
- package/providers/context/actions/start-material-answer-run.yaml +7 -0
- package/providers/context/actions/start-post-author-composer-run.yaml +7 -0
- package/providers/context/actions/validate-indexer-contract-overlays.yaml +7 -0
- package/providers/context/actions/validate-indexer-customization.yaml +7 -0
- package/providers/context/actions/validate-indexer-selection-proposal.yaml +7 -0
- package/providers/context/actions/validate-main-index-run.yaml +7 -0
- package/providers/context/actions/validate-markdown-provider-selection.yaml +7 -0
- package/providers/context/actions/validate-subject-key-schemas.yaml +8 -0
- package/providers/context/codes.yaml +70 -0
- package/providers/context/graphs/indexer.yaml +1068 -0
- package/providers/context/graphs/workspace.yaml +20 -1
- package/providers/context/manifest.json +1433 -121
- package/providers/context/provider.yaml +3 -2
- package/providers/context/resources/manuals/reference/code-extractors.md +2 -2
- package/providers/context/resources/manuals/reference/project-api.md +2 -2
- package/providers/context/resources/procedures/code-extraction.md +6 -2
- package/providers/context/resources/procedures/code-index-audit.md +36 -6
- package/providers/context/resources/procedures/document-optimization.md +23 -4
- package/providers/context/resources/semantic/code-index/templates/adapter.md +9 -0
- package/providers/context/resources/semantic/code-index/templates/contracts-and-chains.md +81 -0
- package/providers/context/resources/views/resolved-indexer-instructions.yaml +23 -0
- package/providers/context/schemas/document-optimization-decisions.schema.json +1 -1
- package/providers/context/schemas/indexer-agent-step-input.schema.json +30 -0
- package/providers/context/schemas/indexer-agent-step-result.schema.json +47 -0
- package/providers/context/schemas/indexer-candidate-compile-input.schema.json +57 -0
- package/providers/context/schemas/indexer-candidate-compile-output.schema.json +38 -0
- package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +46 -0
- package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +104 -0
- package/providers/context/schemas/indexer-contract-overlay-authorization-input.schema.json +32 -0
- package/providers/context/schemas/indexer-contract-overlay-authorization-result.schema.json +121 -0
- package/providers/context/schemas/indexer-contract-overlay-validation-input.schema.json +90 -0
- package/providers/context/schemas/indexer-contract-overlay-validation-result.schema.json +158 -0
- package/providers/context/schemas/indexer-customization-project-preparation-result.schema.json +44 -0
- package/providers/context/schemas/indexer-customization-proposal-draft.schema.json +83 -0
- package/providers/context/schemas/indexer-customization-validation-result.schema.json +36 -0
- package/providers/context/schemas/indexer-dependency-authorization-input.schema.json +71 -0
- package/providers/context/schemas/indexer-dependency-authorization-result.schema.json +138 -0
- package/providers/context/schemas/indexer-incremental-impact-input.schema.json +31 -0
- package/providers/context/schemas/indexer-incremental-impact-output.schema.json +52 -0
- package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +187 -0
- package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +180 -0
- package/providers/context/schemas/indexer-markdown-provider-capture-input.schema.json +17 -0
- package/providers/context/schemas/indexer-markdown-provider-capture-output.schema.json +54 -0
- package/providers/context/schemas/indexer-markdown-provider-validation-input.schema.json +34 -0
- package/providers/context/schemas/indexer-markdown-provider-validation-output.schema.json +75 -0
- package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +90 -0
- package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +80 -0
- package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +32 -0
- package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +32 -0
- package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +19 -0
- package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +87 -0
- package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +86 -0
- package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +19 -0
- package/providers/context/schemas/indexer-materialize-request.schema.json +53 -0
- package/providers/context/schemas/indexer-materialized-resource.schema.json +57 -0
- package/providers/context/schemas/indexer-overlay-question-amendment.schema.json +13 -0
- package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +40 -0
- package/providers/context/schemas/indexer-overlay-question-rebind-input.schema.json +35 -0
- package/providers/context/schemas/indexer-overlay-question-rebind-result.schema.json +25 -0
- package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +26 -0
- package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +18 -0
- package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +94 -0
- package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +72 -0
- package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +13 -0
- package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +19 -0
- package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +22 -0
- package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +49 -0
- package/providers/context/schemas/indexer-profile-override-decision.schema.json +20 -0
- package/providers/context/schemas/indexer-profile-override-result.schema.json +49 -0
- package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +18 -0
- package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +31 -0
- package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +45 -0
- package/providers/context/schemas/indexer-program-execution-authorization-input.schema.json +145 -0
- package/providers/context/schemas/indexer-program-execution-authorization-result.schema.json +60 -0
- package/providers/context/schemas/indexer-project-action-result.schema.json +19 -0
- package/providers/context/schemas/indexer-project-gate-input.schema.json +100 -0
- package/providers/context/schemas/indexer-project-observation-input.schema.json +16 -0
- package/providers/context/schemas/indexer-project-observation-result.schema.json +42 -0
- package/providers/context/schemas/indexer-provider-route-input.schema.json +55 -0
- package/providers/context/schemas/indexer-provider-route-report.schema.json +188 -0
- package/providers/context/schemas/indexer-requirement-confirmation-input.schema.json +27 -0
- package/providers/context/schemas/indexer-requirement-confirmation-output.schema.json +24 -0
- package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +59 -0
- package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +43 -0
- package/providers/context/schemas/indexer-selection-proposal-input.schema.json +12 -0
- package/providers/context/schemas/indexer-selection-proposal-validation.schema.json +23 -0
- package/providers/context/schemas/indexer-subject-reidentification-input.schema.json +37 -0
- package/providers/context/schemas/indexer-subject-reidentification-output.schema.json +31 -0
- package/providers/context/skills/configure-indexer-providers/SKILL.md +58 -0
- package/providers/context/skills/prepare-indexer-customization-project/SKILL.md +31 -0
- package/providers/context/skills/propose-indexer-customization/SKILL.md +40 -0
- package/providers/context/skills/revise-index-output/SKILL.md +12 -0
- package/providers/context/skills/run-indexer-agent-step/SKILL.md +20 -0
- package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +21 -0
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context
|
|
3
|
-
description:
|
|
4
|
-
Build or continue structured, traceable Agent knowledge from documents and code. Use the local `context` CLI for workspace writes.
|
|
3
|
+
description: Build or continue structured, traceable Agent knowledge from documents and code. Use the local `context` CLI for workspace writes.
|
|
5
4
|
tools:
|
|
6
5
|
- Bash
|
|
7
6
|
---
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Public Context entry for agents that expose skills instead of slash commands.
|
|
12
|
-
|
|
13
|
-
- Public entry: `context`
|
|
14
|
-
- Host command names are installation-specific; use the command or skill surfaced by the current host instead of deriving a filesystem path from an example name.
|
|
15
|
-
- CLI primitive prefix: `context ...`
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Workflow
|
|
8
|
+
## Your Task
|
|
20
9
|
|
|
21
10
|
Context is a knowledge management tool built for Agent knowledge workflows. It
|
|
22
11
|
compiles Feishu/Lark documents, local Markdown, repository code, and manually
|
|
@@ -157,6 +146,81 @@ the same module problem, stop at the one aggregated human-guidance Gate. If a
|
|
|
157
146
|
legacy workspace returns `route.extract.codeindex-migration-required`, execute
|
|
158
147
|
only its migration command; do not rename `codegraph` paths manually.
|
|
159
148
|
|
|
149
|
+
### Discover Indexer Providers before selection
|
|
150
|
+
|
|
151
|
+
For `indexer-provider-required`, `indexer-provider-unavailable`,
|
|
152
|
+
`indexer-customization-required`, `indexer-customization-invalid`, or
|
|
153
|
+
`indexer-customization-upstream-changed`, read
|
|
154
|
+
`node_modules/@c4a/context/docs/guides/indexer-provider-and-customization.md`
|
|
155
|
+
before proposing a selection or project change. It defines the registry-only
|
|
156
|
+
default, six-level customization ladder, upgrade conflict handling, debugging
|
|
157
|
+
commands, and the exit condition for each level. Do not replace it with a
|
|
158
|
+
remembered or host-specific workflow.
|
|
159
|
+
|
|
160
|
+
When the current Route starts a new Code or Markdown indexing task, run this
|
|
161
|
+
read-only command once before creating or changing any Provider registry entry:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
context indexer catalog --format json
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Report the returned CLI-bundled entry Skills together with every other Indexer
|
|
168
|
+
Skill already visible through the current host. The conversational report must
|
|
169
|
+
include each Skill name, readable exact version when available, and source type
|
|
170
|
+
(CLI-bundled community, workspace, installed plugin, or authorized marketplace
|
|
171
|
+
result). When the host already exposes an exact Skill root or `SKILL.md` path,
|
|
172
|
+
read only its YAML frontmatter and sibling `context-indexer.yaml` during
|
|
173
|
+
discovery. The manifest version is authoritative;
|
|
174
|
+
`metadata.context-provider-version` is a readable copy that must match it. Do
|
|
175
|
+
not load the Provider body or other guidance until the Route selects it. If the
|
|
176
|
+
host exposes no readable root or exact version, report the version as
|
|
177
|
+
unavailable rather than guessing it.
|
|
178
|
+
|
|
179
|
+
Group observations with the same Skill name and exact version into one
|
|
180
|
+
conversational item and list all observed source types on that item. An
|
|
181
|
+
installed projection of an identical CLI-bundled identity is not a second
|
|
182
|
+
Provider. Keep different versions separate. The route input still preserves
|
|
183
|
+
each distinct source observation as its own `visible_skills` entry because
|
|
184
|
+
`source_type` is singular; never use source count or discovery order as
|
|
185
|
+
selection precedence. Do not search arbitrary directories, infer host cache
|
|
186
|
+
paths, install a plugin, or query a marketplace unless the user separately
|
|
187
|
+
authorizes it. Keep this discovery report only in the conversation: do not
|
|
188
|
+
write it to `src/`, `package.json`, lifecycle state, receipts, audit output, or
|
|
189
|
+
`dist/`. Do not repeat it during an unchanged task resume; repeat it only for a
|
|
190
|
+
new indexing task, a changed host-visible Skill set, or an explicit diagnostic
|
|
191
|
+
request.
|
|
192
|
+
|
|
193
|
+
After the requirements are applied, author one
|
|
194
|
+
`context.indexer.provider-route-input/v1` payload whose `registry` preserves
|
|
195
|
+
the applied `requirements` block exactly and whose `visible_skills` contains
|
|
196
|
+
only the just-reported path-free identities. Route it before any Host resolves
|
|
197
|
+
or reads an external Provider:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
context indexer route-indexer-provider-selection --input <payload.yaml-or-json> --format json
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
On `community-fallback-required`, retry with the applicable CLI-bundled profile
|
|
204
|
+
and set `community_fallback_attempted: true`. Read-scope overlap is allowed, but
|
|
205
|
+
an exact primary owner-cell conflict must be resolved explicitly; do not use
|
|
206
|
+
array or discovery order as precedence. If fallback leaves a required owner
|
|
207
|
+
cell uncovered, preserve the returned `capability_gap_proof`. Only the Route's
|
|
208
|
+
following `propose-indexer-customization` Agent Action may turn that exact proof
|
|
209
|
+
into a dependency-free minimal `extend` draft; do not weaken the requirement,
|
|
210
|
+
write source, add dependencies, or claim the draft is applied.
|
|
211
|
+
|
|
212
|
+
Only `selection-validation-required` returns a
|
|
213
|
+
`selection_proposal_input`. Pass that exact object to:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
context indexer validate-indexer-selection-proposal --input <payload.yaml-or-json> --format json
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Use only the returned `next_provider_requests` for resolution. A successful
|
|
220
|
+
static report does not authorize materialization, installation, execution, or
|
|
221
|
+
writing the proposal into `src/indexers.yaml`; continue through the Route's
|
|
222
|
+
resolver, staging, final validation, confirmation, and apply Actions.
|
|
223
|
+
|
|
160
224
|
### Follow the current Route
|
|
161
225
|
|
|
162
226
|
Treat `workflow.current` as the current-step authority:
|
|
@@ -1,28 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "c4a",
|
|
3
3
|
"displayName": "C4A Context",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.0",
|
|
5
5
|
"description": "Start or continue a project-local knowledge workspace through one graph-routed entry.",
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Context4AI",
|
|
8
|
-
"email": "support@context4ai.dev"
|
|
9
|
-
},
|
|
6
|
+
"author": { "name": "Context4AI", "email": "support@context4ai.dev" },
|
|
10
7
|
"homepage": "https://github.com/context4ai/c4a",
|
|
11
8
|
"repository": "https://github.com/context4ai/c4a",
|
|
12
9
|
"license": "MIT",
|
|
13
10
|
"logo": "assets/logo.svg",
|
|
14
|
-
"keywords": [
|
|
15
|
-
"context",
|
|
16
|
-
"knowledge",
|
|
17
|
-
"citations",
|
|
18
|
-
"agent-skills"
|
|
19
|
-
],
|
|
11
|
+
"keywords": ["context", "knowledge", "citations", "agent-skills"],
|
|
20
12
|
"category": "developer-tools",
|
|
21
|
-
"tags": [
|
|
22
|
-
"knowledge",
|
|
23
|
-
"documentation",
|
|
24
|
-
"agent-skills",
|
|
25
|
-
"citations"
|
|
26
|
-
],
|
|
13
|
+
"tags": ["knowledge", "documentation", "agent-skills", "citations"],
|
|
27
14
|
"commands": "./commands/"
|
|
28
15
|
}
|
package/plugins/cursor/AGENTS.md
CHANGED
package/plugins/cursor/README.md
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
This directory is generated by `bun run build:plugin`.
|
|
4
4
|
Do not edit files here directly.
|
|
5
|
-
Edit `
|
|
5
|
+
Edit `plugins/context/` and rerun the build instead.
|
|
6
6
|
|
|
7
7
|
Install shape:
|
|
8
8
|
|
|
9
9
|
- Marketplace/GitHub plugin shape: this directory is a plugin root with `.cursor-plugin/plugin.json` and `commands/`.
|
|
10
|
-
-
|
|
10
|
+
- The public entry is under `commands/`; Cursor command files are prefixed as `c4a-*` to avoid global slash-command collisions.
|
|
11
|
+
- Lifecycle Provider skills are installed separately into the shared user skill directory by `context plugin install`.
|
|
11
12
|
- Local plugin fallback: symlink or copy this directory to `~/.cursor/plugins/local/c4a/` only when Marketplace import is unavailable.
|
|
12
13
|
|
|
13
14
|
Cursor Marketplace installs this plugin root directly.
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Build or continue structured, traceable Agent knowledge from documents and code."
|
|
3
|
-
argument-hint: "[project-dir or user intent]"
|
|
4
|
-
allowed-tools: Bash(context:*), Bash(bun:*), Bash(cd *)
|
|
2
|
+
description: "Build or continue structured, traceable Agent knowledge from documents and code. Use the local `context` CLI for workspace writes."
|
|
5
3
|
---
|
|
6
4
|
|
|
7
5
|
Start or continue a C4A Context knowledge workspace.
|
|
@@ -149,6 +147,81 @@ the same module problem, stop at the one aggregated human-guidance Gate. If a
|
|
|
149
147
|
legacy workspace returns `route.extract.codeindex-migration-required`, execute
|
|
150
148
|
only its migration command; do not rename `codegraph` paths manually.
|
|
151
149
|
|
|
150
|
+
### Discover Indexer Providers before selection
|
|
151
|
+
|
|
152
|
+
For `indexer-provider-required`, `indexer-provider-unavailable`,
|
|
153
|
+
`indexer-customization-required`, `indexer-customization-invalid`, or
|
|
154
|
+
`indexer-customization-upstream-changed`, read
|
|
155
|
+
`node_modules/@c4a/context/docs/guides/indexer-provider-and-customization.md`
|
|
156
|
+
before proposing a selection or project change. It defines the registry-only
|
|
157
|
+
default, six-level customization ladder, upgrade conflict handling, debugging
|
|
158
|
+
commands, and the exit condition for each level. Do not replace it with a
|
|
159
|
+
remembered or host-specific workflow.
|
|
160
|
+
|
|
161
|
+
When the current Route starts a new Code or Markdown indexing task, run this
|
|
162
|
+
read-only command once before creating or changing any Provider registry entry:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
context indexer catalog --format json
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Report the returned CLI-bundled entry Skills together with every other Indexer
|
|
169
|
+
Skill already visible through the current host. The conversational report must
|
|
170
|
+
include each Skill name, readable exact version when available, and source type
|
|
171
|
+
(CLI-bundled community, workspace, installed plugin, or authorized marketplace
|
|
172
|
+
result). When the host already exposes an exact Skill root or `SKILL.md` path,
|
|
173
|
+
read only its YAML frontmatter and sibling `context-indexer.yaml` during
|
|
174
|
+
discovery. The manifest version is authoritative;
|
|
175
|
+
`metadata.context-provider-version` is a readable copy that must match it. Do
|
|
176
|
+
not load the Provider body or other guidance until the Route selects it. If the
|
|
177
|
+
host exposes no readable root or exact version, report the version as
|
|
178
|
+
unavailable rather than guessing it.
|
|
179
|
+
|
|
180
|
+
Group observations with the same Skill name and exact version into one
|
|
181
|
+
conversational item and list all observed source types on that item. An
|
|
182
|
+
installed projection of an identical CLI-bundled identity is not a second
|
|
183
|
+
Provider. Keep different versions separate. The route input still preserves
|
|
184
|
+
each distinct source observation as its own `visible_skills` entry because
|
|
185
|
+
`source_type` is singular; never use source count or discovery order as
|
|
186
|
+
selection precedence. Do not search arbitrary directories, infer host cache
|
|
187
|
+
paths, install a plugin, or query a marketplace unless the user separately
|
|
188
|
+
authorizes it. Keep this discovery report only in the conversation: do not
|
|
189
|
+
write it to `src/`, `package.json`, lifecycle state, receipts, audit output, or
|
|
190
|
+
`dist/`. Do not repeat it during an unchanged task resume; repeat it only for a
|
|
191
|
+
new indexing task, a changed host-visible Skill set, or an explicit diagnostic
|
|
192
|
+
request.
|
|
193
|
+
|
|
194
|
+
After the requirements are applied, author one
|
|
195
|
+
`context.indexer.provider-route-input/v1` payload whose `registry` preserves
|
|
196
|
+
the applied `requirements` block exactly and whose `visible_skills` contains
|
|
197
|
+
only the just-reported path-free identities. Route it before any Host resolves
|
|
198
|
+
or reads an external Provider:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
context indexer route-indexer-provider-selection --input <payload.yaml-or-json> --format json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
On `community-fallback-required`, retry with the applicable CLI-bundled profile
|
|
205
|
+
and set `community_fallback_attempted: true`. Read-scope overlap is allowed, but
|
|
206
|
+
an exact primary owner-cell conflict must be resolved explicitly; do not use
|
|
207
|
+
array or discovery order as precedence. If fallback leaves a required owner
|
|
208
|
+
cell uncovered, preserve the returned `capability_gap_proof`. Only the Route's
|
|
209
|
+
following `propose-indexer-customization` Agent Action may turn that exact proof
|
|
210
|
+
into a dependency-free minimal `extend` draft; do not weaken the requirement,
|
|
211
|
+
write source, add dependencies, or claim the draft is applied.
|
|
212
|
+
|
|
213
|
+
Only `selection-validation-required` returns a
|
|
214
|
+
`selection_proposal_input`. Pass that exact object to:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
context indexer validate-indexer-selection-proposal --input <payload.yaml-or-json> --format json
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Use only the returned `next_provider_requests` for resolution. A successful
|
|
221
|
+
static report does not authorize materialization, installation, execution, or
|
|
222
|
+
writing the proposal into `src/indexers.yaml`; continue through the Route's
|
|
223
|
+
resolver, staging, final validation, confirmation, and apply Actions.
|
|
224
|
+
|
|
152
225
|
### Follow the current Route
|
|
153
226
|
|
|
154
227
|
Treat `workflow.current` as the current-step authority:
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
Build or continue structured, traceable Agent knowledge from documents and code. Use the local `context` CLI for workspace writes.
|
|
2
|
+
name: context
|
|
3
|
+
description: Build or continue structured, traceable Agent knowledge from documents and code. Use the local `context` CLI for workspace writes.
|
|
5
4
|
tools:
|
|
6
5
|
- Bash
|
|
7
6
|
---
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Public Context entry for agents that expose skills instead of slash commands.
|
|
12
|
-
|
|
13
|
-
- Public entry: `c4a-context`
|
|
14
|
-
- Host command names are installation-specific; use the command or skill surfaced by the current host instead of deriving a filesystem path from an example name.
|
|
15
|
-
- CLI primitive prefix: `context ...`
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## Workflow
|
|
8
|
+
## Your Task
|
|
20
9
|
|
|
21
10
|
Context is a knowledge management tool built for Agent knowledge workflows. It
|
|
22
11
|
compiles Feishu/Lark documents, local Markdown, repository code, and manually
|
|
@@ -157,6 +146,81 @@ the same module problem, stop at the one aggregated human-guidance Gate. If a
|
|
|
157
146
|
legacy workspace returns `route.extract.codeindex-migration-required`, execute
|
|
158
147
|
only its migration command; do not rename `codegraph` paths manually.
|
|
159
148
|
|
|
149
|
+
### Discover Indexer Providers before selection
|
|
150
|
+
|
|
151
|
+
For `indexer-provider-required`, `indexer-provider-unavailable`,
|
|
152
|
+
`indexer-customization-required`, `indexer-customization-invalid`, or
|
|
153
|
+
`indexer-customization-upstream-changed`, read
|
|
154
|
+
`node_modules/@c4a/context/docs/guides/indexer-provider-and-customization.md`
|
|
155
|
+
before proposing a selection or project change. It defines the registry-only
|
|
156
|
+
default, six-level customization ladder, upgrade conflict handling, debugging
|
|
157
|
+
commands, and the exit condition for each level. Do not replace it with a
|
|
158
|
+
remembered or host-specific workflow.
|
|
159
|
+
|
|
160
|
+
When the current Route starts a new Code or Markdown indexing task, run this
|
|
161
|
+
read-only command once before creating or changing any Provider registry entry:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
context indexer catalog --format json
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Report the returned CLI-bundled entry Skills together with every other Indexer
|
|
168
|
+
Skill already visible through the current host. The conversational report must
|
|
169
|
+
include each Skill name, readable exact version when available, and source type
|
|
170
|
+
(CLI-bundled community, workspace, installed plugin, or authorized marketplace
|
|
171
|
+
result). When the host already exposes an exact Skill root or `SKILL.md` path,
|
|
172
|
+
read only its YAML frontmatter and sibling `context-indexer.yaml` during
|
|
173
|
+
discovery. The manifest version is authoritative;
|
|
174
|
+
`metadata.context-provider-version` is a readable copy that must match it. Do
|
|
175
|
+
not load the Provider body or other guidance until the Route selects it. If the
|
|
176
|
+
host exposes no readable root or exact version, report the version as
|
|
177
|
+
unavailable rather than guessing it.
|
|
178
|
+
|
|
179
|
+
Group observations with the same Skill name and exact version into one
|
|
180
|
+
conversational item and list all observed source types on that item. An
|
|
181
|
+
installed projection of an identical CLI-bundled identity is not a second
|
|
182
|
+
Provider. Keep different versions separate. The route input still preserves
|
|
183
|
+
each distinct source observation as its own `visible_skills` entry because
|
|
184
|
+
`source_type` is singular; never use source count or discovery order as
|
|
185
|
+
selection precedence. Do not search arbitrary directories, infer host cache
|
|
186
|
+
paths, install a plugin, or query a marketplace unless the user separately
|
|
187
|
+
authorizes it. Keep this discovery report only in the conversation: do not
|
|
188
|
+
write it to `src/`, `package.json`, lifecycle state, receipts, audit output, or
|
|
189
|
+
`dist/`. Do not repeat it during an unchanged task resume; repeat it only for a
|
|
190
|
+
new indexing task, a changed host-visible Skill set, or an explicit diagnostic
|
|
191
|
+
request.
|
|
192
|
+
|
|
193
|
+
After the requirements are applied, author one
|
|
194
|
+
`context.indexer.provider-route-input/v1` payload whose `registry` preserves
|
|
195
|
+
the applied `requirements` block exactly and whose `visible_skills` contains
|
|
196
|
+
only the just-reported path-free identities. Route it before any Host resolves
|
|
197
|
+
or reads an external Provider:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
context indexer route-indexer-provider-selection --input <payload.yaml-or-json> --format json
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
On `community-fallback-required`, retry with the applicable CLI-bundled profile
|
|
204
|
+
and set `community_fallback_attempted: true`. Read-scope overlap is allowed, but
|
|
205
|
+
an exact primary owner-cell conflict must be resolved explicitly; do not use
|
|
206
|
+
array or discovery order as precedence. If fallback leaves a required owner
|
|
207
|
+
cell uncovered, preserve the returned `capability_gap_proof`. Only the Route's
|
|
208
|
+
following `propose-indexer-customization` Agent Action may turn that exact proof
|
|
209
|
+
into a dependency-free minimal `extend` draft; do not weaken the requirement,
|
|
210
|
+
write source, add dependencies, or claim the draft is applied.
|
|
211
|
+
|
|
212
|
+
Only `selection-validation-required` returns a
|
|
213
|
+
`selection_proposal_input`. Pass that exact object to:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
context indexer validate-indexer-selection-proposal --input <payload.yaml-or-json> --format json
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Use only the returned `next_provider_requests` for resolution. A successful
|
|
220
|
+
static report does not authorize materialization, installation, execution, or
|
|
221
|
+
writing the proposal into `src/indexers.yaml`; continue through the Route's
|
|
222
|
+
resolver, staging, final validation, confirmation, and apply Actions.
|
|
223
|
+
|
|
160
224
|
### Follow the current Route
|
|
161
225
|
|
|
162
226
|
Treat `workflow.current` as the current-step authority:
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
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.
|
|
4
|
+
metadata:
|
|
5
|
+
context-role: "indexer-provider"
|
|
6
|
+
context-public-entry: "false"
|
|
7
|
+
context-provider-version: "1.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Context Code Indexer
|
|
11
|
+
|
|
12
|
+
Provider authors must satisfy
|
|
13
|
+
`node_modules/@c4a/context/docs/guides/code-indexer-skill-authoring.md` and the
|
|
14
|
+
shared Provider/customization guide before publishing or extending this Skill.
|
|
15
|
+
Those documents are authoring contracts; the current workset and Route remain
|
|
16
|
+
execution authority.
|
|
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.
|
|
19
|
+
|
|
20
|
+
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.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
protocol: context.indexer.provider/v1
|
|
2
|
+
id: context-code-indexer
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
domains: [code]
|
|
5
|
+
|
|
6
|
+
activation:
|
|
7
|
+
target_kinds: [repository, package, library, service, application]
|
|
8
|
+
required_signals:
|
|
9
|
+
- id: supported-source
|
|
10
|
+
description: The registered target scope contains source or contract files supported by Context.
|
|
11
|
+
supporting_signals:
|
|
12
|
+
- id: stable-entry
|
|
13
|
+
description: The target exposes a stable entry, protocol, command, route, export, or runtime boundary.
|
|
14
|
+
- id: usage-material
|
|
15
|
+
description: The readable scope contains examples, tests, documentation, or operational material.
|
|
16
|
+
negative_signals:
|
|
17
|
+
- id: generated-only
|
|
18
|
+
description: The scope contains only generated artifacts with no authoritative source boundary.
|
|
19
|
+
agent_questions:
|
|
20
|
+
- Which stable reader capability groups the complete eligible inventory?
|
|
21
|
+
|
|
22
|
+
provides:
|
|
23
|
+
profiles:
|
|
24
|
+
- monorepo-container
|
|
25
|
+
- web-application
|
|
26
|
+
- component-library
|
|
27
|
+
- sdk-library
|
|
28
|
+
- cli-tool
|
|
29
|
+
- plugin-extension
|
|
30
|
+
- api-service
|
|
31
|
+
- gateway-facade
|
|
32
|
+
- domain-service
|
|
33
|
+
- background-runtime
|
|
34
|
+
- event-consumer
|
|
35
|
+
- data-sync-reconciliation
|
|
36
|
+
- storage-repository
|
|
37
|
+
- adapter-integration
|
|
38
|
+
- contract-source
|
|
39
|
+
- derived-generated-source
|
|
40
|
+
partition_strategies:
|
|
41
|
+
- id: public-target-family
|
|
42
|
+
profiles: [component-library, sdk-library, plugin-extension, contract-source]
|
|
43
|
+
priority: 100
|
|
44
|
+
- id: canonical-semantic-subject
|
|
45
|
+
profiles:
|
|
46
|
+
- monorepo-container
|
|
47
|
+
- web-application
|
|
48
|
+
- component-library
|
|
49
|
+
- sdk-library
|
|
50
|
+
- cli-tool
|
|
51
|
+
- plugin-extension
|
|
52
|
+
- api-service
|
|
53
|
+
- gateway-facade
|
|
54
|
+
- domain-service
|
|
55
|
+
- background-runtime
|
|
56
|
+
- event-consumer
|
|
57
|
+
- data-sync-reconciliation
|
|
58
|
+
- storage-repository
|
|
59
|
+
- adapter-integration
|
|
60
|
+
- contract-source
|
|
61
|
+
- derived-generated-source
|
|
62
|
+
priority: 200
|
|
63
|
+
operations:
|
|
64
|
+
- id: main-index
|
|
65
|
+
consumes: context.indexer.main-workset/v1
|
|
66
|
+
produces: context.indexer.main-result/v1
|
|
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
|
+
layer_fragments:
|
|
74
|
+
- kind: derived-artifact-proposal
|
|
75
|
+
phase: post-author
|
|
76
|
+
produces: context.indexer.layer-fragment/v1
|
|
77
|
+
composers:
|
|
78
|
+
- id: public-contract
|
|
79
|
+
supported_profiles: [component-library, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, adapter-integration, contract-source, derived-generated-source]
|
|
80
|
+
contract:
|
|
81
|
+
instruction: references/composers/public-contract.md
|
|
82
|
+
primary_requirements: { fact_kinds: [public-surface], artifact_kinds: [content] }
|
|
83
|
+
derived_artifact_policy:
|
|
84
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
85
|
+
fragment_kind: derived-artifact-proposal
|
|
86
|
+
artifact_policy_variant: standard
|
|
87
|
+
artifact_kinds: [contract]
|
|
88
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
89
|
+
- id: protocol-boundary
|
|
90
|
+
supported_profiles: [web-application, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration, contract-source, derived-generated-source]
|
|
91
|
+
contract:
|
|
92
|
+
instruction: references/composers/protocol-boundary.md
|
|
93
|
+
primary_requirements: { fact_kinds: [protocol-operation], artifact_kinds: [contract] }
|
|
94
|
+
derived_artifact_policy:
|
|
95
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
96
|
+
fragment_kind: derived-artifact-proposal
|
|
97
|
+
artifact_policy_variant: standard
|
|
98
|
+
artifact_kinds: [contract]
|
|
99
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
100
|
+
- id: cross-module-chain
|
|
101
|
+
supported_profiles: [monorepo-container, web-application, component-library, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration]
|
|
102
|
+
contract:
|
|
103
|
+
instruction: references/composers/cross-module-chain.md
|
|
104
|
+
primary_requirements: { fact_kinds: [module-dependency], artifact_kinds: [content] }
|
|
105
|
+
derived_artifact_policy:
|
|
106
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
107
|
+
fragment_kind: derived-artifact-proposal
|
|
108
|
+
artifact_policy_variant: standard
|
|
109
|
+
artifact_kinds: [content]
|
|
110
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
111
|
+
- id: contracts-and-chains
|
|
112
|
+
supported_profiles: [monorepo-container, web-application, component-library, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration, contract-source, derived-generated-source]
|
|
113
|
+
contract:
|
|
114
|
+
instruction: references/composers/contracts-and-chains.md
|
|
115
|
+
primary_requirements: { fact_kinds: [contract-binding, module-dependency], artifact_kinds: [contract] }
|
|
116
|
+
derived_artifact_policy:
|
|
117
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
118
|
+
fragment_kind: derived-artifact-proposal
|
|
119
|
+
artifact_policy_variant: standard
|
|
120
|
+
artifact_kinds: [contract]
|
|
121
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
122
|
+
- id: event-flow
|
|
123
|
+
supported_profiles: [web-application, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, adapter-integration, contract-source]
|
|
124
|
+
contract:
|
|
125
|
+
instruction: references/composers/event-flow.md
|
|
126
|
+
primary_requirements: { fact_kinds: [event-binding], artifact_kinds: [content] }
|
|
127
|
+
derived_artifact_policy:
|
|
128
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
129
|
+
fragment_kind: derived-artifact-proposal
|
|
130
|
+
artifact_policy_variant: standard
|
|
131
|
+
artifact_kinds: [content]
|
|
132
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
133
|
+
- id: persistence-boundary
|
|
134
|
+
supported_profiles: [api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration]
|
|
135
|
+
contract:
|
|
136
|
+
instruction: references/composers/persistence-boundary.md
|
|
137
|
+
primary_requirements: { fact_kinds: [persistence-binding], artifact_kinds: [content] }
|
|
138
|
+
derived_artifact_policy:
|
|
139
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
140
|
+
fragment_kind: derived-artifact-proposal
|
|
141
|
+
artifact_policy_variant: standard
|
|
142
|
+
artifact_kinds: [content]
|
|
143
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
144
|
+
- id: examples-and-documentation
|
|
145
|
+
supported_profiles: [monorepo-container, web-application, component-library, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration, contract-source, derived-generated-source]
|
|
146
|
+
contract:
|
|
147
|
+
instruction: references/composers/examples-and-documentation.md
|
|
148
|
+
primary_requirements: { fact_kinds: [example-candidate], artifact_kinds: [content] }
|
|
149
|
+
derived_artifact_policy:
|
|
150
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
151
|
+
fragment_kind: derived-artifact-proposal
|
|
152
|
+
artifact_policy_variant: standard
|
|
153
|
+
artifact_kinds: [examples]
|
|
154
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
155
|
+
- id: development-and-delivery
|
|
156
|
+
supported_profiles: [monorepo-container, web-application, component-library, sdk-library, cli-tool, plugin-extension, api-service, gateway-facade, domain-service, background-runtime, event-consumer, data-sync-reconciliation, storage-repository, adapter-integration, contract-source, derived-generated-source]
|
|
157
|
+
contract:
|
|
158
|
+
instruction: references/composers/development-and-delivery.md
|
|
159
|
+
primary_requirements: { fact_kinds: [development-entry], artifact_kinds: [content] }
|
|
160
|
+
derived_artifact_policy:
|
|
161
|
+
fragment_protocol: context.indexer.layer-fragment/v1
|
|
162
|
+
fragment_kind: derived-artifact-proposal
|
|
163
|
+
artifact_policy_variant: standard
|
|
164
|
+
artifact_kinds: [content]
|
|
165
|
+
empty_result: { result_protocol: context.indexer.layer-fragment-result/v1, behavior: empty-fragment-set }
|
|
166
|
+
source_roles: [authoritative-source, public-contract-source, example-source, operational-source]
|
|
167
|
+
logical_units:
|
|
168
|
+
- id: semantic-subject
|
|
169
|
+
identity: canonical-subject-key
|
|
170
|
+
artifacts:
|
|
171
|
+
recommended: [content, contract, examples]
|
|
172
|
+
supported_policy_variants: [compact, standard, expanded]
|
|
173
|
+
|
|
174
|
+
provider:
|
|
175
|
+
instructions:
|
|
176
|
+
- path: references/indexer.md
|
|
177
|
+
profiles:
|
|
178
|
+
- monorepo-container
|
|
179
|
+
- web-application
|
|
180
|
+
- component-library
|
|
181
|
+
- sdk-library
|
|
182
|
+
- cli-tool
|
|
183
|
+
- plugin-extension
|
|
184
|
+
- api-service
|
|
185
|
+
- gateway-facade
|
|
186
|
+
- domain-service
|
|
187
|
+
- background-runtime
|
|
188
|
+
- event-consumer
|
|
189
|
+
- data-sync-reconciliation
|
|
190
|
+
- storage-repository
|
|
191
|
+
- adapter-integration
|
|
192
|
+
- contract-source
|
|
193
|
+
- derived-generated-source
|
|
194
|
+
templates:
|
|
195
|
+
- { id: monorepo-container, profile: monorepo-container, path: templates/monorepo-container.md }
|
|
196
|
+
- { id: web-application, profile: web-application, path: templates/web-application.md }
|
|
197
|
+
- { id: component-library, profile: component-library, path: templates/component-library.md }
|
|
198
|
+
- { id: sdk-library, profile: sdk-library, path: templates/sdk-library.md }
|
|
199
|
+
- { id: cli-tool, profile: cli-tool, path: templates/cli-tool.md }
|
|
200
|
+
- { id: plugin-extension, profile: plugin-extension, path: templates/plugin-extension.md }
|
|
201
|
+
- { id: api-service, profile: api-service, path: templates/api-service.md }
|
|
202
|
+
- { id: gateway-facade, profile: gateway-facade, path: templates/gateway-facade.md }
|
|
203
|
+
- { id: domain-service, profile: domain-service, path: templates/domain-service.md }
|
|
204
|
+
- { id: background-runtime, profile: background-runtime, path: templates/background-runtime.md }
|
|
205
|
+
- { id: event-consumer, profile: event-consumer, path: templates/event-consumer.md }
|
|
206
|
+
- { id: data-sync-reconciliation, profile: data-sync-reconciliation, path: templates/data-sync-reconciliation.md }
|
|
207
|
+
- { id: storage-repository, profile: storage-repository, path: templates/storage-repository.md }
|
|
208
|
+
- { id: adapter-integration, profile: adapter-integration, path: templates/adapter-integration.md }
|
|
209
|
+
- { id: contract-source, profile: contract-source, path: templates/contract-source.md }
|
|
210
|
+
- { id: derived-generated-source, profile: derived-generated-source, path: templates/derived-generated-source.md }
|
|
211
|
+
forbidden_fallbacks: [one-page-per-symbol, ordinal-batch-pages, inferred-runtime-chain]
|
|
212
|
+
completion_checks: [inventory-disposition-closure, subject-owner-closure, evidence-binding]
|
|
213
|
+
|
|
214
|
+
customization:
|
|
215
|
+
supports: [config, instructions-append, template-override, program-extend]
|
|
216
|
+
|
|
217
|
+
quality_guidance:
|
|
218
|
+
metric_ids:
|
|
219
|
+
- inventory-disposition-coverage
|
|
220
|
+
- duplicated-fact-target-ratio
|
|
221
|
+
- narrative-enumeration-ratio
|
|
222
|
+
- normalized-template-repetition-ratio
|
|
223
|
+
- implementation-body-ratio
|
|
224
|
+
- reference-only-reader-targets
|
|
225
|
+
- unresolved-ordinal-partitions
|
|
226
|
+
- discretionary-artifacts-per-logical-unit
|
|
227
|
+
- example-candidate-decision-coverage
|
|
228
|
+
- example-representative-coverage
|
|
229
|
+
- example-public-target-linkage
|
|
230
|
+
repair: references/metrics.md
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.composer.contracts-and-chains
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Contracts and chains composer
|
|
8
|
+
|
|
9
|
+
Use only when `contracts-and-chains` is present in the effective composer set.
|
|
10
|
+
Consume the exact primary view and return post-author proposals, never another
|
|
11
|
+
complete Indexer Result.
|
|
12
|
+
|
|
13
|
+
Require both `contract-binding` and `module-dependency` facts plus a primary
|
|
14
|
+
`contract` Artifact. A derived `contract` Artifact may summarize how a stable
|
|
15
|
+
contract identity is produced, transported, implemented, consumed, and traced
|
|
16
|
+
across registered modules. Preserve the authoritative schema and distinguish
|
|
17
|
+
generated bindings from source contracts.
|
|
18
|
+
|
|
19
|
+
Use the existing target, the `standard` policy, and evidence already bound to
|
|
20
|
+
the view. Do not merge unrelated protocols merely because they share a
|
|
21
|
+
transport. If either fact, the primary Artifact, or an evidenced end-to-end
|
|
22
|
+
binding is absent, return `context.indexer.layer-fragment-result/v1` with an
|
|
23
|
+
empty `fragments` array.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.composer.cross-module-chain
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Cross-module chain composer
|
|
8
|
+
|
|
9
|
+
Run only for the selected composer and the supplied `PrimaryResultView`.
|
|
10
|
+
Derived output supplements an existing target Node; it cannot create scope,
|
|
11
|
+
change ownership, or replace the primary Result.
|
|
12
|
+
|
|
13
|
+
Require an evidenced `module-dependency` fact and primary `content` Artifact.
|
|
14
|
+
Propose derived `content` only when a stable reader question crosses at least
|
|
15
|
+
two registered module boundaries and every hop has an unambiguous identity and
|
|
16
|
+
evidence. Describe trigger, ordered boundaries, transformations, outcome,
|
|
17
|
+
failure propagation, and recovery without copying each module page.
|
|
18
|
+
|
|
19
|
+
Use the `standard` policy and view evidence only. Import adjacency, directory
|
|
20
|
+
proximity, or a guessed runtime call is insufficient. Missing requirements,
|
|
21
|
+
an incomplete chain, or an already answered question yields the structured
|
|
22
|
+
empty result: the accepted layer-fragment result with `fragments: []`.
|