@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,309 @@
|
|
|
1
|
+
{
|
|
2
|
+
"protocol": "context.indexer.markdown-editorial-fixture-set/v1",
|
|
3
|
+
"anonymized": true,
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "anonymous-unanswered-questions",
|
|
7
|
+
"profile": "faq-support",
|
|
8
|
+
"detection_scope": "section",
|
|
9
|
+
"source_markdown": "Should the interface expose a summary?\n\nHow should retries be verified?",
|
|
10
|
+
"expected_signal": {
|
|
11
|
+
"code": "unanswered-question-set",
|
|
12
|
+
"confidence": "review",
|
|
13
|
+
"recommended_action": "omit",
|
|
14
|
+
"omission_reason": "unanswered-question"
|
|
15
|
+
},
|
|
16
|
+
"selected_outcome": "omit",
|
|
17
|
+
"assessment": null
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "anonymous-answered-questions",
|
|
21
|
+
"profile": "faq-support",
|
|
22
|
+
"detection_scope": "section",
|
|
23
|
+
"source_markdown": "How is stable mode enabled?\nUse `stableMode`.\n\nHow is the result verified?\nRun `tool verify` and inspect the success state.",
|
|
24
|
+
"expected_signal": {
|
|
25
|
+
"code": "answered-question-set",
|
|
26
|
+
"confidence": "review",
|
|
27
|
+
"recommended_action": "reshape",
|
|
28
|
+
"omission_reason": null
|
|
29
|
+
},
|
|
30
|
+
"selected_outcome": "reshape",
|
|
31
|
+
"assessment": null
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "anonymous-empty-table-row",
|
|
35
|
+
"profile": "test-validation",
|
|
36
|
+
"detection_scope": "section",
|
|
37
|
+
"source_markdown": "| Check | Result |\n| --- | --- |\n| | |",
|
|
38
|
+
"expected_signal": {
|
|
39
|
+
"code": "empty-table-row",
|
|
40
|
+
"confidence": "high",
|
|
41
|
+
"recommended_action": "repair",
|
|
42
|
+
"omission_reason": null
|
|
43
|
+
},
|
|
44
|
+
"selected_outcome": "repair",
|
|
45
|
+
"assessment": null
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "anonymous-placeholder-only",
|
|
49
|
+
"profile": "standard-policy",
|
|
50
|
+
"detection_scope": "section",
|
|
51
|
+
"source_markdown": "TBD",
|
|
52
|
+
"expected_signal": {
|
|
53
|
+
"code": "placeholder-content",
|
|
54
|
+
"confidence": "high",
|
|
55
|
+
"recommended_action": "omit",
|
|
56
|
+
"omission_reason": "empty-or-placeholder"
|
|
57
|
+
},
|
|
58
|
+
"selected_outcome": "omit",
|
|
59
|
+
"assessment": null
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "anonymous-wide-complex-table",
|
|
63
|
+
"profile": "technical-guide",
|
|
64
|
+
"detection_scope": "section",
|
|
65
|
+
"source_markdown": "| Mode | Input | Output | Recovery | Reference |\n| --- | --- | --- | --- | --- |\n| stable | request | result | retry | [Guide](https://example.invalid/guide) |",
|
|
66
|
+
"expected_signal": {
|
|
67
|
+
"code": "wide-table",
|
|
68
|
+
"confidence": "high",
|
|
69
|
+
"recommended_action": "reshape",
|
|
70
|
+
"omission_reason": null
|
|
71
|
+
},
|
|
72
|
+
"selected_outcome": "reshape",
|
|
73
|
+
"assessment": null
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "anonymous-long-table-cell",
|
|
77
|
+
"profile": "technical-guide",
|
|
78
|
+
"detection_scope": "section",
|
|
79
|
+
"source_markdown": "| Item | Detail |\n| --- | --- |\n| stable | This cell contains a deliberately extended evidence-preserving explanation of the runtime boundary, its input contract, its output contract, its recovery condition, and the exact reader task. The explanation remains in one lookup cell even though it is long enough that a reader would benefit from a short index and a separate detail entry with the same facts and evidence. |",
|
|
80
|
+
"expected_signal": {
|
|
81
|
+
"code": "long-table-cell",
|
|
82
|
+
"confidence": "high",
|
|
83
|
+
"recommended_action": "reshape",
|
|
84
|
+
"omission_reason": null
|
|
85
|
+
},
|
|
86
|
+
"selected_outcome": "reshape",
|
|
87
|
+
"assessment": null
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "anonymous-raw-link",
|
|
91
|
+
"profile": "user-and-developer-guide",
|
|
92
|
+
"detection_scope": "section",
|
|
93
|
+
"source_markdown": "Read https://example.invalid/guide for the procedure.",
|
|
94
|
+
"expected_signal": {
|
|
95
|
+
"code": "raw-or-unlabeled-link",
|
|
96
|
+
"confidence": "high",
|
|
97
|
+
"recommended_action": "repair",
|
|
98
|
+
"omission_reason": null
|
|
99
|
+
},
|
|
100
|
+
"selected_outcome": "repair",
|
|
101
|
+
"assessment": null
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "anonymous-adjacent-links",
|
|
105
|
+
"profile": "user-and-developer-guide",
|
|
106
|
+
"detection_scope": "section",
|
|
107
|
+
"source_markdown": "[First guide](https://example.invalid/first)[Second guide](https://example.invalid/second)",
|
|
108
|
+
"expected_signal": {
|
|
109
|
+
"code": "adjacent-links",
|
|
110
|
+
"confidence": "high",
|
|
111
|
+
"recommended_action": "repair",
|
|
112
|
+
"omission_reason": null
|
|
113
|
+
},
|
|
114
|
+
"selected_outcome": "repair",
|
|
115
|
+
"assessment": null
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "anonymous-volatile-destination",
|
|
119
|
+
"profile": "public-api-reference",
|
|
120
|
+
"detection_scope": "section",
|
|
121
|
+
"source_markdown": "Open [the diagnostic view](https://example.invalid/view?expires=temporary-value).",
|
|
122
|
+
"expected_signal": {
|
|
123
|
+
"code": "volatile-query-url",
|
|
124
|
+
"confidence": "review",
|
|
125
|
+
"recommended_action": "request-input",
|
|
126
|
+
"omission_reason": "volatile-reference"
|
|
127
|
+
},
|
|
128
|
+
"selected_outcome": "request-input",
|
|
129
|
+
"assessment": null
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "anonymous-obsolete-only-block",
|
|
133
|
+
"profile": "incident-review",
|
|
134
|
+
"detection_scope": "section",
|
|
135
|
+
"source_markdown": "~~The retired mode is no longer available.~~",
|
|
136
|
+
"expected_signal": {
|
|
137
|
+
"code": "strikethrough-only-block",
|
|
138
|
+
"confidence": "review",
|
|
139
|
+
"recommended_action": "omit",
|
|
140
|
+
"omission_reason": "obsolete-without-replacement"
|
|
141
|
+
},
|
|
142
|
+
"selected_outcome": "omit",
|
|
143
|
+
"assessment": null
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": "anonymous-open-proposal",
|
|
147
|
+
"profile": "product-requirements",
|
|
148
|
+
"detection_scope": "section",
|
|
149
|
+
"source_markdown": "Maybe add a second feedback path?",
|
|
150
|
+
"expected_signal": {
|
|
151
|
+
"code": "brainstorm-without-decision",
|
|
152
|
+
"confidence": "review",
|
|
153
|
+
"recommended_action": "omit",
|
|
154
|
+
"omission_reason": "draft-without-decision"
|
|
155
|
+
},
|
|
156
|
+
"selected_outcome": "omit",
|
|
157
|
+
"assessment": null
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "anonymous-duplicate-representation",
|
|
161
|
+
"profile": "domain-reference",
|
|
162
|
+
"detection_scope": "cross-section",
|
|
163
|
+
"source_markdown": "The same definition appears in two source-backed Sections with equivalent authority and lifecycle.",
|
|
164
|
+
"expected_signal": {
|
|
165
|
+
"code": "duplicate-fragment",
|
|
166
|
+
"confidence": "high",
|
|
167
|
+
"recommended_action": "omit",
|
|
168
|
+
"omission_reason": "duplicate-content"
|
|
169
|
+
},
|
|
170
|
+
"selected_outcome": "omit",
|
|
171
|
+
"assessment": null
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "anonymous-unstable-owner",
|
|
175
|
+
"profile": "runbook",
|
|
176
|
+
"detection_scope": "section",
|
|
177
|
+
"source_markdown": "Owner: sample-person",
|
|
178
|
+
"expected_signal": {
|
|
179
|
+
"code": "unstable-owner-reference",
|
|
180
|
+
"confidence": "review",
|
|
181
|
+
"recommended_action": "request-input",
|
|
182
|
+
"omission_reason": null
|
|
183
|
+
},
|
|
184
|
+
"selected_outcome": "request-input",
|
|
185
|
+
"assessment": null
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": "anonymous-sensitive-value-boundary",
|
|
189
|
+
"profile": "public-api-reference",
|
|
190
|
+
"detection_scope": "safety-baseline",
|
|
191
|
+
"source_markdown": "A credential-shaped value is present in the authorized source view but is intentionally not reproduced in this fixture.",
|
|
192
|
+
"expected_signal": {
|
|
193
|
+
"code": "sensitive-value-candidate",
|
|
194
|
+
"confidence": "review",
|
|
195
|
+
"recommended_action": "request-input",
|
|
196
|
+
"omission_reason": "sensitive-value-candidate"
|
|
197
|
+
},
|
|
198
|
+
"selected_outcome": "request-input",
|
|
199
|
+
"assessment": null
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "anonymous-heading-hierarchy",
|
|
203
|
+
"profile": "documentation-site",
|
|
204
|
+
"detection_scope": "section",
|
|
205
|
+
"source_markdown": "## Runtime\n\n#### Recovery",
|
|
206
|
+
"expected_signal": {
|
|
207
|
+
"code": "heading-hierarchy-invalid",
|
|
208
|
+
"confidence": "high",
|
|
209
|
+
"recommended_action": "repair",
|
|
210
|
+
"omission_reason": null
|
|
211
|
+
},
|
|
212
|
+
"selected_outcome": "repair",
|
|
213
|
+
"assessment": null
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"id": "anonymous-overloaded-heading",
|
|
217
|
+
"profile": "documentation-site",
|
|
218
|
+
"detection_scope": "section",
|
|
219
|
+
"source_markdown": "## [Guide](https://example.invalid/guide) [Reference](https://example.invalid/reference)",
|
|
220
|
+
"expected_signal": {
|
|
221
|
+
"code": "heading-content-overloaded",
|
|
222
|
+
"confidence": "high",
|
|
223
|
+
"recommended_action": "repair",
|
|
224
|
+
"omission_reason": null
|
|
225
|
+
},
|
|
226
|
+
"selected_outcome": "repair",
|
|
227
|
+
"assessment": null
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": "anonymous-damaged-markdown",
|
|
231
|
+
"profile": "documentation-site",
|
|
232
|
+
"detection_scope": "section",
|
|
233
|
+
"source_markdown": "```text\nunclosed example",
|
|
234
|
+
"expected_signal": {
|
|
235
|
+
"code": "markdown-syntax-damaged",
|
|
236
|
+
"confidence": "high",
|
|
237
|
+
"recommended_action": "repair",
|
|
238
|
+
"omission_reason": null
|
|
239
|
+
},
|
|
240
|
+
"selected_outcome": "repair",
|
|
241
|
+
"assessment": null
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"id": "anonymous-conversion-residue",
|
|
245
|
+
"profile": "release-migration-guide",
|
|
246
|
+
"detection_scope": "section",
|
|
247
|
+
"source_markdown": "<!-- conversion:source-marker -->",
|
|
248
|
+
"expected_signal": {
|
|
249
|
+
"code": "conversion-artifact",
|
|
250
|
+
"confidence": "high",
|
|
251
|
+
"recommended_action": "omit",
|
|
252
|
+
"omission_reason": "conversion-artifact"
|
|
253
|
+
},
|
|
254
|
+
"selected_outcome": "omit",
|
|
255
|
+
"assessment": null
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"id": "anonymous-facts-and-draft",
|
|
259
|
+
"profile": "decision-record",
|
|
260
|
+
"detection_scope": "section",
|
|
261
|
+
"source_markdown": "The current mode uses stable processing.\n\nMaybe add another strategy later.",
|
|
262
|
+
"expected_signal": {
|
|
263
|
+
"code": "mixed-facts-and-draft",
|
|
264
|
+
"confidence": "review",
|
|
265
|
+
"recommended_action": "reshape",
|
|
266
|
+
"omission_reason": null
|
|
267
|
+
},
|
|
268
|
+
"selected_outcome": "reshape",
|
|
269
|
+
"assessment": null
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "anonymous-clean-reference",
|
|
273
|
+
"profile": "domain-reference",
|
|
274
|
+
"detection_scope": "section",
|
|
275
|
+
"source_markdown": "A stable term names the durable boundary described by this source.",
|
|
276
|
+
"expected_signal": null,
|
|
277
|
+
"selected_outcome": "keep",
|
|
278
|
+
"assessment": null
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "anonymous-stable-role-assessment",
|
|
282
|
+
"profile": "runbook",
|
|
283
|
+
"detection_scope": "section",
|
|
284
|
+
"source_markdown": "Owner: platform-operations",
|
|
285
|
+
"expected_signal": {
|
|
286
|
+
"code": "unstable-owner-reference",
|
|
287
|
+
"confidence": "review",
|
|
288
|
+
"recommended_action": "request-input",
|
|
289
|
+
"omission_reason": null
|
|
290
|
+
},
|
|
291
|
+
"selected_outcome": "keep",
|
|
292
|
+
"assessment": "unstable-owner-reference: false-positive because this Section defines platform-operations as a stable responsibility."
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"id": "anonymous-historical-source-fidelity",
|
|
296
|
+
"profile": "incident-review",
|
|
297
|
+
"detection_scope": "section",
|
|
298
|
+
"source_markdown": "~~Historical label retained from the source record.~~",
|
|
299
|
+
"expected_signal": {
|
|
300
|
+
"code": "strikethrough-only-block",
|
|
301
|
+
"confidence": "review",
|
|
302
|
+
"recommended_action": "omit",
|
|
303
|
+
"omission_reason": "obsolete-without-replacement"
|
|
304
|
+
},
|
|
305
|
+
"selected_outcome": "keep",
|
|
306
|
+
"assessment": "strikethrough-only-block: keeping the quoted historical label preserves source fidelity for this incident record."
|
|
307
|
+
}
|
|
308
|
+
]
|
|
309
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
{
|
|
2
|
+
"protocol": "context.indexer.markdown-migration-equivalence-fixture-set/v1",
|
|
3
|
+
"anonymized": true,
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "evidence-first",
|
|
7
|
+
"rule_id": "evidence-first",
|
|
8
|
+
"authority": "community-instructions",
|
|
9
|
+
"source_shape": "A captured page has an operations-looking path but its body is a product acceptance specification.",
|
|
10
|
+
"expected_decision": "classify-from-body-authority-and-reader-task",
|
|
11
|
+
"forbidden_decision": "classify-from-path",
|
|
12
|
+
"recovery": "Read the complete authorized evidence before returning a Section intent."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "complete-evidence-read",
|
|
16
|
+
"rule_id": "complete-evidence-read",
|
|
17
|
+
"authority": "community-instructions",
|
|
18
|
+
"source_shape": "A long page preview shows only headings while the required evidence view still has unread pages.",
|
|
19
|
+
"expected_decision": "continue-current-evidence-read",
|
|
20
|
+
"forbidden_decision": "decide-from-heading-preview",
|
|
21
|
+
"recovery": "Follow the current workset evidence continuation before authoring."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "mixed-section-intents",
|
|
25
|
+
"rule_id": "mixed-section-intents",
|
|
26
|
+
"authority": "community-instructions",
|
|
27
|
+
"source_shape": "One document contains product behavior, technical design, and a recovery procedure.",
|
|
28
|
+
"expected_decision": "classify-each-section",
|
|
29
|
+
"forbidden_decision": "force-one-document-classification",
|
|
30
|
+
"recovery": "Split along continuous reader-task boundaries and return registered intents."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "reuse-exact-subject",
|
|
34
|
+
"rule_id": "reuse-exact-subject",
|
|
35
|
+
"authority": "community-instructions",
|
|
36
|
+
"source_shape": "The target-resolution view contains an exact current subject with matching evidence.",
|
|
37
|
+
"expected_decision": "reuse-existing",
|
|
38
|
+
"forbidden_decision": "create-title-alias",
|
|
39
|
+
"recovery": "Use the supplied target identity and leave identity derivation to Context."
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "independent-subject",
|
|
43
|
+
"rule_id": "independent-subject",
|
|
44
|
+
"authority": "community-instructions",
|
|
45
|
+
"source_shape": "A separately named component has its own contract, lifecycle, and standalone reader questions.",
|
|
46
|
+
"expected_decision": "create-independent",
|
|
47
|
+
"forbidden_decision": "merge-into-unrelated-parent",
|
|
48
|
+
"recovery": "Bind the independent decision to current evidence and a permitted SubjectKey schema."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "local-heading-stays-section",
|
|
52
|
+
"rule_id": "local-heading-stays-section",
|
|
53
|
+
"authority": "community-instructions",
|
|
54
|
+
"source_shape": "A local heading contains one warning that only makes sense inside the parent guide.",
|
|
55
|
+
"expected_decision": "retain-section-group",
|
|
56
|
+
"forbidden_decision": "create-thin-subject",
|
|
57
|
+
"recovery": "Keep the warning as a source-backed Section under the owning Artifact."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "navigation-only",
|
|
61
|
+
"rule_id": "navigation-only",
|
|
62
|
+
"authority": "community-instructions",
|
|
63
|
+
"source_shape": "A page contains labels and unresolved links but no citable reader content.",
|
|
64
|
+
"expected_decision": "request-material",
|
|
65
|
+
"forbidden_decision": "publish-empty-artifact",
|
|
66
|
+
"recovery": "Return the registered missing-material or unsupported disposition."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "density-only-guides-reading",
|
|
70
|
+
"rule_id": "density-only-guides-reading",
|
|
71
|
+
"authority": "community-instructions",
|
|
72
|
+
"source_shape": "A fragmented note contains many short independent claims.",
|
|
73
|
+
"expected_decision": "use-micro-reading",
|
|
74
|
+
"forbidden_decision": "infer-quality-from-density",
|
|
75
|
+
"recovery": "Keep evidence windows narrow, then apply the normal semantic gates."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "duplicate-same-boundary",
|
|
79
|
+
"rule_id": "duplicate-same-boundary",
|
|
80
|
+
"authority": "community-instructions",
|
|
81
|
+
"source_shape": "Two paragraphs repeat the same claim for the same reader task and authority.",
|
|
82
|
+
"expected_decision": "collapse-duplicate",
|
|
83
|
+
"forbidden_decision": "publish-repeated-sections",
|
|
84
|
+
"recovery": "Retain one canonical statement with its evidence boundary."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "conflicting-evidence",
|
|
88
|
+
"rule_id": "conflicting-evidence",
|
|
89
|
+
"authority": "community-instructions",
|
|
90
|
+
"source_shape": "Two current sources disagree and the workset supplies no precedence.",
|
|
91
|
+
"expected_decision": "keep-unresolved",
|
|
92
|
+
"forbidden_decision": "choose-by-file-order",
|
|
93
|
+
"recovery": "Return a material question or supported diagnostic instead of guessing."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "source-backed-relation",
|
|
97
|
+
"rule_id": "source-backed-relation",
|
|
98
|
+
"authority": "community-instructions",
|
|
99
|
+
"source_shape": "A cited Section explicitly states that one authorized component consumes another component's output.",
|
|
100
|
+
"expected_decision": "emit-owned-cited-claim",
|
|
101
|
+
"forbidden_decision": "emit-endpoint-only-relation",
|
|
102
|
+
"recovery": "Keep the claim only under the Section carrying relation evidence."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "source-authored-uncertainty",
|
|
106
|
+
"rule_id": "source-authored-uncertainty",
|
|
107
|
+
"authority": "community-instructions",
|
|
108
|
+
"source_shape": "The source explicitly describes a possible cause, while the structured schema has no confidence field.",
|
|
109
|
+
"expected_decision": "preserve-uncertainty-in-prose",
|
|
110
|
+
"forbidden_decision": "invent-confidence-field",
|
|
111
|
+
"recovery": "Keep Agent uncertainty unresolved and preserve only source-authored uncertainty."
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "canonical-layout-identity",
|
|
115
|
+
"rule_id": "canonical-layout-identity",
|
|
116
|
+
"authority": "context-layout",
|
|
117
|
+
"source_shape": "An accepted Result carries a current SubjectKey and Section projection intents.",
|
|
118
|
+
"expected_decision": "derive-node-artifact-view-section-and-path",
|
|
119
|
+
"forbidden_decision": "accept-hand-authored-path",
|
|
120
|
+
"recovery": "Recompute the proposal from the current Result and contract."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "layout-collision",
|
|
124
|
+
"rule_id": "layout-collision",
|
|
125
|
+
"authority": "context-layout",
|
|
126
|
+
"source_shape": "Two proposals claim the same Node, Artifact, Section, or output path.",
|
|
127
|
+
"expected_decision": "reject-collision",
|
|
128
|
+
"forbidden_decision": "resolve-with-alias",
|
|
129
|
+
"recovery": "Return to current subject resolution instead of mutating a path."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": "destructive-layout-change",
|
|
133
|
+
"rule_id": "destructive-layout-change",
|
|
134
|
+
"authority": "context-layout",
|
|
135
|
+
"source_shape": "A current Artifact would be removed or moved after a new Result.",
|
|
136
|
+
"expected_decision": "require-confirm-layout-change",
|
|
137
|
+
"forbidden_decision": "apply-destructive-change-silently",
|
|
138
|
+
"recovery": "Bind one human confirmation to the exact base and target digests."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "eligible-omission",
|
|
142
|
+
"rule_id": "eligible-omission",
|
|
143
|
+
"authority": "community-instructions",
|
|
144
|
+
"source_shape": "A Section is only an unanswered placeholder and the analyzer supplies an eligible omission reason.",
|
|
145
|
+
"expected_decision": "omit-with-exact-reason",
|
|
146
|
+
"forbidden_decision": "publish-placeholder",
|
|
147
|
+
"recovery": "Use the exact eligible omission reason and preserve lifecycle audit in Context."
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "protected-knowledge-retention",
|
|
151
|
+
"rule_id": "protected-knowledge-retention",
|
|
152
|
+
"authority": "community-instructions",
|
|
153
|
+
"source_shape": "A question has an evidence-backed answer and a deprecation names its replacement.",
|
|
154
|
+
"expected_decision": "retain-knowledge",
|
|
155
|
+
"forbidden_decision": "omit-by-label",
|
|
156
|
+
"recovery": "Repair or reshape without removing the answer or replacement."
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "missing-input",
|
|
160
|
+
"rule_id": "missing-input",
|
|
161
|
+
"authority": "community-instructions",
|
|
162
|
+
"source_shape": "A Section contains an ambiguous owner or link purpose that current evidence cannot recover.",
|
|
163
|
+
"expected_decision": "request-input",
|
|
164
|
+
"forbidden_decision": "keep-to-avoid-pause",
|
|
165
|
+
"recovery": "Ask one concise batched question after completing independent safe work."
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"id": "stale-recovery",
|
|
169
|
+
"rule_id": "stale-recovery",
|
|
170
|
+
"authority": "context-layout",
|
|
171
|
+
"source_shape": "The workset, profile contract, or source digest changes before layout acceptance.",
|
|
172
|
+
"expected_decision": "reject-stale-and-recompute",
|
|
173
|
+
"forbidden_decision": "patch-digest-or-path",
|
|
174
|
+
"recovery": "Resume from the fresh Context route and recompute the bound Result and layout."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"id": "three-attempt-guidance",
|
|
178
|
+
"rule_id": "three-attempt-guidance",
|
|
179
|
+
"authority": "context-revision",
|
|
180
|
+
"source_shape": "The same current quality problem survives three accepted revision attempts while other Sections pass.",
|
|
181
|
+
"expected_decision": "request-aggregated-guidance",
|
|
182
|
+
"forbidden_decision": "restart-passing-sections",
|
|
183
|
+
"recovery": "Ask for content organization, source fidelity, or missing material once."
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
4
|
+
"id": "anonymous-domain-reference",
|
|
5
|
+
"anonymized": true,
|
|
6
|
+
"profile": "domain-reference",
|
|
7
|
+
"source_role": "authoritative-document",
|
|
8
|
+
"logical_unit_id": "reader-subject",
|
|
9
|
+
"logical_unit_ref": "node:anonymous-domain-reference",
|
|
10
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
11
|
+
"artifact_policy_variant": "standard",
|
|
12
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-domain-reference-source"] }],
|
|
13
|
+
"evidence_refs": ["evidence:anonymous-domain-reference-source"]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
17
|
+
"id": "anonymous-product-requirements",
|
|
18
|
+
"anonymized": true,
|
|
19
|
+
"profile": "product-requirements",
|
|
20
|
+
"source_role": "authoritative-document",
|
|
21
|
+
"logical_unit_id": "reader-subject",
|
|
22
|
+
"logical_unit_ref": "node:anonymous-product-requirements",
|
|
23
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
24
|
+
"artifact_policy_variant": "standard",
|
|
25
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-product-requirements-source"] }],
|
|
26
|
+
"evidence_refs": ["evidence:anonymous-product-requirements-source"]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
30
|
+
"id": "anonymous-technical-guide",
|
|
31
|
+
"anonymized": true,
|
|
32
|
+
"profile": "technical-guide",
|
|
33
|
+
"source_role": "authoritative-document",
|
|
34
|
+
"logical_unit_id": "reader-subject",
|
|
35
|
+
"logical_unit_ref": "node:anonymous-technical-guide",
|
|
36
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
37
|
+
"artifact_policy_variant": "standard",
|
|
38
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-technical-guide-source"] }],
|
|
39
|
+
"evidence_refs": ["evidence:anonymous-technical-guide-source"]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
43
|
+
"id": "anonymous-user-and-developer-guide",
|
|
44
|
+
"anonymized": true,
|
|
45
|
+
"profile": "user-and-developer-guide",
|
|
46
|
+
"source_role": "supporting-document",
|
|
47
|
+
"logical_unit_id": "reader-subject",
|
|
48
|
+
"logical_unit_ref": "node:anonymous-user-and-developer-guide",
|
|
49
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
50
|
+
"artifact_policy_variant": "standard",
|
|
51
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"] }],
|
|
52
|
+
"evidence_refs": ["evidence:anonymous-user-and-developer-guide-source"]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
56
|
+
"id": "anonymous-public-api-reference",
|
|
57
|
+
"anonymized": true,
|
|
58
|
+
"profile": "public-api-reference",
|
|
59
|
+
"source_role": "authoritative-document",
|
|
60
|
+
"logical_unit_id": "reader-subject",
|
|
61
|
+
"logical_unit_ref": "node:anonymous-public-api-reference",
|
|
62
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
63
|
+
"artifact_policy_variant": "standard",
|
|
64
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-public-api-reference-source"] }],
|
|
65
|
+
"evidence_refs": ["evidence:anonymous-public-api-reference-source"]
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
69
|
+
"id": "anonymous-runbook",
|
|
70
|
+
"anonymized": true,
|
|
71
|
+
"profile": "runbook",
|
|
72
|
+
"source_role": "operational-document",
|
|
73
|
+
"logical_unit_id": "reader-subject",
|
|
74
|
+
"logical_unit_ref": "node:anonymous-runbook",
|
|
75
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
76
|
+
"artifact_policy_variant": "standard",
|
|
77
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-runbook-source"] }],
|
|
78
|
+
"evidence_refs": ["evidence:anonymous-runbook-source"]
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
82
|
+
"id": "anonymous-faq-support",
|
|
83
|
+
"anonymized": true,
|
|
84
|
+
"profile": "faq-support",
|
|
85
|
+
"source_role": "supporting-document",
|
|
86
|
+
"logical_unit_id": "reader-subject",
|
|
87
|
+
"logical_unit_ref": "node:anonymous-faq-support",
|
|
88
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
89
|
+
"artifact_policy_variant": "standard",
|
|
90
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-faq-support-source"] }],
|
|
91
|
+
"evidence_refs": ["evidence:anonymous-faq-support-source"]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
95
|
+
"id": "anonymous-standard-policy",
|
|
96
|
+
"anonymized": true,
|
|
97
|
+
"profile": "standard-policy",
|
|
98
|
+
"source_role": "authoritative-document",
|
|
99
|
+
"logical_unit_id": "reader-subject",
|
|
100
|
+
"logical_unit_ref": "node:anonymous-standard-policy",
|
|
101
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
102
|
+
"artifact_policy_variant": "standard",
|
|
103
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-standard-policy-source"] }],
|
|
104
|
+
"evidence_refs": ["evidence:anonymous-standard-policy-source"]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
108
|
+
"id": "anonymous-decision-record",
|
|
109
|
+
"anonymized": true,
|
|
110
|
+
"profile": "decision-record",
|
|
111
|
+
"source_role": "decision-record",
|
|
112
|
+
"logical_unit_id": "reader-subject",
|
|
113
|
+
"logical_unit_ref": "node:anonymous-decision-record",
|
|
114
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
115
|
+
"artifact_policy_variant": "standard",
|
|
116
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-decision-record-source"] }],
|
|
117
|
+
"evidence_refs": ["evidence:anonymous-decision-record-source"]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
121
|
+
"id": "anonymous-incident-review",
|
|
122
|
+
"anonymized": true,
|
|
123
|
+
"profile": "incident-review",
|
|
124
|
+
"source_role": "operational-document",
|
|
125
|
+
"logical_unit_id": "reader-subject",
|
|
126
|
+
"logical_unit_ref": "node:anonymous-incident-review",
|
|
127
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
128
|
+
"artifact_policy_variant": "standard",
|
|
129
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-incident-review-source"] }],
|
|
130
|
+
"evidence_refs": ["evidence:anonymous-incident-review-source"]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
134
|
+
"id": "anonymous-test-validation",
|
|
135
|
+
"anonymized": true,
|
|
136
|
+
"profile": "test-validation",
|
|
137
|
+
"source_role": "authoritative-document",
|
|
138
|
+
"logical_unit_id": "reader-subject",
|
|
139
|
+
"logical_unit_ref": "node:anonymous-test-validation",
|
|
140
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
141
|
+
"artifact_policy_variant": "standard",
|
|
142
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-test-validation-source"] }],
|
|
143
|
+
"evidence_refs": ["evidence:anonymous-test-validation-source"]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
147
|
+
"id": "anonymous-release-migration-guide",
|
|
148
|
+
"anonymized": true,
|
|
149
|
+
"profile": "release-migration-guide",
|
|
150
|
+
"source_role": "operational-document",
|
|
151
|
+
"logical_unit_id": "reader-subject",
|
|
152
|
+
"logical_unit_ref": "node:anonymous-release-migration-guide",
|
|
153
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
154
|
+
"artifact_policy_variant": "standard",
|
|
155
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-release-migration-guide-source"] }],
|
|
156
|
+
"evidence_refs": ["evidence:anonymous-release-migration-guide-source"]
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"protocol": "context.indexer.authoring-fixture/v1",
|
|
160
|
+
"id": "anonymous-documentation-site",
|
|
161
|
+
"anonymized": true,
|
|
162
|
+
"profile": "documentation-site",
|
|
163
|
+
"source_role": "authoritative-document",
|
|
164
|
+
"logical_unit_id": "reader-subject",
|
|
165
|
+
"logical_unit_ref": "node:anonymous-documentation-site",
|
|
166
|
+
"canonical_facts": { "target": { "eligible": true } },
|
|
167
|
+
"artifact_policy_variant": "standard",
|
|
168
|
+
"artifacts": [{ "artifact_id": "content", "artifact_kind": "content", "purpose": "required", "reader_question_refs": ["question:source-authority"], "evidence_refs": ["evidence:anonymous-documentation-site-source"] }],
|
|
169
|
+
"evidence_refs": ["evidence:anonymous-documentation-site-source"]
|
|
170
|
+
}
|
|
171
|
+
]
|