@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
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.domain-service
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Domain service template
|
|
8
|
+
|
|
9
|
+
Use for `domain-service` modules whose stable value is a domain/use-case boundary or a
|
|
10
|
+
reusable service contract and its first-level orchestration. Do not classify a
|
|
11
|
+
directory as a service merely because it contains classes or functions named
|
|
12
|
+
`Service`.
|
|
13
|
+
|
|
14
|
+
Use the exact profile and Artifact policy variant supplied by the workset.
|
|
15
|
+
|
|
16
|
+
## Evidence pass
|
|
17
|
+
|
|
18
|
+
Locate:
|
|
19
|
+
|
|
20
|
+
- service construction, registration, dependency injection, or public entry;
|
|
21
|
+
- supported operations and their callers or protocol handlers;
|
|
22
|
+
- use-case/domain orchestration and the point where ownership changes;
|
|
23
|
+
- repositories, transactions, caches, downstream clients, and event ports;
|
|
24
|
+
- invariants, idempotency, consistency, permission, or failure boundaries;
|
|
25
|
+
- configuration and runtime wiring that materially change the service;
|
|
26
|
+
- generated clients/models and internal helpers that should remain evidence.
|
|
27
|
+
|
|
28
|
+
Follow representative public operations through one orchestration layer. Stop
|
|
29
|
+
at the first stable domain, persistence, or downstream protocol boundary unless
|
|
30
|
+
the confirmed knowledge goal explicitly needs deeper implementation behavior.
|
|
31
|
+
|
|
32
|
+
## Questions the knowledge must answer
|
|
33
|
+
|
|
34
|
+
1. What responsibility and invariants does this service own?
|
|
35
|
+
2. Which operations form its supported boundary, and who calls them?
|
|
36
|
+
3. How do operations coordinate domain logic and dependencies?
|
|
37
|
+
4. Where are transaction, consistency, idempotency, or state boundaries?
|
|
38
|
+
5. What failures can cross the boundary, and how are they represented?
|
|
39
|
+
6. Which dependencies are stable contracts versus internal implementation?
|
|
40
|
+
|
|
41
|
+
## Suggested knowledge units
|
|
42
|
+
|
|
43
|
+
- **Service boundary**: responsibility, public operations, ownership,
|
|
44
|
+
invariants, callers, and stable dependencies.
|
|
45
|
+
- **Operation/use-case map**: operation to orchestration to first stable
|
|
46
|
+
downstream/persistence/event boundary.
|
|
47
|
+
- **State and consistency contract**: only when transaction, idempotency,
|
|
48
|
+
caching, or durable state is important and evidenced.
|
|
49
|
+
- **Dependency map**: concrete ports/clients/repositories and why each boundary
|
|
50
|
+
matters; avoid a raw import inventory.
|
|
51
|
+
- **Runtime/configuration guide**: only module-owned configuration, startup,
|
|
52
|
+
diagnostics, or release behavior.
|
|
53
|
+
|
|
54
|
+
## Chapter blueprints
|
|
55
|
+
|
|
56
|
+
```markdown
|
|
57
|
+
# <Domain service> boundary
|
|
58
|
+
## Responsibility and non-responsibilities
|
|
59
|
+
## Supported operations and callers
|
|
60
|
+
## Domain rules and invariants
|
|
61
|
+
## Dependency and port boundaries
|
|
62
|
+
## State, transaction, and idempotency behavior
|
|
63
|
+
## Failure and recovery behavior
|
|
64
|
+
## Configuration and runtime wiring
|
|
65
|
+
## Evidence and excluded implementation detail
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
For a use-case family:
|
|
69
|
+
|
|
70
|
+
```markdown
|
|
71
|
+
## <Use-case family>
|
|
72
|
+
- Trigger or caller:
|
|
73
|
+
- Supported operation:
|
|
74
|
+
- Preconditions and invariants:
|
|
75
|
+
- Orchestration steps:
|
|
76
|
+
- Persistence/downstream/event boundary:
|
|
77
|
+
- Result and failure semantics:
|
|
78
|
+
- Source evidence:
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Granularity and relationships
|
|
82
|
+
|
|
83
|
+
Group operations that share responsibility, invariants, and dependency paths.
|
|
84
|
+
Split only when ownership or consistency semantics differ. Do not publish every
|
|
85
|
+
exported method: language visibility is not proof of a supported service API.
|
|
86
|
+
Every retained page must name supported operations, callers, ports, or state
|
|
87
|
+
identities and include source locators; a folder/class inventory is not a
|
|
88
|
+
service boundary.
|
|
89
|
+
|
|
90
|
+
Relationships should connect supported operations to real callers, ports,
|
|
91
|
+
repositories, or downstream operations. Do not infer a domain flow from
|
|
92
|
+
similar names or shared models.
|
|
93
|
+
|
|
94
|
+
## Template composition examples
|
|
95
|
+
|
|
96
|
+
- An RPC implementation reads `api-service.md` for its inbound registration and
|
|
97
|
+
this template for domain orchestration.
|
|
98
|
+
- A service backed by durable storage also selects `storage-repository` and reads
|
|
99
|
+
`persistence-boundary.md`.
|
|
100
|
+
- A service activated only by events also reads `background-runtime.md` and the
|
|
101
|
+
`event-flow.md` template.
|
|
102
|
+
|
|
103
|
+
## Revise or stop when
|
|
104
|
+
|
|
105
|
+
- no stable caller or public service boundary can be found;
|
|
106
|
+
- the proposed content is a class-by-class implementation listing;
|
|
107
|
+
- invariants or data semantics depend on unavailable documentation;
|
|
108
|
+
- generated models are being treated as the domain source of truth;
|
|
109
|
+
- an end-to-end chain crosses undeclared source modules.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.event-consumer
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Event consumer template
|
|
8
|
+
|
|
9
|
+
Use for `event-consumer`. This template supplements the owning runtime, service,
|
|
10
|
+
application, or adapter Artifact; an event signal does not by itself justify a
|
|
11
|
+
separate end-to-end Artifact.
|
|
12
|
+
|
|
13
|
+
## Evidence pass
|
|
14
|
+
|
|
15
|
+
Locate:
|
|
16
|
+
|
|
17
|
+
- topic, stream, queue, hook, notification, or event identity;
|
|
18
|
+
- authoritative schema and versioning source;
|
|
19
|
+
- producer call and publication condition;
|
|
20
|
+
- subscription/consumer registration and handler dispatch;
|
|
21
|
+
- delivery, ordering, partitioning, retry, dead-letter, checkpoint, and
|
|
22
|
+
idempotency configuration;
|
|
23
|
+
- emitted side effects, observability, replay, and recovery entrypoints.
|
|
24
|
+
|
|
25
|
+
Do not derive delivery guarantees from framework defaults.
|
|
26
|
+
|
|
27
|
+
## Questions the knowledge must answer
|
|
28
|
+
|
|
29
|
+
1. What event is emitted or consumed, under what condition, and by whom?
|
|
30
|
+
2. Where is publication or subscription registered?
|
|
31
|
+
3. What delivery and recovery behavior is actually configured?
|
|
32
|
+
4. What state or side effects change, and how can failed work be identified?
|
|
33
|
+
|
|
34
|
+
## Chapter blueprint
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
# <Event flow or family>
|
|
38
|
+
## Event identity and authoritative schema
|
|
39
|
+
## Producer and publication condition
|
|
40
|
+
## Delivery and routing semantics
|
|
41
|
+
## Consumer registration and processing
|
|
42
|
+
## Idempotency, retry, checkpoint, and failure destination
|
|
43
|
+
## Side effects and observability
|
|
44
|
+
## Source-backed producer-to-consumer relationship
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
When only one endpoint is registered, keep an event record inside that
|
|
48
|
+
module's runtime or service map and omit the unavailable endpoint. Create a
|
|
49
|
+
separate event-flow page only when both sides and their shared event identity
|
|
50
|
+
are evidenced, or when one side alone has enough delivery and recovery
|
|
51
|
+
semantics to be a stable operator-facing topic.
|
|
52
|
+
|
|
53
|
+
## Granularity and stop conditions
|
|
54
|
+
|
|
55
|
+
Group events with the same schema authority, delivery policy, ownership, and
|
|
56
|
+
handler family. Do not create pages per event field, generated payload type,
|
|
57
|
+
handler helper, or retry branch.
|
|
58
|
+
|
|
59
|
+
Every retained record must name the event identity, registration or call site,
|
|
60
|
+
and source locator. Revise or stop when delivery semantics would be guessed,
|
|
61
|
+
the shared identity is missing, or the output would contain empty producer or
|
|
62
|
+
consumer sections.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.gateway-facade
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Gateway and protocol facade template
|
|
8
|
+
|
|
9
|
+
Use for `gateway-facade` when the selected reader goal is the boundary exposed
|
|
10
|
+
or translated by one gateway. This template owns the canonical operation
|
|
11
|
+
record. Application, API, service, SDK, contract-source, and adapter templates
|
|
12
|
+
provide context but must not create a second registry for the same operations.
|
|
13
|
+
|
|
14
|
+
## Evidence pass
|
|
15
|
+
|
|
16
|
+
Locate:
|
|
17
|
+
|
|
18
|
+
- the authoritative IDL, OpenAPI document, schema, service definition, or
|
|
19
|
+
explicit registration;
|
|
20
|
+
- provider operation identity and dispatch when the provider is in scope;
|
|
21
|
+
- consumer client construction and concrete operation call site when the
|
|
22
|
+
consumer is in scope;
|
|
23
|
+
- request, response, message, identity, and context mapping boundaries;
|
|
24
|
+
- authentication, authorization, timeout, retry, compatibility, and error
|
|
25
|
+
translation that are explicitly configured;
|
|
26
|
+
- generated bindings, their generator/version, and their upstream authority.
|
|
27
|
+
|
|
28
|
+
Do not infer protocol semantics from matching type names, generated model
|
|
29
|
+
fields, imports, or transport-library dependencies.
|
|
30
|
+
|
|
31
|
+
## Questions the knowledge must answer
|
|
32
|
+
|
|
33
|
+
1. Which concrete operation or coherent operation family is provided or used?
|
|
34
|
+
2. Where is it registered or called, and where is its contract authoritative?
|
|
35
|
+
3. What request, response, identity, credential, and context mapping occurs?
|
|
36
|
+
4. What timeout, retry, compatibility, and failure behavior is source-backed?
|
|
37
|
+
5. Which generated artifacts are locators rather than independent authority?
|
|
38
|
+
|
|
39
|
+
## Canonical operation record
|
|
40
|
+
|
|
41
|
+
Use this record wherever another selected template asks for an operation,
|
|
42
|
+
route-to-client, or adapter mapping registry. Add type-specific detail around
|
|
43
|
+
it rather than copying the operation into another table.
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
## <Protocol operation or family>
|
|
47
|
+
- Provider identity and registration:
|
|
48
|
+
- Consumer call site:
|
|
49
|
+
- Authoritative contract:
|
|
50
|
+
- Request, identity, and context mapping:
|
|
51
|
+
- Response and error mapping:
|
|
52
|
+
- Timeout, retry, and compatibility:
|
|
53
|
+
- Source-backed relationship:
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Provider-only records omit the consumer line. Consumer-only records omit
|
|
57
|
+
provider dispatch and remain inside the owning module page unless the opposite
|
|
58
|
+
endpoint is also a registered source and an evidenced cross-module flow is a
|
|
59
|
+
separate reader goal.
|
|
60
|
+
|
|
61
|
+
## Generated and authoritative contracts
|
|
62
|
+
|
|
63
|
+
For generated contract material, also select `derived-generated-source` and
|
|
64
|
+
record the upstream schema, generator, version/pin, generated output boundary,
|
|
65
|
+
and runtime consumer. Generated code may locate operations and fields but does
|
|
66
|
+
not become semantic authority by itself.
|
|
67
|
+
|
|
68
|
+
When the upstream authority is unavailable, a separate provenance Artifact may
|
|
69
|
+
still record the generated boundary, generator markers, current consumers, and
|
|
70
|
+
known authority gap. Keep the question that would explain field semantics or
|
|
71
|
+
compatibility unresolved as a material gap; do not block an independently
|
|
72
|
+
supported provenance record.
|
|
73
|
+
|
|
74
|
+
For a `contract-source` module, preserve exact operation identities, namespaces,
|
|
75
|
+
versions, compatibility declarations, imports, and generator targets. Do not
|
|
76
|
+
invent runtime dispatch or consumer behavior that the contract does not define.
|
|
77
|
+
|
|
78
|
+
## Granularity and relationships
|
|
79
|
+
|
|
80
|
+
Aggregate operations by contract, ownership, and execution family. Split when
|
|
81
|
+
authority, mapping, security, versioning, or failure semantics materially
|
|
82
|
+
differ. Do not create pages for every generated request/response type or field.
|
|
83
|
+
|
|
84
|
+
Every page must contain concrete operation or schema identities and source
|
|
85
|
+
locators. A page that only says a module “uses an API” is not sufficient.
|
|
86
|
+
|
|
87
|
+
Revise or stop when operation identity is unavailable, authority is ambiguous,
|
|
88
|
+
security/error behavior would be guessed, or a claimed provider-consumer join
|
|
89
|
+
has no source-backed registration and call evidence.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.monorepo-container
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Monorepo and module-container template
|
|
8
|
+
|
|
9
|
+
Use for `monorepo-container`: a workspace whose stable knowledge is the
|
|
10
|
+
registration, ownership, dependency, build, or release topology of multiple
|
|
11
|
+
child modules. Do not treat the physical repository as one application merely
|
|
12
|
+
because it has one Git remote.
|
|
13
|
+
|
|
14
|
+
Use the exact profile and Artifact policy variant supplied by the workset.
|
|
15
|
+
|
|
16
|
+
## Evidence pass
|
|
17
|
+
|
|
18
|
+
Locate:
|
|
19
|
+
|
|
20
|
+
- workspace/package/service manifests and child-module discovery rules;
|
|
21
|
+
- build graph, task orchestration, cache, dependency, and affected-scope logic;
|
|
22
|
+
- ownership, tags, boundaries, layering, or dependency constraints;
|
|
23
|
+
- shared configuration and tooling inherited by child modules;
|
|
24
|
+
- release groups, independent packages, deployment units, and version policy;
|
|
25
|
+
- generated, mirrored, vendored, fixture, example, and legacy subtrees;
|
|
26
|
+
- cross-module registries or contracts that warrant separate chain units.
|
|
27
|
+
|
|
28
|
+
Use declared manifests as the primary inventory. Directory discovery is a
|
|
29
|
+
fallback and must not silently include generated output or dependency caches.
|
|
30
|
+
|
|
31
|
+
## Questions the knowledge must answer
|
|
32
|
+
|
|
33
|
+
1. How are child modules discovered and identified?
|
|
34
|
+
2. Which modules are applications, services, libraries, tools, or derived
|
|
35
|
+
sources, and who owns them?
|
|
36
|
+
3. What dependency and layering rules connect or constrain them?
|
|
37
|
+
4. How do build, test, cache, release, and deployment boundaries work?
|
|
38
|
+
5. Which configuration is inherited globally versus owned by a child module?
|
|
39
|
+
6. Which cross-module flows are important enough to index separately?
|
|
40
|
+
7. Which large or generated subtrees are intentionally excluded?
|
|
41
|
+
|
|
42
|
+
## Suggested knowledge units
|
|
43
|
+
|
|
44
|
+
- **Module registry**: child identity, path, type, owner, manifest, supported
|
|
45
|
+
entry, build/release unit, and lifecycle.
|
|
46
|
+
- **Dependency/topology map**: declared dependency directions, layering rules,
|
|
47
|
+
shared contracts, and source-backed edges.
|
|
48
|
+
- **Build and release map**: task graph, affected-scope behavior, cache,
|
|
49
|
+
artifacts, release groups, and deployment units.
|
|
50
|
+
- **Shared tooling/configuration**: only stable workspace-level behavior that
|
|
51
|
+
materially affects multiple children.
|
|
52
|
+
- **Cross-module chain unit**: independently owned, source-backed flow joining
|
|
53
|
+
several child modules; do not hide it inside the container summary.
|
|
54
|
+
|
|
55
|
+
Every user-visible child application, service, library, or CLI is classified as
|
|
56
|
+
its own index unit before deeper extraction.
|
|
57
|
+
|
|
58
|
+
Each independently visible child package must have one canonical inventory
|
|
59
|
+
identity and one primary partition owner. If source registration intentionally
|
|
60
|
+
remains at repository level, keep the container registry as an aggregate
|
|
61
|
+
logical unit and let Context build child worksets from canonical package facts;
|
|
62
|
+
do not use file filters to simulate package ownership.
|
|
63
|
+
|
|
64
|
+
## Chapter blueprints
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# <Workspace> module registry
|
|
68
|
+
## Workspace purpose and discovery rules
|
|
69
|
+
## Child module inventory
|
|
70
|
+
## Module types, ownership, and lifecycle
|
|
71
|
+
## Dependency and layering constraints
|
|
72
|
+
## Shared configuration and tooling
|
|
73
|
+
## Build, test, cache, and release topology
|
|
74
|
+
## Generated/mirrored boundaries and exclusions
|
|
75
|
+
## Cross-module knowledge entrypoints
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
One child-module record may use:
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
## <Module>
|
|
82
|
+
- Path and manifest:
|
|
83
|
+
- Primary/additional types and facets:
|
|
84
|
+
- Responsibility and owner:
|
|
85
|
+
- Stable entrypoints:
|
|
86
|
+
- Direct module dependencies:
|
|
87
|
+
- Build/release unit:
|
|
88
|
+
- Lifecycle/source of truth:
|
|
89
|
+
- Deeper index unit:
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Granularity and relationships
|
|
93
|
+
|
|
94
|
+
Do not perform a repository-wide symbol scan as the container extraction. The
|
|
95
|
+
container owns topology; child units own reader-facing application/service/API
|
|
96
|
+
knowledge. Aggregate the registry when hundreds of children share the same
|
|
97
|
+
shape, but preserve exact identities and locators.
|
|
98
|
+
|
|
99
|
+
A workspace manifest, package registry, build graph, or release manifest is a
|
|
100
|
+
valid stable `entries` locator even when the container has no executable
|
|
101
|
+
process. Every registry page must retain exact child identities and locators;
|
|
102
|
+
a directory listing is not a module map.
|
|
103
|
+
|
|
104
|
+
Use manifest/build-graph evidence for dependency edges. Imports can supplement
|
|
105
|
+
but should not override declared workspace ownership or package boundaries.
|
|
106
|
+
|
|
107
|
+
## Template composition examples
|
|
108
|
+
|
|
109
|
+
- A workspace containing a Web app, API gateway, CLI, and generated client
|
|
110
|
+
produces one registry plus separately classified child units.
|
|
111
|
+
- A workspace with independent release groups reads the
|
|
112
|
+
`development-and-delivery.md` composer contract; retain the release map at
|
|
113
|
+
the container level and package-specific compatibility in each `sdk-library`
|
|
114
|
+
unit.
|
|
115
|
+
- A cross-module request flow reads `cross-module-chain.md` and receives its
|
|
116
|
+
own output owner when it spans several child units.
|
|
117
|
+
|
|
118
|
+
## Revise or stop when
|
|
119
|
+
|
|
120
|
+
- module discovery relies only on a broad filesystem scan;
|
|
121
|
+
- the plan treats all repository files as one index unit;
|
|
122
|
+
- child ownership or source-of-truth boundaries are ambiguous;
|
|
123
|
+
- generated/cache/vendor directories dominate projected output;
|
|
124
|
+
- dependencies are inferred solely from names without manifest or graph proof.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.plugin-extension
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Plugin and extension boundary template
|
|
8
|
+
|
|
9
|
+
Use for `plugin-extension`. This file owns the complete plugin contract
|
|
10
|
+
blueprint. CLI, SDK, and adapter templates should point here and only add their
|
|
11
|
+
module-specific command, public API, or mapping context.
|
|
12
|
+
|
|
13
|
+
## Evidence pass
|
|
14
|
+
|
|
15
|
+
Locate:
|
|
16
|
+
|
|
17
|
+
- discovery mechanism, manifest, registry, or installation contract;
|
|
18
|
+
- activation, deactivation, update, and removal lifecycle;
|
|
19
|
+
- contribution points, commands, hooks, providers, and host services;
|
|
20
|
+
- configuration, identity, compatibility, permissions, and isolation;
|
|
21
|
+
- failure containment, fallback, diagnostics, and version negotiation;
|
|
22
|
+
- public extension API and maintained examples when consumers implement it.
|
|
23
|
+
|
|
24
|
+
## Questions the knowledge must answer
|
|
25
|
+
|
|
26
|
+
1. How does the host discover, install, and activate an extension?
|
|
27
|
+
2. What may the extension contribute or call?
|
|
28
|
+
3. Which configuration, identity, permission, and compatibility rules apply?
|
|
29
|
+
4. How are failures isolated, surfaced, and recovered?
|
|
30
|
+
|
|
31
|
+
## Chapter blueprint
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# <Plugin boundary>
|
|
35
|
+
## Host and extension responsibilities
|
|
36
|
+
## Discovery and installation
|
|
37
|
+
## Activation and removal lifecycle
|
|
38
|
+
## Contribution and capability contracts
|
|
39
|
+
## Configuration, permissions, and isolation
|
|
40
|
+
## Compatibility, failure, diagnostics, and recovery
|
|
41
|
+
## Source-backed host-to-extension relationships
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Granularity and stop conditions
|
|
45
|
+
|
|
46
|
+
Prefer one contract per host/extension model, with compact records for coherent
|
|
47
|
+
contribution families. Do not create separate copies under CLI, adapter, and
|
|
48
|
+
SDK pages. Every page must name concrete manifests, registries, hooks, or
|
|
49
|
+
capability identities and their source locators.
|
|
50
|
+
|
|
51
|
+
Revise or stop when discovery or activation is inferred, permissions and
|
|
52
|
+
isolation would be guessed, or examples describe an unsupported extension API.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.sdk-library
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SDK and shared library template
|
|
8
|
+
|
|
9
|
+
Use for `sdk-library`: reusable code packages, component libraries, client
|
|
10
|
+
SDKs, public framework extensions, or shared runtimes consumed through a
|
|
11
|
+
deliberately supported interface. A package being imported elsewhere is not
|
|
12
|
+
enough; confirm its supported entry and consumer contract.
|
|
13
|
+
|
|
14
|
+
Use the exact sdk-library or component-library profile and Artifact policy
|
|
15
|
+
variant supplied by the workset.
|
|
16
|
+
|
|
17
|
+
## Evidence pass
|
|
18
|
+
|
|
19
|
+
Locate:
|
|
20
|
+
|
|
21
|
+
- package manifest, exports map, public barrels, binary/native entry, or
|
|
22
|
+
documented import paths;
|
|
23
|
+
- initialization, providers, factories, configuration, and required runtime;
|
|
24
|
+
- public capability families, components, hooks, types, commands, or clients;
|
|
25
|
+
- supported extension/plugin points and lifecycle;
|
|
26
|
+
- compatibility, platform, peer dependency, and version constraints;
|
|
27
|
+
- maintained examples, tests, API comments, and migration/release notes;
|
|
28
|
+
- external protocol schemas and generated declarations or clients;
|
|
29
|
+
- internal implementation, fixtures, demos, and re-export chains that should
|
|
30
|
+
not become independent reader pages.
|
|
31
|
+
|
|
32
|
+
Use public exports plus maintained documentation together. An exported symbol
|
|
33
|
+
can still be incidental; a documented stable import path can remain public even
|
|
34
|
+
when it re-exports another implementation.
|
|
35
|
+
|
|
36
|
+
## Questions the knowledge must answer
|
|
37
|
+
|
|
38
|
+
1. Who should use this package and what capabilities does it promise?
|
|
39
|
+
2. What are the supported import/initialization paths?
|
|
40
|
+
3. How are public APIs grouped into concepts a consumer can navigate?
|
|
41
|
+
4. What configuration, lifecycle, compatibility, and failure rules apply?
|
|
42
|
+
5. Which examples demonstrate supported use rather than test-only behavior?
|
|
43
|
+
6. Which declarations are generated, and where is their authority?
|
|
44
|
+
7. How is the package built, versioned, and released when that is in scope?
|
|
45
|
+
|
|
46
|
+
## Suggested knowledge units
|
|
47
|
+
|
|
48
|
+
- **Library/module map**: purpose, supported entrypoints, capability families,
|
|
49
|
+
runtime/peer requirements, extension points, and navigation.
|
|
50
|
+
- **Getting started or lifecycle**: installation assumptions, initialization,
|
|
51
|
+
configuration, teardown, and minimal supported examples evidenced by source.
|
|
52
|
+
- **Capability-family reference**: a coherent group of APIs/components with
|
|
53
|
+
usage, contracts, constraints, and related types.
|
|
54
|
+
- **Granular API/component reference**: one symbol or component per page only
|
|
55
|
+
when the package intentionally exposes a granular public contract and the
|
|
56
|
+
measured preview remains appropriate.
|
|
57
|
+
- **Compatibility and migration**: supported platforms/versions and evidenced
|
|
58
|
+
breaking or transitional behavior.
|
|
59
|
+
- **Build/release entry**: only module-owned packaging and release behavior.
|
|
60
|
+
|
|
61
|
+
## Chapter blueprints
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# <Library> module map
|
|
65
|
+
## Purpose and intended consumers
|
|
66
|
+
## Supported entrypoints and initialization
|
|
67
|
+
## Capability families
|
|
68
|
+
## Runtime, peer, and platform requirements
|
|
69
|
+
## Configuration and lifecycle
|
|
70
|
+
## Extension points and external protocols
|
|
71
|
+
## Compatibility, build, and release
|
|
72
|
+
## Examples, evidence, and exclusions
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
For a capability family:
|
|
76
|
+
|
|
77
|
+
```markdown
|
|
78
|
+
# <Capability family>
|
|
79
|
+
## When to use it
|
|
80
|
+
## Supported imports or components
|
|
81
|
+
## Initialization and configuration
|
|
82
|
+
## API/component contracts
|
|
83
|
+
## Lifecycle, errors, and constraints
|
|
84
|
+
## Minimal source-backed examples
|
|
85
|
+
## Related capabilities and authoritative references
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
For a granular reference page:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
# <Public API or component>
|
|
92
|
+
## Purpose
|
|
93
|
+
## Import and signature/props
|
|
94
|
+
## Required context and configuration
|
|
95
|
+
## Behavior, lifecycle, and errors
|
|
96
|
+
## Supported example
|
|
97
|
+
## Compatibility and source evidence
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Granularity and relationships
|
|
101
|
+
|
|
102
|
+
Prefer capability families over one page per export. A symbol page is justified
|
|
103
|
+
when consumers search for that exact public identity and its contract contains
|
|
104
|
+
meaningful behavior beyond a signature. Do not copy complete function bodies,
|
|
105
|
+
private members, generated declarations, fixtures, or every re-export.
|
|
106
|
+
|
|
107
|
+
When a granular public surface would create enumeration-heavy output, keep the
|
|
108
|
+
public identities navigable but aggregate them into capability-family
|
|
109
|
+
Artifacts. Do not split one source into overlapping owners or invent ordinal
|
|
110
|
+
batches to evade the CLI profile contract.
|
|
111
|
+
|
|
112
|
+
Relate public entries to capability families, configuration, examples, and
|
|
113
|
+
external protocols. Internal call graphs are secondary unless the knowledge
|
|
114
|
+
goal explicitly concerns extension or lifecycle behavior.
|
|
115
|
+
|
|
116
|
+
## Template composition examples
|
|
117
|
+
|
|
118
|
+
- A component library may use granular component pages plus family indexes,
|
|
119
|
+
while its demo site is a separate `web-application` unit.
|
|
120
|
+
- A generated client reads `derived-generated-source.md` and
|
|
121
|
+
`protocol-boundary.md`; document the supported client surface while naming
|
|
122
|
+
the upstream schema authority.
|
|
123
|
+
- A library with a plugin host also reads `adapter-integration.md` and
|
|
124
|
+
`plugin-extension.md`.
|
|
125
|
+
|
|
126
|
+
## Revise or stop when
|
|
127
|
+
|
|
128
|
+
- the public boundary cannot be distinguished from internal exports;
|
|
129
|
+
- examples are invented instead of derived from maintained usage or tests;
|
|
130
|
+
- generated declarations have no identifiable authority;
|
|
131
|
+
- every export or component is selected without a consumer-navigation reason;
|
|
132
|
+
- compatibility or lifecycle claims are unavailable but required by the goal.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: context.code-indexer.template.storage-repository
|
|
3
|
+
kind: procedure
|
|
4
|
+
media-type: text/markdown
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Storage repository template
|
|
8
|
+
|
|
9
|
+
Use for `storage-repository` when durable state, cache behavior, consistency, or
|
|
10
|
+
recovery is part of the confirmed reader goal. This template supplements the
|
|
11
|
+
service or runtime that owns the operations; it is not a request to catalog
|
|
12
|
+
every model or query.
|
|
13
|
+
|
|
14
|
+
## Evidence pass
|
|
15
|
+
|
|
16
|
+
Locate:
|
|
17
|
+
|
|
18
|
+
- repository/data-access interface and concrete callers;
|
|
19
|
+
- datastore, table, collection, keyspace, entity, or file identity when
|
|
20
|
+
source-backed;
|
|
21
|
+
- transaction, consistency, cache, lock, idempotency, and concurrency bounds;
|
|
22
|
+
- read/write/query families and domain mapping;
|
|
23
|
+
- schema/migration authority, versioning, and operational recovery;
|
|
24
|
+
- generated models, query helpers, fixtures, and migrations that should remain
|
|
25
|
+
supporting evidence.
|
|
26
|
+
|
|
27
|
+
## Questions the knowledge must answer
|
|
28
|
+
|
|
29
|
+
1. Which service or domain operation owns each read or write family?
|
|
30
|
+
2. What durable or cached state is addressed?
|
|
31
|
+
3. Where are transaction, consistency, locking, and idempotency boundaries?
|
|
32
|
+
4. Which schema or migration source is authoritative?
|
|
33
|
+
5. What failure, migration, or recovery behavior is maintained?
|
|
34
|
+
|
|
35
|
+
## Chapter blueprint
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# <Persistence boundary>
|
|
39
|
+
## Owned state and authoritative schema
|
|
40
|
+
## Repository or data-access entry
|
|
41
|
+
## Callers and operation families
|
|
42
|
+
## Transaction, consistency, cache, and locking behavior
|
|
43
|
+
## Failure, migration, and recovery boundaries
|
|
44
|
+
## Source evidence and excluded query helpers
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Granularity and stop conditions
|
|
48
|
+
|
|
49
|
+
Group operations by owned state and consistency policy. Split only when schema
|
|
50
|
+
authority, transaction ownership, datastore, or recovery semantics differ.
|
|
51
|
+
Every page must identify real state and caller boundaries with source locators;
|
|
52
|
+
a directory or class inventory is not a persistence model.
|
|
53
|
+
|
|
54
|
+
Revise or stop when the datastore identity or owning operation is unknown,
|
|
55
|
+
transaction/consistency behavior would be guessed, or generated bindings and
|
|
56
|
+
migrations would dominate reader-facing pages.
|