project-tiny-context-harness 0.8.11 → 0.8.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +514 -472
  3. package/assets/README.md +803 -749
  4. package/assets/README.zh-CN.md +468 -431
  5. package/assets/agents/.gitkeep +1 -1
  6. package/assets/agents/AGENTS_CORE.md +22 -24
  7. package/assets/agents/long-task-implementation.toml +15 -0
  8. package/assets/context_templates/architecture.md +18 -18
  9. package/assets/context_templates/area.md +30 -30
  10. package/assets/context_templates/context.toml +24 -24
  11. package/assets/context_templates/deployment.md +35 -35
  12. package/assets/context_templates/global.md +56 -56
  13. package/assets/context_templates/product-surface-contract.md +70 -70
  14. package/assets/context_templates/screen-contract.md +189 -189
  15. package/assets/context_templates/verification.md +25 -25
  16. package/assets/github/.gitkeep +1 -1
  17. package/assets/github/harness.yml +39 -39
  18. package/assets/make/.gitkeep +1 -1
  19. package/assets/make/ty-context.mk +48 -48
  20. package/assets/skills/context_development_engineer/SKILL.md +72 -185
  21. package/assets/skills/context_full_project_export/SKILL.md +28 -28
  22. package/assets/skills/context_harness_upgrade/SKILL.md +60 -60
  23. package/assets/skills/context_product_plan/SKILL.md +35 -101
  24. package/assets/skills/context_surface_contract/SKILL.md +194 -191
  25. package/assets/skills/context_uiux_design/SKILL.md +49 -172
  26. package/assets/skills/design-resource-authoring/SKILL.md +54 -88
  27. package/assets/skills/design-resource-authoring/references/downstream-handoff.md +51 -163
  28. package/assets/skills/design-resource-authoring/references/formal-selected-web-app-handoff.md +96 -0
  29. package/assets/skills/design-resource-authoring/references/open-design-provider.md +140 -120
  30. package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +199 -0
  31. package/assets/skills/design-resource-authoring/references/resource-selection.md +158 -181
  32. package/assets/skills/design-system-authoring/SKILL.md +57 -57
  33. package/assets/skills/design-system-authoring/agents/openai.yaml +6 -6
  34. package/assets/skills/design-system-authoring/references/authority-adoption.md +48 -48
  35. package/assets/skills/design-system-authoring/references/open-design-design-system-provider.md +110 -110
  36. package/assets/skills/long-task-workflow/SKILL.md +71 -106
  37. package/assets/skills/long-task-workflow/agents/openai.yaml +1 -1
  38. package/assets/skills/long-task-workflow/references/authority-lifecycle.md +71 -69
  39. package/assets/skills/long-task-workflow/references/contract-authoring.md +110 -101
  40. package/assets/skills/long-task-workflow/references/evidence-design.md +99 -78
  41. package/assets/skills/long-task-workflow/references/source-authoring.md +90 -90
  42. package/assets/tools/validate_context.py +442 -442
  43. package/dist/commands/design-resource-recovery.d.ts +1 -0
  44. package/dist/commands/design-resource-recovery.js +152 -0
  45. package/dist/commands/design-resource.js +29 -3
  46. package/dist/commands/enable.js +2 -0
  47. package/dist/commands/index.js +2 -2
  48. package/dist/commands/long-task-revision.js +8 -7
  49. package/dist/commands/sync.js +2 -0
  50. package/dist/index.d.ts +3 -3
  51. package/dist/index.js +2 -0
  52. package/dist/lib/compact-authoring-support.d.ts +22 -0
  53. package/dist/lib/compact-authoring-support.js +143 -0
  54. package/dist/lib/compact-shared-structure-authoring.d.ts +5 -0
  55. package/dist/lib/compact-shared-structure-authoring.js +9 -0
  56. package/dist/lib/compact-shared-structure-types.d.ts +61 -0
  57. package/dist/lib/compact-shared-structure-types.js +1 -0
  58. package/dist/lib/compact-shared-structure-validation.d.ts +2 -0
  59. package/dist/lib/compact-shared-structure-validation.js +159 -0
  60. package/dist/lib/compact-shared-structures.d.ts +3 -0
  61. package/dist/lib/compact-shared-structures.js +204 -0
  62. package/dist/lib/design-resource-fact-enums.d.ts +4 -0
  63. package/dist/lib/design-resource-fact-enums.js +12 -0
  64. package/dist/lib/design-resource-fact-manifest-shape-evidence.js +2 -2
  65. package/dist/lib/design-resource-fact-policy.d.ts +2 -2
  66. package/dist/lib/design-resource-fact-types.d.ts +2 -2
  67. package/dist/lib/design-resource-handoff-bundle-draft.js +4 -2
  68. package/dist/lib/design-resource-handoff-input-types.d.ts +3 -0
  69. package/dist/lib/design-resource-handoff-parser.d.ts +2 -2
  70. package/dist/lib/design-resource-handoff-parser.js +2 -2
  71. package/dist/lib/design-resource-handoff-shape.d.ts +2 -0
  72. package/dist/lib/design-resource-handoff-shape.js +10 -0
  73. package/dist/lib/design-resource-handoff-snapshot.js +4 -0
  74. package/dist/lib/design-resource-handoff-validation.d.ts +4 -1
  75. package/dist/lib/design-resource-handoff-validation.js +11 -0
  76. package/dist/lib/design-resource-handoff-web-dependency-validation.d.ts +4 -2
  77. package/dist/lib/design-resource-reconciliation-codec.d.ts +2 -0
  78. package/dist/lib/design-resource-reconciliation-codec.js +174 -0
  79. package/dist/lib/design-resource-reconciliation-types.d.ts +62 -0
  80. package/dist/lib/design-resource-reconciliation-types.js +1 -0
  81. package/dist/lib/design-resource-reconciliation.d.ts +3 -0
  82. package/dist/lib/design-resource-reconciliation.js +224 -0
  83. package/dist/lib/design-resource-recovery-authority-policy.d.ts +8 -0
  84. package/dist/lib/design-resource-recovery-authority-policy.js +123 -0
  85. package/dist/lib/design-resource-recovery-catalog-resources.d.ts +6 -0
  86. package/dist/lib/design-resource-recovery-catalog-resources.js +121 -0
  87. package/dist/lib/design-resource-recovery-catalog-shape.d.ts +3 -0
  88. package/dist/lib/design-resource-recovery-catalog-shape.js +104 -0
  89. package/dist/lib/design-resource-recovery-catalog.d.ts +9 -0
  90. package/dist/lib/design-resource-recovery-catalog.js +103 -0
  91. package/dist/lib/design-resource-recovery-cleanup.d.ts +2 -0
  92. package/dist/lib/design-resource-recovery-cleanup.js +11 -0
  93. package/dist/lib/design-resource-recovery-codec-primitives.d.ts +19 -0
  94. package/dist/lib/design-resource-recovery-codec-primitives.js +92 -0
  95. package/dist/lib/design-resource-recovery-codec.d.ts +4 -0
  96. package/dist/lib/design-resource-recovery-codec.js +93 -0
  97. package/dist/lib/design-resource-recovery-current.d.ts +9 -0
  98. package/dist/lib/design-resource-recovery-current.js +41 -0
  99. package/dist/lib/design-resource-recovery-delta-policy.d.ts +5 -0
  100. package/dist/lib/design-resource-recovery-delta-policy.js +108 -0
  101. package/dist/lib/design-resource-recovery-files.d.ts +37 -0
  102. package/dist/lib/design-resource-recovery-files.js +204 -0
  103. package/dist/lib/design-resource-recovery-final-disposition-shape.d.ts +2 -0
  104. package/dist/lib/design-resource-recovery-final-disposition-shape.js +47 -0
  105. package/dist/lib/design-resource-recovery-patch-types.d.ts +54 -0
  106. package/dist/lib/design-resource-recovery-patch-types.js +1 -0
  107. package/dist/lib/design-resource-recovery-replay.d.ts +7 -0
  108. package/dist/lib/design-resource-recovery-replay.js +112 -0
  109. package/dist/lib/design-resource-recovery-repository-bindings.d.ts +9 -0
  110. package/dist/lib/design-resource-recovery-repository-bindings.js +49 -0
  111. package/dist/lib/design-resource-recovery-schema.d.ts +5 -0
  112. package/dist/lib/design-resource-recovery-schema.js +5 -0
  113. package/dist/lib/design-resource-recovery-shape.d.ts +10 -0
  114. package/dist/lib/design-resource-recovery-shape.js +184 -0
  115. package/dist/lib/design-resource-recovery-source-authority.d.ts +5 -0
  116. package/dist/lib/design-resource-recovery-source-authority.js +219 -0
  117. package/dist/lib/design-resource-recovery-text.d.ts +17 -0
  118. package/dist/lib/design-resource-recovery-text.js +186 -0
  119. package/dist/lib/design-resource-recovery-types.d.ts +197 -0
  120. package/dist/lib/design-resource-recovery-types.js +1 -0
  121. package/dist/lib/design-resource-recovery-writeback-policy.d.ts +5 -0
  122. package/dist/lib/design-resource-recovery-writeback-policy.js +326 -0
  123. package/dist/lib/design-resource-recovery-writeback-shape.d.ts +6 -0
  124. package/dist/lib/design-resource-recovery-writeback-shape.js +155 -0
  125. package/dist/lib/design-resource-recovery.d.ts +44 -0
  126. package/dist/lib/design-resource-recovery.js +216 -0
  127. package/dist/lib/design-resource-symbolic-applicability-authority.d.ts +7 -0
  128. package/dist/lib/design-resource-symbolic-applicability-authority.js +19 -0
  129. package/dist/lib/design-resource-symbolic-applicability-policy.d.ts +12 -0
  130. package/dist/lib/design-resource-symbolic-applicability-policy.js +79 -0
  131. package/dist/lib/design-resource-symbolic-applicability-profiles.d.ts +8 -0
  132. package/dist/lib/design-resource-symbolic-applicability-profiles.js +55 -0
  133. package/dist/lib/design-resource-symbolic-applicability-shape.d.ts +2 -0
  134. package/dist/lib/design-resource-symbolic-applicability-shape.js +76 -0
  135. package/dist/lib/design-resource-symbolic-applicability-validation.d.ts +7 -0
  136. package/dist/lib/design-resource-symbolic-applicability-validation.js +128 -0
  137. package/dist/lib/design-resource-symbolic-compilation.d.ts +3 -0
  138. package/dist/lib/design-resource-symbolic-compilation.js +13 -0
  139. package/dist/lib/design-resource-symbolic-denotation.d.ts +3 -0
  140. package/dist/lib/design-resource-symbolic-denotation.js +167 -0
  141. package/dist/lib/design-resource-symbolic-disposition-validation.d.ts +4 -0
  142. package/dist/lib/design-resource-symbolic-disposition-validation.js +28 -0
  143. package/dist/lib/design-resource-symbolic-fact-policy.d.ts +12 -0
  144. package/dist/lib/design-resource-symbolic-fact-policy.js +12 -0
  145. package/dist/lib/design-resource-symbolic-fact-shape.d.ts +3 -0
  146. package/dist/lib/design-resource-symbolic-fact-shape.js +138 -0
  147. package/dist/lib/design-resource-symbolic-fact-types.d.ts +213 -0
  148. package/dist/lib/design-resource-symbolic-fact-types.js +1 -0
  149. package/dist/lib/design-resource-symbolic-fact-validation.d.ts +3 -0
  150. package/dist/lib/design-resource-symbolic-fact-validation.js +86 -0
  151. package/dist/lib/design-resource-symbolic-indexes.d.ts +23 -0
  152. package/dist/lib/design-resource-symbolic-indexes.js +54 -0
  153. package/dist/lib/design-resource-symbolic-manifest-shape.d.ts +3 -0
  154. package/dist/lib/design-resource-symbolic-manifest-shape.js +155 -0
  155. package/dist/lib/design-resource-symbolic-manifest-validation.d.ts +6 -0
  156. package/dist/lib/design-resource-symbolic-manifest-validation.js +132 -0
  157. package/dist/lib/design-resource-symbolic-noninterference-artifact.d.ts +33 -0
  158. package/dist/lib/design-resource-symbolic-noninterference-artifact.js +110 -0
  159. package/dist/lib/design-resource-symbolic-noninterference-equivalence.d.ts +3 -0
  160. package/dist/lib/design-resource-symbolic-noninterference-equivalence.js +77 -0
  161. package/dist/lib/design-resource-symbolic-noninterference-recompute.d.ts +4 -0
  162. package/dist/lib/design-resource-symbolic-noninterference-recompute.js +146 -0
  163. package/dist/lib/design-resource-symbolic-noninterference-scope.d.ts +7 -0
  164. package/dist/lib/design-resource-symbolic-noninterference-scope.js +49 -0
  165. package/dist/lib/design-resource-symbolic-noninterference-shape.d.ts +2 -0
  166. package/dist/lib/design-resource-symbolic-noninterference-shape.js +152 -0
  167. package/dist/lib/design-resource-symbolic-noninterference-types.d.ts +103 -0
  168. package/dist/lib/design-resource-symbolic-noninterference-types.js +1 -0
  169. package/dist/lib/design-resource-symbolic-noninterference-validation.d.ts +5 -0
  170. package/dist/lib/design-resource-symbolic-noninterference-validation.js +62 -0
  171. package/dist/lib/design-resource-symbolic-oracle-fingerprint.d.ts +1 -0
  172. package/dist/lib/design-resource-symbolic-oracle-fingerprint.js +47 -0
  173. package/dist/lib/design-resource-symbolic-predicate-shape.d.ts +6 -0
  174. package/dist/lib/design-resource-symbolic-predicate-shape.js +123 -0
  175. package/dist/lib/design-resource-symbolic-production-closure.d.ts +4 -0
  176. package/dist/lib/design-resource-symbolic-production-closure.js +144 -0
  177. package/dist/lib/design-resource-symbolic-proof-authority-validation.d.ts +10 -0
  178. package/dist/lib/design-resource-symbolic-proof-authority-validation.js +68 -0
  179. package/dist/lib/design-resource-symbolic-proof-validation.d.ts +10 -0
  180. package/dist/lib/design-resource-symbolic-proof-validation.js +89 -0
  181. package/dist/lib/design-resource-symbolic-region-validation.d.ts +19 -0
  182. package/dist/lib/design-resource-symbolic-region-validation.js +146 -0
  183. package/dist/lib/design-resource-symbolic-resource-validation.d.ts +5 -0
  184. package/dist/lib/design-resource-symbolic-resource-validation.js +90 -0
  185. package/dist/lib/design-resource-symbolic-rule-shape.d.ts +27 -0
  186. package/dist/lib/design-resource-symbolic-rule-shape.js +158 -0
  187. package/dist/lib/design-resource-symbolic-safety-validation.d.ts +6 -0
  188. package/dist/lib/design-resource-symbolic-safety-validation.js +29 -0
  189. package/dist/lib/design-resource-symbolic-source-ir-evaluation.d.ts +19 -0
  190. package/dist/lib/design-resource-symbolic-source-ir-evaluation.js +74 -0
  191. package/dist/lib/design-resource-symbolic-source-ir-evidence.d.ts +44 -0
  192. package/dist/lib/design-resource-symbolic-source-ir-evidence.js +88 -0
  193. package/dist/lib/design-resource-symbolic-source-ir-oracle.d.ts +13 -0
  194. package/dist/lib/design-resource-symbolic-source-ir-oracle.js +96 -0
  195. package/dist/lib/design-resource-symbolic-source-ir-proof.d.ts +14 -0
  196. package/dist/lib/design-resource-symbolic-source-ir-proof.js +98 -0
  197. package/dist/lib/design-resource-symbolic-source-ir-shape.d.ts +2 -0
  198. package/dist/lib/design-resource-symbolic-source-ir-shape.js +38 -0
  199. package/dist/lib/design-resource-symbolic-source-ir-types.d.ts +17 -0
  200. package/dist/lib/design-resource-symbolic-source-ir-types.js +2 -0
  201. package/dist/lib/design-resource-symbolic-static-dependency-validation.d.ts +2 -0
  202. package/dist/lib/design-resource-symbolic-static-dependency-validation.js +83 -0
  203. package/dist/lib/design-resource-symbolic-structural-closure-validation.d.ts +6 -0
  204. package/dist/lib/design-resource-symbolic-structural-closure-validation.js +79 -0
  205. package/dist/lib/design-resource-symbolic-validation-support.d.ts +29 -0
  206. package/dist/lib/design-resource-symbolic-validation-support.js +111 -0
  207. package/dist/lib/design-resource-v1-capacity-header.d.ts +8 -0
  208. package/dist/lib/design-resource-v1-capacity-header.js +231 -0
  209. package/dist/lib/design-resource-v1-capacity.d.ts +5 -0
  210. package/dist/lib/design-resource-v1-capacity.js +45 -0
  211. package/dist/lib/init.js +1 -0
  212. package/dist/lib/long-task-acceptance-shape.js +8 -2
  213. package/dist/lib/long-task-activation-validation.js +13 -3
  214. package/dist/lib/long-task-admitted-observation-records.d.ts +25 -0
  215. package/dist/lib/long-task-admitted-observation-records.js +40 -0
  216. package/dist/lib/long-task-admitted-observation.d.ts +93 -0
  217. package/dist/lib/long-task-admitted-observation.js +201 -0
  218. package/dist/lib/long-task-artifacts.d.ts +1 -0
  219. package/dist/lib/long-task-artifacts.js +1 -0
  220. package/dist/lib/long-task-authority-material-diff.js +1 -0
  221. package/dist/lib/long-task-authority-policy.d.ts +5 -0
  222. package/dist/lib/long-task-authority-policy.js +5 -0
  223. package/dist/lib/long-task-authority-revision-details.js +3 -1
  224. package/dist/lib/long-task-authority.js +2 -1
  225. package/dist/lib/long-task-check-execution-policy.js +5 -0
  226. package/dist/lib/long-task-check-runner.d.ts +2 -2
  227. package/dist/lib/long-task-check-runner.js +440 -23
  228. package/dist/lib/long-task-claims.d.ts +18 -0
  229. package/dist/lib/long-task-claims.js +35 -0
  230. package/dist/lib/long-task-codex-agent-profile.d.ts +42 -0
  231. package/dist/lib/long-task-codex-agent-profile.js +276 -0
  232. package/dist/lib/long-task-compact-authoring-projections.d.ts +12 -0
  233. package/dist/lib/long-task-compact-authoring-projections.js +67 -0
  234. package/dist/lib/long-task-compact-authoring.d.ts +3 -0
  235. package/dist/lib/long-task-compact-authoring.js +173 -0
  236. package/dist/lib/long-task-compact-carrier.d.ts +7 -0
  237. package/dist/lib/long-task-compact-carrier.js +132 -0
  238. package/dist/lib/long-task-compact-parser.d.ts +14 -0
  239. package/dist/lib/long-task-compact-parser.js +123 -0
  240. package/dist/lib/long-task-compact-primitives.d.ts +22 -0
  241. package/dist/lib/long-task-compact-primitives.js +132 -0
  242. package/dist/lib/long-task-compact-projections.d.ts +4 -0
  243. package/dist/lib/long-task-compact-projections.js +153 -0
  244. package/dist/lib/long-task-compact-structure-targets.d.ts +2 -0
  245. package/dist/lib/long-task-compact-structure-targets.js +91 -0
  246. package/dist/lib/long-task-conformance-policy.js +3 -1
  247. package/dist/lib/long-task-counterfactual-claim-policy.d.ts +3 -4
  248. package/dist/lib/long-task-counterfactual-claim-policy.js +11 -3
  249. package/dist/lib/long-task-counterfactual-sandbox.d.ts +1 -1
  250. package/dist/lib/long-task-counterfactual-sandbox.js +8 -5
  251. package/dist/lib/long-task-counterfactual-types.d.ts +2 -0
  252. package/dist/lib/long-task-delivery-compiler.js +2 -0
  253. package/dist/lib/long-task-delivery-parser.d.ts +1 -0
  254. package/dist/lib/long-task-delivery-parser.js +38 -6
  255. package/dist/lib/long-task-design-resource-handoff.d.ts +2 -1
  256. package/dist/lib/long-task-design-resource-handoff.js +71 -11
  257. package/dist/lib/long-task-design-resource-method-binding.d.ts +8 -1
  258. package/dist/lib/long-task-design-resource-method-binding.js +150 -0
  259. package/dist/lib/long-task-evidence-capability-codec.js +256 -34
  260. package/dist/lib/long-task-evidence-capability-policy.d.ts +3 -2
  261. package/dist/lib/long-task-evidence-capability-policy.js +142 -8
  262. package/dist/lib/long-task-evidence-capability-runtime.d.ts +5 -2
  263. package/dist/lib/long-task-evidence-capability-runtime.js +420 -68
  264. package/dist/lib/long-task-evidence-capability-types.d.ts +70 -2
  265. package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +9 -0
  266. package/dist/lib/long-task-evidence-sensitivity-policy.js +31 -1
  267. package/dist/lib/long-task-evidence-v2.d.ts +4 -4
  268. package/dist/lib/long-task-evidence-v2.js +322 -44
  269. package/dist/lib/long-task-exact-comparison.d.ts +16 -0
  270. package/dist/lib/long-task-exact-comparison.js +28 -0
  271. package/dist/lib/long-task-execution-observation.d.ts +24 -0
  272. package/dist/lib/long-task-execution-observation.js +332 -0
  273. package/dist/lib/long-task-explain-acceptance-link.d.ts +4 -0
  274. package/dist/lib/long-task-explain-acceptance-link.js +4 -0
  275. package/dist/lib/long-task-explain-claim-links.d.ts +2 -0
  276. package/dist/lib/long-task-explain-claim-links.js +2 -0
  277. package/dist/lib/long-task-explain-source-links.d.ts +6 -0
  278. package/dist/lib/long-task-final-v2.js +7 -4
  279. package/dist/lib/long-task-hook-install.d.ts +19 -2
  280. package/dist/lib/long-task-hook-install.js +288 -91
  281. package/dist/lib/long-task-json-pointer-observation.d.ts +59 -0
  282. package/dist/lib/long-task-json-pointer-observation.js +184 -0
  283. package/dist/lib/long-task-observation-artifact.d.ts +8 -0
  284. package/dist/lib/long-task-observation-artifact.js +58 -0
  285. package/dist/lib/long-task-observation-authority.d.ts +17 -0
  286. package/dist/lib/long-task-observation-authority.js +348 -0
  287. package/dist/lib/long-task-paths.js +1 -1
  288. package/dist/lib/long-task-playwright-capability-records.d.ts +2 -0
  289. package/dist/lib/long-task-playwright-capability-records.js +74 -2
  290. package/dist/lib/long-task-process-observation.d.ts +6 -0
  291. package/dist/lib/long-task-process-observation.js +117 -0
  292. package/dist/lib/long-task-process-runtime-closure.d.ts +13 -0
  293. package/dist/lib/long-task-process-runtime-closure.js +175 -0
  294. package/dist/lib/long-task-progress.js +2 -0
  295. package/dist/lib/long-task-protected-files.d.ts +1 -1
  296. package/dist/lib/long-task-protected-files.js +1 -30
  297. package/dist/lib/long-task-risk.js +8 -3
  298. package/dist/lib/long-task-root-shape.js +10 -1
  299. package/dist/lib/long-task-runner-environment.d.ts +1 -1
  300. package/dist/lib/long-task-runner-environment.js +4 -4
  301. package/dist/lib/long-task-runner-freeze.d.ts +4 -2
  302. package/dist/lib/long-task-runner-freeze.js +130 -28
  303. package/dist/lib/long-task-runtime-types.d.ts +111 -0
  304. package/dist/lib/long-task-scoped-binding.d.ts +13 -0
  305. package/dist/lib/long-task-scoped-binding.js +11 -0
  306. package/dist/lib/long-task-semantic-contract-types.d.ts +2 -1
  307. package/dist/lib/long-task-semantic-fact-binding-types.d.ts +8 -0
  308. package/dist/lib/long-task-semantic-fact-closure.js +4 -1
  309. package/dist/lib/long-task-semantic-fact-contract-closure.d.ts +1 -1
  310. package/dist/lib/long-task-semantic-fact-contract-closure.js +18 -6
  311. package/dist/lib/long-task-semantic-fact-contract-facts.d.ts +1 -1
  312. package/dist/lib/long-task-semantic-fact-contract-facts.js +4 -1
  313. package/dist/lib/long-task-semantic-fact-contract-proofs.d.ts +1 -1
  314. package/dist/lib/long-task-semantic-fact-contract-proofs.js +12 -3
  315. package/dist/lib/long-task-semantic-fact-evidence.d.ts +8 -4
  316. package/dist/lib/long-task-semantic-fact-evidence.js +103 -43
  317. package/dist/lib/long-task-semantic-fact-shape.js +17 -6
  318. package/dist/lib/long-task-shape-primitives.d.ts +1 -1
  319. package/dist/lib/long-task-shape-primitives.js +1 -0
  320. package/dist/lib/long-task-source-claim-validation.js +4 -1
  321. package/dist/lib/long-task-source-item-parser.d.ts +2 -2
  322. package/dist/lib/long-task-source-item-parser.js +20 -11
  323. package/dist/lib/long-task-source-target-continuity.d.ts +2 -2
  324. package/dist/lib/long-task-source-target-continuity.js +35 -2
  325. package/dist/lib/long-task-source-target-index.d.ts +3 -0
  326. package/dist/lib/long-task-source-target-index.js +19 -0
  327. package/dist/lib/long-task-stage-policy.js +10 -4
  328. package/dist/lib/long-task-static-observation-freeze.d.ts +83 -0
  329. package/dist/lib/long-task-static-observation-freeze.js +428 -0
  330. package/dist/lib/long-task-status-projection.js +5 -1
  331. package/dist/lib/long-task-target-policy.d.ts +1 -1
  332. package/dist/lib/long-task-target-policy.js +3 -0
  333. package/dist/lib/long-task-ui-design-policy.js +64 -4
  334. package/dist/lib/long-task-ui-surface-shape.js +195 -0
  335. package/dist/lib/long-task-ui-surface-types.d.ts +53 -0
  336. package/dist/lib/long-task-verifier-dependency-closure.js +7 -3
  337. package/dist/lib/long-task-verifier-v2.js +70 -9
  338. package/dist/lib/long-task-worker-selection.d.ts +2 -0
  339. package/dist/lib/long-task-worker-selection.js +7 -0
  340. package/dist/lib/long-task-workspace-scope.js +3 -1
  341. package/dist/lib/long-task-workspace.d.ts +1 -1
  342. package/dist/lib/long-task-workspace.js +12 -13
  343. package/dist/lib/migrations.js +58 -0
  344. package/dist/lib/profiles.js +0 -1
  345. package/dist/lib/repository-path-safety.d.ts +14 -0
  346. package/dist/lib/repository-path-safety.js +126 -0
  347. package/dist/lib/semantic-fact-compact-authoring.d.ts +2 -0
  348. package/dist/lib/semantic-fact-compact-authoring.js +160 -0
  349. package/dist/lib/semantic-fact-compact-capacity.d.ts +9 -0
  350. package/dist/lib/semantic-fact-compact-capacity.js +40 -0
  351. package/dist/lib/semantic-fact-compact-carrier.d.ts +16 -0
  352. package/dist/lib/semantic-fact-compact-carrier.js +146 -0
  353. package/dist/lib/semantic-fact-compact-parser.d.ts +17 -0
  354. package/dist/lib/semantic-fact-compact-parser.js +168 -0
  355. package/dist/lib/semantic-fact-compact-revision.d.ts +11 -0
  356. package/dist/lib/semantic-fact-compact-revision.js +64 -0
  357. package/dist/lib/semantic-fact-compact-support.d.ts +23 -0
  358. package/dist/lib/semantic-fact-compact-support.js +159 -0
  359. package/dist/lib/semantic-fact-policy-census.d.ts +1 -0
  360. package/dist/lib/semantic-fact-policy-census.js +43 -0
  361. package/dist/lib/semantic-fact-proof-shape.d.ts +1 -1
  362. package/dist/lib/semantic-fact-property-shape.d.ts +1 -1
  363. package/dist/lib/semantic-fact-source-parser.d.ts +5 -0
  364. package/dist/lib/semantic-fact-source-parser.js +47 -6
  365. package/dist/lib/structural-closure-cost.d.ts +79 -0
  366. package/dist/lib/structural-closure-cost.js +91 -0
  367. package/dist/lib/symbolic-denotation-dag-builder.d.ts +25 -0
  368. package/dist/lib/symbolic-denotation-dag-builder.js +176 -0
  369. package/dist/lib/symbolic-denotation-domain-validation.d.ts +3 -0
  370. package/dist/lib/symbolic-denotation-domain-validation.js +56 -0
  371. package/dist/lib/symbolic-denotation-engine.d.ts +32 -0
  372. package/dist/lib/symbolic-denotation-engine.js +140 -0
  373. package/dist/lib/symbolic-denotation-public.d.ts +11 -0
  374. package/dist/lib/symbolic-denotation-public.js +12 -0
  375. package/dist/lib/symbolic-denotation-runtime.d.ts +20 -0
  376. package/dist/lib/symbolic-denotation-runtime.js +90 -0
  377. package/dist/lib/symbolic-denotation-support.d.ts +11 -0
  378. package/dist/lib/symbolic-denotation-support.js +49 -0
  379. package/dist/lib/symbolic-denotation-types.d.ts +133 -0
  380. package/dist/lib/symbolic-denotation-types.js +18 -0
  381. package/dist/lib/symbolic-denotation-validation.d.ts +6 -0
  382. package/dist/lib/symbolic-denotation-validation.js +126 -0
  383. package/dist/lib/sync-engine.d.ts +1 -0
  384. package/dist/lib/sync-engine.js +4 -1
  385. package/dist/lib/upgrade.js +1 -0
  386. package/dist/long-task-hook.js +40 -1
  387. package/dist/public-types.d.ts +8 -0
  388. package/dist/public-types.js +1 -0
  389. package/dist/schemas/design-resource-symbolic-noninterference-artifact-v2.schema.json +289 -0
  390. package/dist/schemas/design-resource-symbolic-source-ir-v1.schema.json +130 -0
  391. package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +435 -5
  392. package/migrations/README.md +92 -15
  393. package/package.json +2 -2
  394. package/source-mappings.yaml +28 -25
  395. package/assets/skills/source-plan-authoring/SKILL.md +0 -14
@@ -8,7 +8,6 @@
8
8
  "schema_version",
9
9
  "semantic_fact_manifest",
10
10
  "task",
11
- "source_claims",
12
11
  "stages",
13
12
  "risk",
14
13
  "global"
@@ -54,6 +53,9 @@
54
53
  "minItems": 1,
55
54
  "items": { "$ref": "#/$defs/sourceClaim" }
56
55
  },
56
+ "compact_semantic_carrier": {
57
+ "$ref": "#/$defs/longTaskCompactCarrier"
58
+ },
57
59
  "stages": {
58
60
  "type": "array",
59
61
  "minItems": 1,
@@ -68,9 +70,30 @@
68
70
  },
69
71
  "outcome_files": { "$ref": "#/$defs/nonEmptyStrings" }
70
72
  },
71
- "oneOf": [
72
- { "required": ["outcomes"], "not": { "required": ["outcome_files"] } },
73
- { "required": ["outcome_files"], "not": { "required": ["outcomes"] } }
73
+ "allOf": [
74
+ {
75
+ "oneOf": [
76
+ {
77
+ "required": ["source_claims"],
78
+ "not": { "required": ["compact_semantic_carrier"] }
79
+ },
80
+ {
81
+ "required": ["compact_semantic_carrier", "outcomes"],
82
+ "not": {
83
+ "anyOf": [
84
+ { "required": ["source_claims"] },
85
+ { "required": ["outcome_files"] }
86
+ ]
87
+ }
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "oneOf": [
93
+ { "required": ["outcomes"], "not": { "required": ["outcome_files"] } },
94
+ { "required": ["outcome_files"], "not": { "required": ["outcomes"] } }
95
+ ]
96
+ }
74
97
  ],
75
98
  "$defs": {
76
99
  "key": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
@@ -94,6 +117,196 @@
94
117
  "sha256": { "$ref": "#/$defs/sha256" }
95
118
  }
96
119
  },
120
+ "compactTable": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "required": ["defaults", "columns", "rows"],
124
+ "properties": {
125
+ "defaults": { "type": "object" },
126
+ "columns": {
127
+ "type": "array",
128
+ "uniqueItems": true,
129
+ "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]*$" }
130
+ },
131
+ "rows": {
132
+ "type": "array",
133
+ "items": { "type": "array" }
134
+ }
135
+ }
136
+ },
137
+ "compactFactSet": {
138
+ "type": "object",
139
+ "additionalProperties": false,
140
+ "required": ["key", "defaults", "columns", "rows"],
141
+ "properties": {
142
+ "key": { "$ref": "#/$defs/semanticRef" },
143
+ "defaults": { "type": "object" },
144
+ "columns": {
145
+ "type": "array",
146
+ "uniqueItems": true,
147
+ "items": { "type": "string", "pattern": "^[a-z][a-z0-9_]*$" }
148
+ },
149
+ "rows": {
150
+ "type": "array",
151
+ "items": { "type": "array" }
152
+ }
153
+ }
154
+ },
155
+ "longTaskCompactCapacityCounts": {
156
+ "type": "object",
157
+ "additionalProperties": false,
158
+ "required": [
159
+ "claims",
160
+ "claim_projections",
161
+ "selector_members",
162
+ "structure_families",
163
+ "structure_references",
164
+ "structure_arguments",
165
+ "facts",
166
+ "obligations",
167
+ "assertions",
168
+ "canonical_bytes"
169
+ ],
170
+ "properties": {
171
+ "claims": { "type": "integer", "minimum": 0, "maximum": 1000000 },
172
+ "claim_projections": {
173
+ "type": "integer",
174
+ "minimum": 0,
175
+ "maximum": 2000000
176
+ },
177
+ "selector_members": {
178
+ "type": "integer",
179
+ "minimum": 0,
180
+ "maximum": 5000000
181
+ },
182
+ "structure_families": {
183
+ "type": "integer",
184
+ "minimum": 0,
185
+ "maximum": 1000000
186
+ },
187
+ "structure_references": {
188
+ "type": "integer",
189
+ "minimum": 0,
190
+ "maximum": 10000000
191
+ },
192
+ "structure_arguments": {
193
+ "type": "integer",
194
+ "minimum": 0,
195
+ "maximum": 50000000
196
+ },
197
+ "facts": { "type": "integer", "minimum": 0, "maximum": 1000000 },
198
+ "obligations": { "type": "integer", "minimum": 0, "maximum": 2000000 },
199
+ "assertions": { "type": "integer", "minimum": 0, "maximum": 5000000 },
200
+ "canonical_bytes": {
201
+ "type": "integer",
202
+ "minimum": 0,
203
+ "maximum": 268435456
204
+ }
205
+ }
206
+ },
207
+ "longTaskCompactCarrier": {
208
+ "type": "object",
209
+ "additionalProperties": false,
210
+ "required": [
211
+ "schema_version",
212
+ "capacity",
213
+ "selectors",
214
+ "shared_structures",
215
+ "claim_catalog",
216
+ "claim_projections",
217
+ "fact_sets",
218
+ "proof_templates",
219
+ "obligations",
220
+ "assertion_projections",
221
+ "exceptions"
222
+ ],
223
+ "properties": {
224
+ "schema_version": { "const": "long-task-compact-carrier-v1" },
225
+ "capacity": {
226
+ "type": "object",
227
+ "additionalProperties": false,
228
+ "required": ["theoretical_ground_universe", "measured", "maximum"],
229
+ "properties": {
230
+ "theoretical_ground_universe": { "const": "not_materialized" },
231
+ "measured": { "$ref": "#/$defs/longTaskCompactCapacityCounts" },
232
+ "maximum": { "$ref": "#/$defs/longTaskCompactCapacityCounts" }
233
+ }
234
+ },
235
+ "selectors": {
236
+ "type": "array",
237
+ "items": {
238
+ "type": "object",
239
+ "additionalProperties": false,
240
+ "required": ["key", "members"],
241
+ "properties": {
242
+ "key": { "$ref": "#/$defs/semanticRef" },
243
+ "members": {
244
+ "type": "array",
245
+ "uniqueItems": true,
246
+ "items": { "$ref": "#/$defs/semanticRef" }
247
+ }
248
+ }
249
+ }
250
+ },
251
+ "shared_structures": {
252
+ "type": "array",
253
+ "items": {
254
+ "type": "object",
255
+ "additionalProperties": false,
256
+ "required": [
257
+ "key",
258
+ "digest",
259
+ "boundary",
260
+ "parameter_count",
261
+ "template"
262
+ ],
263
+ "properties": {
264
+ "key": {
265
+ "type": "string",
266
+ "pattern": "^structure\\.[a-f0-9]{24}$"
267
+ },
268
+ "digest": { "$ref": "#/$defs/sha256" },
269
+ "boundary": { "$ref": "#/$defs/semanticRef" },
270
+ "parameter_count": { "type": "integer", "minimum": 0 },
271
+ "template": {}
272
+ }
273
+ }
274
+ },
275
+ "claim_catalog": { "$ref": "#/$defs/compactTable" },
276
+ "claim_projections": { "$ref": "#/$defs/compactTable" },
277
+ "fact_sets": {
278
+ "type": "array",
279
+ "items": { "$ref": "#/$defs/compactFactSet" }
280
+ },
281
+ "proof_templates": {
282
+ "type": "array",
283
+ "items": {
284
+ "type": "object",
285
+ "additionalProperties": false,
286
+ "required": ["key", "binding"],
287
+ "properties": {
288
+ "key": { "$ref": "#/$defs/semanticRef" },
289
+ "binding": { "type": "object" }
290
+ }
291
+ }
292
+ },
293
+ "obligations": { "$ref": "#/$defs/compactTable" },
294
+ "assertion_projections": { "$ref": "#/$defs/compactTable" },
295
+ "exceptions": {
296
+ "type": "array",
297
+ "items": {
298
+ "type": "object",
299
+ "additionalProperties": false,
300
+ "required": ["key", "target_ref", "rationale"],
301
+ "properties": {
302
+ "key": { "$ref": "#/$defs/semanticRef" },
303
+ "target_ref": { "$ref": "#/$defs/semanticRef" },
304
+ "rationale": { "$ref": "#/$defs/nonEmpty" }
305
+ }
306
+ }
307
+ }
308
+ }
309
+ },
97
310
  "semanticFactBindings": {
98
311
  "type": "object",
99
312
  "additionalProperties": false,
@@ -109,6 +322,7 @@
109
322
  "required": ["fact_ref", "claim_ref", "applicability_ref"],
110
323
  "properties": {
111
324
  "fact_ref": { "$ref": "#/$defs/semanticRef" },
325
+ "fact_revision_digest": { "$ref": "#/$defs/sha256" },
112
326
  "claim_ref": { "$ref": "#/$defs/semanticRef" },
113
327
  "applicability_ref": { "$ref": "#/$defs/semanticRef" }
114
328
  }
@@ -134,6 +348,7 @@
134
348
  ],
135
349
  "properties": {
136
350
  "proof_ref": { "$ref": "#/$defs/semanticRef" },
351
+ "obligation_revision_digest": { "$ref": "#/$defs/sha256" },
137
352
  "fact_ref": { "$ref": "#/$defs/semanticRef" },
138
353
  "method": { "$ref": "#/$defs/semanticRef" },
139
354
  "proof_surface": { "$ref": "#/$defs/proofSurface" },
@@ -162,6 +377,7 @@
162
377
  ],
163
378
  "properties": {
164
379
  "proof_ref": { "$ref": "#/$defs/semanticRef" },
380
+ "obligation_revision_digest": { "$ref": "#/$defs/sha256" },
165
381
  "fact_ref": { "$ref": "#/$defs/semanticRef" },
166
382
  "method": { "$ref": "#/$defs/semanticRef" },
167
383
  "proof_surface": { "$ref": "#/$defs/proofSurface" },
@@ -281,6 +497,10 @@
281
497
  ]
282
498
  },
283
499
  "root_entrypoint": { "$ref": "#/$defs/nonEmpty" },
500
+ "root_argv": {
501
+ "type": "array",
502
+ "items": { "type": "string", "pattern": "^[^\\u0000]*$" }
503
+ },
284
504
  "capabilities": {
285
505
  "type": "array",
286
506
  "minItems": 1,
@@ -973,8 +1193,35 @@
973
1193
  "actual_artifact_path",
974
1194
  "comparison_artifact_path"
975
1195
  ],
1196
+ "oneOf": [
1197
+ {
1198
+ "not": {
1199
+ "anyOf": [
1200
+ { "required": ["fact_model"] },
1201
+ { "required": ["symbolic_method_bindings"] },
1202
+ { "required": ["symbolic_certificate_binding"] }
1203
+ ]
1204
+ },
1205
+ "properties": {
1206
+ "verification_method_bindings": { "minItems": 1 }
1207
+ }
1208
+ },
1209
+ {
1210
+ "required": [
1211
+ "fact_model",
1212
+ "symbolic_method_bindings",
1213
+ "symbolic_certificate_binding"
1214
+ ],
1215
+ "properties": {
1216
+ "fact_model": { "const": "symbolic_rules_v2" },
1217
+ "verification_method_bindings": { "maxItems": 0 },
1218
+ "symbolic_method_bindings": { "minItems": 1 }
1219
+ }
1220
+ }
1221
+ ],
976
1222
  "properties": {
977
1223
  "key": { "$ref": "#/$defs/key" },
1224
+ "fact_model": { "const": "symbolic_rules_v2" },
978
1225
  "interpretation": { "enum": ["exact_target", "constraint"] },
979
1226
  "source_paths": { "$ref": "#/$defs/nonEmptyStrings" },
980
1227
  "condition_keys": { "$ref": "#/$defs/keys" },
@@ -983,7 +1230,6 @@
983
1230
  "conformance_assertion_ref": { "$ref": "#/$defs/key" },
984
1231
  "verification_method_bindings": {
985
1232
  "type": "array",
986
- "minItems": 1,
987
1233
  "uniqueItems": true,
988
1234
  "items": {
989
1235
  "type": "object",
@@ -1021,6 +1267,14 @@
1021
1267
  }
1022
1268
  }
1023
1269
  },
1270
+ "symbolic_method_bindings": {
1271
+ "type": "array",
1272
+ "uniqueItems": true,
1273
+ "items": { "$ref": "#/$defs/designSymbolicVerificationBinding" }
1274
+ },
1275
+ "symbolic_certificate_binding": {
1276
+ "$ref": "#/$defs/designSymbolicCertificateBinding"
1277
+ },
1024
1278
  "actual_artifact_path": { "$ref": "#/$defs/nonEmpty" },
1025
1279
  "comparison_artifact_path": { "$ref": "#/$defs/nonEmpty" }
1026
1280
  }
@@ -1132,6 +1386,173 @@
1132
1386
  }
1133
1387
  }
1134
1388
  },
1389
+ "designQuantifier": {
1390
+ "type": "object",
1391
+ "additionalProperties": false,
1392
+ "required": ["kind", "minimum", "maximum"],
1393
+ "properties": {
1394
+ "kind": {
1395
+ "enum": [
1396
+ "one",
1397
+ "all",
1398
+ "any",
1399
+ "none",
1400
+ "exactly",
1401
+ "at_least",
1402
+ "at_most",
1403
+ "range"
1404
+ ]
1405
+ },
1406
+ "minimum": {
1407
+ "oneOf": [{ "type": "null" }, { "type": "integer", "minimum": 0 }]
1408
+ },
1409
+ "maximum": {
1410
+ "oneOf": [{ "type": "null" }, { "type": "integer", "minimum": 0 }]
1411
+ }
1412
+ }
1413
+ },
1414
+ "designSymbolicRuleExpectation": {
1415
+ "type": "object",
1416
+ "additionalProperties": false,
1417
+ "required": [
1418
+ "obligation_ref",
1419
+ "fact_rule_ref",
1420
+ "region_sha256",
1421
+ "subject_or_relation_ref",
1422
+ "property_ref",
1423
+ "population_ref",
1424
+ "quantifier",
1425
+ "observation_sensitivity",
1426
+ "expected",
1427
+ "proof_surface",
1428
+ "observation_boundary",
1429
+ "comparison",
1430
+ "oracle",
1431
+ "environment",
1432
+ "protected_value_policy",
1433
+ "completion_effect"
1434
+ ],
1435
+ "properties": {
1436
+ "obligation_ref": { "$ref": "#/$defs/designFactKey" },
1437
+ "fact_rule_ref": { "$ref": "#/$defs/designFactKey" },
1438
+ "region_sha256": { "$ref": "#/$defs/sha256" },
1439
+ "subject_or_relation_ref": { "$ref": "#/$defs/designFactKey" },
1440
+ "property_ref": { "$ref": "#/$defs/designFactKey" },
1441
+ "population_ref": {
1442
+ "oneOf": [{ "type": "null" }, { "$ref": "#/$defs/designFactKey" }]
1443
+ },
1444
+ "quantifier": { "$ref": "#/$defs/designQuantifier" },
1445
+ "observation_sensitivity": { "enum": ["plain", "protected"] },
1446
+ "expected": { "$ref": "#/$defs/designLocatedDigest" },
1447
+ "proof_surface": { "$ref": "#/$defs/nonEmpty" },
1448
+ "observation_boundary": { "$ref": "#/$defs/nonEmpty" },
1449
+ "comparison": {
1450
+ "$ref": "#/$defs/designFactExpectation/properties/comparison"
1451
+ },
1452
+ "oracle": {
1453
+ "$ref": "#/$defs/designFactExpectation/properties/oracle"
1454
+ },
1455
+ "environment": {
1456
+ "$ref": "#/$defs/designFactExpectation/properties/environment"
1457
+ },
1458
+ "protected_value_policy": { "$ref": "#/$defs/nonEmpty" },
1459
+ "completion_effect": { "$ref": "#/$defs/nonEmpty" }
1460
+ }
1461
+ },
1462
+ "designSymbolicVerificationBinding": {
1463
+ "type": "object",
1464
+ "additionalProperties": false,
1465
+ "required": [
1466
+ "method",
1467
+ "assertion_ref",
1468
+ "artifact_path",
1469
+ "observation_path",
1470
+ "rule_expectations"
1471
+ ],
1472
+ "properties": {
1473
+ "method": { "$ref": "#/$defs/designVerificationMethod" },
1474
+ "assertion_ref": { "$ref": "#/$defs/key" },
1475
+ "artifact_path": { "$ref": "#/$defs/nonEmpty" },
1476
+ "observation_path": { "$ref": "#/$defs/nonEmpty" },
1477
+ "rule_expectations": {
1478
+ "type": "array",
1479
+ "minItems": 1,
1480
+ "items": { "$ref": "#/$defs/designSymbolicRuleExpectation" }
1481
+ }
1482
+ }
1483
+ },
1484
+ "designSymbolicCertificateExpectation": {
1485
+ "type": "object",
1486
+ "additionalProperties": false,
1487
+ "required": [
1488
+ "certificate_ref",
1489
+ "fact_rule_refs",
1490
+ "omitted_axis_refs",
1491
+ "dependency_edge_refs",
1492
+ "canonical_rule_dag_sha256"
1493
+ ],
1494
+ "properties": {
1495
+ "certificate_ref": { "$ref": "#/$defs/designFactKey" },
1496
+ "fact_rule_refs": { "$ref": "#/$defs/designFactRefs" },
1497
+ "omitted_axis_refs": { "$ref": "#/$defs/designFactRefs" },
1498
+ "dependency_edge_refs": { "$ref": "#/$defs/designFactRefs" },
1499
+ "canonical_rule_dag_sha256": { "$ref": "#/$defs/sha256" },
1500
+ "source_noninterference_proof_sha256": { "$ref": "#/$defs/sha256" },
1501
+ "production_noninterference_proof_sha256": { "$ref": "#/$defs/sha256" }
1502
+ }
1503
+ },
1504
+ "designSymbolicCertificateBinding": {
1505
+ "type": "object",
1506
+ "additionalProperties": false,
1507
+ "required": ["assertion_ref", "artifact_path", "expectations", "metrics"],
1508
+ "properties": {
1509
+ "assertion_ref": { "$ref": "#/$defs/key" },
1510
+ "artifact_path": { "$ref": "#/$defs/nonEmpty" },
1511
+ "expectations": {
1512
+ "type": "array",
1513
+ "minItems": 1,
1514
+ "items": {
1515
+ "$ref": "#/$defs/designSymbolicCertificateExpectation"
1516
+ }
1517
+ },
1518
+ "metrics": {
1519
+ "type": "object",
1520
+ "additionalProperties": false,
1521
+ "required": [
1522
+ "semantic_obligations",
1523
+ "certificate_obligations",
1524
+ "certificate_covered_omitted_axes",
1525
+ "certificate_covered_dependency_edges",
1526
+ "canonical_dag_nodes",
1527
+ "canonical_partition_edges",
1528
+ "canonical_bytes",
1529
+ "theoretical_ground_cardinality"
1530
+ ],
1531
+ "properties": {
1532
+ "semantic_obligations": { "type": "integer", "minimum": 0 },
1533
+ "certificate_obligations": { "type": "integer", "minimum": 0 },
1534
+ "certificate_covered_omitted_axes": {
1535
+ "type": "integer",
1536
+ "minimum": 0
1537
+ },
1538
+ "certificate_covered_dependency_edges": {
1539
+ "type": "integer",
1540
+ "minimum": 0
1541
+ },
1542
+ "canonical_dag_nodes": { "type": "integer", "minimum": 0 },
1543
+ "canonical_partition_edges": {
1544
+ "type": "integer",
1545
+ "minimum": 0
1546
+ },
1547
+ "canonical_bytes": { "type": "integer", "minimum": 0 },
1548
+ "theoretical_ground_cardinality": {
1549
+ "type": "string",
1550
+ "pattern": "^[1-9][0-9]*$"
1551
+ }
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1135
1556
  "designAcceptanceBlocker": {
1136
1557
  "type": "object",
1137
1558
  "additionalProperties": false,
@@ -1541,6 +1962,7 @@
1541
1962
  "visual_render",
1542
1963
  "design_conformance",
1543
1964
  "design_method",
1965
+ "design_symbolic_certificate",
1544
1966
  "semantic_fact",
1545
1967
  "target_runtime",
1546
1968
  "input_variation"
@@ -1626,6 +2048,10 @@
1626
2048
  "check_key": { "$ref": "#/$defs/key" },
1627
2049
  "expected_assertion_failures": { "$ref": "#/$defs/keys" },
1628
2050
  "preserved_assertions": { "$ref": "#/$defs/keys", "default": [] },
2051
+ "allowed_fanout_assertions": {
2052
+ "$ref": "#/$defs/keys",
2053
+ "default": []
2054
+ },
1629
2055
  "mutation": {
1630
2056
  "oneOf": [
1631
2057
  {
@@ -1706,6 +2132,10 @@
1706
2132
  "uniqueItems": true
1707
2133
  },
1708
2134
  "preserved_assertions": { "$ref": "#/$defs/keys", "default": [] },
2135
+ "allowed_fanout_assertions": {
2136
+ "$ref": "#/$defs/keys",
2137
+ "default": []
2138
+ },
1709
2139
  "mutation": {
1710
2140
  "oneOf": [
1711
2141
  {
@@ -1,15 +1,92 @@
1
- # Migrations
2
-
3
- Schema migrations for Harness config and managed file layout belong here.
4
-
5
- Version 0.6.0 includes `long-task-v1-retirement`. It safely removes the
6
- retired repo-local Hook, reports a legacy active projection as
7
- `manual_required`, and deliberately does not import V1 progress or receipts
8
- into the V2 Claim/Evidence authority.
9
-
10
- Version 0.7.2 includes `long-task-v2-semantic-drift-authority`. It reports a
11
- conventional `.long-task/delivery-contract.yaml` as `manual_required` when the
12
- V2 file predates explicit Stage, target-profile/root-runtime, journey-scenario,
13
- success/degradation, evidence-capability or external-impact authority. Those
14
- meanings must be re-authored from Source; migration never infers them from old
15
- Progress or Receipts.
1
+ # Migrations
2
+
3
+ Schema migrations for Harness config and managed file layout belong here.
4
+
5
+ Version 0.6.0 includes `long-task-v1-retirement`. It safely removes the
6
+ retired repo-local Hook, reports a legacy active projection as
7
+ `manual_required`, and deliberately does not import V1 progress or receipts
8
+ into the V2 Claim/Evidence authority.
9
+
10
+ Version 0.7.2 includes `long-task-v2-semantic-drift-authority`. It reports a
11
+ conventional `.long-task/delivery-contract.yaml` as `manual_required` when the
12
+ V2 file predates explicit Stage, target-profile/root-runtime, journey-scenario,
13
+ success/degradation, evidence-capability or external-impact authority. Those
14
+ meanings must be re-authored from Source; migration never infers them from old
15
+ Progress or Receipts.
16
+
17
+ ## Admitted-observation/runtime-TCB revision
18
+
19
+ The next Long-Task compatibility boundary intentionally does not provide a
20
+ mechanical Contract rewrite. Machine evidence that depends on a custom Oracle,
21
+ a project-submitted runtime/interaction/state/verdict row, a runner-created or
22
+ runner-modified carrier, an indirect wrapper, an unsupported target family or
23
+ a Counterfactual with no package-admitted actual must be re-authored explicitly.
24
+ Migration must never silently:
25
+
26
+ - replace a custom Oracle with a package Oracle;
27
+ - turn machine proof into `external_confirmation`;
28
+ - replace a verifier wrapper with a product root entrypoint;
29
+ - infer a static structure carrier from `Binding`/`input_paths` alone; or
30
+ - infer a process runtime dependency from `input_paths`, runner or verification membership;
31
+ - invent a Source-backed execution target or production Binding for an old root; or
32
+ - preserve a known false-acceptance path as compatibility behavior.
33
+
34
+ Greenfield authoring may declare an exact process root, argv repository file
35
+ or production carrier as `planned`. Its exact Source/Binding declaration is
36
+ stable through Preflight/Compile and later materialization, but Final Gate
37
+ requires every compiled closure member to exist. A glob, a manifest sibling or
38
+ an undeclared repository-file argv token cannot substitute; migration does not
39
+ invent these exact declarations or parse language dependencies.
40
+
41
+ Preflight and doctor should report the narrow failing obligation and an
42
+ actionable manual route through diagnostics such as
43
+ `machine_observer_not_admitted`,
44
+ `semantic_fact_machine_observer_not_admitted`,
45
+ `unsupported_observer_requires_external_confirmation`,
46
+ `custom_oracle_machine_completion_forbidden`,
47
+ `static_observation_not_in_pre_run_snapshot`,
48
+ `static_observation_changed_by_runner`,
49
+ `process_observer_direct_root_required`,
50
+ `process_observer_root_invocation_required`,
51
+ `process_observer_root_argv_mismatch`,
52
+ `process_observation_input_changed_by_runner`,
53
+ `process_runtime_input_expected_authority_forbidden`,
54
+ `process_runtime_input_verification_role_forbidden`,
55
+ `process_runtime_input_evidence_role_forbidden`,
56
+ `process_root_source_binding_required`,
57
+ `process_root_production_binding_required`,
58
+ `process_root_source_identity_mismatch`,
59
+ `process_runtime_carrier_exact_path_required`,
60
+ `process_runtime_input_missing`,
61
+ `process_runtime_closure_identity_mismatch`,
62
+ `legacy_target_runtime_non_authoritative`,
63
+ `counterfactual_admitted_observation_required`,
64
+ `counterfactual_runtime_reachability_unproven` and
65
+ `project_submitted_verdict_disagrees_with_harness`. The user or Agent must then
66
+ choose an admitted static/direct-process observation or the existing blocking
67
+ External Confirmation. That semantic choice is `manual_required`, not ordinary
68
+ `sync` or a migration-registry inference; release guidance must therefore use
69
+ the `manual-required` update mode for affected consumers.
70
+
71
+ When the whole affected Outcome is unsupported, re-author it explicitly as an
72
+ external-only route: set `success_path_required: false`, remove machine Checks,
73
+ bind every ordinary/global and Semantic Fact Claim through exact
74
+ `impact_claims`, keep every Semantic Fact proof's explicit `confirmation_ref`,
75
+ and ensure a `blocks_target: true` confirmation impacts each
76
+ Stage Gate result Claim. A non-blocking confirmation or one missing gate-result
77
+ lineage cannot replace a Stage Gate, and migration never invents these choices.
78
+ The valid route ends as `blocked_external`, not either machine-accepted status.
79
+
80
+ Changing verifier identity, Compile admission policy or the observation TCB
81
+ invalidates the prior Active Authority. The Contract must be recompiled or
82
+ adopted through an explicit Authority Revision; old Progress, evidence and
83
+ Receipt are not reusable on the new boundary. Public
84
+ `long-task-check-result-v3` remains the compatibility payload, but its
85
+ project-authored actual/pass/verdict/runtime fields are non-authoritative. The
86
+ Harness-owned process adapter captures the separate
87
+ `ty-context-product-observation-v1` envelope from bounded stdout inside an
88
+ isolated frozen runtime-closure snapshot. It exposes no output-path, challenge
89
+ or protocol environment variable to the child; any execution nonce remains
90
+ internal host-attestation data. No v4 is introduced by this revision; a future
91
+ v4 requires a distinct need to carry a live browser/native session handle
92
+ across processes.