project-tiny-context-harness 0.2.85 → 0.6.1
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 +164 -427
- package/assets/README.md +284 -455
- package/assets/README.zh-CN.md +200 -123
- package/assets/agents/AGENTS_CORE.md +54 -67
- package/assets/context_templates/context.toml +3 -0
- package/assets/context_templates/global.md +6 -6
- package/assets/github/harness.yml +2 -2
- package/assets/skills/context_development_engineer/SKILL.md +91 -107
- package/assets/skills/context_product_plan/SKILL.md +18 -28
- package/assets/skills/context_surface_contract/SKILL.md +35 -38
- package/assets/skills/context_uiux_design/SKILL.md +31 -30
- package/assets/skills/long-task-workflow/SKILL.md +76 -0
- package/assets/skills/long-task-workflow/agents/openai.yaml +4 -0
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +41 -0
- package/assets/skills/long-task-workflow/references/contract-authoring.md +63 -0
- package/assets/skills/long-task-workflow/references/evidence-design.md +45 -0
- package/assets/skills/normal-long-task/SKILL.md +12 -489
- package/assets/skills/source-plan-authoring/SKILL.md +467 -0
- package/assets/tools/validate_context.py +293 -127
- package/dist/cli.js +3 -1
- package/dist/commands/check-modularity.js +33 -10
- package/dist/commands/composite-campaign.d.ts +1 -0
- package/dist/commands/composite-campaign.js +8 -0
- package/dist/commands/composite-long-task.d.ts +1 -6
- package/dist/commands/composite-long-task.js +7 -163
- package/dist/commands/delivery-set.d.ts +1 -0
- package/dist/commands/delivery-set.js +8 -0
- package/dist/commands/disable.d.ts +1 -0
- package/dist/commands/disable.js +15 -0
- package/dist/commands/enable.d.ts +1 -0
- package/dist/commands/enable.js +14 -0
- package/dist/commands/export-context-args.js +13 -4
- package/dist/commands/export-context.js +18 -7
- package/dist/commands/index.js +42 -30
- package/dist/commands/init.js +12 -6
- package/dist/commands/long-task-authoring.d.ts +3 -0
- package/dist/commands/long-task-authoring.js +92 -0
- package/dist/commands/long-task-explain.d.ts +1 -0
- package/dist/commands/long-task-explain.js +52 -0
- package/dist/commands/long-task.d.ts +1 -0
- package/dist/commands/long-task.js +226 -0
- package/dist/commands/package-source.js +2 -2
- package/dist/commands/upgrade.js +10 -10
- package/dist/index.d.ts +11 -1
- package/dist/index.js +8 -0
- package/dist/lib/config.js +34 -8
- package/dist/lib/context-default-footprint.d.ts +16 -0
- package/dist/lib/context-default-footprint.js +107 -0
- package/dist/lib/context-export.js +105 -41
- package/dist/lib/context-graph-snapshot.d.ts +18 -0
- package/dist/lib/context-graph-snapshot.js +171 -0
- package/dist/lib/context-manifest-schema.d.ts +28 -0
- package/dist/lib/context-manifest-schema.js +150 -0
- package/dist/lib/context-manifest.js +28 -20
- package/dist/lib/context-templates.js +5 -5
- package/dist/lib/design-md.js +1 -1
- package/dist/lib/doctor.js +54 -1
- package/dist/lib/harness-root.js +25 -8
- package/dist/lib/init.js +6 -3
- package/dist/lib/legacy-managed-scan.js +23 -7
- package/dist/lib/legacy-sdlc-migration.js +21 -11
- package/dist/lib/long-task-acceptance-reference.d.ts +22 -0
- package/dist/lib/long-task-acceptance-reference.js +46 -0
- package/dist/lib/long-task-acceptance-shape.d.ts +5 -0
- package/dist/lib/long-task-acceptance-shape.js +131 -0
- package/dist/lib/long-task-activation-validation.d.ts +21 -0
- package/dist/lib/long-task-activation-validation.js +136 -0
- package/dist/lib/long-task-artifacts.d.ts +5 -0
- package/dist/lib/long-task-artifacts.js +34 -0
- package/dist/lib/long-task-assertions-v2.d.ts +22 -0
- package/dist/lib/long-task-assertions-v2.js +212 -0
- package/dist/lib/long-task-authoring-authority-preview.d.ts +5 -0
- package/dist/lib/long-task-authoring-authority-preview.js +85 -0
- package/dist/lib/long-task-authoring-preflight-diagnostics.d.ts +8 -0
- package/dist/lib/long-task-authoring-preflight-diagnostics.js +179 -0
- package/dist/lib/long-task-authoring-preflight-repair-order.d.ts +8 -0
- package/dist/lib/long-task-authoring-preflight-repair-order.js +95 -0
- package/dist/lib/long-task-authoring-preflight-types.d.ts +46 -0
- package/dist/lib/long-task-authoring-preflight-types.js +38 -0
- package/dist/lib/long-task-authoring-preflight.d.ts +3 -0
- package/dist/lib/long-task-authoring-preflight.js +44 -0
- package/dist/lib/long-task-authority-material-diff.d.ts +17 -0
- package/dist/lib/long-task-authority-material-diff.js +152 -0
- package/dist/lib/long-task-authority-materials.d.ts +7 -0
- package/dist/lib/long-task-authority-materials.js +83 -0
- package/dist/lib/long-task-authority-policy.d.ts +168 -0
- package/dist/lib/long-task-authority-policy.js +181 -0
- package/dist/lib/long-task-authority-revision-details.d.ts +19 -0
- package/dist/lib/long-task-authority-revision-details.js +192 -0
- package/dist/lib/long-task-authority-revision-enforcement.d.ts +3 -0
- package/dist/lib/long-task-authority-revision-enforcement.js +41 -0
- package/dist/lib/long-task-authority-revision-types.d.ts +50 -0
- package/dist/lib/long-task-authority-revision-types.js +1 -0
- package/dist/lib/long-task-authority-revision.d.ts +4 -0
- package/dist/lib/long-task-authority-revision.js +188 -0
- package/dist/lib/long-task-authority-transition-policy.d.ts +62 -0
- package/dist/lib/long-task-authority-transition-policy.js +62 -0
- package/dist/lib/long-task-authority-types.d.ts +96 -0
- package/dist/lib/long-task-authority-types.js +1 -0
- package/dist/lib/long-task-authority.d.ts +7 -0
- package/dist/lib/long-task-authority.js +142 -0
- package/dist/lib/long-task-boundary-check.d.ts +15 -0
- package/dist/lib/long-task-boundary-check.js +9 -0
- package/dist/lib/long-task-check-evidence-decoder.d.ts +3 -0
- package/dist/lib/long-task-check-evidence-decoder.js +74 -0
- package/dist/lib/long-task-check-execution-policy.d.ts +18 -0
- package/dist/lib/long-task-check-execution-policy.js +36 -0
- package/dist/lib/long-task-check-runner.d.ts +2 -0
- package/dist/lib/long-task-check-runner.js +181 -0
- package/dist/lib/long-task-check-shape.d.ts +2 -0
- package/dist/lib/long-task-check-shape.js +136 -0
- package/dist/lib/long-task-claim-definitions.d.ts +7 -0
- package/dist/lib/long-task-claim-definitions.js +78 -0
- package/dist/lib/long-task-claim-proof-policy.d.ts +4 -0
- package/dist/lib/long-task-claim-proof-policy.js +57 -0
- package/dist/lib/long-task-claims.d.ts +10 -0
- package/dist/lib/long-task-claims.js +187 -0
- package/dist/lib/long-task-context-authority-topology.d.ts +7 -0
- package/dist/lib/long-task-context-authority-topology.js +37 -0
- package/dist/lib/long-task-context-authority.d.ts +14 -0
- package/dist/lib/long-task-context-authority.js +66 -0
- package/dist/lib/long-task-contract-types.d.ts +203 -0
- package/dist/lib/long-task-contract-types.js +1 -0
- package/dist/lib/long-task-counterfactual-claim-policy.d.ts +10 -0
- package/dist/lib/long-task-counterfactual-claim-policy.js +57 -0
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +6 -0
- package/dist/lib/long-task-counterfactual-sandbox.js +87 -0
- package/dist/lib/long-task-counterfactual-types.d.ts +24 -0
- package/dist/lib/long-task-counterfactual-types.js +1 -0
- package/dist/lib/long-task-delivery-compiler.d.ts +10 -0
- package/dist/lib/long-task-delivery-compiler.js +129 -0
- package/dist/lib/long-task-delivery-parser.d.ts +13 -0
- package/dist/lib/long-task-delivery-parser.js +90 -0
- package/dist/lib/long-task-delivery-preflight.d.ts +5 -0
- package/dist/lib/long-task-delivery-preflight.js +151 -0
- package/dist/lib/long-task-delivery-shape.d.ts +5 -0
- package/dist/lib/long-task-delivery-shape.js +5 -0
- package/dist/lib/long-task-delivery-types.d.ts +8 -0
- package/dist/lib/long-task-delivery-types.js +8 -0
- package/dist/lib/long-task-delivery-validation.d.ts +3 -0
- package/dist/lib/long-task-delivery-validation.js +175 -0
- package/dist/lib/long-task-evidence-adapter-policy.d.ts +4 -0
- package/dist/lib/long-task-evidence-adapter-policy.js +15 -0
- package/dist/lib/long-task-evidence-adapter-types.d.ts +1 -0
- package/dist/lib/long-task-evidence-adapter-types.js +1 -0
- package/dist/lib/long-task-evidence-findings.d.ts +5 -0
- package/dist/lib/long-task-evidence-findings.js +113 -0
- package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +4 -0
- package/dist/lib/long-task-evidence-sensitivity-policy.js +98 -0
- package/dist/lib/long-task-evidence-v2.d.ts +5 -0
- package/dist/lib/long-task-evidence-v2.js +226 -0
- package/dist/lib/long-task-explain-acceptance-link.d.ts +46 -0
- package/dist/lib/long-task-explain-acceptance-link.js +96 -0
- package/dist/lib/long-task-explain-claim-links.d.ts +45 -0
- package/dist/lib/long-task-explain-claim-links.js +88 -0
- package/dist/lib/long-task-explain-source-links.d.ts +93 -0
- package/dist/lib/long-task-explain-source-links.js +51 -0
- package/dist/lib/long-task-final-v2.d.ts +2 -0
- package/dist/lib/long-task-final-v2.js +124 -0
- package/dist/lib/long-task-finding-context.d.ts +3 -0
- package/dist/lib/long-task-finding-context.js +63 -0
- package/dist/lib/long-task-freshness.d.ts +3 -0
- package/dist/lib/long-task-freshness.js +80 -0
- package/dist/lib/long-task-hook-install.d.ts +9 -0
- package/dist/lib/long-task-hook-install.js +184 -0
- package/dist/lib/long-task-hook-preflight.d.ts +7 -0
- package/dist/lib/long-task-hook-preflight.js +58 -0
- package/dist/lib/long-task-observation-ownership.d.ts +2 -0
- package/dist/lib/long-task-observation-ownership.js +22 -0
- package/dist/lib/long-task-outcome-parser.d.ts +4 -0
- package/dist/lib/long-task-outcome-parser.js +100 -0
- package/dist/lib/long-task-paths.d.ts +49 -0
- package/dist/lib/long-task-paths.js +418 -0
- package/dist/lib/long-task-playwright-counterfactual-policy.d.ts +7 -0
- package/dist/lib/long-task-playwright-counterfactual-policy.js +125 -0
- package/dist/lib/long-task-playwright-evidence.d.ts +6 -0
- package/dist/lib/long-task-playwright-evidence.js +244 -0
- package/dist/lib/long-task-product-shape.d.ts +6 -0
- package/dist/lib/long-task-product-shape.js +73 -0
- package/dist/lib/long-task-progress.d.ts +4 -0
- package/dist/lib/long-task-progress.js +114 -0
- package/dist/lib/long-task-protected-files.d.ts +1 -0
- package/dist/lib/long-task-protected-files.js +30 -0
- package/dist/lib/long-task-required-proof-surfaces.d.ts +2 -0
- package/dist/lib/long-task-required-proof-surfaces.js +13 -0
- package/dist/lib/long-task-requirement-shape.d.ts +2 -0
- package/dist/lib/long-task-requirement-shape.js +18 -0
- package/dist/lib/long-task-risk-surfaces.d.ts +2 -0
- package/dist/lib/long-task-risk-surfaces.js +60 -0
- package/dist/lib/long-task-risk-types.d.ts +5 -0
- package/dist/lib/long-task-risk-types.js +12 -0
- package/dist/lib/long-task-risk.d.ts +9 -0
- package/dist/lib/long-task-risk.js +132 -0
- package/dist/lib/long-task-root-shape.d.ts +4 -0
- package/dist/lib/long-task-root-shape.js +86 -0
- package/dist/lib/long-task-runner-environment.d.ts +7 -0
- package/dist/lib/long-task-runner-environment.js +57 -0
- package/dist/lib/long-task-runner-files.d.ts +3 -0
- package/dist/lib/long-task-runner-files.js +39 -0
- package/dist/lib/long-task-runner-freeze.d.ts +2 -0
- package/dist/lib/long-task-runner-freeze.js +168 -0
- package/dist/lib/long-task-runtime-types.d.ts +214 -0
- package/dist/lib/long-task-runtime-types.js +1 -0
- package/dist/lib/long-task-shape-primitives.d.ts +17 -0
- package/dist/lib/long-task-shape-primitives.js +81 -0
- package/dist/lib/long-task-source-authority-types.d.ts +13 -0
- package/dist/lib/long-task-source-authority-types.js +1 -0
- package/dist/lib/long-task-source-claim-validation.d.ts +5 -0
- package/dist/lib/long-task-source-claim-validation.js +96 -0
- package/dist/lib/long-task-source-continuity.d.ts +4 -0
- package/dist/lib/long-task-source-continuity.js +57 -0
- package/dist/lib/long-task-source-inventory.d.ts +2 -0
- package/dist/lib/long-task-source-inventory.js +21 -0
- package/dist/lib/long-task-source-item-parser.d.ts +3 -0
- package/dist/lib/long-task-source-item-parser.js +112 -0
- package/dist/lib/long-task-source-shape.d.ts +2 -0
- package/dist/lib/long-task-source-shape.js +56 -0
- package/dist/lib/long-task-source-target-continuity.d.ts +4 -0
- package/dist/lib/long-task-source-target-continuity.js +80 -0
- package/dist/lib/long-task-source-target-index.d.ts +12 -0
- package/dist/lib/long-task-source-target-index.js +76 -0
- package/dist/lib/long-task-source-validation.d.ts +3 -0
- package/dist/lib/long-task-source-validation.js +46 -0
- package/dist/lib/long-task-state.d.ts +91 -0
- package/dist/lib/long-task-state.js +611 -0
- package/dist/lib/long-task-status-projection.d.ts +21 -0
- package/dist/lib/long-task-status-projection.js +116 -0
- package/dist/lib/long-task-status-v2.d.ts +37 -0
- package/dist/lib/long-task-status-v2.js +306 -0
- package/dist/lib/long-task-technical-shape.d.ts +3 -0
- package/dist/lib/long-task-technical-shape.js +44 -0
- package/dist/lib/long-task-verifier-authority.d.ts +12 -0
- package/dist/lib/long-task-verifier-authority.js +47 -0
- package/dist/lib/long-task-verifier-identity.d.ts +2 -0
- package/dist/lib/long-task-verifier-identity.js +55 -0
- package/dist/lib/long-task-verifier-v2.d.ts +13 -0
- package/dist/lib/long-task-verifier-v2.js +266 -0
- package/dist/lib/long-task-workspace-runtime-types.d.ts +23 -0
- package/dist/lib/long-task-workspace-runtime-types.js +1 -0
- package/dist/lib/long-task-workspace.d.ts +25 -0
- package/dist/lib/long-task-workspace.js +366 -0
- package/dist/lib/managed-file.js +20 -5
- package/dist/lib/migrations.js +156 -32
- package/dist/lib/modularity.d.ts +27 -1
- package/dist/lib/modularity.js +499 -23
- package/dist/lib/package-json-config.js +14 -5
- package/dist/lib/package-source.js +4 -2
- package/dist/lib/profiles.d.ts +13 -0
- package/dist/lib/profiles.js +66 -0
- package/dist/lib/schema-guard.js +4 -2
- package/dist/lib/source-files.js +14 -7
- package/dist/lib/source-pack-classify.js +91 -19
- package/dist/lib/source-pack-config.js +25 -8
- package/dist/lib/source-pack-export.js +84 -25
- package/dist/lib/source-pack-manifest.js +18 -6
- package/dist/lib/source-pack-records.js +35 -11
- package/dist/lib/source-pack-render.js +47 -18
- package/dist/lib/stable-json.d.ts +2 -0
- package/dist/lib/stable-json.js +21 -0
- package/dist/lib/strict-codec.d.ts +4 -0
- package/dist/lib/strict-codec.js +65 -0
- package/dist/lib/sync-engine.js +76 -24
- package/dist/lib/types.d.ts +8 -1
- package/dist/lib/upgrade.js +4 -3
- package/dist/lib/validators.js +218 -191
- package/dist/long-task-hook.d.ts +2 -0
- package/dist/long-task-hook.js +55 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +340 -0
- package/dist/schemas/long-task-delivery-v2/long-task-outcomes-v2.schema.json +18 -0
- package/migrations/README.md +8 -3
- package/package.json +17 -6
- package/source-mappings.yaml +0 -3
- package/assets/protected-harness-baseline.json +0 -20
- package/assets/skills/composite-long-task-workflow/SKILL.md +0 -245
- package/assets/skills/composite-long-task-workflow/assets/execution-binding.template.md +0 -62
- package/assets/skills/composite-long-task-workflow/assets/goal-objective.template.md +0 -17
- package/assets/skills/composite-long-task-workflow/references/composite-long-task-workflow-protocol.md +0 -682
- package/dist/commands/superpowers.d.ts +0 -1
- package/dist/commands/superpowers.js +0 -8
- package/dist/lib/composite-long-task-renderer.d.ts +0 -12
- package/dist/lib/composite-long-task-renderer.js +0 -109
- package/dist/lib/plan-acceptance-artifacts.d.ts +0 -1
- package/dist/lib/plan-acceptance-artifacts.js +0 -220
- package/dist/lib/plan-acceptance-evidence.d.ts +0 -2
- package/dist/lib/plan-acceptance-evidence.js +0 -108
- package/dist/lib/plan-acceptance-json.d.ts +0 -15
- package/dist/lib/plan-acceptance-json.js +0 -133
- package/dist/lib/plan-acceptance-validator.d.ts +0 -2
- package/dist/lib/plan-acceptance-validator.js +0 -209
- package/dist/lib/plan-contract-validator.d.ts +0 -2
- package/dist/lib/plan-contract-validator.js +0 -127
- package/dist/lib/plan-validator-common.d.ts +0 -24
- package/dist/lib/plan-validator-common.js +0 -196
- package/dist/lib/superpowers-task-ac010.d.ts +0 -6
- package/dist/lib/superpowers-task-ac010.js +0 -26
- package/dist/lib/superpowers-task-assertion-normalizers.d.ts +0 -3
- package/dist/lib/superpowers-task-assertion-normalizers.js +0 -74
- package/dist/lib/superpowers-task-assertions.d.ts +0 -20
- package/dist/lib/superpowers-task-assertions.js +0 -257
- package/dist/lib/superpowers-task-attempt.d.ts +0 -4
- package/dist/lib/superpowers-task-attempt.js +0 -102
- package/dist/lib/superpowers-task-command-run-correlation.d.ts +0 -8
- package/dist/lib/superpowers-task-command-run-correlation.js +0 -103
- package/dist/lib/superpowers-task-command-specs.d.ts +0 -3
- package/dist/lib/superpowers-task-command-specs.js +0 -52
- package/dist/lib/superpowers-task-compile-diagnostics.d.ts +0 -5
- package/dist/lib/superpowers-task-compile-diagnostics.js +0 -20
- package/dist/lib/superpowers-task-compile-guards.d.ts +0 -2
- package/dist/lib/superpowers-task-compile-guards.js +0 -66
- package/dist/lib/superpowers-task-compile.d.ts +0 -6
- package/dist/lib/superpowers-task-compile.js +0 -133
- package/dist/lib/superpowers-task-completion-output.d.ts +0 -91
- package/dist/lib/superpowers-task-completion-output.js +0 -374
- package/dist/lib/superpowers-task-conformance.d.ts +0 -2
- package/dist/lib/superpowers-task-conformance.js +0 -24
- package/dist/lib/superpowers-task-contradictions.d.ts +0 -6
- package/dist/lib/superpowers-task-contradictions.js +0 -126
- package/dist/lib/superpowers-task-current-evidence.d.ts +0 -3
- package/dist/lib/superpowers-task-current-evidence.js +0 -176
- package/dist/lib/superpowers-task-delivery.d.ts +0 -4
- package/dist/lib/superpowers-task-delivery.js +0 -96
- package/dist/lib/superpowers-task-derive.d.ts +0 -14
- package/dist/lib/superpowers-task-derive.js +0 -393
- package/dist/lib/superpowers-task-events.d.ts +0 -1
- package/dist/lib/superpowers-task-events.js +0 -13
- package/dist/lib/superpowers-task-evidence-kernel.d.ts +0 -19
- package/dist/lib/superpowers-task-evidence-kernel.js +0 -347
- package/dist/lib/superpowers-task-evidence-records.d.ts +0 -2
- package/dist/lib/superpowers-task-evidence-records.js +0 -55
- package/dist/lib/superpowers-task-evidence.d.ts +0 -10
- package/dist/lib/superpowers-task-evidence.js +0 -147
- package/dist/lib/superpowers-task-fields.d.ts +0 -22
- package/dist/lib/superpowers-task-fields.js +0 -276
- package/dist/lib/superpowers-task-final-card.d.ts +0 -3
- package/dist/lib/superpowers-task-final-card.js +0 -35
- package/dist/lib/superpowers-task-gates.d.ts +0 -12
- package/dist/lib/superpowers-task-gates.js +0 -267
- package/dist/lib/superpowers-task-harness-drift.d.ts +0 -11
- package/dist/lib/superpowers-task-harness-drift.js +0 -90
- package/dist/lib/superpowers-task-next-slices.d.ts +0 -1
- package/dist/lib/superpowers-task-next-slices.js +0 -12
- package/dist/lib/superpowers-task-protected-baseline.d.ts +0 -10
- package/dist/lib/superpowers-task-protected-baseline.js +0 -66
- package/dist/lib/superpowers-task-source-compile.d.ts +0 -5
- package/dist/lib/superpowers-task-source-compile.js +0 -226
- package/dist/lib/superpowers-task-source-parser.d.ts +0 -23
- package/dist/lib/superpowers-task-source-parser.js +0 -218
- package/dist/lib/superpowers-task-state-schema.d.ts +0 -460
- package/dist/lib/superpowers-task-state-schema.js +0 -66
- package/dist/lib/superpowers-task-state-shape.d.ts +0 -3
- package/dist/lib/superpowers-task-state-shape.js +0 -50
- package/dist/lib/superpowers-task-state.d.ts +0 -16
- package/dist/lib/superpowers-task-state.js +0 -246
- package/dist/lib/superpowers-task-status.d.ts +0 -2
- package/dist/lib/superpowers-task-status.js +0 -24
- package/dist/lib/superpowers-task-under-specified.d.ts +0 -7
- package/dist/lib/superpowers-task-under-specified.js +0 -61
- package/dist/lib/superpowers-task-unregistered-evidence.d.ts +0 -11
- package/dist/lib/superpowers-task-unregistered-evidence.js +0 -72
- package/dist/lib/superpowers-task-validator.d.ts +0 -5
- package/dist/lib/superpowers-task-validator.js +0 -293
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: source-plan-authoring
|
|
3
|
+
description: Use only when the user explicitly asks for 初版方案、源方案、方案源稿、Source Plan, initial delivery plan, source draft, or asks to synthesize, refine or audit later implementation or Contract-authoring Source from one draft or mixed inputs such as notes, product/technical documents, screenshots, diagrams or other attachments. Produce one self-contained Markdown Source Plan with complete input coverage, traceable direct/derived/delegated content, control-level UI detail when applicable, stable semantic keys, acceptance scenarios, non-goals, risks and unresolved decisions. Do not trigger for ordinary product discussion, routine coding, implementation work, Delivery Contract authoring or long-task execution.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Source Plan Authoring
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Produce one high-fidelity, self-contained Markdown Source Plan from either a nearly finished plan or a sparse brief plus mixed supplied artifacts. Preserve the user's real intent, expand it to the detail needed by later `long-task-workflow` Contract authoring and make every added inference or delegated choice traceable.
|
|
11
|
+
|
|
12
|
+
Record every product, technical and acceptance meaning that later work must not omit, change or silently add. For an in-scope user interface, reach page, region, control, state and feedback granularity. Prefer semantic completeness over template completeness.
|
|
13
|
+
|
|
14
|
+
## Boundaries
|
|
15
|
+
|
|
16
|
+
- Produce or revise one Markdown Source Plan. If it does not fit in one response, continue the same document instead of inventing extra Outcomes or plans.
|
|
17
|
+
- Preserve the original meaning and every material qualifier from the user's discussion, research and every supplied artifact.
|
|
18
|
+
- Do not require the user to pre-normalize inputs or restate content already available in an attachment.
|
|
19
|
+
- Do not update `project_context/**` or treat the Source Plan as durable project Context.
|
|
20
|
+
- Do not independently turn current repository implementation into product intent. If supplied repository or Context evidence is relevant, cite it and distinguish durable constraints from incidental code shape.
|
|
21
|
+
- Do not bind owners, files, runners, verification inputs, proof surfaces or Assertion observations for a real repository. Later Contract authoring owns those bindings.
|
|
22
|
+
- Do not generate Delivery Contract YAML, execute implementation, run Long-Task commands or declare work complete.
|
|
23
|
+
- Do not make this recommended structure a mandatory input protocol for later work.
|
|
24
|
+
|
|
25
|
+
## Relationship To Other Skills
|
|
26
|
+
|
|
27
|
+
- Keep `source-plan-authoring` focused on high-fidelity Source expression and traceability.
|
|
28
|
+
- This Skill authors Source, not a Contract Draft.
|
|
29
|
+
- It does not replace Contract Draft authoring inside `long-task-workflow`.
|
|
30
|
+
- Its recommended structure is optional input guidance.
|
|
31
|
+
- Use `context_product_plan` separately when a Tiny Context project needs product decisions classified and written as durable facts in `project_context/**`. This Skill does not replace or invoke that responsibility.
|
|
32
|
+
- Use `long-task-workflow` later to read ordinary Source or a Source Plan with real Context/repository evidence, author one Delivery Contract, bind owners/paths/runners/proof, implement and run the Live Final Gate.
|
|
33
|
+
|
|
34
|
+
## Intake Modes And Source Coverage
|
|
35
|
+
|
|
36
|
+
Infer the working mode without asking the user to choose it:
|
|
37
|
+
|
|
38
|
+
- **Refinement mode:** preserve and improve one substantially complete plan.
|
|
39
|
+
- **Synthesis mode:** turn a goal plus mixed notes, documents, images, diagrams, tables or examples into a new plan.
|
|
40
|
+
- **Hybrid mode:** use an existing plan as the backbone and fill its gaps from the remaining artifacts.
|
|
41
|
+
|
|
42
|
+
A short request is sufficient when it identifies the artifact roles, states the product or delivery goal, explains whether references are exact targets or inspiration and asks for synthesis, refinement or elaboration. Do not require a questionnaire or a pre-existing outline. Ask only when a supplied artifact cannot be accessed or when a blocking choice falls outside the delegated expansion boundary.
|
|
43
|
+
|
|
44
|
+
Before authoring:
|
|
45
|
+
|
|
46
|
+
1. Assign every supplied artifact a stable input ID and inspect it with format-appropriate capabilities. Cover all pages, frames, screens, tables, diagrams, annotations and visible states that can carry material meaning; never silently sample a multi-part artifact.
|
|
47
|
+
2. Classify each input as user instruction, authoritative product requirement, authoritative technical constraint, existing plan, repository/Context evidence, reference or inspiration. User-stated precedence wins; otherwise report material conflicts as `DEC` instead of merging them silently.
|
|
48
|
+
3. For screenshots or visual references, inventory visible surfaces, regions, controls, content hierarchy, navigation cues and represented states. Treat them as inspiration rather than an exact reproduction target unless the user says otherwise; do not import unrelated branding, sample data or product scope.
|
|
49
|
+
4. Record an Input Inventory in the Source Plan with each input ID, role, authority, material content incorporated and any unreadable or intentionally unused portion. The inventory is traceability, not a new semantic type or authority.
|
|
50
|
+
5. Make the resulting plan self-contained: incorporate every material requirement or constraint into a keyed item. Keep an external artifact reference only when the artifact itself remains necessary for exact visual, legal or other non-textual comparison.
|
|
51
|
+
|
|
52
|
+
## Authoring Workflow
|
|
53
|
+
|
|
54
|
+
1. Build the complete Input Inventory and extract every material statement, including constraints, exceptions, examples that change meaning and already-decided controls or recovery behavior.
|
|
55
|
+
2. Preserve direct requirements before reorganizing them. Never compress several distinct requirements into a broad capability statement that loses qualifiers.
|
|
56
|
+
3. Classify every material addition as `direct`, `derived`, `delegated`, evidence-backed repository/Context information, or `decision_required`.
|
|
57
|
+
4. Resolve the end-to-end user journey and applicable surfaces before enumerating their regions, controls, states and feedback.
|
|
58
|
+
5. Define Outcomes only where observable results can be independently judged and later mapped to Requirements and acceptance.
|
|
59
|
+
6. Assign stable semantic keys and explicit anchors to important items.
|
|
60
|
+
7. Write product requirements, applicable flows/states, controls, technical obligations, implementation hints and observable acceptance without hiding new semantics between types.
|
|
61
|
+
8. Trace every input to incorporated items or an explicit unused/unreadable disposition.
|
|
62
|
+
9. Run the completeness check, revise the same document and end with a compact readiness summary.
|
|
63
|
+
|
|
64
|
+
## Expansion Boundary
|
|
65
|
+
|
|
66
|
+
### Direct requirements
|
|
67
|
+
|
|
68
|
+
Preserve directly stated intent and qualifiers. Do not reduce a scoped or conditional requirement to a generic feature label. Retain a source reference, quoted source key or clear provenance when the inputs provide one.
|
|
69
|
+
|
|
70
|
+
### Necessary derivations
|
|
71
|
+
|
|
72
|
+
Derive only what is unavoidable to make an explicit requirement complete, executable or falsifiable.
|
|
73
|
+
|
|
74
|
+
For every derived item:
|
|
75
|
+
|
|
76
|
+
- mark it `derived`;
|
|
77
|
+
- identify the original Requirement or source statement under `Derived From`;
|
|
78
|
+
- state why the derivation is necessary;
|
|
79
|
+
- confirm that it does not change user capability, business rules or product scope.
|
|
80
|
+
|
|
81
|
+
Do not disguise one possible product choice as a necessary derivation.
|
|
82
|
+
|
|
83
|
+
### Delegated elaboration
|
|
84
|
+
|
|
85
|
+
When the user explicitly asks the Skill to synthesize, refine, complete, flesh out or use its judgment, treat that as bounded authorization to make coherent, low-impact and reversible product choices needed by the stated goal. Do not stop for minor choices that a competent product author can resolve from the supplied evidence and familiar interaction conventions.
|
|
86
|
+
|
|
87
|
+
Typical delegated choices include information hierarchy, screen grouping, navigation between already requested capabilities, control placement and labels, input validation implied by the data, non-destructive loading/empty/error/retry feedback, and representative content needed to make acceptance falsifiable.
|
|
88
|
+
|
|
89
|
+
For every delegated item or tightly coupled group:
|
|
90
|
+
|
|
91
|
+
- mark it `delegated`;
|
|
92
|
+
- state `Delegated By`, citing the user's authoring instruction;
|
|
93
|
+
- state `Basis`, citing the relevant input IDs, constraints or convention;
|
|
94
|
+
- state why the choice is coherent and what product meaning it adds;
|
|
95
|
+
- keep it within the stated goal and do not contradict a higher-authority input.
|
|
96
|
+
|
|
97
|
+
Delegation does not authorize unsupported permissions or roles, destructive or irreversible behavior, pricing/quota/budget rules, legal or security policy, persistent-data retention, external automation, business thresholds, platform support scope or sample-versus-full-population scope. These remain `DEC` unless directly decided by an authoritative input.
|
|
98
|
+
|
|
99
|
+
### Repository or Context evidence
|
|
100
|
+
|
|
101
|
+
When supplied project evidence establishes an existing module boundary, state model, interface constraint, component system or verification entry, record the evidence and its source. Do not promote incidental current implementation into a product requirement.
|
|
102
|
+
|
|
103
|
+
Leave real owner/path/binding/runner selection to later repository-aware Contract authoring.
|
|
104
|
+
|
|
105
|
+
### New product semantics
|
|
106
|
+
|
|
107
|
+
Use a `DEC` item with status `decision_required` whenever more than one materially different choice remains and neither direct evidence nor the delegated elaboration boundary authorizes a choice.
|
|
108
|
+
|
|
109
|
+
Never choose without a direct or recorded delegated basis:
|
|
110
|
+
|
|
111
|
+
- a new user capability or changed business rule;
|
|
112
|
+
- a default, threshold, range or metric;
|
|
113
|
+
- a permission or role;
|
|
114
|
+
- deletion, overwrite or irreversible behavior;
|
|
115
|
+
- an automation policy;
|
|
116
|
+
- platform support scope;
|
|
117
|
+
- data persistence or retention behavior;
|
|
118
|
+
- a product recovery path after failure;
|
|
119
|
+
- sample versus full-population coverage;
|
|
120
|
+
- a pricing, quota, budget or risk rule.
|
|
121
|
+
|
|
122
|
+
## Outcome Rules
|
|
123
|
+
|
|
124
|
+
Create one or more Outcomes according to whether each observable result can be independently judged and later bound to its own Requirements and acceptance.
|
|
125
|
+
|
|
126
|
+
Do not split an Outcome because of:
|
|
127
|
+
|
|
128
|
+
- response or document length;
|
|
129
|
+
- frontend/backend or other implementation layers;
|
|
130
|
+
- file or module count;
|
|
131
|
+
- desired parallelism;
|
|
132
|
+
- Agent capacity;
|
|
133
|
+
- a wish to distribute execution.
|
|
134
|
+
|
|
135
|
+
Do not merge independently decidable results merely to make the document shorter.
|
|
136
|
+
|
|
137
|
+
## Stable Keys And Anchors
|
|
138
|
+
|
|
139
|
+
Use stable semantic lowercase-kebab keys and explicit Markdown `id` anchors for important items.
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
<a id="<outcome-key>.requirement.<requirement-key>"></a>
|
|
143
|
+
|
|
144
|
+
- **REQ `<requirement-key>`**
|
|
145
|
+
...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Use the same pattern for controls, obligations, acceptance, decisions and other typed items. Describe meaning rather than implementation location.
|
|
149
|
+
|
|
150
|
+
Key rules:
|
|
151
|
+
|
|
152
|
+
- preserve a key when wording changes but meaning does not;
|
|
153
|
+
- never renumber keys because ordering changes;
|
|
154
|
+
- never reuse a deleted key for a different meaning;
|
|
155
|
+
- when merging or splitting an item, record which new keys replace the old key;
|
|
156
|
+
- avoid pure sequence keys such as `req-17`;
|
|
157
|
+
- avoid implementation keys such as `map-hook-change` or `src-button`.
|
|
158
|
+
|
|
159
|
+
## Semantic Types
|
|
160
|
+
|
|
161
|
+
Use only the types that apply.
|
|
162
|
+
|
|
163
|
+
| Type | Meaning | Later use |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| `OUT` | Independently decidable observable result | Outcome |
|
|
166
|
+
| `REQ` | Required product or system behavior | Requirement |
|
|
167
|
+
| `CTRL` | Decided control task, placement or state | Control |
|
|
168
|
+
| `OBL` | Mandatory technical obligation | Technical obligation |
|
|
169
|
+
| `NCOMP` | Explicit result that must not be treated as completion | Non-completing Claim |
|
|
170
|
+
| `AC` | Falsifiable observable acceptance scenario | Acceptance Assertion |
|
|
171
|
+
| `NG` | Explicit non-goal | Non-goal |
|
|
172
|
+
| `FS` | Forbidden shortcut or disallowed result | Forbidden shortcut |
|
|
173
|
+
| `RISK` | Fact that changes design, verification or recovery | Risk fact |
|
|
174
|
+
| `EXT` | Result requiring external confirmation | External confirmation |
|
|
175
|
+
| `DEC` | Product decision that cannot be reliably inferred | Decision required |
|
|
176
|
+
| `HINT` | Non-binding implementation suggestion | Advisory only |
|
|
177
|
+
|
|
178
|
+
Keep `OBL` and `HINT` distinct: an `OBL` must be satisfied; a `HINT` may be replaced by another valid implementation.
|
|
179
|
+
|
|
180
|
+
## Product Surfaces, Controls And States
|
|
181
|
+
|
|
182
|
+
Do not force a non-interface Source Plan to invent controls. For an in-scope interactive product, however, enumerate every user-visible surface and every material interactive control at control level; a broad feature or screen name is not enough.
|
|
183
|
+
|
|
184
|
+
For each surface, state its purpose, entry and exit, persistent navigation, major regions, overlays or transient layers, and the Control keys it contains. Treat buttons, links, fields, selectors, tabs, toggles, menus, list or card actions, map or canvas gestures and other actionable elements as controls. Treat material status, validation, permission and recovery feedback as Control fields or independently keyed Requirements rather than decorative prose.
|
|
185
|
+
|
|
186
|
+
Include a `CTRL` when:
|
|
187
|
+
|
|
188
|
+
- the user already discussed or decided it;
|
|
189
|
+
- its location, task or state changes product meaning;
|
|
190
|
+
- leaving it open would permit materially different product designs.
|
|
191
|
+
|
|
192
|
+
For each included control, state every independently decided field separately: `Surface`, `Region`, `Control type`, `Label/content`, `Location`, `User task`, `Visibility`, `Availability`, `Trigger`, `Input`, `Validation`, `Default`, `Interaction`, `Navigation/result`, `Loading`, `Empty`, `Success`, `Failure`, `Recovery`, `Permission`, `Feedback` and `Accessibility`. Use `not applicable` when a field was considered and genuinely does not apply; do not hide an undecided product choice behind that phrase.
|
|
193
|
+
|
|
194
|
+
Give every decided Control field its own stable semantic meaning. Do not compress placement, behavior, state or feedback into one broad sentence when more than one field has been decided; later repository-aware authoring must be able to map each field independently. Do not claim exact visual styling, animation, copy or responsive behavior unless it is direct, evidence-backed or within recorded delegation.
|
|
195
|
+
|
|
196
|
+
## Acceptance Scenarios
|
|
197
|
+
|
|
198
|
+
Write `AC` items as observable behavior, not low-level test commands.
|
|
199
|
+
|
|
200
|
+
Each `AC` represents exactly one acceptance scenario and explicitly names the `REQ`, `CTRL`, `OBL` and/or `NCOMP` keys it accepts. It contains one `Given`, one `When` and one `Then`; each may be multiline, but together they describe only one independently decidable scenario. Never label one AC as proof for several materially different success, failure, boundary or recovery scenarios; author separate ACs instead.
|
|
201
|
+
|
|
202
|
+
For every important `REQ` and every material `CTRL` state, provide at least one of:
|
|
203
|
+
|
|
204
|
+
- a corresponding `AC`;
|
|
205
|
+
- an `EXT`;
|
|
206
|
+
- a `DEC`;
|
|
207
|
+
- an explicit non-goal disposition;
|
|
208
|
+
- a reason machine verification is not possible.
|
|
209
|
+
|
|
210
|
+
Cover the scenarios that actually exist: success, failure, boundary, recovery, permission, empty state, sample/full-population scope and forbidden results. Do not mechanically generate a fixed scenario set.
|
|
211
|
+
|
|
212
|
+
Never introduce a product requirement for the first time inside an `AC`. Move hidden behavior, defaults, retention periods or recovery policies into a source-backed `REQ` or unresolved `DEC`.
|
|
213
|
+
|
|
214
|
+
## Risk And Advisory Boundaries
|
|
215
|
+
|
|
216
|
+
Each `RISK` states `Fact`, `Affected Outcome`, `Basis` and `Consequence`. `Fact` uses one exact name from the complete Runtime Risk Fact set:
|
|
217
|
+
|
|
218
|
+
```text
|
|
219
|
+
public_api_or_schema_change
|
|
220
|
+
persistent_data_change
|
|
221
|
+
data_migration
|
|
222
|
+
security_boundary_change
|
|
223
|
+
permission_boundary_change
|
|
224
|
+
irreversible_external_effect
|
|
225
|
+
critical_user_path
|
|
226
|
+
full_population_operation
|
|
227
|
+
multi_repository_change
|
|
228
|
+
weak_observability
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Do not invent or accept aliases. A data migration uses `data_migration`, never `migration`. A critical path with weak observability produces two independent `RISK` items with distinct stable keys: one `critical_user_path` and one `weak_observability`, both naming the affected Outcome. Preserve `multi_repository_change` in Source even though the current Runtime rejects multi-repository delivery; the Compiler owns that unsupported-delivery decision. Each risk item names one affected Outcome; repeat the item with a distinct stable key when the same fact affects multiple Outcomes. If Fact or Affected Outcome cannot be determined from Source, create a `DEC` with `decision_required` instead of guessing. Generic risk prose without an affected Outcome is not actionable Source. `HINT` remains advisory and is never a Material Source Item: promote it to `OBL` if the implementation constraint is mandatory.
|
|
232
|
+
|
|
233
|
+
Use `NCOMP` for an explicit, source-authoritative statement that names an outcome or shortcut that must not count as completion. It is neither an ordinary Requirement nor a non-goal: later Contract authoring maps it to a non-completing Claim and must provide negative or Counterfactual proof.
|
|
234
|
+
|
|
235
|
+
This Skill emits ordinary Markdown only. Do not emit `ty-source-item` markers; repository-aware `/long-task-workflow` inserts those non-rendering markers later without rewriting the selected Source text.
|
|
236
|
+
|
|
237
|
+
## Default Markdown Structure
|
|
238
|
+
|
|
239
|
+
Write in the user's language unless requested otherwise.
|
|
240
|
+
|
|
241
|
+
```markdown
|
|
242
|
+
# <Plan title>
|
|
243
|
+
|
|
244
|
+
## 1. Goal And Success Definition
|
|
245
|
+
|
|
246
|
+
- Target users
|
|
247
|
+
- Problem
|
|
248
|
+
- Final observable results
|
|
249
|
+
- Success boundary
|
|
250
|
+
|
|
251
|
+
## 2. Background, Current State And Problem
|
|
252
|
+
|
|
253
|
+
- Current situation
|
|
254
|
+
- Existing problem
|
|
255
|
+
- Why this delivery is needed
|
|
256
|
+
- Known constraints
|
|
257
|
+
|
|
258
|
+
## 3. Input Inventory And Interpretation
|
|
259
|
+
|
|
260
|
+
- Input ID
|
|
261
|
+
- Role and authority
|
|
262
|
+
- Material content incorporated
|
|
263
|
+
- Unreadable or intentionally unused content
|
|
264
|
+
|
|
265
|
+
## 4. Delivery Scope
|
|
266
|
+
|
|
267
|
+
### In Scope
|
|
268
|
+
|
|
269
|
+
### Non-goals
|
|
270
|
+
|
|
271
|
+
### Forbidden Shortcuts
|
|
272
|
+
|
|
273
|
+
## 5. Product Surface Inventory
|
|
274
|
+
|
|
275
|
+
- Surface purpose
|
|
276
|
+
- Entry, exit and navigation
|
|
277
|
+
- Regions, overlays and Control keys
|
|
278
|
+
|
|
279
|
+
## 6. Outcome Overview
|
|
280
|
+
|
|
281
|
+
- Outcome key
|
|
282
|
+
- Observable result
|
|
283
|
+
- Dependencies
|
|
284
|
+
|
|
285
|
+
## 7. Outcomes
|
|
286
|
+
|
|
287
|
+
<a id="outcome.<outcome-key>"></a>
|
|
288
|
+
|
|
289
|
+
### OUT `<outcome-key>`: <Outcome title>
|
|
290
|
+
|
|
291
|
+
#### Observable Result
|
|
292
|
+
|
|
293
|
+
#### Product Requirements
|
|
294
|
+
|
|
295
|
+
<a id="<outcome-key>.requirement.<requirement-key>"></a>
|
|
296
|
+
|
|
297
|
+
- **REQ `<requirement-key>`**
|
|
298
|
+
- Origin: direct | derived | delegated | evidence-backed
|
|
299
|
+
- Source basis:
|
|
300
|
+
- Requirement:
|
|
301
|
+
|
|
302
|
+
#### Surface And Region Model
|
|
303
|
+
|
|
304
|
+
- Surface:
|
|
305
|
+
- Purpose:
|
|
306
|
+
- Entry / exit:
|
|
307
|
+
- Regions / overlays:
|
|
308
|
+
- Included Control keys:
|
|
309
|
+
|
|
310
|
+
#### User Flow And States
|
|
311
|
+
|
|
312
|
+
- Normal flow
|
|
313
|
+
- Failure flow
|
|
314
|
+
- Recovery flow
|
|
315
|
+
- Boundary cases
|
|
316
|
+
|
|
317
|
+
#### Controls And Product Feedback
|
|
318
|
+
|
|
319
|
+
<a id="<outcome-key>.control.<control-key>"></a>
|
|
320
|
+
|
|
321
|
+
- **CTRL `<control-key>`**
|
|
322
|
+
- Origin: direct | derived | delegated | evidence-backed
|
|
323
|
+
- Source basis:
|
|
324
|
+
- Surface:
|
|
325
|
+
- Region:
|
|
326
|
+
- Control type:
|
|
327
|
+
- Label/content:
|
|
328
|
+
- Location:
|
|
329
|
+
- User task:
|
|
330
|
+
- Visibility:
|
|
331
|
+
- Availability:
|
|
332
|
+
- Trigger:
|
|
333
|
+
- Input:
|
|
334
|
+
- Validation:
|
|
335
|
+
- Default:
|
|
336
|
+
- Interaction:
|
|
337
|
+
- Navigation/result:
|
|
338
|
+
- Loading:
|
|
339
|
+
- Empty:
|
|
340
|
+
- Success:
|
|
341
|
+
- Failure:
|
|
342
|
+
- Recovery:
|
|
343
|
+
- Permission:
|
|
344
|
+
- Feedback:
|
|
345
|
+
- Accessibility:
|
|
346
|
+
|
|
347
|
+
#### Technical Obligations And Boundaries
|
|
348
|
+
|
|
349
|
+
<a id="<outcome-key>.obligation.<obligation-key>"></a>
|
|
350
|
+
|
|
351
|
+
- **OBL `<obligation-key>`**
|
|
352
|
+
...
|
|
353
|
+
|
|
354
|
+
<a id="<outcome-key>.non-completing.<non-completing-key>"></a>
|
|
355
|
+
|
|
356
|
+
- **NCOMP `<non-completing-key>`**
|
|
357
|
+
...
|
|
358
|
+
|
|
359
|
+
#### Implementation Hints
|
|
360
|
+
|
|
361
|
+
- **HINT `<hint-key>`**
|
|
362
|
+
...
|
|
363
|
+
|
|
364
|
+
#### Acceptance Scenarios
|
|
365
|
+
|
|
366
|
+
<a id="<outcome-key>.acceptance.<acceptance-key>"></a>
|
|
367
|
+
|
|
368
|
+
- **AC `<acceptance-key>`**
|
|
369
|
+
- Accepts: REQ `<key>`, CTRL `<key>`, OBL `<key>`, NCOMP `<key>`
|
|
370
|
+
- Given:
|
|
371
|
+
- When:
|
|
372
|
+
- Then:
|
|
373
|
+
|
|
374
|
+
#### Risks And Recovery
|
|
375
|
+
|
|
376
|
+
<a id="<outcome-key>.risk.<risk-key>"></a>
|
|
377
|
+
|
|
378
|
+
- **RISK `<risk-key>`**
|
|
379
|
+
- Fact:
|
|
380
|
+
- Affected Outcome:
|
|
381
|
+
- Basis:
|
|
382
|
+
- Consequence:
|
|
383
|
+
|
|
384
|
+
## 8. Cross-Outcome Constraints
|
|
385
|
+
|
|
386
|
+
## 9. External Confirmations
|
|
387
|
+
|
|
388
|
+
## 10. Source Traceability And Authoring Decisions
|
|
389
|
+
|
|
390
|
+
- Item or group:
|
|
391
|
+
- Origin: direct | derived | delegated | evidence-backed
|
|
392
|
+
- Source / Derived From / Delegated By:
|
|
393
|
+
- Basis and reason:
|
|
394
|
+
- Changes product meaning: no for derived; yes or no for delegated
|
|
395
|
+
|
|
396
|
+
## 11. Decisions Required
|
|
397
|
+
|
|
398
|
+
<a id="decision.<decision-key>"></a>
|
|
399
|
+
|
|
400
|
+
- **DEC `<decision-key>`**
|
|
401
|
+
- Status: decision_required
|
|
402
|
+
- Decision:
|
|
403
|
+
- Options:
|
|
404
|
+
- Why it cannot be reliably derived:
|
|
405
|
+
- Affected REQ / AC:
|
|
406
|
+
|
|
407
|
+
## 12. Completeness Check
|
|
408
|
+
|
|
409
|
+
- Covered core requirements
|
|
410
|
+
- Unresolved product semantics
|
|
411
|
+
- Unbound repository or verification facts
|
|
412
|
+
- Explicitly out-of-scope items
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## Completeness Check
|
|
416
|
+
|
|
417
|
+
Before returning the plan, verify:
|
|
418
|
+
|
|
419
|
+
1. Every material original requirement is preserved.
|
|
420
|
+
2. Distinct requirements were not collapsed into one vague Outcome.
|
|
421
|
+
3. Every supplied artifact appears in the Input Inventory with complete coverage or an explicit gap/disposition.
|
|
422
|
+
4. Every material input statement maps to a keyed plan item or an explicit unused/conflict disposition.
|
|
423
|
+
5. Every `REQ` and material `CTRL` state has an `AC`, `EXT`, `DEC` or explicit exception.
|
|
424
|
+
6. Every in-scope interactive surface has purpose, entry/exit, regions and contained Control keys.
|
|
425
|
+
7. Every material interactive control is independently enumerated with applicable placement, behavior, state, feedback and accessibility fields.
|
|
426
|
+
8. Every declared `CTRL` independently states Surface, Region, Control type, Label/content, Location, User task, Visibility, Availability, Trigger, Input, Validation, Default, Interaction, Navigation/result, Loading, Empty, Success, Failure, Recovery, Permission, Feedback and Accessibility.
|
|
427
|
+
9. Every `OBL` is mandatory rather than a suggestion.
|
|
428
|
+
10. No `AC` introduces undeclared product semantics.
|
|
429
|
+
11. Every derived item identifies its basis and changes no user capability, business rule or product scope.
|
|
430
|
+
12. Every delegated item identifies `Delegated By`, its evidence basis and the product meaning it adds.
|
|
431
|
+
13. Delegated choices stay within the low-impact reversible boundary; reserved or conflicting choices remain `DEC`.
|
|
432
|
+
14. Multiple reasonable choices outside recorded delegation remain decisions rather than silent model choices.
|
|
433
|
+
15. Reference or inspiration inputs are not treated as exact targets unless the user requested that authority.
|
|
434
|
+
16. Sample, framework, representative validation and full population are not confused.
|
|
435
|
+
17. Partial implementation is not worded as full completion.
|
|
436
|
+
18. Non-goals and forbidden shortcuts are explicit.
|
|
437
|
+
19. Risks concretely affect scope, verification or recovery rather than repeat a generic template.
|
|
438
|
+
20. No unsupported number, threshold, metric or conclusion appears.
|
|
439
|
+
21. Every `AC` names accepted `REQ`/`CTRL`/`OBL`/`NCOMP` keys and contains exactly one Given/When/Then scenario.
|
|
440
|
+
22. Every `NCOMP` is an explicit source meaning rather than a restated Requirement or non-goal.
|
|
441
|
+
23. Every `RISK` has one exact Fact, one Affected Outcome, Basis and Consequence; ambiguity is a `DEC`.
|
|
442
|
+
24. Every decided control field remains independently traceable instead of being compressed into an aggregate state sentence.
|
|
443
|
+
25. The document contains enough incorporated meaning for later Contract authoring without requiring the original conversation; any still-required external artifact is named explicitly.
|
|
444
|
+
|
|
445
|
+
Do not emit a matrix or machine gate. End with:
|
|
446
|
+
|
|
447
|
+
```text
|
|
448
|
+
Completeness status:
|
|
449
|
+
- Ready for Contract authoring: yes|no
|
|
450
|
+
- Input coverage gaps: none|...
|
|
451
|
+
- Surface/control coverage: complete|not applicable|...
|
|
452
|
+
- Decisions required: DEC-...
|
|
453
|
+
- Advisory implementation hints: HINT-...
|
|
454
|
+
- Unbound project facts: ...
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
## Non-Goals
|
|
458
|
+
|
|
459
|
+
Do not create:
|
|
460
|
+
|
|
461
|
+
- a Source Plan Schema or mandatory format validator;
|
|
462
|
+
- a Source Plan CLI, Preflight or Compile step;
|
|
463
|
+
- a Source Plan Receipt, Coverage Cache, Authority or state file;
|
|
464
|
+
- a Delivery Contract, runner, verification input or Assertion observation;
|
|
465
|
+
- a Context update, implementation, verification run or completion judgment.
|
|
466
|
+
|
|
467
|
+
The Source Plan improves the quality of declared Source. It cannot prove that the user has expressed every real requirement.
|