@hyperscale0/hsx 1.0.0-rc.1 → 1.0.123

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 (311) hide show
  1. package/CHANGELOG.md +5 -239
  2. package/LICENSE.md +356 -0
  3. package/NOTICE.md +8 -0
  4. package/README.md +45 -43
  5. package/bin/hsx.ts +0 -5
  6. package/dist/bin/hsx.d.ts +0 -4
  7. package/dist/bin/hsx.d.ts.map +1 -1
  8. package/dist/bin/hsx.js +0 -4
  9. package/dist/bin/hsx.js.map +1 -1
  10. package/dist/src/ast.d.ts +113 -302
  11. package/dist/src/ast.d.ts.map +1 -1
  12. package/dist/src/ast.js +7 -47
  13. package/dist/src/ast.js.map +1 -1
  14. package/dist/src/attachment-economics.d.ts +5 -0
  15. package/dist/src/attachment-economics.d.ts.map +1 -0
  16. package/dist/src/attachment-economics.js +55 -0
  17. package/dist/src/attachment-economics.js.map +1 -0
  18. package/dist/src/binding-contract.d.ts +22 -0
  19. package/dist/src/binding-contract.d.ts.map +1 -0
  20. package/dist/src/binding-contract.js +74 -0
  21. package/dist/src/binding-contract.js.map +1 -0
  22. package/dist/src/cli.d.ts +4 -17
  23. package/dist/src/cli.d.ts.map +1 -1
  24. package/dist/src/cli.js +92 -259
  25. package/dist/src/cli.js.map +1 -1
  26. package/dist/src/compile.d.ts +34 -68
  27. package/dist/src/compile.d.ts.map +1 -1
  28. package/dist/src/compile.js +2949 -118
  29. package/dist/src/compile.js.map +1 -1
  30. package/dist/src/cost.d.ts +8 -75
  31. package/dist/src/cost.d.ts.map +1 -1
  32. package/dist/src/cost.js +54 -364
  33. package/dist/src/cost.js.map +1 -1
  34. package/dist/src/diagnostics.d.ts +14 -9
  35. package/dist/src/diagnostics.d.ts.map +1 -1
  36. package/dist/src/diagnostics.js +39 -416
  37. package/dist/src/diagnostics.js.map +1 -1
  38. package/dist/src/examples-bundle.d.ts +3 -0
  39. package/dist/src/examples-bundle.d.ts.map +1 -0
  40. package/dist/src/examples-bundle.js +18 -0
  41. package/dist/src/examples-bundle.js.map +1 -0
  42. package/dist/src/examples.d.ts +10 -0
  43. package/dist/src/examples.d.ts.map +1 -0
  44. package/dist/src/examples.js +2 -0
  45. package/dist/src/examples.js.map +1 -0
  46. package/dist/src/format.d.ts +8 -7
  47. package/dist/src/format.d.ts.map +1 -1
  48. package/dist/src/format.js +9 -175
  49. package/dist/src/format.js.map +1 -1
  50. package/dist/src/header-source.d.ts +3 -0
  51. package/dist/src/header-source.d.ts.map +1 -0
  52. package/dist/src/header-source.js +41 -0
  53. package/dist/src/header-source.js.map +1 -0
  54. package/dist/src/headers.d.ts +64 -0
  55. package/dist/src/headers.d.ts.map +1 -0
  56. package/dist/src/headers.js +167 -0
  57. package/dist/src/headers.js.map +1 -0
  58. package/dist/src/index.d.ts +8 -11
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/index.js +5 -8
  61. package/dist/src/index.js.map +1 -1
  62. package/dist/src/keywords.d.ts +56 -0
  63. package/dist/src/keywords.d.ts.map +1 -0
  64. package/dist/src/keywords.js +133 -0
  65. package/dist/src/keywords.js.map +1 -0
  66. package/dist/src/language.d.ts +26 -0
  67. package/dist/src/language.d.ts.map +1 -0
  68. package/dist/src/language.js +440 -0
  69. package/dist/src/language.js.map +1 -0
  70. package/dist/src/lex.d.ts +13 -28
  71. package/dist/src/lex.d.ts.map +1 -1
  72. package/dist/src/lex.js +119 -145
  73. package/dist/src/lex.js.map +1 -1
  74. package/dist/src/parse.d.ts +4 -17
  75. package/dist/src/parse.d.ts.map +1 -1
  76. package/dist/src/parse.js +484 -1036
  77. package/dist/src/parse.js.map +1 -1
  78. package/dist/src/std-bundle.d.ts +2 -0
  79. package/dist/src/std-bundle.d.ts.map +1 -0
  80. package/dist/src/std-bundle.js +15 -0
  81. package/dist/src/std-bundle.js.map +1 -0
  82. package/dist/src/std-library.d.ts +5 -0
  83. package/dist/src/std-library.d.ts.map +1 -0
  84. package/dist/src/std-library.js +5 -0
  85. package/dist/src/std-library.js.map +1 -0
  86. package/dist/src/tunables.d.ts +7 -0
  87. package/dist/src/tunables.d.ts.map +1 -0
  88. package/dist/src/tunables.js +27 -0
  89. package/dist/src/tunables.js.map +1 -0
  90. package/docs/README.md +528 -23
  91. package/docs/assets/brand/hsx-horizontal-white.svg +1 -0
  92. package/docs/assets/brand/hsx-horizontal.svg +1 -0
  93. package/docs/assets/brand/hsx-stacked-white.svg +1 -0
  94. package/docs/assets/brand/hsx-stacked.svg +1 -0
  95. package/docs/assets/brand/manifest.json +30 -0
  96. package/docs/assets/hsx.svg +11 -0
  97. package/examples/cards.hsx +34 -0
  98. package/examples/collections.hsx +37 -0
  99. package/examples/cost-table.json +633 -385
  100. package/examples/escrow.hsx +24 -0
  101. package/examples/financing.hsx +32 -0
  102. package/examples/insurance.hsx +30 -0
  103. package/examples/lending.hsx +57 -0
  104. package/examples/library.hsx +15 -0
  105. package/examples/marketplace.hsx +32 -0
  106. package/examples/money.hsx +19 -0
  107. package/examples/rental-deposit.hsx +60 -0
  108. package/examples/repair-approval.hsx +44 -0
  109. package/examples/reporting.hsx +28 -0
  110. package/examples/savings.hsx +21 -0
  111. package/examples/serviced.hsx +25 -0
  112. package/examples/wallet.hsx +24 -0
  113. package/package.json +27 -17
  114. package/src/ast.ts +84 -411
  115. package/src/attachment-economics.ts +103 -0
  116. package/src/binding-contract.ts +104 -0
  117. package/src/cli.ts +98 -309
  118. package/src/compile.ts +4063 -212
  119. package/src/cost.ts +71 -574
  120. package/src/diagnostics.ts +57 -437
  121. package/src/examples-bundle.ts +19 -0
  122. package/src/examples.ts +9 -0
  123. package/src/format.ts +12 -256
  124. package/src/header-source.ts +54 -0
  125. package/src/headers.ts +195 -0
  126. package/src/index.ts +16 -29
  127. package/src/keywords.ts +134 -0
  128. package/src/language.ts +629 -0
  129. package/src/lex.ts +131 -192
  130. package/src/parse.ts +489 -1195
  131. package/src/std-bundle.ts +15 -0
  132. package/src/std-library.ts +7 -0
  133. package/src/tunables.ts +36 -0
  134. package/std/cards.hsx +85 -0
  135. package/std/collections.hsx +90 -0
  136. package/std/escrow.hsx +73 -0
  137. package/std/financing.hsx +683 -0
  138. package/std/insurance.hsx +89 -0
  139. package/std/lending.hsx +138 -0
  140. package/std/marketplace.hsx +123 -0
  141. package/std/money.hsx +173 -0
  142. package/std/reporting.hsx +753 -0
  143. package/std/savings.hsx +68 -0
  144. package/std/wallet.hsx +57 -0
  145. package/LICENSE +0 -661
  146. package/LICENSING.md +0 -52
  147. package/TRADEMARKS.md +0 -35
  148. package/dist/src/emit.d.ts +0 -35
  149. package/dist/src/emit.d.ts.map +0 -1
  150. package/dist/src/emit.js +0 -359
  151. package/dist/src/emit.js.map +0 -1
  152. package/dist/src/entry-overrides.d.ts +0 -58
  153. package/dist/src/entry-overrides.d.ts.map +0 -1
  154. package/dist/src/entry-overrides.js +0 -284
  155. package/dist/src/entry-overrides.js.map +0 -1
  156. package/dist/src/ir.d.ts +0 -66
  157. package/dist/src/ir.d.ts.map +0 -1
  158. package/dist/src/ir.js +0 -15
  159. package/dist/src/ir.js.map +0 -1
  160. package/dist/src/limits.d.ts +0 -21
  161. package/dist/src/limits.d.ts.map +0 -1
  162. package/dist/src/limits.js +0 -21
  163. package/dist/src/limits.js.map +0 -1
  164. package/dist/src/modules.d.ts +0 -36
  165. package/dist/src/modules.d.ts.map +0 -1
  166. package/dist/src/modules.js +0 -372
  167. package/dist/src/modules.js.map +0 -1
  168. package/dist/src/typecheck.d.ts +0 -8
  169. package/dist/src/typecheck.d.ts.map +0 -1
  170. package/dist/src/typecheck.js +0 -2958
  171. package/dist/src/typecheck.js.map +0 -1
  172. package/dist/src/version.d.ts +0 -5
  173. package/dist/src/version.d.ts.map +0 -1
  174. package/dist/src/version.js +0 -5
  175. package/dist/src/version.js.map +0 -1
  176. package/docs/guide/01-first-program.md +0 -24
  177. package/docs/guide/02-money.md +0 -25
  178. package/docs/guide/03-instruments.md +0 -22
  179. package/docs/guide/04-lifecycles.md +0 -25
  180. package/docs/guide/05-fees-and-splits.md +0 -45
  181. package/docs/guide/06-schedules.md +0 -22
  182. package/docs/guide/07-composition.md +0 -46
  183. package/docs/guide/08-writing-a-module.md +0 -26
  184. package/docs/guide/09-cost.md +0 -24
  185. package/docs/guide/10-diagnostics.md +0 -27
  186. package/docs/llms-full.txt +0 -1738
  187. package/docs/llms.txt +0 -45
  188. package/docs/reference/cli.md +0 -33
  189. package/docs/reference/diagnostics.md +0 -619
  190. package/docs/reference/grammar.md +0 -39
  191. package/docs/reference/std/advance.md +0 -35
  192. package/docs/reference/std/cancellable_booking.md +0 -35
  193. package/docs/reference/std/captured_payment.md +0 -43
  194. package/docs/reference/std/conditional_disbursement.md +0 -33
  195. package/docs/reference/std/credit_facility.md +0 -35
  196. package/docs/reference/std/held_payment.md +0 -64
  197. package/docs/reference/std/instant_transfer.md +0 -30
  198. package/docs/reference/std/metered.md +0 -27
  199. package/docs/reference/std/pooled_split.md +0 -26
  200. package/docs/reference/std/premium_forward.md +0 -39
  201. package/docs/reference/std/reconciled_payout.md +0 -33
  202. package/docs/reference/std/recurring_collection.md +0 -25
  203. package/docs/reference/std/rotating_pool.md +0 -42
  204. package/docs/reference/std/scheduled.md +0 -51
  205. package/docs/reference/std/security_deposit.md +0 -46
  206. package/docs/reference/std/settlement_batch.md +0 -42
  207. package/docs/reference/std/swap.md +0 -46
  208. package/docs/reference/std/threshold_pool.md +0 -47
  209. package/docs/reference/std/weighted_distribution.md +0 -39
  210. package/docs/reference/types.md +0 -20
  211. package/docs/reference/udl-output.md +0 -14
  212. package/docs/sessions/2026-09-02-two-instruments.hsx +0 -21
  213. package/docs/sessions/2026-09-02-two-instruments.md +0 -41
  214. package/examples/01-first-program/README.md +0 -45
  215. package/examples/01-first-program/tip-jar.hsx +0 -17
  216. package/examples/02-imports-and-archetypes/README.md +0 -99
  217. package/examples/02-imports-and-archetypes/photo-booth.hsx +0 -37
  218. package/examples/03-diagnostics/README.md +0 -68
  219. package/examples/03-diagnostics/corner-shop-fixed.hsx +0 -22
  220. package/examples/03-diagnostics/corner-shop.hsx +0 -19
  221. package/examples/04-complete-product/README.md +0 -87
  222. package/examples/04-complete-product/study-hall.hsx +0 -67
  223. package/examples/05-watch-club/README.md +0 -9
  224. package/examples/05-watch-club/watch-club.hsx +0 -124
  225. package/examples/README.md +0 -18
  226. package/examples/advance/README.md +0 -3
  227. package/examples/advance/advance.hsx +0 -13
  228. package/examples/advance/advance.udl +0 -339
  229. package/examples/cancellable_booking/README.md +0 -3
  230. package/examples/cancellable_booking/cancellable_booking.hsx +0 -14
  231. package/examples/cancellable_booking/cancellable_booking.udl +0 -391
  232. package/examples/captured_payment/README.md +0 -3
  233. package/examples/captured_payment/captured_payment.hsx +0 -21
  234. package/examples/captured_payment/captured_payment.udl +0 -677
  235. package/examples/conditional_disbursement/README.md +0 -3
  236. package/examples/conditional_disbursement/conditional_disbursement.hsx +0 -17
  237. package/examples/conditional_disbursement/conditional_disbursement.udl +0 -412
  238. package/examples/credit_facility/README.md +0 -3
  239. package/examples/credit_facility/credit_facility.hsx +0 -27
  240. package/examples/credit_facility/credit_facility.udl +0 -1373
  241. package/examples/held_payment/README.md +0 -3
  242. package/examples/held_payment/held_payment.hsx +0 -13
  243. package/examples/held_payment/held_payment.udl +0 -507
  244. package/examples/instant_transfer/README.md +0 -3
  245. package/examples/instant_transfer/instant_transfer.hsx +0 -16
  246. package/examples/instant_transfer/instant_transfer.udl +0 -364
  247. package/examples/metered/README.md +0 -3
  248. package/examples/metered/metered.hsx +0 -13
  249. package/examples/metered/metered.udl +0 -247
  250. package/examples/pooled_split/README.md +0 -3
  251. package/examples/pooled_split/pooled_split.hsx +0 -15
  252. package/examples/pooled_split/pooled_split.udl +0 -425
  253. package/examples/premium_forward/README.md +0 -3
  254. package/examples/premium_forward/premium_forward.hsx +0 -19
  255. package/examples/premium_forward/premium_forward.udl +0 -594
  256. package/examples/reconciled_payout/README.md +0 -3
  257. package/examples/reconciled_payout/reconciled_payout.hsx +0 -13
  258. package/examples/reconciled_payout/reconciled_payout.udl +0 -303
  259. package/examples/recurring_collection/README.md +0 -3
  260. package/examples/recurring_collection/recurring_collection.hsx +0 -21
  261. package/examples/recurring_collection/recurring_collection.udl +0 -1130
  262. package/examples/rotating_pool/README.md +0 -3
  263. package/examples/rotating_pool/rotating_pool.hsx +0 -18
  264. package/examples/rotating_pool/rotating_pool.udl +0 -4352
  265. package/examples/scheduled/README.md +0 -3
  266. package/examples/scheduled/scheduled.hsx +0 -12
  267. package/examples/scheduled/scheduled.udl +0 -335
  268. package/examples/security_deposit/README.md +0 -3
  269. package/examples/security_deposit/security_deposit.hsx +0 -21
  270. package/examples/security_deposit/security_deposit.udl +0 -293
  271. package/examples/settlement_batch/README.md +0 -3
  272. package/examples/settlement_batch/settlement_batch.hsx +0 -19
  273. package/examples/settlement_batch/settlement_batch.udl +0 -753
  274. package/examples/swap/README.md +0 -3
  275. package/examples/swap/swap.hsx +0 -19
  276. package/examples/swap/swap.udl +0 -876
  277. package/examples/threshold_pool/README.md +0 -3
  278. package/examples/threshold_pool/threshold_pool.hsx +0 -16
  279. package/examples/threshold_pool/threshold_pool.udl +0 -667
  280. package/examples/weighted_distribution/README.md +0 -3
  281. package/examples/weighted_distribution/weighted_distribution.hsx +0 -20
  282. package/examples/weighted_distribution/weighted_distribution.udl +0 -337
  283. package/skills/hsx/SKILL.md +0 -483
  284. package/src/emit.ts +0 -447
  285. package/src/entry-overrides.ts +0 -428
  286. package/src/ir.ts +0 -99
  287. package/src/limits.ts +0 -20
  288. package/src/modules.ts +0 -444
  289. package/src/typecheck.ts +0 -3876
  290. package/src/version.ts +0 -5
  291. package/std/SEMANTICS.md +0 -130
  292. package/std/settlements/advance.hsx +0 -177
  293. package/std/settlements/cancellable_booking.hsx +0 -87
  294. package/std/settlements/captured_payment.hsx +0 -144
  295. package/std/settlements/conditional_disbursement.hsx +0 -185
  296. package/std/settlements/credit_facility.hsx +0 -167
  297. package/std/settlements/held_payment.hsx +0 -578
  298. package/std/settlements/index.hsx +0 -3
  299. package/std/settlements/instant_transfer.hsx +0 -190
  300. package/std/settlements/metered.hsx +0 -67
  301. package/std/settlements/pooled_split.hsx +0 -68
  302. package/std/settlements/premium_forward.hsx +0 -257
  303. package/std/settlements/reconciled_payout.hsx +0 -77
  304. package/std/settlements/recurring_collection.hsx +0 -27
  305. package/std/settlements/rotating_pool.hsx +0 -252
  306. package/std/settlements/scheduled.hsx +0 -641
  307. package/std/settlements/security_deposit.hsx +0 -166
  308. package/std/settlements/settlement_batch.hsx +0 -122
  309. package/std/settlements/swap.hsx +0 -1114
  310. package/std/settlements/threshold_pool.hsx +0 -221
  311. package/std/settlements/weighted_distribution.hsx +0 -141
package/CHANGELOG.md CHANGED
@@ -1,242 +1,8 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this package are documented here. The format follows
4
- [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this package
5
- follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
3
+ ## 1.0.123
6
4
 
7
- The IR format version (`"hsx": 1`, stamped into every compiled document) moves
8
- independently of the package version. While the package is below 1.0.0, an
9
- alpha release may change what IR version 1 contains; every such change is
10
- listed here.
11
-
12
- ## [Unreleased]
13
-
14
- ## [1.0.0-rc.1] - 2026-09-02
15
-
16
- ### Added
17
-
18
- - Added the repository guide, generated compiler reference, `llms.txt`, and
19
- `llms-full.txt`. Tests compile every guide program and compare generated
20
- files byte for byte.
21
- - Added one compiled example and pinned canonical UDL file for every standard
22
- library module.
23
- - Added the public HSX agent skill and moved language examples into it.
24
- - Added `hsx explain` for the stable diagnostics catalog.
25
- - Added a generated VS Code grammar, standard-library snippets, and a CI-built
26
- `hsx.vsix` artifact.
27
-
28
- ### Changed
29
-
30
- - `hsx cost` now prints a versioned effect table by default. `--json` prints the
31
- complete manifest, and `--out <file.json>` writes that JSON. Basis-point rows
32
- label their total as amount-dependent because the compiler has no priced
33
- runtime amount. No cost flags were removed.
34
- - The npm package now includes `docs/` and `skills/`. It no longer lists the
35
- deleted `spec/` directory.
36
- - The package exports its shipped standard-library files through `./std/*`.
37
-
38
- ### Fixed
39
-
40
- - Diagnostics raised from an imported module now name that module and its own
41
- source coordinates.
42
- - `premium_forward` now reports `HSX1011` when endorsement selects a path that
43
- needs `renewal_due`. It no longer reaches an internal lowering refusal.
44
-
45
- ## [1.0.0-beta.1] - 2026-08-29
46
-
47
- - This is the first beta and has no package behavior changes from
48
- 1.0.0-alpha.6.
49
-
50
- ## [1.0.0-alpha.6] - 2026-08-29
51
-
52
- ### Fixed
53
-
54
- - Alpha.6 carries a `held_payment` or `premium_forward` release port's actor
55
- allowlist and declared input fields into the generated release action. Alpha.5
56
- kept those constraints in the checked program and Business Frame but dropped
57
- them from HSX-JSON IR, so a runtime consuming the IR could admit the release
58
- without the declared actor or evidence. Recompile affected programs with
59
- alpha.6.
60
-
61
- ## [1.0.0-alpha.5] - 2026-08-29
62
-
63
- ### Added
64
-
65
- - Six settlement archetypes now compile and lower. `threshold_pool` caps locked
66
- commitments and contributor count, then collects or refunds each commitment
67
- whole. `weighted_distribution` freezes evidence-backed weights and pays by
68
- deterministic largest remainder. `credit_facility` owns draw capacity while
69
- a referenced `scheduled` obligation owns repayment. `recurring_collection`
70
- adds mandate evidence and explicit attempts to that obligation.
71
- `conditional_disbursement` stores one evidence-approved amount under a cap.
72
- `rotating_pool` fixes its roster, contribution, due anchors, and payout order
73
- before activation. Import the required archetype from `"settlement"` and
74
- supply every policy entry that its reference table marks as required.
75
- - Any settlement may declare one `derived_amount` block. The runtime computes
76
- `floor(source * bps / 10000)` from a stored money field and callers omit the
77
- target field. Version 1 accepts percentage rules from 1 through 9,999 basis
78
- points. The checker refuses fixed rules, tiered rules, missing source fields,
79
- non-money source fields, and target fields that already exist.
80
- - `captured_payment` reserves a payer amount for strict partial captures before
81
- a stored deadline. The payee may settle the remainder, void before capture,
82
- or use separate full-only correction and externally decided reversal ports.
83
- Declare the required capture, correction, negative-position, and timeout
84
- policies explicitly. Compose another settlement when capture fees are
85
- needed, because this archetype refuses `fees`.
86
- - `settlement_batch` freezes capture lineage and signed adjustments at a stored
87
- close date, persists gross, credit, debit, and net subtotals, and instructs
88
- one payout from the frozen net. Supply lineage field names, the payout
89
- destination and beneficiary reference, and an acknowledgement port. Apply a
90
- correction to a later open batch instead of changing a closed batch.
91
- - `overrideProgramEntries()`, `Program`, and the typed override and issue shapes
92
- are public package exports. The function replaces existing integer or
93
- basis-point literals in a parsed `Program`, then callers run the checker and
94
- lowerer again. Every
95
- override declares inclusive integer bounds. Negative, fractional, `NaN`,
96
- infinite, out-of-range, missing, ambiguous, and non-literal targets return
97
- coded issues, and one bad override prevents every replacement from being
98
- returned.
99
- - `premium_forward` accepts an optional stored policy reference, one non-money
100
- endorsement port, a renewal due condition, and explicit-new-forward renewal.
101
- Supply `policy_ref`, `renewal_due`, `renewal_policy`, `endorsement`,
102
- `endorsement_policy`, and `lapse_policy` together when the forward needs
103
- endorsement, lapse, or renewal behavior. The original forwarding shape
104
- remains valid.
105
-
106
- ### Changed
107
-
108
- - `scheduled` accepts `mode: obligation` for installment obligations. It emits
109
- one payment instrument per anchor, binds each payment to its obligation and anchor,
110
- allows partial and early payments, and refunds one stored paid row whole.
111
- Obligation mode accepts 2 through 7 anchors and refuses rescheduling. Use the
112
- original transfer schedule without `mode`, or declare the debtor and every
113
- obligation policy explicitly.
114
- - The program money-event budget is 20 instead of 14, and every settlement has
115
- its own event cap. Advance carves now validate their amount field, currency,
116
- recourse, and fee rules. Settlement references resolve through
117
- archetype-declared exits, and lowering binds referenced instrument identity,
118
- statuses, amounts, and currency before movement. Recompile programs that
119
- previously sat near the budget or used an advance carve. The stricter checker
120
- may refuse a carve or reference that alpha.4 accepted.
121
- - HSX-JSON IR version 1 grew new instrument fields for generated-child prefixes,
122
- aggregate invariants, derived amounts, typed references, beneficiary IDs,
123
- currency, text, counts, and constants. Actions gained public actions, reference
124
- bindings, captured input, payout instructions, signed sums, deterministic
125
- distribution, aggregate and exposure checks, and durable-settlement gates.
126
- Money events gained fixed, remaining-balance, and runtime-bounded amount
127
- modes with dependency lists. Consumers that validate or interpret IR version
128
- 1 must adopt alpha.5's schema before accepting alpha.5 output.
129
- - `settlement_batch` now requires `payout_beneficiary_ref`. Instruct emits a
130
- payout intent and captures `payoutId` instead of emitting an internal
131
- transfer. A system-only reconcile transition records `settlementEvidenceId`
132
- after durable evidence matches that payout. The tenant acknowledgement port
133
- remains a separate claim.
134
-
135
- ## [1.0.0-alpha.4] - 2026-08-26
136
-
137
- ### Removed
138
-
139
- - Eleven names left the package entry point: the AST types `BlockExpr`,
140
- `CallExpr`, `ListExpr`, `PercentExpr`, `PortDecl`, `PortRefExpr`, and
141
- `SettlementDecl`, plus `lineColAt`, `CompileResult`, `HSX_IR_VERSION`, and
142
- `HSX_VERSION`. Nothing outside this package imported any of them, and the
143
- seven AST types were seven of the twenty-two the tree defines, chosen by no
144
- rule anyone could restate. What the entry point exports now is what callers
145
- use: `compile`, `checkProgram`, `lowerProgram`, `parseProgram`, and
146
- `MONEY_EVENT_BUDGET`. Every removed name still exists in its own module for
147
- the compiler's own use. Read the IR format version off the compiled
148
- document's `hsx` field, which is what `spec/hsx-ir.schema.json` pins and what
149
- a consumer of the JSON artifact already holds.
150
-
151
- ## [1.0.0-alpha.3] - 2026-08-25
152
-
153
- ### Fixed
154
-
155
- - `compile()` no longer throws on a deeply nested source. Lists, blocks, calls,
156
- and bindings are parsed by recursion and nothing bounded it, so a file
157
- nesting past roughly 9,000 levels exhausted the call stack and a `RangeError`
158
- escaped `compile()`, which SECURITY.md says never happens. Parsing stops at
159
- the depth budget now and reports an ordinary parse diagnostic. The deepest
160
- program in the corpus nests 5 levels.
161
- - Diagnostic coordinates cost O(n + d log n) instead of O(n·d). `compile()`
162
- resolved every diagnostic by rescanning the source from offset zero. On the
163
- largest file this release will read, 262,144 bytes carrying one diagnostic
164
- per two bytes, that was 10,304 ms of line and column arithmetic for 131,072
165
- diagnostics while the parse itself took 18 ms. It scans once and
166
- binary-searches now: same coordinates, 2.6 ms.
167
-
168
- ### Added
169
-
170
- - Two source limits, both checked before the program is read. A file over
171
- 262,144 UTF-8 bytes, the same ceiling UDL uses, is refused before the lexer
172
- runs. Nesting is refused past a parser depth budget of 64.
173
-
174
- The depth budget counts nested expressions and blocks, which is not the same
175
- number as source levels: `key { … }` spends one per level and `key: { … }`
176
- spends two, so the budget buys 63 levels of the first and 31 of the second.
177
- The release reference carried the conversion for every shape. Both refusals are
178
- ordinary parse diagnostics, not exceptions.
179
-
180
- ## [1.0.0-alpha.2] - 2026-08-23
181
-
182
- ### Fixed
183
-
184
- - `bin` points at the built JavaScript; alpha.1's registry metadata pointed at
185
- TypeScript source. npm builds the packument from package.json as it sits on
186
- disk after `postpack`, so the pack-time rewrite never reached `bin`, and
187
- every install linked `.bin/hsx` to `bin/hsx.ts`, which Node refuses to
188
- execute.
189
-
190
- ### Changed
191
-
192
- - Licensed AGPL-3.0-only with a commercial license from Hyperscale LLC;
193
- copyright holder Hyperscale LLC; repository renamed to
194
- `hyperscale0/hyperscale-hsx`.
195
-
196
- ## [1.0.0-alpha.1] - 2026-08-22
197
-
198
- First public release.
199
- This is the first version published as a package anyone can install.
200
-
201
- ### Added
202
-
203
- - `compile(source)`, the three-verdict driver: `valid`, `warning`, and
204
- `invalid`, with diagnostics carrying 1-indexed line and column, a severity,
205
- and the stage that raised them.
206
- - The stage entry points `parseProgram`, `checkProgram`, and `lowerProgram`,
207
- for tools that need one stage rather than the whole compile.
208
- - `HSX_IR_VERSION`, exported and stamped into every compiled document as its
209
- `hsx` field, so a consumer can decide from one integer whether it
210
- understands the document. `HSX_VERSION` carries the package version.
211
- - The `hsx` command: `hsx check <file> [--strict]` and
212
- `hsx build <file> [--out <file>] [--strict]`. Exit codes are `0` compiled,
213
- `1` refused, `2` unusable command line or input.
214
- - `spec/hsx-ir.schema.json`, JSON Schema 2020-12 for the HSX-JSON IR document
215
- and the Business Frame. Every `.hsx` file in the repository is validated
216
- against it in CI.
217
- - The release reference: the lexical grammar, the EBNF the parser accepts, what
218
- each stage does, the diagnostic model, and all nine `settlement` archetypes
219
- with their parameters and constraints.
220
- - `examples/`, four teaching programs compiled by the test suite.
221
- - `editors/vscode/`, a TextMate grammar for syntax highlighting.
222
-
223
- ### Known limitations
224
-
225
- - **Diagnostics have no stable codes.** Match on `severity` and `stage`, which
226
- are stable; do not pattern-match on message text. Codes would be additive
227
- and are the obvious next step.
228
- - **There is no formatter.** `hsx fmt` does not exist rather than existing
229
- badly.
230
- - **One program carries at most 14 money events** (`MONEY_EVENT_BUDGET`). A
231
- program that needs more is refused with a diagnostic saying so.
232
- - **`party` takes no attribute block yet**, though the grammar parses one.
233
-
234
- [Unreleased]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-rc.1...HEAD
235
- [1.0.0-rc.1]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-beta.1...v1.0.0-rc.1
236
- [1.0.0-beta.1]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.6...v1.0.0-beta.1
237
- [1.0.0-alpha.6]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.5...v1.0.0-alpha.6
238
- [1.0.0-alpha.5]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.4...v1.0.0-alpha.5
239
- [1.0.0-alpha.4]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.3...v1.0.0-alpha.4
240
- [1.0.0-alpha.3]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.2...v1.0.0-alpha.3
241
- [1.0.0-alpha.2]: https://github.com/hyperscale0/hyperscale-hsx/compare/v1.0.0-alpha.1...v1.0.0-alpha.2
242
- [1.0.0-alpha.1]: https://github.com/hyperscale0/hyperscale-hsx/releases/tag/v1.0.0-alpha.1
5
+ First unified release. Every public Hyperscale package now ships under one
6
+ version that follows the platform release number, so release 123 is 1.0.123.
7
+ The compiled contract format is UDL 1 and the HSX header-manifest edition is
8
+ HSX 1.
package/LICENSE.md ADDED
@@ -0,0 +1,356 @@
1
+ # Hyperscale Intellectual Property and Copyright License
2
+
3
+ Version 1.0, effective 18 September 2026. This text is under review by
4
+ Hyperscale LLC's counsel. Until a revised version replaces it, it states the
5
+ terms on which Hyperscale makes the Software available.
6
+
7
+ SPDX identifier: `LicenseRef-Hyperscale-IPCL-1.0`
8
+
9
+ Copyright (c) 2026 Hyperscale LLC. All rights reserved.
10
+
11
+ This is not an open source license. The Software is proprietary. Hyperscale
12
+ publishes some of it so that you can read it, learn it, build on the Hyperscale
13
+ platform with it, and verify what Hyperscale runs. Publishing is not a gift of
14
+ rights. Every right not written in this License stays with Hyperscale.
15
+
16
+ ---
17
+
18
+ ## 1. Acceptance
19
+
20
+ By accessing, viewing, downloading, cloning, installing, copying, compiling,
21
+ running, or otherwise using any part of the Software, you accept this License.
22
+ If you do not accept it, do none of those things. If you act for an
23
+ organisation, you confirm you have authority to bind it, and "you" means that
24
+ organisation and every person acting for it.
25
+
26
+ ## 2. Definitions
27
+
28
+ "Hyperscale" means Hyperscale LLC, a limited liability company organised under
29
+ the laws of the Kingdom of Saudi Arabia, and its successors and assigns.
30
+
31
+ "Software" means every work Hyperscale distributes under this License, in any
32
+ form: source code, compiled or bundled code, schemas, grammars, standard
33
+ libraries, headers, example programs, fixtures, conformance cases, generated
34
+ artifacts, documentation, designs, images, and data files, and every update,
35
+ version, or part of any of them.
36
+
37
+ "Specification" means the parts of the Software that Hyperscale designates as a
38
+ Specification in the applicable Notice: a schema, grammar, wire format,
39
+ manifest format, vocabulary, or interface description, together with its
40
+ documentation and published example inputs and outputs.
41
+
42
+ "Hyperscale Platform" means the products and services Hyperscale offers or
43
+ operates, in any form and under any name, including Hyperscale Arc, Architect,
44
+ Composer, the Hyperscale engine, portals, registries, hosted compilers, hosted
45
+ MCP servers, generated SDKs, and every successor product.
46
+
47
+ "Notice" means the file named `NOTICE` or `NOTICE.md`, or the license
48
+ statement in a package manifest, that accompanies a copy of the Software and
49
+ states which Tier under section 4 applies to it.
50
+
51
+ "Tier" means one of the three permission levels in section 4.
52
+
53
+ "Derivative Work" means any work that is based on, incorporates, translates,
54
+ adapts, ports, reimplements, transforms, or is derived from the Software or any
55
+ part of it, in any language or form, including a work produced by studying the
56
+ Software and then writing new code that performs the same function.
57
+
58
+ "Competing Product" means any product, service, library, platform, or tool,
59
+ whether or not sold, that performs or is offered as performing substantially the
60
+ same function as the Hyperscale Platform or any part of it, including: a
61
+ language, compiler, or checker for financial programs; an engine, runtime, or
62
+ ledger that executes financial product definitions; a framework for declaring,
63
+ conforming, or operating bank or payment provider adapters; a service that
64
+ generates APIs, SDKs, or agent tools from a financial product definition; or a
65
+ hosted or embedded version of any of those. A product you build on the
66
+ Hyperscale Platform for your own customers is not a Competing Product.
67
+
68
+ "Hosted Use" means making the functionality of the Software available to any
69
+ third party over a network, whether as a service, an API, an agent tool, an
70
+ embedded feature, or otherwise.
71
+
72
+ "Contribution" means any work of authorship you intentionally submit to
73
+ Hyperscale for inclusion in the Software, by any means, unless you clearly mark
74
+ it "not a contribution".
75
+
76
+ "Marks" means the names, logos, and trade dress of Hyperscale and its products,
77
+ including "Hyperscale", "Hyperscale Arc", "HSX", "UDL", "ADL", "Architect",
78
+ "Composer", the `hyperscale0` GitHub organisation, the `@hyperscale0` npm
79
+ scope, and every confusingly similar name or sign.
80
+
81
+ "Confidential Material" means Software distributed under Tier 3, and any part
82
+ of the Software that Hyperscale has not made publicly available.
83
+
84
+ ## 3. Ownership
85
+
86
+ Hyperscale owns all right, title, and interest in the Software, the
87
+ Specifications, the Marks, and every Derivative Work Hyperscale creates,
88
+ including all copyright, patent, trade secret, design, database, and moral
89
+ rights, worldwide. The Software is licensed, not sold. This License transfers
90
+ no ownership of anything to you. Your possession of a copy, in any form, gives
91
+ you no right in it beyond what this License states.
92
+
93
+ The Specifications describe how the Hyperscale Platform works. The design
94
+ choices they record, the vocabulary they fix, the structure of the financial
95
+ programs, products, ledgers, and adapters they define, and the standard library
96
+ of financial instruments Hyperscale publishes are Hyperscale's intellectual
97
+ property. Publication does not place any of it in the public domain.
98
+
99
+ ## 4. Tiers of permission
100
+
101
+ Every copy of the Software carries a Notice naming its Tier. If a copy carries
102
+ no Notice, Tier 3 applies. A permission granted at a higher-numbered Tier is
103
+ never implied at a lower-numbered one.
104
+
105
+ ### Tier 1: Open Specification
106
+
107
+ For Software designated as a Specification, Hyperscale grants you a worldwide,
108
+ non-exclusive, non-transferable, royalty-free, revocable license to:
109
+
110
+ 1. read, copy, and redistribute the Specification, unmodified and with all
111
+ notices intact;
112
+ 2. write programs, documents, and data that conform to the Specification, and
113
+ use them in any way, including commercially;
114
+ 3. write and distribute software that reads, writes, validates, or displays
115
+ data conforming to the Specification, solely for the purpose of using or
116
+ interoperating with the Hyperscale Platform or with products built on it;
117
+ 4. quote reasonable portions of the Specification in documentation, teaching,
118
+ and commentary, with attribution to Hyperscale.
119
+
120
+ Tier 1 does not permit you to build a Competing Product, to publish a modified
121
+ Specification under any name that includes or resembles a Mark, or to claim
122
+ conformance or compatibility except as section 8 allows.
123
+
124
+ ### Tier 2: Source Available
125
+
126
+ For Software designated as Source Available, Hyperscale grants you a worldwide,
127
+ non-exclusive, non-transferable, non-sublicensable, royalty-free, revocable
128
+ license to:
129
+
130
+ 1. view, download, and study the source;
131
+ 2. install, compile, and run the Software, unmodified or modified, on systems
132
+ you control, for the purpose of building, testing, operating, and
133
+ maintaining your own products on the Hyperscale Platform;
134
+ 3. modify the Software for that purpose and keep the modification for your own
135
+ internal use;
136
+ 4. submit modifications to Hyperscale as Contributions;
137
+ 5. redistribute unmodified copies of the Software, in the form Hyperscale
138
+ published them, with all notices and this License intact, for example by
139
+ mirroring a package or vendoring a dependency.
140
+
141
+ Tier 2 does not permit Hosted Use, distribution of modified copies,
142
+ distribution of compiled or bundled forms other than those Hyperscale
143
+ published, or any use in or toward a Competing Product.
144
+
145
+ ### Tier 3: Confidential
146
+
147
+ For Software designated as Confidential, or carrying no Notice, Hyperscale
148
+ grants you only the license written in the agreement under which you received
149
+ it. If there is no such agreement, you have no license, and you must not use,
150
+ copy, disclose, or retain the Software. Confidential Material includes generated
151
+ SDKs, downloadable product artifacts, private repositories, and anything you
152
+ obtain through a portal, a registry, or a signed-in session. You may use
153
+ Confidential Material only for your own organisation's Hyperscale integration,
154
+ must not publish it to any public repository or package registry, must not
155
+ disclose it beyond personnel and contractors who need it and are bound by
156
+ confidentiality at least as protective as this License, and must destroy it on
157
+ request or when your access ends.
158
+
159
+ ## 5. Restrictions
160
+
161
+ Whatever the Tier, you must not, and must not help or allow anyone else to:
162
+
163
+ 1. build, contribute to, market, sell, or operate a Competing Product using
164
+ the Software, a Derivative Work, or knowledge gained from the Software;
165
+ 2. create a Derivative Work except as Tier 2 permits for internal use;
166
+ 3. reimplement, port, translate, or clone the Software or any part of it, in
167
+ any programming language, whether by copying or by studying it and
168
+ rewriting it;
169
+ 4. offer the Software or a Derivative Work for Hosted Use;
170
+ 5. sublicense, sell, rent, lease, lend, or assign the Software or any right in
171
+ it;
172
+ 6. remove, hide, or alter any copyright, trademark, license, or attribution
173
+ notice, or misstate the origin of the Software;
174
+ 7. reverse engineer, decompile, disassemble, or unminify any compiled, bundled,
175
+ or generated form of the Software, except where a law forbids this
176
+ restriction and only to the extent it does;
177
+ 8. circumvent, disable, or evade any license check, access control, rate limit,
178
+ key, or technical protection in the Software or the Hyperscale Platform;
179
+ 9. use the Software, the Specifications, or any output of the Hyperscale
180
+ Platform as training, fine-tuning, evaluation, or retrieval data for any
181
+ machine-learning model, or to generate a Competing Product with such a
182
+ model, without Hyperscale's prior written consent;
183
+ 10. use the Software to benchmark or compare the Hyperscale Platform in any
184
+ publication without Hyperscale's prior written consent;
185
+ 11. register, apply for, or claim any patent, trademark, design, or domain
186
+ name that covers or resembles the Software, the Specifications, or the
187
+ Marks;
188
+ 12. use the Software in violation of any law, sanction, or export control;
189
+ 13. use the Software for any purpose this License does not expressly permit.
190
+
191
+ ## 6. Contributions
192
+
193
+ You are not required to contribute. If you do, then on submission you grant
194
+ Hyperscale, and everyone who receives the Software from Hyperscale, a
195
+ perpetual, worldwide, non-exclusive, irrevocable, royalty-free license to use,
196
+ reproduce, modify, distribute, sublicense, and relicense your Contribution
197
+ under any terms, including this License and any commercial license, and you
198
+ grant Hyperscale a patent license of the same scope covering the claims your
199
+ Contribution alone or in combination with the Software would infringe. You
200
+ confirm you have the right to make these grants and that the Contribution is
201
+ your own work or that you have permission to submit it. Hyperscale may require
202
+ a signed contributor agreement before merging any Contribution and may decline
203
+ any Contribution for any reason. Feedback, suggestions, and ideas you send
204
+ about the Software are not confidential and Hyperscale may use them freely.
205
+
206
+ ## 7. Marks
207
+
208
+ This License grants no right to any Mark. You may refer to the Software and to
209
+ the Hyperscale Platform by name to describe truthfully that your product uses
210
+ or integrates with them. You must not use any Mark as or in the name of your
211
+ product, company, package, domain, or repository, in a logo, or in any way that
212
+ suggests Hyperscale made, sponsors, certifies, or endorses your work.
213
+
214
+ ## 8. Conformance and compatibility claims
215
+
216
+ You may state that your product "conforms to" or "is compatible with" a named
217
+ Specification version only if, at the time of the claim, your product
218
+ validates against the Specification exactly as Hyperscale published it, using
219
+ Hyperscale's published example inputs unmodified, and you built the product
220
+ under Tier 1 for the purpose of interoperating with the Hyperscale Platform.
221
+ The claim is a statement about your product and never an endorsement by
222
+ Hyperscale. Hyperscale may require you to withdraw a claim it considers false.
223
+ No claim of conformance permits a Competing Product.
224
+
225
+ ## 9. Commercial license
226
+
227
+ Hyperscale offers a commercial license to organisations whose use falls
228
+ outside this License, including Hosted Use, distribution of modified copies,
229
+ embedding in a proprietary product, or any use a procurement policy cannot
230
+ accept under these terms. Ask through <https://hyperscale0.ai>. Nothing in this
231
+ section grants any right until a commercial agreement is signed.
232
+
233
+ ## 10. Prior releases
234
+
235
+ Any version of the Software that Hyperscale released under a different license
236
+ remains available under that license for that version only. This License
237
+ applies to every version that carries it and to every later version unless
238
+ that version states otherwise. Nothing in this License narrows a right you
239
+ already hold in a prior version under its own license.
240
+
241
+ ## 11. Term and termination
242
+
243
+ This License takes effect when you accept it and lasts until terminated. It
244
+ terminates automatically, with no notice, the moment you breach section 5 or
245
+ section 7. For any other breach, it terminates thirty days after Hyperscale
246
+ notifies you, unless you cure the breach within that period and it is the
247
+ first notice you have received. Hyperscale may also terminate this License for
248
+ convenience for any Tier 3 material, on notice. On termination you must stop
249
+ all use, destroy every copy in your possession or control, including
250
+ Derivative Works, and confirm destruction in writing if asked. Sections 3, 5,
251
+ 6, 7, 11, 12, 13, 14, 15, and 16 survive termination.
252
+
253
+ ## 12. Disclaimer of warranty
254
+
255
+ The Software is provided "as is" and "as available". Hyperscale makes no
256
+ warranty of any kind, express, implied, or statutory, including any warranty
257
+ of merchantability, fitness for a particular purpose, title, non-infringement,
258
+ accuracy, or that the Software will be error-free or uninterrupted. Hyperscale
259
+ is not a bank, does not hold money, and gives no assurance that any financial
260
+ program, product, or adapter written with the Software is lawful, licensed,
261
+ or fit for any real-world financial use in any jurisdiction.
262
+
263
+ ## 13. Limitation of liability
264
+
265
+ To the fullest extent the law allows, Hyperscale is not liable to you or any
266
+ third party for any indirect, incidental, special, consequential, exemplary, or
267
+ punitive damages, or for any loss of profit, revenue, data, goodwill, or
268
+ business opportunity, arising from or related to the Software or this
269
+ License, however caused and under any theory of liability, even if advised of
270
+ the possibility. Hyperscale's total liability under this License is limited to
271
+ one thousand Saudi riyals (SAR 1,000) or the amount you paid Hyperscale for the
272
+ Software in the twelve months before the claim, whichever is greater.
273
+
274
+ ## 14. Indemnity
275
+
276
+ You will defend, indemnify, and hold harmless Hyperscale, its owners,
277
+ officers, employees, and agents from every claim, loss, damage, liability,
278
+ cost, and expense, including reasonable legal fees, arising from your use of
279
+ the Software, your Derivative Works, your products, or your breach of this
280
+ License.
281
+
282
+ ## 15. Remedies and enforcement
283
+
284
+ You acknowledge that the Software embodies valuable trade secrets and
285
+ intellectual property of Hyperscale, that a breach of section 3, 4, 5, or 7
286
+ would cause Hyperscale irreparable harm that money alone cannot repair, and
287
+ that Hyperscale is entitled to injunctive and other equitable relief in any
288
+ court of competent jurisdiction to stop or prevent a breach, without posting a
289
+ bond and in addition to every other remedy. You will pay Hyperscale's
290
+ reasonable legal fees and costs in any action in which Hyperscale enforces
291
+ this License and prevails on any claim. Hyperscale may bring an action in the
292
+ courts named in section 16 or in any jurisdiction where the Software is used,
293
+ a Derivative Work is made, or a Competing Product is offered, and you consent
294
+ to the jurisdiction of those courts.
295
+
296
+ ## 16. Governing law and venue
297
+
298
+ This License is governed by the laws of the Kingdom of Saudi Arabia, including
299
+ the Copyright Law issued by Royal Decree M/41 and its implementing
300
+ regulations, without regard to conflict-of-law rules. The competent courts of
301
+ Riyadh have exclusive jurisdiction over any dispute arising from this License,
302
+ subject to Hyperscale's right under section 15 to enforce elsewhere. The
303
+ Berne Convention and the TRIPS Agreement apply to the protection of the
304
+ Software in every member state. Where a law of another jurisdiction gives you
305
+ a right this License cannot exclude, that right is preserved to the minimum
306
+ extent that law requires and no further.
307
+
308
+ ## 17. General
309
+
310
+ 1. This License is the entire agreement between you and Hyperscale about the
311
+ Software under its Tier, and replaces every earlier or contemporaneous
312
+ understanding, except a signed commercial agreement, which prevails where
313
+ the two conflict.
314
+ 2. If any provision is held unenforceable, it is limited to the minimum
315
+ extent necessary and the rest stays in force.
316
+ 3. Hyperscale's failure or delay in enforcing any provision is not a waiver.
317
+ A waiver is effective only in writing signed by Hyperscale.
318
+ 4. You may not assign or transfer this License or any right under it, by
319
+ operation of law or otherwise, and any attempt is void. Hyperscale may
320
+ assign it freely.
321
+ 5. Hyperscale may publish new versions of this License. Each version of the
322
+ Software carries the License version it was released under, and a new
323
+ License version applies only to Software that carries it.
324
+ 6. This License is written in English. Hyperscale may publish an Arabic
325
+ translation. Where a court requires an Arabic text, the certified Arabic
326
+ translation Hyperscale provides is the text of record; in every other case
327
+ the English text governs.
328
+ 7. Nothing in this License creates a partnership, joint venture, agency, or
329
+ employment relationship between you and Hyperscale.
330
+ 8. Notices to Hyperscale go to the address published at
331
+ <https://hyperscale0.ai/legal>.
332
+
333
+ ---
334
+
335
+ ## Applying this License
336
+
337
+ A copy of the Software must carry this file as `LICENSE.md` and a `NOTICE.md`
338
+ that states the Tier. The form is:
339
+
340
+ ```
341
+ This work is licensed under the Hyperscale Intellectual Property and
342
+ Copyright License, version 1.0 (LicenseRef-Hyperscale-IPCL-1.0).
343
+ Copyright (c) 2026 Hyperscale LLC. All rights reserved.
344
+
345
+ Tier: 2 (Source Available)
346
+ Specifications under Tier 1 in this repository: spec/, docs/grammar.md
347
+
348
+ Not open source. See LICENSE.md.
349
+ ```
350
+
351
+ A package manifest states `"license": "SEE LICENSE IN LICENSE.md"`. A source
352
+ file may carry the one-line header:
353
+
354
+ ```
355
+ // Copyright (c) 2026 Hyperscale LLC. Licensed under LicenseRef-Hyperscale-IPCL-1.0. Not open source.
356
+ ```
package/NOTICE.md ADDED
@@ -0,0 +1,8 @@
1
+ This work is licensed under the Hyperscale Intellectual Property and
2
+ Copyright License, version 1.0 (`LicenseRef-Hyperscale-IPCL-1.0`).
3
+ Copyright (c) 2026 Hyperscale LLC. All rights reserved.
4
+
5
+ Tier: 2 (Source Available)
6
+ Specifications under Tier 1 (Open Specification) in this repository: docs/, examples/, editors/vscode/syntaxes/, editors/vscode/language-configuration.json
7
+
8
+ Not open source. See [LICENSE.md](LICENSE.md).