project-tiny-context-harness 0.8.12 → 0.8.16

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 (174) hide show
  1. package/README.md +62 -28
  2. package/assets/README.md +98 -45
  3. package/assets/README.zh-CN.md +68 -32
  4. package/assets/agents/AGENTS_CORE.md +10 -6
  5. package/assets/agents/long-task-implementation.toml +1 -1
  6. package/assets/skills/context_development_engineer/SKILL.md +9 -1
  7. package/assets/skills/design-resource-authoring/SKILL.md +7 -5
  8. package/assets/skills/design-resource-authoring/references/downstream-handoff.md +2 -2
  9. package/assets/skills/design-resource-authoring/references/open-design-provider.md +22 -2
  10. package/assets/skills/design-resource-authoring/references/recovery-and-writeback.md +199 -0
  11. package/assets/skills/design-resource-authoring/references/resource-selection.md +2 -2
  12. package/assets/skills/long-task-workflow/SKILL.md +14 -12
  13. package/assets/skills/long-task-workflow/agents/openai.yaml +1 -1
  14. package/assets/skills/long-task-workflow/references/authority-lifecycle.md +1 -1
  15. package/assets/skills/long-task-workflow/references/contract-authoring.md +27 -22
  16. package/assets/skills/long-task-workflow/references/evidence-design.md +49 -32
  17. package/assets/skills/long-task-workflow/references/source-authoring.md +2 -2
  18. package/dist/commands/design-resource-recovery.d.ts +1 -0
  19. package/dist/commands/design-resource-recovery.js +152 -0
  20. package/dist/commands/design-resource.js +20 -1
  21. package/dist/commands/index.js +1 -1
  22. package/dist/commands/long-task-revision.js +4 -4
  23. package/dist/lib/design-resource-reconciliation-codec.d.ts +2 -0
  24. package/dist/lib/design-resource-reconciliation-codec.js +174 -0
  25. package/dist/lib/design-resource-reconciliation-types.d.ts +62 -0
  26. package/dist/lib/design-resource-reconciliation-types.js +1 -0
  27. package/dist/lib/design-resource-reconciliation.d.ts +3 -0
  28. package/dist/lib/design-resource-reconciliation.js +224 -0
  29. package/dist/lib/design-resource-recovery-authority-policy.d.ts +8 -0
  30. package/dist/lib/design-resource-recovery-authority-policy.js +123 -0
  31. package/dist/lib/design-resource-recovery-catalog-resources.d.ts +6 -0
  32. package/dist/lib/design-resource-recovery-catalog-resources.js +121 -0
  33. package/dist/lib/design-resource-recovery-catalog-shape.d.ts +3 -0
  34. package/dist/lib/design-resource-recovery-catalog-shape.js +104 -0
  35. package/dist/lib/design-resource-recovery-catalog.d.ts +9 -0
  36. package/dist/lib/design-resource-recovery-catalog.js +103 -0
  37. package/dist/lib/design-resource-recovery-cleanup.d.ts +2 -0
  38. package/dist/lib/design-resource-recovery-cleanup.js +11 -0
  39. package/dist/lib/design-resource-recovery-codec-primitives.d.ts +19 -0
  40. package/dist/lib/design-resource-recovery-codec-primitives.js +92 -0
  41. package/dist/lib/design-resource-recovery-codec.d.ts +4 -0
  42. package/dist/lib/design-resource-recovery-codec.js +93 -0
  43. package/dist/lib/design-resource-recovery-current.d.ts +9 -0
  44. package/dist/lib/design-resource-recovery-current.js +41 -0
  45. package/dist/lib/design-resource-recovery-delta-policy.d.ts +5 -0
  46. package/dist/lib/design-resource-recovery-delta-policy.js +108 -0
  47. package/dist/lib/design-resource-recovery-files.d.ts +37 -0
  48. package/dist/lib/design-resource-recovery-files.js +204 -0
  49. package/dist/lib/design-resource-recovery-final-disposition-shape.d.ts +2 -0
  50. package/dist/lib/design-resource-recovery-final-disposition-shape.js +47 -0
  51. package/dist/lib/design-resource-recovery-patch-types.d.ts +54 -0
  52. package/dist/lib/design-resource-recovery-patch-types.js +1 -0
  53. package/dist/lib/design-resource-recovery-replay.d.ts +7 -0
  54. package/dist/lib/design-resource-recovery-replay.js +112 -0
  55. package/dist/lib/design-resource-recovery-repository-bindings.d.ts +9 -0
  56. package/dist/lib/design-resource-recovery-repository-bindings.js +49 -0
  57. package/dist/lib/design-resource-recovery-schema.d.ts +5 -0
  58. package/dist/lib/design-resource-recovery-schema.js +5 -0
  59. package/dist/lib/design-resource-recovery-shape.d.ts +10 -0
  60. package/dist/lib/design-resource-recovery-shape.js +184 -0
  61. package/dist/lib/design-resource-recovery-source-authority.d.ts +5 -0
  62. package/dist/lib/design-resource-recovery-source-authority.js +219 -0
  63. package/dist/lib/design-resource-recovery-text.d.ts +17 -0
  64. package/dist/lib/design-resource-recovery-text.js +186 -0
  65. package/dist/lib/design-resource-recovery-types.d.ts +197 -0
  66. package/dist/lib/design-resource-recovery-types.js +1 -0
  67. package/dist/lib/design-resource-recovery-writeback-policy.d.ts +5 -0
  68. package/dist/lib/design-resource-recovery-writeback-policy.js +326 -0
  69. package/dist/lib/design-resource-recovery-writeback-shape.d.ts +6 -0
  70. package/dist/lib/design-resource-recovery-writeback-shape.js +155 -0
  71. package/dist/lib/design-resource-recovery.d.ts +44 -0
  72. package/dist/lib/design-resource-recovery.js +216 -0
  73. package/dist/lib/long-task-acceptance-shape.js +8 -2
  74. package/dist/lib/long-task-activation-validation.js +13 -3
  75. package/dist/lib/long-task-admitted-observation-records.d.ts +25 -0
  76. package/dist/lib/long-task-admitted-observation-records.js +40 -0
  77. package/dist/lib/long-task-admitted-observation.d.ts +93 -0
  78. package/dist/lib/long-task-admitted-observation.js +201 -0
  79. package/dist/lib/long-task-artifacts.d.ts +1 -0
  80. package/dist/lib/long-task-artifacts.js +1 -0
  81. package/dist/lib/long-task-authority-material-diff.js +1 -0
  82. package/dist/lib/long-task-authority-policy.d.ts +2 -0
  83. package/dist/lib/long-task-authority-policy.js +2 -0
  84. package/dist/lib/long-task-authority-revision-brief.js +3 -1
  85. package/dist/lib/long-task-authority-revision-details.js +3 -1
  86. package/dist/lib/long-task-authority-revision-summary.js +6 -2
  87. package/dist/lib/long-task-authority-revision-types.d.ts +2 -0
  88. package/dist/lib/long-task-authority.js +2 -1
  89. package/dist/lib/long-task-check-execution-policy.js +5 -0
  90. package/dist/lib/long-task-check-runner.d.ts +2 -2
  91. package/dist/lib/long-task-check-runner.js +440 -23
  92. package/dist/lib/long-task-claims.d.ts +18 -0
  93. package/dist/lib/long-task-claims.js +35 -0
  94. package/dist/lib/long-task-compact-structure-targets.js +1 -0
  95. package/dist/lib/long-task-conformance-policy.js +3 -1
  96. package/dist/lib/long-task-counterfactual-claim-policy.d.ts +3 -4
  97. package/dist/lib/long-task-counterfactual-claim-policy.js +11 -3
  98. package/dist/lib/long-task-counterfactual-sandbox.js +1 -0
  99. package/dist/lib/long-task-counterfactual-types.d.ts +2 -0
  100. package/dist/lib/long-task-delivery-compiler.js +2 -0
  101. package/dist/lib/long-task-design-resource-method-binding.js +8 -2
  102. package/dist/lib/long-task-evidence-capability-policy.d.ts +3 -2
  103. package/dist/lib/long-task-evidence-capability-policy.js +114 -8
  104. package/dist/lib/long-task-evidence-capability-runtime.d.ts +5 -2
  105. package/dist/lib/long-task-evidence-capability-runtime.js +149 -5
  106. package/dist/lib/long-task-evidence-sensitivity-policy.d.ts +9 -0
  107. package/dist/lib/long-task-evidence-sensitivity-policy.js +31 -1
  108. package/dist/lib/long-task-evidence-v2.d.ts +4 -4
  109. package/dist/lib/long-task-evidence-v2.js +321 -43
  110. package/dist/lib/long-task-exact-comparison.d.ts +16 -0
  111. package/dist/lib/long-task-exact-comparison.js +28 -0
  112. package/dist/lib/long-task-execution-observation.d.ts +24 -0
  113. package/dist/lib/long-task-execution-observation.js +332 -0
  114. package/dist/lib/long-task-explain-acceptance-link.d.ts +4 -0
  115. package/dist/lib/long-task-explain-acceptance-link.js +4 -0
  116. package/dist/lib/long-task-explain-claim-links.d.ts +2 -0
  117. package/dist/lib/long-task-explain-claim-links.js +2 -0
  118. package/dist/lib/long-task-explain-source-links.d.ts +6 -0
  119. package/dist/lib/long-task-final-v2.js +7 -4
  120. package/dist/lib/long-task-git.d.ts +26 -0
  121. package/dist/lib/long-task-git.js +130 -0
  122. package/dist/lib/long-task-json-pointer-observation.d.ts +59 -0
  123. package/dist/lib/long-task-json-pointer-observation.js +184 -0
  124. package/dist/lib/long-task-observation-artifact.d.ts +8 -0
  125. package/dist/lib/long-task-observation-artifact.js +58 -0
  126. package/dist/lib/long-task-observation-authority.d.ts +17 -0
  127. package/dist/lib/long-task-observation-authority.js +348 -0
  128. package/dist/lib/long-task-paths.js +2 -2
  129. package/dist/lib/long-task-process-observation.d.ts +6 -0
  130. package/dist/lib/long-task-process-observation.js +117 -0
  131. package/dist/lib/long-task-process-runtime-closure.d.ts +13 -0
  132. package/dist/lib/long-task-process-runtime-closure.js +207 -0
  133. package/dist/lib/long-task-progress.js +2 -0
  134. package/dist/lib/long-task-protected-files.d.ts +1 -1
  135. package/dist/lib/long-task-protected-files.js +1 -30
  136. package/dist/lib/long-task-risk.js +8 -3
  137. package/dist/lib/long-task-root-shape.js +10 -1
  138. package/dist/lib/long-task-runner-environment.d.ts +1 -1
  139. package/dist/lib/long-task-runner-environment.js +4 -4
  140. package/dist/lib/long-task-runner-freeze.d.ts +4 -2
  141. package/dist/lib/long-task-runner-freeze.js +128 -28
  142. package/dist/lib/long-task-runtime-types.d.ts +111 -0
  143. package/dist/lib/long-task-scoped-binding.d.ts +13 -0
  144. package/dist/lib/long-task-scoped-binding.js +11 -0
  145. package/dist/lib/long-task-semantic-contract-types.d.ts +1 -0
  146. package/dist/lib/long-task-semantic-fact-contract-closure.js +3 -3
  147. package/dist/lib/long-task-semantic-fact-evidence.d.ts +3 -3
  148. package/dist/lib/long-task-semantic-fact-evidence.js +75 -58
  149. package/dist/lib/long-task-source-claim-validation.js +4 -1
  150. package/dist/lib/long-task-source-target-continuity.d.ts +2 -2
  151. package/dist/lib/long-task-source-target-continuity.js +35 -2
  152. package/dist/lib/long-task-source-target-index.d.ts +3 -0
  153. package/dist/lib/long-task-source-target-index.js +19 -0
  154. package/dist/lib/long-task-stage-policy.js +10 -4
  155. package/dist/lib/long-task-static-observation-freeze.d.ts +83 -0
  156. package/dist/lib/long-task-static-observation-freeze.js +428 -0
  157. package/dist/lib/long-task-status-projection.js +5 -1
  158. package/dist/lib/long-task-target-policy.d.ts +1 -1
  159. package/dist/lib/long-task-target-policy.js +3 -0
  160. package/dist/lib/long-task-verifier-authority.js +2 -0
  161. package/dist/lib/long-task-verifier-dependency-closure.js +7 -3
  162. package/dist/lib/long-task-verifier-v2.js +70 -9
  163. package/dist/lib/long-task-workspace-manifest.d.ts +8 -0
  164. package/dist/lib/long-task-workspace-manifest.js +173 -0
  165. package/dist/lib/long-task-workspace-snapshot.d.ts +8 -0
  166. package/dist/lib/long-task-workspace-snapshot.js +176 -0
  167. package/dist/lib/long-task-workspace.d.ts +5 -26
  168. package/dist/lib/long-task-workspace.js +4 -444
  169. package/dist/lib/repository-path-safety.d.ts +14 -0
  170. package/dist/lib/repository-path-safety.js +126 -0
  171. package/dist/long-task-hook.js +12 -3
  172. package/dist/schemas/long-task-delivery-v2/long-task-delivery-v2.schema.json +53 -8
  173. package/migrations/README.md +77 -0
  174. package/package.json +1 -1
@@ -169,15 +169,39 @@
169
169
  ],
170
170
  "properties": {
171
171
  "claims": { "type": "integer", "minimum": 0, "maximum": 1000000 },
172
- "claim_projections": { "type": "integer", "minimum": 0, "maximum": 2000000 },
173
- "selector_members": { "type": "integer", "minimum": 0, "maximum": 5000000 },
174
- "structure_families": { "type": "integer", "minimum": 0, "maximum": 1000000 },
175
- "structure_references": { "type": "integer", "minimum": 0, "maximum": 10000000 },
176
- "structure_arguments": { "type": "integer", "minimum": 0, "maximum": 50000000 },
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
+ },
177
197
  "facts": { "type": "integer", "minimum": 0, "maximum": 1000000 },
178
198
  "obligations": { "type": "integer", "minimum": 0, "maximum": 2000000 },
179
199
  "assertions": { "type": "integer", "minimum": 0, "maximum": 5000000 },
180
- "canonical_bytes": { "type": "integer", "minimum": 0, "maximum": 268435456 }
200
+ "canonical_bytes": {
201
+ "type": "integer",
202
+ "minimum": 0,
203
+ "maximum": 268435456
204
+ }
181
205
  }
182
206
  },
183
207
  "longTaskCompactCarrier": {
@@ -229,9 +253,18 @@
229
253
  "items": {
230
254
  "type": "object",
231
255
  "additionalProperties": false,
232
- "required": ["key", "digest", "boundary", "parameter_count", "template"],
256
+ "required": [
257
+ "key",
258
+ "digest",
259
+ "boundary",
260
+ "parameter_count",
261
+ "template"
262
+ ],
233
263
  "properties": {
234
- "key": { "type": "string", "pattern": "^structure\\.[a-f0-9]{24}$" },
264
+ "key": {
265
+ "type": "string",
266
+ "pattern": "^structure\\.[a-f0-9]{24}$"
267
+ },
235
268
  "digest": { "$ref": "#/$defs/sha256" },
236
269
  "boundary": { "$ref": "#/$defs/semanticRef" },
237
270
  "parameter_count": { "type": "integer", "minimum": 0 },
@@ -464,6 +497,10 @@
464
497
  ]
465
498
  },
466
499
  "root_entrypoint": { "$ref": "#/$defs/nonEmpty" },
500
+ "root_argv": {
501
+ "type": "array",
502
+ "items": { "type": "string", "pattern": "^[^\\u0000]*$" }
503
+ },
467
504
  "capabilities": {
468
505
  "type": "array",
469
506
  "minItems": 1,
@@ -2011,6 +2048,10 @@
2011
2048
  "check_key": { "$ref": "#/$defs/key" },
2012
2049
  "expected_assertion_failures": { "$ref": "#/$defs/keys" },
2013
2050
  "preserved_assertions": { "$ref": "#/$defs/keys", "default": [] },
2051
+ "allowed_fanout_assertions": {
2052
+ "$ref": "#/$defs/keys",
2053
+ "default": []
2054
+ },
2014
2055
  "mutation": {
2015
2056
  "oneOf": [
2016
2057
  {
@@ -2091,6 +2132,10 @@
2091
2132
  "uniqueItems": true
2092
2133
  },
2093
2134
  "preserved_assertions": { "$ref": "#/$defs/keys", "default": [] },
2135
+ "allowed_fanout_assertions": {
2136
+ "$ref": "#/$defs/keys",
2137
+ "default": []
2138
+ },
2094
2139
  "mutation": {
2095
2140
  "oneOf": [
2096
2141
  {
@@ -13,3 +13,80 @@ V2 file predates explicit Stage, target-profile/root-runtime, journey-scenario,
13
13
  success/degradation, evidence-capability or external-impact authority. Those
14
14
  meanings must be re-authored from Source; migration never infers them from old
15
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-tiny-context-harness",
3
- "version": "0.8.12",
3
+ "version": "0.8.16",
4
4
  "description": "Minimal project memory and validation harness for AI coding agents.",
5
5
  "license": "MIT",
6
6
  "author": "Seven128",