@almadar/std 17.0.1 → 17.0.2

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 (321) hide show
  1. package/behaviors/lolo/cli/atoms/std-orb-behaviors.lolo +1 -1
  2. package/behaviors/lolo/cli/atoms/std-orb-compile.lolo +1 -1
  3. package/behaviors/lolo/cli/atoms/std-orb-i18n.lolo +1 -1
  4. package/behaviors/lolo/cli/atoms/std-orb-language.lolo +2 -2
  5. package/behaviors/lolo/cli/atoms/std-orb-lint-all.lolo +1 -1
  6. package/behaviors/lolo/cli/atoms/std-orb-lint-asset-inline-url.lolo +1 -1
  7. package/behaviors/lolo/cli/atoms/std-orb-lint-async-result-deaf-target.lolo +1 -1
  8. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-fields.lolo +1 -1
  9. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-roots.lolo +1 -1
  10. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-setters.lolo +1 -1
  11. package/behaviors/lolo/cli/atoms/std-orb-lint-binding-traits.lolo +1 -1
  12. package/behaviors/lolo/cli/atoms/std-orb-lint-browser-effects.lolo +1 -1
  13. package/behaviors/lolo/cli/atoms/std-orb-lint-call-service.lolo +1 -1
  14. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-client-bound.lolo +1 -1
  15. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-emits.lolo +1 -1
  16. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-graph.lolo +1 -1
  17. package/behaviors/lolo/cli/atoms/std-orb-lint-circuit-item-actions.lolo +1 -1
  18. package/behaviors/lolo/cli/atoms/std-orb-lint-circular-dependencies.lolo +1 -1
  19. package/behaviors/lolo/cli/atoms/std-orb-lint-client-tick-locality.lolo +1 -1
  20. package/behaviors/lolo/cli/atoms/std-orb-lint-collection-policy.lolo +1 -1
  21. package/behaviors/lolo/cli/atoms/std-orb-lint-composed-wiring.lolo +1 -1
  22. package/behaviors/lolo/cli/atoms/std-orb-lint-computed-key-dot-path.lolo +1 -1
  23. package/behaviors/lolo/cli/atoms/std-orb-lint-config-dangling-ref.lolo +1 -1
  24. package/behaviors/lolo/cli/atoms/std-orb-lint-config-knob.lolo +1 -1
  25. package/behaviors/lolo/cli/atoms/std-orb-lint-config-role-lists.lolo +1 -1
  26. package/behaviors/lolo/cli/atoms/std-orb-lint-control-unhandled.lolo +1 -1
  27. package/behaviors/lolo/cli/atoms/std-orb-lint-control-value-discarded.lolo +1 -1
  28. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-duplicate-entity.lolo +1 -1
  29. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-emitter.lolo +1 -1
  30. package/behaviors/lolo/cli/atoms/std-orb-lint-cross-registry.lolo +1 -1
  31. package/behaviors/lolo/cli/atoms/std-orb-lint-derived-field-write.lolo +1 -1
  32. package/behaviors/lolo/cli/atoms/std-orb-lint-dispatch-contract.lolo +1 -1
  33. package/behaviors/lolo/cli/atoms/std-orb-lint-duplicate-transition.lolo +1 -1
  34. package/behaviors/lolo/cli/atoms/std-orb-lint-duplicate-use-alias.lolo +1 -1
  35. package/behaviors/lolo/cli/atoms/std-orb-lint-effect-forms.lolo +1 -1
  36. package/behaviors/lolo/cli/atoms/std-orb-lint-egress-scheme-unused.lolo +1 -1
  37. package/behaviors/lolo/cli/atoms/std-orb-lint-embed-config-forward.lolo +1 -1
  38. package/behaviors/lolo/cli/atoms/std-orb-lint-emit-config-ref.lolo +1 -1
  39. package/behaviors/lolo/cli/atoms/std-orb-lint-emit-declaration.lolo +1 -1
  40. package/behaviors/lolo/cli/atoms/std-orb-lint-emit.lolo +1 -1
  41. package/behaviors/lolo/cli/atoms/std-orb-lint-empty-event-name.lolo +1 -1
  42. package/behaviors/lolo/cli/atoms/std-orb-lint-engine.lolo +1 -1
  43. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-access.lolo +1 -1
  44. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-browser-storage.lolo +1 -1
  45. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-duplicate-field.lolo +1 -1
  46. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-empty-enum.lolo +1 -1
  47. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-field-type.lolo +1 -1
  48. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-locale-instances.lolo +1 -1
  49. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-mock-member.lolo +1 -1
  50. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-mutation.lolo +1 -1
  51. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-name-shadows-trait-union.lolo +1 -1
  52. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-persistence.lolo +1 -1
  53. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-semantic-default.lolo +1 -1
  54. package/behaviors/lolo/cli/atoms/std-orb-lint-entity-shape.lolo +1 -1
  55. package/behaviors/lolo/cli/atoms/std-orb-lint-event-id-uniqueness.lolo +1 -1
  56. package/behaviors/lolo/cli/atoms/std-orb-lint-event-wiring.lolo +1 -1
  57. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-config-knob.lolo +1 -1
  58. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-event-unfired.lolo +1 -1
  59. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-field-undeclared.lolo +1 -1
  60. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-final.lolo +1 -1
  61. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-persistent-unwritten.lolo +1 -1
  62. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-provider-mismatch.lolo +1 -1
  63. package/behaviors/lolo/cli/atoms/std-orb-lint-expectation-unsatisfied.lolo +1 -1
  64. package/behaviors/lolo/cli/atoms/std-orb-lint-expected-field-not-provided.lolo +1 -1
  65. package/behaviors/lolo/cli/atoms/std-orb-lint-external-emit-payload.lolo +1 -1
  66. package/behaviors/lolo/cli/atoms/std-orb-lint-fetch-by-id-payload.lolo +1 -1
  67. package/behaviors/lolo/cli/atoms/std-orb-lint-fetch-deliver.lolo +1 -1
  68. package/behaviors/lolo/cli/atoms/std-orb-lint-field-path.lolo +1 -1
  69. package/behaviors/lolo/cli/atoms/std-orb-lint-filter-field-never-written.lolo +1 -1
  70. package/behaviors/lolo/cli/atoms/std-orb-lint-finding-codes.lolo +1 -1
  71. package/behaviors/lolo/cli/atoms/std-orb-lint-generic-types.lolo +1 -1
  72. package/behaviors/lolo/cli/atoms/std-orb-lint-groupby-enum-column-gap.lolo +1 -1
  73. package/behaviors/lolo/cli/atoms/std-orb-lint-guest-view-not-client.lolo +1 -1
  74. package/behaviors/lolo/cli/atoms/std-orb-lint-host-effects.lolo +1 -1
  75. package/behaviors/lolo/cli/atoms/std-orb-lint-http-egress-entry.lolo +1 -1
  76. package/behaviors/lolo/cli/atoms/std-orb-lint-icon-exists.lolo +1 -1
  77. package/behaviors/lolo/cli/atoms/std-orb-lint-icon-format.lolo +1 -1
  78. package/behaviors/lolo/cli/atoms/std-orb-lint-id-refs.lolo +1 -1
  79. package/behaviors/lolo/cli/atoms/std-orb-lint-identity-unique.lolo +1 -1
  80. package/behaviors/lolo/cli/atoms/std-orb-lint-inbound-answer-foreign.lolo +1 -1
  81. package/behaviors/lolo/cli/atoms/std-orb-lint-inbound.lolo +1 -1
  82. package/behaviors/lolo/cli/atoms/std-orb-lint-init-coverage.lolo +1 -1
  83. package/behaviors/lolo/cli/atoms/std-orb-lint-input.lolo +1 -1
  84. package/behaviors/lolo/cli/atoms/std-orb-lint-item-action-event.lolo +1 -1
  85. package/behaviors/lolo/cli/atoms/std-orb-lint-keyed-call-keys.lolo +1 -1
  86. package/behaviors/lolo/cli/atoms/std-orb-lint-keyed-call.lolo +1 -1
  87. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-per.lolo +1 -1
  88. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-redundant-embed-route.lolo +1 -1
  89. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-route-starves-required-field.lolo +1 -1
  90. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-source-never-produces.lolo +1 -1
  91. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-source-unresolved.lolo +1 -1
  92. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-trigger.lolo +1 -1
  93. package/behaviors/lolo/cli/atoms/std-orb-lint-listen-wildcard-unkeyed.lolo +1 -1
  94. package/behaviors/lolo/cli/atoms/std-orb-lint-literal-default.lolo +1 -1
  95. package/behaviors/lolo/cli/atoms/std-orb-lint-llm-wire-unrouted.lolo +1 -1
  96. package/behaviors/lolo/cli/atoms/std-orb-lint-loop-invariant-parse.lolo +1 -1
  97. package/behaviors/lolo/cli/atoms/std-orb-lint-mem-handles.lolo +1 -1
  98. package/behaviors/lolo/cli/atoms/std-orb-lint-merged-fields.lolo +1 -1
  99. package/behaviors/lolo/cli/atoms/std-orb-lint-missing-orbital-name.lolo +1 -1
  100. package/behaviors/lolo/cli/atoms/std-orb-lint-nav-target.lolo +1 -1
  101. package/behaviors/lolo/cli/atoms/std-orb-lint-navigate.lolo +1 -1
  102. package/behaviors/lolo/cli/atoms/std-orb-lint-not-found.lolo +1 -1
  103. package/behaviors/lolo/cli/atoms/std-orb-lint-oauth.lolo +1 -1
  104. package/behaviors/lolo/cli/atoms/std-orb-lint-orbital-config-dead-knob.lolo +1 -1
  105. package/behaviors/lolo/cli/atoms/std-orb-lint-orbital-duplicate-name.lolo +1 -1
  106. package/behaviors/lolo/cli/atoms/std-orb-lint-page-content-owner.lolo +1 -1
  107. package/behaviors/lolo/cli/atoms/std-orb-lint-page-empty-traits.lolo +1 -1
  108. package/behaviors/lolo/cli/atoms/std-orb-lint-page-modifiers.lolo +1 -1
  109. package/behaviors/lolo/cli/atoms/std-orb-lint-page-path-uniqueness.lolo +1 -1
  110. package/behaviors/lolo/cli/atoms/std-orb-lint-page-path.lolo +1 -1
  111. package/behaviors/lolo/cli/atoms/std-orb-lint-page-unreachable.lolo +1 -1
  112. package/behaviors/lolo/cli/atoms/std-orb-lint-parallel-pure.lolo +1 -1
  113. package/behaviors/lolo/cli/atoms/std-orb-lint-pattern-props.lolo +1 -1
  114. package/behaviors/lolo/cli/atoms/std-orb-lint-payload-field-name.lolo +1 -1
  115. package/behaviors/lolo/cli/atoms/std-orb-lint-placement.lolo +1 -1
  116. package/behaviors/lolo/cli/atoms/std-orb-lint-program-eval.lolo +1 -1
  117. package/behaviors/lolo/cli/atoms/std-orb-lint-query-index.lolo +1 -1
  118. package/behaviors/lolo/cli/atoms/std-orb-lint-relation-targets.lolo +1 -1
  119. package/behaviors/lolo/cli/atoms/std-orb-lint-render-ui-pattern.lolo +1 -1
  120. package/behaviors/lolo/cli/atoms/std-orb-lint-reserved-component-name.lolo +1 -1
  121. package/behaviors/lolo/cli/atoms/std-orb-lint-retired-effect-forms.lolo +1 -1
  122. package/behaviors/lolo/cli/atoms/std-orb-lint-rui-binding.lolo +1 -1
  123. package/behaviors/lolo/cli/atoms/std-orb-lint-rui-effects.lolo +1 -1
  124. package/behaviors/lolo/cli/atoms/std-orb-lint-schema-header.lolo +1 -1
  125. package/behaviors/lolo/cli/atoms/std-orb-lint-service-def.lolo +1 -1
  126. package/behaviors/lolo/cli/atoms/std-orb-lint-set-column.lolo +1 -1
  127. package/behaviors/lolo/cli/atoms/std-orb-lint-sexpr-binding.lolo +1 -1
  128. package/behaviors/lolo/cli/atoms/std-orb-lint-sigil-context.lolo +1 -1
  129. package/behaviors/lolo/cli/atoms/std-orb-lint-sign-in-route.lolo +1 -1
  130. package/behaviors/lolo/cli/atoms/std-orb-lint-slot-tick.lolo +1 -1
  131. package/behaviors/lolo/cli/atoms/std-orb-lint-slot.lolo +1 -1
  132. package/behaviors/lolo/cli/atoms/std-orb-lint-state-shape.lolo +1 -1
  133. package/behaviors/lolo/cli/atoms/std-orb-lint-state-unreachable.lolo +1 -1
  134. package/behaviors/lolo/cli/atoms/std-orb-lint-store-binding.lolo +1 -1
  135. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-pin-contradicts-app.lolo +1 -1
  136. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-ref.lolo +1 -1
  137. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-undeclared.lolo +1 -1
  138. package/behaviors/lolo/cli/atoms/std-orb-lint-theme-values.lolo +1 -1
  139. package/behaviors/lolo/cli/atoms/std-orb-lint-tick-requires-runtime.lolo +1 -1
  140. package/behaviors/lolo/cli/atoms/std-orb-lint-time-unit.lolo +1 -1
  141. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-embeds.lolo +1 -1
  142. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-id-uniqueness.lolo +1 -1
  143. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-mounts.lolo +1 -1
  144. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-ref-config.lolo +1 -1
  145. package/behaviors/lolo/cli/atoms/std-orb-lint-trait-refs.lolo +1 -1
  146. package/behaviors/lolo/cli/atoms/std-orb-lint-transition-refs.lolo +1 -1
  147. package/behaviors/lolo/cli/atoms/std-orb-lint-type-param-sweep.lolo +1 -1
  148. package/behaviors/lolo/cli/atoms/std-orb-lint-unsigned-guard.lolo +1 -1
  149. package/behaviors/lolo/cli/atoms/std-orb-lint-untyped-array.lolo +1 -1
  150. package/behaviors/lolo/cli/atoms/std-orb-lint-user-field-exists.lolo +1 -1
  151. package/behaviors/lolo/cli/atoms/std-orb-lint-user-identity.lolo +1 -1
  152. package/behaviors/lolo/cli/atoms/std-orb-lint-viewer-stranded.lolo +1 -1
  153. package/behaviors/lolo/cli/atoms/std-orb-mcp-install.lolo +1 -1
  154. package/behaviors/lolo/cli/atoms/std-orb-mcp.lolo +2 -2
  155. package/behaviors/lolo/cli/atoms/std-orb-supervise.lolo +1 -1
  156. package/behaviors/lolo/cli/atoms/std-orb-update-notice.lolo +1 -1
  157. package/behaviors/lolo/cli/atoms/std-orb-validate.lolo +1 -1
  158. package/behaviors/lolo/dev/atoms/std-launchpad-updates.lolo +1 -1
  159. package/behaviors/lolo/dev/atoms/std-orb-stats.lolo +1 -1
  160. package/behaviors/lolo/dev/organisms/std-launchpad.lolo +1 -1
  161. package/behaviors/registry/cli/atoms/std-orb-behaviors.orb +1 -1
  162. package/behaviors/registry/cli/atoms/std-orb-compile.orb +1 -1
  163. package/behaviors/registry/cli/atoms/std-orb-i18n.orb +1 -1
  164. package/behaviors/registry/cli/atoms/std-orb-language.orb +1 -1
  165. package/behaviors/registry/cli/atoms/std-orb-lint-all.orb +1 -1
  166. package/behaviors/registry/cli/atoms/std-orb-lint-asset-inline-url.orb +1 -1
  167. package/behaviors/registry/cli/atoms/std-orb-lint-async-result-deaf-target.orb +1 -1
  168. package/behaviors/registry/cli/atoms/std-orb-lint-binding-fields.orb +1 -1
  169. package/behaviors/registry/cli/atoms/std-orb-lint-binding-roots.orb +1 -1
  170. package/behaviors/registry/cli/atoms/std-orb-lint-binding-setters.orb +1 -1
  171. package/behaviors/registry/cli/atoms/std-orb-lint-binding-traits.orb +1 -1
  172. package/behaviors/registry/cli/atoms/std-orb-lint-browser-effects.orb +1 -1
  173. package/behaviors/registry/cli/atoms/std-orb-lint-call-service.orb +1 -1
  174. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-client-bound.orb +1 -1
  175. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-emits.orb +1 -1
  176. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-graph.orb +1 -1
  177. package/behaviors/registry/cli/atoms/std-orb-lint-circuit-item-actions.orb +1 -1
  178. package/behaviors/registry/cli/atoms/std-orb-lint-circular-dependencies.orb +1 -1
  179. package/behaviors/registry/cli/atoms/std-orb-lint-client-tick-locality.orb +1 -1
  180. package/behaviors/registry/cli/atoms/std-orb-lint-collection-policy.orb +1 -1
  181. package/behaviors/registry/cli/atoms/std-orb-lint-composed-wiring.orb +1 -1
  182. package/behaviors/registry/cli/atoms/std-orb-lint-computed-key-dot-path.orb +1 -1
  183. package/behaviors/registry/cli/atoms/std-orb-lint-config-dangling-ref.orb +1 -1
  184. package/behaviors/registry/cli/atoms/std-orb-lint-config-knob.orb +1 -1
  185. package/behaviors/registry/cli/atoms/std-orb-lint-config-role-lists.orb +1 -1
  186. package/behaviors/registry/cli/atoms/std-orb-lint-control-unhandled.orb +1 -1
  187. package/behaviors/registry/cli/atoms/std-orb-lint-control-value-discarded.orb +1 -1
  188. package/behaviors/registry/cli/atoms/std-orb-lint-cross-duplicate-entity.orb +1 -1
  189. package/behaviors/registry/cli/atoms/std-orb-lint-cross-emitter.orb +1 -1
  190. package/behaviors/registry/cli/atoms/std-orb-lint-cross-registry.orb +1 -1
  191. package/behaviors/registry/cli/atoms/std-orb-lint-derived-field-write.orb +1 -1
  192. package/behaviors/registry/cli/atoms/std-orb-lint-dispatch-contract.orb +1 -1
  193. package/behaviors/registry/cli/atoms/std-orb-lint-duplicate-transition.orb +1 -1
  194. package/behaviors/registry/cli/atoms/std-orb-lint-duplicate-use-alias.orb +1 -1
  195. package/behaviors/registry/cli/atoms/std-orb-lint-effect-forms.orb +1 -1
  196. package/behaviors/registry/cli/atoms/std-orb-lint-egress-scheme-unused.orb +1 -1
  197. package/behaviors/registry/cli/atoms/std-orb-lint-embed-config-forward.orb +1 -1
  198. package/behaviors/registry/cli/atoms/std-orb-lint-emit-config-ref.orb +1 -1
  199. package/behaviors/registry/cli/atoms/std-orb-lint-emit-declaration.orb +1 -1
  200. package/behaviors/registry/cli/atoms/std-orb-lint-emit.orb +1 -1
  201. package/behaviors/registry/cli/atoms/std-orb-lint-empty-event-name.orb +1 -1
  202. package/behaviors/registry/cli/atoms/std-orb-lint-engine.orb +1 -1
  203. package/behaviors/registry/cli/atoms/std-orb-lint-entity-access.orb +1 -1
  204. package/behaviors/registry/cli/atoms/std-orb-lint-entity-browser-storage.orb +1 -1
  205. package/behaviors/registry/cli/atoms/std-orb-lint-entity-duplicate-field.orb +1 -1
  206. package/behaviors/registry/cli/atoms/std-orb-lint-entity-empty-enum.orb +1 -1
  207. package/behaviors/registry/cli/atoms/std-orb-lint-entity-field-type.orb +1 -1
  208. package/behaviors/registry/cli/atoms/std-orb-lint-entity-locale-instances.orb +1 -1
  209. package/behaviors/registry/cli/atoms/std-orb-lint-entity-mock-member.orb +1 -1
  210. package/behaviors/registry/cli/atoms/std-orb-lint-entity-mutation.orb +1 -1
  211. package/behaviors/registry/cli/atoms/std-orb-lint-entity-name-shadows-trait-union.orb +1 -1
  212. package/behaviors/registry/cli/atoms/std-orb-lint-entity-persistence.orb +1 -1
  213. package/behaviors/registry/cli/atoms/std-orb-lint-entity-semantic-default.orb +1 -1
  214. package/behaviors/registry/cli/atoms/std-orb-lint-entity-shape.orb +1 -1
  215. package/behaviors/registry/cli/atoms/std-orb-lint-event-id-uniqueness.orb +1 -1
  216. package/behaviors/registry/cli/atoms/std-orb-lint-event-wiring.orb +1 -1
  217. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-config-knob.orb +1 -1
  218. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-event-unfired.orb +1 -1
  219. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-field-undeclared.orb +1 -1
  220. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-final.orb +1 -1
  221. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-persistent-unwritten.orb +1 -1
  222. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-provider-mismatch.orb +1 -1
  223. package/behaviors/registry/cli/atoms/std-orb-lint-expectation-unsatisfied.orb +1 -1
  224. package/behaviors/registry/cli/atoms/std-orb-lint-expected-field-not-provided.orb +1 -1
  225. package/behaviors/registry/cli/atoms/std-orb-lint-external-emit-payload.orb +1 -1
  226. package/behaviors/registry/cli/atoms/std-orb-lint-fetch-by-id-payload.orb +1 -1
  227. package/behaviors/registry/cli/atoms/std-orb-lint-fetch-deliver.orb +1 -1
  228. package/behaviors/registry/cli/atoms/std-orb-lint-field-path.orb +1 -1
  229. package/behaviors/registry/cli/atoms/std-orb-lint-filter-field-never-written.orb +1 -1
  230. package/behaviors/registry/cli/atoms/std-orb-lint-finding-codes.orb +1 -1
  231. package/behaviors/registry/cli/atoms/std-orb-lint-generic-types.orb +1 -1
  232. package/behaviors/registry/cli/atoms/std-orb-lint-groupby-enum-column-gap.orb +1 -1
  233. package/behaviors/registry/cli/atoms/std-orb-lint-guest-view-not-client.orb +1 -1
  234. package/behaviors/registry/cli/atoms/std-orb-lint-host-effects.orb +1 -1
  235. package/behaviors/registry/cli/atoms/std-orb-lint-http-egress-entry.orb +1 -1
  236. package/behaviors/registry/cli/atoms/std-orb-lint-icon-exists.orb +1 -1
  237. package/behaviors/registry/cli/atoms/std-orb-lint-icon-format.orb +1 -1
  238. package/behaviors/registry/cli/atoms/std-orb-lint-id-refs.orb +1 -1
  239. package/behaviors/registry/cli/atoms/std-orb-lint-identity-unique.orb +1 -1
  240. package/behaviors/registry/cli/atoms/std-orb-lint-inbound-answer-foreign.orb +1 -1
  241. package/behaviors/registry/cli/atoms/std-orb-lint-inbound.orb +1 -1
  242. package/behaviors/registry/cli/atoms/std-orb-lint-init-coverage.orb +1 -1
  243. package/behaviors/registry/cli/atoms/std-orb-lint-input.orb +1 -1
  244. package/behaviors/registry/cli/atoms/std-orb-lint-item-action-event.orb +1 -1
  245. package/behaviors/registry/cli/atoms/std-orb-lint-keyed-call-keys.orb +1 -1
  246. package/behaviors/registry/cli/atoms/std-orb-lint-keyed-call.orb +1 -1
  247. package/behaviors/registry/cli/atoms/std-orb-lint-listen-per.orb +1 -1
  248. package/behaviors/registry/cli/atoms/std-orb-lint-listen-redundant-embed-route.orb +1 -1
  249. package/behaviors/registry/cli/atoms/std-orb-lint-listen-route-starves-required-field.orb +1 -1
  250. package/behaviors/registry/cli/atoms/std-orb-lint-listen-source-never-produces.orb +1 -1
  251. package/behaviors/registry/cli/atoms/std-orb-lint-listen-source-unresolved.orb +1 -1
  252. package/behaviors/registry/cli/atoms/std-orb-lint-listen-trigger.orb +1 -1
  253. package/behaviors/registry/cli/atoms/std-orb-lint-listen-wildcard-unkeyed.orb +1 -1
  254. package/behaviors/registry/cli/atoms/std-orb-lint-literal-default.orb +1 -1
  255. package/behaviors/registry/cli/atoms/std-orb-lint-llm-wire-unrouted.orb +1 -1
  256. package/behaviors/registry/cli/atoms/std-orb-lint-loop-invariant-parse.orb +1 -1
  257. package/behaviors/registry/cli/atoms/std-orb-lint-mem-handles.orb +1 -1
  258. package/behaviors/registry/cli/atoms/std-orb-lint-merged-fields.orb +1 -1
  259. package/behaviors/registry/cli/atoms/std-orb-lint-missing-orbital-name.orb +1 -1
  260. package/behaviors/registry/cli/atoms/std-orb-lint-nav-target.orb +1 -1
  261. package/behaviors/registry/cli/atoms/std-orb-lint-navigate.orb +1 -1
  262. package/behaviors/registry/cli/atoms/std-orb-lint-not-found.orb +1 -1
  263. package/behaviors/registry/cli/atoms/std-orb-lint-oauth.orb +1 -1
  264. package/behaviors/registry/cli/atoms/std-orb-lint-orbital-config-dead-knob.orb +1 -1
  265. package/behaviors/registry/cli/atoms/std-orb-lint-orbital-duplicate-name.orb +1 -1
  266. package/behaviors/registry/cli/atoms/std-orb-lint-page-content-owner.orb +1 -1
  267. package/behaviors/registry/cli/atoms/std-orb-lint-page-empty-traits.orb +1 -1
  268. package/behaviors/registry/cli/atoms/std-orb-lint-page-modifiers.orb +1 -1
  269. package/behaviors/registry/cli/atoms/std-orb-lint-page-path-uniqueness.orb +1 -1
  270. package/behaviors/registry/cli/atoms/std-orb-lint-page-path.orb +1 -1
  271. package/behaviors/registry/cli/atoms/std-orb-lint-page-unreachable.orb +1 -1
  272. package/behaviors/registry/cli/atoms/std-orb-lint-parallel-pure.orb +1 -1
  273. package/behaviors/registry/cli/atoms/std-orb-lint-pattern-props.orb +1 -1
  274. package/behaviors/registry/cli/atoms/std-orb-lint-payload-field-name.orb +1 -1
  275. package/behaviors/registry/cli/atoms/std-orb-lint-placement.orb +1 -1
  276. package/behaviors/registry/cli/atoms/std-orb-lint-program-eval.orb +1 -1
  277. package/behaviors/registry/cli/atoms/std-orb-lint-query-index.orb +1 -1
  278. package/behaviors/registry/cli/atoms/std-orb-lint-relation-targets.orb +1 -1
  279. package/behaviors/registry/cli/atoms/std-orb-lint-render-ui-pattern.orb +1 -1
  280. package/behaviors/registry/cli/atoms/std-orb-lint-reserved-component-name.orb +1 -1
  281. package/behaviors/registry/cli/atoms/std-orb-lint-retired-effect-forms.orb +1 -1
  282. package/behaviors/registry/cli/atoms/std-orb-lint-rui-binding.orb +1 -1
  283. package/behaviors/registry/cli/atoms/std-orb-lint-rui-effects.orb +1 -1
  284. package/behaviors/registry/cli/atoms/std-orb-lint-schema-header.orb +1 -1
  285. package/behaviors/registry/cli/atoms/std-orb-lint-service-def.orb +1 -1
  286. package/behaviors/registry/cli/atoms/std-orb-lint-set-column.orb +1 -1
  287. package/behaviors/registry/cli/atoms/std-orb-lint-sexpr-binding.orb +1 -1
  288. package/behaviors/registry/cli/atoms/std-orb-lint-sigil-context.orb +1 -1
  289. package/behaviors/registry/cli/atoms/std-orb-lint-sign-in-route.orb +1 -1
  290. package/behaviors/registry/cli/atoms/std-orb-lint-slot-tick.orb +1 -1
  291. package/behaviors/registry/cli/atoms/std-orb-lint-slot.orb +1 -1
  292. package/behaviors/registry/cli/atoms/std-orb-lint-state-shape.orb +1 -1
  293. package/behaviors/registry/cli/atoms/std-orb-lint-state-unreachable.orb +1 -1
  294. package/behaviors/registry/cli/atoms/std-orb-lint-store-binding.orb +1 -1
  295. package/behaviors/registry/cli/atoms/std-orb-lint-theme-pin-contradicts-app.orb +1 -1
  296. package/behaviors/registry/cli/atoms/std-orb-lint-theme-ref.orb +1 -1
  297. package/behaviors/registry/cli/atoms/std-orb-lint-theme-undeclared.orb +1 -1
  298. package/behaviors/registry/cli/atoms/std-orb-lint-theme-values.orb +1 -1
  299. package/behaviors/registry/cli/atoms/std-orb-lint-tick-requires-runtime.orb +1 -1
  300. package/behaviors/registry/cli/atoms/std-orb-lint-time-unit.orb +1 -1
  301. package/behaviors/registry/cli/atoms/std-orb-lint-trait-embeds.orb +1 -1
  302. package/behaviors/registry/cli/atoms/std-orb-lint-trait-id-uniqueness.orb +1 -1
  303. package/behaviors/registry/cli/atoms/std-orb-lint-trait-mounts.orb +1 -1
  304. package/behaviors/registry/cli/atoms/std-orb-lint-trait-ref-config.orb +1 -1
  305. package/behaviors/registry/cli/atoms/std-orb-lint-trait-refs.orb +1 -1
  306. package/behaviors/registry/cli/atoms/std-orb-lint-transition-refs.orb +1 -1
  307. package/behaviors/registry/cli/atoms/std-orb-lint-type-param-sweep.orb +1 -1
  308. package/behaviors/registry/cli/atoms/std-orb-lint-unsigned-guard.orb +1 -1
  309. package/behaviors/registry/cli/atoms/std-orb-lint-untyped-array.orb +1 -1
  310. package/behaviors/registry/cli/atoms/std-orb-lint-user-field-exists.orb +1 -1
  311. package/behaviors/registry/cli/atoms/std-orb-lint-user-identity.orb +1 -1
  312. package/behaviors/registry/cli/atoms/std-orb-lint-viewer-stranded.orb +1 -1
  313. package/behaviors/registry/cli/atoms/std-orb-mcp-install.orb +1 -1
  314. package/behaviors/registry/cli/atoms/std-orb-mcp.orb +1 -1
  315. package/behaviors/registry/cli/atoms/std-orb-supervise.orb +1 -1
  316. package/behaviors/registry/cli/atoms/std-orb-update-notice.orb +1 -1
  317. package/behaviors/registry/cli/atoms/std-orb-validate.orb +1 -1
  318. package/behaviors/registry/dev/atoms/std-launchpad-updates.orb +1 -1
  319. package/behaviors/registry/dev/atoms/std-orb-stats.orb +1 -1
  320. package/behaviors/registry/dev/organisms/std-launchpad.orb +5 -0
  321. package/package.json +1 -1
@@ -1 +1 @@
1
- {"typeContractVersion":1,"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintLoopInvariantParseCodes":[{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintNodeUnchecked","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"wLoopInvariantParse","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"jsonRoundtrip","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"LoopExpr":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}]}],"LoopInvariantProgram":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"LoopMachine":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"LoopOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"LoopTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"LoopTransition":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"RtCall":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"RtGate":[{"nullable":false,"name":"","type":"Map<string,boolean>","items":{"nullable":false,"name":"","type":"boolean"}}],"RtIndex":[{"nullable":false,"name":"","type":"Map<string,[RtCall]>","items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"items":{"nullable":false,"name":"","type":"RtCall","projectedFrom":{"type":"RtCall"}}}}],"RtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[RtVal]","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}},{"nullable":false,"name":"object","type":"Map<string,RtVal>","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}}]}],"RtWrite":[{"nullable":false,"name":"o","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"RtVal","properties":[],"projectedFrom":{"type":"RtVal"}},{"nullable":false,"name":"w","type":"string","required":true}]},"name":"std-orb-lint-loop-invariant-parse","version":"1.0.0","description":"std-orb-lint-loop-invariant-parse — the `orb lint loop-invariant-parse <file>` command. It lowers the file with program/read and walks the guard and every effect of every inline trait transition: inside the lambda of any operator taking an fn, a call to json/parse or bytes/to-string whose argument references none of that lambda's parameters, nor a name bound by a let or an inner lambda inside it, re-parses the same value for every element. Each such call is a warning ORB_W_LOOP_INVARIANT_PARSE; a call is judged against its nearest enclosing lambda and reported once. Across transitions of one orbital, a json/parse of an entity field (or of a record key read from it with object/get, directly or through array/first, array/last or array/nth) whose every set writes a json/stringify result (a whole value, or the key of an appended or assigned record) is ORB_JSON_ROUNDTRIP at the parse site; one set from any other value makes the parse legitimate. Clean answers `lint loop-invariant-parse: clean` (status 200, exit 0); warnings fail the run like errors (status 500, exit 1). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintLoopInvariantParseOrbital","id":"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9","uses":[{"from":"almadar-std/lint-loop-invariant-parse","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintLoopInvariantParseRun","id":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","persistence":"runtime","fields":[{"nullable":false,"name":"sCalls","type":"object","default":{},"items":{"nullable":false,"type":"array","items":{"nullable":false,"type":"object","properties":{"path":{"nullable":false,"name":"path","type":"string","required":false},"node":{"nullable":true,"name":"node","type":"union","required":false,"values":["string","number","boolean","array","map"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"number":{"nullable":false,"name":"number","type":"number"},"boolean":{"nullable":false,"name":"boolean","type":"boolean"},"array":{"nullable":false,"name":"array","type":"array","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}},"map":{"nullable":false,"name":"map","type":"object","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}}},"projectedFrom":{"type":"GtVal"}},"at":{"nullable":false,"name":"at","type":"number","required":false}},"projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"sitesHeard","type":"boolean","default":false},{"nullable":false,"name":"sitesScope","type":"string","default":""},{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintLoopInvariantParse","id":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.sCalls"},{"kind":"set","resource":"@entity.scope"},{"kind":"set","resource":"@entity.sitesHeard"},{"kind":"set","resource":"@entity.sitesScope"}],"linkedEntity":"OrbLintLoopInvariantParseRun","linkedEntityId":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","entityRefIds":{"OrbLintLoopInvariantParseRun":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68"},"emits":[{"event":"LINT_FOUND","eventId":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","triggers":"LINT_INPUT","triggersId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}},{"event":"LINT_SITES","triggers":"SITES_HEARD","triggersId":"evt_55ADSWP19P0MVERGYAHT2Z33ME","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_8XF146MASW5CY4FK9E7JVB15R3","name":"Initialize"},{"key":"SITES_HEARD","id":"evt_55ADSWP19P0MVERGYAHT2Z33ME","name":"Sites Heard","description":"std-orb-lint-input's LINT_SITES: guard heads and roots, the call hits by head and the @trait. and @entity. leaves.","payloadSchema":[{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"guardHeads","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"guardRoots","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"calls","type":"Map<string,[GtCallHit]>","required":true,"items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"trait","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}},{"nullable":false,"name":"entity","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}],"listened":true},{"key":"LINT_INPUT","id":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"projectedFrom":{"type":"LoopInvariantProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_8XF146MASW5CY4FK9E7JVB15R3"},{"from":"ready","to":"ready","event":"SITES_HEARD","eventId":"evt_55ADSWP19P0MVERGYAHT2Z33ME","effects":[["set","@entity.sCalls","@payload.calls"],["set","@entity.sitesHeard",true],["set","@entity.sitesScope","@payload.scope"]]},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["if",["and","@entity.sitesHeard",["=","@entity.sitesScope","@payload.scope"]],["let",[["orbitals",["object/get","@payload.program","orbitals",[]]],["gate",["default",["as",["object/fromEntries",["array/map",["array/concat",["object/get","@entity.sCalls","json/parse",[]],["object/get","@entity.sCalls","bytes/to-string",[]]],["fn","c",[["str/replaceAll",["default",["array/first",["str/split",["default",["array/first",["str/split",["object/get","@c","path",""],".effects["]],""],".guard"]],""],".","~"],true]]]],"RtGate"],{}]]],["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["orb",["array/nth","@orbitals","@oi"]]],["array/flatten",["array/map",["array/range",0,["array/len",["object/get","@orb","traits",[]]]],["fn","ti",["let",[["td",["array/nth",["object/get","@orb","traits",[]],"@ti"]]],["let",[["trs",["object/get",["object/get","@td","stateMachine",{}],"transitions",[]]]],["array/flatten",["array/map",["array/range",0,["array/len","@trs"]],["fn","tj",["if",["not",["object/has","@gate",["str/concat","orbitals[","@oi","]~traits[","@ti","]~stateMachine~transitions[","@tj","]"]]],[],["let",[["tr",["array/nth","@trs","@tj"]],["base",["str/concat","orbitals[","@oi"," (",["object/get","@orb","name",""],")].traits[","@ti"," (",["object/get","@td","name",""],")].stateMachine.transitions[","@tj","]"]]],["let",[["roots",["array/concat",["if",["object/has","@tr","guard"],[{"w":["str/concat","@base",".guard"],"e":["object/get","@tr","guard"]}],[]],["array/map",["array/range",0,["array/len",["object/get","@tr","effects",[]]]],["fn","ei",{"w":["str/concat","@base",".effects[","@ei","]"],"e":["array/nth",["object/get","@tr","effects",[]],"@ei"]}]]]]],["array/flatten",["array/map","@roots",["fn","x",["let",[["fres",["tree/fold",["object/get","@x","e"],["fn",["n","k"],["if",["validate/array","@n"],["let",[["op",["let",[["o0",["array/nth","@n",0]]],["if",["validate/string","@o0"],"@o0",""]]],["all",["array/flatten",["array/filter","@k",["fn","r",["!=","@r",null]]]]]],["if",["=","@op","fn"],["let",[["p",["array/nth","@n",1]]],["let",[["params",["if",["validate/string","@p"],["@p"],["if",["validate/array","@p"],["array/flatten",["array/map","@p",["fn","q",["if",["validate/string","@q"],["@q"],[]]]]],[]]]],["inner","@all"]],["let",[["bound",["array/concat","@params",["array/map",["array/filter","@inner",["fn","f",["=",["object/get","@f","kind"],"bind"]]],["fn","f",["object/get","@f","name"]]]]]],["array/concat",["array/filter","@all",["fn","f",["!=",["object/get","@f","kind"],"call"]]],["array/map","@params",["fn","q",{"kind":"bind","name":"@q","op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}]],["array/map",["array/filter","@inner",["fn","c",["and",["=",["object/get","@c","kind"],"call"],["not",["array/some",["object/get","@c","refs"],["fn","nm",["and",["not",["array/includes",["object/get","@c","binds"],"@nm"]],["array/includes","@bound","@nm"]]]]]]]],["fn","c",{"kind":"hit","name":"","op":["object/get","@c","op"],"refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}]]]]]],["if",["=","@op","let"],["let",[["bs",["array/nth","@n",1]]],["array/concat","@all",["if",["validate/array","@bs"],["array/flatten",["array/map","@bs",["fn","b",["if",["validate/array","@b"],["let",[["nm",["array/nth","@b",0]]],["if",["validate/string","@nm"],[{"kind":"bind","name":"@nm","op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]],[]]]]],[]]]],["if",["or",["=","@op","json/parse"],["=","@op","bytes/to-string"]],["let",[["arg","@all"],["a1",["if",[">",["array/len","@n"],1],["array/nth","@n",1],""]]],["array/concat",["array/append","@all",{"kind":"call","name":"","op":"@op","refs":["array/map",["array/filter","@arg",["fn","f",["=",["object/get","@f","kind"],"ref"]]],["fn","f",["object/get","@f","name"]]],"binds":["array/map",["array/filter","@arg",["fn","f",["=",["object/get","@f","kind"],"bind"]]],["fn","f",["object/get","@f","name"]]]}],["if",["and",["=","@op","json/parse"],["validate/array","@a1"],[">",["array/len","@a1"],0],["=",["let",[["h",["array/nth","@a1",0]]],["if",["validate/string","@h"],"@h",""]],"json/stringify"]],[{"kind":"roundtrip","name":"","op":"@op","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]]],"@all"]]]],["if",["and",["validate/string","@n"],["str/startsWith","@n",["quote","\"\\u0040\""]]],[{"kind":"ref","name":["array/first",["str/split",["str/slice","@n",1,["str/len","@n"]],"."]],"op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]]],"LoopExpr","{\"name\":\"LoopExpr\",\"nullable\":false,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"properties\":{\"array\":{\"items\":{\"nullable\":true,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"type\":\"union\",\"values\":[\"LoopExpr\"]},\"name\":\"array\",\"nullable\":false,\"type\":\"array\"},\"boolean\":{\"name\":\"boolean\",\"nullable\":false,\"type\":\"boolean\"},\"map\":{\"items\":{\"nullable\":true,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"type\":\"union\",\"values\":[\"LoopExpr\"]},\"name\":\"map\",\"nullable\":false,\"type\":\"object\"},\"number\":{\"name\":\"number\",\"nullable\":false,\"type\":\"number\"},\"string\":{\"name\":\"string\",\"nullable\":false,\"type\":\"string\"}},\"type\":\"union\",\"values\":[\"string\",\"number\",\"boolean\",\"array\",\"map\"]}"]]],["if",["=","@fres",null],["let",[["up",["object/get","@x","w"]]],[{"code":"@config.codes.lintNodeUnchecked.code","path":"@up","message":["str/concat","@payload.file",": schema node at ","@up"," is not a LoopExpr; this rule could not check it"],"suggestion":"","severity":"error"}]],["array/concat",["array/map",["array/filter","@fres",["fn","f",["=",["object/get","@f","kind"],"hit"]]],["fn","c",{"code":"@config.codes.wLoopInvariantParse.code","path":["object/get","@x","w"],"message":["str/concat",["object/get","@c","op"]," re-parses the same value for every element; bind it once with let outside the lambda"],"suggestion":"Bind the parsed value once with `let` outside the lambda and use the bound name inside it.","severity":"warning"}]],["array/map",["array/filter","@fres",["fn","f",["=",["object/get","@f","kind"],"roundtrip"]]],["fn","c",{"code":"@config.codes.jsonRoundtrip.code","path":["object/get","@x","w"],"message":"json/parse re-parses a value json/stringify just serialized: this round trip launders the value's type past the checker","suggestion":"Narrow the value with `(as value T)` instead; keep json/parse for text that arrives as text (a body, a file, rawBody).","severity":"error"}]]]]]]]]]]]]]]]]]]]]]]]],[{"code":"@config.codes.lintIndexMissing.code","path":"","message":"the lint input arrived without LINT_SITES, so this rule cannot check the program","suggestion":"std-orb-lint-input sends LINT_SITES before LINT_INPUT; this rule did not hear it","severity":"error"}]]],["set","@entity.findings",["array/concat","@entity.findings",["let",[["idx",["if",["and","@entity.sitesHeard",["=","@entity.sitesScope","@payload.scope"]],"@entity.sCalls",{}]],["ent",["quote","\"\\u0040entity.\""]]],["let",[["writes",["array/flatten",["array/map",["object/get","@idx","set",[]],["fn","c",["let",[["n",["object/get","@c","node",null]],["cp",["object/get","@c","path",""]]],["if",["and",["validate/array","@n"],[">",["array/len","@n"],2]],["let",[["t",["array/nth","@n",1]]],["if",["and",["validate/string","@t"],["str/startsWith","@t","@ent"]],[{"o":["default",["array/first",["str/split","@cp",".traits["]],""],"f":["str/slice","@t",["str/len","@ent"],["str/len","@t"]],"v":["array/nth","@n",2],"w":"@cp"}],[]]],[]]]]]]]],["array/flatten",["array/map",["object/get","@idx","json/parse",[]],["fn","p",["let",[["pn",["object/get","@p","node",null]],["pp",["object/get","@p","path",""]]],["let",[["po",["default",["array/first",["str/split","@pp",".traits["]],""]],["slots",["if",["and",["validate/array","@pn"],[">",["array/len","@pn"],1]],["let",[["a",["array/nth","@pn",1]]],["if",["validate/string","@a"],["if",["str/startsWith","@a","@ent"],[{"f":["str/slice","@a",["str/len","@ent"],["str/len","@a"]],"k":""}],[]],["if",["and",["validate/array","@a"],[">",["array/len","@a"],2],["=",["array/nth","@a",0],"object/get"]],["let",[["x",["array/nth","@a",1]],["kk",["array/nth","@a",2]]],["let",[["r",["if",["validate/array","@x"],["if",["and",[">",["array/len","@x"],1],["array/includes",["list","array/first","array/last","array/nth"],["array/nth","@x",0]]],["array/nth","@x",1],""],"@x"]]],["if",["and",["validate/string","@kk"],["validate/string","@r"],["str/startsWith","@r","@ent"]],[{"f":["str/slice","@r",["str/len","@ent"],["str/len","@r"]],"k":"@kk"}],[]]]],[]]]],[]]]],["array/flatten",["array/map","@slots",["fn","sl",["let",[["f",["object/get","@sl","f"]],["k",["object/get","@sl","k"]]],["let",[["mine",["array/filter","@writes",["fn","w",["and",["=",["object/get","@w","o"],"@po"],["=",["object/get","@w","f"],"@f"]]]]]],["let",[["kinds",["array/map","@mine",["fn","w",["let",[["v",["object/get","@w","v",null]],["ww",["object/get","@w","w"]]],["let",[["kd",["if",["validate/array","@v"],["let",[["h",["let",[["h0",["array/nth","@v",0]]],["if",["validate/string","@h0"],"@h0",""]]]],["if",["=","@h","json/stringify"],["if",["=","@k",""],"str","other"],["if",["and",[">",["array/len","@v"],1],["=",["array/nth","@v",1],["str/concat","@ent","@f"]]],["if",["array/includes",["list","array/drop","array/take","array/filter","array/rest","array/slice"],"@h"],"skip",["if",["and",["=","@h","array/append"],["!=","@k",""],["=",["array/len","@v"],3]],["let",[["m",["array/nth","@v",2]]],["if",["validate/object","@m"],["if",["object/has","@m","@k"],["let",[["e",["object/get","@m","@k"]]],["if",["and",["validate/array","@e"],["=",["array/nth","@e",0],"json/stringify"]],"str","other"]],"skip"],"other"]],"other"]],"other"]]],["if",["and",["validate/object","@v"],["!=","@k",""]],["if",["object/has","@v","@k"],["let",[["e",["object/get","@v","@k"]]],["if",["and",["validate/array","@e"],["=",["array/nth","@e",0],"json/stringify"]],"str","other"]],"skip"],"other"]]]],{"w":"@ww","kind":"@kd"}]]]]],["stringified",["array/filter","@kinds",["fn","q",["=",["object/get","@q","kind"],"str"]]]]],["if",["and",[">",["array/len","@stringified"],0],["not",["array/some","@kinds",["fn","q",["=",["object/get","@q","kind"],"other"]]]]],[{"code":"@config.codes.jsonRoundtrip.code","path":"@pp","message":["str/concat","json/parse re-parses entity field '","@f",["if",["=","@k",""],"",["str/concat",".","@k"]],"' whose every write is a json/stringify (written in ",["default",["array/first",["str/split",["object/get",["default",["array/first","@stringified"],{}],"w",""],".effects["]],""],"): this round trip launders the value's type past the checker"],"suggestion":"Store the typed value in the field, or narrow it with `(as value T)`; keep json/parse for text that arrives as text (a body, a file, rawBody).","severity":"error"}],[]]]]]]]]]]]]]]]]],["set","@entity.sitesHeard",false],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","effects":[["emit","LINT_FOUND",{"rule":"loop-invariant-parse","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintLoopInvariantParseCodes","default":{"lintIndexMissing":{"code":"ORB_LINT_INDEX_MISSING","category":"lint","description":"The lint input arrived without a shared program fact the rule reads (the structural index, sites, units, embeds or entities), so the rule cannot check the program"},"lintNodeUnchecked":{"code":"LINT_NODE_UNCHECKED","category":"lint","description":"A lint rule met a schema node of an unexpected shape and could not check it"},"wLoopInvariantParse":{"code":"ORB_W_LOOP_INVARIANT_PARSE","category":"lint","description":"A parse inside a lambda re-parses the same value for every element and should be bound once outside"},"jsonRoundtrip":{"code":"ORB_JSON_ROUNDTRIP","category":"lint","description":"json/parse re-parses what json/stringify just serialized; a stringify→parse round trip launders a value's type past the checker (owner hard rule, CLAUDE.md). Narrow with `as`."}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"lintIndexMissing":{"nullable":false,"name":"lintIndexMissing","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"lintNodeUnchecked":{"nullable":false,"name":"lintNodeUnchecked","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"wLoopInvariantParse":{"nullable":false,"name":"wLoopInvariantParse","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"jsonRoundtrip":{"nullable":false,"name":"jsonRoundtrip","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintLoopInvariantParseCodes"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","fingerprint":"9ab0a5054334dd9697d7bcb18d0d621c032af10d30d106dd8854f08f4def07f7"}},{"name":"OrbLintLoopInvariantParseCli","id":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintLoopInvariantParseRun","linkedEntityId":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","entityRefIds":{"OrbLintLoopInvariantParseRun":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","triggers":"LINT_FOUND","triggersId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","source":{"kind":"trait","trait":"OrbLintLoopInvariantParse","traitId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_EMD44MWKCF9P7GBHRADC299777","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","name":"Lint Called","description":"Run `orb lint loop-invariant-parse` with its arguments and working directory.","synonyms":"orb lint loop-invariant-parse, duplicate field names","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-loop-invariant-parse","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_EMD44MWKCF9P7GBHRADC299777","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","guard":["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["or",["=","@a",null],["!=",["array/len",["object/get","@a","argv"]],1]]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","guard":["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["and",["!=","@a",null],["=",["array/len",["object/get","@a","argv"]],1]]],"effects":[["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["if",["=","@a",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}],["let",[["f",["array/first",["object/get","@a","argv"]]]],["if",["=","@f",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}],["emit","LINT_REQUEST",{"file":"@f"}]]]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","guard":["and",["=","@payload.rule","loop-invariant-parse"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint loop-invariant-parse: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","guard":["and",["=","@payload.rule","loop-invariant-parse"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint loop-invariant-parse: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","fingerprint":"8133c3f72f598f0e15aa821359e1d53e6b4222befba7d0d43645c284336d7a60"}},{"ref":"Input.traits.Versions","id":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_97F4G2S9WEMY77JHYQ9WYYNV13","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintLoopInvariantParseCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintLoopInvariantParseOrbitalStart","id":"pag_6QHN0CHVAZXNFRGDAD68H4JYDK","path":"","protocol":"boot","traits":[{"ref":"OrbLintLoopInvariantParse","refId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},{"ref":"OrbLintLoopInvariantParseCli","refId":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},{"ref":"OrbLintInput","refId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"},{"ref":"Packs","refId":"trt_97F4G2S9WEMY77JHYQ9WYYNV13"},{"ref":"Versions","refId":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK"}]}],"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintLoopInvariantParseCodes":[{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintNodeUnchecked","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"wLoopInvariantParse","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"jsonRoundtrip","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"LoopExpr":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}]}],"LoopInvariantProgram":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"LoopMachine":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"LoopOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"LoopTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"LoopTransition":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"RtCall":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"RtGate":[{"nullable":false,"name":"","type":"Map<string,boolean>","items":{"nullable":false,"name":"","type":"boolean"}}],"RtIndex":[{"nullable":false,"name":"","type":"Map<string,[RtCall]>","items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"items":{"nullable":false,"name":"","type":"RtCall","projectedFrom":{"type":"RtCall"}}}}],"RtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[RtVal]","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}},{"nullable":false,"name":"object","type":"Map<string,RtVal>","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}}]}],"RtWrite":[{"nullable":false,"name":"o","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"RtVal","properties":[],"projectedFrom":{"type":"RtVal"}},{"nullable":false,"name":"w","type":"string","required":true}]}}],"inbound":["cli-lint-loop-invariant-parse"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":["orb"],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ZJNTWQ31R3GW1GS20AA4TTJE68":{"id":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","kind":"entity","bakedName":"OrbLintLoopInvariantParseRun","curName":"OrbLintLoopInvariantParseRun","renames":[],"owner":"workspace"},"evt_55ADSWP19P0MVERGYAHT2Z33ME":{"id":"evt_55ADSWP19P0MVERGYAHT2Z33ME","kind":"event","bakedName":"SITES_HEARD","curName":"SITES_HEARD","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC":{"id":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_8XF146MASW5CY4FK9E7JVB15R3":{"id":"evt_8XF146MASW5CY4FK9E7JVB15R3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_EMD44MWKCF9P7GBHRADC299777":{"id":"evt_EMD44MWKCF9P7GBHRADC299777","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_P38JTZFK7RSKWEZ8A08H1WNV44":{"id":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S":{"id":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_SCZDD88B6T5KD2N6AT08Y9R74K":{"id":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM":{"id":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY":{"id":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3":{"id":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88":{"id":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9":{"id":"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9","kind":"orbital","bakedName":"OrbLintLoopInvariantParseOrbital","curName":"OrbLintLoopInvariantParseOrbital","renames":[],"owner":"workspace"},"pag_6QHN0CHVAZXNFRGDAD68H4JYDK":{"id":"pag_6QHN0CHVAZXNFRGDAD68H4JYDK","kind":"page","bakedName":"OrbLintLoopInvariantParseOrbitalStart","curName":"OrbLintLoopInvariantParseOrbitalStart","renames":[],"owner":"workspace"},"trt_97F4G2S9WEMY77JHYQ9WYYNV13":{"id":"trt_97F4G2S9WEMY77JHYQ9WYYNV13","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_B2EHC7MSR8CW42S0FBNCCBA1MB":{"id":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_DGWM91Y3VD1XPGPS37GE4BXYQT":{"id":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","kind":"trait","bakedName":"OrbLintLoopInvariantParseCli","curName":"OrbLintLoopInvariantParseCli","renames":[],"owner":"workspace"},"trt_H7WGE8QCX8PEM2RSC16GJPMRR8":{"id":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","kind":"trait","bakedName":"OrbLintLoopInvariantParse","curName":"OrbLintLoopInvariantParse","renames":[],"owner":"workspace"},"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK":{"id":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}
1
+ {"typeContractVersion":1,"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintLoopInvariantParseCodes":[{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintNodeUnchecked","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"wLoopInvariantParse","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"jsonRoundtrip","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"LoopExpr":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}]}],"LoopInvariantProgram":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"LoopMachine":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"LoopOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"LoopTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"LoopTransition":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"RtCall":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"RtGate":[{"nullable":false,"name":"","type":"Map<string,boolean>","items":{"nullable":false,"name":"","type":"boolean"}}],"RtIndex":[{"nullable":false,"name":"","type":"Map<string,[RtCall]>","items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"items":{"nullable":false,"name":"","type":"RtCall","projectedFrom":{"type":"RtCall"}}}}],"RtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[RtVal]","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}},{"nullable":false,"name":"object","type":"Map<string,RtVal>","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}}]}],"RtWrite":[{"nullable":false,"name":"o","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"RtVal","properties":[],"projectedFrom":{"type":"RtVal"}},{"nullable":false,"name":"w","type":"string","required":true}]},"name":"std-orb-lint-loop-invariant-parse","version":"1.0.0","description":"std-orb-lint-loop-invariant-parse — the `orb lint loop-invariant-parse <file>` command. It lowers the file with program/read and walks the guard and every effect of every inline trait transition: inside the lambda of any operator taking an fn, a call to json/parse or bytes/to-string whose argument references none of that lambda's parameters, nor a name bound by a let or an inner lambda inside it, re-parses the same value for every element. Each such call is a warning ORB_W_LOOP_INVARIANT_PARSE; a call is judged against its nearest enclosing lambda and reported once. Across transitions of one orbital, a json/parse of an entity field (or of a record key read from it with object/get, directly or through array/first, array/last or array/nth) whose every set writes a json/stringify result (a whole value, or the key of an appended or assigned record) is ORB_JSON_ROUNDTRIP at the parse site; one set from any other value makes the parse legitimate. Clean answers `lint loop-invariant-parse: clean` (status 200, exit 0); warnings fail the run like errors (status 500, exit 1). Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintLoopInvariantParseOrbital","id":"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9","uses":[{"from":"almadar-std/lint-loop-invariant-parse","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintLoopInvariantParseRun","id":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","persistence":"runtime","fields":[{"nullable":false,"name":"sCalls","type":"object","default":{},"items":{"nullable":false,"type":"array","items":{"nullable":false,"type":"object","properties":{"path":{"nullable":false,"name":"path","type":"string","required":false},"node":{"nullable":true,"name":"node","type":"union","required":false,"values":["string","number","boolean","array","map"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"number":{"nullable":false,"name":"number","type":"number"},"boolean":{"nullable":false,"name":"boolean","type":"boolean"},"array":{"nullable":false,"name":"array","type":"array","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}},"map":{"nullable":false,"name":"map","type":"object","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}}},"projectedFrom":{"type":"GtVal"}},"at":{"nullable":false,"name":"at","type":"number","required":false}},"projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"sitesHeard","type":"boolean","default":false},{"nullable":false,"name":"sitesScope","type":"string","default":""},{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintLoopInvariantParse","id":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.sCalls"},{"kind":"set","resource":"@entity.scope"},{"kind":"set","resource":"@entity.sitesHeard"},{"kind":"set","resource":"@entity.sitesScope"}],"linkedEntity":"OrbLintLoopInvariantParseRun","linkedEntityId":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","entityRefIds":{"OrbLintLoopInvariantParseRun":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68"},"emits":[{"event":"LINT_FOUND","eventId":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","triggers":"LINT_INPUT","triggersId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}},{"event":"LINT_SITES","triggers":"SITES_HEARD","triggersId":"evt_55ADSWP19P0MVERGYAHT2Z33ME","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_8XF146MASW5CY4FK9E7JVB15R3","name":"Initialize"},{"key":"SITES_HEARD","id":"evt_55ADSWP19P0MVERGYAHT2Z33ME","name":"Sites Heard","description":"std-orb-lint-input's LINT_SITES: guard heads and roots, the call hits by head and the @trait. and @entity. leaves.","payloadSchema":[{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"guardHeads","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"guardRoots","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"calls","type":"Map<string,[GtCallHit]>","required":true,"items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"trait","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}},{"nullable":false,"name":"entity","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}],"listened":true},{"key":"LINT_INPUT","id":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"projectedFrom":{"type":"LoopInvariantProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_8XF146MASW5CY4FK9E7JVB15R3"},{"from":"ready","to":"ready","event":"SITES_HEARD","eventId":"evt_55ADSWP19P0MVERGYAHT2Z33ME","effects":[["set","@entity.sCalls","@payload.calls"],["set","@entity.sitesHeard",true],["set","@entity.sitesScope","@payload.scope"]]},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["if",["and","@entity.sitesHeard",["=","@entity.sitesScope","@payload.scope"]],["let",[["orbitals",["object/get","@payload.program","orbitals",[]]],["gate",["default",["as",["object/fromEntries",["array/map",["array/concat",["object/get","@entity.sCalls","json/parse",[]],["object/get","@entity.sCalls","bytes/to-string",[]]],["fn","c",[["str/replaceAll",["default",["array/first",["str/split",["default",["array/first",["str/split",["object/get","@c","path",""],".effects["]],""],".guard"]],""],".","~"],true]]]],"RtGate"],{}]]],["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["orb",["array/nth","@orbitals","@oi"]]],["array/flatten",["array/map",["array/range",0,["array/len",["object/get","@orb","traits",[]]]],["fn","ti",["let",[["td",["array/nth",["object/get","@orb","traits",[]],"@ti"]]],["let",[["trs",["object/get",["object/get","@td","stateMachine",{}],"transitions",[]]]],["array/flatten",["array/map",["array/range",0,["array/len","@trs"]],["fn","tj",["if",["not",["object/has","@gate",["str/concat","orbitals[","@oi","]~traits[","@ti","]~stateMachine~transitions[","@tj","]"]]],[],["let",[["tr",["array/nth","@trs","@tj"]],["base",["str/concat","orbitals[","@oi"," (",["object/get","@orb","name",""],")].traits[","@ti"," (",["object/get","@td","name",""],")].stateMachine.transitions[","@tj","]"]]],["let",[["roots",["array/concat",["if",["object/has","@tr","guard"],[{"w":["str/concat","@base",".guard"],"e":["object/get","@tr","guard"]}],[]],["array/map",["array/range",0,["array/len",["object/get","@tr","effects",[]]]],["fn","ei",{"w":["str/concat","@base",".effects[","@ei","]"],"e":["array/nth",["object/get","@tr","effects",[]],"@ei"]}]]]]],["array/flatten",["array/map","@roots",["fn","x",["let",[["fres",["tree/fold",["object/get","@x","e"],["fn",["n","k"],["if",["validate/array","@n"],["let",[["op",["let",[["o0",["array/nth","@n",0]]],["if",["validate/string","@o0"],"@o0",""]]],["all",["array/flatten",["array/filter","@k",["fn","r",["!=","@r",null]]]]]],["if",["=","@op","fn"],["let",[["p",["array/nth","@n",1]]],["let",[["params",["if",["validate/string","@p"],["@p"],["if",["validate/array","@p"],["array/flatten",["array/map","@p",["fn","q",["if",["validate/string","@q"],["@q"],[]]]]],[]]]],["inner","@all"]],["let",[["bound",["array/concat","@params",["array/map",["array/filter","@inner",["fn","f",["=",["object/get","@f","kind"],"bind"]]],["fn","f",["object/get","@f","name"]]]]]],["array/concat",["array/filter","@all",["fn","f",["!=",["object/get","@f","kind"],"call"]]],["array/map","@params",["fn","q",{"kind":"bind","name":"@q","op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}]],["array/map",["array/filter","@inner",["fn","c",["and",["=",["object/get","@c","kind"],"call"],["not",["array/some",["object/get","@c","refs"],["fn","nm",["and",["not",["array/includes",["object/get","@c","binds"],"@nm"]],["array/includes","@bound","@nm"]]]]]]]],["fn","c",{"kind":"hit","name":"","op":["object/get","@c","op"],"refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}]]]]]],["if",["=","@op","let"],["let",[["bs",["array/nth","@n",1]]],["array/concat","@all",["if",["validate/array","@bs"],["array/flatten",["array/map","@bs",["fn","b",["if",["validate/array","@b"],["let",[["nm",["array/nth","@b",0]]],["if",["validate/string","@nm"],[{"kind":"bind","name":"@nm","op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]],[]]]]],[]]]],["if",["or",["=","@op","json/parse"],["=","@op","bytes/to-string"]],["let",[["arg","@all"],["a1",["if",[">",["array/len","@n"],1],["array/nth","@n",1],""]]],["array/concat",["array/append","@all",{"kind":"call","name":"","op":"@op","refs":["array/map",["array/filter","@arg",["fn","f",["=",["object/get","@f","kind"],"ref"]]],["fn","f",["object/get","@f","name"]]],"binds":["array/map",["array/filter","@arg",["fn","f",["=",["object/get","@f","kind"],"bind"]]],["fn","f",["object/get","@f","name"]]]}],["if",["and",["=","@op","json/parse"],["validate/array","@a1"],[">",["array/len","@a1"],0],["=",["let",[["h",["array/nth","@a1",0]]],["if",["validate/string","@h"],"@h",""]],"json/stringify"]],[{"kind":"roundtrip","name":"","op":"@op","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]]],"@all"]]]],["if",["and",["validate/string","@n"],["str/startsWith","@n",["quote","\"\\u0040\""]]],[{"kind":"ref","name":["array/first",["str/split",["str/slice","@n",1,["str/len","@n"]],"."]],"op":"","refs":["array/filter",[""],["fn","q",false]],"binds":["array/filter",[""],["fn","q",false]]}],[]]]],"LoopExpr","{\"name\":\"LoopExpr\",\"nullable\":false,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"properties\":{\"array\":{\"items\":{\"nullable\":true,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"type\":\"union\",\"values\":[\"LoopExpr\"]},\"name\":\"array\",\"nullable\":false,\"type\":\"array\"},\"boolean\":{\"name\":\"boolean\",\"nullable\":false,\"type\":\"boolean\"},\"map\":{\"items\":{\"nullable\":true,\"projectedFrom\":{\"type\":\"LoopExpr\"},\"type\":\"union\",\"values\":[\"LoopExpr\"]},\"name\":\"map\",\"nullable\":false,\"type\":\"object\"},\"number\":{\"name\":\"number\",\"nullable\":false,\"type\":\"number\"},\"string\":{\"name\":\"string\",\"nullable\":false,\"type\":\"string\"}},\"type\":\"union\",\"values\":[\"string\",\"number\",\"boolean\",\"array\",\"map\"]}"]]],["if",["=","@fres",null],["let",[["up",["object/get","@x","w"]]],[{"code":"@config.codes.lintNodeUnchecked.code","path":"@up","message":["str/concat","@payload.file",": schema node at ","@up"," is not a LoopExpr; this rule could not check it"],"suggestion":"","severity":"error"}]],["array/concat",["array/map",["array/filter","@fres",["fn","f",["=",["object/get","@f","kind"],"hit"]]],["fn","c",{"code":"@config.codes.wLoopInvariantParse.code","path":["object/get","@x","w"],"message":["str/concat",["object/get","@c","op"]," re-parses the same value for every element; bind it once with let outside the lambda"],"suggestion":"Bind the parsed value once with `let` outside the lambda and use the bound name inside it.","severity":"warning"}]],["array/map",["array/filter","@fres",["fn","f",["=",["object/get","@f","kind"],"roundtrip"]]],["fn","c",{"code":"@config.codes.jsonRoundtrip.code","path":["object/get","@x","w"],"message":"json/parse re-parses a value json/stringify just serialized: this round trip launders the value's type past the checker","suggestion":"Narrow the value with `(as value T)` instead; keep json/parse for text that arrives as text (a body, a file, rawBody).","severity":"error"}]]]]]]]]]]]]]]]]]]]]]]]],[{"code":"@config.codes.lintIndexMissing.code","path":"","message":"the lint input arrived without LINT_SITES, so this rule cannot check the program","suggestion":"std-orb-lint-input sends LINT_SITES before LINT_INPUT; this rule did not hear it","severity":"error"}]]],["set","@entity.findings",["array/concat","@entity.findings",["let",[["idx",["if",["and","@entity.sitesHeard",["=","@entity.sitesScope","@payload.scope"]],"@entity.sCalls",{}]],["ent",["quote","\"\\u0040entity.\""]]],["let",[["writes",["array/flatten",["array/map",["object/get","@idx","set",[]],["fn","c",["let",[["n",["object/get","@c","node",null]],["cp",["object/get","@c","path",""]]],["if",["and",["validate/array","@n"],[">",["array/len","@n"],2]],["let",[["t",["array/nth","@n",1]]],["if",["and",["validate/string","@t"],["str/startsWith","@t","@ent"]],[{"o":["default",["array/first",["str/split","@cp",".traits["]],""],"f":["str/slice","@t",["str/len","@ent"],["str/len","@t"]],"v":["array/nth","@n",2],"w":"@cp"}],[]]],[]]]]]]]],["array/flatten",["array/map",["object/get","@idx","json/parse",[]],["fn","p",["let",[["pn",["object/get","@p","node",null]],["pp",["object/get","@p","path",""]]],["let",[["po",["default",["array/first",["str/split","@pp",".traits["]],""]],["slots",["if",["and",["validate/array","@pn"],[">",["array/len","@pn"],1]],["let",[["a",["array/nth","@pn",1]]],["if",["validate/string","@a"],["if",["str/startsWith","@a","@ent"],[{"f":["str/slice","@a",["str/len","@ent"],["str/len","@a"]],"k":""}],[]],["if",["and",["validate/array","@a"],[">",["array/len","@a"],2],["=",["array/nth","@a",0],"object/get"]],["let",[["x",["array/nth","@a",1]],["kk",["array/nth","@a",2]]],["let",[["r",["if",["validate/array","@x"],["if",["and",[">",["array/len","@x"],1],["array/includes",["list","array/first","array/last","array/nth"],["array/nth","@x",0]]],["array/nth","@x",1],""],"@x"]]],["if",["and",["validate/string","@kk"],["validate/string","@r"],["str/startsWith","@r","@ent"]],[{"f":["str/slice","@r",["str/len","@ent"],["str/len","@r"]],"k":"@kk"}],[]]]],[]]]],[]]]],["array/flatten",["array/map","@slots",["fn","sl",["let",[["f",["object/get","@sl","f"]],["k",["object/get","@sl","k"]]],["let",[["mine",["array/filter","@writes",["fn","w",["and",["=",["object/get","@w","o"],"@po"],["=",["object/get","@w","f"],"@f"]]]]]],["let",[["kinds",["array/map","@mine",["fn","w",["let",[["v",["object/get","@w","v",null]],["ww",["object/get","@w","w"]]],["let",[["kd",["if",["validate/array","@v"],["let",[["h",["let",[["h0",["array/nth","@v",0]]],["if",["validate/string","@h0"],"@h0",""]]]],["if",["=","@h","json/stringify"],["if",["=","@k",""],"str","other"],["if",["and",[">",["array/len","@v"],1],["=",["array/nth","@v",1],["str/concat","@ent","@f"]]],["if",["array/includes",["list","array/drop","array/take","array/filter","array/rest","array/slice"],"@h"],"skip",["if",["and",["=","@h","array/append"],["!=","@k",""],["=",["array/len","@v"],3]],["let",[["m",["array/nth","@v",2]]],["if",["validate/object","@m"],["if",["object/has","@m","@k"],["let",[["e",["object/get","@m","@k"]]],["if",["and",["validate/array","@e"],["=",["array/nth","@e",0],"json/stringify"]],"str","other"]],"skip"],"other"]],"other"]],"other"]]],["if",["and",["validate/object","@v"],["!=","@k",""]],["if",["object/has","@v","@k"],["let",[["e",["object/get","@v","@k"]]],["if",["and",["validate/array","@e"],["=",["array/nth","@e",0],"json/stringify"]],"str","other"]],"skip"],"other"]]]],{"w":"@ww","kind":"@kd"}]]]]],["stringified",["array/filter","@kinds",["fn","q",["=",["object/get","@q","kind"],"str"]]]]],["if",["and",[">",["array/len","@stringified"],0],["not",["array/some","@kinds",["fn","q",["=",["object/get","@q","kind"],"other"]]]]],[{"code":"@config.codes.jsonRoundtrip.code","path":"@pp","message":["str/concat","json/parse re-parses entity field '","@f",["if",["=","@k",""],"",["str/concat",".","@k"]],"' whose every write is a json/stringify (written in ",["default",["array/first",["str/split",["object/get",["default",["array/first","@stringified"],{}],"w",""],".effects["]],""],"): this round trip launders the value's type past the checker"],"suggestion":"Store the typed value in the field, or narrow it with `(as value T)`; keep json/parse for text that arrives as text (a body, a file, rawBody).","severity":"error"}],[]]]]]]]]]]]]]]]]],["set","@entity.sitesHeard",false],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","effects":[["emit","LINT_FOUND",{"rule":"loop-invariant-parse","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintLoopInvariantParseCodes","default":{"lintIndexMissing":{"code":"ORB_LINT_INDEX_MISSING","category":"lint","description":"The lint input arrived without a shared program fact the rule reads (the structural index, sites, units, embeds or entities), so the rule cannot check the program"},"lintNodeUnchecked":{"code":"LINT_NODE_UNCHECKED","category":"lint","description":"A lint rule met a schema node of an unexpected shape and could not check it"},"wLoopInvariantParse":{"code":"ORB_W_LOOP_INVARIANT_PARSE","category":"lint","description":"A parse inside a lambda re-parses the same value for every element and should be bound once outside"},"jsonRoundtrip":{"code":"ORB_JSON_ROUNDTRIP","category":"lint","description":"json/parse re-parses what json/stringify just serialized; a stringify→parse round trip launders a value's type past the checker (owner hard rule, CLAUDE.md). Narrow with `as`."}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"lintIndexMissing":{"nullable":false,"name":"lintIndexMissing","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"lintNodeUnchecked":{"nullable":false,"name":"lintNodeUnchecked","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"wLoopInvariantParse":{"nullable":false,"name":"wLoopInvariantParse","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"jsonRoundtrip":{"nullable":false,"name":"jsonRoundtrip","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintLoopInvariantParseCodes"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","fingerprint":"9ab0a5054334dd9697d7bcb18d0d621c032af10d30d106dd8854f08f4def07f7"}},{"name":"OrbLintLoopInvariantParseCli","id":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintLoopInvariantParseRun","linkedEntityId":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","entityRefIds":{"OrbLintLoopInvariantParseRun":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","triggers":"LINT_FOUND","triggersId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","source":{"kind":"trait","trait":"OrbLintLoopInvariantParse","traitId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_EMD44MWKCF9P7GBHRADC299777","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","name":"Lint Called","description":"Run `orb lint loop-invariant-parse` with its arguments and working directory.","synonyms":"orb lint loop-invariant-parse, duplicate field names","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-loop-invariant-parse","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_EMD44MWKCF9P7GBHRADC299777","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","guard":["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["or",["=","@a",null],["!=",["array/len",["object/get","@a","argv"]],1]]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","guard":["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["and",["!=","@a",null],["=",["array/len",["object/get","@a","argv"]],1]]],"effects":[["let",[["a",["json/parse","@payload.rawBody","OrbCommandArgs"]]],["if",["=","@a",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}],["let",[["f",["array/first",["object/get","@a","argv"]]]],["if",["=","@f",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint loop-invariant-parse <file>"}],["emit","LINT_REQUEST",{"file":"@f"}]]]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","guard":["and",["=","@payload.rule","loop-invariant-parse"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint loop-invariant-parse: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","guard":["and",["=","@payload.rule","loop-invariant-parse"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_EMD44MWKCF9P7GBHRADC299777","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint loop-invariant-parse: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","fingerprint":"8133c3f72f598f0e15aa821359e1d53e6b4222befba7d0d43645c284336d7a60"}},{"ref":"Input.traits.Versions","id":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_97F4G2S9WEMY77JHYQ9WYYNV13","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintLoopInvariantParseCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintLoopInvariantParseOrbitalStart","id":"pag_6QHN0CHVAZXNFRGDAD68H4JYDK","path":"","protocol":"boot","traits":[{"ref":"OrbLintLoopInvariantParse","refId":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},{"ref":"OrbLintLoopInvariantParseCli","refId":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},{"ref":"OrbLintInput","refId":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB"},{"ref":"Packs","refId":"trt_97F4G2S9WEMY77JHYQ9WYYNV13"},{"ref":"Versions","refId":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK"}]}],"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintLoopInvariantParseCodes":[{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintNodeUnchecked","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"wLoopInvariantParse","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"jsonRoundtrip","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"LoopExpr":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}]}],"LoopInvariantProgram":[{"nullable":false,"name":"orbitals","type":"[object]","required":true,"properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"items":{"nullable":false,"name":"","type":"LoopOrbital","projectedFrom":{"type":"LoopOrbital"}}}],"LoopMachine":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"LoopOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"items":{"nullable":false,"name":"","type":"LoopTrait","projectedFrom":{"type":"LoopTrait"}}}],"LoopTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"items":{"nullable":false,"name":"","type":"LoopTransition","projectedFrom":{"type":"LoopTransition"}}}],"projectedFrom":{"type":"LoopMachine"}}],"LoopTransition":[{"nullable":true,"name":"guard","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}},{"nullable":false,"name":"object","type":"Map<string,LoopExpr>","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"projectedFrom":{"type":"LoopExpr"}},{"nullable":false,"name":"effects","type":"[LoopExpr]","items":{"nullable":true,"name":"","type":"LoopExpr","projectedFrom":{"type":"LoopExpr"}}}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"RtCall":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"RtGate":[{"nullable":false,"name":"","type":"Map<string,boolean>","items":{"nullable":false,"name":"","type":"boolean"}}],"RtIndex":[{"nullable":false,"name":"","type":"Map<string,[RtCall]>","items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"node","type":"RtVal","required":true,"properties":[],"projectedFrom":{"type":"RtVal"}}],"items":{"nullable":false,"name":"","type":"RtCall","projectedFrom":{"type":"RtCall"}}}}],"RtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[RtVal]","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}},{"nullable":false,"name":"object","type":"Map<string,RtVal>","items":{"nullable":true,"name":"","type":"RtVal","projectedFrom":{"type":"RtVal"}}}]}],"RtWrite":[{"nullable":false,"name":"o","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"RtVal","properties":[],"projectedFrom":{"type":"RtVal"}},{"nullable":false,"name":"w","type":"string","required":true}]}}],"inbound":["cli-lint-loop-invariant-parse"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":[],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}],"exec":[{"anchor":"exe"}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_ZJNTWQ31R3GW1GS20AA4TTJE68":{"id":"ent_ZJNTWQ31R3GW1GS20AA4TTJE68","kind":"entity","bakedName":"OrbLintLoopInvariantParseRun","curName":"OrbLintLoopInvariantParseRun","renames":[],"owner":"workspace"},"evt_55ADSWP19P0MVERGYAHT2Z33ME":{"id":"evt_55ADSWP19P0MVERGYAHT2Z33ME","kind":"event","bakedName":"SITES_HEARD","curName":"SITES_HEARD","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC":{"id":"evt_6C4WBR5KKYSSZ122WVBJ5BEFTC","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_8XF146MASW5CY4FK9E7JVB15R3":{"id":"evt_8XF146MASW5CY4FK9E7JVB15R3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_EMD44MWKCF9P7GBHRADC299777":{"id":"evt_EMD44MWKCF9P7GBHRADC299777","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_P38JTZFK7RSKWEZ8A08H1WNV44":{"id":"evt_P38JTZFK7RSKWEZ8A08H1WNV44","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S":{"id":"evt_RYV2Y9BZ5WZJYCYZRXBX8Y6N5S","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_SCZDD88B6T5KD2N6AT08Y9R74K":{"id":"evt_SCZDD88B6T5KD2N6AT08Y9R74K","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM":{"id":"evt_TGZC3GKMWMTEA1Z1DPV6JTYQPM","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY":{"id":"evt_TM5JP7CZ7EFKQ0B7DE6C534ASY","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8"},"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3":{"id":"evt_X2ARNFGRR7CC3ZZRXHDRRD8BK3","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88":{"id":"evt_XHDJ1TFQ5ZVJZYGF5Q8RWQ4W88","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT"},"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9":{"id":"orb_1KK3GJXTC7X63SPQ0W7K9PQZX9","kind":"orbital","bakedName":"OrbLintLoopInvariantParseOrbital","curName":"OrbLintLoopInvariantParseOrbital","renames":[],"owner":"workspace"},"pag_6QHN0CHVAZXNFRGDAD68H4JYDK":{"id":"pag_6QHN0CHVAZXNFRGDAD68H4JYDK","kind":"page","bakedName":"OrbLintLoopInvariantParseOrbitalStart","curName":"OrbLintLoopInvariantParseOrbitalStart","renames":[],"owner":"workspace"},"trt_97F4G2S9WEMY77JHYQ9WYYNV13":{"id":"trt_97F4G2S9WEMY77JHYQ9WYYNV13","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_B2EHC7MSR8CW42S0FBNCCBA1MB":{"id":"trt_B2EHC7MSR8CW42S0FBNCCBA1MB","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_DGWM91Y3VD1XPGPS37GE4BXYQT":{"id":"trt_DGWM91Y3VD1XPGPS37GE4BXYQT","kind":"trait","bakedName":"OrbLintLoopInvariantParseCli","curName":"OrbLintLoopInvariantParseCli","renames":[],"owner":"workspace"},"trt_H7WGE8QCX8PEM2RSC16GJPMRR8":{"id":"trt_H7WGE8QCX8PEM2RSC16GJPMRR8","kind":"trait","bakedName":"OrbLintLoopInvariantParse","curName":"OrbLintLoopInvariantParse","renames":[],"owner":"workspace"},"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK":{"id":"trt_KCEZ894TPKDB9J6CAYMJJ2WWXK","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}