project-tiny-context-harness 0.8.16 → 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.
Files changed (535) hide show
  1. package/README.md +119 -41
  2. package/assets/README.md +184 -55
  3. package/assets/README.zh-CN.md +114 -40
  4. package/assets/agents/AGENTS_CORE.md +2 -2
  5. package/assets/context_templates/context.toml +6 -1
  6. package/assets/context_templates/screen-contract.md +16 -0
  7. package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_helpers.cs +301 -0
  8. package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_run.cs +197 -0
  9. package/assets/runtime/windows-job-supervisor/formal_process_supervisor_native_types.cs +215 -0
  10. package/assets/runtime/windows-job-supervisor/windows_job_process_supervisor.ps1 +117 -0
  11. package/assets/skills/context_development_engineer/SKILL.md +16 -30
  12. package/assets/skills/context_development_engineer/references/engineering-design-reasoning.md +93 -0
  13. package/assets/skills/context_surface_contract/SKILL.md +13 -2
  14. package/assets/skills/context_uiux_design/SKILL.md +7 -3
  15. package/assets/skills/context_uiux_design/references/task-uiux-analysis.md +82 -0
  16. package/assets/skills/design-resource-authoring/SKILL.md +18 -9
  17. package/assets/skills/design-resource-authoring/references/authority-delta-assessment.md +52 -0
  18. package/assets/skills/design-resource-authoring/references/downstream-handoff.md +22 -6
  19. package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md +26 -8
  20. package/assets/skills/design-resource-authoring/references/implementation-feasibility.md +111 -0
  21. package/assets/skills/design-resource-authoring/references/open-design-provider.md +45 -7
  22. package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +7 -1
  23. package/assets/skills/design-resource-authoring/references/resource-selection.md +115 -3
  24. package/assets/skills/design-system-authoring/SKILL.md +23 -17
  25. package/assets/skills/design-system-authoring/references/authority-adoption.md +19 -9
  26. package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +4 -0
  27. package/assets/skills/long-task-workflow/SKILL.md +6 -6
  28. package/assets/skills/long-task-workflow/references/authority-lifecycle.md +10 -4
  29. package/assets/skills/long-task-workflow/references/contract-authoring.md +5 -5
  30. package/assets/skills/long-task-workflow/references/evidence-design.md +14 -3
  31. package/assets/skills/long-task-workflow/references/source-authoring.md +11 -8
  32. package/assets/tools/context_rules.json +53 -0
  33. package/assets/tools/validate_context.py +302 -77
  34. package/dist/cli.js +2 -1
  35. package/dist/commands/context-create.d.ts +1 -0
  36. package/dist/commands/context-create.js +90 -0
  37. package/dist/commands/context-inspect.d.ts +1 -0
  38. package/dist/commands/context-inspect.js +98 -0
  39. package/dist/commands/context-move.d.ts +1 -0
  40. package/dist/commands/context-move.js +78 -0
  41. package/dist/commands/context-register.d.ts +1 -0
  42. package/dist/commands/context-register.js +110 -0
  43. package/dist/commands/context-transaction.d.ts +1 -0
  44. package/dist/commands/context-transaction.js +84 -0
  45. package/dist/commands/context.d.ts +1 -0
  46. package/dist/commands/context.js +36 -0
  47. package/dist/commands/design-authority-delta.d.ts +1 -0
  48. package/dist/commands/design-authority-delta.js +53 -0
  49. package/dist/commands/design-authority.d.ts +1 -0
  50. package/dist/commands/design-authority.js +104 -0
  51. package/dist/commands/design-resource.js +17 -3
  52. package/dist/commands/doctor.d.ts +1 -1
  53. package/dist/commands/doctor.js +61 -3
  54. package/dist/commands/index.js +19 -2
  55. package/dist/commands/long-task-authoring.js +20 -2
  56. package/dist/commands/long-task-workdir.d.ts +2 -0
  57. package/dist/commands/long-task-workdir.js +23 -0
  58. package/dist/commands/long-task.js +75 -6
  59. package/dist/commands/route.d.ts +15 -0
  60. package/dist/commands/route.js +142 -0
  61. package/dist/index.d.ts +3 -13
  62. package/dist/index.js +3 -12
  63. package/dist/lib/cli-exit.d.ts +14 -0
  64. package/dist/lib/cli-exit.js +19 -0
  65. package/dist/lib/context-catalog/catalog-default-footprint.d.ts +3 -0
  66. package/dist/lib/context-catalog/catalog-default-footprint.js +53 -0
  67. package/dist/lib/context-catalog/catalog-diagnostics.d.ts +9 -0
  68. package/dist/lib/context-catalog/catalog-diagnostics.js +34 -0
  69. package/dist/lib/context-catalog/catalog-discovery.d.ts +7 -0
  70. package/dist/lib/context-catalog/catalog-discovery.js +81 -0
  71. package/dist/lib/context-catalog/catalog-load.d.ts +8 -0
  72. package/dist/lib/context-catalog/catalog-load.js +187 -0
  73. package/dist/lib/context-catalog/catalog-path-validation.d.ts +7 -0
  74. package/dist/lib/context-catalog/catalog-path-validation.js +62 -0
  75. package/dist/lib/context-catalog/catalog-paths.d.ts +11 -0
  76. package/dist/lib/context-catalog/catalog-paths.js +41 -0
  77. package/dist/lib/context-catalog/catalog-portable-contract.d.ts +15 -0
  78. package/dist/lib/context-catalog/catalog-portable-contract.js +68 -0
  79. package/dist/lib/context-catalog/catalog-staged-path-safety.d.ts +1 -0
  80. package/dist/lib/context-catalog/catalog-staged-path-safety.js +36 -0
  81. package/dist/lib/context-catalog/catalog-types.d.ts +40 -0
  82. package/dist/lib/context-catalog/catalog-types.js +1 -0
  83. package/dist/lib/context-catalog/catalog-validation.d.ts +9 -0
  84. package/dist/lib/context-catalog/catalog-validation.js +148 -0
  85. package/dist/lib/context-create/context-create-path.d.ts +2 -0
  86. package/dist/lib/context-create/context-create-path.js +30 -0
  87. package/dist/lib/context-create/context-create-template.d.ts +2 -0
  88. package/dist/lib/context-create/context-create-template.js +95 -0
  89. package/dist/lib/context-create/context-create-types.d.ts +28 -0
  90. package/dist/lib/context-create/context-create-types.js +1 -0
  91. package/dist/lib/context-create/context-create-write.d.ts +1 -0
  92. package/dist/lib/context-create/context-create-write.js +85 -0
  93. package/dist/lib/context-create/context-create.d.ts +2 -0
  94. package/dist/lib/context-create/context-create.js +84 -0
  95. package/dist/lib/context-default-footprint.d.ts +2 -3
  96. package/dist/lib/context-default-footprint.js +49 -57
  97. package/dist/lib/context-doctor/context-doctor-types.d.ts +16 -0
  98. package/dist/lib/context-doctor/context-doctor-types.js +15 -0
  99. package/dist/lib/context-doctor/context-doctor.d.ts +2 -0
  100. package/dist/lib/context-doctor/context-doctor.js +130 -0
  101. package/dist/lib/context-graph-snapshot.d.ts +5 -0
  102. package/dist/lib/context-graph-snapshot.js +46 -25
  103. package/dist/lib/context-inspect/context-inspect-projection.d.ts +9 -0
  104. package/dist/lib/context-inspect/context-inspect-projection.js +49 -0
  105. package/dist/lib/context-inspect/context-inspect-render.d.ts +2 -0
  106. package/dist/lib/context-inspect/context-inspect-render.js +29 -0
  107. package/dist/lib/context-inspect/context-inspect-types.d.ts +43 -0
  108. package/dist/lib/context-inspect/context-inspect-types.js +1 -0
  109. package/dist/lib/context-inspect/context-inspect.d.ts +2 -0
  110. package/dist/lib/context-inspect/context-inspect.js +104 -0
  111. package/dist/lib/context-manifest-schema.d.ts +1 -1
  112. package/dist/lib/context-manifest-schema.js +4 -20
  113. package/dist/lib/context-markdown/context-markdown-analysis.d.ts +15 -0
  114. package/dist/lib/context-markdown/context-markdown-analysis.js +245 -0
  115. package/dist/lib/context-markdown/context-markdown-extract.d.ts +7 -0
  116. package/dist/lib/context-markdown/context-markdown-extract.js +114 -0
  117. package/dist/lib/context-markdown/context-markdown-types.d.ts +57 -0
  118. package/dist/lib/context-markdown/context-markdown-types.js +1 -0
  119. package/dist/lib/context-move/context-move-input.d.ts +8 -0
  120. package/dist/lib/context-move/context-move-input.js +17 -0
  121. package/dist/lib/context-move/context-move-literal-scan.d.ts +20 -0
  122. package/dist/lib/context-move/context-move-literal-scan.js +213 -0
  123. package/dist/lib/context-move/context-move-live-validation.d.ts +3 -0
  124. package/dist/lib/context-move/context-move-live-validation.js +56 -0
  125. package/dist/lib/context-move/context-move-markdown-plan.d.ts +22 -0
  126. package/dist/lib/context-move/context-move-markdown-plan.js +39 -0
  127. package/dist/lib/context-move/context-move-projection.d.ts +3 -0
  128. package/dist/lib/context-move/context-move-projection.js +11 -0
  129. package/dist/lib/context-move/context-move-reference-validation.d.ts +11 -0
  130. package/dist/lib/context-move/context-move-reference-validation.js +64 -0
  131. package/dist/lib/context-move/context-move-render.d.ts +2 -0
  132. package/dist/lib/context-move/context-move-render.js +24 -0
  133. package/dist/lib/context-move/context-move-support.d.ts +10 -0
  134. package/dist/lib/context-move/context-move-support.js +88 -0
  135. package/dist/lib/context-move/context-move-transaction-plan.d.ts +24 -0
  136. package/dist/lib/context-move/context-move-transaction-plan.js +108 -0
  137. package/dist/lib/context-move/context-move-types.d.ts +74 -0
  138. package/dist/lib/context-move/context-move-types.js +1 -0
  139. package/dist/lib/context-move/context-move.d.ts +8 -0
  140. package/dist/lib/context-move/context-move.js +180 -0
  141. package/dist/lib/context-mutation/manifest-lossless-patch.d.ts +28 -0
  142. package/dist/lib/context-mutation/manifest-lossless-patch.js +208 -0
  143. package/dist/lib/context-mutation/markdown-link-patch.d.ts +34 -0
  144. package/dist/lib/context-mutation/markdown-link-patch.js +143 -0
  145. package/dist/lib/context-mutation/markdown-link-spans.d.ts +10 -0
  146. package/dist/lib/context-mutation/markdown-link-spans.js +179 -0
  147. package/dist/lib/context-mutation/mutation-cas.d.ts +13 -0
  148. package/dist/lib/context-mutation/mutation-cas.js +365 -0
  149. package/dist/lib/context-mutation/mutation-command-support.d.ts +12 -0
  150. package/dist/lib/context-mutation/mutation-command-support.js +57 -0
  151. package/dist/lib/context-mutation/mutation-commit.d.ts +12 -0
  152. package/dist/lib/context-mutation/mutation-commit.js +89 -0
  153. package/dist/lib/context-mutation/mutation-directories.d.ts +5 -0
  154. package/dist/lib/context-mutation/mutation-directories.js +56 -0
  155. package/dist/lib/context-mutation/mutation-file-state.d.ts +14 -0
  156. package/dist/lib/context-mutation/mutation-file-state.js +137 -0
  157. package/dist/lib/context-mutation/mutation-journal-file-validation.d.ts +1 -0
  158. package/dist/lib/context-mutation/mutation-journal-file-validation.js +106 -0
  159. package/dist/lib/context-mutation/mutation-journal-io.d.ts +5 -0
  160. package/dist/lib/context-mutation/mutation-journal-io.js +55 -0
  161. package/dist/lib/context-mutation/mutation-journal-storage.d.ts +18 -0
  162. package/dist/lib/context-mutation/mutation-journal-storage.js +283 -0
  163. package/dist/lib/context-mutation/mutation-journal-validation-support.d.ts +16 -0
  164. package/dist/lib/context-mutation/mutation-journal-validation-support.js +140 -0
  165. package/dist/lib/context-mutation/mutation-journal-validation.d.ts +3 -0
  166. package/dist/lib/context-mutation/mutation-journal-validation.js +177 -0
  167. package/dist/lib/context-mutation/mutation-journal.d.ts +8 -0
  168. package/dist/lib/context-mutation/mutation-journal.js +111 -0
  169. package/dist/lib/context-mutation/mutation-live-validation.d.ts +3 -0
  170. package/dist/lib/context-mutation/mutation-live-validation.js +51 -0
  171. package/dist/lib/context-mutation/mutation-long-task-guard.d.ts +6 -0
  172. package/dist/lib/context-mutation/mutation-long-task-guard.js +57 -0
  173. package/dist/lib/context-mutation/mutation-recovery.d.ts +4 -0
  174. package/dist/lib/context-mutation/mutation-recovery.js +189 -0
  175. package/dist/lib/context-mutation/mutation-staged-fs.d.ts +5 -0
  176. package/dist/lib/context-mutation/mutation-staged-fs.js +56 -0
  177. package/dist/lib/context-mutation/mutation-types.d.ts +103 -0
  178. package/dist/lib/context-mutation/mutation-types.js +1 -0
  179. package/dist/lib/context-register/context-register-input.d.ts +11 -0
  180. package/dist/lib/context-register/context-register-input.js +43 -0
  181. package/dist/lib/context-register/context-register-render.d.ts +2 -0
  182. package/dist/lib/context-register/context-register-render.js +21 -0
  183. package/dist/lib/context-register/context-register-support.d.ts +6 -0
  184. package/dist/lib/context-register/context-register-support.js +46 -0
  185. package/dist/lib/context-register/context-register-types.d.ts +46 -0
  186. package/dist/lib/context-register/context-register-types.js +1 -0
  187. package/dist/lib/context-register/context-register.d.ts +8 -0
  188. package/dist/lib/context-register/context-register.js +155 -0
  189. package/dist/lib/context-router/context-route-budget.d.ts +15 -0
  190. package/dist/lib/context-router/context-route-budget.js +14 -0
  191. package/dist/lib/context-router/context-route-candidates.d.ts +15 -0
  192. package/dist/lib/context-router/context-route-candidates.js +112 -0
  193. package/dist/lib/context-router/context-route-order.d.ts +6 -0
  194. package/dist/lib/context-router/context-route-order.js +53 -0
  195. package/dist/lib/context-router/context-route-paths.d.ts +16 -0
  196. package/dist/lib/context-router/context-route-paths.js +109 -0
  197. package/dist/lib/context-router/context-route-render.d.ts +2 -0
  198. package/dist/lib/context-router/context-route-render.js +32 -0
  199. package/dist/lib/context-router/context-route-scan.d.ts +18 -0
  200. package/dist/lib/context-router/context-route-scan.js +156 -0
  201. package/dist/lib/context-router/context-route-selection.d.ts +16 -0
  202. package/dist/lib/context-router/context-route-selection.js +72 -0
  203. package/dist/lib/context-router/context-route-terms.d.ts +13 -0
  204. package/dist/lib/context-router/context-route-terms.js +202 -0
  205. package/dist/lib/context-router/context-route-types.d.ts +101 -0
  206. package/dist/lib/context-router/context-route-types.js +1 -0
  207. package/dist/lib/context-router/context-route.d.ts +2 -0
  208. package/dist/lib/context-router/context-route.js +127 -0
  209. package/dist/lib/context-units-migration.d.ts +13 -0
  210. package/dist/lib/context-units-migration.js +217 -0
  211. package/dist/lib/design-authority-binding.d.ts +7 -0
  212. package/dist/lib/design-authority-binding.js +96 -0
  213. package/dist/lib/design-authority-closure.d.ts +3 -0
  214. package/dist/lib/design-authority-closure.js +201 -0
  215. package/dist/lib/design-authority-delta-codec-primitives.d.ts +10 -0
  216. package/dist/lib/design-authority-delta-codec-primitives.js +58 -0
  217. package/dist/lib/design-authority-delta-codec.d.ts +2 -0
  218. package/dist/lib/design-authority-delta-codec.js +193 -0
  219. package/dist/lib/design-authority-delta-types.d.ts +65 -0
  220. package/dist/lib/design-authority-delta-types.js +6 -0
  221. package/dist/lib/design-authority-delta-validation.d.ts +2 -0
  222. package/dist/lib/design-authority-delta-validation.js +16 -0
  223. package/dist/lib/design-authority-digest.d.ts +8 -0
  224. package/dist/lib/design-authority-digest.js +36 -0
  225. package/dist/lib/design-authority-files.d.ts +9 -0
  226. package/dist/lib/design-authority-files.js +62 -0
  227. package/dist/lib/design-authority-format.d.ts +2 -0
  228. package/dist/lib/design-authority-format.js +93 -0
  229. package/dist/lib/design-authority-links.d.ts +10 -0
  230. package/dist/lib/design-authority-links.js +137 -0
  231. package/dist/lib/design-authority-manifest.d.ts +4 -0
  232. package/dist/lib/design-authority-manifest.js +144 -0
  233. package/dist/lib/design-authority-tokens.d.ts +9 -0
  234. package/dist/lib/design-authority-tokens.js +45 -0
  235. package/dist/lib/design-authority-types.d.ts +80 -0
  236. package/dist/lib/design-authority-types.js +23 -0
  237. package/dist/lib/design-md-tool-adapter.d.ts +9 -0
  238. package/dist/lib/design-md-tool-adapter.js +152 -0
  239. package/dist/lib/design-md-tool-normalization.d.ts +7 -0
  240. package/dist/lib/design-md-tool-normalization.js +78 -0
  241. package/dist/lib/design-md-tool-types.d.ts +99 -0
  242. package/dist/lib/design-md-tool-types.js +8 -0
  243. package/dist/lib/design-resource-handoff-bundle.js +5 -0
  244. package/dist/lib/design-resource-handoff-input-types.d.ts +1 -1
  245. package/dist/lib/design-resource-handoff-manifest-projection.js +4 -0
  246. package/dist/lib/design-resource-handoff-set-integrity.js +1 -0
  247. package/dist/lib/design-resource-handoff-shape.js +18 -2
  248. package/dist/lib/design-resource-handoff-types.d.ts +8 -0
  249. package/dist/lib/design-resource-handoff-validation.js +24 -0
  250. package/dist/lib/design-resource-implementation-feasibility-model.d.ts +35 -0
  251. package/dist/lib/design-resource-implementation-feasibility-model.js +62 -0
  252. package/dist/lib/design-resource-implementation-feasibility-shape-sections.d.ts +43 -0
  253. package/dist/lib/design-resource-implementation-feasibility-shape-sections.js +142 -0
  254. package/dist/lib/design-resource-implementation-feasibility-shape.d.ts +4 -0
  255. package/dist/lib/design-resource-implementation-feasibility-shape.js +154 -0
  256. package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.d.ts +24 -0
  257. package/dist/lib/design-resource-implementation-feasibility-source-decision-projection.js +106 -0
  258. package/dist/lib/design-resource-implementation-feasibility-source-decision.d.ts +21 -0
  259. package/dist/lib/design-resource-implementation-feasibility-source-decision.js +75 -0
  260. package/dist/lib/design-resource-implementation-feasibility-types.d.ts +135 -0
  261. package/dist/lib/design-resource-implementation-feasibility-types.js +37 -0
  262. package/dist/lib/design-resource-implementation-feasibility-validation-cells.d.ts +5 -0
  263. package/dist/lib/design-resource-implementation-feasibility-validation-cells.js +125 -0
  264. package/dist/lib/design-resource-implementation-feasibility-validation-document.d.ts +4 -0
  265. package/dist/lib/design-resource-implementation-feasibility-validation-document.js +167 -0
  266. package/dist/lib/design-resource-implementation-feasibility-validation-facts.d.ts +3 -0
  267. package/dist/lib/design-resource-implementation-feasibility-validation-facts.js +76 -0
  268. package/dist/lib/design-resource-implementation-feasibility-validation-realizations.d.ts +8 -0
  269. package/dist/lib/design-resource-implementation-feasibility-validation-realizations.js +76 -0
  270. package/dist/lib/design-resource-implementation-feasibility-validation-support.d.ts +10 -0
  271. package/dist/lib/design-resource-implementation-feasibility-validation-support.js +75 -0
  272. package/dist/lib/design-resource-implementation-feasibility-validation.d.ts +3 -0
  273. package/dist/lib/design-resource-implementation-feasibility-validation.js +138 -0
  274. package/dist/lib/design-resource-recovery-current.js +22 -0
  275. package/dist/lib/design-resource-recovery-shape.js +64 -7
  276. package/dist/lib/design-resource-recovery-types.d.ts +4 -1
  277. package/dist/lib/design-resource-symbolic-fact-shape.js +9 -1
  278. package/dist/lib/design-resource-symbolic-fact-types.d.ts +8 -0
  279. package/dist/lib/design-resource-symbolic-fact-validation.js +25 -0
  280. package/dist/lib/doctor.d.ts +2 -1
  281. package/dist/lib/doctor.js +29 -1
  282. package/dist/lib/fs.js +1 -1
  283. package/dist/lib/long-task-acceptance-reachability-claims.d.ts +2 -0
  284. package/dist/lib/long-task-acceptance-reachability-claims.js +279 -0
  285. package/dist/lib/long-task-acceptance-reachability-design.d.ts +2 -0
  286. package/dist/lib/long-task-acceptance-reachability-design.js +96 -0
  287. package/dist/lib/long-task-acceptance-reachability-external.d.ts +9 -0
  288. package/dist/lib/long-task-acceptance-reachability-external.js +123 -0
  289. package/dist/lib/long-task-acceptance-reachability-helpers.d.ts +64 -0
  290. package/dist/lib/long-task-acceptance-reachability-helpers.js +473 -0
  291. package/dist/lib/long-task-acceptance-reachability-semantic.d.ts +2 -0
  292. package/dist/lib/long-task-acceptance-reachability-semantic.js +122 -0
  293. package/dist/lib/long-task-acceptance-reachability-types.d.ts +91 -0
  294. package/dist/lib/long-task-acceptance-reachability-types.js +1 -0
  295. package/dist/lib/long-task-acceptance-reachability.d.ts +4 -0
  296. package/dist/lib/long-task-acceptance-reachability.js +115 -0
  297. package/dist/lib/long-task-activation-validation.d.ts +6 -0
  298. package/dist/lib/long-task-activation-validation.js +96 -23
  299. package/dist/lib/long-task-active-authority-lock-context.d.ts +4 -0
  300. package/dist/lib/long-task-active-authority-lock-context.js +29 -0
  301. package/dist/lib/long-task-applicability-identity.d.ts +25 -0
  302. package/dist/lib/long-task-applicability-identity.js +60 -0
  303. package/dist/lib/long-task-authoring-preflight-diagnostics.js +8 -0
  304. package/dist/lib/long-task-authoring-preflight-types.d.ts +2 -0
  305. package/dist/lib/long-task-authoring-preflight-types.js +9 -0
  306. package/dist/lib/long-task-authoring-preflight.js +18 -2
  307. package/dist/lib/long-task-authority-material-diff.js +4 -0
  308. package/dist/lib/long-task-authority-materials.js +19 -0
  309. package/dist/lib/long-task-authority-policy.d.ts +3 -0
  310. package/dist/lib/long-task-authority-policy.js +3 -0
  311. package/dist/lib/long-task-authority-revision-details.js +2 -1
  312. package/dist/lib/long-task-authority-types.d.ts +2 -0
  313. package/dist/lib/long-task-authority.js +2 -0
  314. package/dist/lib/long-task-check-runner.js +3 -296
  315. package/dist/lib/long-task-check-shape.js +6 -1
  316. package/dist/lib/long-task-claim-definitions.js +1 -3
  317. package/dist/lib/long-task-claim-semantic-proof-floor.d.ts +3 -0
  318. package/dist/lib/long-task-claim-semantic-proof-floor.js +78 -0
  319. package/dist/lib/long-task-claims.d.ts +0 -18
  320. package/dist/lib/long-task-claims.js +15 -14
  321. package/dist/lib/long-task-command-process.d.ts +9 -0
  322. package/dist/lib/long-task-command-process.js +178 -0
  323. package/dist/lib/long-task-compact-authoring.js +3 -0
  324. package/dist/lib/long-task-compact-projections.js +10 -0
  325. package/dist/lib/long-task-complete-delivery-evidence-types.d.ts +38 -0
  326. package/dist/lib/long-task-complete-delivery-evidence-types.js +1 -0
  327. package/dist/lib/long-task-completion-types.d.ts +109 -0
  328. package/dist/lib/long-task-completion-types.js +1 -0
  329. package/dist/lib/long-task-conformance-policy.d.ts +2 -1
  330. package/dist/lib/long-task-conformance-policy.js +11 -4
  331. package/dist/lib/long-task-context-authority-topology.js +6 -4
  332. package/dist/lib/long-task-contract-types.d.ts +52 -1
  333. package/dist/lib/long-task-counterfactual-sandbox.d.ts +7 -1
  334. package/dist/lib/long-task-counterfactual-sandbox.js +86 -6
  335. package/dist/lib/long-task-delivery-compiler-preflight.d.ts +24 -0
  336. package/dist/lib/long-task-delivery-compiler-preflight.js +32 -0
  337. package/dist/lib/long-task-delivery-compiler.d.ts +1 -0
  338. package/dist/lib/long-task-delivery-compiler.js +59 -44
  339. package/dist/lib/long-task-delivery-parser.d.ts +3 -0
  340. package/dist/lib/long-task-delivery-parser.js +26 -8
  341. package/dist/lib/long-task-delivery-types.d.ts +2 -0
  342. package/dist/lib/long-task-delivery-types.js +2 -0
  343. package/dist/lib/long-task-delivery-validation.d.ts +11 -3
  344. package/dist/lib/long-task-delivery-validation.js +23 -8
  345. package/dist/lib/long-task-design-feasibility-binding-owners.d.ts +6 -0
  346. package/dist/lib/long-task-design-feasibility-binding-owners.js +52 -0
  347. package/dist/lib/long-task-design-feasibility-binding.d.ts +14 -0
  348. package/dist/lib/long-task-design-feasibility-binding.js +114 -0
  349. package/dist/lib/long-task-design-feasibility-source-closure.d.ts +11 -0
  350. package/dist/lib/long-task-design-feasibility-source-closure.js +87 -0
  351. package/dist/lib/long-task-design-obligation.d.ts +50 -0
  352. package/dist/lib/long-task-design-obligation.js +99 -0
  353. package/dist/lib/long-task-design-resource-handoff.d.ts +5 -3
  354. package/dist/lib/long-task-design-resource-handoff.js +64 -4
  355. package/dist/lib/long-task-design-resource-method-binding.js +20 -2
  356. package/dist/lib/long-task-effective-external-takeover.d.ts +15 -0
  357. package/dist/lib/long-task-effective-external-takeover.js +109 -0
  358. package/dist/lib/long-task-effective-external-ui-takeover.d.ts +5 -0
  359. package/dist/lib/long-task-effective-external-ui-takeover.js +117 -0
  360. package/dist/lib/long-task-evidence-capability-codec.js +91 -0
  361. package/dist/lib/long-task-evidence-capability-runtime.js +62 -14
  362. package/dist/lib/long-task-evidence-capability-types.d.ts +3 -2
  363. package/dist/lib/long-task-evidence-v2.d.ts +6 -1
  364. package/dist/lib/long-task-evidence-v2.js +253 -170
  365. package/dist/lib/long-task-execution-observation.d.ts +7 -0
  366. package/dist/lib/long-task-execution-observation.js +21 -4
  367. package/dist/lib/long-task-expected-authority.d.ts +4 -0
  368. package/dist/lib/long-task-expected-authority.js +126 -0
  369. package/dist/lib/long-task-external-confirmation-artifacts.d.ts +9 -0
  370. package/dist/lib/long-task-external-confirmation-artifacts.js +138 -0
  371. package/dist/lib/long-task-external-confirmation-attestation.d.ts +20 -0
  372. package/dist/lib/long-task-external-confirmation-attestation.js +115 -0
  373. package/dist/lib/long-task-external-confirmation-challenge.d.ts +23 -0
  374. package/dist/lib/long-task-external-confirmation-challenge.js +164 -0
  375. package/dist/lib/long-task-external-confirmation-context.d.ts +14 -0
  376. package/dist/lib/long-task-external-confirmation-context.js +53 -0
  377. package/dist/lib/long-task-external-confirmation-evaluation.d.ts +11 -0
  378. package/dist/lib/long-task-external-confirmation-evaluation.js +454 -0
  379. package/dist/lib/long-task-external-confirmation-expected.d.ts +8 -0
  380. package/dist/lib/long-task-external-confirmation-expected.js +200 -0
  381. package/dist/lib/long-task-external-confirmation-identity.d.ts +10 -0
  382. package/dist/lib/long-task-external-confirmation-identity.js +77 -0
  383. package/dist/lib/long-task-external-confirmation-plan.d.ts +25 -0
  384. package/dist/lib/long-task-external-confirmation-plan.js +148 -0
  385. package/dist/lib/long-task-external-confirmation-preparation.d.ts +4 -0
  386. package/dist/lib/long-task-external-confirmation-preparation.js +100 -0
  387. package/dist/lib/long-task-external-confirmation-shape.d.ts +8 -0
  388. package/dist/lib/long-task-external-confirmation-shape.js +387 -0
  389. package/dist/lib/long-task-external-confirmation-state.d.ts +10 -0
  390. package/dist/lib/long-task-external-confirmation-state.js +109 -0
  391. package/dist/lib/long-task-external-confirmation-types.d.ts +195 -0
  392. package/dist/lib/long-task-external-confirmation-types.js +1 -0
  393. package/dist/lib/long-task-final-integrity.d.ts +2 -0
  394. package/dist/lib/long-task-final-integrity.js +21 -10
  395. package/dist/lib/long-task-final-v2.d.ts +7 -2
  396. package/dist/lib/long-task-final-v2.js +179 -55
  397. package/dist/lib/long-task-finalization-identity.d.ts +27 -0
  398. package/dist/lib/long-task-finalization-identity.js +58 -0
  399. package/dist/lib/long-task-finding-context.d.ts +1 -1
  400. package/dist/lib/long-task-finding-context.js +139 -13
  401. package/dist/lib/long-task-freshness.d.ts +27 -0
  402. package/dist/lib/long-task-freshness.js +129 -6
  403. package/dist/lib/long-task-git.js +3 -3
  404. package/dist/lib/long-task-material-input-closure.d.ts +3 -0
  405. package/dist/lib/long-task-material-input-closure.js +92 -0
  406. package/dist/lib/long-task-obligation-authority-resolution.d.ts +12 -0
  407. package/dist/lib/long-task-obligation-authority-resolution.js +57 -0
  408. package/dist/lib/long-task-obligation-semantic-identity.d.ts +16 -0
  409. package/dist/lib/long-task-obligation-semantic-identity.js +116 -0
  410. package/dist/lib/long-task-observation-authority.d.ts +11 -0
  411. package/dist/lib/long-task-observation-authority.js +137 -6
  412. package/dist/lib/long-task-process-table.d.ts +9 -0
  413. package/dist/lib/long-task-process-table.js +87 -0
  414. package/dist/lib/long-task-process-tree.d.ts +8 -0
  415. package/dist/lib/long-task-process-tree.js +108 -0
  416. package/dist/lib/long-task-proof-adequacy.d.ts +12 -0
  417. package/dist/lib/long-task-proof-adequacy.js +57 -0
  418. package/dist/lib/long-task-proof-capability-floor.d.ts +6 -0
  419. package/dist/lib/long-task-proof-capability-floor.js +137 -0
  420. package/dist/lib/long-task-protected-files.d.ts +1 -1
  421. package/dist/lib/long-task-protected-files.js +1 -1
  422. package/dist/lib/long-task-repair-frontier-checks.d.ts +8 -0
  423. package/dist/lib/long-task-repair-frontier-checks.js +93 -0
  424. package/dist/lib/long-task-repair-frontier-groups.d.ts +2 -0
  425. package/dist/lib/long-task-repair-frontier-groups.js +64 -0
  426. package/dist/lib/long-task-repair-frontier-utils.d.ts +6 -0
  427. package/dist/lib/long-task-repair-frontier-utils.js +27 -0
  428. package/dist/lib/long-task-repair-frontier.d.ts +14 -0
  429. package/dist/lib/long-task-repair-frontier.js +132 -0
  430. package/dist/lib/long-task-risk.d.ts +3 -2
  431. package/dist/lib/long-task-risk.js +73 -24
  432. package/dist/lib/long-task-root-shape.js +148 -8
  433. package/dist/lib/long-task-runner-freeze.d.ts +2 -1
  434. package/dist/lib/long-task-runner-freeze.js +23 -8
  435. package/dist/lib/long-task-runtime-types.d.ts +34 -40
  436. package/dist/lib/long-task-semantic-assurance-policy.js +2 -11
  437. package/dist/lib/long-task-semantic-contract-types.d.ts +2 -1
  438. package/dist/lib/long-task-semantic-drift-migration.js +48 -2
  439. package/dist/lib/long-task-semantic-fact-binding-types.d.ts +20 -0
  440. package/dist/lib/long-task-semantic-fact-closure.d.ts +5 -1
  441. package/dist/lib/long-task-semantic-fact-closure.js +33 -5
  442. package/dist/lib/long-task-semantic-fact-contract-closure.js +176 -1
  443. package/dist/lib/long-task-semantic-fact-contract-proofs.js +18 -1
  444. package/dist/lib/long-task-semantic-fact-input-closure.d.ts +16 -2
  445. package/dist/lib/long-task-semantic-fact-input-closure.js +138 -15
  446. package/dist/lib/long-task-semantic-fact-provenance-closure.js +1 -1
  447. package/dist/lib/long-task-semantic-fact-shape.d.ts +2 -1
  448. package/dist/lib/long-task-semantic-fact-shape.js +35 -1
  449. package/dist/lib/long-task-semantic-proof-adequacy.d.ts +2 -0
  450. package/dist/lib/long-task-semantic-proof-adequacy.js +19 -0
  451. package/dist/lib/long-task-semantic-proof-profile.d.ts +5 -0
  452. package/dist/lib/long-task-semantic-proof-profile.js +187 -0
  453. package/dist/lib/long-task-shape-primitives.d.ts +1 -1
  454. package/dist/lib/long-task-shape-primitives.js +5 -0
  455. package/dist/lib/long-task-source-anchors.d.ts +10 -0
  456. package/dist/lib/long-task-source-anchors.js +102 -0
  457. package/dist/lib/long-task-source-authority-types.d.ts +46 -0
  458. package/dist/lib/long-task-source-claim-validation.js +36 -0
  459. package/dist/lib/long-task-source-conservation-facts.d.ts +8 -0
  460. package/dist/lib/long-task-source-conservation-facts.js +57 -0
  461. package/dist/lib/long-task-source-conservation-types.d.ts +34 -0
  462. package/dist/lib/long-task-source-conservation-types.js +1 -0
  463. package/dist/lib/long-task-source-conservation.d.ts +7 -0
  464. package/dist/lib/long-task-source-conservation.js +110 -0
  465. package/dist/lib/long-task-source-fragments.d.ts +6 -0
  466. package/dist/lib/long-task-source-fragments.js +219 -0
  467. package/dist/lib/long-task-source-projection-resolution.d.ts +5 -0
  468. package/dist/lib/long-task-source-projection-resolution.js +57 -0
  469. package/dist/lib/long-task-source-projection-validation.d.ts +17 -0
  470. package/dist/lib/long-task-source-projection-validation.js +154 -0
  471. package/dist/lib/long-task-source-shape.js +14 -6
  472. package/dist/lib/long-task-source-supersession.d.ts +5 -0
  473. package/dist/lib/long-task-source-supersession.js +138 -0
  474. package/dist/lib/long-task-stage-policy.d.ts +7 -2
  475. package/dist/lib/long-task-stage-policy.js +67 -23
  476. package/dist/lib/long-task-state.d.ts +18 -4
  477. package/dist/lib/long-task-state.js +319 -33
  478. package/dist/lib/long-task-static-observation-freeze.js +4 -3
  479. package/dist/lib/long-task-status-projection.d.ts +3 -1
  480. package/dist/lib/long-task-status-projection.js +44 -13
  481. package/dist/lib/long-task-status-v2.d.ts +10 -6
  482. package/dist/lib/long-task-status-v2.js +70 -58
  483. package/dist/lib/long-task-target-policy.d.ts +8 -3
  484. package/dist/lib/long-task-target-policy.js +40 -9
  485. package/dist/lib/long-task-terminal-finalization.d.ts +12 -0
  486. package/dist/lib/long-task-terminal-finalization.js +190 -0
  487. package/dist/lib/long-task-ui-design-policy.js +15 -4
  488. package/dist/lib/long-task-ui-surface-policy.d.ts +2 -1
  489. package/dist/lib/long-task-ui-surface-policy.js +7 -4
  490. package/dist/lib/long-task-ui-surface-validation.d.ts +3 -1
  491. package/dist/lib/long-task-ui-surface-validation.js +2 -2
  492. package/dist/lib/long-task-verifier-counterfactuals.d.ts +11 -0
  493. package/dist/lib/long-task-verifier-counterfactuals.js +96 -0
  494. package/dist/lib/long-task-verifier-execution.d.ts +9 -0
  495. package/dist/lib/long-task-verifier-execution.js +67 -0
  496. package/dist/lib/long-task-verifier-identity.js +16 -5
  497. package/dist/lib/long-task-verifier-v2.js +52 -65
  498. package/dist/lib/long-task-windows-job-supervisor-helper.d.ts +1 -0
  499. package/dist/lib/long-task-windows-job-supervisor-helper.js +104 -0
  500. package/dist/lib/long-task-windows-job-supervisor-protocol.d.ts +28 -0
  501. package/dist/lib/long-task-windows-job-supervisor-protocol.js +124 -0
  502. package/dist/lib/long-task-windows-job-supervisor-result.d.ts +11 -0
  503. package/dist/lib/long-task-windows-job-supervisor-result.js +152 -0
  504. package/dist/lib/long-task-windows-job-supervisor.d.ts +2 -0
  505. package/dist/lib/long-task-windows-job-supervisor.js +126 -0
  506. package/dist/lib/long-task-workspace-scope.d.ts +1 -0
  507. package/dist/lib/long-task-workspace-scope.js +4 -1
  508. package/dist/lib/long-task-workspace.d.ts +1 -0
  509. package/dist/lib/long-task-workspace.js +10 -0
  510. package/dist/lib/migrations.js +43 -2
  511. package/dist/lib/repository-path-safety.d.ts +3 -0
  512. package/dist/lib/repository-path-safety.js +39 -3
  513. package/dist/lib/semantic-fact-input-shape.d.ts +7 -2
  514. package/dist/lib/semantic-fact-input-shape.js +25 -1
  515. package/dist/lib/semantic-fact-inventory-types.d.ts +8 -2
  516. package/dist/lib/semantic-fact-policy-census.d.ts +1 -1
  517. package/dist/lib/semantic-fact-policy-census.js +5 -2
  518. package/dist/lib/semantic-fact-policy.d.ts +1 -1
  519. package/dist/lib/semantic-fact-policy.js +2 -2
  520. package/dist/lib/semantic-fact-proof-shape.d.ts +1 -1
  521. package/dist/lib/semantic-fact-property-shape.d.ts +1 -1
  522. package/dist/lib/validators.d.ts +3 -0
  523. package/dist/lib/validators.js +45 -157
  524. package/dist/public-api-core.d.ts +12 -0
  525. package/dist/public-api-core.js +12 -0
  526. package/dist/public-api-long-task.d.ts +10 -0
  527. package/dist/public-api-long-task.js +10 -0
  528. package/dist/public-types.d.ts +6 -1
  529. package/dist/schemas/design-authority-delta-assessment-v1.schema.json +191 -0
  530. package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +166 -2
  531. package/dist/schemas/long-task-external-confirmation-record-v1.schema.json +155 -0
  532. package/dist/schemas/long-task-external-confirmation-record-v2.schema.json +209 -0
  533. package/migrations/README.md +99 -0
  534. package/package.json +7 -5
  535. package/source-mappings.yaml +18 -0
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  Translations: [Chinese (Simplified)](https://github.com/Seven128/project-tiny-context-harness/blob/main/README.zh-CN.md)
10
10
 
11
- Project Tiny Context Harness is repo-native project memory for AI coding agents, plus a narrow delivery harness for trustworthy long-task completion. The product principle is: keep the memory, drop the ceremony. It adds durable project memory behind `AGENTS.md` without becoming an agent scheduler or Git orchestrator.
11
+ Project Tiny Context Harness is repo-native project memory for AI coding agents, plus a narrow delivery harness for trustworthy long-task completion. The product principle is: keep the memory, drop the ceremony. It adds durable project memory behind `AGENTS.md` without becoming an agent scheduler or Git orchestrator. It is designed to reduce drift between large plans, durable project truth, design intent, implementation and proof by keeping ownership recoverable and assurance proportional to the delivery.
12
12
 
13
13
  Public launch surfaces are English-first; localized documents are secondary entry points.
14
14
 
@@ -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 | 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. |
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 | 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 |
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,19 +113,21 @@ 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 and the scope is style-bearing, explicitly select `$design-system-authoring` to generate, select and adopt the canonical `DESIGN.md`, token source and provider binding. Skip it when Design Authority is already configured.
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
- 4. Select `$design-resource-authoring` with that path plus the exact development scope and targets. Keep its reconciled proposal, validated residual `design-resource-handoff-v1`, and selected immutable canonical resources, manifest and dependencies.
119
- 5. Select `$long-task-workflow` with the exact paths to all of those inputs. 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.
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
+ 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 Generate, select and adopt the project design system for this style-bearing scope. Skip this request when DESIGN.md is already configured.
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
 
126
- $design-resource-authoring Use docs/initial-proposal.md for <exact development scope and targets>. Return the reconciled proposal path, validated design-resource-handoff-v1 path, and selected immutable canonical resource, manifest and dependency paths.
128
+ $design-resource-authoring Use docs/initial-proposal.md for <exact development scope and targets>. Return the reconciled proposal path, validated design-resource-handoff-v1 path, implementation-feasibility Source path, and selected immutable canonical resource, manifest and dependency paths.
127
129
 
128
- $long-task-workflow Use docs/initial-proposal.md, <handoff.md>, and the selected canonical resources, manifest and dependencies as Source for one complete implementation delivery.
130
+ $long-task-workflow Use docs/initial-proposal.md, <handoff.md>, <feasibility.json>, and the selected canonical resources, manifest and dependencies as Source for one complete implementation delivery.
129
131
  ```
130
132
 
131
133
  These paths are illustrative. Candidate images or editable explorations alone do not authorize fidelity; implementation uses the selected immutable canonical resources and their validated handoff.
@@ -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 | Use it for | Harness stance |
145
- |---|---|---|
146
- | Spec-first kits | Turning a feature idea into structured specs and plans. | Complementary; Harness keeps durable repo facts beyond one feature spec. |
147
- | BMAD-style workflows and full Tiny Context processes | Role/process ceremony for selected work. | Lighter automatic route; explicit machine assurance stays opt-in. |
148
- | Task Master-style planners | Backlog decomposition and task state. | Complementary; Harness does not own backlog state. |
149
- | Context7/Serena-style retrieval | External docs, symbols or repository retrieval. | Complementary; Harness owns local intended boundaries. |
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.8.16.tgz
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` reports the deterministic default Context footprint, soft-budget overages, byte-identical default files and `DESIGN.md` authority status as advisory maintenance signals, not a new gate. Genuine near-universal recovery facts take precedence over the byte heuristic and must not be omitted, obscured or misclassified merely to fit it.
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
 
@@ -244,6 +267,8 @@ When foundational machinery, a mature protocol/security boundary, a dependency/s
244
267
 
245
268
  Implementation order, methods and feedback cadence remain Goal-owned. The thin discipline is to reuse the owning service/facade/adapter and one source of truth, make the smallest complete change, preserve explicit failure/resource semantics and add abstraction only for a stable concept or evidenced change axis. Exact product/technical predicates remain owned by Semantic Facts and selected UI/UX values by selected-design closure.
246
269
 
270
+ `context_development_engineer` is content-sensitive rather than generic-coding-sensitive: material owner/source-of-truth, architecture/dependency, API/schema/data/state/lifecycle, complex-alternative, concurrency/recovery, external-integration/shared-abstraction, performance/security/compatibility/migration or architecture-audit judgment loads its on-demand engineering reasoning; generic implement/fix/refactor wording, role/agent mentions and ordinary local code/test/docs/style work do not activate it merely by themselves. The reference separates facts/constraints/assumptions/unknowns, drivers/path dependence, material alternatives, counterfactuals and minimum experiments, then projects the decision into concrete owners, interfaces, data/state/lifecycle/failure and checks. It is not a mandatory method checklist or second workflow.
271
+
247
272
  After implementation and project verification, `Engineering Quality Conformance` includes `Architecture Conformance` and checks the current candidate for scope/path escape, owner/dependency violations, owner bypass, duplicate truth, undeclared boundary/lifecycle change, silent failure, applicable resource/concurrency/security/compatibility/operability defects, unsupported performance claims, missing declared checks and new or worsened debt. A performance claim requires workload, metric, baseline or budget, environment, comparator/tolerance and a project-owned benchmark/probe; static shape is not runtime proof. Any candidate or controlling-input change invalidates the result. Default work embeds this closure in Contract Conformance; Long-Task maps every material independently falsifiable invariant into existing Source-backed obligations/constraints/forbidden shortcuts, owners/paths/Bindings, executable Checks and separate Assertions where functional behavior could pass independently. Final Gate is the sole Long-Task carrier and proves only that declared project-check-bound set—not overall code quality. The two carriers never both run for one candidate.
248
273
 
249
274
  Contract Conformance asks whether current Source and Context reached implementation and verification; the separately named Context drift check asks whether implementation or a new decision made durable Context stale. New or worsened debt blocks handoff unless the project has an explicit bounded exception with owner, rationale, tracking and a removal condition. Unrelated legacy debt does not automatically expand task scope, but debt touched, relied on or worsened by the change cannot remain hidden.
@@ -258,7 +283,7 @@ Newly generated Harness configs default to `strict_except_generated`. Generated/
258
283
 
259
284
  ### Product Surface Contract
260
285
 
261
- `context_surface_contract` compiles durable screen/page/CLI responsibility using existing `contract`, area/subdomain and verification roles. `product-surface-contract.md` owns cross-surface/main-versus-drilldown responsibility; optional on-demand `screen-contract.md` goes deeper for one screen's entry/exit/shared state, information hierarchy, semantic regions, navigation/variants, material controls and target/verification references. This workflow must not add a new Context role or claim product-quality proof, and local style fixes do not require a Screen Contract.
286
+ `context_surface_contract` compiles durable screen/page/CLI responsibility using existing `contract`, area/subdomain and verification roles. `product-surface-contract.md` owns cross-surface/main-versus-drilldown responsibility; optional on-demand `screen-contract.md` goes deeper for one screen's target user/context reference, primary task outcome/work object/loop, operation-object-feedback relationship, critical visible context, entry/exit/shared state, information hierarchy, semantic regions, repeated-scroll/context-switch boundary, client/size-class topology, navigation/variants, material controls and target/verification references. `context_uiux_design` may load a non-authoritative task-analysis method for material new-page/flow/complex-control, hierarchy/topology, task-feedback, client adaptation, recovery/state/accessibility or UI/UX audit reasoning, but durable Design Authority remains its only owner role and Surface/Screen Source still owns page duty. Analysis or Skill activation alone grants no write authority; an already-authorized implementation may update the smallest Surface owner only when the current Goal independently decides `Context Delta: required`. Local style/copy/icon/image fixes, exact-target local alignment and single-control previews remain lightweight.
262
287
 
263
288
  For material UI, **UI Authority Closure** reconciles each stable surface/control/target key as covered by existing Context, requiring a Context update, task-local, explicitly out of scope or genuinely decision-required. Design Source Projection sends durable cross-surface and Screen/Control/state meaning to existing Product Surface or Screen/interaction Context, durable visual-system/token/motion-policy/rationale meaning to `DESIGN.md`, exact composition/value/condition/asset facts to versioned targets, repeatable proof routes to verification Context and delivery-local coverage/provenance/blockers to task or Contract Source. Conflicts fail closed; current code, timestamps, YAML or implementation screenshots do not silently win.
264
289
 
@@ -278,12 +303,18 @@ This mechanism cannot discover intent the user never expressed or prove an arbit
278
303
 
279
304
  ### Visual Delivery Guidance
280
305
 
281
- Both development paths preserve selected design Source authority within its declared scope and conditions, but they do not share a formal proof level. Formal handoff preflight still proves complete machine-readable input; default work then opens affected targets/conditions, routes them to production owners and current-candidate project checks, and reports conditions not established. Long-Task additionally provides exact per-Fact/Rule machine closure. Neither route infers unexpressed behavior or proves that the user supplied every desired requirement. Open Design can produce implementation-rich HTML/CSS/JS, specifications, tokens and assets, but capability is not a per-run guarantee: for a selected Web/App implementation handoff, `design-resource-authoring` must explicitly commission and completely retrieve one machine-readable canonical entry plus its exact dependency closure, freeze every file with a digest and expose stable typed locators. Before `ready`, it exercises every declared verification method on those immutable bytes and blocks unresolved conflicts among code, specs, tokens and assets. That is source QA, not production acceptance. PNG may be a visual baseline, never the sole implementation source.
306
+ Both development paths preserve selected design Source authority within its declared scope and conditions, but they do not share a formal proof level. Formal handoff preflight still proves complete machine-readable input; default work then opens affected targets/conditions and real-substrate feasibility Source, selects the production strategy in Architecture Deliberation, routes it to current-candidate project checks, and reports conditions not established. Long-Task additionally provides exact per-Fact/Rule machine closure through existing Source, bindings and its sole Final Gate. Neither route infers unexpressed behavior or proves that the user supplied every desired requirement. Open Design can produce implementation-rich HTML/CSS/JS, specifications, tokens and assets, but capability is not a per-run guarantee: for a selected Web/App implementation handoff, `design-resource-authoring` must explicitly commission and completely retrieve one machine-readable canonical entry plus its exact dependency closure, freeze every file with a digest and expose stable typed locators. Before formal publication, it exercises every declared verification method on those immutable bytes and blocks unresolved conflicts among code, specs, tokens and assets. That is source QA, not production acceptance. PNG may be a visual baseline, never the sole implementation source.
282
307
 
283
308
  The provider-neutral handoff is a residual semantic and binding layer, not a textual copy of CSS, another value authority or another complete Fact index. Before formal Web/App generation, `design-resource-authoring` derives an Expected Fact Universe from scope, adopted Design Authority and a frozen Inspector/Census obligation. The atomic unit is an applicable `subject × selected target × condition combination × variation combination × property` Fact Cell. Subjects include surfaces, regions, overlays, component families/instances, controls, every anatomy part/slot/primitive, text, icons, media, assets and relations. Conditions are first-class across 33 standard condition axes (platform/runtime/device/viewport/density/safe area/window/fold/display/color/localization/content/data/text scale/input/assistive and accessibility preferences/system UI/IME/permission/capability/connectivity/lifecycle); variation is first-class across five variation axes: `variant`, `state`, `interaction_phase`, `presence_phase` and `instance_case`. Properties use 217 standard atomic keys across geometry, layout, scroll, typography, color, decoration, content, icon, media, interaction/navigation, motion/feedback, responsive, accessibility, asset, system and relation families, plus explicitly defined custom properties.
284
309
 
285
310
  The generated canonical implementation source remains the sole owner of exact values. Its dependency closure contains a `design-resource-observable-fact-manifest-v1` with stable subject/property/Fact IDs, typed locators, located-value digests, units/rounding/pixel-snapping rules, token/effective-value lineage, dynamic population/relations/assets, required proof methods, comparator parameters/tolerance/mask, Oracle identity/capability and render environment. A frozen Inspector enumerates the complete resource/node/declaration/token/asset/relation/custom-property/variant/state/interaction/dynamic-population Census; complete-generation counts and digests prove that no sampling or truncation occurred. Each applicable Fact Cell is either covered by one atomic Fact or carries an explicit blocking/non-applicable disposition with Source/basis/rationale. Aggregate labels such as “all states” cannot stand for atomic values, and a default page/shared style cannot be used to infer another applicable combination.
286
311
 
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.
313
+
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.
315
+
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.
317
+
287
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.
288
319
 
289
320
  Every non-interference method requires a digest-identified frozen executable Oracle with the exact `symbolic_noninterference.<side>.<method>` capability. On the Source side, the complete Inspector input set contains exactly one canonical, non-executable `design-resource-symbolic-source-ir-v1` resource for each admitted scope. The package binds that IR to the current target, certificate and Rule scope, reparses its current bytes and derives the dependency DAG, canonical predicate or complete finite-domain evaluation itself. Submitted graph nodes, Rule roots, side/axis-erased predicates, evaluation claims and passed verdicts are only Oracle-output caches; preflight requires `current recomputation = artifact bytes = proof binding/cache`, and the artifact is not part of the semantic input closure. Static non-interference therefore cannot be accepted from an axis list or manufactured from Rule references. JavaScript, CSS cascade or implicit DOM semantics, executable templates, dynamic loading/fetch/import, reflection, computed access, unfrozen extensions and external runtime/device dependencies block until a package-owned complete extractor exists. The production side retains its conservative package-parsed static HTML plus inert JSON subset. Both sides bind Oracle implementation closure/version/capability, environment, every input path and declared/current digest, current Source-manifest or production-target snapshot, exact Rule/certificate scope, omitted axes, derived method result, artifact path/digest and attributable failure witness. Source and production proof digests enter certificate identity and the existing current Final-Gate certificate expectation/result; extraction outside the admitted representations remains an explicit TCB boundary.
@@ -302,29 +333,45 @@ In Long-Task projection, every Claim-bearing Assertion remains single-Claim. For
302
333
 
303
334
  Repository patterns accept parentheses only as escaped literal route-group characters—never regex groups or extglob—while preserving existing `*`, `**`, `?` and rejecting unsupported `[]`/`{}` syntax.
304
335
 
305
- For material work, `context_uiux_design` applies the projection above and keeps risk-proportional coverage reasoning task-local. `context_development_engineer` traces every affected selected target and declared condition through stable surface/control keys to the production route/component owner, cold-start real-user journey and applicable rendered/interactive checks. A first useful runnable production slice is a recommended real-entry feedback point when early localization is worth the cost, never an implementation gate; the final candidate always reruns the affected cold-start journey. Source-required combinations cannot be silently pruned, but default work reports conditions it did not establish instead of claiming exact machine closure. Resource hashes, manifests and counts prove integrity only; an implementation screenshot cannot become its own target or implementation-conformance proof.
336
+ For material work under either existing execution route, `context_uiux_design` applies non-authoritative task-level UI/UX analysis and keeps risk-proportional coverage reasoning task-local. Product/Surface/Screen Source remains the durable owner of page duty and interaction topology, while `DESIGN.md` and selected exact-target/constraint Source own visual-system and selected-design facts. With a valid Long-Task binding, `long-task-workflow` alone owns Source/Contract lifecycle, formal verification, Final Gate and completion; the UI/UX Skill may also contribute Design Authority closure but creates no second plan, lifecycle, Authority, Gate or acceptance path. `context_development_engineer` traces every affected selected target and declared condition through stable surface/control keys to the production route/component owner, cold-start real-user journey and applicable rendered/interactive checks. A first useful runnable production slice is a recommended real-entry feedback point when early localization is worth the cost, never an implementation gate; the final candidate always reruns the affected cold-start journey. Source-required combinations cannot be silently pruned, but default work reports conditions it did not establish instead of claiming exact machine closure. Resource hashes, manifests and counts prove integrity only; an implementation screenshot cannot become its own target or implementation-conformance proof.
306
337
 
307
338
  An explicit Long-Task is the strong authority carrier of the same shared obligation. It resolves missing/conflicting UI authority before Compile, then closes all 22 canonical fields of every real Product Control through `field_coverage`; that semantic Control projection is independent of, and never caps, the finer design Fact universe. Selected targets freeze the canonical manifest identity/digest and project every atomic Fact/required-method pair into a `fact_expectations` row with subject/target/condition/variation/property identity, expected located-value digest, comparator/parameters/tolerance/mask, Oracle identity/capabilities, environment and sensitivity. Only a package-admitted observer may supply the matching `fact_results` Actual/comparison row. In the current slice, project `design_conformance`, `design_method` and `fact_results` records are diagnostic; affected UI/design obligations remain blocking External Confirmations rather than machine proof. Product `surface_bindings`, Control Claims/relations and root-entry journeys continue to carry product semantics, while existing Claim, Assertion, Check, Stage, Binding, revision and Final Gate mechanisms remain the sole Long-Task lifecycle and closure. Every blocker preserves exact Source-item/method/capability lineage and cannot be dismissed in-band; scope removal requires revised Source/Contract authority.
308
339
 
309
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.
310
341
 
311
- `ty-context doctor` keeps its compatible `missing | unconfigured | configured` project-level status and adds advisory Design Authority Index, token-source and classified-reference signals. It explicitly does not infer surface implementation readiness; that requires the owning Screen/Control meaning, selected target/constraints and project-owned verification.
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.
312
343
 
313
- Static guidance tests prove distribution, projection and canonical ownership, not Agent performance. 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.
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.
314
345
 
315
346
  ### Explicit Design System Authoring
316
347
 
317
- Use `design-system-authoring` only on an explicit request to initialize, generate, select, adopt, replace or repair the project design system/style. It discovers live Open Design MCP resources/tools and feature-detects lifecycle methods; because Open Design 0.15.1 exposes design systems as MCP resources but no creation tool, the documented compatibility path uses the same installed daemon's official generation/revision/accept API. Candidates require explicit human or explicitly delegated selection before adoption into canonical project `DESIGN.md`, one authored token source/direction and only owning Context. Adopted targets record immutable identity/digest plus editable upstream owner/locator/update route; updates create a new immutable version instead of replacing the baseline. Provider ID/revision/digest and `get_project.designSystemId` are synchronization provenance, not another authority.
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.
318
361
 
319
362
  ### Optional Design Resource Authoring
320
363
 
321
364
  Use `design-resource-authoring` only for an explicit request to generate, iterate or prepare standalone design resources, prepare resources for a named development scope, or use Open Design. It accepts raw notes or an initial proposal, product/technical plans, a visual brief, screenshots, existing resources or another pre-existing planning document. No standalone intermediary authoring document is either prerequisite or recommended middle stage.
322
365
 
323
- The Skill makes the explicit output or development content its hard ceiling; a local slice includes only necessary surrounding context. For an implementation handoff it accounts for material UI/UX meaning through relevant surfaces/flows/regions/components/controls and applicable visual/content, state, interaction/feedback/motion, responsive/platform/input, accessibility and asset conditions, then subtracts only explicit selected-source coverage. It discovers current Open Design capabilities and assigns every considered resource a reasoned `selected`, `optional`, `not-needed`, `unavailable` or `decision-required` disposition.
366
+ The Skill makes the explicit output or development content its hard ceiling; a local slice includes only necessary surrounding context. Before page/flow/complex-control generation it separately consumes controlling Product/Surface/Screen Source for target user/context, client/host, page duty, primary task outcome, primary work object/task loop, operation-object-feedback and applicable state/recovery/accessibility meaning, and `DESIGN.md` plus selected exact-target/constraint Source for visual-system and selected-design conditions. Non-authoritative task-level UI/UX analysis may inform candidate comparison but cannot supply missing product or surface meaning. The Provider must not infer that meaning from a feature list, screenshot, route tree, component inventory or analysis output. For an implementation handoff it accounts for material UI/UX meaning through relevant surfaces/flows/regions/components/controls and applicable visual/content, state, interaction/feedback/motion, responsive/platform/input, accessibility and asset conditions, then subtracts only explicit selected-source coverage. It discovers current Open Design capabilities and assigns every considered resource a reasoned `selected`, `optional`, `not-needed`, `unavailable` or `decision-required` disposition.
367
+
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.
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.
324
371
 
325
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.
326
373
 
327
- For formal Web/App implementation output, “complete” defaults to the finest applicable observable Fact granularity described above. The Skill builds the Expected Fact Universe and frozen Inspector/Census obligation before commissioning generation, passes that obligation and the adopted design-system identity into Open Design, and requires the returned canonical source/manifest to express every applicable cell. It does not defer missing anatomy-part, state, responsive/platform/text-scale, motion, accessibility or asset design decisions to downstream implementation.
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.
328
375
 
329
376
  High-fidelity/branded output, visual direction, typography/color/density, component visual treatment and production-style prototypes are style-bearing. If Design Authority is unconfigured or lacks one authored token source/direction, the Skill stops before project/run creation and tells the user to explicitly select `design-system-authoring`; it never auto-initializes. Low-fidelity structure, IA/flow and semantics-only state studies remain non-fidelity. Style-bearing Open Design projects pass the adopted ID through `create_project.designSystem` and verify `get_project.designSystemId`.
330
377
 
@@ -332,13 +379,15 @@ It commissions only the smallest sufficient artifact/file set through structured
332
379
 
333
380
  For implementation Web/App output, the Skill requires the complete canonical entry/dependency set and addressable declared facts described above. Figma remains useful when an existing design team needs native Components/Variables/Variants, shared libraries, Dev Mode or Code Connect; Penpot when open/self-hosted multi-user design infrastructure is itself required; OpenPencil as a local static-layout sidecar while its prototype/motion model remains incomplete. Default conversion from complete Open Design source to another representation is not required because it adds synchronization and operating cost without closing a new enforcement gap.
334
381
 
335
- Exploration returns a visible scoped candidate after minimal sanity review and requires no handoff schema. After explicit or delegated final selection for implementation, the Skill performs one consolidated idempotent proposal reconciliation and writes one provider-neutral marked Markdown Source per target. V1 manifest-backed authoring remains the default; only an explicit per-target symbolic opt-in emits the strict V2 Rule manifest/handoff. Shared preflight normalizes the declared representation and cannot call incomplete, unaddressable, unresolved, unsupported or stale input ready. There is no fixed directory, provider pack or one-file-per-control rule. The adapter is ordinary Source, not Design Authority or acceptance. Outside the one explicitly authorized proposal writeback target, the Skill never edits caller-owned planning/proposal Source, Context, `DESIGN.md`, production code or a Delivery Contract.
382
+ Provider execution, Artifact readiness and Design suitability stay separate. Suitability inspects at least one real render for formal high-fidelity work and proportionally reviews scope/Source, mechanical integrity, Design-System application, visual craft/language, product distinctiveness, content realism, design-side component reuse, technical feasibility, state/condition coverage and preservation. A first candidate with no material grounded defect may proceed directly to selection; a material defect triggers the highest-impact smallest patch, rerender and affected re-review, never a cosmetic revision quota. Suitability never performs human selection or independently establishes readiness. Provider behavior relied on durably is pinned to an immutable version/tag/commit instead of a floating branch.
383
+
384
+ Exploration returns a visible scoped candidate after minimal sanity review and requires no handoff schema. `Design Resource Review & Selection Stop` lets the user correct, select, reject, leave unresolved, expand scope or route a durable owner change; it is not an approval record, Gate, acceptance or formal-completeness claim. Ordinary conversational selection creates no persistent state; deterministic cross-interruption selection reuses existing marked Source, authority, selected-source and recovery-checkpoint owners. Selection binds the canonical selected-source digest, target, declared conditions and controlling Source/Design-Authority identity. Equivalent derived exports preserve selection; visible or semantic differences return to suitability and review. After a selected formal Web/App direction completes canonical source/dependency/Census/manifest/preflight closure, any newly visible decision returns to the same stop; only stable closure is followed by one consolidated idempotent proposal reconciliation and provider-neutral marked handoff. V1 manifest-backed authoring remains the default; only an explicit per-target symbolic opt-in emits the strict V2 Rule manifest/handoff. Shared preflight cannot call incomplete, unaddressable, unresolved, unsupported or stale input ready. Outside the one explicitly authorized proposal writeback target, the Skill never edits caller-owned planning/proposal Source, Context, `DESIGN.md`, production code or a Delivery Contract.
336
385
 
337
386
  Material DRA revision loops replay from a raw-digest-bound Base plus complete ordered Delta semantics. Deterministic accepted authority additionally requires a strict `ty-dra-authority-v1` projection inside the same digest-covered marked Source Item: explicit choices bind exact target/kind/origin/meaning digest, while delegation binds only its exact choice scope and never becomes a non-visual meaning Source. Every semantic target has at most one active accepted Delta owner; rejected, unresolved and superseded Deltas form an exact leakage universe. One v3 audit-expectations catalog freezes changed/unchanged/resource-decision/blast-radius/leakage rows plus selected-resource conditions, and current audit rows must be set-equal without duplicate identities. Exact-patch-v2 binds every active non-preserve `Delta × target` once to its Proposal text span and semantic digests; every such binding has exactly one `proposal-written` or structured, repository-readable `resource-owned-exact-visual` owner. A real cross-interruption need may explicitly `create` one ignored, task-local, non-authoritative checkpoint; `update` replaces it only through caller-supplied checkpoint digest CAS, while `inspect` and `preview` rederive current state. `apply` uses pre/post raw-byte CAS and reread reconciliation, reporting applied, idempotent, blocked or external-resource revalidation pending—not handoff readiness. `remove` fully deletes only after inventory proves the directory contains the digest-matched helper checkpoint; otherwise it returns `partial` and preserves unowned content. A simple preview creates no checkpoint, persisted bytes, pause, Provider run, formal handoff, Proposal write or helper transaction. The checkpoint and reconciliation are upstream recovery/diagnostic data, never Design Authority, Long-Task Source/Evidence or completion proof.
338
387
 
339
388
  Actual generation remains with configured Open Design/Product Design, Figma, image-generation, prototype or human systems. Their outputs enter the default Workflow or Long-Task as ordinary external Source. Candidates and inspiration authorize no fidelity. An adopted exact target/constraint becomes Context-reachable Source: owning Context/`DESIGN.md` maps its stable key to declared conditions, a stable immutable identity/digest and an editable upstream owner/locator/update route. `context_uiux_design` performs downstream UI Authority Closure; implementation renders and diffs remain evidence rather than self-authorizing targets.
340
389
 
341
- Maintainers may set `TY_CONTEXT_OPEN_DESIGN_MCP_COMMAND` plus optional `TY_CONTEXT_OPEN_DESIGN_MCP_ARGS_JSON` and run `npm run smoke:open-design` for an opt-in, read-only discovery smoke. Normal tests use a local mock MCP and do not depend on Open Design or nondeterministic output.
390
+ Maintainers may set `TY_CONTEXT_OPEN_DESIGN_MCP_COMMAND` plus optional `TY_CONTEXT_OPEN_DESIGN_MCP_ARGS_JSON` and run `npm run smoke:open-design` for an opt-in, read-only discovery smoke. The source workspace's existing delivery-benchmark owner also contains an opt-in DRA visual diagnostic with eight fixed cases, five pinned routes, blinded randomized review and repeated descriptive observations; it has no admission, publication, ranking, routing or design-selection effect. Normal tests use a local mock MCP and do not depend on Open Design or nondeterministic output.
342
391
 
343
392
  ### Retired Standalone Authoring Compatibility
344
393
 
@@ -348,15 +397,19 @@ Retired standalone authoring pointers are no longer installed or package-managed
348
397
 
349
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.
350
399
 
351
- Its proof claim is conditional: complete and accurate Source at the declared observable granularity, meaning-preserving projection and complete applicability expansion make `AcceptedDeliveryTerminal`—exactly a fresh `machine_accepted` result with no pending External Confirmation—imply that no declared machine-observable drift remains only when every machine obligation has 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. `machine_accepted_external_pending` proves only the admitted machine scope. Harness cannot discover undeclared requirements or prove arbitrary physical/external observation sound.
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.
352
405
 
353
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.
354
407
 
355
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.
356
409
 
357
- Unsupported scope uses the existing External Confirmation owner rather than a dummy verifier. Exact `impact_claims` may cover ordinary/global and Semantic Fact Claims, while each Semantic Fact proof keeps its explicit `confirmation_ref`. An external-only Outcome sets `success_path_required: false`; a Stage Gate may omit its machine Check only when a `blocks_target: true` confirmation impacts that gate's result Claim. Missing result lineage, a non-blocking confirmation or a machine success path without a real success Check fails Preflight/Compile. A valid external-only route terminates as `blocked_external`, never machine accepted.
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`.
358
411
 
359
- This direct-process path is bounded containment, not an absolute hostile-code sandbox. Its TCB includes the host OS/filesystem/process APIs, Node runtime, snapshot copy and no-follow/digest checks, stdout decoder, timeout, process-tree inspection and cleanup. Frozen subtraction controls require the existing watcher/pre-post and containment/cleanup responsibilities; no additional edge mechanism is claimed. It does not claim to prevent a malicious executable from escaping the copied closure, using ambient filesystem/network resources or evading every OS process mechanism; use an external sandbox or External Confirmation when that adversary boundary matters.
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.
360
413
 
361
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.
362
415
 
@@ -382,7 +435,7 @@ The exact current schema matrix is accounting-policy, evidence-packet, precollec
382
435
 
383
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.
384
437
 
385
- 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.16 is the current Level-3 package candidate, inherits none of that 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`.
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`.
386
439
 
387
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.
388
441
 
@@ -402,7 +455,12 @@ The first successful Compile creates Authority Lock and returns:
402
455
  "action": "change_model_in_host_then_continue",
403
456
  "resume_token": "model checkpoint cleared, continue",
404
457
  "turn_boundary": "end_current_turn",
405
- "blocked_until_resume": ["product_implementation", "file_edits", "build", "test_execution"],
458
+ "blocked_until_resume": [
459
+ "product_implementation",
460
+ "file_edits",
461
+ "build",
462
+ "test_execution"
463
+ ],
406
464
  "model_change_owner": "host_or_user",
407
465
  "model_change_observable_by_harness": false,
408
466
  "generic_continue_satisfies": false,
@@ -429,6 +487,11 @@ ty-context long-task verify <workdir> [--outcome <key>] [--check <key>] [--expla
429
487
  ty-context long-task status <workdir>
430
488
  ty-context long-task resume <workdir>
431
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>
432
495
  ty-context long-task final-gate <workdir>
433
496
  ty-context long-task stop-check <workdir> [--message <text>]
434
497
  ty-context long-task close <workdir>
@@ -441,7 +504,13 @@ Compact authoring omits only deterministic defaults and normalizes identically t
441
504
 
442
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.
443
506
 
444
- `status` and read-only `resume` report the current fresh Final Receipt as `final_workflow_status` (or `null` after drift) plus the active Contract's complete `external_confirmations`. Their Frontier/next-action output is advisory verification/repair guidance; 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. Every accepted Stop emits one non-blocking terminal-scope `systemMessage`; external-pending results also name every confirmation. Final/Stop/close report `acceptance_scope: declared_machine_authority` and `native_goal_effect: none`; close also reports `closed_scope: machine_authority`. Before platform-native Goal completion, the Agent performs a veto-only Goal/user-to-Source conformance review that cannot create proof. `status: closed` means only that machine Authority was cleared, not that the native Goal or external delivery completed.
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`.
445
514
 
446
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.
447
516
 
@@ -468,10 +537,16 @@ ty-context upgrade
468
537
  ty-context sync
469
538
  ```
470
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
+
471
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`.
472
545
 
473
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.
474
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
+
475
550
  After updating the package, run `ty-context upgrade`. Use `ty-context upgrade --check` first when you need a read-only plan.
476
551
 
477
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.
@@ -484,6 +559,7 @@ npm run typecheck --workspace project-tiny-context-harness
484
559
  npm run build --workspace project-tiny-context-harness
485
560
  npm run test:affected:list
486
561
  npm run test:affected
562
+ npm run verify:active-source-portability
487
563
  npm run test:long-task:trust
488
564
  npm run test:long-task-performance --workspace project-tiny-context-harness
489
565
  npm test
@@ -496,9 +572,11 @@ make validate-harness
496
572
 
497
573
  `test:affected` is the edit/fix loop. In inferred local discovery it reports and omits only untracked `.work_products/**`; tracked and explicit paths still route fail safe. `test:long-task:trust` is the frozen-candidate high-impact boundary gate used by pull-request CI. Reviewed Trust/focused/hotspot budgets prevent silent feedback-tier growth, while complete discovery remains exhaustive. `npm test` is the complete release regression retained on `main` and publish; do not rerun it after every small repair. Controlled Ubuntu CI uses generous per-suite catastrophic time ceilings, but local timing stays diagnostic. Explicit delivery-contract and complete Long-Task gates remain available as package workspace scripts.
498
574
 
575
+ `verify:active-source-portability` scans only declared current owners: managed guidance/assets, public executable docs, durable Context, source mappings and runtime-resolved Source. Add a current delivery file with `-- --active-source <repository-relative-file>`. It rejects real machine user-home locators without enumerating all Git files, rewriting frozen Contracts/Receipts/fixtures or deleting anything.
576
+
499
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.
500
578
 
501
- The synchronized local preview tarball is named `project-tiny-context-harness-0.8.16.tgz`.
579
+ The synchronized local preview tarball is named `project-tiny-context-harness-0.11.0.tgz`.
502
580
 
503
581
  ## Community And Further Reading
504
582