@c4a/context-cli 0.7.1 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -39
- package/README.zh-CN.md +13 -27
- package/cli.js +64945 -81995
- package/indexers/bundles/context-code-indexer/SKILL.md +30 -3
- package/indexers/bundles/context-code-indexer/context-indexer.yaml +3 -8
- package/indexers/bundles/context-code-indexer/references/indexer.md +110 -7
- package/indexers/bundles/context-code-indexer/references/metrics.md +143 -37
- package/indexers/bundles/context-code-indexer/templates/adapter-integration.md +2 -2
- package/indexers/bundles/context-code-indexer/templates/component-library.md +8 -0
- package/indexers/bundles/context-code-indexer/templates/gateway-facade.md +16 -0
- package/indexers/bundles/context-markdown-indexer/SKILL.md +13 -3
- package/indexers/bundles/context-markdown-indexer/context-indexer.yaml +20 -7
- package/indexers/bundles/context-markdown-indexer/references/indexer.md +33 -4
- package/indexers/bundles/context-markdown-indexer/references/semantic-planning.md +30 -14
- package/indexers/bundles/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
- package/indexers/bundles/context-markdown-indexer/tests/fixtures/routing.json +122 -0
- package/indexers/contracts/operator-contract.json +2 -2
- package/indexers/contracts/profile-contract.json +3819 -454
- package/indexers/release-manifest.json +22 -22
- package/package.json +12 -2
- package/plugins/VERSION +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/commands/context.md +56 -107
- package/plugins/codex/.codex-plugin/plugin.json +2 -2
- package/plugins/codex/skills/context/SKILL.md +56 -107
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor/commands/c4a-context.md +56 -107
- package/plugins/skills/context/SKILL.md +56 -107
- package/plugins/skills/context-code-indexer/SKILL.md +30 -3
- package/plugins/skills/context-code-indexer/context-indexer.yaml +3 -8
- package/plugins/skills/context-code-indexer/references/indexer.md +110 -7
- package/plugins/skills/context-code-indexer/references/metrics.md +143 -37
- package/plugins/skills/context-code-indexer/templates/adapter-integration.md +2 -2
- package/plugins/skills/context-code-indexer/templates/component-library.md +8 -0
- package/plugins/skills/context-code-indexer/templates/gateway-facade.md +16 -0
- package/plugins/skills/context-markdown-indexer/SKILL.md +13 -3
- package/plugins/skills/context-markdown-indexer/context-indexer.yaml +20 -7
- package/plugins/skills/context-markdown-indexer/references/indexer.md +33 -4
- package/plugins/skills/context-markdown-indexer/references/semantic-planning.md +30 -14
- package/plugins/skills/context-markdown-indexer/references/structure-and-artifacts.md +6 -0
- package/plugins/skills/context-markdown-indexer/tests/fixtures/anonymous.json +1 -1
- package/plugins/skills/context-markdown-indexer/tests/fixtures/profiles.json +13 -13
- package/plugins/skills/context-markdown-indexer/tests/fixtures/routing.json +122 -0
- package/providers/context/actions/advance-current-indexer-lifecycle.yaml +6 -0
- package/providers/context/actions/authorize-current-indexer-provider-program.yaml +6 -0
- package/providers/context/actions/configure-indexer-providers.yaml +1 -1
- package/providers/context/actions/finalize-current-indexer-provider-selection.yaml +5 -0
- package/providers/context/actions/materialize-indexer-workset-view.yaml +7 -0
- package/providers/context/actions/resolve-current-indexer-gate.yaml +6 -0
- package/providers/context/actions/resolve-current-indexer-provider.yaml +6 -0
- package/providers/context/actions/run-indexer-lifecycle.yaml +0 -1
- package/providers/context/actions/run-indexer-post-author-composer.yaml +2 -2
- package/providers/context/codes.yaml +8 -22
- package/providers/context/graphs/indexer.yaml +95 -564
- package/providers/context/graphs/workspace.yaml +5 -43
- package/providers/context/manifest.json +119 -678
- package/providers/context/provider.yaml +1 -1
- package/providers/context/resources/dialogue/human-gates.md +3 -3
- package/providers/context/resources/dialogue/knowledge-review.md +6 -3
- package/providers/context/resources/manuals/reference/package-templates.md +2 -3
- package/providers/context/resources/manuals/reference/project-api.md +52 -986
- package/providers/context/resources/procedures/close-and-build.md +8 -23
- package/providers/context/resources/procedures/knowledge-review.md +17 -5
- package/providers/context/resources/procedures/source-capture-detailed.md +6 -8
- package/providers/context/resources/views/authorized-indexer-workset-view.yaml +15 -0
- package/providers/context/resources/views/resolved-indexer-instructions.yaml +2 -4
- package/providers/context/schemas/indexer-agent-step-input.schema.json +71 -21
- package/providers/context/schemas/indexer-agent-step-result.schema.json +385 -32
- package/providers/context/schemas/indexer-authorized-workset-view.schema.json +65 -0
- package/providers/context/schemas/indexer-main-lifecycle-input.schema.json +13 -20
- package/providers/context/schemas/indexer-main-lifecycle-output.schema.json +17 -2
- package/providers/context/schemas/indexer-materialize-request.schema.json +4 -8
- package/providers/context/schemas/indexer-materialized-resource.schema.json +8 -1
- package/providers/context/schemas/indexer-overlay-question-proposal-input.schema.json +51 -2
- package/providers/context/schemas/indexer-workset-view-materialization-request.schema.json +35 -0
- package/providers/context/skills/authorize-current-indexer-provider-program/SKILL.md +20 -0
- package/providers/context/skills/configure-indexer-providers/SKILL.md +47 -33
- package/providers/context/skills/resolve-current-indexer-gate/SKILL.md +27 -0
- package/providers/context/skills/resolve-current-indexer-provider/SKILL.md +20 -0
- package/providers/context/skills/run-indexer-agent-step/SKILL.md +49 -10
- package/providers/context/skills/run-indexer-lifecycle/SKILL.md +19 -13
- package/providers/context/skills/run-indexer-post-author-composer/SKILL.md +52 -11
- package/docs/document-optimization.md +0 -82
- package/docs/document-optimization.zh-CN.md +0 -70
- package/indexers/capability-manifest.json +0 -35
- package/indexers/contracts/hard-rule-conformance.json +0 -2644
- package/providers/context/actions/accept-main-index-run.yaml +0 -7
- package/providers/context/actions/accept-material-answer-run.yaml +0 -7
- package/providers/context/actions/accept-post-author-composer-run.yaml +0 -7
- package/providers/context/actions/actualize-material-answer-bindings.yaml +0 -8
- package/providers/context/actions/audit-material-gap-state.yaml +0 -8
- package/providers/context/actions/audit-projected-artifact-fan-out.yaml +0 -8
- package/providers/context/actions/build-main-index-author-worksets.yaml +0 -7
- package/providers/context/actions/build-main-index-catalog-fallback.yaml +0 -7
- package/providers/context/actions/build-main-index-partition-worksets.yaml +0 -7
- package/providers/context/actions/build-material-question-workset.yaml +0 -7
- package/providers/context/actions/build-post-author-composer-worksets.yaml +0 -7
- package/providers/context/actions/build-question-target-inventory.yaml +0 -7
- package/providers/context/actions/build-subject-catalog.yaml +0 -7
- package/providers/context/actions/build-target-resolution-views.yaml +0 -7
- package/providers/context/actions/checkpoint-material-answer-review.yaml +0 -8
- package/providers/context/actions/checkpoint-material-gaps.yaml +0 -8
- package/providers/context/actions/close-indexer-approved-knowledge.yaml +0 -8
- package/providers/context/actions/compose-indexer-post-author-fragments.yaml +0 -7
- package/providers/context/actions/converge-main-index-partition-run.yaml +0 -7
- package/providers/context/actions/evaluate-material-gaps.yaml +0 -8
- package/providers/context/actions/fail-main-index-run.yaml +0 -7
- package/providers/context/actions/fail-material-answer-run.yaml +0 -7
- package/providers/context/actions/fail-post-author-composer-run.yaml +0 -7
- package/providers/context/actions/inspect-index-candidate-review-readiness.yaml +0 -8
- package/providers/context/actions/inspect-index-profile-failure.yaml +0 -7
- package/providers/context/actions/inspect-material-answer-review.yaml +0 -8
- package/providers/context/actions/observe-main-index-run-ledger.yaml +0 -7
- package/providers/context/actions/observe-material-answer-runs.yaml +0 -7
- package/providers/context/actions/observe-post-author-composer-worksets.yaml +0 -7
- package/providers/context/actions/override-index-profile-audit.yaml +0 -7
- package/providers/context/actions/prepare-main-index-run-ledger.yaml +0 -7
- package/providers/context/actions/prepare-material-answer-runs.yaml +0 -7
- package/providers/context/actions/reconcile-indexer-results.yaml +0 -7
- package/providers/context/actions/reconcile-review-identities.yaml +0 -5
- package/providers/context/actions/record-index-profile-revision.yaml +0 -7
- package/providers/context/actions/report-index-profile-failure.yaml +0 -7
- package/providers/context/actions/resolve-effective-composers.yaml +0 -7
- package/providers/context/actions/review-material-answer-candidate.yaml +0 -8
- package/providers/context/actions/revise-document.yaml +0 -5
- package/providers/context/actions/revise-index-output.yaml +0 -7
- package/providers/context/actions/run-material-answer-indexers.yaml +0 -7
- package/providers/context/actions/start-main-index-run.yaml +0 -7
- package/providers/context/actions/start-material-answer-run.yaml +0 -7
- package/providers/context/actions/start-post-author-composer-run.yaml +0 -7
- package/providers/context/resources/procedures/document-revision.md +0 -36
- package/providers/context/resources/views/document-optimization-current.yaml +0 -6
- package/providers/context/schemas/indexer-candidate-review-readiness-input.schema.json +0 -46
- package/providers/context/schemas/indexer-candidate-review-readiness-output.schema.json +0 -104
- package/providers/context/schemas/indexer-lifecycle-continuation.schema.json +0 -15
- package/providers/context/schemas/indexer-material-answer-lifecycle-input.schema.json +0 -90
- package/providers/context/schemas/indexer-material-answer-lifecycle-output.schema.json +0 -80
- package/providers/context/schemas/indexer-material-answer-review-inspection-input.schema.json +0 -32
- package/providers/context/schemas/indexer-material-answer-review-inspection-output.schema.json +0 -32
- package/providers/context/schemas/indexer-material-answer-review-resolution-input.schema.json +0 -19
- package/providers/context/schemas/indexer-material-answer-review-resolution-output.schema.json +0 -87
- package/providers/context/schemas/indexer-material-gap-lifecycle-input.schema.json +0 -86
- package/providers/context/schemas/indexer-material-gap-lifecycle-output.schema.json +0 -19
- package/providers/context/schemas/indexer-post-author-fragment-request.schema.json +0 -26
- package/providers/context/schemas/indexer-post-author-fragment-result.schema.json +0 -18
- package/providers/context/schemas/indexer-post-author-lifecycle-input.schema.json +0 -94
- package/providers/context/schemas/indexer-post-author-lifecycle-output.schema.json +0 -72
- package/providers/context/schemas/indexer-profile-failure-inspection-input.schema.json +0 -13
- package/providers/context/schemas/indexer-profile-failure-inspection-result.schema.json +0 -19
- package/providers/context/schemas/indexer-profile-failure-report-input.schema.json +0 -22
- package/providers/context/schemas/indexer-profile-failure-report-result.schema.json +0 -49
- package/providers/context/schemas/indexer-profile-override-decision.schema.json +0 -20
- package/providers/context/schemas/indexer-profile-override-result.schema.json +0 -49
- package/providers/context/schemas/indexer-profile-revision-agent-input.schema.json +0 -18
- package/providers/context/schemas/indexer-profile-revision-record-input.schema.json +0 -31
- package/providers/context/schemas/indexer-profile-revision-record-result.schema.json +0 -45
- package/providers/context/schemas/indexer-result-reconciliation-input.schema.json +0 -59
- package/providers/context/schemas/indexer-result-reconciliation-output.schema.json +0 -43
- package/providers/context/skills/revise-index-output/SKILL.md +0 -12
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
protocol: context.indexer.provider/v1
|
|
2
2
|
id: context-markdown-indexer
|
|
3
|
-
version: 1.
|
|
3
|
+
version: 1.1.1
|
|
4
4
|
domains: [markdown]
|
|
5
5
|
|
|
6
6
|
activation:
|
|
@@ -34,16 +34,28 @@ provides:
|
|
|
34
34
|
- test-validation
|
|
35
35
|
- release-migration-guide
|
|
36
36
|
- documentation-site
|
|
37
|
+
partition_strategies:
|
|
38
|
+
- id: reader-subject
|
|
39
|
+
profiles:
|
|
40
|
+
- domain-reference
|
|
41
|
+
- product-requirements
|
|
42
|
+
- technical-guide
|
|
43
|
+
- user-and-developer-guide
|
|
44
|
+
- public-api-reference
|
|
45
|
+
- runbook
|
|
46
|
+
- faq-support
|
|
47
|
+
- standard-policy
|
|
48
|
+
- decision-record
|
|
49
|
+
- incident-review
|
|
50
|
+
- test-validation
|
|
51
|
+
- release-migration-guide
|
|
52
|
+
- documentation-site
|
|
53
|
+
priority: 100
|
|
37
54
|
operations:
|
|
38
55
|
- id: main-index
|
|
39
|
-
consumes: context.indexer.main-workset/
|
|
56
|
+
consumes: context.indexer.main-workset/v2
|
|
40
57
|
produces: context.indexer.main-result/v1
|
|
41
58
|
accepts_layer_fragments: [fact-enrichment, template-variables]
|
|
42
|
-
- id: material-answer
|
|
43
|
-
consumes: context.indexer.material-question-workset/v1
|
|
44
|
-
produces: context.indexer.material-answer-result/v1
|
|
45
|
-
supported_evidence_kinds: [contract, configuration, documentation, runbook, decision-record, test-result, runtime-observation, tool-snapshot]
|
|
46
|
-
accepts_layer_fragments: [fact-enrichment]
|
|
47
59
|
source_roles: [authoritative-document, supporting-document, operational-document, decision-record]
|
|
48
60
|
logical_units:
|
|
49
61
|
- id: reader-subject
|
|
@@ -145,3 +157,4 @@ quality_guidance:
|
|
|
145
157
|
- reference-only-reader-targets
|
|
146
158
|
- unresolved-ordinal-partitions
|
|
147
159
|
- discretionary-artifacts-per-logical-unit
|
|
160
|
+
repair: references/indexer.md
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Markdown Indexer authoring contract
|
|
2
2
|
|
|
3
|
-
Classify and author at the source-backed Section level. A document profile describes reader intent; it is not an output directory. Mixed documents may contain Sections with different reader goals, but every Section must retain one stable subject, owner, source authority, and projection intent.
|
|
3
|
+
Classify and author at the source-backed Section level using only the current Authorized Workset View. A document profile describes reader intent; it is not an output directory. Mixed documents may contain Sections with different reader goals, but every Section must retain one stable subject, owner, source authority, and projection intent.
|
|
4
4
|
|
|
5
5
|
Use `classification.md` as the semantic source for `document_kind`, `reader_goal`, and current `artifact_kind` selection. Use `structure-and-artifacts.md` for mixed-document routing, Section-versus-Artifact promotion, density, duplicate/conflict handling, and target candidate resolution. The CLI-supplied profile contract remains the only authority for collection and path projection.
|
|
6
6
|
|
|
@@ -14,10 +14,39 @@ Use `editorial-policy.md` for scenario editorial signals, recommended outcomes,
|
|
|
14
14
|
|
|
15
15
|
Preserve exact commands, identifiers, links, attachments, tables, and code blocks when they are evidence-bearing. Separate deterministic catalogs from explanation. Do not publish unsupported claims, conversion annotations, placeholders, or unresolved requests as knowledge.
|
|
16
16
|
|
|
17
|
-
When
|
|
17
|
+
When a captured document already contains coherent reader-facing guidance, preserve and organize that supported content instead of replacing it with a heading inventory, directory summary, or a sentence that points the reader back to the source. Summarize only repetition or navigation scaffolding. A shorter Artifact is acceptable only when it still answers the selected reader questions and retains the source's useful contracts, examples, conditions, compatibility notes, and uncertainty.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
For each reader Artifact, start the first actual Section with exactly one
|
|
20
|
+
level-one heading that names the reader subject. Keep the heading concise and
|
|
21
|
+
source-backed. It is a display title for outline and final Candidate Review,
|
|
22
|
+
not a SubjectKey, ownership signal, or identity fallback. Later Sections in the
|
|
23
|
+
same Artifact must not add another level-one heading.
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
When current source material cannot answer a required canonical question, return the exact material-question disposition for the supplied target. A later run may consume newly captured Markdown as ordinary source and update the same knowledge candidate. Context owns layout, collection mapping, runtime material-gap state, quality thresholds, the single final content Review, and close.
|
|
26
|
+
|
|
27
|
+
Return only the current `main-index` `IndexerResult`/`ArtifactResult` contract. Context derives the source dependencies needed for stale detection and recovery from that result. Do not emit a separate answer body, answer-only result, future Artifact/Section landing, or post-layout actualization.
|
|
28
|
+
|
|
29
|
+
Return all knowledge through the current Indexer result; do not create an independent authoring pipeline.
|
|
30
|
+
|
|
31
|
+
## Quality guidance and production checks
|
|
32
|
+
|
|
33
|
+
Context blocks only conditions it can derive from current inputs: the complete
|
|
34
|
+
source inventory needs dispositions, the selected reader-question set needs a
|
|
35
|
+
complete plan, answered questions must satisfy their evidence contracts, and
|
|
36
|
+
references, layout and currentness must remain valid.
|
|
37
|
+
|
|
38
|
+
Profile metrics are writing guidance rather than a separate pass decision.
|
|
39
|
+
They point out duplicated facts, enumeration where explanation was expected,
|
|
40
|
+
repeated template scaffolding, oversized quoted bodies, traversal-ordered
|
|
41
|
+
Partitions, reference-only targets and unsupported optional Artifacts. Treat a
|
|
42
|
+
finding as a prompt to reread the Section. Do not adjust wording, headings,
|
|
43
|
+
sentence counts or Partitions merely to move a counter.
|
|
44
|
+
|
|
45
|
+
Natural-language statements are not mechanically checked sentence by sentence.
|
|
46
|
+
Use only behavior stated by the supplied material, record a material gap when
|
|
47
|
+
the source does not establish a needed conclusion, and rely on final Review to
|
|
48
|
+
reject unsupported interpretation. When shape guidance conflicts with source
|
|
49
|
+
coverage, preserve the source-backed content and improve its presentation
|
|
50
|
+
rather than deleting it.
|
|
22
51
|
|
|
23
52
|
Do not return output paths, collection names, arbitrary question text, new authority, or pass/fail claims.
|
|
@@ -1,15 +1,31 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
Use these rules while producing the
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
# Source, subject, and claim planning
|
|
2
|
+
|
|
3
|
+
Use these rules while producing the current `main-index` `ArtifactResult`.
|
|
4
|
+
Captured Markdown is ordinary source material: it may create or enrich the same
|
|
5
|
+
knowledge candidates as code-derived input. If required material is still
|
|
6
|
+
missing, return a material-gap disposition and let a later main-index run consume
|
|
7
|
+
the newly captured source. Do not create an answer-only result, landing, or
|
|
8
|
+
second review workflow. Context remains the authority for schemas, SubjectKey
|
|
9
|
+
normalization, identities, paths, collisions, stale state, layout changes,
|
|
10
|
+
Review, and publication.
|
|
11
|
+
|
|
12
|
+
## `reader-subject` partition strategy
|
|
13
|
+
|
|
14
|
+
For a partition workset, group captured document members by durable reader
|
|
15
|
+
subject rather than by file, heading, route, or temporary capture batch. Use
|
|
16
|
+
the complete authorized document text together with maintained title,
|
|
17
|
+
`source_path`, route, audience, and reader-task evidence. These fields are
|
|
18
|
+
evidence for the decision; none is sufficient by itself.
|
|
19
|
+
|
|
20
|
+
One group may contain multiple documents when they jointly explain the same
|
|
21
|
+
reader subject. Split platform or runtime variants only when their supported
|
|
22
|
+
contract, behavior, lifecycle, or reader task is materially different. Keep
|
|
23
|
+
navigation-only indexes, generated duplicates, empty placeholders, and
|
|
24
|
+
superseded pages out of authored groups with an explicit inventory
|
|
25
|
+
disposition. Every current inventory member must still receive exactly one
|
|
26
|
+
partition disposition. If durable subject boundaries cannot be established,
|
|
27
|
+
fail this semantic strategy so Context can use its existing catalog fallback;
|
|
28
|
+
do not silently return one group per file under `reader-subject`.
|
|
13
29
|
|
|
14
30
|
## Evidence and authority
|
|
15
31
|
|
|
@@ -18,8 +34,8 @@ making a source-wide decision. A file name, URL, title, heading, navigation
|
|
|
18
34
|
label, polished wording, profile id, or example is a navigation signal, not
|
|
19
35
|
proof of subject identity, authority, or reader intent.
|
|
20
36
|
|
|
21
|
-
Use only current source roles,
|
|
22
|
-
question targets supplied with the workset. Supporting or context-only material
|
|
37
|
+
Use only current source roles, authorized source views, target-resolution views,
|
|
38
|
+
and question targets supplied with the workset. Supporting or context-only material
|
|
23
39
|
may guide investigation but cannot become a cited Section or structured claim
|
|
24
40
|
unless the current authority makes it eligible. Preserve exact identifiers,
|
|
25
41
|
commands, links, numbers, conditions, code, and source-authored uncertainty.
|
|
@@ -32,6 +32,12 @@ or a long table. Do not create thin Artifacts to improve counts. If material has
|
|
|
32
32
|
an independent subject rather than merely a separate reader page, use the
|
|
33
33
|
workset's target-resolution choices; never invent a Node identity from a title.
|
|
34
34
|
|
|
35
|
+
Do not collapse a substantial captured document into a page that only lists its
|
|
36
|
+
headings or says the source should be consulted. Preserve supported procedures,
|
|
37
|
+
API tables, examples, constraints, compatibility notes, and decisions inside
|
|
38
|
+
the selected reader Artifact; remove only navigation chrome, conversion noise,
|
|
39
|
+
duplicates, and content with an explicit omission disposition.
|
|
40
|
+
|
|
35
41
|
Within one Artifact, every Section must use that Artifact's `artifact_kind`.
|
|
36
42
|
Start by grouping only Sections with the same exact
|
|
37
43
|
`document_kind + reader_goal + artifact_kind` intent. Different intents may be
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"logical_unit_ref": "node:anonymous-domain-reference",
|
|
10
10
|
"canonical_facts": { "target": { "eligible": true } },
|
|
11
11
|
"artifact_policy_variant": "standard",
|
|
12
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
12
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-domain-reference-source"] }],
|
|
13
13
|
"evidence_refs": ["evidence:anonymous-domain-reference-source"]
|
|
14
14
|
},
|
|
15
15
|
{
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"logical_unit_ref": "node:anonymous-product-requirements",
|
|
23
23
|
"canonical_facts": { "target": { "eligible": true } },
|
|
24
24
|
"artifact_policy_variant": "standard",
|
|
25
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
25
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-product-requirements-source"] }],
|
|
26
26
|
"evidence_refs": ["evidence:anonymous-product-requirements-source"]
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"logical_unit_ref": "node:anonymous-technical-guide",
|
|
36
36
|
"canonical_facts": { "target": { "eligible": true } },
|
|
37
37
|
"artifact_policy_variant": "standard",
|
|
38
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
38
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-structure"], "evidence_refs": ["evidence:anonymous-technical-guide-source"] }],
|
|
39
39
|
"evidence_refs": ["evidence:anonymous-technical-guide-source"]
|
|
40
40
|
},
|
|
41
41
|
{
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"logical_unit_ref": "node:anonymous-user-and-developer-guide",
|
|
49
49
|
"canonical_facts": { "target": { "eligible": true } },
|
|
50
50
|
"artifact_policy_variant": "standard",
|
|
51
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
51
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"] }],
|
|
52
52
|
"evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"]
|
|
53
53
|
},
|
|
54
54
|
{
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"logical_unit_ref": "node:anonymous-public-api-reference",
|
|
62
62
|
"canonical_facts": { "target": { "eligible": true } },
|
|
63
63
|
"artifact_policy_variant": "standard",
|
|
64
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
64
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-contract"], "evidence_refs": ["evidence:anonymous-public-api-reference-source"] }],
|
|
65
65
|
"evidence_refs": ["evidence:anonymous-public-api-reference-source"]
|
|
66
66
|
},
|
|
67
67
|
{
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"logical_unit_ref": "node:anonymous-runbook",
|
|
75
75
|
"canonical_facts": { "target": { "eligible": true } },
|
|
76
76
|
"artifact_policy_variant": "standard",
|
|
77
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
77
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-runbook-source"] }],
|
|
78
78
|
"evidence_refs": ["evidence:anonymous-runbook-source"]
|
|
79
79
|
},
|
|
80
80
|
{
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"logical_unit_ref": "node:anonymous-faq-support",
|
|
88
88
|
"canonical_facts": { "target": { "eligible": true } },
|
|
89
89
|
"artifact_policy_variant": "standard",
|
|
90
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
90
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-faq-support-source"] }],
|
|
91
91
|
"evidence_refs": ["evidence:anonymous-faq-support-source"]
|
|
92
92
|
},
|
|
93
93
|
{
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"logical_unit_ref": "node:anonymous-standard-policy",
|
|
101
101
|
"canonical_facts": { "target": { "eligible": true } },
|
|
102
102
|
"artifact_policy_variant": "standard",
|
|
103
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
103
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-contract"], "evidence_refs": ["evidence:anonymous-standard-policy-source"] }],
|
|
104
104
|
"evidence_refs": ["evidence:anonymous-standard-policy-source"]
|
|
105
105
|
},
|
|
106
106
|
{
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"logical_unit_ref": "node:anonymous-decision-record",
|
|
114
114
|
"canonical_facts": { "target": { "eligible": true } },
|
|
115
115
|
"artifact_policy_variant": "standard",
|
|
116
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
116
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-decision-record-source"] }],
|
|
117
117
|
"evidence_refs": ["evidence:anonymous-decision-record-source"]
|
|
118
118
|
},
|
|
119
119
|
{
|
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"logical_unit_ref": "node:anonymous-incident-review",
|
|
127
127
|
"canonical_facts": { "target": { "eligible": true } },
|
|
128
128
|
"artifact_policy_variant": "standard",
|
|
129
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
129
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-incident-review-source"] }],
|
|
130
130
|
"evidence_refs": ["evidence:anonymous-incident-review-source"]
|
|
131
131
|
},
|
|
132
132
|
{
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
"logical_unit_ref": "node:anonymous-test-validation",
|
|
140
140
|
"canonical_facts": { "target": { "eligible": true } },
|
|
141
141
|
"artifact_policy_variant": "standard",
|
|
142
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
142
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-test-validation-source"] }],
|
|
143
143
|
"evidence_refs": ["evidence:anonymous-test-validation-source"]
|
|
144
144
|
},
|
|
145
145
|
{
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
"logical_unit_ref": "node:anonymous-release-migration-guide",
|
|
153
153
|
"canonical_facts": { "target": { "eligible": true } },
|
|
154
154
|
"artifact_policy_variant": "standard",
|
|
155
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
155
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-operation"], "evidence_refs": ["evidence:anonymous-release-migration-guide-source"] }],
|
|
156
156
|
"evidence_refs": ["evidence:anonymous-release-migration-guide-source"]
|
|
157
157
|
},
|
|
158
158
|
{
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
"logical_unit_ref": "node:anonymous-documentation-site",
|
|
166
166
|
"canonical_facts": { "target": { "eligible": true } },
|
|
167
167
|
"artifact_policy_variant": "standard",
|
|
168
|
-
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:
|
|
168
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:reader-purpose"], "evidence_refs": ["evidence:anonymous-documentation-site-source"] }],
|
|
169
169
|
"evidence_refs": ["evidence:anonymous-documentation-site-source"]
|
|
170
170
|
}
|
|
171
171
|
]
|
|
@@ -146,6 +146,128 @@
|
|
|
146
146
|
]
|
|
147
147
|
}
|
|
148
148
|
]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"id": "anonymous-product-intent",
|
|
152
|
+
"profile": "product-requirements",
|
|
153
|
+
"source_role": "authoritative-document",
|
|
154
|
+
"density_mode": "meso",
|
|
155
|
+
"candidate_signal": "coherent-product-outcome",
|
|
156
|
+
"candidate_resolution": "dismiss-with-rationale",
|
|
157
|
+
"artifacts": [{
|
|
158
|
+
"artifact_id": "product-intent",
|
|
159
|
+
"artifact_kind": "content",
|
|
160
|
+
"boundary_decision": "retain-section-group",
|
|
161
|
+
"sections": [{ "section_key": "outcome", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "product-requirements", "reader_goal": "understand-product-intent", "artifact_kind": "content" }]
|
|
162
|
+
}]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "anonymous-public-api-contract",
|
|
166
|
+
"profile": "public-api-reference",
|
|
167
|
+
"source_role": "authoritative-document",
|
|
168
|
+
"density_mode": "meso",
|
|
169
|
+
"candidate_signal": "contract-and-policy-boundaries",
|
|
170
|
+
"candidate_resolution": "accept-correction",
|
|
171
|
+
"artifacts": [
|
|
172
|
+
{ "artifact_id": "api-reference", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "operations", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "public-api-reference", "reader_goal": "look-up-public-contract", "artifact_kind": "content" }] },
|
|
173
|
+
{ "artifact_id": "contract-policy", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "compatibility", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "public-contract-policy", "reader_goal": "follow-public-contract-policy", "artifact_kind": "content" }] }
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "anonymous-operational-runbook",
|
|
178
|
+
"profile": "runbook",
|
|
179
|
+
"source_role": "operational-document",
|
|
180
|
+
"density_mode": "micro",
|
|
181
|
+
"candidate_signal": "ordered-recovery-task",
|
|
182
|
+
"candidate_resolution": "keep-unresolved",
|
|
183
|
+
"artifacts": [{
|
|
184
|
+
"artifact_id": "recovery-procedure",
|
|
185
|
+
"artifact_kind": "content",
|
|
186
|
+
"boundary_decision": "retain-section-group",
|
|
187
|
+
"sections": [{ "section_key": "recover", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "runbook", "reader_goal": "operate-or-recover-system", "artifact_kind": "content" }]
|
|
188
|
+
}]
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"id": "anonymous-support-answers",
|
|
192
|
+
"profile": "faq-support",
|
|
193
|
+
"source_role": "supporting-document",
|
|
194
|
+
"density_mode": "micro",
|
|
195
|
+
"candidate_signal": "independent-reader-question",
|
|
196
|
+
"candidate_resolution": "accept-correction",
|
|
197
|
+
"artifacts": [{
|
|
198
|
+
"artifact_id": "support-answer",
|
|
199
|
+
"artifact_kind": "content",
|
|
200
|
+
"boundary_decision": "promote-reader-artifact",
|
|
201
|
+
"sections": [{ "section_key": "answer", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "faq-support", "reader_goal": "resolve-reader-question", "artifact_kind": "content" }]
|
|
202
|
+
}]
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"id": "anonymous-standard-policy",
|
|
206
|
+
"profile": "standard-policy",
|
|
207
|
+
"source_role": "authoritative-document",
|
|
208
|
+
"density_mode": "single-pass",
|
|
209
|
+
"candidate_signal": "single-normative-scope",
|
|
210
|
+
"candidate_resolution": "dismiss-with-rationale",
|
|
211
|
+
"artifacts": [{
|
|
212
|
+
"artifact_id": "policy",
|
|
213
|
+
"artifact_kind": "content",
|
|
214
|
+
"boundary_decision": "retain-section-group",
|
|
215
|
+
"sections": [{ "section_key": "requirements", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "standard-policy", "reader_goal": "follow-standard-or-policy", "artifact_kind": "content" }]
|
|
216
|
+
}]
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"id": "anonymous-architecture-decision",
|
|
220
|
+
"profile": "decision-record",
|
|
221
|
+
"source_role": "decision-record",
|
|
222
|
+
"density_mode": "single-pass",
|
|
223
|
+
"candidate_signal": "decision-with-tradeoffs",
|
|
224
|
+
"candidate_resolution": "dismiss-with-rationale",
|
|
225
|
+
"artifacts": [{
|
|
226
|
+
"artifact_id": "decision",
|
|
227
|
+
"artifact_kind": "content",
|
|
228
|
+
"boundary_decision": "retain-section-group",
|
|
229
|
+
"sections": [{ "section_key": "tradeoffs", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "decision-record", "reader_goal": "understand-decision-and-tradeoffs", "artifact_kind": "content" }]
|
|
230
|
+
}]
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": "anonymous-incident-learning",
|
|
234
|
+
"profile": "incident-review",
|
|
235
|
+
"source_role": "operational-document",
|
|
236
|
+
"density_mode": "macro",
|
|
237
|
+
"candidate_signal": "timeline-and-remediation",
|
|
238
|
+
"candidate_resolution": "accept-correction",
|
|
239
|
+
"artifacts": [{
|
|
240
|
+
"artifact_id": "incident-review",
|
|
241
|
+
"artifact_kind": "content",
|
|
242
|
+
"boundary_decision": "retain-section-group",
|
|
243
|
+
"sections": [{ "section_key": "learning", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "incident-review", "reader_goal": "learn-from-incident", "artifact_kind": "content" }]
|
|
244
|
+
}]
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"id": "anonymous-validation-record",
|
|
248
|
+
"profile": "test-validation",
|
|
249
|
+
"source_role": "supporting-document",
|
|
250
|
+
"density_mode": "meso",
|
|
251
|
+
"candidate_signal": "acceptance-result",
|
|
252
|
+
"candidate_resolution": "keep-unresolved",
|
|
253
|
+
"artifacts": [{
|
|
254
|
+
"artifact_id": "validation",
|
|
255
|
+
"artifact_kind": "content",
|
|
256
|
+
"boundary_decision": "retain-section-group",
|
|
257
|
+
"sections": [{ "section_key": "result", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "test-validation", "reader_goal": "verify-behavior-or-acceptance", "artifact_kind": "content" }]
|
|
258
|
+
}]
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"id": "anonymous-release-migration",
|
|
262
|
+
"profile": "release-migration-guide",
|
|
263
|
+
"source_role": "authoritative-document",
|
|
264
|
+
"density_mode": "macro",
|
|
265
|
+
"candidate_signal": "release-and-migration-tasks",
|
|
266
|
+
"candidate_resolution": "accept-correction",
|
|
267
|
+
"artifacts": [
|
|
268
|
+
{ "artifact_id": "release-change", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "change", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "release-guide", "reader_goal": "understand-release-change", "artifact_kind": "content" }] },
|
|
269
|
+
{ "artifact_id": "migration-task", "artifact_kind": "content", "boundary_decision": "promote-reader-artifact", "sections": [{ "section_key": "steps", "owner_indexer_id": "anonymous-markdown-indexer", "document_kind": "migration-guide", "reader_goal": "complete-migration", "artifact_kind": "content" }] }
|
|
270
|
+
]
|
|
149
271
|
}
|
|
150
272
|
]
|
|
151
273
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"protocol": "context.indexer.operator-contract/v1",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"selector_operators": [
|
|
5
5
|
"all-inventory",
|
|
6
6
|
"eligible-standard"
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"target.bundle_expanded_eligible",
|
|
32
32
|
"evidence.current"
|
|
33
33
|
],
|
|
34
|
-
"contract_digest": "sha256:
|
|
34
|
+
"contract_digest": "sha256:e765114a03acbdcac1969ff31b6d6c16c89cdc74b4c70184e18d987cac28dcd9"
|
|
35
35
|
}
|