project-tiny-context-harness 0.8.11 → 0.8.13
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/LICENSE +21 -21
- package/README.md +514 -472
- package/assets/README.md +803 -749
- package/assets/README.zh-CN.md +468 -431
- package/assets/agents/.gitkeep +1 -1
- package/assets/agents/AGENTS_CORE.md +22 -24
- package/assets/agents/long-task-implementation.toml +15 -0
- package/assets/context_templates/architecture.md +18 -18
- package/assets/context_templates/area.md +30 -30
- package/assets/context_templates/context.toml +24 -24
- package/assets/context_templates/deployment.md +35 -35
- package/assets/context_templates/global.md +56 -56
- package/assets/context_templates/product-surface-contract.md +70 -70
- package/assets/context_templates/screen-contract.md +189 -189
- package/assets/context_templates/verification.md +25 -25
- package/assets/github/.gitkeep +1 -1
- package/assets/github/harness.yml +39 -39
- package/assets/make/.gitkeep +1 -1
- package/assets/make/ty-context.mk +48 -48
- package/assets/skills/context_development_engineer/SKILL.md +72 -185
- package/assets/skills/context_full_project_export/SKILL.md +28 -28
- package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
- package/assets/skills/context_product_plan/SKILL.md +35 -101
- package/assets/skills/context_surface_contract/SKILL.md +194 -191
- package/assets/skills/context_uiux_design/SKILL.md +49 -172
- package/assets/skills/design-resource-authoring/SKILL.md +54 -88
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +51 -163
- package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md +96 -0
- package/assets/skills/design-resource-authoring/references/open-design-provider.md +140 -120
- package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +199 -0
- package/assets/skills/design-resource-authoring/references/resource-selection.md +158 -181
- package/assets/skills/design-system-authoring/SKILL.md +57 -57
- package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
- package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -48
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
- package/assets/skills/long-task-workflow/SKILL.md +71 -106
- package/assets/skills/long-task-workflow/agents/openai.yaml +1 -1
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +71 -69
- package/assets/skills/long-task-workflow/references/contract-authoring.md +110 -101
- package/assets/skills/long-task-workflow/references/evidence-design.md +99 -78
- package/assets/skills/long-task-workflow/references/source-authoring.md +90 -90
- package/assets/tools/validate_context.py +442 -442
- package/dist/commands/design-resource-recovery.d.ts +1 -0
- package/dist/commands/design-resource-recovery.js +152 -0
- package/dist/commands/design-resource.js +29 -3
- package/dist/commands/enable.js +2 -0
- package/dist/commands/index.js +2 -2
- package/dist/commands/long-task-revision.js +8 -7
- package/dist/commands/sync.js +2 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -0
- package/dist/lib/compact-authoring-support.d.ts +22 -0
- package/dist/lib/compact-authoring-support.js +143 -0
- package/dist/lib/compact-shared-structure-authoring.d.ts +5 -0
- package/dist/lib/compact-shared-structure-authoring.js +9 -0
- package/dist/lib/compact-shared-structure-types.d.ts +61 -0
- package/dist/lib/compact-shared-structure-types.js +1 -0
- package/dist/lib/compact-shared-structure-validation.d.ts +2 -0
- package/dist/lib/compact-shared-structure-validation.js +159 -0
- package/dist/lib/compact-shared-structures.d.ts +3 -0
- package/dist/lib/compact-shared-structures.js +204 -0
- package/dist/lib/design-resource-fact-enums.d.ts +4 -0
- package/dist/lib/design-resource-fact-enums.js +12 -0
- package/dist/lib/design-resource-fact-manifest-shape-evidence.js +2 -2
- package/dist/lib/design-resource-fact-policy.d.ts +2 -2
- package/dist/lib/design-resource-fact-types.d.ts +2 -2
- package/dist/lib/design-resource-handoff-bundle-draft.js +4 -2
- package/dist/lib/design-resource-handoff-input-types.d.ts +3 -0
- package/dist/lib/design-resource-handoff-parser.d.ts +2 -2
- package/dist/lib/design-resource-handoff-parser.js +2 -2
- package/dist/lib/design-resource-handoff-shape.d.ts +2 -0
- package/dist/lib/design-resource-handoff-shape.js +10 -0
- package/dist/lib/design-resource-handoff-snapshot.js +4 -0
- package/dist/lib/design-resource-handoff-validation.d.ts +4 -1
- package/dist/lib/design-resource-handoff-validation.js +11 -0
- package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +4 -2
- package/dist/lib/design-resource-reconciliation-codec.d.ts +2 -0
- package/dist/lib/design-resource-reconciliation-codec.js +174 -0
- package/dist/lib/design-resource-reconciliation-types.d.ts +62 -0
- package/dist/lib/design-resource-reconciliation-types.js +1 -0
- package/dist/lib/design-resource-reconciliation.d.ts +3 -0
- package/dist/lib/design-resource-reconciliation.js +224 -0
- package/dist/lib/design-resource-recovery-authority-policy.d.ts +8 -0
- package/dist/lib/design-resource-recovery-authority-policy.js +123 -0
- package/dist/lib/design-resource-recovery-catalog-resources.d.ts +6 -0
- package/dist/lib/design-resource-recovery-catalog-resources.js +121 -0
- package/dist/lib/design-resource-recovery-catalog-shape.d.ts +3 -0
- package/dist/lib/design-resource-recovery-catalog-shape.js +104 -0
- package/dist/lib/design-resource-recovery-catalog.d.ts +9 -0
- package/dist/lib/design-resource-recovery-catalog.js +103 -0
- package/dist/lib/design-resource-recovery-cleanup.d.ts +2 -0
- package/dist/lib/design-resource-recovery-cleanup.js +11 -0
- package/dist/lib/design-resource-recovery-codec-primitives.d.ts +19 -0
- package/dist/lib/design-resource-recovery-codec-primitives.js +92 -0
- package/dist/lib/design-resource-recovery-codec.d.ts +4 -0
- package/dist/lib/design-resource-recovery-codec.js +93 -0
- package/dist/lib/design-resource-recovery-current.d.ts +9 -0
- package/dist/lib/design-resource-recovery-current.js +41 -0
- package/dist/lib/design-resource-recovery-delta-policy.d.ts +5 -0
- package/dist/lib/design-resource-recovery-delta-policy.js +108 -0
- package/dist/lib/design-resource-recovery-files.d.ts +37 -0
- package/dist/lib/design-resource-recovery-files.js +204 -0
- package/dist/lib/design-resource-recovery-final-disposition-shape.d.ts +2 -0
- package/dist/lib/design-resource-recovery-final-disposition-shape.js +47 -0
- package/dist/lib/design-resource-recovery-patch-types.d.ts +54 -0
- package/dist/lib/design-resource-recovery-patch-types.js +1 -0
- package/dist/lib/design-resource-recovery-replay.d.ts +7 -0
- package/dist/lib/design-resource-recovery-replay.js +112 -0
- package/dist/lib/design-resource-recovery-repository-bindings.d.ts +9 -0
- package/dist/lib/design-resource-recovery-repository-bindings.js +49 -0
- package/dist/lib/design-resource-recovery-schema.d.ts +5 -0
- package/dist/lib/design-resource-recovery-schema.js +5 -0
- package/dist/lib/design-resource-recovery-shape.d.ts +10 -0
- package/dist/lib/design-resource-recovery-shape.js +184 -0
- package/dist/lib/design-resource-recovery-source-authority.d.ts +5 -0
- package/dist/lib/design-resource-recovery-source-authority.js +219 -0
- package/dist/lib/design-resource-recovery-text.d.ts +17 -0
- package/dist/lib/design-resource-recovery-text.js +186 -0
- package/dist/lib/design-resource-recovery-types.d.ts +197 -0
- package/dist/lib/design-resource-recovery-types.js +1 -0
- package/dist/lib/design-resource-recovery-writeback-policy.d.ts +5 -0
- package/dist/lib/design-resource-recovery-writeback-policy.js +326 -0
- package/dist/lib/design-resource-recovery-writeback-shape.d.ts +6 -0
- package/dist/lib/design-resource-recovery-writeback-shape.js +155 -0
- package/dist/lib/design-resource-recovery.d.ts +44 -0
- package/dist/lib/design-resource-recovery.js +216 -0
- package/dist/lib/design-resource-symbolic-applicability-authority.d.ts +7 -0
- package/dist/lib/design-resource-symbolic-applicability-authority.js +19 -0
- package/dist/lib/design-resource-symbolic-applicability-policy.d.ts +12 -0
- package/dist/lib/design-resource-symbolic-applicability-policy.js +79 -0
- package/dist/lib/design-resource-symbolic-applicability-profiles.d.ts +8 -0
- package/dist/lib/design-resource-symbolic-applicability-profiles.js +55 -0
- package/dist/lib/design-resource-symbolic-applicability-shape.d.ts +2 -0
- package/dist/lib/design-resource-symbolic-applicability-shape.js +76 -0
- package/dist/lib/design-resource-symbolic-applicability-validation.d.ts +7 -0
- package/dist/lib/design-resource-symbolic-applicability-validation.js +128 -0
- package/dist/lib/design-resource-symbolic-compilation.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-compilation.js +13 -0
- package/dist/lib/design-resource-symbolic-denotation.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-denotation.js +167 -0
- package/dist/lib/design-resource-symbolic-disposition-validation.d.ts +4 -0
- package/dist/lib/design-resource-symbolic-disposition-validation.js +28 -0
- package/dist/lib/design-resource-symbolic-fact-policy.d.ts +12 -0
- package/dist/lib/design-resource-symbolic-fact-policy.js +12 -0
- package/dist/lib/design-resource-symbolic-fact-shape.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-fact-shape.js +138 -0
- package/dist/lib/design-resource-symbolic-fact-types.d.ts +213 -0
- package/dist/lib/design-resource-symbolic-fact-types.js +1 -0
- package/dist/lib/design-resource-symbolic-fact-validation.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-fact-validation.js +86 -0
- package/dist/lib/design-resource-symbolic-indexes.d.ts +23 -0
- package/dist/lib/design-resource-symbolic-indexes.js +54 -0
- package/dist/lib/design-resource-symbolic-manifest-shape.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-manifest-shape.js +155 -0
- package/dist/lib/design-resource-symbolic-manifest-validation.d.ts +6 -0
- package/dist/lib/design-resource-symbolic-manifest-validation.js +132 -0
- package/dist/lib/design-resource-symbolic-noninterference-artifact.d.ts +33 -0
- package/dist/lib/design-resource-symbolic-noninterference-artifact.js +110 -0
- package/dist/lib/design-resource-symbolic-noninterference-equivalence.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-noninterference-equivalence.js +77 -0
- package/dist/lib/design-resource-symbolic-noninterference-recompute.d.ts +4 -0
- package/dist/lib/design-resource-symbolic-noninterference-recompute.js +146 -0
- package/dist/lib/design-resource-symbolic-noninterference-scope.d.ts +7 -0
- package/dist/lib/design-resource-symbolic-noninterference-scope.js +49 -0
- package/dist/lib/design-resource-symbolic-noninterference-shape.d.ts +2 -0
- package/dist/lib/design-resource-symbolic-noninterference-shape.js +152 -0
- package/dist/lib/design-resource-symbolic-noninterference-types.d.ts +103 -0
- package/dist/lib/design-resource-symbolic-noninterference-types.js +1 -0
- package/dist/lib/design-resource-symbolic-noninterference-validation.d.ts +5 -0
- package/dist/lib/design-resource-symbolic-noninterference-validation.js +62 -0
- package/dist/lib/design-resource-symbolic-oracle-fingerprint.d.ts +1 -0
- package/dist/lib/design-resource-symbolic-oracle-fingerprint.js +47 -0
- package/dist/lib/design-resource-symbolic-predicate-shape.d.ts +6 -0
- package/dist/lib/design-resource-symbolic-predicate-shape.js +123 -0
- package/dist/lib/design-resource-symbolic-production-closure.d.ts +4 -0
- package/dist/lib/design-resource-symbolic-production-closure.js +144 -0
- package/dist/lib/design-resource-symbolic-proof-authority-validation.d.ts +10 -0
- package/dist/lib/design-resource-symbolic-proof-authority-validation.js +68 -0
- package/dist/lib/design-resource-symbolic-proof-validation.d.ts +10 -0
- package/dist/lib/design-resource-symbolic-proof-validation.js +89 -0
- package/dist/lib/design-resource-symbolic-region-validation.d.ts +19 -0
- package/dist/lib/design-resource-symbolic-region-validation.js +146 -0
- package/dist/lib/design-resource-symbolic-resource-validation.d.ts +5 -0
- package/dist/lib/design-resource-symbolic-resource-validation.js +90 -0
- package/dist/lib/design-resource-symbolic-rule-shape.d.ts +27 -0
- package/dist/lib/design-resource-symbolic-rule-shape.js +158 -0
- package/dist/lib/design-resource-symbolic-safety-validation.d.ts +6 -0
- package/dist/lib/design-resource-symbolic-safety-validation.js +29 -0
- package/dist/lib/design-resource-symbolic-source-ir-evaluation.d.ts +19 -0
- package/dist/lib/design-resource-symbolic-source-ir-evaluation.js +74 -0
- package/dist/lib/design-resource-symbolic-source-ir-evidence.d.ts +44 -0
- package/dist/lib/design-resource-symbolic-source-ir-evidence.js +88 -0
- package/dist/lib/design-resource-symbolic-source-ir-oracle.d.ts +13 -0
- package/dist/lib/design-resource-symbolic-source-ir-oracle.js +96 -0
- package/dist/lib/design-resource-symbolic-source-ir-proof.d.ts +14 -0
- package/dist/lib/design-resource-symbolic-source-ir-proof.js +98 -0
- package/dist/lib/design-resource-symbolic-source-ir-shape.d.ts +2 -0
- package/dist/lib/design-resource-symbolic-source-ir-shape.js +38 -0
- package/dist/lib/design-resource-symbolic-source-ir-types.d.ts +17 -0
- package/dist/lib/design-resource-symbolic-source-ir-types.js +2 -0
- package/dist/lib/design-resource-symbolic-static-dependency-validation.d.ts +2 -0
- package/dist/lib/design-resource-symbolic-static-dependency-validation.js +83 -0
- package/dist/lib/design-resource-symbolic-structural-closure-validation.d.ts +6 -0
- package/dist/lib/design-resource-symbolic-structural-closure-validation.js +79 -0
- package/dist/lib/design-resource-symbolic-validation-support.d.ts +29 -0
- package/dist/lib/design-resource-symbolic-validation-support.js +111 -0
- package/dist/lib/design-resource-v1-capacity-header.d.ts +8 -0
- package/dist/lib/design-resource-v1-capacity-header.js +231 -0
- package/dist/lib/design-resource-v1-capacity.d.ts +5 -0
- package/dist/lib/design-resource-v1-capacity.js +45 -0
- package/dist/lib/init.js +1 -0
- package/dist/lib/long-task-acceptance-shape.js +8 -2
- package/dist/lib/long-task-activation-validation.js +13 -3
- package/dist/lib/long-task-admitted-observation-records.d.ts +25 -0
- package/dist/lib/long-task-admitted-observation-records.js +40 -0
- package/dist/lib/long-task-admitted-observation.d.ts +93 -0
- package/dist/lib/long-task-admitted-observation.js +201 -0
- package/dist/lib/long-task-artifacts.d.ts +1 -0
- package/dist/lib/long-task-artifacts.js +1 -0
- package/dist/lib/long-task-authority-material-diff.js +1 -0
- package/dist/lib/long-task-authority-policy.d.ts +5 -0
- package/dist/lib/long-task-authority-policy.js +5 -0
- package/dist/lib/long-task-authority-revision-details.js +3 -1
- package/dist/lib/long-task-authority.js +2 -1
- package/dist/lib/long-task-check-execution-policy.js +5 -0
- package/dist/lib/long-task-check-runner.d.ts +2 -2
- package/dist/lib/long-task-check-runner.js +440 -23
- package/dist/lib/long-task-claims.d.ts +18 -0
- package/dist/lib/long-task-claims.js +35 -0
- package/dist/lib/long-task-codex-agent-profile.d.ts +42 -0
- package/dist/lib/long-task-codex-agent-profile.js +276 -0
- package/dist/lib/long-task-compact-authoring-projections.d.ts +12 -0
- package/dist/lib/long-task-compact-authoring-projections.js +67 -0
- package/dist/lib/long-task-compact-authoring.d.ts +3 -0
- package/dist/lib/long-task-compact-authoring.js +173 -0
- package/dist/lib/long-task-compact-carrier.d.ts +7 -0
- package/dist/lib/long-task-compact-carrier.js +132 -0
- package/dist/lib/long-task-compact-parser.d.ts +14 -0
- package/dist/lib/long-task-compact-parser.js +123 -0
- package/dist/lib/long-task-compact-primitives.d.ts +22 -0
- package/dist/lib/long-task-compact-primitives.js +132 -0
- package/dist/lib/long-task-compact-projections.d.ts +4 -0
- package/dist/lib/long-task-compact-projections.js +153 -0
- package/dist/lib/long-task-compact-structure-targets.d.ts +2 -0
- package/dist/lib/long-task-compact-structure-targets.js +91 -0
- package/dist/lib/long-task-conformance-policy.js +3 -1
- package/dist/lib/long-task-counterfactual-claim-policy.d.ts +3 -4
- package/dist/lib/long-task-counterfactual-claim-policy.js +11 -3
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +1 -1
- package/dist/lib/long-task-counterfactual-sandbox.js +8 -5
- package/dist/lib/long-task-counterfactual-types.d.ts +2 -0
- package/dist/lib/long-task-delivery-compiler.js +2 -0
- package/dist/lib/long-task-delivery-parser.d.ts +1 -0
- package/dist/lib/long-task-delivery-parser.js +38 -6
- package/dist/lib/long-task-design-resource-handoff.d.ts +2 -1
- package/dist/lib/long-task-design-resource-handoff.js +71 -11
- package/dist/lib/long-task-design-resource-method-binding.d.ts +8 -1
- package/dist/lib/long-task-design-resource-method-binding.js +150 -0
- package/dist/lib/long-task-evidence-capability-codec.js +256 -34
- package/dist/lib/long-task-evidence-capability-policy.d.ts +3 -2
- package/dist/lib/long-task-evidence-capability-policy.js +142 -8
- package/dist/lib/long-task-evidence-capability-runtime.d.ts +5 -2
- package/dist/lib/long-task-evidence-capability-runtime.js +420 -68
- package/dist/lib/long-task-evidence-capability-types.d.ts +70 -2
- package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +9 -0
- package/dist/lib/long-task-evidence-sensitivity-policy.js +31 -1
- package/dist/lib/long-task-evidence-v2.d.ts +4 -4
- package/dist/lib/long-task-evidence-v2.js +322 -44
- package/dist/lib/long-task-exact-comparison.d.ts +16 -0
- package/dist/lib/long-task-exact-comparison.js +28 -0
- package/dist/lib/long-task-execution-observation.d.ts +24 -0
- package/dist/lib/long-task-execution-observation.js +332 -0
- package/dist/lib/long-task-explain-acceptance-link.d.ts +4 -0
- package/dist/lib/long-task-explain-acceptance-link.js +4 -0
- package/dist/lib/long-task-explain-claim-links.d.ts +2 -0
- package/dist/lib/long-task-explain-claim-links.js +2 -0
- package/dist/lib/long-task-explain-source-links.d.ts +6 -0
- package/dist/lib/long-task-final-v2.js +7 -4
- package/dist/lib/long-task-hook-install.d.ts +19 -2
- package/dist/lib/long-task-hook-install.js +288 -91
- package/dist/lib/long-task-json-pointer-observation.d.ts +59 -0
- package/dist/lib/long-task-json-pointer-observation.js +184 -0
- package/dist/lib/long-task-observation-artifact.d.ts +8 -0
- package/dist/lib/long-task-observation-artifact.js +58 -0
- package/dist/lib/long-task-observation-authority.d.ts +17 -0
- package/dist/lib/long-task-observation-authority.js +348 -0
- package/dist/lib/long-task-paths.js +1 -1
- package/dist/lib/long-task-playwright-capability-records.d.ts +2 -0
- package/dist/lib/long-task-playwright-capability-records.js +74 -2
- package/dist/lib/long-task-process-observation.d.ts +6 -0
- package/dist/lib/long-task-process-observation.js +117 -0
- package/dist/lib/long-task-process-runtime-closure.d.ts +13 -0
- package/dist/lib/long-task-process-runtime-closure.js +175 -0
- package/dist/lib/long-task-progress.js +2 -0
- package/dist/lib/long-task-protected-files.d.ts +1 -1
- package/dist/lib/long-task-protected-files.js +1 -30
- package/dist/lib/long-task-risk.js +8 -3
- package/dist/lib/long-task-root-shape.js +10 -1
- package/dist/lib/long-task-runner-environment.d.ts +1 -1
- package/dist/lib/long-task-runner-environment.js +4 -4
- package/dist/lib/long-task-runner-freeze.d.ts +4 -2
- package/dist/lib/long-task-runner-freeze.js +130 -28
- package/dist/lib/long-task-runtime-types.d.ts +111 -0
- package/dist/lib/long-task-scoped-binding.d.ts +13 -0
- package/dist/lib/long-task-scoped-binding.js +11 -0
- package/dist/lib/long-task-semantic-contract-types.d.ts +2 -1
- package/dist/lib/long-task-semantic-fact-binding-types.d.ts +8 -0
- package/dist/lib/long-task-semantic-fact-closure.js +4 -1
- package/dist/lib/long-task-semantic-fact-contract-closure.d.ts +1 -1
- package/dist/lib/long-task-semantic-fact-contract-closure.js +18 -6
- package/dist/lib/long-task-semantic-fact-contract-facts.d.ts +1 -1
- package/dist/lib/long-task-semantic-fact-contract-facts.js +4 -1
- package/dist/lib/long-task-semantic-fact-contract-proofs.d.ts +1 -1
- package/dist/lib/long-task-semantic-fact-contract-proofs.js +12 -3
- package/dist/lib/long-task-semantic-fact-evidence.d.ts +8 -4
- package/dist/lib/long-task-semantic-fact-evidence.js +103 -43
- package/dist/lib/long-task-semantic-fact-shape.js +17 -6
- package/dist/lib/long-task-shape-primitives.d.ts +1 -1
- package/dist/lib/long-task-shape-primitives.js +1 -0
- package/dist/lib/long-task-source-claim-validation.js +4 -1
- package/dist/lib/long-task-source-item-parser.d.ts +2 -2
- package/dist/lib/long-task-source-item-parser.js +20 -11
- package/dist/lib/long-task-source-target-continuity.d.ts +2 -2
- package/dist/lib/long-task-source-target-continuity.js +35 -2
- package/dist/lib/long-task-source-target-index.d.ts +3 -0
- package/dist/lib/long-task-source-target-index.js +19 -0
- package/dist/lib/long-task-stage-policy.js +10 -4
- package/dist/lib/long-task-static-observation-freeze.d.ts +83 -0
- package/dist/lib/long-task-static-observation-freeze.js +428 -0
- package/dist/lib/long-task-status-projection.js +5 -1
- package/dist/lib/long-task-target-policy.d.ts +1 -1
- package/dist/lib/long-task-target-policy.js +3 -0
- package/dist/lib/long-task-ui-design-policy.js +64 -4
- package/dist/lib/long-task-ui-surface-shape.js +195 -0
- package/dist/lib/long-task-ui-surface-types.d.ts +53 -0
- package/dist/lib/long-task-verifier-dependency-closure.js +7 -3
- package/dist/lib/long-task-verifier-v2.js +70 -9
- package/dist/lib/long-task-worker-selection.d.ts +2 -0
- package/dist/lib/long-task-worker-selection.js +7 -0
- package/dist/lib/long-task-workspace-scope.js +3 -1
- package/dist/lib/long-task-workspace.d.ts +1 -1
- package/dist/lib/long-task-workspace.js +12 -13
- package/dist/lib/migrations.js +58 -0
- package/dist/lib/profiles.js +0 -1
- package/dist/lib/repository-path-safety.d.ts +14 -0
- package/dist/lib/repository-path-safety.js +126 -0
- package/dist/lib/semantic-fact-compact-authoring.d.ts +2 -0
- package/dist/lib/semantic-fact-compact-authoring.js +160 -0
- package/dist/lib/semantic-fact-compact-capacity.d.ts +9 -0
- package/dist/lib/semantic-fact-compact-capacity.js +40 -0
- package/dist/lib/semantic-fact-compact-carrier.d.ts +16 -0
- package/dist/lib/semantic-fact-compact-carrier.js +146 -0
- package/dist/lib/semantic-fact-compact-parser.d.ts +17 -0
- package/dist/lib/semantic-fact-compact-parser.js +168 -0
- package/dist/lib/semantic-fact-compact-revision.d.ts +11 -0
- package/dist/lib/semantic-fact-compact-revision.js +64 -0
- package/dist/lib/semantic-fact-compact-support.d.ts +23 -0
- package/dist/lib/semantic-fact-compact-support.js +159 -0
- package/dist/lib/semantic-fact-policy-census.d.ts +1 -0
- package/dist/lib/semantic-fact-policy-census.js +43 -0
- package/dist/lib/semantic-fact-proof-shape.d.ts +1 -1
- package/dist/lib/semantic-fact-property-shape.d.ts +1 -1
- package/dist/lib/semantic-fact-source-parser.d.ts +5 -0
- package/dist/lib/semantic-fact-source-parser.js +47 -6
- package/dist/lib/structural-closure-cost.d.ts +79 -0
- package/dist/lib/structural-closure-cost.js +91 -0
- package/dist/lib/symbolic-denotation-dag-builder.d.ts +25 -0
- package/dist/lib/symbolic-denotation-dag-builder.js +176 -0
- package/dist/lib/symbolic-denotation-domain-validation.d.ts +3 -0
- package/dist/lib/symbolic-denotation-domain-validation.js +56 -0
- package/dist/lib/symbolic-denotation-engine.d.ts +32 -0
- package/dist/lib/symbolic-denotation-engine.js +140 -0
- package/dist/lib/symbolic-denotation-public.d.ts +11 -0
- package/dist/lib/symbolic-denotation-public.js +12 -0
- package/dist/lib/symbolic-denotation-runtime.d.ts +20 -0
- package/dist/lib/symbolic-denotation-runtime.js +90 -0
- package/dist/lib/symbolic-denotation-support.d.ts +11 -0
- package/dist/lib/symbolic-denotation-support.js +49 -0
- package/dist/lib/symbolic-denotation-types.d.ts +133 -0
- package/dist/lib/symbolic-denotation-types.js +18 -0
- package/dist/lib/symbolic-denotation-validation.d.ts +6 -0
- package/dist/lib/symbolic-denotation-validation.js +126 -0
- package/dist/lib/sync-engine.d.ts +1 -0
- package/dist/lib/sync-engine.js +4 -1
- package/dist/lib/upgrade.js +1 -0
- package/dist/long-task-hook.js +40 -1
- package/dist/public-types.d.ts +8 -0
- package/dist/public-types.js +1 -0
- package/dist/schemas/design-resource-symbolic-noninterference-artifact-v2.schema.json +289 -0
- package/dist/schemas/design-resource-symbolic-source-ir-v1.schema.json +130 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +435 -5
- package/migrations/README.md +92 -15
- package/package.json +2 -2
- package/source-mappings.yaml +28 -25
- package/assets/skills/source-plan-authoring/SKILL.md +0 -14
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
# Evidence Design Reference
|
|
2
|
-
|
|
3
|
-
Read this only while designing or repairing Contract Checks and proof.
|
|
4
|
-
|
|
5
|
-
## General Proof Rules
|
|
6
|
-
|
|
7
|
-
- Every Outcome has at least one executable Check and one non-Result atomic Claim.
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
# Evidence Design Reference
|
|
2
|
+
|
|
3
|
+
Read this only while designing or repairing Contract Checks and proof.
|
|
4
|
+
|
|
5
|
+
## General Proof Rules
|
|
6
|
+
|
|
7
|
+
- Every Outcome has at least one executable Check and one non-Result atomic Claim.
|
|
8
|
+
- Keep four authorities separate: Source/Context/canonical resources/Contract own Expected; a package-admitted adapter owns current Actual; Harness owns comparison/result identity and verdict; the sole current-snapshot Final Gate owns terminal status. No project runner or Oracle may own two of these layers for a machine-closing obligation.
|
|
9
|
+
- Required proof surfaces are non-empty, unique and all-of. Every Claim-bearing Assertion proves exactly one Claim at one exact applicability profile and uses explicit comparable Observations and expected values; every Claim/applicability/proof-surface cell must be covered.
|
|
10
|
+
- `truthy`/`falsy` are diagnostic-only. `exists` proves only implementation-structure obligations. Missing or type-incomparable Observation never proves a Claim; negative proof uses an explicit value such as `equals: false`.
|
|
11
|
+
- Claim and Population proof is emitted only after the entire Check passes. Exit failure, missing artifact, failed population, failed Assertion or invalid Counterfactual yields no Claim proof.
|
|
12
|
+
- Verification inputs include entrypoints, helpers, fixtures/config, package scripts and lockfiles and cannot overlap implementation carriers. The frozen runner identity recursively includes the supported direct-literal local verifier module/config/data graph; runtime-owned Check inputs/outputs/artifacts are explicitly excluded from Oracle identity, while non-literal loaders, `createRequire` and package scripts without a recoverable static Node entry fail closed. Declaring other indirect/custom Oracle access as a named TCB does not admit it for machine completion; use a package-admitted adapter or blocking External Confirmation.
|
|
13
|
+
- Runners receive the minimum environment whitelist plus only declared environment requirements. Never expose actual secret values in findings.
|
|
14
|
+
|
|
15
|
+
## Runner And Observation Identity
|
|
16
|
+
|
|
17
|
+
Runner kind still selects payload decoding, but payload decoding is not observation authority. Raw Execution identity binds the runner, its recursively frozen local dependency closure and canonical declared Environment Requirements, not actual values. Bare installed packages and the Harness/runtime remain named trusted-computing-boundary components rather than silently mutable project helpers. A project-authored verifier, `node_oracle`, wrapper or Playwright payload can provide diagnostics only unless a separate admitted package observer independently extracts the current Actual.
|
|
18
|
+
|
|
19
|
+
Across all Checks sharing a Raw Execution, one Claim-bearing Observation belongs to one Assertion. Shared setup may execute once only when independent per-Check observations and artifacts remain unambiguous.
|
|
20
|
+
|
|
21
|
+
## Observation Authority Admission
|
|
22
|
+
|
|
23
|
+
Compile derives one immutable internal observation-authority plan for every machine Claim or Fact × required-method obligation. It binds the obligation/Fact/Assertion/target/proof-surface/method, expected identity/value, locator policy, carriers and runtime requirements. This is a rebuildable projection, never a new Contract Authority, state or Observer registry. A machine-closing row has exactly one of these first-slice authorities:
|
|
24
|
+
|
|
25
|
+
- `package_static_json_exact`: plain `exact_value + exact` content for a static implementation/configuration structure. The UTF-8 JSON carrier must already exist in the pre-run workspace manifest; its no-follow path/type/size/digest/file identity remains unchanged after the runner; it matches the declared production Binding; and it is not Source, Context, Contract, expected authority, verifier output, evidence, report, status or Receipt. Harness, not the project, selects the fixed RFC 6901 `/observations/<stable Fact-or-obligation identity>` locator and applies the package duplicate-key, UTF-8, size, depth and pointer limits. A generated bundle/configuration is eligible only when it was already in the candidate snapshot. This proves only current static content, never runtime consumption, interaction or liveness.
|
|
26
|
+
- `package_process_json_exact`: plain exact output from a declared `runtime_family: process`, `role: product` root. The Check uses `project_binary`, its target and complete argv equal the Source-backed root invocation exactly, no project wrapper intervenes and its effect is read-only or test-sandbox. The target's canonical Source obligation, Source Claim disposition and execution target agree on key, role, family, root, complete argv and capabilities. Compile creates one internal process-runtime closure containing that invocation, the Claim/Counterfactual production carriers and only finite argv values that resolve to production Binding members. It examines a standalone argument or explicit `--key=value`, resolves safe repository-relative values from declared `cwd`, and admits a path only when an exact or pattern Binding covers it; glob-owned and extensionless files are supported. An unmatched safe relative value is ignored and not copied. Absolute paths, repository escapes, `file:` URLs and network URLs fail closed unless explicitly routed to the existing external TCB/External Confirmation boundary. It neither broadly role-scans nor copies all `input_paths`; role separation applies only to actual closure members. Global Checks use internal scoped Binding records `{ outcome_key, local_key, binding_ref, binding }` with `<outcome>.<binding>`, preserving logical refs while deduplicating identical physical paths without changing authored Contract Bindings or adding a registry. Every closure member is disjoint from Source/Context/Contract/canonical expected authority, verification inputs, verifier/evidence/status/report/comparison/Receipt/Long-Task workdir, historical session/evidence, `expected_output_paths`, `artifact_globs` and other proof-output roles. Harness copies only this compiled closure into an OS-temporary snapshot, then directly spawns/owns the root there. The child receives the minimal runner environment and no observation-path, challenge or protocol variable. It writes exactly one bounded `ty-context-product-observation-v1` envelope to stdout with exact keys `schema_version` and identity-keyed `observations`; Harness captures stdout, requires the exact compiled identity set, extracts multiple values, records host execution attestation bound to the closure identity, verifies the closure again and deletes the snapshot. The envelope proves only exact values actually emitted by that root on the declared JSON output surface. Project-authored instrumentation or mapping cannot elevate arbitrary internal/UI facts into package-observed truth; a Claim that cannot bind directly to that surface remains External Confirmation. The per-execution nonce is generated and retained only inside host attestation; it is neither a child-visible challenge nor a trust root.
|
|
27
|
+
|
|
28
|
+
Everything else is unsupported and therefore a blocking External Confirmation: custom or `named_external_tcb` Oracle, indirect wrapper, browser/native/device session, layout, pixel, accessibility, motion, protected raw observation, tolerance/mask and custom locator. Target family must equal observer family. Project-submitted v3 actual/value digest, comparison result, `passed`, verdict and capability records remain optional diagnostics and never own Actual or completion. Current package derivation covers exact/presence plus host-derived `target_runtime`; `interaction_trace`, `state_delta`, `design_conformance` and every other capability without package derivation require External Confirmation even when a project record is present. A diagnostic copy that disagrees with a derived result fails closed. The public project result remains `long-task-check-result-v3`; the stdout product observation envelope is a separate v1 protocol, so no v4 is introduced.
|
|
29
|
+
|
|
30
|
+
## Scenario And Evidence Capabilities
|
|
31
|
+
|
|
22
32
|
- Every Check declares non-empty keyed `scenario.given` and `scenario.when` steps. One Check covers one materially coherent journey; a different success path belongs in another Check or vertical Outcome. A Claim-bearing Assertion's `applicability_ref` must match the Check target, journey role, duplicate-free atomic dimension assignments, all keyed Given refs and ordered When refs exactly.
|
|
23
|
-
- Every Assertion declares a non-empty all-of `evidence_capabilities` set. `presence` proves static existence only and cannot alone prove a behavioral Claim.
|
|
24
|
-
- `interaction_trace` names the exact target plus the declared Given keys and ordered action keys
|
|
25
|
-
- `state_delta`
|
|
26
|
-
- `
|
|
33
|
+
- Every Assertion declares a non-empty all-of `evidence_capabilities` set. `presence` proves static existence only and cannot alone prove a behavioral Claim. A project payload may contain one typed current-execution compatibility record per capability, but a machine Claim is satisfied only by a matching package-derived result. In the current slice that means exact/presence and, for a direct process root, host `target_runtime`; missing admission, duplicate/unknown/undeclared records or disagreement with a submitted copy fail closed.
|
|
34
|
+
- `interaction_trace` names the exact target plus the declared Given keys and ordered action keys, but no package derivation currently owns those semantics. Project/Playwright trace rows are diagnostic and the obligation remains External Confirmation, including on a direct process root.
|
|
35
|
+
- `state_delta` compatibility rows still require different before/after hashes and named changed fields, but they are not package-derived machine proof. The same external boundary applies to `durable_readback`, `cross_surface_consistency`, `boundary_invocation`, `external_side_effect`, `failure_injection`, `input_variation`, `visual_render`, `design_conformance` and `design_method` until a package adapter derives the applicable result.
|
|
36
|
+
- `target_runtime` binds the exact target/root and is host-derived only for a direct process product root. Runtime Fact refs and every admitted package-derived exact/presence result remain set-equal to the compiled obligation cells; no aggregate project record fills a missing cell.
|
|
27
37
|
- Structured runners emit `long-task-check-result-v3` for capability records. V2 payloads remain decodable only for presence-only compatibility; they cannot satisfy a declared non-presence capability. Evidence records contain bounded hashes/ids/refs, not unrestricted raw payloads.
|
|
28
38
|
|
|
29
39
|
## Non-UI Semantic Fact Evidence
|
|
30
40
|
|
|
31
|
-
Every machine `semantic_fact` proof binding compiles one immutable expectation row identified by manifest/digest, Outcome, Fact, proof method, Claim, applicability, subject/relation/population, exact condition and property. It freezes the Source-located expected value digest, sensitivity, comparator/mode/parameters/tolerance/mask,
|
|
41
|
+
Every machine `semantic_fact` proof binding compiles one immutable expectation row identified by manifest/digest, Outcome, Fact, proof method, Claim, applicability, subject/relation/population, exact condition and property. It freezes the Source-located expected value digest, sensitivity, comparator/mode/parameters/tolerance/mask, admitted observer identity and environment definition. Runtime evidence cannot rewrite any field, and Compile rejects a machine row whose method/surface/target/sensitivity/comparison mode has no admitted observer.
|
|
32
42
|
|
|
33
|
-
The owning Check
|
|
43
|
+
The owning Check may submit compatibility data, but the package observer derives exactly one authoritative current `semantic_fact` result for every and only every admitted expectation assigned to it. Each result records:
|
|
34
44
|
|
|
35
45
|
- exact assertion/manifest/Outcome/target/Fact/proof/method/subject/condition/property identity;
|
|
36
46
|
- an attributable actual-observation artifact, current digest, typed locator and value digest;
|
|
@@ -40,61 +50,72 @@ The owning Check emits exactly one current `semantic_fact` result for every and
|
|
|
40
50
|
- the exact Oracle/environment identity; and
|
|
41
51
|
- one result for every declared independent observer where applicable.
|
|
42
52
|
|
|
43
|
-
|
|
53
|
+
V1 ground, V2 symbolic, non-UI semantic Fact, static observer and process observer all call the same Harness-owned `evaluateExactDigestComparison` with identity, actual/expected value digests, comparator/mode and parameter/tolerance/mask digests. The admitted exact slice permits only `exact_value + exact`, requires empty tolerance/mask and fails whenever actual differs from expected. Harness recomputes result identity; submitted `passed`/verdict never participates and any submitted comparison field that disagrees fails closed. Protected and tolerance/mask observations are not admitted in this slice and remain External Confirmation; secrets, tokens, personal or regulated values never enter Contract, logs, findings, Context or artifacts in raw form.
|
|
44
54
|
|
|
45
|
-
Result identities and primary observations are duplicate-free. One aggregate Boolean/report/log/screenshot, one reused artifact+locator+value tuple, one all-states row or one Check exit code cannot satisfy several Facts or methods. A Fact may legitimately require several
|
|
55
|
+
Result identities and primary observations are duplicate-free. One aggregate Boolean/report/log/screenshot, one reused artifact+locator+value tuple, one all-states row or one Check exit code cannot satisfy several Facts or methods. A Fact may legitimately require several independently admitted methods/observers, and all must pass. Population/quantified Facts additionally prove exact expected universe = eligible = observed plus valid exclusions. Evidence must reach the furthest independently failing admitted boundary; parser/request/queue acceptance or implementation self-report does not prove storage, downstream delivery, recovery, security or external effect.
|
|
46
56
|
|
|
47
57
|
Final Gate requires exact expectation/result set equality on its one current snapshot and rejects missing, extra, duplicate, stale, failed, authority-drifted, environment-mismatched, proxy-only, reused or indistinguishable results. External-confirmation obligations emit no fabricated machine row and remain pending through terminal reporting. Manifest/preflight success, hashes, Census, schema validation, focused tests and Progress prove only their own input/integrity/intermediate claims.
|
|
48
58
|
|
|
49
59
|
## Live Target Runtime Evidence
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
|
|
60
|
+
|
|
61
|
+
- Machine target-runtime authority exists only for `package_process_json_exact`: Harness directly spawns the exact declared `runtime_family: process`, `role: product` root entrypoint and derives host execution attestation, target liveness, current exact/presence Actuals and exit result. This does not derive the semantic Given/action sequence required by `interaction_trace`. A project `target_runtime`, new `session_id`, `cold_start: true`, historical session, wrapper or child self-report is diagnostic only.
|
|
62
|
+
- Static package observation proves structure/configuration content only. It cannot prove runtime consumption, interaction, liveness or production reachability merely because its path appears in a Binding or `input_paths`.
|
|
63
|
+
- Browser/native/desktop/device runtime and layout/pixel/accessibility/motion observations have no admitted adapter in this slice. Playwright, H5/browser proxies, project binaries, screenshots and session payloads cannot close those machine Claims; retain a blocking External Confirmation.
|
|
64
|
+
- Target family must equal admitted observer family. A proxy may prove only its own separately admitted Fact; it cannot substitute when proxy and required target can fail independently.
|
|
65
|
+
- Historical reports, screenshots, binaries and logs are review material. Current-run diagnostics may accompany a Check as Artifacts, but only package extraction from the current frozen static carrier or Harness-owned direct process creates accepting Actual.
|
|
66
|
+
- Bind every process runtime dependency through the Source-backed root plus its production owner/Binding. For argv, use only a standalone argument or explicit `--key=value`; Harness resolves a safe repository-relative value from declared `cwd` and includes it only when a production Binding exact path or pattern covers the result. Glob-owned and extensionless files are valid. An unmatched safe relative value is not copied; absolute, escaping, `file:` and network values fail closed unless explicitly external. Bind modules/configuration and Claim/Counterfactual carriers directly. Keep `input_paths` as ordinary Check scope/freshness and project verifier/helper material in `verification_inputs`: it is neither broadly role-scanned nor promoted into the snapshot. The declaration-stable compiled process closure is the only snapshot-copy input, and role separation checks only its actual members. Exact planned members may be absent through Preflight/Compile but must materialize at Final Gate. Compatible Cross-Check and implicit-preserved Facts may share one Raw Execution/envelope, but every Fact keeps its own obligation/comparison identity. A missing production binding for an actual dependency, forbidden closure-role overlap or absent Final member fails closed. This lets existing Progress freshness identify when rolling feedback is stale without a new trigger registry or dependency parser.
|
|
67
|
+
|
|
68
|
+
### Process Containment TCB
|
|
69
|
+
|
|
70
|
+
The isolated runtime-closure snapshot, minimal environment, bounded stdout capture, no-follow/digest checks, direct process handle, timeout, process-tree monitoring and cleanup reduce self-attestation and cross-execution priming. Static observation likewise retains prepare-all mutation watching plus per-file pre/post identity/hash. Subtraction controls reopen transient/persistent carrier swaps or descendant/timeout leaks when those owner responsibilities are removed, so do not replace either pair with prose or a new edge mechanism. They are not an absolute security sandbox. The TCB includes the host OS/filesystem/process APIs, Node runtime and process-enumeration/termination behavior. Harness does not claim to contain a deliberately malicious executable that escapes the copied closure, accesses ambient filesystem/network resources or evades every OS process-tree mechanism. If a Claim needs that adversary boundary, run the target inside an independently controlled sandbox and retain External Confirmation until that observer is separately admitted.
|
|
71
|
+
|
|
72
|
+
## Causal Boundary Review After Revision
|
|
73
|
+
|
|
74
|
+
- When a rolling blocker causes a semantic or proof revision, review only the affected weak-observability or high-risk Outcomes before adoption. Ask whether a cheaper proxy, fixed response or self-reported success could pass while the declared result still fails at a farther independent boundary.
|
|
75
|
+
- Evidence must reach the furthest independently failing boundary named by the Claim. A proxy may prove its own result, but it cannot prove a downstream state or effect merely by reporting success.
|
|
76
|
+
- Every behavioral Claim-bearing Assertion requires a same-Check claim-local semantic Counterfactual with admitted baseline and mutated observations. Use `replace_json_value` or `replace_text` to alter only the asserted semantic field/fragment while preserving the production carrier; the designated affected Fact set must change, `preserved_assertions` and preserved Facts/liveness must remain unchanged, other changes must belong to the explicit allowed fan-out set and the obligation universe must remain identical. `replace_file` remains compatibility-only and cannot establish semantic binding; `remove_paths` remains for non-behavioral existence/structure claims. A machine-closing Check with no admitted entries fails with `counterfactual_admitted_observation_required`; it never skips impact validation.
|
|
77
|
+
- Static Counterfactuals prove only the mutated structure object itself. Runtime production reachability requires `Harness mutation of a compiled production carrier → direct execution of the same Source-backed process product root → package-observed actual change`; baseline and mutated execution bind the same process-closure identity and neither closure contains Authority, verification or evidence input. Binding/path declarations, synthetic status, evidence output and generated verifier carrier do not establish causality.
|
|
62
78
|
- Keep this risk-proportional and internal. Do not create an evidence matrix, product-effect taxonomy, universal restart/end-to-end suite or persistent review state.
|
|
63
|
-
|
|
64
|
-
For semantic Product Conformance, require one separate read-only Global `conformance` Check only when `weak_observability` combines with multiple Stages or multiple required product runtime families. It starts from a required root product target,
|
|
65
|
-
|
|
66
|
-
## Playwright
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
Missing, skipped, flaky, unexpected, timed-out, interrupted, failed, multi-AC and duplicate-within-project cases
|
|
71
|
-
|
|
72
|
-
Standard frozen Playwright
|
|
73
|
-
|
|
74
|
-
## Visual UI Evidence
|
|
75
|
-
|
|
76
|
-
- A selected implementation handoff must already pass `ty-context design-resource preflight`, including frozen-Inspector Census, exact manifest↔handoff universe equality, complete per-resource/Fact Cell/Fact/proof closure, non-sampling/non-truncation and exact-target layout/pixel defaults.
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
79
|
+
|
|
80
|
+
For semantic Product Conformance, require one separate read-only Global `conformance` Check only when `weak_observability` combines with multiple Stages or multiple required product runtime families. It starts from a required root product target, uses a Raw Execution identity independent of Outcome Checks and runs inside the existing Final Gate. It can carry machine `target_runtime` only for an admitted direct-process root; unsupported families remain blocking External Confirmation and the conformance Check cannot bypass that boundary. Single-Stage/single-family weak work keeps the existing same-Check sensitivity path and does not pay this extra runtime cost.
|
|
81
|
+
|
|
82
|
+
## Playwright
|
|
83
|
+
|
|
84
|
+
Playwright is a diagnostic project verifier in the current observer slice, not machine Actual authority. `[ac:<assertion-key>]` may still bind one declared AC per Test Instance for failure localization; ordinary tags are ignored and legacy `[<key>]` binds only a declared key.
|
|
85
|
+
|
|
86
|
+
Missing, skipped, flaky, unexpected, timed-out, interrupted, failed, multi-AC and duplicate-within-project cases remain failed diagnostics. The same AC across distinct projects aggregates all-of for that diagnostic Check, and aggregate status/count fields remain diagnostic-only. None can close a browser/UI machine Claim.
|
|
87
|
+
|
|
88
|
+
Standard frozen Playwright content remains a stable diagnostic verifier input, not an admitted Actual source. Browser/UI machine obligations are External Confirmation in the current slice. Playwright Counterfactual output can localize repairs but cannot create machine acceptance, target-runtime authority or capability proof.
|
|
89
|
+
|
|
90
|
+
## Visual UI Evidence
|
|
91
|
+
|
|
92
|
+
- A selected implementation handoff must already pass `ty-context design-resource preflight`, including frozen-Inspector Census, exact manifest↔handoff universe equality, complete per-resource/Fact Cell/Fact/proof closure, non-sampling/non-truncation and exact-target layout/pixel defaults. Preserve exact handoff `fact_refs`, every property-required Fact × verification-method obligation and its exact expectation. Under the current observer slice, layout, pixel, visual, interaction, motion, accessibility, browser/native/device, protected and tolerance/mask methods bind blocking External Confirmations; project `design_method`, `fact_results`, screenshots and Playwright attachments are repair diagnostics only. A future package-admitted adapter may reuse these identities, but no project verdict can pre-admit it.
|
|
93
|
+
- Keep separately attributable evidence where geometry/pixel/token/content, interaction/state, motion/haptic/sound timeline, accessibility semantic/navigation/visual adaptation and asset integrity cannot falsifiably share one observation method. This preserves the complete selected-design proof universe; it does not admit those currently unsupported methods for machine completion.
|
|
94
|
+
- Never accept an aggregate Boolean, screenshot pass or one `all-states` result in place of per-Fact authority. The expected target cannot be generated from the implementation under test. Plain static/process exact observations remain attributable through package extraction; protected and tolerance/mask obligations remain External Confirmation until an admitted adapter owns their Actual and comparison.
|
|
95
|
+
- Keep `design_resource_integrity` and `design_implementation_conformance` distinct. Stable paths/hashes, provider/export success, manifest/registry membership and expected counts prove resource integrity; `visual_render` proves a current artifact exists. Neither proves the production implementation matches a selected target.
|
|
96
|
+
- When external design resources are Source, account for every selected exact-target/constraint condition that the Contract explicitly adopts. Candidate comparison, a mutable provider link, extraction success, metadata-only output, resource digest or an isolated prototype run is authoring/integrity material and cannot become product acceptance. Resolve each acceptance-affecting fact through a typed locator plus immutable path/hash and declared target/condition applicability before Compile. Include the handoff and every source-profile entry/dependency in `verification_inputs`; unsupported method-specific design, interaction and target-runtime obligations remain separate blocking External Confirmations on the real production target.
|
|
97
|
+
- The decoder may validate a project `design_conformance` record against its compiled target/Assertion/current Check target, conditions and artifacts for diagnostics, but that record is not admitted Actual or comparison authority in this slice. Missing or swapped bindings fail the diagnostic Check; a matching record still cannot machine-close visual conformance or make the implementation render its own comparison authority.
|
|
98
|
+
- Playwright may exercise declared `ui_browser` visual ACs for diagnostic localization. Give each independently falsifiable AC one `[ac:<assertion-key>]` Test Instance, but Playwright is not an admitted machine observer in this slice. Bind every browser visual obligation to blocking External Confirmation; a broad screenshot or one passing page case cannot waive an applicable cell.
|
|
99
|
+
- Make the test environment deterministic enough for its claim: freeze the relevant browser/project, viewport, theme/mode, locale/timezone, font loading, fixtures/data and animation/motion policy in declared verifier inputs or configuration.
|
|
100
|
+
- Any reviewed screenshot baseline that affects pass/fail must exist for the accepting Compile and be included in `verification_inputs`. Generated screenshots, diffs and reports are Artifacts and review material; they are not editable acceptance authority. Creating or replacing a baseline after Authority Lock is verifier-material revision and must never be silently auto-updated to make a failure pass.
|
|
101
|
+
- Confirm that each baseline is a selected `exact-target` for the named surface/viewport/theme/state or implements a named `constraint`; an inspiration reference cannot become a fidelity oracle merely because it is available. The implementation's current screenshot is never its own target.
|
|
102
|
+
- Screenshot comparison is diagnostic only under the current admitted boundary. Keep DOM/layout/accessibility/motion/responsive/input obligations distinct and blocking; one generic `design_conformance` record cannot erase Source Claims, verification methods or their External Confirmations.
|
|
103
|
+
- Keep evidence aligned with stable surface/control/target keys. Visual similarity, interaction/navigation, validation/recovery, permission behavior, accessibility and target-runtime conformance are independently failing claims and need their own Assertions/capabilities when declared; one broad screenshot or UI pass cannot prove all Control fields.
|
|
104
|
+
- Run diagnostic checks against production components or real product routes. Host `target_runtime` is available only when Harness directly executes the process product root; `interaction_trace` has no package derivation in the current slice and remains External Confirmation together with browser/native/device journeys. A detached kit/mock/deep-link harness cannot substitute for the production carrier or root journey.
|
|
88
105
|
- Keep subjective visual quality and approval external. A new visual direction or baseline that needs human judgment remains an explicit external confirmation even when all machine checks pass.
|
|
89
|
-
- `ui_browser`
|
|
90
|
-
- Preserve each handoff blocker's non-empty `required_capabilities`. A machine Claim closes it only
|
|
91
|
-
|
|
92
|
-
##
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
106
|
+
- `ui_browser` does not create machine proof in the current slice. Browser output cannot close native/mobile/desktop Claims; all such runtime reviews stay external until a package-owned adapter is admitted.
|
|
107
|
+
- Preserve each handoff blocker's non-empty `required_capabilities`. A machine Claim closes it only when one admitted adapter for the exact target supplies every required observation; physical device, sensor, camera, orientation, haptic, screen-reader, pixel-density, safe-area and comparable observations are currently target-blocking External Confirmations and cannot be borrowed from a proxy.
|
|
108
|
+
|
|
109
|
+
## Symbolic Noninterference Evidence
|
|
110
|
+
|
|
111
|
+
For every non-interference method, require a digest-identified frozen executable Oracle with the exact `symbolic_noninterference.<side>.<method>` capability. Source proof must use the canonical package-owned restricted Source IR in the complete current Inspector inputs; package preflight binds its current bytes to target/certificate/Rule scope and derives and memoizes the static dependency DAG, exact predicate/axis-erased equivalence or every finite-domain evaluation itself. Submitted graph/predicate/evaluation/pass fields and the artifact are recomputable cache only, and the artifact is excluded from semantic inputs. Executable/CSS/implicit-DOM/template/dynamic/reflected/computed/unfrozen/external Source blocks; production remains limited to package-parsed static HTML plus inert JSON. Both sides bind implementation closure/version/capability, environment, exact current inputs, side snapshot, scopes, omitted axes, derived result, artifact and witness. When proofs exist, Source and production proof digests must match the current Final-Gate certificate expectation/result. Extraction outside admitted representations remains an explicit TCB boundary.
|
|
112
|
+
|
|
113
|
+
## Structured Evidence And Sensitivity
|
|
114
|
+
|
|
115
|
+
Every machine claim-bearing `structured_json_v2` Check needs same-Check Claim-related Counterfactual sensitivity backed by the compiled admitted observer; the project payload alone never supplies Actual. Population declares a real `universe_binding_key`; every universe carrier is an owning-Check `input_path`, and package observation proves exact universe = eligible = observed plus valid exclusions by entity id. Population never substitutes for the claim-local narrow semantic witness and host-derived target-runtime liveness required by an admitted process behavioral Claim. Artifacts and another Check never substitute for sensitivity.
|
|
116
|
+
|
|
117
|
+
Outcome Counterfactual V2 names an Outcome `binding_key`; Global Counterfactual V2 resolves an Outcome-owned `binding_ref`. A Counterfactual mutates only a package-proven subset of implementation carriers, never Source, Context, runners, verification inputs, expected authority, evidence, reports or status. Behavioral witnesses use claim-local `replace_json_value` or `replace_text`, list their designated affected Fact/Assertion set, preserved Fact/liveness set and allowed fan-out set, and require package observations to establish the exact permitted actual changes.
|
|
118
|
+
|
|
119
|
+
An `existing` mutation target must exist at Preflight/Compile and the JSON pointer/text fragment must resolve uniquely. An exact `planned` target, process root or argv dependency may be absent until implementation but must exist at Final Gate; materializing the declared path preserves compiled/Authority identity, while later content changes stale targeted Progress.
|
|
120
|
+
|
|
121
|
+
Artifacts remain review material. They do not prove Claim sensitivity by themselves.
|
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
# Source-Bound Draft Input Reference
|
|
2
|
-
|
|
3
|
-
Read this alongside `contract-authoring.md` when raw, mixed, attachment-heavy or incomplete inputs need Source-quality repair while the same Contract Draft is being mapped. Inputs enter the Draft immediately; this reference is neither an earlier Source-authoring phase nor a standalone
|
|
4
|
-
|
|
5
|
-
## Objective and boundary
|
|
6
|
-
|
|
7
|
-
Preserve every material user, product, technical, visual and acceptance constraint from the initial/revised proposal and supplied resources. Add only traceable necessary derivations, defensible delegated choices and evidence-backed repository facts. Make the real Source understandable without the original conversation before Preflight/Compile, while allowing Draft decomposition and repository binding to proceed incrementally.
|
|
8
|
-
|
|
9
|
-
Do not create
|
|
10
|
-
|
|
11
|
-
## Input inventory
|
|
12
|
-
|
|
13
|
-
1. Assign every proposal, selected design resource, screenshot, document, diagram, table and other attachment a stable input ID.
|
|
14
|
-
2. Inspect all pages/frames/screens/tables/visible states; never silently sample a multi-part artifact. Every non-empty line in a declared Markdown Source file must ultimately belong to exactly one Material Source Item, one keyed and reasoned non-authoritative `ty-source-background:start/end` block, or the one validated `design-resource-handoff-v1` formal block.
|
|
1
|
+
# Source-Bound Draft Input Reference
|
|
2
|
+
|
|
3
|
+
Read this alongside `contract-authoring.md` when raw, mixed, attachment-heavy or incomplete inputs need Source-quality repair while the same Contract Draft is being mapped. Inputs enter the Draft immediately; this reference is neither an earlier Source-authoring phase nor a standalone intermediary planning stage or second lifecycle.
|
|
4
|
+
|
|
5
|
+
## Objective and boundary
|
|
6
|
+
|
|
7
|
+
Preserve every material user, product, technical, visual and acceptance constraint from the initial/revised proposal and supplied resources. Add only traceable necessary derivations, defensible delegated choices and evidence-backed repository facts. Make the real Source understandable without the original conversation before Preflight/Compile, while allowing Draft decomposition and repository binding to proceed incrementally.
|
|
8
|
+
|
|
9
|
+
Do not create an intermediary planning schema, CLI, Preflight, Compile, Receipt, cache, authority, state or internal Source-authoring stage. Contract YAML cannot become the sole owner of a choice or missing semantic. Do not let current implementation silently redefine intent. A pre-existing planning or proposal document is simply one possible input.
|
|
10
|
+
|
|
11
|
+
## Input inventory
|
|
12
|
+
|
|
13
|
+
1. Assign every proposal, selected design resource, screenshot, document, diagram, table and other attachment a stable input ID.
|
|
14
|
+
2. Inspect all pages/frames/screens/tables/visible states; never silently sample a multi-part artifact. Every non-empty line in a declared Markdown Source file must ultimately belong to exactly one Material Source Item, one keyed and reasoned non-authoritative `ty-source-background:start/end` block, or the one validated `design-resource-handoff-v1` formal block.
|
|
15
15
|
3. Classify each input as user instruction, product requirement, technical constraint, existing proposal, selected target, repository/Context evidence, constraint, inspiration or background. Background is a closed grammar: `markdown-structure` contains only text-free anchors or horizontal rules, and `provenance` contains only `ty-source-provenance input=<key> mode=<direct|derived|delegated|evidence-backed> [source=<key>] [sha256=<64-lowercase-hex>]` comments; non-direct modes require `source`. Text-bearing headings, free-form provenance and explanatory prose are material or unclassified even when intended as non-authoritative; background must never hide a qualifier, requirement, acceptance fact, architecture meaning, design meaning or other delivery authority.
|
|
16
|
-
4. For visual resources, preserve selection basis, classification (`exact-target`, `constraint` or `inspiration`), stable resource/surface/control/state/target keys, declared platform/viewport/mode/state/content applicability, source profile/canonical entry/dependency set, provider/project/run/entry provenance and immutable digest/snapshot, plus typed locators. A mutable link, metadata-only response, partial file set or prose locator is incomplete. Unselected candidates authorize no fidelity.
|
|
17
|
-
5. Record incorporated meaning and every unreadable, conflicting or intentionally unused part. Higher authority and user-stated precedence win; unresolved conflicts remain decisions.
|
|
18
|
-
|
|
19
|
-
## Preference and research gate
|
|
20
|
-
|
|
21
|
-
Before comparative research or a material product, technical, architecture or provider selection, identify decision-changing criteria such as fidelity versus cost, delivery speed, reliability/support, privacy/compliance, lock-in/control, operational burden, platform scope and extensibility.
|
|
22
|
-
|
|
23
|
-
Infer preferences only from user words, Source, Context or controlling constraints. If an unknown preference would materially change research or recommendation, ask one concise targeted clarification before proceeding. Do not impose a questionnaire, re-ask known preferences or pause for minor reversible choices with the same defensible recommendation.
|
|
24
|
-
|
|
25
|
-
Use current primary/authoritative evidence for changing external facts. Record source, scope and retrieval date. Preference clarification authorizes plan meaning, not payment, contracting, deployment/publication, destructive production mutation, permission grants, sensitive-data transmission or required legal/security/human approval; those remain typed external confirmations.
|
|
26
|
-
|
|
27
|
-
## Working strategies, not phases
|
|
28
|
-
|
|
29
|
-
Choose locally as needed while revising the same Draft; do not expose these as lifecycle stages or ask the user to choose:
|
|
30
|
-
|
|
31
|
-
- **refinement:** preserve and complete a substantially developed proposal;
|
|
32
|
-
- **synthesis:** build coherent Source from a goal plus mixed inputs;
|
|
33
|
-
- **hybrid:** use one proposal as backbone and fill gaps from other inputs.
|
|
34
|
-
|
|
35
|
-
A short request is sufficient when roles, goal and reference authority are recoverable. Reuse an authorized writable proposal as the real Source. If the delivery exists only in conversation, materialize exactly one project-native Markdown Source according to repository convention. Do not create a parallel planning artifact.
|
|
36
|
-
|
|
37
|
-
## Semantic authoring
|
|
38
|
-
|
|
39
|
-
For every material item, preserve one origin:
|
|
40
|
-
|
|
41
|
-
- `direct`: stated by user or controlling input, with all qualifiers;
|
|
42
|
-
- `derived`: unavoidable for completeness/falsifiability, identifies `Derived From`, states why necessary and changes no user capability, business rule or scope;
|
|
43
|
-
- `delegated`: a defensible choice requested by instructions to synthesize/refine/use judgment, records `Delegated By`, preference/evidence basis and exact added meaning;
|
|
44
|
-
- `evidence-backed`: repository/Context fact with exact source and no promotion of incidental code shape to product intent;
|
|
45
|
-
- `decision_required`: conflicting authority, explicitly user-reserved choice, missing material preference or no defensible recommendation.
|
|
46
|
-
|
|
47
|
-
High impact or several options is not itself a reason to pause when criteria support one recommendation. Keep real high-risk actions as external confirmations. Never introduce a requirement for the first time only inside acceptance criteria.
|
|
48
|
-
|
|
49
|
-
## Structure and stable keys
|
|
50
|
-
|
|
51
|
-
Use stable semantic lowercase-kebab keys and Markdown anchors where practical. Preserve keys when wording changes but meaning does not; never renumber for ordering or reuse a retired key for new meaning.
|
|
52
|
-
|
|
53
|
-
Define vertical Outcomes only when observable results are independently decidable and later verifiable. Do not split by response length, frontend/backend layer, module count, agent capacity or desired parallelism; do not merge distinct results merely for brevity.
|
|
54
|
-
|
|
16
|
+
4. For visual resources, preserve selection basis, classification (`exact-target`, `constraint` or `inspiration`), stable resource/surface/control/state/target keys, declared platform/viewport/mode/state/content applicability, source profile/canonical entry/dependency set, provider/project/run/entry provenance and immutable digest/snapshot, plus typed locators. A mutable link, metadata-only response, partial file set or prose locator is incomplete. Unselected candidates authorize no fidelity.
|
|
17
|
+
5. Record incorporated meaning and every unreadable, conflicting or intentionally unused part. Higher authority and user-stated precedence win; unresolved conflicts remain decisions.
|
|
18
|
+
|
|
19
|
+
## Preference and research gate
|
|
20
|
+
|
|
21
|
+
Before comparative research or a material product, technical, architecture or provider selection, identify decision-changing criteria such as fidelity versus cost, delivery speed, reliability/support, privacy/compliance, lock-in/control, operational burden, platform scope and extensibility.
|
|
22
|
+
|
|
23
|
+
Infer preferences only from user words, Source, Context or controlling constraints. If an unknown preference would materially change research or recommendation, ask one concise targeted clarification before proceeding. Do not impose a questionnaire, re-ask known preferences or pause for minor reversible choices with the same defensible recommendation.
|
|
24
|
+
|
|
25
|
+
Use current primary/authoritative evidence for changing external facts. Record source, scope and retrieval date. Preference clarification authorizes plan meaning, not payment, contracting, deployment/publication, destructive production mutation, permission grants, sensitive-data transmission or required legal/security/human approval; those remain typed external confirmations.
|
|
26
|
+
|
|
27
|
+
## Working strategies, not phases
|
|
28
|
+
|
|
29
|
+
Choose locally as needed while revising the same Draft; do not expose these as lifecycle stages or ask the user to choose:
|
|
30
|
+
|
|
31
|
+
- **refinement:** preserve and complete a substantially developed proposal;
|
|
32
|
+
- **synthesis:** build coherent Source from a goal plus mixed inputs;
|
|
33
|
+
- **hybrid:** use one proposal as backbone and fill gaps from other inputs.
|
|
34
|
+
|
|
35
|
+
A short request is sufficient when roles, goal and reference authority are recoverable. Reuse an authorized writable proposal as the real Source. If the delivery exists only in conversation, materialize exactly one project-native Markdown Source according to repository convention. Do not create a parallel planning artifact.
|
|
36
|
+
|
|
37
|
+
## Semantic authoring
|
|
38
|
+
|
|
39
|
+
For every material item, preserve one origin:
|
|
40
|
+
|
|
41
|
+
- `direct`: stated by user or controlling input, with all qualifiers;
|
|
42
|
+
- `derived`: unavoidable for completeness/falsifiability, identifies `Derived From`, states why necessary and changes no user capability, business rule or scope;
|
|
43
|
+
- `delegated`: a defensible choice requested by instructions to synthesize/refine/use judgment, records `Delegated By`, preference/evidence basis and exact added meaning;
|
|
44
|
+
- `evidence-backed`: repository/Context fact with exact source and no promotion of incidental code shape to product intent;
|
|
45
|
+
- `decision_required`: conflicting authority, explicitly user-reserved choice, missing material preference or no defensible recommendation.
|
|
46
|
+
|
|
47
|
+
High impact or several options is not itself a reason to pause when criteria support one recommendation. Keep real high-risk actions as external confirmations. Never introduce a requirement for the first time only inside acceptance criteria.
|
|
48
|
+
|
|
49
|
+
## Structure and stable keys
|
|
50
|
+
|
|
51
|
+
Use stable semantic lowercase-kebab keys and Markdown anchors where practical. Preserve keys when wording changes but meaning does not; never renumber for ordering or reuse a retired key for new meaning.
|
|
52
|
+
|
|
53
|
+
Define vertical Outcomes only when observable results are independently decidable and later verifiable. Do not split by response length, frontend/backend layer, module count, agent capacity or desired parallelism; do not merge distinct results merely for brevity.
|
|
54
|
+
|
|
55
55
|
Use only applicable semantic types:
|
|
56
|
-
|
|
57
|
-
- result/Outcome;
|
|
58
|
-
- Requirement (`REQ`);
|
|
59
|
-
- user-visible Control (`CTRL`);
|
|
60
|
-
- technical obligation (`OBL`);
|
|
61
|
-
- explicitly non-completing meaning (`NCOMP`);
|
|
62
|
-
- acceptance scenario (`AC`);
|
|
63
|
-
- global non-goal/constraint and forbidden shortcut;
|
|
64
|
-
- risk with exact Fact, Affected Outcome, Basis and Consequence;
|
|
65
|
-
- external confirmation (`EXT`);
|
|
66
|
-
- genuine decision (`DEC`);
|
|
56
|
+
|
|
57
|
+
- result/Outcome;
|
|
58
|
+
- Requirement (`REQ`);
|
|
59
|
+
- user-visible Control (`CTRL`);
|
|
60
|
+
- technical obligation (`OBL`);
|
|
61
|
+
- explicitly non-completing meaning (`NCOMP`);
|
|
62
|
+
- acceptance scenario (`AC`);
|
|
63
|
+
- global non-goal/constraint and forbidden shortcut;
|
|
64
|
+
- risk with exact Fact, Affected Outcome, Basis and Consequence;
|
|
65
|
+
- external confirmation (`EXT`);
|
|
66
|
+
- genuine decision (`DEC`);
|
|
67
67
|
- advisory implementation hint (`HINT`), which is not a material requirement.
|
|
68
68
|
|
|
69
69
|
## Non-UI semantic completeness
|
|
@@ -83,41 +83,41 @@ Before implementation and formal Compile:
|
|
|
83
83
|
This expansion cannot invent a real product/legal/security/commercial/safety choice. A defensible delegated choice must first become traceable Material Source; an unsupported or user-reserved choice remains a blocker or typed External Confirmation. The named Inspector/Oracle is an explicit trusted-computing boundary, and custom extensions are mandatory when the standard catalog cannot observe the domain.
|
|
84
84
|
|
|
85
85
|
## UI and control completeness
|
|
86
|
-
|
|
86
|
+
|
|
87
87
|
For each in-scope surface, record purpose, entry/exit/navigation, regions/overlays and included Control keys. For every real material interactive Control, close every canonical field independently:
|
|
88
|
-
|
|
89
|
-
`surface`, `region`, `location`, `control type`, `label/content`, `user task`, `visibility`, `availability`, `trigger`, `input`, `validation`, `default`, `interaction`, `navigation/result`, `loading`, `empty`, `success`, `failure`, `recovery`, `permission`, `feedback` and `accessibility`.
|
|
90
|
-
|
|
88
|
+
|
|
89
|
+
`surface`, `region`, `location`, `control type`, `label/content`, `user task`, `visibility`, `availability`, `trigger`, `input`, `validation`, `default`, `interaction`, `navigation/result`, `loading`, `empty`, `success`, `failure`, `recovery`, `permission`, `feedback` and `accessibility`.
|
|
90
|
+
|
|
91
91
|
For each field record concrete `specified` meaning, an explicit justified `not_applicable` statement, or blocking `unresolved`; omission is not non-applicability. Also preserve every material cross-Control and system relation—including shared state, ordering/dependency, mutual exclusion, navigation, permission, recovery, validation and feedback chains—and explicitly close the Outcome as `not_applicable` only when no such relation exists. Each specified or not-applicable fact, including relation closure, must name its actual target, atomic condition/input/state dimensions and Given/When journey applicability.
|
|
92
|
-
|
|
93
|
-
Do not invent controls for a non-interface delivery. A coarse frame or configured design system does not supply unshown states. Selected design resources and product/technical Source remain parallel: visuals cannot invent business/data/permission/algorithmic rules.
|
|
94
|
-
|
|
92
|
+
|
|
93
|
+
Do not invent controls for a non-interface delivery. A coarse frame or configured design system does not supply unshown states. Selected design resources and product/technical Source remain parallel: visuals cannot invent business/data/permission/algorithmic rules.
|
|
94
|
+
|
|
95
95
|
For every selected exact/constraint target, preserve the declared platform/viewport/mode/state/content conditions and identify which surface and Control keys it governs. A formal Web/App handoff also preserves its canonical Fact-manifest identity, frozen Inspector/Census and the exact handoff projection of condition axes/combinations, subject hierarchy, subject-local variations, atomic properties, Fact Cells/Facts, proof obligations, Oracles/environments, design-system lineage, assets and blockers. Product Controls and eight UI/UX dimensions are semantic/roll-up owners, not the Fact ceiling. Do not collapse a component instance or Anatomy Part into its family, several states into `all-states`, several conditions into one label, or several property/method obligations into one broad visual claim. Canonical resources retain exact values; Source and Contract retain stable Fact identities and located-digest/comparison authority rather than copied CSS.
|
|
96
96
|
|
|
97
97
|
Before Compile, confirm the formal handoff already proves `Expected Fact Universe = Canonical Resource Facts = Handoff Indexed Facts`, including explicit N/A/exclusion basis and non-sampling/non-truncation. Each covered Fact has all property-required verification methods, and each exact target condition has full-target layout and pixel Facts. Separately record any design-resource acceptance blocker supplied by the Source, including its exact Source items, verification methods and non-empty runtime-observation `required_capabilities`. Do not weaken a physical-device, sensor, camera, orientation, haptic, assistive-technology, pixel-density, safe-area or other target-local need into a generic browser/runtime label merely because the proxy is available. File identity, hashes, provider/export success, registry membership, Census counts and preflight are integrity/input-closure facts only; they do not state that a production owner, real-user journey or rendered interaction conforms.
|
|
98
|
-
|
|
99
|
-
## Acceptance and risk
|
|
100
|
-
|
|
101
|
-
Each AC has exactly one Given/When/Then scenario, names the REQ/CTRL/OBL/NCOMP meaning it accepts and introduces no undeclared product semantics. Keep representative/sample/framework checks distinct from full-population claims and partial delivery distinct from completion.
|
|
102
|
-
|
|
103
|
-
Use the Runtime's exact risk Fact names when marking risk. Data migration is `data_migration`; a weakly observable critical path is separate `critical_user_path` and `weak_observability` facts; preserve `multi_repository_change` in Source so Contract compilation can reject unsupported delivery honestly.
|
|
104
|
-
|
|
105
|
-
## Preflight/Compile convergence audit
|
|
106
|
-
|
|
107
|
-
Before Preflight/Compile confirm:
|
|
108
|
-
|
|
109
|
-
1. Every material original statement and qualifier is preserved.
|
|
98
|
+
|
|
99
|
+
## Acceptance and risk
|
|
100
|
+
|
|
101
|
+
Each AC has exactly one Given/When/Then scenario, names the REQ/CTRL/OBL/NCOMP meaning it accepts and introduces no undeclared product semantics. Keep representative/sample/framework checks distinct from full-population claims and partial delivery distinct from completion.
|
|
102
|
+
|
|
103
|
+
Use the Runtime's exact risk Fact names when marking risk. Data migration is `data_migration`; a weakly observable critical path is separate `critical_user_path` and `weak_observability` facts; preserve `multi_repository_change` in Source so Contract compilation can reject unsupported delivery honestly.
|
|
104
|
+
|
|
105
|
+
## Preflight/Compile convergence audit
|
|
106
|
+
|
|
107
|
+
Before Preflight/Compile confirm:
|
|
108
|
+
|
|
109
|
+
1. Every material original statement and qualifier is preserved.
|
|
110
110
|
2. Every supplied input is incorporated or has an explicit unreadable/unused/conflict disposition, and every non-empty Source line is owned by a Material Item, closed-grammar structure/provenance background block or validated formal block.
|
|
111
|
-
3. Distinct requirements and independently decidable Outcomes were not collapsed.
|
|
112
|
-
4. Every real Control has all 22 canonical fields closed as specified, justified not applicable or unresolved; every material cross-Control/shared-state/navigation/permission/recovery relation is specified or the Outcome explicitly declares that no such relation exists.
|
|
113
|
-
5. Every REQ, specified/not-applicable CTRL field and Control relation has exact applicability plus acceptance, external confirmation, decision or explicit exception; unresolved coverage blocks.
|
|
114
|
-
6. Derived/delegated/evidence-backed items have traceable basis and no hidden product expansion.
|
|
115
|
-
7. Non-goals, forbidden shortcuts, risks and recovery are concrete.
|
|
116
|
-
8. No unsupported number, threshold, metric or external claim appears.
|
|
111
|
+
3. Distinct requirements and independently decidable Outcomes were not collapsed.
|
|
112
|
+
4. Every real Control has all 22 canonical fields closed as specified, justified not applicable or unresolved; every material cross-Control/shared-state/navigation/permission/recovery relation is specified or the Outcome explicitly declares that no such relation exists.
|
|
113
|
+
5. Every REQ, specified/not-applicable CTRL field and Control relation has exact applicability plus acceptance, external confirmation, decision or explicit exception; unresolved coverage blocks.
|
|
114
|
+
6. Derived/delegated/evidence-backed items have traceable basis and no hidden product expansion.
|
|
115
|
+
7. Non-goals, forbidden shortcuts, risks and recovery are concrete.
|
|
116
|
+
8. No unsupported number, threshold, metric or external claim appears.
|
|
117
117
|
9. Selected design resources retain stable identity and exact declared coverage; formal Web/App handoffs retain manifest-backed atomic Fact/proof universes with no aggregate, sampled or truncated coverage; candidates remain non-authoritative.
|
|
118
118
|
10. Every material UI Fact and Control can be mapped to a production target/owner, real-user entry journey and independently attributable acceptance route, while every declared design blocker has an explicit machine or target-blocking external-confirmation disposition. Removing one from scope requires an explicit Source revision; Contract prose cannot waive it.
|
|
119
119
|
11. The Source is self-contained enough to own every mapped Draft semantic and names every still-required external artifact.
|
|
120
120
|
12. At least one marked `technical_obligation` carries `aspect=architecture`, preserves the selected owner/dependency/debt conclusion, and maps to an independently falsifiable architecture obligation rather than only a Result Claim.
|
|
121
121
|
13. The one `semantic-fact-manifest-v1` exactly inventories all material non-UI inputs and complete standard/custom family, unit/relation/population, condition, property, Fact and proof-obligation universes; every ordinary Material Source Item contributes exact Fact lineage, all generation collections have complete count/digest closure, and no aggregate/sample/ungrounded N/A/unresolved row is hidden.
|
|
122
|
-
|
|
122
|
+
|
|
123
123
|
Complete non-rendering `ty-source-item:start/end` markers in the real Markdown Source without rewriting direct text, wrap only recognized Markdown structure or structured provenance in uniquely keyed and reasoned `ty-source-background:start/end` blocks, retain at most one schema-valid `design-resource-handoff-v1` formal block, and finish the corresponding Contract mapping in the same loop. Unclassified text, arbitrary prose inside background, a background block used to hide material meaning, unresolved Control coverage or missing applicability blocks Preflight/Compile. Neither markers nor this audit delay opening the Draft.
|