project-tiny-context-harness 0.8.17 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -30
- package/assets/README.md +158 -44
- package/assets/README.zh-CN.md +88 -29
- package/assets/agents/AGENTS_CORE.md +2 -2
- package/assets/context_templates/context.toml +6 -1
- package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_helpers.cs +301 -0
- package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_run.cs +197 -0
- package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_types.cs +215 -0
- package/assets/runtime/windows-job-supervisor/windows_job_process_supervisor.ps1 +117 -0
- package/assets/skills/design-resource-authoring/SKILL.md +6 -3
- package/assets/skills/design-resource-authoring/references/authority-delta-assessment.md +52 -0
- package/assets/skills/design-resource-authoring/references/downstream-handoff.md +5 -1
- package/assets/skills/design-system-authoring/SKILL.md +23 -17
- package/assets/skills/design-system-authoring/references/authority-adoption.md +19 -9
- package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +4 -0
- package/assets/skills/long-task-workflow/SKILL.md +6 -6
- package/assets/skills/long-task-workflow/references/authority-lifecycle.md +10 -4
- package/assets/skills/long-task-workflow/references/contract-authoring.md +5 -5
- package/assets/skills/long-task-workflow/references/evidence-design.md +14 -3
- package/assets/skills/long-task-workflow/references/source-authoring.md +11 -8
- package/assets/tools/context_rules.json +53 -0
- package/assets/tools/validate_context.py +302 -77
- package/dist/cli.js +2 -1
- package/dist/commands/context-create.d.ts +1 -0
- package/dist/commands/context-create.js +90 -0
- package/dist/commands/context-inspect.d.ts +1 -0
- package/dist/commands/context-inspect.js +98 -0
- package/dist/commands/context-move.d.ts +1 -0
- package/dist/commands/context-move.js +78 -0
- package/dist/commands/context-register.d.ts +1 -0
- package/dist/commands/context-register.js +110 -0
- package/dist/commands/context-transaction.d.ts +1 -0
- package/dist/commands/context-transaction.js +84 -0
- package/dist/commands/context.d.ts +1 -0
- package/dist/commands/context.js +36 -0
- package/dist/commands/design-authority-delta.d.ts +1 -0
- package/dist/commands/design-authority-delta.js +53 -0
- package/dist/commands/design-authority.d.ts +1 -0
- package/dist/commands/design-authority.js +104 -0
- package/dist/commands/design-resource.js +8 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.js +61 -3
- package/dist/commands/index.js +19 -2
- package/dist/commands/long-task-authoring.js +20 -2
- package/dist/commands/long-task-workdir.d.ts +2 -0
- package/dist/commands/long-task-workdir.js +23 -0
- package/dist/commands/long-task.js +75 -6
- package/dist/commands/route.d.ts +15 -0
- package/dist/commands/route.js +142 -0
- package/dist/index.d.ts +3 -13
- package/dist/index.js +3 -12
- package/dist/lib/cli-exit.d.ts +14 -0
- package/dist/lib/cli-exit.js +19 -0
- package/dist/lib/context-catalog/catalog-default-footprint.d.ts +3 -0
- package/dist/lib/context-catalog/catalog-default-footprint.js +53 -0
- package/dist/lib/context-catalog/catalog-diagnostics.d.ts +9 -0
- package/dist/lib/context-catalog/catalog-diagnostics.js +34 -0
- package/dist/lib/context-catalog/catalog-discovery.d.ts +7 -0
- package/dist/lib/context-catalog/catalog-discovery.js +81 -0
- package/dist/lib/context-catalog/catalog-load.d.ts +8 -0
- package/dist/lib/context-catalog/catalog-load.js +187 -0
- package/dist/lib/context-catalog/catalog-path-validation.d.ts +7 -0
- package/dist/lib/context-catalog/catalog-path-validation.js +62 -0
- package/dist/lib/context-catalog/catalog-paths.d.ts +11 -0
- package/dist/lib/context-catalog/catalog-paths.js +41 -0
- package/dist/lib/context-catalog/catalog-portable-contract.d.ts +15 -0
- package/dist/lib/context-catalog/catalog-portable-contract.js +68 -0
- package/dist/lib/context-catalog/catalog-staged-path-safety.d.ts +1 -0
- package/dist/lib/context-catalog/catalog-staged-path-safety.js +36 -0
- package/dist/lib/context-catalog/catalog-types.d.ts +40 -0
- package/dist/lib/context-catalog/catalog-types.js +1 -0
- package/dist/lib/context-catalog/catalog-validation.d.ts +9 -0
- package/dist/lib/context-catalog/catalog-validation.js +148 -0
- package/dist/lib/context-create/context-create-path.d.ts +2 -0
- package/dist/lib/context-create/context-create-path.js +30 -0
- package/dist/lib/context-create/context-create-template.d.ts +2 -0
- package/dist/lib/context-create/context-create-template.js +95 -0
- package/dist/lib/context-create/context-create-types.d.ts +28 -0
- package/dist/lib/context-create/context-create-types.js +1 -0
- package/dist/lib/context-create/context-create-write.d.ts +1 -0
- package/dist/lib/context-create/context-create-write.js +85 -0
- package/dist/lib/context-create/context-create.d.ts +2 -0
- package/dist/lib/context-create/context-create.js +84 -0
- package/dist/lib/context-default-footprint.d.ts +2 -3
- package/dist/lib/context-default-footprint.js +49 -57
- package/dist/lib/context-doctor/context-doctor-types.d.ts +16 -0
- package/dist/lib/context-doctor/context-doctor-types.js +15 -0
- package/dist/lib/context-doctor/context-doctor.d.ts +2 -0
- package/dist/lib/context-doctor/context-doctor.js +130 -0
- package/dist/lib/context-graph-snapshot.d.ts +5 -0
- package/dist/lib/context-graph-snapshot.js +46 -25
- package/dist/lib/context-inspect/context-inspect-projection.d.ts +9 -0
- package/dist/lib/context-inspect/context-inspect-projection.js +49 -0
- package/dist/lib/context-inspect/context-inspect-render.d.ts +2 -0
- package/dist/lib/context-inspect/context-inspect-render.js +29 -0
- package/dist/lib/context-inspect/context-inspect-types.d.ts +43 -0
- package/dist/lib/context-inspect/context-inspect-types.js +1 -0
- package/dist/lib/context-inspect/context-inspect.d.ts +2 -0
- package/dist/lib/context-inspect/context-inspect.js +104 -0
- package/dist/lib/context-manifest-schema.d.ts +1 -1
- package/dist/lib/context-manifest-schema.js +4 -20
- package/dist/lib/context-markdown/context-markdown-analysis.d.ts +15 -0
- package/dist/lib/context-markdown/context-markdown-analysis.js +245 -0
- package/dist/lib/context-markdown/context-markdown-extract.d.ts +7 -0
- package/dist/lib/context-markdown/context-markdown-extract.js +114 -0
- package/dist/lib/context-markdown/context-markdown-types.d.ts +57 -0
- package/dist/lib/context-markdown/context-markdown-types.js +1 -0
- package/dist/lib/context-move/context-move-input.d.ts +8 -0
- package/dist/lib/context-move/context-move-input.js +17 -0
- package/dist/lib/context-move/context-move-literal-scan.d.ts +20 -0
- package/dist/lib/context-move/context-move-literal-scan.js +213 -0
- package/dist/lib/context-move/context-move-live-validation.d.ts +3 -0
- package/dist/lib/context-move/context-move-live-validation.js +56 -0
- package/dist/lib/context-move/context-move-markdown-plan.d.ts +22 -0
- package/dist/lib/context-move/context-move-markdown-plan.js +39 -0
- package/dist/lib/context-move/context-move-projection.d.ts +3 -0
- package/dist/lib/context-move/context-move-projection.js +11 -0
- package/dist/lib/context-move/context-move-reference-validation.d.ts +11 -0
- package/dist/lib/context-move/context-move-reference-validation.js +64 -0
- package/dist/lib/context-move/context-move-render.d.ts +2 -0
- package/dist/lib/context-move/context-move-render.js +24 -0
- package/dist/lib/context-move/context-move-support.d.ts +10 -0
- package/dist/lib/context-move/context-move-support.js +88 -0
- package/dist/lib/context-move/context-move-transaction-plan.d.ts +24 -0
- package/dist/lib/context-move/context-move-transaction-plan.js +108 -0
- package/dist/lib/context-move/context-move-types.d.ts +74 -0
- package/dist/lib/context-move/context-move-types.js +1 -0
- package/dist/lib/context-move/context-move.d.ts +8 -0
- package/dist/lib/context-move/context-move.js +180 -0
- package/dist/lib/context-mutation/manifest-lossless-patch.d.ts +28 -0
- package/dist/lib/context-mutation/manifest-lossless-patch.js +208 -0
- package/dist/lib/context-mutation/markdown-link-patch.d.ts +34 -0
- package/dist/lib/context-mutation/markdown-link-patch.js +143 -0
- package/dist/lib/context-mutation/markdown-link-spans.d.ts +10 -0
- package/dist/lib/context-mutation/markdown-link-spans.js +179 -0
- package/dist/lib/context-mutation/mutation-cas.d.ts +13 -0
- package/dist/lib/context-mutation/mutation-cas.js +365 -0
- package/dist/lib/context-mutation/mutation-command-support.d.ts +12 -0
- package/dist/lib/context-mutation/mutation-command-support.js +57 -0
- package/dist/lib/context-mutation/mutation-commit.d.ts +12 -0
- package/dist/lib/context-mutation/mutation-commit.js +89 -0
- package/dist/lib/context-mutation/mutation-directories.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-directories.js +56 -0
- package/dist/lib/context-mutation/mutation-file-state.d.ts +14 -0
- package/dist/lib/context-mutation/mutation-file-state.js +137 -0
- package/dist/lib/context-mutation/mutation-journal-file-validation.d.ts +1 -0
- package/dist/lib/context-mutation/mutation-journal-file-validation.js +106 -0
- package/dist/lib/context-mutation/mutation-journal-io.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-journal-io.js +55 -0
- package/dist/lib/context-mutation/mutation-journal-storage.d.ts +18 -0
- package/dist/lib/context-mutation/mutation-journal-storage.js +283 -0
- package/dist/lib/context-mutation/mutation-journal-validation-support.d.ts +16 -0
- package/dist/lib/context-mutation/mutation-journal-validation-support.js +140 -0
- package/dist/lib/context-mutation/mutation-journal-validation.d.ts +3 -0
- package/dist/lib/context-mutation/mutation-journal-validation.js +177 -0
- package/dist/lib/context-mutation/mutation-journal.d.ts +8 -0
- package/dist/lib/context-mutation/mutation-journal.js +111 -0
- package/dist/lib/context-mutation/mutation-live-validation.d.ts +3 -0
- package/dist/lib/context-mutation/mutation-live-validation.js +51 -0
- package/dist/lib/context-mutation/mutation-long-task-guard.d.ts +6 -0
- package/dist/lib/context-mutation/mutation-long-task-guard.js +57 -0
- package/dist/lib/context-mutation/mutation-recovery.d.ts +4 -0
- package/dist/lib/context-mutation/mutation-recovery.js +189 -0
- package/dist/lib/context-mutation/mutation-staged-fs.d.ts +5 -0
- package/dist/lib/context-mutation/mutation-staged-fs.js +56 -0
- package/dist/lib/context-mutation/mutation-types.d.ts +103 -0
- package/dist/lib/context-mutation/mutation-types.js +1 -0
- package/dist/lib/context-register/context-register-input.d.ts +11 -0
- package/dist/lib/context-register/context-register-input.js +43 -0
- package/dist/lib/context-register/context-register-render.d.ts +2 -0
- package/dist/lib/context-register/context-register-render.js +21 -0
- package/dist/lib/context-register/context-register-support.d.ts +6 -0
- package/dist/lib/context-register/context-register-support.js +46 -0
- package/dist/lib/context-register/context-register-types.d.ts +46 -0
- package/dist/lib/context-register/context-register-types.js +1 -0
- package/dist/lib/context-register/context-register.d.ts +8 -0
- package/dist/lib/context-register/context-register.js +155 -0
- package/dist/lib/context-router/context-route-budget.d.ts +15 -0
- package/dist/lib/context-router/context-route-budget.js +14 -0
- package/dist/lib/context-router/context-route-candidates.d.ts +15 -0
- package/dist/lib/context-router/context-route-candidates.js +112 -0
- package/dist/lib/context-router/context-route-order.d.ts +6 -0
- package/dist/lib/context-router/context-route-order.js +53 -0
- package/dist/lib/context-router/context-route-paths.d.ts +16 -0
- package/dist/lib/context-router/context-route-paths.js +109 -0
- package/dist/lib/context-router/context-route-render.d.ts +2 -0
- package/dist/lib/context-router/context-route-render.js +32 -0
- package/dist/lib/context-router/context-route-scan.d.ts +18 -0
- package/dist/lib/context-router/context-route-scan.js +156 -0
- package/dist/lib/context-router/context-route-selection.d.ts +16 -0
- package/dist/lib/context-router/context-route-selection.js +72 -0
- package/dist/lib/context-router/context-route-terms.d.ts +13 -0
- package/dist/lib/context-router/context-route-terms.js +202 -0
- package/dist/lib/context-router/context-route-types.d.ts +101 -0
- package/dist/lib/context-router/context-route-types.js +1 -0
- package/dist/lib/context-router/context-route.d.ts +2 -0
- package/dist/lib/context-router/context-route.js +127 -0
- package/dist/lib/context-units-migration.d.ts +13 -0
- package/dist/lib/context-units-migration.js +217 -0
- package/dist/lib/design-authority-binding.d.ts +7 -0
- package/dist/lib/design-authority-binding.js +96 -0
- package/dist/lib/design-authority-closure.d.ts +3 -0
- package/dist/lib/design-authority-closure.js +201 -0
- package/dist/lib/design-authority-delta-codec-primitives.d.ts +10 -0
- package/dist/lib/design-authority-delta-codec-primitives.js +58 -0
- package/dist/lib/design-authority-delta-codec.d.ts +2 -0
- package/dist/lib/design-authority-delta-codec.js +193 -0
- package/dist/lib/design-authority-delta-types.d.ts +65 -0
- package/dist/lib/design-authority-delta-types.js +6 -0
- package/dist/lib/design-authority-delta-validation.d.ts +2 -0
- package/dist/lib/design-authority-delta-validation.js +16 -0
- package/dist/lib/design-authority-digest.d.ts +8 -0
- package/dist/lib/design-authority-digest.js +36 -0
- package/dist/lib/design-authority-files.d.ts +9 -0
- package/dist/lib/design-authority-files.js +62 -0
- package/dist/lib/design-authority-format.d.ts +2 -0
- package/dist/lib/design-authority-format.js +93 -0
- package/dist/lib/design-authority-links.d.ts +10 -0
- package/dist/lib/design-authority-links.js +137 -0
- package/dist/lib/design-authority-manifest.d.ts +4 -0
- package/dist/lib/design-authority-manifest.js +144 -0
- package/dist/lib/design-authority-tokens.d.ts +9 -0
- package/dist/lib/design-authority-tokens.js +45 -0
- package/dist/lib/design-authority-types.d.ts +80 -0
- package/dist/lib/design-authority-types.js +23 -0
- package/dist/lib/design-md-tool-adapter.d.ts +9 -0
- package/dist/lib/design-md-tool-adapter.js +152 -0
- package/dist/lib/design-md-tool-normalization.d.ts +7 -0
- package/dist/lib/design-md-tool-normalization.js +78 -0
- package/dist/lib/design-md-tool-types.d.ts +99 -0
- package/dist/lib/design-md-tool-types.js +8 -0
- package/dist/lib/design-resource-handoff-input-types.d.ts +1 -1
- package/dist/lib/design-resource-handoff-manifest-projection.js +3 -0
- package/dist/lib/design-resource-handoff-shape.js +14 -2
- package/dist/lib/design-resource-handoff-types.d.ts +3 -0
- package/dist/lib/design-resource-handoff-validation.js +16 -4
- package/dist/lib/design-resource-implementation-feasibility-validation-support.js +1 -1
- package/dist/lib/design-resource-recovery-current.js +22 -0
- package/dist/lib/design-resource-recovery-shape.js +64 -7
- package/dist/lib/design-resource-recovery-types.d.ts +4 -1
- package/dist/lib/design-resource-symbolic-fact-shape.js +7 -1
- package/dist/lib/design-resource-symbolic-fact-types.d.ts +3 -0
- package/dist/lib/design-resource-symbolic-fact-validation.js +15 -3
- package/dist/lib/doctor.d.ts +2 -1
- package/dist/lib/doctor.js +29 -1
- package/dist/lib/fs.js +1 -1
- package/dist/lib/long-task-acceptance-reachability-claims.d.ts +2 -0
- package/dist/lib/long-task-acceptance-reachability-claims.js +279 -0
- package/dist/lib/long-task-acceptance-reachability-design.d.ts +2 -0
- package/dist/lib/long-task-acceptance-reachability-design.js +96 -0
- package/dist/lib/long-task-acceptance-reachability-external.d.ts +9 -0
- package/dist/lib/long-task-acceptance-reachability-external.js +123 -0
- package/dist/lib/long-task-acceptance-reachability-helpers.d.ts +64 -0
- package/dist/lib/long-task-acceptance-reachability-helpers.js +473 -0
- package/dist/lib/long-task-acceptance-reachability-semantic.d.ts +2 -0
- package/dist/lib/long-task-acceptance-reachability-semantic.js +122 -0
- package/dist/lib/long-task-acceptance-reachability-types.d.ts +91 -0
- package/dist/lib/long-task-acceptance-reachability-types.js +1 -0
- package/dist/lib/long-task-acceptance-reachability.d.ts +4 -0
- package/dist/lib/long-task-acceptance-reachability.js +115 -0
- package/dist/lib/long-task-activation-validation.d.ts +6 -0
- package/dist/lib/long-task-activation-validation.js +72 -69
- package/dist/lib/long-task-active-authority-lock-context.d.ts +4 -0
- package/dist/lib/long-task-active-authority-lock-context.js +29 -0
- package/dist/lib/long-task-applicability-identity.d.ts +25 -0
- package/dist/lib/long-task-applicability-identity.js +60 -0
- package/dist/lib/long-task-authoring-preflight-diagnostics.js +8 -0
- package/dist/lib/long-task-authoring-preflight-types.d.ts +2 -0
- package/dist/lib/long-task-authoring-preflight-types.js +9 -0
- package/dist/lib/long-task-authoring-preflight.js +18 -2
- package/dist/lib/long-task-authority-material-diff.js +4 -0
- package/dist/lib/long-task-authority-materials.js +19 -0
- package/dist/lib/long-task-authority-policy.d.ts +3 -0
- package/dist/lib/long-task-authority-policy.js +3 -0
- package/dist/lib/long-task-authority-revision-details.js +2 -1
- package/dist/lib/long-task-authority-types.d.ts +2 -0
- package/dist/lib/long-task-authority.js +2 -0
- package/dist/lib/long-task-check-shape.js +6 -1
- package/dist/lib/long-task-claim-definitions.js +1 -3
- package/dist/lib/long-task-claim-semantic-proof-floor.d.ts +3 -0
- package/dist/lib/long-task-claim-semantic-proof-floor.js +78 -0
- package/dist/lib/long-task-claims.d.ts +0 -18
- package/dist/lib/long-task-claims.js +15 -14
- package/dist/lib/long-task-command-process.js +3 -0
- package/dist/lib/long-task-compact-authoring.js +3 -0
- package/dist/lib/long-task-compact-projections.js +10 -0
- package/dist/lib/long-task-complete-delivery-evidence-types.d.ts +38 -0
- package/dist/lib/long-task-complete-delivery-evidence-types.js +1 -0
- package/dist/lib/long-task-completion-types.d.ts +109 -0
- package/dist/lib/long-task-completion-types.js +1 -0
- package/dist/lib/long-task-conformance-policy.d.ts +2 -1
- package/dist/lib/long-task-conformance-policy.js +11 -4
- package/dist/lib/long-task-context-authority-topology.js +6 -4
- package/dist/lib/long-task-contract-types.d.ts +52 -1
- package/dist/lib/long-task-counterfactual-sandbox.d.ts +7 -1
- package/dist/lib/long-task-counterfactual-sandbox.js +86 -6
- package/dist/lib/long-task-delivery-compiler-preflight.d.ts +24 -0
- package/dist/lib/long-task-delivery-compiler-preflight.js +32 -0
- package/dist/lib/long-task-delivery-compiler.d.ts +1 -0
- package/dist/lib/long-task-delivery-compiler.js +59 -44
- package/dist/lib/long-task-delivery-parser.d.ts +3 -0
- package/dist/lib/long-task-delivery-parser.js +26 -8
- package/dist/lib/long-task-delivery-types.d.ts +2 -0
- package/dist/lib/long-task-delivery-types.js +2 -0
- package/dist/lib/long-task-delivery-validation.d.ts +6 -1
- package/dist/lib/long-task-delivery-validation.js +19 -4
- package/dist/lib/long-task-design-feasibility-binding.d.ts +1 -0
- package/dist/lib/long-task-design-feasibility-binding.js +3 -3
- package/dist/lib/long-task-design-feasibility-source-closure.js +11 -2
- package/dist/lib/long-task-design-obligation.d.ts +50 -0
- package/dist/lib/long-task-design-obligation.js +99 -0
- package/dist/lib/long-task-design-resource-handoff.d.ts +3 -1
- package/dist/lib/long-task-design-resource-handoff.js +36 -12
- package/dist/lib/long-task-design-resource-method-binding.js +12 -0
- package/dist/lib/long-task-effective-external-takeover.d.ts +15 -0
- package/dist/lib/long-task-effective-external-takeover.js +109 -0
- package/dist/lib/long-task-effective-external-ui-takeover.d.ts +5 -0
- package/dist/lib/long-task-effective-external-ui-takeover.js +117 -0
- package/dist/lib/long-task-evidence-capability-codec.js +91 -0
- package/dist/lib/long-task-evidence-capability-runtime.js +62 -14
- package/dist/lib/long-task-evidence-capability-types.d.ts +3 -2
- package/dist/lib/long-task-evidence-v2.d.ts +6 -1
- package/dist/lib/long-task-evidence-v2.js +253 -170
- package/dist/lib/long-task-execution-observation.d.ts +7 -0
- package/dist/lib/long-task-execution-observation.js +21 -4
- package/dist/lib/long-task-expected-authority.d.ts +4 -0
- package/dist/lib/long-task-expected-authority.js +126 -0
- package/dist/lib/long-task-external-confirmation-artifacts.d.ts +9 -0
- package/dist/lib/long-task-external-confirmation-artifacts.js +138 -0
- package/dist/lib/long-task-external-confirmation-attestation.d.ts +20 -0
- package/dist/lib/long-task-external-confirmation-attestation.js +115 -0
- package/dist/lib/long-task-external-confirmation-challenge.d.ts +23 -0
- package/dist/lib/long-task-external-confirmation-challenge.js +164 -0
- package/dist/lib/long-task-external-confirmation-context.d.ts +14 -0
- package/dist/lib/long-task-external-confirmation-context.js +53 -0
- package/dist/lib/long-task-external-confirmation-evaluation.d.ts +11 -0
- package/dist/lib/long-task-external-confirmation-evaluation.js +454 -0
- package/dist/lib/long-task-external-confirmation-expected.d.ts +8 -0
- package/dist/lib/long-task-external-confirmation-expected.js +200 -0
- package/dist/lib/long-task-external-confirmation-identity.d.ts +10 -0
- package/dist/lib/long-task-external-confirmation-identity.js +77 -0
- package/dist/lib/long-task-external-confirmation-plan.d.ts +25 -0
- package/dist/lib/long-task-external-confirmation-plan.js +148 -0
- package/dist/lib/long-task-external-confirmation-preparation.d.ts +4 -0
- package/dist/lib/long-task-external-confirmation-preparation.js +100 -0
- package/dist/lib/long-task-external-confirmation-shape.d.ts +8 -0
- package/dist/lib/long-task-external-confirmation-shape.js +387 -0
- package/dist/lib/long-task-external-confirmation-state.d.ts +10 -0
- package/dist/lib/long-task-external-confirmation-state.js +109 -0
- package/dist/lib/long-task-external-confirmation-types.d.ts +195 -0
- package/dist/lib/long-task-external-confirmation-types.js +1 -0
- package/dist/lib/long-task-final-integrity.d.ts +2 -0
- package/dist/lib/long-task-final-integrity.js +21 -10
- package/dist/lib/long-task-final-v2.d.ts +7 -2
- package/dist/lib/long-task-final-v2.js +179 -55
- package/dist/lib/long-task-finalization-identity.d.ts +27 -0
- package/dist/lib/long-task-finalization-identity.js +58 -0
- package/dist/lib/long-task-finding-context.d.ts +1 -1
- package/dist/lib/long-task-finding-context.js +139 -13
- package/dist/lib/long-task-freshness.d.ts +27 -0
- package/dist/lib/long-task-freshness.js +128 -5
- package/dist/lib/long-task-git.js +3 -3
- package/dist/lib/long-task-material-input-closure.d.ts +3 -0
- package/dist/lib/long-task-material-input-closure.js +92 -0
- package/dist/lib/long-task-obligation-authority-resolution.d.ts +12 -0
- package/dist/lib/long-task-obligation-authority-resolution.js +57 -0
- package/dist/lib/long-task-obligation-semantic-identity.d.ts +16 -0
- package/dist/lib/long-task-obligation-semantic-identity.js +116 -0
- package/dist/lib/long-task-observation-authority.d.ts +11 -0
- package/dist/lib/long-task-observation-authority.js +137 -6
- package/dist/lib/long-task-process-table.d.ts +2 -5
- package/dist/lib/long-task-process-table.js +21 -53
- package/dist/lib/long-task-process-tree.d.ts +0 -1
- package/dist/lib/long-task-process-tree.js +24 -54
- package/dist/lib/long-task-proof-adequacy.d.ts +12 -0
- package/dist/lib/long-task-proof-adequacy.js +57 -0
- package/dist/lib/long-task-proof-capability-floor.d.ts +6 -0
- package/dist/lib/long-task-proof-capability-floor.js +137 -0
- package/dist/lib/long-task-repair-frontier-checks.d.ts +8 -0
- package/dist/lib/long-task-repair-frontier-checks.js +93 -0
- package/dist/lib/long-task-repair-frontier-groups.d.ts +2 -0
- package/dist/lib/long-task-repair-frontier-groups.js +64 -0
- package/dist/lib/long-task-repair-frontier-utils.d.ts +6 -0
- package/dist/lib/long-task-repair-frontier-utils.js +27 -0
- package/dist/lib/long-task-repair-frontier.d.ts +14 -0
- package/dist/lib/long-task-repair-frontier.js +132 -0
- package/dist/lib/long-task-risk.d.ts +3 -2
- package/dist/lib/long-task-risk.js +73 -24
- package/dist/lib/long-task-root-shape.js +148 -8
- package/dist/lib/long-task-runner-freeze.d.ts +2 -1
- package/dist/lib/long-task-runner-freeze.js +23 -8
- package/dist/lib/long-task-runtime-types.d.ts +34 -40
- package/dist/lib/long-task-semantic-assurance-policy.js +2 -11
- package/dist/lib/long-task-semantic-contract-types.d.ts +2 -1
- package/dist/lib/long-task-semantic-drift-migration.js +48 -2
- package/dist/lib/long-task-semantic-fact-binding-types.d.ts +20 -0
- package/dist/lib/long-task-semantic-fact-closure.d.ts +5 -1
- package/dist/lib/long-task-semantic-fact-closure.js +33 -5
- package/dist/lib/long-task-semantic-fact-contract-closure.js +176 -1
- package/dist/lib/long-task-semantic-fact-contract-proofs.js +18 -1
- package/dist/lib/long-task-semantic-fact-input-closure.d.ts +16 -2
- package/dist/lib/long-task-semantic-fact-input-closure.js +138 -15
- package/dist/lib/long-task-semantic-fact-provenance-closure.js +1 -1
- package/dist/lib/long-task-semantic-fact-shape.d.ts +2 -1
- package/dist/lib/long-task-semantic-fact-shape.js +35 -1
- package/dist/lib/long-task-semantic-proof-adequacy.d.ts +2 -0
- package/dist/lib/long-task-semantic-proof-adequacy.js +19 -0
- package/dist/lib/long-task-semantic-proof-profile.d.ts +5 -0
- package/dist/lib/long-task-semantic-proof-profile.js +187 -0
- package/dist/lib/long-task-shape-primitives.d.ts +1 -1
- package/dist/lib/long-task-shape-primitives.js +5 -0
- package/dist/lib/long-task-source-anchors.d.ts +10 -0
- package/dist/lib/long-task-source-anchors.js +102 -0
- package/dist/lib/long-task-source-authority-types.d.ts +46 -0
- package/dist/lib/long-task-source-claim-validation.js +36 -0
- package/dist/lib/long-task-source-conservation-facts.d.ts +8 -0
- package/dist/lib/long-task-source-conservation-facts.js +57 -0
- package/dist/lib/long-task-source-conservation-types.d.ts +34 -0
- package/dist/lib/long-task-source-conservation-types.js +1 -0
- package/dist/lib/long-task-source-conservation.d.ts +7 -0
- package/dist/lib/long-task-source-conservation.js +110 -0
- package/dist/lib/long-task-source-fragments.d.ts +6 -0
- package/dist/lib/long-task-source-fragments.js +219 -0
- package/dist/lib/long-task-source-projection-resolution.d.ts +5 -0
- package/dist/lib/long-task-source-projection-resolution.js +57 -0
- package/dist/lib/long-task-source-projection-validation.d.ts +17 -0
- package/dist/lib/long-task-source-projection-validation.js +154 -0
- package/dist/lib/long-task-source-shape.js +14 -6
- package/dist/lib/long-task-source-supersession.d.ts +5 -0
- package/dist/lib/long-task-source-supersession.js +138 -0
- package/dist/lib/long-task-stage-policy.d.ts +7 -2
- package/dist/lib/long-task-stage-policy.js +67 -23
- package/dist/lib/long-task-state.d.ts +18 -4
- package/dist/lib/long-task-state.js +319 -33
- package/dist/lib/long-task-static-observation-freeze.js +4 -3
- package/dist/lib/long-task-status-projection.d.ts +3 -1
- package/dist/lib/long-task-status-projection.js +44 -13
- package/dist/lib/long-task-status-v2.d.ts +10 -6
- package/dist/lib/long-task-status-v2.js +70 -58
- package/dist/lib/long-task-target-policy.d.ts +8 -3
- package/dist/lib/long-task-target-policy.js +40 -9
- package/dist/lib/long-task-terminal-finalization.d.ts +12 -0
- package/dist/lib/long-task-terminal-finalization.js +190 -0
- package/dist/lib/long-task-ui-design-policy.js +15 -4
- package/dist/lib/long-task-verifier-counterfactuals.d.ts +11 -0
- package/dist/lib/long-task-verifier-counterfactuals.js +96 -0
- package/dist/lib/long-task-verifier-execution.d.ts +9 -0
- package/dist/lib/long-task-verifier-execution.js +67 -0
- package/dist/lib/long-task-verifier-identity.js +16 -5
- package/dist/lib/long-task-verifier-v2.js +52 -65
- package/dist/lib/long-task-windows-job-supervisor-helper.d.ts +1 -0
- package/dist/lib/long-task-windows-job-supervisor-helper.js +104 -0
- package/dist/lib/long-task-windows-job-supervisor-protocol.d.ts +28 -0
- package/dist/lib/long-task-windows-job-supervisor-protocol.js +124 -0
- package/dist/lib/long-task-windows-job-supervisor-result.d.ts +11 -0
- package/dist/lib/long-task-windows-job-supervisor-result.js +152 -0
- package/dist/lib/long-task-windows-job-supervisor.d.ts +2 -0
- package/dist/lib/long-task-windows-job-supervisor.js +126 -0
- package/dist/lib/long-task-workspace-scope.d.ts +1 -0
- package/dist/lib/long-task-workspace-scope.js +4 -1
- package/dist/lib/long-task-workspace.d.ts +1 -0
- package/dist/lib/long-task-workspace.js +10 -0
- package/dist/lib/migrations.js +43 -2
- package/dist/lib/repository-path-safety.d.ts +1 -0
- package/dist/lib/repository-path-safety.js +3 -3
- package/dist/lib/semantic-fact-input-shape.d.ts +7 -2
- package/dist/lib/semantic-fact-input-shape.js +25 -1
- package/dist/lib/semantic-fact-inventory-types.d.ts +8 -2
- package/dist/lib/semantic-fact-policy-census.d.ts +1 -1
- package/dist/lib/semantic-fact-policy-census.js +5 -2
- package/dist/lib/semantic-fact-policy.d.ts +1 -1
- package/dist/lib/semantic-fact-policy.js +2 -2
- 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/validators.d.ts +3 -0
- package/dist/lib/validators.js +45 -157
- package/dist/public-api-core.d.ts +12 -0
- package/dist/public-api-core.js +12 -0
- package/dist/public-api-long-task.d.ts +10 -0
- package/dist/public-api-long-task.js +10 -0
- package/dist/public-types.d.ts +5 -1
- package/dist/schemas/design-authority-delta-assessment-v1.schema.json +191 -0
- package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +166 -2
- package/dist/schemas/long-task-external-confirmation-record-v1.schema.json +155 -0
- package/dist/schemas/long-task-external-confirmation-record-v2.schema.json +209 -0
- package/migrations/README.md +99 -0
- package/package.json +7 -5
- package/source-mappings.yaml +18 -0
package/README.md
CHANGED
|
@@ -68,18 +68,18 @@ Tiny Context does not invoke or switch models, create agent sessions, branches o
|
|
|
68
68
|
|
|
69
69
|
## Capability Model
|
|
70
70
|
|
|
71
|
-
| Capability
|
|
72
|
-
|
|
73
|
-
| **Minimal Context**
|
|
74
|
-
| **Workflow Contract**
|
|
75
|
-
| **Long-Task Workflow** | Enable the profile once, then explicitly select `long-task-workflow`, or resume a valid binding, when machine completion authority, recoverability or auditability is required. Task size alone does not activate it. | One Source-bound Delivery Contract, Authority Lock, recoverable scoped progress, protected revision, exact declared-obligation evidence and a current-snapshot Live Final Gate.
|
|
71
|
+
| Capability | When and how to use it | What it owns |
|
|
72
|
+
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
73
|
+
| **Minimal Context** | Installed by default. Every delivery route reads and updates `project_context/**` as needed. | Durable goals, ownership, architecture/interface/state boundaries and repeatable verification/deployment facts; never a test-pass claim. |
|
|
74
|
+
| **Workflow Contract** | Prompt-level default after `init`, for implementation work of any complexity unless Long-Task is explicitly selected or already bound. There is no Skill command or `delivery-contract.yaml`. | Model-led Context discovery, risk-proportional requirement/architecture judgment, one `Context Delta`, Goal-owned implementation, current project checks, failure repair, evidence-bounded Contract Conformance and Context drift; no exact Fact ledger, validator result, Receipt, persisted state or machine completion. |
|
|
75
|
+
| **Long-Task Workflow** | Enable the profile once, then explicitly select `long-task-workflow`, or resume a valid binding, when machine completion authority, recoverability or auditability is required. Task size alone does not activate it. | One Source-bound Delivery Contract, Authority Lock, recoverable scoped progress, protected revision, exact declared-obligation evidence and a current-snapshot Live Final Gate. |
|
|
76
76
|
|
|
77
77
|
Every delivery uses Minimal Context. The default Workflow Contract applies unless Long-Task is explicitly selected or validly bound. Complexity determines execution and verification depth; required completion authority and recoverability determine the route; Long-Task-internal risk determines proof strength. Long-Task uses `long-task-workflow` as its sole execution and completion carrier, and its Final Gate carries Engineering Quality/Architecture Conformance instead of duplicating default Contract Conformance. `design-system-authoring` and `design-resource-authoring` are independent optional upstream Skills, not Long-Task stages. Their selected outputs may feed either route.
|
|
78
78
|
|
|
79
|
-
| Task shape
|
|
80
|
-
|
|
81
|
-
| Local or small
|
|
82
|
-
| Cross-module or complex | Default Workflow Contract remains valid
|
|
79
|
+
| Task shape | Model-led, evidence-bounded handoff is sufficient | Machine-traceable complete closure is required |
|
|
80
|
+
| ----------------------- | ------------------------------------------------- | ---------------------------------------------- |
|
|
81
|
+
| Local or small | Default Workflow Contract | Explicit Long-Task is available |
|
|
82
|
+
| Cross-module or complex | Default Workflow Contract remains valid | Explicit Long-Task |
|
|
83
83
|
|
|
84
84
|
Skill names here are host-neutral. In Codex, explicitly select one with `$skill-name` (for example `$long-task-workflow`) or use `/skills`; other hosts use their own Skill selector.
|
|
85
85
|
|
|
@@ -113,13 +113,15 @@ Start from either a concise product request or a detailed initial proposal autho
|
|
|
113
113
|
Use this route when an implementation delivery both genuinely needs new style-bearing design resources and requires Long-Task's machine-assurance/recovery/audit boundary. It is not a prerequisite for every Long-Task:
|
|
114
114
|
|
|
115
115
|
1. Run `ty-context enable long-task` once.
|
|
116
|
-
2. If Design Authority is absent
|
|
116
|
+
2. If Design Authority is absent, or a selected task design has a reusable system delta, explicitly select `$design-system-authoring` in `bootstrap`, `revise` or `reconcile` mode. Candidate selection and adoption are separate decisions: after the exact project diff is shown, explicitly confirm adoption. Skip it when the complete current Authority closure already covers the style-bearing scope.
|
|
117
117
|
3. Prepare a writable project-native initial proposal at a concrete path such as `docs/initial-proposal.md`. It may come from the user, an external service or an explicitly requested applicable proposal capability; `design-resource-authoring` does not author it, and no standalone intermediary authoring stage is required.
|
|
118
118
|
4. Select `$design-resource-authoring` with that path plus the exact development scope and targets. For formal Web/App work it first reads real technical Source. Keep its reconciled proposal, validated residual `design-resource-handoff-v1`, separate implementation-feasibility input, and selected immutable canonical resources, manifest and dependencies.
|
|
119
119
|
5. Select `$long-task-workflow` with the exact paths to all of those inputs, including feasibility Source. It authors the Source-bound Contract Draft. The first Compile/Authority Lock always ends the current turn before implementation and says `After handling the model change, reply exactly: model checkpoint cleared, continue`; a generic continuation does not satisfy the managed prompt protocol, earlier model wording cannot skip this boundary, and Harness cannot observe the next host message or whether the model changed. After the user resumes, the parent identifies qualifying bounded packets before profile/capacity. Absent an explicit user or host prohibition, a qualifying set requires actual host calls for multiple exact `long_task_implementation` workers; host results determine zero-start or partial fallback under the Skill's six-reason rule. Worker count stays dynamic, generic substitutes remain forbidden, and the parent alone owns Source, Contract, Authority, architecture, Context, packet selection, integration, current-candidate checks, formal verification, Final Gate, close and completion.
|
|
120
120
|
|
|
121
121
|
```text
|
|
122
|
-
$design-system-authoring
|
|
122
|
+
$design-system-authoring Bootstrap the project design system for this style-bearing scope, present candidates and the exact project diff, and stop for a separate adoption confirmation. Skip this request when the complete current Authority closure already covers the scope.
|
|
123
|
+
|
|
124
|
+
After reviewing the selected candidate and exact diff: explicitly adopt design-system candidate <candidate-id>.
|
|
123
125
|
|
|
124
126
|
Prepare a writable project-native initial proposal at docs/initial-proposal.md for <delivery scope>.
|
|
125
127
|
|
|
@@ -141,12 +143,12 @@ The design-system Skill is normally used at cold start but never auto-runs. Only
|
|
|
141
143
|
|
|
142
144
|
## Positioning
|
|
143
145
|
|
|
144
|
-
| Adjacent tool type
|
|
145
|
-
|
|
146
|
-
| Spec-first kits
|
|
147
|
-
| BMAD-style workflows and full Tiny Context processes | Role/process ceremony for selected work.
|
|
148
|
-
| Task Master-style planners
|
|
149
|
-
| Context7/Serena-style retrieval
|
|
146
|
+
| Adjacent tool type | Use it for | Harness stance |
|
|
147
|
+
| ---------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
148
|
+
| Spec-first kits | Turning a feature idea into structured specs and plans. | Complementary; Harness keeps durable repo facts beyond one feature spec. |
|
|
149
|
+
| BMAD-style workflows and full Tiny Context processes | Role/process ceremony for selected work. | Lighter automatic route; explicit machine assurance stays opt-in. |
|
|
150
|
+
| Task Master-style planners | Backlog decomposition and task state. | Complementary; Harness does not own backlog state. |
|
|
151
|
+
| Context7/Serena-style retrieval | External docs, symbols or repository retrieval. | Complementary; Harness owns local intended boundaries. |
|
|
150
152
|
|
|
151
153
|
## Try It In 60 Seconds
|
|
152
154
|
|
|
@@ -189,7 +191,7 @@ npm ci
|
|
|
189
191
|
npm run smoke:quickstart
|
|
190
192
|
npm run preview:pack
|
|
191
193
|
cd /path/to/your/test-repo
|
|
192
|
-
npm install -D /path/to/project-tiny-context-harness/tmp/ty-context/source-preview/package/project-tiny-context-harness-0.
|
|
194
|
+
npm install -D /path/to/project-tiny-context-harness/tmp/ty-context/source-preview/package/project-tiny-context-harness-0.11.0.tgz
|
|
193
195
|
npx --no-install ty-context init --adopt
|
|
194
196
|
make validate-context
|
|
195
197
|
```
|
|
@@ -200,7 +202,28 @@ Use this tarball path for source-preview testing, private review or package deve
|
|
|
200
202
|
|
|
201
203
|
The default read path is `project_context/global.md`, `project_context/architecture.md`, `project_context/context.toml`, the default area root, then minimum graph-relevant role Context.
|
|
202
204
|
|
|
203
|
-
Only near-universal recovery facts should use `read_policy = "default"`; specialized detail should be task-triggered `on-demand`. `ty-context doctor`
|
|
205
|
+
Only near-universal recovery facts should use `read_policy = "default"`; specialized detail should be task-triggered `on-demand`. `ty-context doctor` retains the deterministic default-footprint report and adds advisory statistics for every registered and unregistered Context Markdown file: default/on-demand/legacy/unregistered bytes, largest on-demand file, file size, line length, trigger fan-out, explicit local Markdown links and opt-in stable-key declarations. `doctor --strict` is default-off and must be adopted explicitly. Genuine recovery facts take precedence over size or line heuristics.
|
|
206
|
+
|
|
207
|
+
Schema v4 preserves all five existing policies. Only `default` is directly selected; a registered `default_children` target is selected transitively regardless of its own policy. Version 0.10 warns about `always`, `optional` and `never-default` but does not reinterpret or migrate them.
|
|
208
|
+
|
|
209
|
+
Explicit `ty-context upgrade` separately converts provably simple pre-v4 `[[context_units]]` tables with a bounded byte patch: it renames the table, removes only retired `id`/`area` fields and preserves untouched bytes/EOL. Complex structures or current/legacy path conflicts are `manual_required`; ordinary `sync` does not migrate them.
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
ty-context route --task "change the weather map contract" --path apps/client/src/map.ts --explain
|
|
213
|
+
ty-context context inspect project_context/areas/main/weather.md --task "change the weather map contract"
|
|
214
|
+
ty-context context create --path project_context/areas/main/weather.md --role domain
|
|
215
|
+
ty-context context register --path project_context/areas/main/weather.md --role domain
|
|
216
|
+
ty-context context move --from project_context/deployment.md --to project_context/deployment/index.md
|
|
217
|
+
ty-context context transaction status
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
The experimental `route` command performs a stateless, deterministic literal scan of all eligible `project_context/**`, including labelled unregistered files. It has versioned JSON, fixed candidate/content/output budgets and explicit incomplete results, but it establishes no Authority, changes no default selection and does not replace the Workflow-required bounded search. Those budgets begin after Shared Catalog repository-wide Context discovery and metadata collection, which 0.10 deliberately keeps complete. A future total-discovery cap must be Catalog-owned, propagate typed incompleteness to every consumer and make Router return `complete: false`/exit `4`; a Router-only walker or silently truncated Validate/Doctor result is forbidden. `context inspect` reports ownership/read metadata, default reasons, explicit backlinks, declared-key conflicts and optional route reasons. Both remain read-only.
|
|
221
|
+
|
|
222
|
+
Version 0.10.1 added only `context create`: a collision-safe, unregistered, Role-specific TODO scaffold below `project_context/**`. It reports an unchanged default footprint and never edits the Manifest, authors durable facts, registers the file or force-overwrites a target. A scaffold must receive real owner facts before separate registration and intentionally fails recoverability if registered unchanged.
|
|
223
|
+
|
|
224
|
+
The completed 0.10.x line adds dry-run-first `context register` and `context move` after their separate Gate. Register appends one parser-validated Context block for an existing recoverable file without whole-file TOML serialization. Move preserves one registered Context/Area owner, structured default-child edges and explicit local Context-Markdown links; exact prose/code/config references are reported and block apply until resolved. Both use staged Catalog validation, complete current-byte/mode/file-identity endpoint comparison, synchronized same-directory temporaries, deterministic commit/live validation, the shared Active Authority lock, active Long-Task refusal and `context transaction status|rollback|complete`. Current writes use `context-mutation-journal-v3` with NFC logical/physical path separation and immutable digest-linked generations. `context-mutation-journal-v2` remains recovery-readable with equal logical and physical paths; pre-v2 journals require a version-matched package or explicit manual recovery. Long-Task first Compile, activation and in-place Revision refuse an unfinished journal. Recovery refuses a newly active binding; resolve that conflict only by ending the binding through the legitimate Long-Task lifecycle, completing or rolling back the transaction, then freshly compiling/rebinding and performing any required Revision. These commands provide cooperative recoverable multi-file publication rather than physical cross-file atomicity or hostile-writer mutex, and expose no force or manual-lock-deletion bypass.
|
|
225
|
+
|
|
226
|
+
Classified exits are `0` complete, `2` arguments, `3` blocking Catalog, `4` incomplete route budget, `5` I/O/path safety and `6` internal; ordinary route ambiguity/unresolved output and mutation dry-runs remain exit `0`.
|
|
204
227
|
|
|
205
228
|
### Bounded Context discovery
|
|
206
229
|
|
|
@@ -288,9 +311,9 @@ The generated canonical implementation source remains the sole owner of exact va
|
|
|
288
311
|
|
|
289
312
|
Formal Web/App handoff also indexes one separate `design-resource-implementation-feasibility-v1` JSON Source per target. It records current platform, framework/runtime, UI system, token/theming adapter, component-owner roots and route-owner roots; non-observed dispositions carry a reason instead of an invented value. Every material component-family × target × condition profile binds the complete matching V1 Fact or intersecting V2 Rule set and has capability/feasibility-Source-backed reuse/compose/extend/theme/create candidates or an explicit blocker. Composite multi-primitive strategies, per-platform candidates and authorized planned owners are valid. Browser-only capability cannot be relabeled as a native-App/React Native substrate. Exact design values remain canonical-resource owned and are rejected from feasibility prose; DRA cannot select a required production realization without independent technical authority. V1 uses an exact condition partition and symbolic V2 uses reachable, disjoint and exhaustive regions. New V1 bundle publication requires the input; direct preflight keeps legacy implementation handoffs readable and reports `technical feasibility not declared` when absent, while a `reference` target may omit it without that limitation.
|
|
290
313
|
|
|
291
|
-
Unresolved substrate observations are target-wide: every `decision_required` or `unavailable` observation is named by an exact blocker in every material family × condition cell, blocker/projection observation-ref sets are equal, and zero-family vacuity fails. Candidate cells require observed component-owner roots.
|
|
314
|
+
Unresolved substrate observations are target-wide: every `decision_required` or `unavailable` observation is named by an exact blocker in every material family × condition cell, blocker/projection observation-ref sets are equal, and zero-family vacuity fails. Candidate cells require observed component-owner roots. Across observation reasons, costs, risks and blocker descriptions, compact, spaced and singular/plural `millisecond|msec|ms|second|sec|s` durations use one classifier: motion context always blocks, explicit build/compile/test/startup/latency/timeout/network/benchmark/runtime/render cost context is valid, and an otherwise context-free time literal fails closed. Exact motion or ambiguous time values remain canonical-resource data.
|
|
292
315
|
|
|
293
|
-
Long-Task proves every `file`/`path_glob` target and carrier, every `verified` carrier and every planned non-empty carrier wholly inside observed component/route roots; partial or unknown containment fails. Empty component refs stay invalid under standalone Contract validation. Complete activation defers that check only
|
|
316
|
+
Long-Task proves every `file`/`path_glob` target and carrier, every `verified` carrier and every planned non-empty carrier wholly inside observed component/route roots; partial or unknown containment fails. Empty component refs stay invalid under standalone Contract validation. Complete activation defers that check only when every target is modern blocker-only, with a valid route and exact blocker closure; legacy cannot borrow the exception. Pure-legacy surfaces retain historical non-empty component-Binding compatibility but gain no feasibility claim. Once a surface contains any modern feasibility target, every component Binding must be consumed by a modern candidate-bearing cell's actual unique match; legacy consumes none, extra mixed-surface Bindings fail and explicitly matched modern targets may share a Binding. Open target-blocking External Confirmation reaches `blocked_external`, never `machine_accepted`, without changing the sole Final Gate.
|
|
294
317
|
|
|
295
318
|
Ready handoff requires exact set equality: `Expected Fact Universe = Canonical Resource Facts = Handoff Indexed Facts`, together with complete material-with-facts or honestly supporting-only resource closure. The canonical per-target manifest is the sole complete Fact/Census/proof index. New authoring keeps the shipped `design-resource-handoff-v1` marker and adds `representation: manifest_backed`; YAML carries only residual Source/scope/resource/target/closure/coverage/proposal binding, and preflight hydrates the same complete V1 object from the frozen manifest. Older embedded V1 remains read-compatible. UI symbolic V2 is explicit opt-in; V1 remains the default. An opted-in target uses `design-resource-handoff-v2`, `representation: symbolic_rules_v2` and `design-resource-observable-rule-manifest-v2`; constant located expected values and mutually exclusive canonical regions preserve exact point meaning. Applicability either keeps legacy exact remainder rows or uses package-owned property profiles, frozen Inspector custom-property closure and explicit unique instance exceptions, while every logical subject-property point retains one disposition. Fact Rule, required-method semantic obligation and set-valued non-interference certificate identities remain separate. `ready` is emitted only after unresolved dispositions and blockers are absent, V1 proof policies pass, and an `exact_target`'s full-target layout and pixel region unions each cover the complete reachable domain. Omitted axes require both Source-side and production-side proof through frozen closed-world static dependency closure, restricted-IR exact equivalence or finite complete-domain exhaustive equivalence; dynamic/reflected/unfrozen/external or sampled dependencies block. Preflight resolves immutable resources and exact locators, recomputes canonical DAG/region/certificate identity and rejects missing, overlapping, gapped, unresolved, unsupported, stale or value-conflicting input. Exploration remains schema-free.
|
|
296
319
|
|
|
@@ -316,13 +339,25 @@ An explicit Long-Task is the strong authority carrier of the same shared obligat
|
|
|
316
339
|
|
|
317
340
|
Combined design-and-implementation work may author candidates in ordinary Outcomes/Stages, but a candidate or planned target cannot authorize fidelity implementation. Selection must become real marked Context-reachable Source plus the owning Context/`DESIGN.md` reference and, after Authority Lock, an adopted Authority Revision. Browser visual ACs may use `ui_browser` for diagnostic localization, but current machine closure remains External Confirmation; a browser proxy, detached route or deep link cannot prove a native/root journey that can fail independently. Resource integrity and `visual_render` cannot satisfy selected-target implementation conformance. Frozen baselines are verifier inputs, generated actual renders/diffs are current artifacts, and subjective approval remains external. No `uiux_delivery` block, visual Claim type, resource registry, risk level, lifecycle state, Gate, required design directory, per-Control screenshot matrix or universal pixel threshold is added.
|
|
318
341
|
|
|
319
|
-
`ty-context doctor` keeps its compatible `missing | unconfigured | configured` project-level status and adds advisory
|
|
342
|
+
`ty-context doctor` keeps its compatible `missing | unconfigured | configured` project-level status and adds advisory complete-closure, token-projection, extra-file and normative-link diagnostics. Structural bundle errors remain visible without turning visual judgment into a machine claim. Doctor does not infer surface implementation readiness; that still requires the owning Screen/Control meaning, selected target/constraints and project-owned verification.
|
|
320
343
|
|
|
321
344
|
Static guidance tests prove routing text, positive/negative analysis rules, distribution, projection and canonical ownership—not real host Skill activation, Agent adherence, map-design quality, runtime cost, performance or ROI. The optional delivery-mechanism benchmark provides a fixed fresh-agent UI/UX Context/target-recovery task with routing gold and a hidden production oracle; only independent paired runs may support effectiveness or ROI conclusions.
|
|
322
345
|
|
|
323
346
|
### Explicit Design System Authoring
|
|
324
347
|
|
|
325
|
-
Use `design-system-authoring` only on an explicit request to
|
|
348
|
+
Use `design-system-authoring` only on an explicit request to `bootstrap`, `revise` or `reconcile` the project design system/style. A DRA `authority_delta_candidate`, missing `DESIGN.md` or ordinary UI work never invokes it automatically. The Skill owns Open Design capability discovery and provider execution; the package-local `@google/design.md` adapter performs deterministic lint/parse/export/diff only and is not a generator or runtime provider.
|
|
349
|
+
|
|
350
|
+
Root `DESIGN.md` is the unique Authority entry, human revision owner and first-bundle editable exact-Token owner. Bundle adoption writes the exact `<!-- ty-context-design-authority-format: bundle-v1 -->` declaration as the first non-empty Markdown body line after supported YAML front matter and creates the sparse `design_system/authority.manifest.json`; marker and manifest are required as a pair. The manifest owns only sorted closure membership and `closure_digest`; it contains no revision, direction or Token values. Pair mismatch, invalid marker placement/duplication/spelling and non-portable physical path casing fail closure. `design_system/tokens.json` is deterministic DTCG output from supported DESIGN front matter, not an independently edited Authority. Component, pattern, motion and platform children exist only for real reusable rules; a true unmarked project without a manifest remains a compatible one-file closure.
|
|
351
|
+
|
|
352
|
+
Machine freshness uses the entry plus complete closure digest, never the human revision alone. Closure inspection rejects unsafe/duplicate paths, case collisions, symlink or hardlink aliases, invalid UTF-8/BOM, generated-Token drift and incomplete normative local links. A child change invalidates DRA recovery/handoff and Long-Task binding even if revision text is unchanged:
|
|
353
|
+
|
|
354
|
+
```bash
|
|
355
|
+
ty-context design-authority inspect --format json
|
|
356
|
+
ty-context design-authority tokens
|
|
357
|
+
ty-context design-authority tokens --from-entry
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Candidate selection precedes a separate explicit adoption confirmation after the exact project diff and migration impact are visible. Adoption updates only the root entry and necessary sparse owners, deterministically regenerates Tokens, publishes a new digest, rebinds affected DRA resources and reruns their checks. Provider ID/revision/digest and `get_project.designSystemId` remain synchronization provenance, not another authority.
|
|
326
361
|
|
|
327
362
|
### Optional Design Resource Authoring
|
|
328
363
|
|
|
@@ -332,6 +367,8 @@ The Skill makes the explicit output or development content its hard ceiling; a l
|
|
|
332
367
|
|
|
333
368
|
Inside that ceiling, DRA records selected existing coverage, new gaps and preservation obligations. An outside-ceiling effect returns existing `decision-required` with reason `scope-expansion-required`; only the user can expand the ceiling. A durable Product/Surface/Screen/Design change updates its actual owner before generation resumes. Style-bearing commissions carry Source-derived `style_application` fields only where needed plus an archetype-specific `quality_commission` for primary challenges, desired/avoided visual character, real copy/data, reference roles and design-side shared-family reuse. These are task-local Provider inputs, not files, states, scores, Authorities or routing records.
|
|
334
369
|
|
|
370
|
+
After a task direction is selected, DRA performs one non-authoritative Authority Delta Assessment against the exact current closure: `consistent_with_current_authority`, `task_local_variance` or `authority_delta_candidate`. A one-task variance declares `precedent: forbidden`; a reusable local variance must reach a named Screen Contract owner. A system delta is only a pure candidate packet and stops DRA until the user separately invokes DSA `reconcile`. The strict optional JSON form is read-only validated with `ty-context design-resource authority-delta validate <assessment.json> --json`; it cannot select, adopt, write Authority or invoke a provider. After adoption, the handoff binds the new closure and reruns affected preflight/resource checks.
|
|
371
|
+
|
|
335
372
|
Formal generation, a major design revision and critical regeneration use the highest eligible live model and that model's highest supported reasoning effort. Eligibility first preserves required tools, visual/context capability, authentication and data boundaries; provider capability ordering or documented replacement evidence establishes rank. The Skill never guesses from price, model name, release date or list order. An unrankable choice fails closed as `highest_performance_unverified`; an uncontrollable or unobservable provider result is reported with the same qualification and is never described as a confirmed highest-tier run. This policy creates no model registry, scheduler or persistent routing state.
|
|
336
373
|
|
|
337
374
|
For formal Web/App implementation output, “complete” defaults to the finest applicable observable Fact granularity described above. Before commissioning generation, the Skill builds the Expected Fact Universe, freezes the Inspector/Census obligation, and reads real technical Source for the platform, framework/runtime, UI system, token/theming adapter, component owners and route owners. It passes those constraints and the adopted design-system identity into a live capability matched to the resource archetype, then requires the returned canonical source/manifest to express every applicable cell. It separately authors the feasibility document described above; every material family/condition has a candidate or blocker, while production-owner selection remains downstream. It does not defer missing anatomy-part, state, responsive/platform/text-scale, motion, accessibility, asset or basic implementability decisions to downstream implementation.
|
|
@@ -360,15 +397,19 @@ Retired standalone authoring pointers are no longer installed or package-managed
|
|
|
360
397
|
|
|
361
398
|
The explicit Long-Task Workflow uses one currently selected platform-native execution Goal, one user-selected repository and verification/convergence workspace, one complete `long-task-delivery-v2` Contract and one Final Gate. Harness does not persist a Goal identifier: compaction may continue inside that Goal, while a later Goal/session restores semantic state rather than the prior physical Turn. Outcomes are independently decidable acceptance units; Delivery Set orchestration and top-level Contract splitting inside one selected delivery are retired.
|
|
362
399
|
|
|
363
|
-
Its proof claim is conditional: complete and accurate Source at the declared observable granularity, meaning-preserving projection and complete applicability expansion make `AcceptedDeliveryTerminal
|
|
400
|
+
Its proof claim is conditional: complete and accurate Source at the declared observable granularity, meaning-preserving projection and complete applicability expansion make `AcceptedDeliveryTerminal` either a fresh `machine_accepted` result when no blocking external fulfillment is required, or a fresh `delivery_accepted` result when every blocking external obligation also has a valid exact record. Machine obligations still require frozen Expected authority, package-admitted current Actual, Harness-computed comparison/verdict, attributable static-production or direct-process observation, causal Counterfactual evidence and current Final-Gate snapshot proof. Every blocking External Record v2 carries exact per-obligation identity/evidence, a current challenge, whole-candidate identity, immutable artifact snapshots and a detached Ed25519 signature verified against a protected Source-bound public key. That verifies possession of the bound key, not a real-world identity beyond the Source binding. Record v1 and legacy `machine_accepted_external_pending` are audit-only and cannot close. Harness cannot discover undeclared requirements or prove arbitrary physical/external observation sound.
|
|
401
|
+
|
|
402
|
+
Compile conserves Source meaning below the Source-item level. From the existing Semantic Fact Manifest it derives one internal view of every Source item and every strict-UTF-8 material attachment, canonical specification, repository-preservation input, external constraint, delegated instruction and textual design resource; it never guesses text from extensions, and unreadable or ambiguous text blocks. It covers headings, material paragraphs, nested list/table/quotation/Given-When-Then rows, fenced code/configuration and textual HTML, then proves all nonblank lines equal the disjoint union of Fragment lines and allowed pure separators. Every Fragment has one explicit `fact_bearing`, `supporting_basis`, `superseded`, `decision_required` or `scope_excluded` disposition. Reverse delivery-Fact provenance, anchors, semantic-cell identity and Claim modal polarity prevent supporting, supersession or exclusion from hiding an independent requirement. A `source_integrity` Fact cannot replace `delivery_semantic` meaning, and this remains part of the existing Source inventory and Semantic Fact Manifest rather than another ledger.
|
|
403
|
+
|
|
404
|
+
Proof adequacy is independent from Check success. Closed method and standard-property profiles are unioned with observation-scope, quantifier, Claim-kind and Control-field floors; prose keyword matches remain advisory only. Presence proves only existence, while transition/sequence, product effect, boundary provenance, durable readback, identity/data state, population, fault/recovery, concurrency/idempotency, performance/capacity and selected-design/runtime semantics retain stronger typed capabilities. A new unclassified standard property fails closed; a `custom.*` method or custom property without a standard profile cannot machine-close. A Check with no Claim-bearing Assertions is diagnostic only. Preflight resolves candidates per exact Claim/Fact × method × applicability obligation: machine/external overlap, duplicate same-kind routes and no route are unreachable, and broad `impact_claims` never removes a machine Assertion. Claim-bearing Expected still comes only from Source/Context/canonical or compiled Fact authority.
|
|
364
405
|
|
|
365
406
|
Compile derives an internal `CompiledObservationAuthority` for every machine Claim or Fact × required-method obligation; it is not a new Contract Authority, state or registry. `package_static_json_exact` reads plain exact implementation/configuration content only from a UTF-8 JSON production carrier that exists in the pre-run snapshot, retains its no-follow identity/digest after the runner, matches the Binding and is not Source/Context/Contract/expected/evidence/report/status/verifier output; prepare-all mutation observation plus pre/post identity/hash rejects transient/persistent swaps, and the adapter proves no runtime consumption. `package_process_json_exact` supports only a Source-backed `runtime_family: process`, `role: product` target and a direct root `project_binary` whose target and complete argv match that authority. Each required target has one canonical Source technical-obligation target covering key, role, family, root, complete argv and capabilities. Compile derives one declaration-stable runtime closure containing the exact Source-backed root, exact Claim/Counterfactual production carriers and only finite argv values that match a production Binding by exact path or pattern. Each argv member remains the exact child-visible token; the closed grammar examines an independent token or explicit `--name=value` without splitting spaces, stripping quotes or rewriting backslashes. Raw token and derived locator remain distinct. Quote-bearing, POSIX/UNC absolute, drive-prefixed, slash/backslash-platform-ambiguous, scheme-shaped colon prefixes outside the exact lowercase decimal `node:<number>` allowlist and unsupported compound forms fail closed unless explicitly routed to the external boundary. Cwd resolution precedes repository containment, so in-repository parent traversal is valid while a true escape is not. Glob-owned, extensionless and space-containing files remain valid; unmatched safe values and the exact lowercase decimal `node:<number>` and digits-only `<hours>:<minutes>` colon scalars are allowed but not copied. Compile neither broadly role-scans nor copies all `input_paths`; role separation covers 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. Exact planned closure members may be absent through Compile but must materialize at Final Gate. The closure excludes Source/Context/Contract/canonical expected, verification inputs, expected outputs/artifacts, evidence/status/report/comparison/Receipt/Long-Task workdir and historical session/evidence. Harness copies only that closure into an OS-temporary snapshot, binds its identity into host attestation and forwards unchanged argv. Compatible Cross-Check and implicit-preserved Facts share one bounded `ty-context-product-observation-v1` stdout envelope while retaining independent result identities. An unsupported embedded dependency or Claim requires External Confirmation. Project results remain v3; no v4, shell/URI/dependency parser or general UI/native observer is introduced.
|
|
366
407
|
|
|
367
408
|
Project-submitted v3 actual/value digest, comparison, `passed`, verdict and capability records are compatibility diagnostics only and never own Actual or completion. Current package derivation covers exact/presence plus host `target_runtime`; `interaction_trace`, `state_delta`, `design_conformance` and every capability without package derivation require blocking External Confirmation. Custom/`named_external_tcb` Oracle, wrapper, browser/native/device, layout/pixel/accessibility/motion, protected, tolerance/mask and custom-locator observation are likewise unsupported. Machine Counterfactuals require package-admitted baseline/mutated observations with the same compiled closure identity, a mutation target in its production-carrier set, exact affected/preserved/allowed-fan-out accounting, equal obligation universes and host-derived process liveness; absence of admitted observation never skips validation. Migration never silently changes the observer choice, and target/closure TCB changes invalidate prior Active Authority, Progress, Evidence and Receipt acceptance.
|
|
368
409
|
|
|
369
|
-
Unsupported scope uses the existing External Confirmation owner rather than a dummy verifier.
|
|
410
|
+
Unsupported scope uses the existing External Confirmation owner rather than a dummy verifier. `task.target_profile.completion_authority` is `machine_only` or `declared_authorities`; legacy omission deterministically defaults to the fail-safe `machine_only` route and Preflight reports migration guidance. A blocking External Confirmation under `declared_authorities` must name its actor/owner with Ed25519 identity assurance, target, environment, Given/When scenario, evidence requirements and exact per-obligation rows with Claim, applicability, Fact/proof/method/capability and Expected-authority lineage. `impact_claims` validates declared Claim coverage only; it does not select authority. An external-only Outcome sets `success_path_required: false`; a Stage Gate may omit its machine Check only when a `blocks_target: true` confirmation owns that gate's exact result obligation. Missing decomposition/result lineage, aggregate approval, a non-blocking confirmation or a machine success path without a real success Check fails Preflight/Compile. A valid unfulfilled route is `blocked_external`; only authenticated exact fresh fulfillment plus a complete passing Final Gate becomes `delivery_accepted`.
|
|
370
411
|
|
|
371
|
-
This direct-process path is bounded containment, not an absolute hostile-code sandbox.
|
|
412
|
+
This direct-process path is bounded containment, not an absolute hostile-code sandbox. Windows contained execution uses the byte-identified package-owned PowerShell 5.1/7 and C# helper to create the declared executable suspended, assign it to a fresh `KILL_ON_JOB_CLOSE` Job, resume only after assignment, bound streams/timeout/overflow and accept evidence only after `ActiveProcesses == 0`. Short roots cannot outrun descendant enrollment, helper/protocol/identity drift fails closed and there is no PID/CIM polling fallback. Non-Windows retains the process-group/tree path; ordinary non-contained spawn is unchanged. The wider TCB still includes host OS/filesystem/process APIs, Node, snapshot copy/no-follow/digest checks and stdout decoding. This does not prevent malicious code from escaping the copied closure or using ambient resources; use an external sandbox or External Confirmation when that adversary boundary matters.
|
|
372
413
|
|
|
373
414
|
Raw/revised proposals, selected design resources and mixed attachments enter one Source-bound Contract Draft loop immediately. Complete input coverage, stable keys, Product Control-level meaning, selected-resource design facts, acceptance/risk, direct/derived/delegated/evidence-backed provenance, Source ownership and Contract mapping converge together. Every non-empty line in declared Markdown Source belongs to one Material `ty-source-item`, one validated `design-resource-handoff-v1` or `design-resource-handoff-v2` formal block, or a closed-grammar background block containing only text-free anchors/horizontal rules or fixed-field `ty-source-provenance` comments. Text-bearing headings, free-form provenance, arbitrary background prose and unclassified text fail closed unless classified as Material. At least one marked technical obligation carries `aspect=architecture` and maps to an independently provable architecture obligation. Unknown decision-changing preferences still trigger one targeted clarification before Preflight/Compile can succeed; defensible recommendations are written into real Source rather than hidden in YAML, while high-risk actions remain external confirmations. A pre-existing planning document's structure never blocks authoring.
|
|
374
415
|
|
|
@@ -394,7 +435,7 @@ The exact current schema matrix is accounting-policy, evidence-packet, precollec
|
|
|
394
435
|
|
|
395
436
|
Formal collection prelocks one fixed eleven-scenario catalog as the sole source/zero-policy owner; collectors declare capabilities only and sources are only `required|forbidden`. Human time comes from a runner interaction recorder, compute from the complete Job-contained process tree, State from an exact runner payload/ledger plus prefrozen retention, and Provider usage from invocation-bound Provider correlation. A module-private-branded acquisition runtime constructs those owners and rejects missing sources, sampling/default-zero proxies, ordinary-spawn fallback and stream overflow. Every event binds a unique raw output and the scenario gold comparison remains verifier-owned. Provider acquisition now captures the exact prompt in the parent and launches only the candidate-owned isolated Node worker through a sanitized, runtime-TCB-v2-bound envelope. The worker alone owns `node:https`, bounded response streaming and the fixed parser; protocol-owned request/response/stdout/stderr/deadline/abort/output-token limits and complete temporary-root cleanup fail closed. The event binds response digest plus parser/worker identities without claiming an independent reparse of unretained response bytes. Provider readiness means only that local configuration, credential presence and launch support permit one controlled attempt.
|
|
396
437
|
|
|
397
|
-
The catalog derives 86 executions and 586 formal artifacts. Formal capacity is 650 files/364.625 MiB and complete run-set capacity is 4,379 files/974.3125 MiB. The Evidence Candidate freezes every code/schema/Context/test/package-version/protocol byte. Its Promotion Commit must be the direct child, add only four fixed package-/TCB-external governance records and preserve materialized-package, benchmark and runtime/TCB identities. Real collection is `external_pending` until authorized original/sanitized incident provenance, invocation-bound Provider/price evidence and a State-retention Source exist; synthetic fixtures cannot promote Level 3. Package 0.8.15 is the historical frozen Evidence Candidate identity. Package 0.8.
|
|
438
|
+
The catalog derives 86 executions and 586 formal artifacts. Formal capacity is 650 files/364.625 MiB and complete run-set capacity is 4,379 files/974.3125 MiB. The Evidence Candidate freezes every code/schema/Context/test/package-version/protocol byte. Its Promotion Commit must be the direct child, add only four fixed package-/TCB-external governance records and preserve materialized-package, benchmark and runtime/TCB identities. Real collection is `external_pending` until authorized original/sanitized incident provenance, invocation-bound Provider/price evidence and a State-retention Source exist; synthetic fixtures cannot promote Level 3. Package 0.8.15 is the historical frozen Evidence Candidate identity. Package 0.8.18 is the published predecessor. Package 0.9.0 is the prior unpromoted Level-3 candidate. Package 0.11.0 is the current Level-3 package candidate, inherits none of the prior candidates' evidence, production-checks the finite benchmark local-dependency closure—including `npm_command_spec.mjs`, the Provider protocol/worker sources and the Promotion commit-boundary owner—and requires collection/Promotion verifier execution from the exact repository checkout. This completes the scoped Level-4 mechanism logic only: capability remains Level 3, `level_4_claimed=false`, no formal-positive or Promotion exists, public `independent_evidence_admitted` means packet structure/source binding only, and complete/positive ROI remain owned by `total_roi_supported`/`total_roi_positive`.
|
|
398
439
|
|
|
399
440
|
The mechanism's own Final-Gate Oracle consumes fixed-test-ID machine reports and compares complete wrong-candidate and correct-control workflow statuses. Runtime capability requires `wrong candidate != machine_accepted` and `correct candidate == machine_accepted` through the real lifecycle; command exit plus token/string presence proves documentation consistency only. A separate ROI verifier never contributes to a safety Fact verdict.
|
|
400
441
|
|
|
@@ -414,7 +455,12 @@ The first successful Compile creates Authority Lock and returns:
|
|
|
414
455
|
"action": "change_model_in_host_then_continue",
|
|
415
456
|
"resume_token": "model checkpoint cleared, continue",
|
|
416
457
|
"turn_boundary": "end_current_turn",
|
|
417
|
-
"blocked_until_resume": [
|
|
458
|
+
"blocked_until_resume": [
|
|
459
|
+
"product_implementation",
|
|
460
|
+
"file_edits",
|
|
461
|
+
"build",
|
|
462
|
+
"test_execution"
|
|
463
|
+
],
|
|
418
464
|
"model_change_owner": "host_or_user",
|
|
419
465
|
"model_change_observable_by_harness": false,
|
|
420
466
|
"generic_continue_satisfies": false,
|
|
@@ -441,6 +487,11 @@ ty-context long-task verify <workdir> [--outcome <key>] [--check <key>] [--expla
|
|
|
441
487
|
ty-context long-task status <workdir>
|
|
442
488
|
ty-context long-task resume <workdir>
|
|
443
489
|
ty-context long-task doctor <workdir>
|
|
490
|
+
ty-context long-task external prepare <workdir> [--confirmation <key>]
|
|
491
|
+
ty-context long-task external submit <workdir> --confirmation <key> --record <path>
|
|
492
|
+
ty-context long-task external status <workdir>
|
|
493
|
+
ty-context long-task external rotate <workdir> --confirmation <key>
|
|
494
|
+
ty-context long-task external revoke <workdir> --confirmation <key>
|
|
444
495
|
ty-context long-task final-gate <workdir>
|
|
445
496
|
ty-context long-task stop-check <workdir> [--message <text>]
|
|
446
497
|
ty-context long-task close <workdir>
|
|
@@ -453,7 +504,13 @@ Compact authoring omits only deterministic defaults and normalizes identically t
|
|
|
453
504
|
|
|
454
505
|
Targeted verify rechecks active task/revision/compiled/worktree identity and applies the same workspace categories against the immutable baseline before writing scoped Progress. `verify --explain` groups selected Main Raw Executions, lists applicable Counterfactual calls and declared retry bounds, but runs nothing and writes no Progress. Counterfactual Findings first enter the owning Check Result, invalidate an otherwise passed Check, clear Claim Proofs and remain visible in status/resume; Global Checks reuse the same Progress type without a Global Outcome state. Final Gate first rejects stale accepted inputs, then recompiles and hashes Contract/fragments, Source, full Controlling Context, verifier/runner, recursively frozen local dependencies, verification inputs and workdir inputs before and after all Checks; any protected-input or Active Authority race fails closed. Stop/close clear only the accepted identity through CAS. Commit, migration, clear and abandon share one active-state lock. `abandon --force-corrupt-state` is reserved for corrupt continuity or stale lock cleanup and preserves Contract, Source, Context and Git content.
|
|
455
506
|
|
|
456
|
-
`status` and read-only `resume` report the current fresh Final Receipt as `final_workflow_status` (or `null` after drift)
|
|
507
|
+
`status` and read-only `resume` report the current fresh Final Receipt as `final_workflow_status` (or `null` after drift), the active Contract's complete `external_confirmations` and their live per-obligation evaluations. Their non-persisted `repair_frontier` groups Findings by root, names affected Source fragments/Facts/proofs, Expected and Actual evidence, implementation/verification owners, minimum diagnostic reruns and still-fresh diagnostic Progress. It has no acceptance authority and protects Source, Expected, Claims, proof authority, external scope, comparator and applicability from repair without Authority Revision. Legacy `ready_for_implementation` is only a compatibility alias and never gates implementation order. `progress_passing` is targeted repair evidence rather than “Outcome complete”; `progress_stale` is a freshness fact rather than a current pass or immediate rerun command, and `final_workflow_status: null` means unfinished.
|
|
508
|
+
|
|
509
|
+
`external prepare` emits current-candidate packets, the current challenge, Source-bound actor/key identity, signable canonical payload digest, exact obligation Expected/method/capabilities and evidence requirements while explicitly denying acceptance. `external submit` validates a strict `long-task-external-confirmation-record-v2` in fail-closed order against Active Authority/freshness, whole candidate, challenge, actor, Ed25519 signature, exact obligation/result-kind sets, immutable artifact snapshots and objective comparators before atomic storage. `external status` re-evaluates identity/signature/challenge/artifact integrity; `external rotate` changes the challenge; `external revoke` removes the named record and rotates its challenge. These mutations share the Active Authority lock with finalization. Failed/unable rows, declared-only actors and Record v1 remain non-accepting.
|
|
510
|
+
|
|
511
|
+
Programmatic v2 producers can import `parseExternalConfirmationRecordV2`, `externalConfirmationRecordV2Hash` and `externalConfirmationV2SignablePayload` from the package root, sign that canonical payload outside Harness with the actor-held private key and submit the complete record. Harness exposes verification but no private-key reader or v2 signing command/helper. The v1 parser/hash/`signExternalConfirmationRecordV1` exports remain legacy audit compatibility only; their local hash is not authentication and can never fulfill a blocking obligation.
|
|
512
|
+
|
|
513
|
+
Final Gate runs the complete machine set once, then enters one short existing-lock Finalization CAS without rerunning machine Checks. Under that lock it rechecks Authority, candidate/workspace fingerprint, compiled/verifier freshness, external records/challenges/signatures/artifacts/evaluations and exact Finalization Identity. Final Receipt v3 binds `finalization_identity_sha256` and emits only `machine_accepted`, `delivery_accepted`, `blocked_external` or `needs_work`. Stop/close use the same transaction to publish the Receipt and clear only a fresh accepted identity; any covered race remains non-accepted, preserves Authority and cannot leave a fresh accepted Receipt. Historical v3 Receipts without that identity, legacy `machine_accepted_external_pending`, pending rows, failed/unable results and invalid/stale records never close. Final/Stop/close report `acceptance_scope: declared_delivery_authority` and `native_goal_effect: none`; close additionally reports `closed_scope: complete_long_task_authority`.
|
|
457
514
|
|
|
458
515
|
New authoring uses inline Outcomes. Existing `outcome_files` remains physical compatibility only and creates no semantic or completion boundary. A Long Task requires real Source, and every declared Source file contains at least one Material Item. Every Material Source Item is wrapped in the original Markdown with a non-rendering, uniquely keyed `ty-source-item:start/end` marker; at least one technical obligation has `aspect=architecture`. Other non-empty lines may occur only in the validated handoff or a closed-grammar Markdown-structure/provenance background block. Arbitrary background prose and unclassified, nested, overlapping, unclosed or empty sections fail closed. `control` is a first-class kind, marker keys and `source_claim` keys are set-equal, and statements are text-exact after limited whitespace normalization. Every non-decision Source item owns one same-kind, same-text canonical target and duplicate ownership fails. Outcome Source Acceptance maps to criterion-identical `<outcome>.<check>.<assertion>` with an independently Source-backed non-Result Claim; Global Source Acceptance maps to criterion-identical `GLOBAL.<check>.<assertion>`, proves no Outcome Claim and needs an independently Source-backed Global Claim. Typed dispositions keep Requirements, Controls, Acceptance, Results, Fact/Affected-Outcome Risk, Non-goals, External Confirmations and Decisions distinct; `out_of_scope` is retired. Complete syntactic ownership cannot prove that the user expressed every real requirement or that marked Source is factually accurate; those remain explicit upstream premises.
|
|
459
516
|
|
|
@@ -480,10 +537,16 @@ ty-context upgrade
|
|
|
480
537
|
ty-context sync
|
|
481
538
|
```
|
|
482
539
|
|
|
540
|
+
The 0.10 line preserves Schema v4, all five read policies and the exact existing default-footprint behavior. Router remains experimental and does not replace the Workflow bounded search. `context create` does not register; `register` and `move` are explicit dry-run-first recoverable transactions. No automatic legacy-policy conversion or workspace migration occurs.
|
|
541
|
+
|
|
542
|
+
Version 0.11 adds an opt-in sparse Design Authority bundle without migrating existing projects. An unmarked root `DESIGN.md` alone remains a valid one-file closure. Creating a bundle is one explicit adoption/revision action that inserts the canonical `bundle-v1` marker and creates `design_system/authority.manifest.json`; generated `tokens.json` is not a second editable owner. Existing DRA handoffs may omit the full identity only for a true one-file project. Pair mismatch fails closed and raw `DESIGN.md`-only bindings must be regenerated or rebound to the complete current closure. Explicit downgrade removes both halves through DSA/Authority Revision; a fresh snapshot with neither half cannot authenticate prior repository history. Upgrade never invents subordinate owners, Token values, adoption or revision.
|
|
543
|
+
|
|
483
544
|
Version 0.6.0 retires V1 and the repo-local Hook. Development-period V2 Active Authority, Progress and Receipts are not migrated; doctor reports `manual_required`, and the operator upgrades the Contract before forming a new Authority Lock. Current observer identity, Compile policy and TCB changes likewise invalidate older authority/evidence. Custom machine Oracles, unsupported methods/families, wrappers and undeclared process argv dependencies are never silently converted to package observation or External Confirmation; the operator explicitly re-authors them from Source. Exact planned root/argv/carrier paths may remain absent until Final Gate, but patterns cannot substitute for that exact declaration. Relevant diagnostics include `machine_observer_not_admitted`, `unsupported_observer_requires_external_confirmation`, `custom_oracle_machine_completion_forbidden`, `static_observation_not_in_pre_run_snapshot`, `static_observation_changed_by_runner`, `process_observer_direct_root_required`, `process_observer_root_invocation_required`, `process_observer_root_argv_mismatch`, `process_root_production_binding_required`, `process_runtime_carrier_exact_path_required`, `process_runtime_input_missing`, `process_observation_input_changed_by_runner`, `legacy_target_runtime_non_authoritative`, `counterfactual_admitted_observation_required`, `counterfactual_runtime_reachability_unproven` and `project_submitted_verdict_disagrees_with_harness`. Invalid JSON, marker/record mismatch or stale lock is never guessed from damaged record paths; doctor reports the explicit contained cleanup command `ty-context long-task abandon <workdir> --force-corrupt-state`.
|
|
484
545
|
|
|
485
546
|
Version 0.6.0 keeps the `long-task-delivery-v2` name and physical `outcome_files` parser form while defining the first public V2 semantics; development-period Drafts receive explicit migration diagnostics. Its former optional Source Plan helper and the additive execution-model checkpoint added no Schema, CLI, Preflight, Validator, Receipt, Authority or persisted model-routing state. Current releases send inputs directly into the Source-bound Contract Draft loop and keep the old entry only as a pointer. Preflight and direct Compile share one activation-safety validator.
|
|
486
547
|
|
|
548
|
+
Version 0.9.0 retains `long-task-delivery-v2` and defaults a missing `task.target_profile.completion_authority` to `machine_only` with an actionable compatibility diagnostic. Fragment migration preserves only unchanged exact projections; changed or missing projections receive current refs/digests plus `decision_required`, no inferred Fact, polarity, supersession or exclusion, and stale anchors/provenance are removed. A blocking external route requires exact `declared_authorities` semantics, Ed25519 identity assurance with a protected public key, exact obligation decomposition and a newly signed current Record v2; migration never invents authority or signatures. Record v1, Receipt v2 and Receipt v3 without `finalization_identity_sha256` remain audit-readable but cannot close. Recompile and rerun the current Final Gate. This is a manual-required semantic migration and introduces no generic Browser/Native observer or authentication-provider registry.
|
|
549
|
+
|
|
487
550
|
After updating the package, run `ty-context upgrade`. Use `ty-context upgrade --check` first when you need a read-only plan.
|
|
488
551
|
|
|
489
552
|
Release metadata declares one update mode: `sync-only`, `upgrade-required` or `manual-required`. Upgrade plans report steps as `safe_pending`, `manual_required` or `blocked`. A `sync-only` release may use `sync`; `sync` does not run migrations. An `upgrade-required` release must run upgrade, while `manual-required` includes an explicit operator step.
|
|
@@ -513,7 +576,7 @@ make validate-harness
|
|
|
513
576
|
|
|
514
577
|
The modularity gate is the capability-aware `ty-context check-modularity`. Scoped waivers require `owner`, `introduced_at`, `reason`, `tracking_issue` and `expiry_condition`; unsupported metrics never appear as passing zeroes.
|
|
515
578
|
|
|
516
|
-
The synchronized local preview tarball is named `project-tiny-context-harness-0.
|
|
579
|
+
The synchronized local preview tarball is named `project-tiny-context-harness-0.11.0.tgz`.
|
|
517
580
|
|
|
518
581
|
## Community And Further Reading
|
|
519
582
|
|