novafabric 0.57.0__tar.gz

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 (2596) hide show
  1. novafabric-0.57.0/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
  2. novafabric-0.57.0/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  3. novafabric-0.57.0/.github/PULL_REQUEST_TEMPLATE.md +12 -0
  4. novafabric-0.57.0/.github/workflows/ci.yml +236 -0
  5. novafabric-0.57.0/.github/workflows/collector-ci.yml +152 -0
  6. novafabric-0.57.0/.github/workflows/metadata_store_security_gate.yml +99 -0
  7. novafabric-0.57.0/.github/workflows/publish-pypi.yml +77 -0
  8. novafabric-0.57.0/.github/workflows/release.yml +55 -0
  9. novafabric-0.57.0/.github/workflows/scorecard.yml +50 -0
  10. novafabric-0.57.0/.gitignore +39 -0
  11. novafabric-0.57.0/CHANGELOG.md +3892 -0
  12. novafabric-0.57.0/CODE_OF_CONDUCT.md +40 -0
  13. novafabric-0.57.0/CONTRIBUTING.md +128 -0
  14. novafabric-0.57.0/GOVERNANCE.md +222 -0
  15. novafabric-0.57.0/LICENSE +201 -0
  16. novafabric-0.57.0/MAINTAINERS.md +96 -0
  17. novafabric-0.57.0/Makefile +300 -0
  18. novafabric-0.57.0/PKG-INFO +90 -0
  19. novafabric-0.57.0/README.md +322 -0
  20. novafabric-0.57.0/ROADMAP.md +459 -0
  21. novafabric-0.57.0/SECURITY.md +23 -0
  22. novafabric-0.57.0/alembic/env.py +77 -0
  23. novafabric-0.57.0/alembic/postgres/versions/0001_initial.py +93 -0
  24. novafabric-0.57.0/alembic/postgres/versions/0002_pending_approval.py +34 -0
  25. novafabric-0.57.0/alembic/postgres/versions/0003_add_site_id_to_lineage_edges.py +45 -0
  26. novafabric-0.57.0/alembic/script.py.mako +27 -0
  27. novafabric-0.57.0/alembic/sqlite/versions/0001_initial.py +115 -0
  28. novafabric-0.57.0/alembic/sqlite/versions/0002_pending_approval.py +35 -0
  29. novafabric-0.57.0/alembic-postgres.ini +42 -0
  30. novafabric-0.57.0/alembic.ini +43 -0
  31. novafabric-0.57.0/api/openapi.yaml +1205 -0
  32. novafabric-0.57.0/benchmarks/README.md +125 -0
  33. novafabric-0.57.0/benchmarks/capture_overhead.py +185 -0
  34. novafabric-0.57.0/benchmarks/orchestrator_microbench.py +90 -0
  35. novafabric-0.57.0/benchmarks/spk_col1_offset_replay.py +195 -0
  36. novafabric-0.57.0/benchmarks/spk_col2_hotpath.py +150 -0
  37. novafabric-0.57.0/benchmarks/spk_col3/byte_proxy.py +81 -0
  38. novafabric-0.57.0/benchmarks/spk_col3/configs.md +11 -0
  39. novafabric-0.57.0/benchmarks/spk_col3/run_ab.sh +137 -0
  40. novafabric-0.57.0/collector/Makefile +73 -0
  41. novafabric-0.57.0/collector/cmd/novafabric-collector/main.go +59 -0
  42. novafabric-0.57.0/collector/cmd/novafabric-hpc-hub/main.go +86 -0
  43. novafabric-0.57.0/collector/cmd/novafabric-spool-forwarder/main.go +75 -0
  44. novafabric-0.57.0/collector/cmd/novafabric-verifier/main.go +104 -0
  45. novafabric-0.57.0/collector/go.mod +107 -0
  46. novafabric-0.57.0/collector/go.sum +366 -0
  47. novafabric-0.57.0/collector/internal/forwarder/forwarder.go +90 -0
  48. novafabric-0.57.0/collector/internal/forwarder/forwarder_test.go +125 -0
  49. novafabric-0.57.0/collector/internal/forwarder/nats_publisher.go +63 -0
  50. novafabric-0.57.0/collector/internal/forwarder/nats_publisher_integration_test.go +71 -0
  51. novafabric-0.57.0/collector/internal/hpc/autonomy_test.go +144 -0
  52. novafabric-0.57.0/collector/internal/hpc/leaf.go +225 -0
  53. novafabric-0.57.0/collector/internal/hpc/leaf_spool_dlq_test.go +100 -0
  54. novafabric-0.57.0/collector/internal/hpc/leaf_spool_store.go +140 -0
  55. novafabric-0.57.0/collector/internal/hpc/leaf_test.go +150 -0
  56. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/bench_norace_test.go +5 -0
  57. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/bench_race_test.go +5 -0
  58. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/bench_test.go +152 -0
  59. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/config.go +57 -0
  60. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/factory.go +57 -0
  61. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/processor.go +242 -0
  62. novafabric-0.57.0/collector/internal/processor/novasealbatchsigner/processor_test.go +270 -0
  63. novafabric-0.57.0/collector/internal/spool/checkpoint.go +155 -0
  64. novafabric-0.57.0/collector/internal/spool/checkpoint_sync_linux.go +16 -0
  65. novafabric-0.57.0/collector/internal/spool/checkpoint_sync_notlinux.go +11 -0
  66. novafabric-0.57.0/collector/internal/spool/dlq.go +174 -0
  67. novafabric-0.57.0/collector/internal/spool/dlq_test.go +224 -0
  68. novafabric-0.57.0/collector/internal/spool/eviction.go +85 -0
  69. novafabric-0.57.0/collector/internal/spool/recovery_test.go +153 -0
  70. novafabric-0.57.0/collector/internal/spool/segment.go +149 -0
  71. novafabric-0.57.0/collector/internal/spool/segment_test.go +118 -0
  72. novafabric-0.57.0/collector/internal/spool/spool.go +388 -0
  73. novafabric-0.57.0/collector/internal/spool/spool_test.go +131 -0
  74. novafabric-0.57.0/collector/internal/verifier/verifier.go +118 -0
  75. novafabric-0.57.0/collector/ocb/builder-config.yaml +39 -0
  76. novafabric-0.57.0/collector/pkg/canonical/canonical.go +80 -0
  77. novafabric-0.57.0/collector/pkg/canonical/corpus_roundtrip_test.go +180 -0
  78. novafabric-0.57.0/collector/pkg/canonical/doc.go +39 -0
  79. novafabric-0.57.0/collector/pkg/canonical/encode_test.go +164 -0
  80. novafabric-0.57.0/collector/pkg/cffi/exports.go +175 -0
  81. novafabric-0.57.0/collector/pkg/envelope/cloudevents_mapping.go +182 -0
  82. novafabric-0.57.0/collector/pkg/envelope/envelope.go +134 -0
  83. novafabric-0.57.0/collector/pkg/envelope/envelope_test.go +225 -0
  84. novafabric-0.57.0/collector/pkg/envelope/otlp_mapping.go +186 -0
  85. novafabric-0.57.0/collector/pkg/metrics/metrics.go +173 -0
  86. novafabric-0.57.0/collector/pkg/novaseal/keystore.go +267 -0
  87. novafabric-0.57.0/collector/pkg/novaseal/keystore_local_wal.go +240 -0
  88. novafabric-0.57.0/collector/pkg/novaseal/keystore_test.go +140 -0
  89. novafabric-0.57.0/collector/pkg/novaseal/novaseal.go +23 -0
  90. novafabric-0.57.0/collector/pkg/novaseal/signer.go +251 -0
  91. novafabric-0.57.0/collector/pkg/novaseal/signer_test.go +372 -0
  92. novafabric-0.57.0/collector/scripts/verify_canonical_roundtrip.py +77 -0
  93. novafabric-0.57.0/collector/tests/integration/test_crash_recovery_test.go +106 -0
  94. novafabric-0.57.0/collector/tests/integration/test_kms_outage_test.go +42 -0
  95. novafabric-0.57.0/collector/tests/integration/test_nats_vs_otel_signing_test.go +70 -0
  96. novafabric-0.57.0/deploy/collector-arrow/README.md +30 -0
  97. novafabric-0.57.0/deploy/collector-arrow/receiver.yaml +16 -0
  98. novafabric-0.57.0/deploy/collector-arrow/sender.yaml +28 -0
  99. novafabric-0.57.0/deploy/docker/Dockerfile +58 -0
  100. novafabric-0.57.0/deploy/docker/README-pgbouncer.md +108 -0
  101. novafabric-0.57.0/deploy/docker/docker-compose.yml +246 -0
  102. novafabric-0.57.0/deploy/docker/entrypoint.sh +29 -0
  103. novafabric-0.57.0/deploy/docker/pgbouncer-userlist.txt +40 -0
  104. novafabric-0.57.0/deploy/docker/pgbouncer.ini +60 -0
  105. novafabric-0.57.0/deploy/helm/janusgraph/Chart.yaml +16 -0
  106. novafabric-0.57.0/deploy/helm/janusgraph/README.md +56 -0
  107. novafabric-0.57.0/deploy/helm/janusgraph/templates/configmap.yaml +43 -0
  108. novafabric-0.57.0/deploy/helm/janusgraph/templates/deployment.yaml +113 -0
  109. novafabric-0.57.0/deploy/helm/janusgraph/templates/service.yaml +15 -0
  110. novafabric-0.57.0/deploy/helm/janusgraph/values.yaml +66 -0
  111. novafabric-0.57.0/deploy/hpc/README.md +138 -0
  112. novafabric-0.57.0/deploy/hpc/ansible/install.yml +129 -0
  113. novafabric-0.57.0/deploy/hpc/ansible/inventory.example.ini +12 -0
  114. novafabric-0.57.0/deploy/hpc/cluster-hub.conf.tmpl +40 -0
  115. novafabric-0.57.0/deploy/hpc/epilog.sh +56 -0
  116. novafabric-0.57.0/deploy/hpc/forwarder.yaml +47 -0
  117. novafabric-0.57.0/deploy/hpc/leaf-node.conf.tmpl +33 -0
  118. novafabric-0.57.0/deploy/hpc/prolog.sh +58 -0
  119. novafabric-0.57.0/deploy/hpc/test-cluster/docker-compose.yml +248 -0
  120. novafabric-0.57.0/deploy/k8s/README.md +108 -0
  121. novafabric-0.57.0/deploy/k8s/configmap-collector.yaml +55 -0
  122. novafabric-0.57.0/deploy/k8s/daemonset-fluent-bit.yaml +107 -0
  123. novafabric-0.57.0/deploy/k8s/deployment-gateway-collector.yaml +79 -0
  124. novafabric-0.57.0/deploy/k8s/namespace.yaml +7 -0
  125. novafabric-0.57.0/deploy/k8s/secret-novaseal-mtls.yaml.example +27 -0
  126. novafabric-0.57.0/deploy/k8s/service.yaml +25 -0
  127. novafabric-0.57.0/deploy/pgbouncer/README.md +82 -0
  128. novafabric-0.57.0/deploy/pgbouncer/pgbouncer.ini +93 -0
  129. novafabric-0.57.0/deploy/pgbouncer/userlist.txt.template +14 -0
  130. novafabric-0.57.0/docs/README.md +98 -0
  131. novafabric-0.57.0/docs/api-reference.md +265 -0
  132. novafabric-0.57.0/docs/cli-reference.md +3803 -0
  133. novafabric-0.57.0/docs/concepts.md +544 -0
  134. novafabric-0.57.0/docs/dashboard.md +506 -0
  135. novafabric-0.57.0/docs/developer-guide.md +952 -0
  136. novafabric-0.57.0/docs/getting-started.md +412 -0
  137. novafabric-0.57.0/docs/integrations/writing-a-hook-plugin.md +182 -0
  138. novafabric-0.57.0/docs/lineage/migration-guide.md +143 -0
  139. novafabric-0.57.0/docs/novaseal-configuration.md +278 -0
  140. novafabric-0.57.0/docs/novaseal-key-management.md +216 -0
  141. novafabric-0.57.0/docs/novaseal-stability.md +122 -0
  142. novafabric-0.57.0/docs/operator-guide.md +953 -0
  143. novafabric-0.57.0/docs/ops/cluster-scale-migration.md +292 -0
  144. novafabric-0.57.0/docs/ops/server-deployment.md +402 -0
  145. novafabric-0.57.0/docs/python-api.md +520 -0
  146. novafabric-0.57.0/docs/release-process.md +77 -0
  147. novafabric-0.57.0/docs/releases/v0.1.0.md +51 -0
  148. novafabric-0.57.0/docs/releases/v0.10.0.md +119 -0
  149. novafabric-0.57.0/docs/releases/v0.12.1.md +87 -0
  150. novafabric-0.57.0/docs/releases/v0.12.10.md +75 -0
  151. novafabric-0.57.0/docs/releases/v0.12.11.md +113 -0
  152. novafabric-0.57.0/docs/releases/v0.12.12.md +93 -0
  153. novafabric-0.57.0/docs/releases/v0.12.13.md +75 -0
  154. novafabric-0.57.0/docs/releases/v0.12.14.md +71 -0
  155. novafabric-0.57.0/docs/releases/v0.12.15.md +116 -0
  156. novafabric-0.57.0/docs/releases/v0.12.16.md +101 -0
  157. novafabric-0.57.0/docs/releases/v0.12.2.md +70 -0
  158. novafabric-0.57.0/docs/releases/v0.12.3.md +85 -0
  159. novafabric-0.57.0/docs/releases/v0.12.6.md +49 -0
  160. novafabric-0.57.0/docs/releases/v0.12.7.md +159 -0
  161. novafabric-0.57.0/docs/releases/v0.12.8.md +87 -0
  162. novafabric-0.57.0/docs/releases/v0.12.9.md +166 -0
  163. novafabric-0.57.0/docs/releases/v0.13.0.md +130 -0
  164. novafabric-0.57.0/docs/releases/v0.13.1.md +64 -0
  165. novafabric-0.57.0/docs/releases/v0.13.2.md +74 -0
  166. novafabric-0.57.0/docs/releases/v0.13.3.md +117 -0
  167. novafabric-0.57.0/docs/releases/v0.13.4.md +84 -0
  168. novafabric-0.57.0/docs/releases/v0.13.5.md +176 -0
  169. novafabric-0.57.0/docs/releases/v0.14.0.md +140 -0
  170. novafabric-0.57.0/docs/releases/v0.14.1.md +75 -0
  171. novafabric-0.57.0/docs/releases/v0.14.2.md +23 -0
  172. novafabric-0.57.0/docs/releases/v0.14.3.md +98 -0
  173. novafabric-0.57.0/docs/releases/v0.14.4.md +158 -0
  174. novafabric-0.57.0/docs/releases/v0.16.0.md +148 -0
  175. novafabric-0.57.0/docs/releases/v0.16.1.md +89 -0
  176. novafabric-0.57.0/docs/releases/v0.16.2.md +22 -0
  177. novafabric-0.57.0/docs/releases/v0.17.0.md +297 -0
  178. novafabric-0.57.0/docs/releases/v0.18.0.md +107 -0
  179. novafabric-0.57.0/docs/releases/v0.19.0.md +103 -0
  180. novafabric-0.57.0/docs/releases/v0.19.1.md +30 -0
  181. novafabric-0.57.0/docs/releases/v0.19.2.md +46 -0
  182. novafabric-0.57.0/docs/releases/v0.2.0.md +158 -0
  183. novafabric-0.57.0/docs/releases/v0.20.0.md +75 -0
  184. novafabric-0.57.0/docs/releases/v0.20.1.md +50 -0
  185. novafabric-0.57.0/docs/releases/v0.20.2.md +99 -0
  186. novafabric-0.57.0/docs/releases/v0.20.5.md +15 -0
  187. novafabric-0.57.0/docs/releases/v0.20.6.md +16 -0
  188. novafabric-0.57.0/docs/releases/v0.20.7.md +15 -0
  189. novafabric-0.57.0/docs/releases/v0.20.8.md +15 -0
  190. novafabric-0.57.0/docs/releases/v0.20.9.md +18 -0
  191. novafabric-0.57.0/docs/releases/v0.21.0.md +19 -0
  192. novafabric-0.57.0/docs/releases/v0.21.1.md +18 -0
  193. novafabric-0.57.0/docs/releases/v0.21.2.md +15 -0
  194. novafabric-0.57.0/docs/releases/v0.21.3.md +17 -0
  195. novafabric-0.57.0/docs/releases/v0.21.4.md +18 -0
  196. novafabric-0.57.0/docs/releases/v0.22.0.md +87 -0
  197. novafabric-0.57.0/docs/releases/v0.23.0.md +88 -0
  198. novafabric-0.57.0/docs/releases/v0.24.0.md +164 -0
  199. novafabric-0.57.0/docs/releases/v0.25.0.md +125 -0
  200. novafabric-0.57.0/docs/releases/v0.25.1.md +104 -0
  201. novafabric-0.57.0/docs/releases/v0.26.0.md +67 -0
  202. novafabric-0.57.0/docs/releases/v0.26.1.md +112 -0
  203. novafabric-0.57.0/docs/releases/v0.26.5.md +66 -0
  204. novafabric-0.57.0/docs/releases/v0.27.0.md +99 -0
  205. novafabric-0.57.0/docs/releases/v0.28.0.md +86 -0
  206. novafabric-0.57.0/docs/releases/v0.29.0.md +129 -0
  207. novafabric-0.57.0/docs/releases/v0.29.3.md +76 -0
  208. novafabric-0.57.0/docs/releases/v0.29.4.md +60 -0
  209. novafabric-0.57.0/docs/releases/v0.3.0.md +126 -0
  210. novafabric-0.57.0/docs/releases/v0.30.0.md +121 -0
  211. novafabric-0.57.0/docs/releases/v0.30.3.md +78 -0
  212. novafabric-0.57.0/docs/releases/v0.31.0.md +118 -0
  213. novafabric-0.57.0/docs/releases/v0.31.1.md +30 -0
  214. novafabric-0.57.0/docs/releases/v0.32.0.md +33 -0
  215. novafabric-0.57.0/docs/releases/v0.33.0.md +31 -0
  216. novafabric-0.57.0/docs/releases/v0.34.0.md +30 -0
  217. novafabric-0.57.0/docs/releases/v0.35.0.md +30 -0
  218. novafabric-0.57.0/docs/releases/v0.36.0.md +61 -0
  219. novafabric-0.57.0/docs/releases/v0.37.0.md +85 -0
  220. novafabric-0.57.0/docs/releases/v0.38.0.md +102 -0
  221. novafabric-0.57.0/docs/releases/v0.38.1.md +66 -0
  222. novafabric-0.57.0/docs/releases/v0.39.0.md +51 -0
  223. novafabric-0.57.0/docs/releases/v0.4.0.md +60 -0
  224. novafabric-0.57.0/docs/releases/v0.4.1.md +31 -0
  225. novafabric-0.57.0/docs/releases/v0.4.2.md +63 -0
  226. novafabric-0.57.0/docs/releases/v0.40.0.md +92 -0
  227. novafabric-0.57.0/docs/releases/v0.41.0.md +75 -0
  228. novafabric-0.57.0/docs/releases/v0.43.0.md +113 -0
  229. novafabric-0.57.0/docs/releases/v0.46.0.md +72 -0
  230. novafabric-0.57.0/docs/releases/v0.46.1.md +64 -0
  231. novafabric-0.57.0/docs/releases/v0.47.0.md +89 -0
  232. novafabric-0.57.0/docs/releases/v0.47.1.md +37 -0
  233. novafabric-0.57.0/docs/releases/v0.48.0.md +63 -0
  234. novafabric-0.57.0/docs/releases/v0.49.0.md +68 -0
  235. novafabric-0.57.0/docs/releases/v0.5.0.md +123 -0
  236. novafabric-0.57.0/docs/releases/v0.50.0.md +117 -0
  237. novafabric-0.57.0/docs/releases/v0.51.0.md +52 -0
  238. novafabric-0.57.0/docs/releases/v0.52.0.md +77 -0
  239. novafabric-0.57.0/docs/releases/v0.53.0.md +72 -0
  240. novafabric-0.57.0/docs/releases/v0.54.0.md +99 -0
  241. novafabric-0.57.0/docs/releases/v0.55.0.md +143 -0
  242. novafabric-0.57.0/docs/releases/v0.56.0.md +93 -0
  243. novafabric-0.57.0/docs/releases/v0.6.0.md +184 -0
  244. novafabric-0.57.0/docs/releases/v0.6.1.md +112 -0
  245. novafabric-0.57.0/docs/releases/v0.6.10.md +178 -0
  246. novafabric-0.57.0/docs/releases/v0.6.11.md +123 -0
  247. novafabric-0.57.0/docs/releases/v0.6.12.md +134 -0
  248. novafabric-0.57.0/docs/releases/v0.6.2.md +121 -0
  249. novafabric-0.57.0/docs/releases/v0.6.3.md +175 -0
  250. novafabric-0.57.0/docs/releases/v0.6.4.md +175 -0
  251. novafabric-0.57.0/docs/releases/v0.6.5.md +148 -0
  252. novafabric-0.57.0/docs/releases/v0.6.6.md +142 -0
  253. novafabric-0.57.0/docs/releases/v0.6.7.md +112 -0
  254. novafabric-0.57.0/docs/releases/v0.6.8.md +111 -0
  255. novafabric-0.57.0/docs/releases/v0.6.9.md +131 -0
  256. novafabric-0.57.0/docs/releases/v0.7.0.md +151 -0
  257. novafabric-0.57.0/docs/releases/v0.8.0.md +153 -0
  258. novafabric-0.57.0/docs/releases/v0.9.0.md +122 -0
  259. novafabric-0.57.0/docs/tutorials/README.md +42 -0
  260. novafabric-0.57.0/docs/tutorials/cluster-scale.md +317 -0
  261. novafabric-0.57.0/docs/tutorials/feature-tour.md +544 -0
  262. novafabric-0.57.0/docs/tutorials/how-capture-works.md +213 -0
  263. novafabric-0.57.0/docs/tutorials/multi-agent-capture.md +172 -0
  264. novafabric-0.57.0/docs/tutorials/novafabric-vs-langfuse.md +217 -0
  265. novafabric-0.57.0/docs/tutorials/why-novafabric.md +219 -0
  266. novafabric-0.57.0/docs/user-guide.md +1238 -0
  267. novafabric-0.57.0/docs/warm-capture-daemon.md +199 -0
  268. novafabric-0.57.0/examples/README.md +79 -0
  269. novafabric-0.57.0/examples/assets/agent-basic.yaml +22 -0
  270. novafabric-0.57.0/examples/assets/agent-with-eval-gate.yaml +25 -0
  271. novafabric-0.57.0/examples/assets/dataset-basic.yaml +11 -0
  272. novafabric-0.57.0/examples/assets/model-basic.yaml +15 -0
  273. novafabric-0.57.0/examples/azure-openai/README.md +42 -0
  274. novafabric-0.57.0/examples/azure-openai/agent.py +71 -0
  275. novafabric-0.57.0/examples/blackbox_demo/README.md +161 -0
  276. novafabric-0.57.0/examples/blackbox_demo/agent.py +68 -0
  277. novafabric-0.57.0/examples/blackbox_demo/expected/bad_decision.json +6 -0
  278. novafabric-0.57.0/examples/blackbox_demo/expected/fixed_decision.json +6 -0
  279. novafabric-0.57.0/examples/blackbox_demo/fixtures/fake_api_key.txt +1 -0
  280. novafabric-0.57.0/examples/blackbox_demo/fixtures/prompt.txt +6 -0
  281. novafabric-0.57.0/examples/blackbox_demo/fixtures/service.yaml +14 -0
  282. novafabric-0.57.0/examples/blackbox_demo/mock_llm_server.py +101 -0
  283. novafabric-0.57.0/examples/blackbox_demo/run_demo.sh +95 -0
  284. novafabric-0.57.0/examples/capsules/README.md +29 -0
  285. novafabric-0.57.0/examples/capsules/minimal-run/assets.jsonl +0 -0
  286. novafabric-0.57.0/examples/capsules/minimal-run/capsule.yaml +34 -0
  287. novafabric-0.57.0/examples/capsules/minimal-run/env.lock +202 -0
  288. novafabric-0.57.0/examples/capsules/minimal-run/model-calls.jsonl +0 -0
  289. novafabric-0.57.0/examples/capsules/minimal-run/outputs/stdout.txt +3 -0
  290. novafabric-0.57.0/examples/capsules/minimal-run/redaction-proof.json +66 -0
  291. novafabric-0.57.0/examples/capsules/minimal-run/replay.yaml +1 -0
  292. novafabric-0.57.0/examples/capsules/minimal-run/tool-calls.jsonl +0 -0
  293. novafabric-0.57.0/examples/capsules/minimal-run/trace.jsonl +1 -0
  294. novafabric-0.57.0/examples/langchain-agent/README.md +84 -0
  295. novafabric-0.57.0/examples/langchain-agent/agent.py +119 -0
  296. novafabric-0.57.0/examples/lineage-chain/README.md +59 -0
  297. novafabric-0.57.0/examples/lineage-chain/step.py +44 -0
  298. novafabric-0.57.0/examples/minimal-agent-run/README.md +34 -0
  299. novafabric-0.57.0/examples/minimal-agent-run/agent.py +75 -0
  300. novafabric-0.57.0/examples/plugin-hook-reference/README.md +99 -0
  301. novafabric-0.57.0/examples/plugin-hook-reference/pyproject.toml +56 -0
  302. novafabric-0.57.0/examples/plugin-hook-reference/src/novafabric_example_plugin/__init__.py +11 -0
  303. novafabric-0.57.0/examples/plugin-hook-reference/src/novafabric_example_plugin/demo.py +29 -0
  304. novafabric-0.57.0/examples/plugin-hook-reference/src/novafabric_example_plugin/hook.py +216 -0
  305. novafabric-0.57.0/examples/plugin-hook-reference/tests/test_hook.py +126 -0
  306. novafabric-0.57.0/examples/plugin-hook-reference/uv.lock +1270 -0
  307. novafabric-0.57.0/examples/replay-and-diff/README.md +62 -0
  308. novafabric-0.57.0/examples/replay-and-diff/agent.py +32 -0
  309. novafabric-0.57.0/examples/reports/sample-report.json +26 -0
  310. novafabric-0.57.0/examples/reports/sample-report.md +20 -0
  311. novafabric-0.57.0/packages/nova-dashboard/.npmignore +3 -0
  312. novafabric-0.57.0/packages/nova-dashboard/index.html +16 -0
  313. novafabric-0.57.0/packages/nova-dashboard/package-lock.json +2492 -0
  314. novafabric-0.57.0/packages/nova-dashboard/package.json +43 -0
  315. novafabric-0.57.0/packages/nova-dashboard/src/App.tsx +273 -0
  316. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/TV5Panel.test.ts +105 -0
  317. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/ads_validator.test.ts +222 -0
  318. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/fa2_worker.test.ts +198 -0
  319. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/renderer.test.ts +177 -0
  320. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/tc_integration.test.ts +264 -0
  321. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/tdp_client.test.ts +233 -0
  322. novafabric-0.57.0/packages/nova-dashboard/src/__tests__/views.test.ts +91 -0
  323. novafabric-0.57.0/packages/nova-dashboard/src/ads/schema.ts +99 -0
  324. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/LODController.tsx +142 -0
  325. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/TV5Panel.tsx +403 -0
  326. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/TableView.tsx +112 -0
  327. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/TimeSlider.tsx +298 -0
  328. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/TreemapView.tsx +106 -0
  329. novafabric-0.57.0/packages/nova-dashboard/src/components/topology/tv5Store.ts +48 -0
  330. novafabric-0.57.0/packages/nova-dashboard/src/graph/fa2-worker.ts +79 -0
  331. novafabric-0.57.0/packages/nova-dashboard/src/graph/layoutDagre.ts +67 -0
  332. novafabric-0.57.0/packages/nova-dashboard/src/graph/model.ts +282 -0
  333. novafabric-0.57.0/packages/nova-dashboard/src/main.tsx +11 -0
  334. novafabric-0.57.0/packages/nova-dashboard/src/renderer/renderer.ts +165 -0
  335. novafabric-0.57.0/packages/nova-dashboard/src/tdp/client.ts +300 -0
  336. novafabric-0.57.0/packages/nova-dashboard/src/tdp/types.ts +81 -0
  337. novafabric-0.57.0/packages/nova-dashboard/src/views/clusterTable.ts +37 -0
  338. novafabric-0.57.0/packages/nova-dashboard/src/views/treemap.ts +63 -0
  339. novafabric-0.57.0/packages/nova-dashboard/test/ads/schema.test.ts +15 -0
  340. novafabric-0.57.0/packages/nova-dashboard/test/graph/model.test.ts +114 -0
  341. novafabric-0.57.0/packages/nova-dashboard/test/tdp/client.test.ts +136 -0
  342. novafabric-0.57.0/packages/nova-dashboard/test/tdp/types.test.ts +34 -0
  343. novafabric-0.57.0/packages/nova-dashboard/test/topology/TimeSlider.test.ts +192 -0
  344. novafabric-0.57.0/packages/nova-dashboard/test/topology/tv5Store.test.ts +109 -0
  345. novafabric-0.57.0/packages/nova-dashboard/tsconfig.json +15 -0
  346. novafabric-0.57.0/packages/nova-dashboard/vite.config.ts +18 -0
  347. novafabric-0.57.0/packages/nova_worm_conformance/COMPATIBILITY.md +66 -0
  348. novafabric-0.57.0/packages/nova_worm_conformance/LICENSE +99 -0
  349. novafabric-0.57.0/packages/nova_worm_conformance/README.md +68 -0
  350. novafabric-0.57.0/packages/nova_worm_conformance/pyproject.toml +41 -0
  351. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/__init__.py +16 -0
  352. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/cli.py +147 -0
  353. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/frameworks.py +64 -0
  354. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/report.py +119 -0
  355. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/suite.py +109 -0
  356. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/__init__.py +0 -0
  357. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_compliance_mode_cannot_be_disabled_after_bucket_creation.py +70 -0
  358. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_conditional_put_returns_412_on_existing_key.py +66 -0
  359. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_governance_bypass_does_not_apply_in_compliance_mode.py +78 -0
  360. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_legal_hold_blocks_deletion_after_retention_expiry.py +88 -0
  361. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_legal_hold_release_required_before_deletion.py +89 -0
  362. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_lifecycle_expiration_silently_skipped_on_locked_object.py +90 -0
  363. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_overwrite_in_place_rejected_for_locked_object.py +76 -0
  364. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_retention_can_be_extended.py +76 -0
  365. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_retention_cannot_be_shortened.py +84 -0
  366. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_root_cannot_delete_locked_object.py +78 -0
  367. novafabric-0.57.0/packages/nova_worm_conformance/src/nova_worm_conformance/tests/test_sha256_checksum_enforced_by_backend.py +158 -0
  368. novafabric-0.57.0/packages/nova_worm_conformance/tests/__init__.py +0 -0
  369. novafabric-0.57.0/packages/nova_worm_conformance/tests/test_suite_smoke.py +187 -0
  370. novafabric-0.57.0/pyproject.toml +346 -0
  371. novafabric-0.57.0/schemas/capsule-event-v1.schema.json +97 -0
  372. novafabric-0.57.0/schemas/cross_site_edge.schema.json +53 -0
  373. novafabric-0.57.0/schemas/diff-report.schema.json +91 -0
  374. novafabric-0.57.0/schemas/energy-receipt.schema.json +262 -0
  375. novafabric-0.57.0/schemas/environment.schema.json +558 -0
  376. novafabric-0.57.0/schemas/eval-result.schema.json +128 -0
  377. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0001.json +19 -0
  378. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0002.json +19 -0
  379. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0003.json +27 -0
  380. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0004.json +26 -0
  381. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0005.json +19 -0
  382. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0006.json +19 -0
  383. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0007.json +19 -0
  384. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0008.json +19 -0
  385. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0009.json +27 -0
  386. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0010.json +26 -0
  387. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0011.json +19 -0
  388. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0012.json +19 -0
  389. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0013.json +19 -0
  390. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0014.json +19 -0
  391. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0015.json +27 -0
  392. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0016.json +26 -0
  393. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0017.json +19 -0
  394. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0018.json +19 -0
  395. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0019.json +19 -0
  396. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0020.json +19 -0
  397. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0021.json +27 -0
  398. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0022.json +26 -0
  399. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0023.json +19 -0
  400. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0024.json +19 -0
  401. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0025.json +19 -0
  402. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0026.json +19 -0
  403. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0027.json +27 -0
  404. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0028.json +26 -0
  405. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0029.json +19 -0
  406. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0030.json +19 -0
  407. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0031.json +19 -0
  408. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0032.json +19 -0
  409. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0033.json +27 -0
  410. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0034.json +26 -0
  411. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0035.json +19 -0
  412. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0036.json +19 -0
  413. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0037.json +19 -0
  414. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0038.json +19 -0
  415. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0039.json +27 -0
  416. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0040.json +26 -0
  417. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0041.json +19 -0
  418. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0042.json +19 -0
  419. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0043.json +19 -0
  420. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0044.json +19 -0
  421. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0045.json +27 -0
  422. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0046.json +26 -0
  423. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0047.json +19 -0
  424. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0048.json +19 -0
  425. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0049.json +19 -0
  426. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0050.json +19 -0
  427. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0051.json +27 -0
  428. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0052.json +26 -0
  429. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0053.json +19 -0
  430. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0054.json +19 -0
  431. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0055.json +19 -0
  432. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0056.json +19 -0
  433. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0057.json +27 -0
  434. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0058.json +26 -0
  435. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0059.json +19 -0
  436. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0060.json +19 -0
  437. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0061.json +19 -0
  438. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0062.json +19 -0
  439. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0063.json +27 -0
  440. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0064.json +26 -0
  441. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0065.json +19 -0
  442. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0066.json +19 -0
  443. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0067.json +19 -0
  444. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0068.json +19 -0
  445. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0069.json +27 -0
  446. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0070.json +26 -0
  447. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0071.json +19 -0
  448. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0072.json +19 -0
  449. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0073.json +19 -0
  450. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0074.json +19 -0
  451. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0075.json +27 -0
  452. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0076.json +26 -0
  453. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0077.json +19 -0
  454. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0078.json +19 -0
  455. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0079.json +19 -0
  456. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0080.json +19 -0
  457. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0081.json +27 -0
  458. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0082.json +26 -0
  459. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0083.json +19 -0
  460. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0084.json +19 -0
  461. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0085.json +19 -0
  462. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0086.json +19 -0
  463. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0087.json +27 -0
  464. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0088.json +26 -0
  465. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0089.json +19 -0
  466. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0090.json +19 -0
  467. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0091.json +19 -0
  468. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0092.json +19 -0
  469. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0093.json +27 -0
  470. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0094.json +26 -0
  471. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0095.json +19 -0
  472. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0096.json +19 -0
  473. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0097.json +19 -0
  474. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0098.json +19 -0
  475. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0099.json +27 -0
  476. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0100.json +26 -0
  477. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0101.json +19 -0
  478. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0102.json +19 -0
  479. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0103.json +19 -0
  480. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0104.json +19 -0
  481. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0105.json +27 -0
  482. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0106.json +26 -0
  483. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0107.json +19 -0
  484. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0108.json +19 -0
  485. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0109.json +19 -0
  486. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0110.json +19 -0
  487. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0111.json +27 -0
  488. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0112.json +26 -0
  489. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0113.json +19 -0
  490. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0114.json +19 -0
  491. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0115.json +19 -0
  492. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0116.json +19 -0
  493. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0117.json +27 -0
  494. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0118.json +26 -0
  495. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0119.json +19 -0
  496. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0120.json +19 -0
  497. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0121.json +19 -0
  498. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0122.json +19 -0
  499. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0123.json +27 -0
  500. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0124.json +26 -0
  501. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0125.json +19 -0
  502. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0126.json +19 -0
  503. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0127.json +19 -0
  504. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0128.json +19 -0
  505. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0129.json +27 -0
  506. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0130.json +26 -0
  507. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0131.json +19 -0
  508. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0132.json +19 -0
  509. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0133.json +19 -0
  510. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0134.json +19 -0
  511. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0135.json +27 -0
  512. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0136.json +26 -0
  513. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0137.json +19 -0
  514. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0138.json +19 -0
  515. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0139.json +19 -0
  516. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0140.json +19 -0
  517. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0141.json +27 -0
  518. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0142.json +26 -0
  519. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0143.json +19 -0
  520. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0144.json +19 -0
  521. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0145.json +19 -0
  522. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0146.json +19 -0
  523. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0147.json +27 -0
  524. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0148.json +26 -0
  525. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0149.json +19 -0
  526. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0150.json +19 -0
  527. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0151.json +19 -0
  528. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0152.json +19 -0
  529. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0153.json +27 -0
  530. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0154.json +26 -0
  531. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0155.json +19 -0
  532. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0156.json +19 -0
  533. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0157.json +19 -0
  534. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0158.json +19 -0
  535. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0159.json +27 -0
  536. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0160.json +26 -0
  537. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0161.json +19 -0
  538. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0162.json +19 -0
  539. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0163.json +19 -0
  540. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0164.json +19 -0
  541. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0165.json +27 -0
  542. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0166.json +26 -0
  543. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0167.json +19 -0
  544. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0168.json +19 -0
  545. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0169.json +19 -0
  546. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0170.json +19 -0
  547. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0171.json +27 -0
  548. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0172.json +26 -0
  549. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0173.json +19 -0
  550. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0174.json +19 -0
  551. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0175.json +19 -0
  552. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0176.json +19 -0
  553. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0177.json +27 -0
  554. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0178.json +26 -0
  555. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0179.json +19 -0
  556. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0180.json +19 -0
  557. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0181.json +19 -0
  558. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0182.json +19 -0
  559. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0183.json +27 -0
  560. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0184.json +26 -0
  561. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0185.json +19 -0
  562. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0186.json +19 -0
  563. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0187.json +19 -0
  564. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0188.json +19 -0
  565. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0189.json +27 -0
  566. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0190.json +26 -0
  567. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0191.json +19 -0
  568. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0192.json +19 -0
  569. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0193.json +19 -0
  570. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0194.json +19 -0
  571. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0195.json +27 -0
  572. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0196.json +26 -0
  573. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0197.json +19 -0
  574. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0198.json +19 -0
  575. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0199.json +19 -0
  576. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0200.json +19 -0
  577. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0201.json +27 -0
  578. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0202.json +26 -0
  579. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0203.json +19 -0
  580. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0204.json +19 -0
  581. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0205.json +19 -0
  582. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0206.json +19 -0
  583. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0207.json +27 -0
  584. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0208.json +26 -0
  585. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0209.json +19 -0
  586. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0210.json +19 -0
  587. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0211.json +19 -0
  588. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0212.json +19 -0
  589. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0213.json +27 -0
  590. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0214.json +26 -0
  591. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0215.json +19 -0
  592. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0216.json +19 -0
  593. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0217.json +19 -0
  594. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0218.json +19 -0
  595. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0219.json +27 -0
  596. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0220.json +26 -0
  597. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0221.json +19 -0
  598. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0222.json +19 -0
  599. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0223.json +19 -0
  600. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0224.json +19 -0
  601. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0225.json +27 -0
  602. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0226.json +26 -0
  603. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0227.json +19 -0
  604. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0228.json +19 -0
  605. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0229.json +19 -0
  606. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0230.json +19 -0
  607. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0231.json +27 -0
  608. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0232.json +26 -0
  609. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0233.json +19 -0
  610. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0234.json +19 -0
  611. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0235.json +19 -0
  612. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0236.json +19 -0
  613. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0237.json +27 -0
  614. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0238.json +26 -0
  615. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0239.json +19 -0
  616. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0240.json +19 -0
  617. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0241.json +19 -0
  618. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0242.json +19 -0
  619. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0243.json +27 -0
  620. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0244.json +26 -0
  621. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0245.json +19 -0
  622. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0246.json +19 -0
  623. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0247.json +19 -0
  624. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0248.json +19 -0
  625. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0249.json +27 -0
  626. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0250.json +26 -0
  627. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0251.json +19 -0
  628. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0252.json +19 -0
  629. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0253.json +19 -0
  630. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0254.json +19 -0
  631. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0255.json +27 -0
  632. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0256.json +26 -0
  633. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0257.json +19 -0
  634. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0258.json +19 -0
  635. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0259.json +19 -0
  636. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0260.json +19 -0
  637. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0261.json +27 -0
  638. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0262.json +26 -0
  639. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0263.json +19 -0
  640. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0264.json +19 -0
  641. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0265.json +19 -0
  642. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0266.json +19 -0
  643. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0267.json +27 -0
  644. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0268.json +26 -0
  645. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0269.json +19 -0
  646. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0270.json +19 -0
  647. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0271.json +19 -0
  648. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0272.json +19 -0
  649. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0273.json +27 -0
  650. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0274.json +26 -0
  651. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0275.json +19 -0
  652. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0276.json +19 -0
  653. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0277.json +19 -0
  654. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0278.json +19 -0
  655. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0279.json +27 -0
  656. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0280.json +26 -0
  657. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0281.json +19 -0
  658. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0282.json +19 -0
  659. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0283.json +19 -0
  660. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0284.json +19 -0
  661. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0285.json +27 -0
  662. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0286.json +26 -0
  663. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0287.json +19 -0
  664. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0288.json +19 -0
  665. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0289.json +19 -0
  666. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0290.json +19 -0
  667. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0291.json +27 -0
  668. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0292.json +26 -0
  669. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0293.json +19 -0
  670. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0294.json +19 -0
  671. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0295.json +19 -0
  672. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0296.json +19 -0
  673. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0297.json +27 -0
  674. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0298.json +26 -0
  675. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0299.json +19 -0
  676. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0300.json +19 -0
  677. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0301.json +19 -0
  678. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0302.json +19 -0
  679. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0303.json +27 -0
  680. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0304.json +26 -0
  681. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0305.json +19 -0
  682. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0306.json +19 -0
  683. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0307.json +19 -0
  684. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0308.json +19 -0
  685. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0309.json +27 -0
  686. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0310.json +26 -0
  687. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0311.json +19 -0
  688. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0312.json +19 -0
  689. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0313.json +19 -0
  690. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0314.json +19 -0
  691. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0315.json +27 -0
  692. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0316.json +26 -0
  693. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0317.json +19 -0
  694. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0318.json +19 -0
  695. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0319.json +19 -0
  696. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0320.json +19 -0
  697. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0321.json +27 -0
  698. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0322.json +26 -0
  699. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0323.json +19 -0
  700. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0324.json +19 -0
  701. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0325.json +19 -0
  702. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0326.json +19 -0
  703. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0327.json +27 -0
  704. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0328.json +26 -0
  705. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0329.json +19 -0
  706. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0330.json +19 -0
  707. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0331.json +19 -0
  708. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0332.json +19 -0
  709. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0333.json +27 -0
  710. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0334.json +26 -0
  711. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0335.json +19 -0
  712. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0336.json +19 -0
  713. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0337.json +19 -0
  714. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0338.json +19 -0
  715. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0339.json +27 -0
  716. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0340.json +26 -0
  717. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0341.json +19 -0
  718. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0342.json +19 -0
  719. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0343.json +19 -0
  720. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0344.json +19 -0
  721. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0345.json +27 -0
  722. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0346.json +26 -0
  723. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0347.json +19 -0
  724. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0348.json +19 -0
  725. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0349.json +19 -0
  726. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0350.json +19 -0
  727. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0351.json +27 -0
  728. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0352.json +26 -0
  729. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0353.json +19 -0
  730. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0354.json +19 -0
  731. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0355.json +19 -0
  732. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0356.json +19 -0
  733. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0357.json +27 -0
  734. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0358.json +26 -0
  735. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0359.json +19 -0
  736. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0360.json +19 -0
  737. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0361.json +19 -0
  738. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0362.json +19 -0
  739. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0363.json +27 -0
  740. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0364.json +26 -0
  741. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0365.json +19 -0
  742. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0366.json +19 -0
  743. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0367.json +19 -0
  744. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0368.json +19 -0
  745. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0369.json +27 -0
  746. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0370.json +26 -0
  747. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0371.json +19 -0
  748. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0372.json +19 -0
  749. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0373.json +19 -0
  750. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0374.json +19 -0
  751. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0375.json +27 -0
  752. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0376.json +26 -0
  753. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0377.json +19 -0
  754. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0378.json +19 -0
  755. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0379.json +19 -0
  756. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0380.json +19 -0
  757. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0381.json +27 -0
  758. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0382.json +26 -0
  759. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0383.json +19 -0
  760. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0384.json +19 -0
  761. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0385.json +19 -0
  762. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0386.json +19 -0
  763. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0387.json +27 -0
  764. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0388.json +26 -0
  765. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0389.json +19 -0
  766. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0390.json +19 -0
  767. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0391.json +19 -0
  768. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0392.json +19 -0
  769. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0393.json +27 -0
  770. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0394.json +26 -0
  771. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0395.json +19 -0
  772. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0396.json +19 -0
  773. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0397.json +19 -0
  774. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0398.json +19 -0
  775. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0399.json +27 -0
  776. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0400.json +26 -0
  777. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0401.json +20 -0
  778. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0402.json +20 -0
  779. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0403.json +20 -0
  780. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0404.json +20 -0
  781. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0405.json +28 -0
  782. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0406.json +27 -0
  783. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0407.json +20 -0
  784. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0408.json +20 -0
  785. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0409.json +20 -0
  786. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0410.json +20 -0
  787. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0411.json +28 -0
  788. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0412.json +27 -0
  789. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0413.json +20 -0
  790. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0414.json +20 -0
  791. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0415.json +20 -0
  792. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0416.json +20 -0
  793. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0417.json +28 -0
  794. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0418.json +27 -0
  795. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0419.json +20 -0
  796. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0420.json +20 -0
  797. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0421.json +20 -0
  798. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0422.json +20 -0
  799. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0423.json +28 -0
  800. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0424.json +27 -0
  801. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0425.json +20 -0
  802. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0426.json +20 -0
  803. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0427.json +20 -0
  804. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0428.json +20 -0
  805. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0429.json +28 -0
  806. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0430.json +27 -0
  807. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0431.json +20 -0
  808. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0432.json +20 -0
  809. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0433.json +20 -0
  810. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0434.json +20 -0
  811. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0435.json +28 -0
  812. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0436.json +27 -0
  813. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0437.json +20 -0
  814. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0438.json +20 -0
  815. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0439.json +20 -0
  816. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0440.json +20 -0
  817. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0441.json +28 -0
  818. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0442.json +27 -0
  819. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0443.json +20 -0
  820. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0444.json +20 -0
  821. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0445.json +20 -0
  822. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0446.json +20 -0
  823. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0447.json +28 -0
  824. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0448.json +27 -0
  825. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0449.json +20 -0
  826. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0450.json +20 -0
  827. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0451.json +20 -0
  828. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0452.json +20 -0
  829. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0453.json +28 -0
  830. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0454.json +27 -0
  831. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0455.json +20 -0
  832. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0456.json +20 -0
  833. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0457.json +20 -0
  834. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0458.json +20 -0
  835. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0459.json +28 -0
  836. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0460.json +27 -0
  837. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0461.json +20 -0
  838. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0462.json +20 -0
  839. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0463.json +20 -0
  840. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0464.json +20 -0
  841. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0465.json +28 -0
  842. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0466.json +27 -0
  843. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0467.json +20 -0
  844. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0468.json +20 -0
  845. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0469.json +20 -0
  846. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0470.json +20 -0
  847. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0471.json +28 -0
  848. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0472.json +27 -0
  849. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0473.json +20 -0
  850. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0474.json +20 -0
  851. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0475.json +20 -0
  852. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0476.json +20 -0
  853. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0477.json +28 -0
  854. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0478.json +27 -0
  855. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0479.json +20 -0
  856. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0480.json +20 -0
  857. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0481.json +20 -0
  858. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0482.json +20 -0
  859. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0483.json +28 -0
  860. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0484.json +27 -0
  861. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0485.json +20 -0
  862. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0486.json +20 -0
  863. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0487.json +20 -0
  864. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0488.json +20 -0
  865. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0489.json +28 -0
  866. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0490.json +27 -0
  867. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0491.json +20 -0
  868. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0492.json +20 -0
  869. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0493.json +20 -0
  870. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0494.json +20 -0
  871. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0495.json +28 -0
  872. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0496.json +27 -0
  873. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0497.json +20 -0
  874. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0498.json +20 -0
  875. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0499.json +20 -0
  876. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0500.json +20 -0
  877. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0501.json +28 -0
  878. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0502.json +27 -0
  879. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0503.json +20 -0
  880. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0504.json +20 -0
  881. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0505.json +20 -0
  882. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0506.json +20 -0
  883. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0507.json +28 -0
  884. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0508.json +27 -0
  885. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0509.json +20 -0
  886. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0510.json +20 -0
  887. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0511.json +20 -0
  888. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0512.json +20 -0
  889. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0513.json +28 -0
  890. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0514.json +27 -0
  891. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0515.json +20 -0
  892. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0516.json +20 -0
  893. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0517.json +20 -0
  894. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0518.json +20 -0
  895. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0519.json +28 -0
  896. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0520.json +27 -0
  897. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0521.json +20 -0
  898. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0522.json +20 -0
  899. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0523.json +20 -0
  900. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0524.json +20 -0
  901. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0525.json +28 -0
  902. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0526.json +27 -0
  903. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0527.json +20 -0
  904. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0528.json +20 -0
  905. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0529.json +20 -0
  906. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0530.json +20 -0
  907. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0531.json +28 -0
  908. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0532.json +27 -0
  909. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0533.json +20 -0
  910. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0534.json +20 -0
  911. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0535.json +20 -0
  912. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0536.json +20 -0
  913. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0537.json +28 -0
  914. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0538.json +27 -0
  915. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0539.json +20 -0
  916. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0540.json +20 -0
  917. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0541.json +20 -0
  918. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0542.json +20 -0
  919. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0543.json +28 -0
  920. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0544.json +27 -0
  921. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0545.json +20 -0
  922. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0546.json +20 -0
  923. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0547.json +20 -0
  924. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0548.json +20 -0
  925. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0549.json +28 -0
  926. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0550.json +27 -0
  927. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0551.json +20 -0
  928. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0552.json +20 -0
  929. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0553.json +20 -0
  930. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0554.json +20 -0
  931. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0555.json +28 -0
  932. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0556.json +27 -0
  933. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0557.json +20 -0
  934. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0558.json +20 -0
  935. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0559.json +20 -0
  936. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0560.json +20 -0
  937. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0561.json +28 -0
  938. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0562.json +27 -0
  939. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0563.json +20 -0
  940. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0564.json +20 -0
  941. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0565.json +20 -0
  942. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0566.json +20 -0
  943. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0567.json +28 -0
  944. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0568.json +27 -0
  945. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0569.json +20 -0
  946. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0570.json +20 -0
  947. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0571.json +20 -0
  948. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0572.json +20 -0
  949. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0573.json +28 -0
  950. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0574.json +27 -0
  951. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0575.json +20 -0
  952. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0576.json +20 -0
  953. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0577.json +20 -0
  954. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0578.json +20 -0
  955. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0579.json +28 -0
  956. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0580.json +27 -0
  957. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0581.json +20 -0
  958. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0582.json +20 -0
  959. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0583.json +20 -0
  960. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0584.json +20 -0
  961. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0585.json +28 -0
  962. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0586.json +27 -0
  963. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0587.json +20 -0
  964. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0588.json +20 -0
  965. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0589.json +20 -0
  966. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0590.json +20 -0
  967. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0591.json +28 -0
  968. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0592.json +27 -0
  969. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0593.json +20 -0
  970. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0594.json +20 -0
  971. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0595.json +20 -0
  972. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0596.json +20 -0
  973. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0597.json +28 -0
  974. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0598.json +27 -0
  975. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0599.json +20 -0
  976. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0600.json +20 -0
  977. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0601.json +20 -0
  978. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0602.json +20 -0
  979. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0603.json +28 -0
  980. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0604.json +27 -0
  981. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0605.json +20 -0
  982. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0606.json +20 -0
  983. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0607.json +20 -0
  984. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0608.json +20 -0
  985. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0609.json +28 -0
  986. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0610.json +27 -0
  987. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0611.json +20 -0
  988. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0612.json +20 -0
  989. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0613.json +20 -0
  990. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0614.json +20 -0
  991. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0615.json +28 -0
  992. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0616.json +27 -0
  993. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0617.json +20 -0
  994. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0618.json +20 -0
  995. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0619.json +20 -0
  996. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0620.json +20 -0
  997. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0621.json +28 -0
  998. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0622.json +27 -0
  999. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0623.json +20 -0
  1000. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0624.json +20 -0
  1001. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0625.json +20 -0
  1002. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0626.json +20 -0
  1003. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0627.json +28 -0
  1004. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0628.json +27 -0
  1005. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0629.json +20 -0
  1006. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0630.json +20 -0
  1007. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0631.json +20 -0
  1008. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0632.json +20 -0
  1009. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0633.json +28 -0
  1010. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0634.json +27 -0
  1011. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0635.json +20 -0
  1012. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0636.json +20 -0
  1013. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0637.json +20 -0
  1014. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0638.json +20 -0
  1015. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0639.json +28 -0
  1016. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0640.json +27 -0
  1017. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0641.json +20 -0
  1018. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0642.json +20 -0
  1019. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0643.json +20 -0
  1020. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0644.json +20 -0
  1021. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0645.json +28 -0
  1022. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0646.json +27 -0
  1023. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0647.json +20 -0
  1024. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0648.json +20 -0
  1025. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0649.json +20 -0
  1026. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0650.json +20 -0
  1027. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0651.json +28 -0
  1028. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0652.json +27 -0
  1029. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0653.json +20 -0
  1030. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0654.json +20 -0
  1031. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0655.json +20 -0
  1032. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0656.json +20 -0
  1033. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0657.json +28 -0
  1034. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0658.json +27 -0
  1035. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0659.json +20 -0
  1036. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0660.json +20 -0
  1037. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0661.json +20 -0
  1038. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0662.json +20 -0
  1039. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0663.json +28 -0
  1040. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0664.json +27 -0
  1041. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0665.json +20 -0
  1042. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0666.json +20 -0
  1043. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0667.json +20 -0
  1044. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0668.json +20 -0
  1045. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0669.json +28 -0
  1046. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0670.json +27 -0
  1047. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0671.json +20 -0
  1048. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0672.json +20 -0
  1049. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0673.json +20 -0
  1050. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0674.json +20 -0
  1051. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0675.json +28 -0
  1052. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0676.json +27 -0
  1053. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0677.json +20 -0
  1054. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0678.json +20 -0
  1055. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0679.json +20 -0
  1056. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0680.json +20 -0
  1057. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0681.json +28 -0
  1058. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0682.json +27 -0
  1059. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0683.json +20 -0
  1060. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0684.json +20 -0
  1061. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0685.json +20 -0
  1062. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0686.json +20 -0
  1063. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0687.json +28 -0
  1064. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0688.json +27 -0
  1065. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0689.json +20 -0
  1066. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0690.json +20 -0
  1067. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0691.json +20 -0
  1068. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0692.json +20 -0
  1069. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0693.json +28 -0
  1070. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0694.json +27 -0
  1071. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0695.json +20 -0
  1072. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0696.json +20 -0
  1073. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0697.json +20 -0
  1074. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0698.json +20 -0
  1075. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0699.json +28 -0
  1076. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0700.json +27 -0
  1077. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0701.json +20 -0
  1078. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0702.json +20 -0
  1079. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0703.json +20 -0
  1080. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0704.json +20 -0
  1081. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0705.json +28 -0
  1082. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0706.json +27 -0
  1083. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0707.json +20 -0
  1084. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0708.json +20 -0
  1085. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0709.json +20 -0
  1086. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0710.json +20 -0
  1087. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0711.json +28 -0
  1088. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0712.json +27 -0
  1089. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0713.json +20 -0
  1090. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0714.json +20 -0
  1091. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0715.json +20 -0
  1092. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0716.json +20 -0
  1093. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0717.json +28 -0
  1094. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0718.json +27 -0
  1095. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0719.json +20 -0
  1096. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0720.json +20 -0
  1097. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0721.json +20 -0
  1098. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0722.json +20 -0
  1099. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0723.json +28 -0
  1100. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0724.json +27 -0
  1101. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0725.json +20 -0
  1102. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0726.json +20 -0
  1103. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0727.json +20 -0
  1104. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0728.json +20 -0
  1105. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0729.json +28 -0
  1106. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0730.json +27 -0
  1107. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0731.json +20 -0
  1108. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0732.json +20 -0
  1109. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0733.json +20 -0
  1110. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0734.json +20 -0
  1111. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0735.json +28 -0
  1112. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0736.json +27 -0
  1113. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0737.json +20 -0
  1114. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0738.json +20 -0
  1115. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0739.json +20 -0
  1116. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0740.json +20 -0
  1117. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0741.json +28 -0
  1118. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0742.json +27 -0
  1119. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0743.json +20 -0
  1120. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0744.json +20 -0
  1121. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0745.json +20 -0
  1122. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0746.json +20 -0
  1123. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0747.json +28 -0
  1124. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0748.json +27 -0
  1125. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0749.json +20 -0
  1126. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0750.json +20 -0
  1127. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0751.json +20 -0
  1128. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0752.json +20 -0
  1129. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0753.json +28 -0
  1130. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0754.json +27 -0
  1131. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0755.json +20 -0
  1132. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0756.json +20 -0
  1133. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0757.json +20 -0
  1134. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0758.json +20 -0
  1135. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0759.json +28 -0
  1136. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0760.json +27 -0
  1137. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0761.json +20 -0
  1138. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0762.json +20 -0
  1139. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0763.json +20 -0
  1140. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0764.json +20 -0
  1141. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0765.json +28 -0
  1142. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0766.json +27 -0
  1143. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0767.json +20 -0
  1144. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0768.json +20 -0
  1145. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0769.json +20 -0
  1146. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0770.json +20 -0
  1147. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0771.json +28 -0
  1148. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0772.json +27 -0
  1149. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0773.json +20 -0
  1150. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0774.json +20 -0
  1151. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0775.json +20 -0
  1152. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0776.json +20 -0
  1153. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0777.json +28 -0
  1154. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0778.json +27 -0
  1155. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0779.json +20 -0
  1156. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0780.json +20 -0
  1157. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0781.json +20 -0
  1158. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0782.json +20 -0
  1159. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0783.json +28 -0
  1160. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0784.json +27 -0
  1161. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0785.json +20 -0
  1162. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0786.json +20 -0
  1163. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0787.json +20 -0
  1164. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0788.json +20 -0
  1165. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0789.json +28 -0
  1166. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0790.json +27 -0
  1167. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0791.json +20 -0
  1168. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0792.json +20 -0
  1169. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0793.json +20 -0
  1170. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0794.json +20 -0
  1171. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0795.json +28 -0
  1172. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0796.json +27 -0
  1173. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0797.json +20 -0
  1174. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0798.json +20 -0
  1175. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0799.json +20 -0
  1176. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0800.json +20 -0
  1177. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0801.json +28 -0
  1178. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0802.json +27 -0
  1179. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0803.json +20 -0
  1180. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0804.json +20 -0
  1181. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0805.json +20 -0
  1182. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0806.json +20 -0
  1183. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0807.json +28 -0
  1184. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0808.json +27 -0
  1185. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0809.json +20 -0
  1186. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0810.json +20 -0
  1187. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0811.json +20 -0
  1188. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0812.json +20 -0
  1189. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0813.json +28 -0
  1190. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0814.json +27 -0
  1191. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0815.json +20 -0
  1192. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0816.json +20 -0
  1193. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0817.json +20 -0
  1194. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0818.json +20 -0
  1195. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0819.json +28 -0
  1196. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0820.json +27 -0
  1197. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0821.json +20 -0
  1198. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0822.json +20 -0
  1199. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0823.json +20 -0
  1200. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0824.json +20 -0
  1201. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0825.json +28 -0
  1202. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0826.json +27 -0
  1203. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0827.json +20 -0
  1204. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0828.json +20 -0
  1205. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0829.json +20 -0
  1206. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0830.json +20 -0
  1207. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0831.json +28 -0
  1208. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0832.json +27 -0
  1209. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0833.json +20 -0
  1210. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0834.json +20 -0
  1211. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0835.json +20 -0
  1212. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0836.json +20 -0
  1213. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0837.json +28 -0
  1214. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0838.json +27 -0
  1215. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0839.json +20 -0
  1216. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0840.json +20 -0
  1217. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0841.json +20 -0
  1218. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0842.json +20 -0
  1219. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0843.json +28 -0
  1220. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0844.json +27 -0
  1221. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0845.json +20 -0
  1222. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0846.json +20 -0
  1223. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0847.json +20 -0
  1224. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0848.json +20 -0
  1225. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0849.json +28 -0
  1226. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0850.json +27 -0
  1227. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0851.json +20 -0
  1228. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0852.json +20 -0
  1229. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0853.json +20 -0
  1230. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0854.json +20 -0
  1231. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0855.json +28 -0
  1232. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0856.json +27 -0
  1233. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0857.json +20 -0
  1234. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0858.json +20 -0
  1235. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0859.json +20 -0
  1236. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0860.json +20 -0
  1237. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0861.json +28 -0
  1238. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0862.json +27 -0
  1239. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0863.json +20 -0
  1240. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0864.json +20 -0
  1241. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0865.json +20 -0
  1242. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0866.json +20 -0
  1243. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0867.json +28 -0
  1244. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0868.json +27 -0
  1245. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0869.json +20 -0
  1246. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0870.json +20 -0
  1247. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0871.json +20 -0
  1248. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0872.json +20 -0
  1249. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0873.json +28 -0
  1250. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0874.json +27 -0
  1251. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0875.json +20 -0
  1252. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0876.json +20 -0
  1253. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0877.json +20 -0
  1254. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0878.json +20 -0
  1255. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0879.json +28 -0
  1256. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0880.json +27 -0
  1257. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0881.json +20 -0
  1258. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0882.json +20 -0
  1259. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0883.json +20 -0
  1260. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0884.json +20 -0
  1261. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0885.json +28 -0
  1262. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0886.json +27 -0
  1263. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0887.json +20 -0
  1264. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0888.json +20 -0
  1265. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0889.json +20 -0
  1266. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0890.json +20 -0
  1267. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0891.json +28 -0
  1268. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0892.json +27 -0
  1269. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0893.json +20 -0
  1270. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0894.json +20 -0
  1271. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0895.json +20 -0
  1272. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0896.json +20 -0
  1273. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0897.json +28 -0
  1274. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0898.json +27 -0
  1275. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0899.json +20 -0
  1276. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0900.json +20 -0
  1277. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0901.json +20 -0
  1278. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0902.json +20 -0
  1279. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0903.json +28 -0
  1280. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0904.json +27 -0
  1281. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0905.json +20 -0
  1282. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0906.json +20 -0
  1283. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0907.json +20 -0
  1284. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0908.json +20 -0
  1285. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0909.json +28 -0
  1286. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0910.json +27 -0
  1287. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0911.json +20 -0
  1288. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0912.json +20 -0
  1289. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0913.json +20 -0
  1290. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0914.json +20 -0
  1291. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0915.json +28 -0
  1292. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0916.json +27 -0
  1293. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0917.json +20 -0
  1294. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0918.json +20 -0
  1295. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0919.json +20 -0
  1296. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0920.json +20 -0
  1297. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0921.json +28 -0
  1298. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0922.json +27 -0
  1299. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0923.json +20 -0
  1300. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0924.json +20 -0
  1301. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0925.json +20 -0
  1302. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0926.json +20 -0
  1303. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0927.json +28 -0
  1304. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0928.json +27 -0
  1305. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0929.json +20 -0
  1306. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0930.json +20 -0
  1307. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0931.json +20 -0
  1308. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0932.json +20 -0
  1309. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0933.json +28 -0
  1310. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0934.json +27 -0
  1311. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0935.json +20 -0
  1312. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0936.json +20 -0
  1313. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0937.json +20 -0
  1314. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0938.json +20 -0
  1315. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0939.json +28 -0
  1316. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0940.json +27 -0
  1317. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0941.json +20 -0
  1318. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0942.json +20 -0
  1319. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0943.json +20 -0
  1320. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0944.json +20 -0
  1321. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0945.json +28 -0
  1322. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0946.json +27 -0
  1323. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0947.json +20 -0
  1324. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0948.json +20 -0
  1325. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0949.json +20 -0
  1326. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0950.json +20 -0
  1327. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0951.json +28 -0
  1328. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0952.json +27 -0
  1329. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0953.json +20 -0
  1330. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0954.json +20 -0
  1331. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0955.json +20 -0
  1332. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0956.json +20 -0
  1333. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0957.json +28 -0
  1334. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0958.json +27 -0
  1335. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0959.json +20 -0
  1336. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0960.json +20 -0
  1337. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0961.json +20 -0
  1338. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0962.json +20 -0
  1339. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0963.json +28 -0
  1340. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0964.json +27 -0
  1341. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0965.json +20 -0
  1342. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0966.json +20 -0
  1343. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0967.json +20 -0
  1344. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0968.json +20 -0
  1345. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0969.json +28 -0
  1346. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0970.json +27 -0
  1347. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0971.json +20 -0
  1348. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0972.json +20 -0
  1349. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0973.json +20 -0
  1350. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0974.json +20 -0
  1351. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0975.json +28 -0
  1352. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0976.json +27 -0
  1353. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0977.json +20 -0
  1354. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0978.json +20 -0
  1355. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0979.json +20 -0
  1356. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0980.json +20 -0
  1357. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0981.json +28 -0
  1358. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0982.json +27 -0
  1359. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0983.json +20 -0
  1360. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0984.json +20 -0
  1361. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0985.json +20 -0
  1362. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0986.json +20 -0
  1363. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0987.json +28 -0
  1364. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0988.json +27 -0
  1365. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0989.json +20 -0
  1366. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0990.json +20 -0
  1367. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0991.json +20 -0
  1368. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0992.json +20 -0
  1369. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0993.json +28 -0
  1370. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0994.json +27 -0
  1371. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0995.json +20 -0
  1372. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0996.json +20 -0
  1373. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0997.json +20 -0
  1374. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0998.json +20 -0
  1375. novafabric-0.57.0/schemas/event-envelope-v1/corpus/0999.json +28 -0
  1376. novafabric-0.57.0/schemas/event-envelope-v1/corpus/1000.json +27 -0
  1377. novafabric-0.57.0/schemas/event-envelope-v1/corpus/README.md +72 -0
  1378. novafabric-0.57.0/schemas/event-envelope-v1/corpus/generate_corpus.py +283 -0
  1379. novafabric-0.57.0/schemas/event-envelope-v1/envelope-v1.json +158 -0
  1380. novafabric-0.57.0/schemas/event-envelope-v1/envelope-v1.md +121 -0
  1381. novafabric-0.57.0/schemas/event-envelope-v1/envelope-v1.proto +27 -0
  1382. novafabric-0.57.0/schemas/event-envelope-v1/envelope-v1.sha256 +1 -0
  1383. novafabric-0.57.0/schemas/evidence-bundle.schema.json +399 -0
  1384. novafabric-0.57.0/schemas/ledger-checkpoint-v1.schema.json +233 -0
  1385. novafabric-0.57.0/schemas/lineage-edge.schema.json +104 -0
  1386. novafabric-0.57.0/schemas/model-call.schema.json +427 -0
  1387. novafabric-0.57.0/schemas/parent_child_capsule_v1.schema.json +171 -0
  1388. novafabric-0.57.0/schemas/replay-attestation.schema.json +254 -0
  1389. novafabric-0.57.0/schemas/replay-policy.schema.json +288 -0
  1390. novafabric-0.57.0/schemas/replay-result.schema.json +104 -0
  1391. novafabric-0.57.0/schemas/run-capsule.schema.json +433 -0
  1392. novafabric-0.57.0/schemas/safety-case.schema.json +366 -0
  1393. novafabric-0.57.0/schemas/secret-redaction.schema.json +374 -0
  1394. novafabric-0.57.0/schemas/tool-call.schema.json +334 -0
  1395. novafabric-0.57.0/scripts/live_slurm_capture_e2e.py +109 -0
  1396. novafabric-0.57.0/scripts/live_slurm_smoke.py +87 -0
  1397. novafabric-0.57.0/scripts/verify_differentiation_table.py +277 -0
  1398. novafabric-0.57.0/src/novafabric/__init__.py +3 -0
  1399. novafabric-0.57.0/src/novafabric/_paths.py +101 -0
  1400. novafabric-0.57.0/src/novafabric/adapters/__init__.py +74 -0
  1401. novafabric-0.57.0/src/novafabric/adapters/a2a.py +204 -0
  1402. novafabric-0.57.0/src/novafabric/adapters/autogen.py +216 -0
  1403. novafabric-0.57.0/src/novafabric/adapters/bedrock_agentcore.py +197 -0
  1404. novafabric-0.57.0/src/novafabric/adapters/crewai.py +215 -0
  1405. novafabric-0.57.0/src/novafabric/adapters/dspy.py +218 -0
  1406. novafabric-0.57.0/src/novafabric/adapters/git.py +18 -0
  1407. novafabric-0.57.0/src/novafabric/adapters/google_adk.py +172 -0
  1408. novafabric-0.57.0/src/novafabric/adapters/langfuse.py +9 -0
  1409. novafabric-0.57.0/src/novafabric/adapters/langgraph.py +284 -0
  1410. novafabric-0.57.0/src/novafabric/adapters/mlflow.py +9 -0
  1411. novafabric-0.57.0/src/novafabric/adapters/openai_agents.py +184 -0
  1412. novafabric-0.57.0/src/novafabric/assure/__init__.py +2 -0
  1413. novafabric-0.57.0/src/novafabric/assure/checker.py +27 -0
  1414. novafabric-0.57.0/src/novafabric/assure/checks.py +354 -0
  1415. novafabric-0.57.0/src/novafabric/assure/models.py +56 -0
  1416. novafabric-0.57.0/src/novafabric/audit/__init__.py +5 -0
  1417. novafabric-0.57.0/src/novafabric/audit/_log.py +166 -0
  1418. novafabric-0.57.0/src/novafabric/audit/_models.py +34 -0
  1419. novafabric-0.57.0/src/novafabric/audit/_paths.py +5 -0
  1420. novafabric-0.57.0/src/novafabric/capsule/__init__.py +41 -0
  1421. novafabric-0.57.0/src/novafabric/capsule/cli.py +332 -0
  1422. novafabric-0.57.0/src/novafabric/capsule/edge_typer.py +107 -0
  1423. novafabric-0.57.0/src/novafabric/capsule/env_contract.py +200 -0
  1424. novafabric-0.57.0/src/novafabric/capsule/orphan.py +278 -0
  1425. novafabric-0.57.0/src/novafabric/capsule/prov_mapping.py +139 -0
  1426. novafabric-0.57.0/src/novafabric/capsule/schema.py +328 -0
  1427. novafabric-0.57.0/src/novafabric/capsule/tree_assembler.py +206 -0
  1428. novafabric-0.57.0/src/novafabric/capsule/ulid_util.py +103 -0
  1429. novafabric-0.57.0/src/novafabric/capsule/validator.py +170 -0
  1430. novafabric-0.57.0/src/novafabric/capsule/writer.py +387 -0
  1431. novafabric-0.57.0/src/novafabric/capsule_migration/__init__.py +9 -0
  1432. novafabric-0.57.0/src/novafabric/capsule_migration/_converter.py +249 -0
  1433. novafabric-0.57.0/src/novafabric/capture/__init__.py +5 -0
  1434. novafabric-0.57.0/src/novafabric/capture/_ulid.py +13 -0
  1435. novafabric-0.57.0/src/novafabric/capture/body_adapters/__init__.py +285 -0
  1436. novafabric-0.57.0/src/novafabric/capture/capsule.py +60 -0
  1437. novafabric-0.57.0/src/novafabric/capture/env.py +239 -0
  1438. novafabric-0.57.0/src/novafabric/capture/event_recorder.py +409 -0
  1439. novafabric-0.57.0/src/novafabric/capture/events.py +202 -0
  1440. novafabric-0.57.0/src/novafabric/capture/hooks/__init__.py +213 -0
  1441. novafabric-0.57.0/src/novafabric/capture/hooks/_aiohttp.py +155 -0
  1442. novafabric-0.57.0/src/novafabric/capture/hooks/_anthropic.py +124 -0
  1443. novafabric-0.57.0/src/novafabric/capture/hooks/_deferred.py +150 -0
  1444. novafabric-0.57.0/src/novafabric/capture/hooks/_httpx.py +200 -0
  1445. novafabric-0.57.0/src/novafabric/capture/hooks/_layering.py +55 -0
  1446. novafabric-0.57.0/src/novafabric/capture/hooks/_mcp.py +282 -0
  1447. novafabric-0.57.0/src/novafabric/capture/hooks/_openai.py +137 -0
  1448. novafabric-0.57.0/src/novafabric/capture/hooks/_otel_genai.py +184 -0
  1449. novafabric-0.57.0/src/novafabric/capture/hooks/_plugin.py +196 -0
  1450. novafabric-0.57.0/src/novafabric/capture/hooks/_requests.py +168 -0
  1451. novafabric-0.57.0/src/novafabric/capture/hooks/_url_registry.py +143 -0
  1452. novafabric-0.57.0/src/novafabric/capture/hooks/_urllib3.py +179 -0
  1453. novafabric-0.57.0/src/novafabric/capture/hooks/url_registry.yaml +64 -0
  1454. novafabric-0.57.0/src/novafabric/capture/orchestrator.py +597 -0
  1455. novafabric-0.57.0/src/novafabric/capture/replay.py +11 -0
  1456. novafabric-0.57.0/src/novafabric/capture/secrets.py +213 -0
  1457. novafabric-0.57.0/src/novafabric/capture/spool_sink.py +86 -0
  1458. novafabric-0.57.0/src/novafabric/cli/__init__.py +0 -0
  1459. novafabric-0.57.0/src/novafabric/cli/aibom.py +210 -0
  1460. novafabric-0.57.0/src/novafabric/cli/api_proxy.py +176 -0
  1461. novafabric-0.57.0/src/novafabric/cli/approve.py +54 -0
  1462. novafabric-0.57.0/src/novafabric/cli/asset.py +171 -0
  1463. novafabric-0.57.0/src/novafabric/cli/assure.py +94 -0
  1464. novafabric-0.57.0/src/novafabric/cli/audit.py +414 -0
  1465. novafabric-0.57.0/src/novafabric/cli/capsule.py +80 -0
  1466. novafabric-0.57.0/src/novafabric/cli/capture.py +309 -0
  1467. novafabric-0.57.0/src/novafabric/cli/capture_level.py +57 -0
  1468. novafabric-0.57.0/src/novafabric/cli/classify.py +296 -0
  1469. novafabric-0.57.0/src/novafabric/cli/collector.py +101 -0
  1470. novafabric-0.57.0/src/novafabric/cli/cost.py +110 -0
  1471. novafabric-0.57.0/src/novafabric/cli/daemon.py +91 -0
  1472. novafabric-0.57.0/src/novafabric/cli/diagnose.py +114 -0
  1473. novafabric-0.57.0/src/novafabric/cli/diff.py +131 -0
  1474. novafabric-0.57.0/src/novafabric/cli/doctor.py +134 -0
  1475. novafabric-0.57.0/src/novafabric/cli/energy.py +121 -0
  1476. novafabric-0.57.0/src/novafabric/cli/erasure.py +54 -0
  1477. novafabric-0.57.0/src/novafabric/cli/euaiact.py +170 -0
  1478. novafabric-0.57.0/src/novafabric/cli/eval_compare.py +123 -0
  1479. novafabric-0.57.0/src/novafabric/cli/eval_run.py +213 -0
  1480. novafabric-0.57.0/src/novafabric/cli/evidence.py +333 -0
  1481. novafabric-0.57.0/src/novafabric/cli/export_c2pa.py +62 -0
  1482. novafabric-0.57.0/src/novafabric/cli/export_evidence.py +767 -0
  1483. novafabric-0.57.0/src/novafabric/cli/export_examiner.py +265 -0
  1484. novafabric-0.57.0/src/novafabric/cli/export_rocrate.py +49 -0
  1485. novafabric-0.57.0/src/novafabric/cli/export_system_card.py +99 -0
  1486. novafabric-0.57.0/src/novafabric/cli/hold.py +163 -0
  1487. novafabric-0.57.0/src/novafabric/cli/incident.py +233 -0
  1488. novafabric-0.57.0/src/novafabric/cli/ingest_capsule.py +157 -0
  1489. novafabric-0.57.0/src/novafabric/cli/init_.py +89 -0
  1490. novafabric-0.57.0/src/novafabric/cli/inspect_.py +49 -0
  1491. novafabric-0.57.0/src/novafabric/cli/kg.py +873 -0
  1492. novafabric-0.57.0/src/novafabric/cli/ledger.py +235 -0
  1493. novafabric-0.57.0/src/novafabric/cli/lineage.py +451 -0
  1494. novafabric-0.57.0/src/novafabric/cli/lineage_migrate.py +256 -0
  1495. novafabric-0.57.0/src/novafabric/cli/list_.py +106 -0
  1496. novafabric-0.57.0/src/novafabric/cli/login.py +274 -0
  1497. novafabric-0.57.0/src/novafabric/cli/main.py +325 -0
  1498. novafabric-0.57.0/src/novafabric/cli/mcp_.py +143 -0
  1499. novafabric-0.57.0/src/novafabric/cli/mcp_proxy.py +199 -0
  1500. novafabric-0.57.0/src/novafabric/cli/migrate.py +190 -0
  1501. novafabric-0.57.0/src/novafabric/cli/migrate_capsule.py +79 -0
  1502. novafabric-0.57.0/src/novafabric/cli/migrate_schema.py +346 -0
  1503. novafabric-0.57.0/src/novafabric/cli/pii_erase.py +184 -0
  1504. novafabric-0.57.0/src/novafabric/cli/policy.py +272 -0
  1505. novafabric-0.57.0/src/novafabric/cli/promote.py +186 -0
  1506. novafabric-0.57.0/src/novafabric/cli/rebuild.py +105 -0
  1507. novafabric-0.57.0/src/novafabric/cli/redact.py +378 -0
  1508. novafabric-0.57.0/src/novafabric/cli/register.py +51 -0
  1509. novafabric-0.57.0/src/novafabric/cli/replay.py +142 -0
  1510. novafabric-0.57.0/src/novafabric/cli/report.py +47 -0
  1511. novafabric-0.57.0/src/novafabric/cli/rollback.py +109 -0
  1512. novafabric-0.57.0/src/novafabric/cli/safety_case.py +177 -0
  1513. novafabric-0.57.0/src/novafabric/cli/scan_secrets.py +125 -0
  1514. novafabric-0.57.0/src/novafabric/cli/schema.py +26 -0
  1515. novafabric-0.57.0/src/novafabric/cli/seal_propose.py +775 -0
  1516. novafabric-0.57.0/src/novafabric/cli/serve.py +274 -0
  1517. novafabric-0.57.0/src/novafabric/cli/server.py +402 -0
  1518. novafabric-0.57.0/src/novafabric/cli/storage_scale.py +72 -0
  1519. novafabric-0.57.0/src/novafabric/cli/suggest_register.py +235 -0
  1520. novafabric-0.57.0/src/novafabric/cli/unregister.py +93 -0
  1521. novafabric-0.57.0/src/novafabric/cli/validate.py +166 -0
  1522. novafabric-0.57.0/src/novafabric/cli/verify.py +314 -0
  1523. novafabric-0.57.0/src/novafabric/collector_app/__init__.py +15 -0
  1524. novafabric-0.57.0/src/novafabric/collector_app/app.py +160 -0
  1525. novafabric-0.57.0/src/novafabric/collector_cffi/__init__.py +1 -0
  1526. novafabric-0.57.0/src/novafabric/collector_cffi/spool.py +423 -0
  1527. novafabric-0.57.0/src/novafabric/compliance/__init__.py +29 -0
  1528. novafabric-0.57.0/src/novafabric/compliance/audit/__init__.py +30 -0
  1529. novafabric-0.57.0/src/novafabric/compliance/audit/engine.py +302 -0
  1530. novafabric-0.57.0/src/novafabric/compliance/audit/loader.py +110 -0
  1531. novafabric-0.57.0/src/novafabric/compliance/audit/models.py +128 -0
  1532. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/eu-ai-act-high-risk.yaml +111 -0
  1533. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/gdpr.yaml +88 -0
  1534. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/iso42001.yaml +106 -0
  1535. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/nist-ai-rmf.yaml +136 -0
  1536. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/scientific-reproducibility.yaml +97 -0
  1537. novafabric-0.57.0/src/novafabric/compliance/audit/profiles/soc2-type2.yaml +95 -0
  1538. novafabric-0.57.0/src/novafabric/compliance/euaiact.py +222 -0
  1539. novafabric-0.57.0/src/novafabric/compliance/export/__init__.py +49 -0
  1540. novafabric-0.57.0/src/novafabric/compliance/export/aibom.py +278 -0
  1541. novafabric-0.57.0/src/novafabric/compliance/export/annex_iv.py +211 -0
  1542. novafabric-0.57.0/src/novafabric/compliance/export/annex_iv_mapping.yaml +193 -0
  1543. novafabric-0.57.0/src/novafabric/compliance/export/examiner.py +621 -0
  1544. novafabric-0.57.0/src/novafabric/compliance/export/gdpr_ropa.py +266 -0
  1545. novafabric-0.57.0/src/novafabric/compliance/export/hipaa_safe_harbor.py +482 -0
  1546. novafabric-0.57.0/src/novafabric/compliance/export/models.py +237 -0
  1547. novafabric-0.57.0/src/novafabric/compliance/export/nis2.py +284 -0
  1548. novafabric-0.57.0/src/novafabric/compliance/export/nist_rmf.py +428 -0
  1549. novafabric-0.57.0/src/novafabric/compliance/export/prov_json.py +216 -0
  1550. novafabric-0.57.0/src/novafabric/compliance/export/renderer.py +209 -0
  1551. novafabric-0.57.0/src/novafabric/compliance/export/ro_crate.py +177 -0
  1552. novafabric-0.57.0/src/novafabric/compliance/export/safety_case.py +264 -0
  1553. novafabric-0.57.0/src/novafabric/compliance/incident/__init__.py +45 -0
  1554. novafabric-0.57.0/src/novafabric/compliance/incident/aim_export.py +117 -0
  1555. novafabric-0.57.0/src/novafabric/compliance/incident/clock.py +130 -0
  1556. novafabric-0.57.0/src/novafabric/compliance/incident/models.py +178 -0
  1557. novafabric-0.57.0/src/novafabric/compliance/incident/store.py +178 -0
  1558. novafabric-0.57.0/src/novafabric/compliance/pii/__init__.py +46 -0
  1559. novafabric-0.57.0/src/novafabric/compliance/pii/detector.py +207 -0
  1560. novafabric-0.57.0/src/novafabric/compliance/pii/gate.py +305 -0
  1561. novafabric-0.57.0/src/novafabric/compliance/pii/index.py +152 -0
  1562. novafabric-0.57.0/src/novafabric/compliance/pii/manifest.py +88 -0
  1563. novafabric-0.57.0/src/novafabric/compliance/system_card.py +130 -0
  1564. novafabric-0.57.0/src/novafabric/compliance/tool_permission/__init__.py +24 -0
  1565. novafabric-0.57.0/src/novafabric/compliance/tool_permission/index.py +160 -0
  1566. novafabric-0.57.0/src/novafabric/compliance/tool_permission/models.py +143 -0
  1567. novafabric-0.57.0/src/novafabric/cost/__init__.py +0 -0
  1568. novafabric-0.57.0/src/novafabric/cost/clickhouse_store.py +367 -0
  1569. novafabric-0.57.0/src/novafabric/cost/interceptor.py +133 -0
  1570. novafabric-0.57.0/src/novafabric/daemon/__init__.py +9 -0
  1571. novafabric-0.57.0/src/novafabric/daemon/client.py +126 -0
  1572. novafabric-0.57.0/src/novafabric/daemon/protocol.py +63 -0
  1573. novafabric-0.57.0/src/novafabric/daemon/server.py +141 -0
  1574. novafabric-0.57.0/src/novafabric/daemon/worker.py +112 -0
  1575. novafabric-0.57.0/src/novafabric/diagnose/__init__.py +25 -0
  1576. novafabric-0.57.0/src/novafabric/diagnose/attribution.py +416 -0
  1577. novafabric-0.57.0/src/novafabric/diff/__init__.py +6 -0
  1578. novafabric-0.57.0/src/novafabric/diff/_align.py +77 -0
  1579. novafabric-0.57.0/src/novafabric/diff/_engine.py +174 -0
  1580. novafabric-0.57.0/src/novafabric/diff/_format.py +100 -0
  1581. novafabric-0.57.0/src/novafabric/diff/_report.py +74 -0
  1582. novafabric-0.57.0/src/novafabric/energy/__init__.py +49 -0
  1583. novafabric-0.57.0/src/novafabric/energy/_attribution.py +323 -0
  1584. novafabric-0.57.0/src/novafabric/energy/_conservation.py +119 -0
  1585. novafabric-0.57.0/src/novafabric/energy/_readers.py +167 -0
  1586. novafabric-0.57.0/src/novafabric/energy/_receipt.py +359 -0
  1587. novafabric-0.57.0/src/novafabric/energy/_sacct.py +86 -0
  1588. novafabric-0.57.0/src/novafabric/energy/_sampler.py +165 -0
  1589. novafabric-0.57.0/src/novafabric/energy/_seal.py +53 -0
  1590. novafabric-0.57.0/src/novafabric/envelope/__init__.py +26 -0
  1591. novafabric-0.57.0/src/novafabric/envelope/cloudevents.py +186 -0
  1592. novafabric-0.57.0/src/novafabric/envelope/models.py +181 -0
  1593. novafabric-0.57.0/src/novafabric/envelope/validator.py +65 -0
  1594. novafabric-0.57.0/src/novafabric/eval/__init__.py +0 -0
  1595. novafabric-0.57.0/src/novafabric/eval/runner.py +119 -0
  1596. novafabric-0.57.0/src/novafabric/eval/significance.py +112 -0
  1597. novafabric-0.57.0/src/novafabric/evals/__init__.py +19 -0
  1598. novafabric-0.57.0/src/novafabric/evals/_loader.py +38 -0
  1599. novafabric-0.57.0/src/novafabric/evals/_stats.py +180 -0
  1600. novafabric-0.57.0/src/novafabric/evals/adapter.py +45 -0
  1601. novafabric-0.57.0/src/novafabric/evals/exceptions.py +10 -0
  1602. novafabric-0.57.0/src/novafabric/evals/result.py +60 -0
  1603. novafabric-0.57.0/src/novafabric/evals/suites/__init__.py +0 -0
  1604. novafabric-0.57.0/src/novafabric/evals/suites/agent_bench.py +115 -0
  1605. novafabric-0.57.0/src/novafabric/evals/suites/gaia.py +114 -0
  1606. novafabric-0.57.0/src/novafabric/evals/suites/mmlu.py +109 -0
  1607. novafabric-0.57.0/src/novafabric/evals/suites/smoke.py +86 -0
  1608. novafabric-0.57.0/src/novafabric/evals/suites/swe_bench.py +115 -0
  1609. novafabric-0.57.0/src/novafabric/evals/suites/truthful_qa.py +109 -0
  1610. novafabric-0.57.0/src/novafabric/evidence/__init__.py +28 -0
  1611. novafabric-0.57.0/src/novafabric/evidence/admissibility.py +243 -0
  1612. novafabric-0.57.0/src/novafabric/evidence/binding.py +135 -0
  1613. novafabric-0.57.0/src/novafabric/evidence/bundle.py +447 -0
  1614. novafabric-0.57.0/src/novafabric/evidence/c2pa_exporter.py +233 -0
  1615. novafabric-0.57.0/src/novafabric/evidence/completeness.py +176 -0
  1616. novafabric-0.57.0/src/novafabric/evidence/intoto.py +80 -0
  1617. novafabric-0.57.0/src/novafabric/evidence/merkle.py +46 -0
  1618. novafabric-0.57.0/src/novafabric/evidence/reperformance.py +110 -0
  1619. novafabric-0.57.0/src/novafabric/evidence/replay_attestation.py +206 -0
  1620. novafabric-0.57.0/src/novafabric/evidence/signing.py +73 -0
  1621. novafabric-0.57.0/src/novafabric/evidence_fabric/__init__.py +38 -0
  1622. novafabric-0.57.0/src/novafabric/evidence_fabric/avro_serializer.py +129 -0
  1623. novafabric-0.57.0/src/novafabric/evidence_fabric/clickhouse_accumulator.py +267 -0
  1624. novafabric-0.57.0/src/novafabric/evidence_fabric/duckdb_accumulator.py +358 -0
  1625. novafabric-0.57.0/src/novafabric/evidence_fabric/nats_consumer.py +325 -0
  1626. novafabric-0.57.0/src/novafabric/evidence_fabric/pii_table.py +288 -0
  1627. novafabric-0.57.0/src/novafabric/evidence_fabric/queue_consumer.py +205 -0
  1628. novafabric-0.57.0/src/novafabric/evidence_fabric/rebuild.py +203 -0
  1629. novafabric-0.57.0/src/novafabric/evidence_fabric/schemas/evidence_event.avsc +42 -0
  1630. novafabric-0.57.0/src/novafabric/governance/__init__.py +19 -0
  1631. novafabric-0.57.0/src/novafabric/governance/classifier.py +330 -0
  1632. novafabric-0.57.0/src/novafabric/governance/models.py +60 -0
  1633. novafabric-0.57.0/src/novafabric/governance/vocabularies/eu-ai-act/2024.1.0.yaml +131 -0
  1634. novafabric-0.57.0/src/novafabric/governance/vocabularies/nist-ai-rmf/1.0.0.yaml +42 -0
  1635. novafabric-0.57.0/src/novafabric/governance/vocabularies/omb-m24-10/1.0.0.yaml +43 -0
  1636. novafabric-0.57.0/src/novafabric/judge/__init__.py +21 -0
  1637. novafabric-0.57.0/src/novafabric/judge/_embedding_judge.py +126 -0
  1638. novafabric-0.57.0/src/novafabric/judge/_kappa.py +91 -0
  1639. novafabric-0.57.0/src/novafabric/judge/_llm_judge.py +200 -0
  1640. novafabric-0.57.0/src/novafabric/judge/_numerical_judge.py +113 -0
  1641. novafabric-0.57.0/src/novafabric/judge/framework.py +129 -0
  1642. novafabric-0.57.0/src/novafabric/judge/models.py +30 -0
  1643. novafabric-0.57.0/src/novafabric/judge/opa_adapter.py +31 -0
  1644. novafabric-0.57.0/src/novafabric/judge/policies/judge_gate.rego +22 -0
  1645. novafabric-0.57.0/src/novafabric/kg/__init__.py +10 -0
  1646. novafabric-0.57.0/src/novafabric/kg/alias_resolver.py +295 -0
  1647. novafabric-0.57.0/src/novafabric/kg/consumer.py +172 -0
  1648. novafabric-0.57.0/src/novafabric/kg/crdt.py +247 -0
  1649. novafabric-0.57.0/src/novafabric/kg/entity_normaliser.py +126 -0
  1650. novafabric-0.57.0/src/novafabric/kg/ingest_tracker.py +84 -0
  1651. novafabric-0.57.0/src/novafabric/kg/pipeline.py +410 -0
  1652. novafabric-0.57.0/src/novafabric/kg/review_queue.py +222 -0
  1653. novafabric-0.57.0/src/novafabric/kg/store.py +672 -0
  1654. novafabric-0.57.0/src/novafabric/lineage/__init__.py +25 -0
  1655. novafabric-0.57.0/src/novafabric/lineage/_facets.py +216 -0
  1656. novafabric-0.57.0/src/novafabric/lineage/_importer.py +186 -0
  1657. novafabric-0.57.0/src/novafabric/lineage/_index.py +251 -0
  1658. novafabric-0.57.0/src/novafabric/lineage/_ol_transport.py +69 -0
  1659. novafabric-0.57.0/src/novafabric/lineage/_openlineage.py +176 -0
  1660. novafabric-0.57.0/src/novafabric/lineage/_store.py +337 -0
  1661. novafabric-0.57.0/src/novafabric/lineage/_types.py +74 -0
  1662. novafabric-0.57.0/src/novafabric/lineage/_writer.py +161 -0
  1663. novafabric-0.57.0/src/novafabric/lineage/backends/__init__.py +24 -0
  1664. novafabric-0.57.0/src/novafabric/lineage/backends/age.py +44 -0
  1665. novafabric-0.57.0/src/novafabric/lineage/backends/janusgraph.py +202 -0
  1666. novafabric-0.57.0/src/novafabric/lineage/backends/janusgraph_snb.py +243 -0
  1667. novafabric-0.57.0/src/novafabric/lineage/backends/kuzu.py +138 -0
  1668. novafabric-0.57.0/src/novafabric/lineage/backends/postgres.py +31 -0
  1669. novafabric-0.57.0/src/novafabric/lineage/backends/sqlite.py +67 -0
  1670. novafabric-0.57.0/src/novafabric/lineage/consumer.py +266 -0
  1671. novafabric-0.57.0/src/novafabric/lineage/federation/__init__.py +3 -0
  1672. novafabric-0.57.0/src/novafabric/lineage/federation/coordinator.py +144 -0
  1673. novafabric-0.57.0/src/novafabric/lineage/federation/shard_query.py +68 -0
  1674. novafabric-0.57.0/src/novafabric/lineage/federation/summary.py +87 -0
  1675. novafabric-0.57.0/src/novafabric/lineage/federation/tokens.py +39 -0
  1676. novafabric-0.57.0/src/novafabric/lineage/migration/__init__.py +1 -0
  1677. novafabric-0.57.0/src/novafabric/lineage/migration/kit.py +344 -0
  1678. novafabric-0.57.0/src/novafabric/lineage/migration/parquet_replay.py +67 -0
  1679. novafabric-0.57.0/src/novafabric/lineage/migration/validate.py +57 -0
  1680. novafabric-0.57.0/src/novafabric/lineage/profiles/__init__.py +1 -0
  1681. novafabric-0.57.0/src/novafabric/lineage/profiles/janusgraph_minimal.py +71 -0
  1682. novafabric-0.57.0/src/novafabric/lineage/profiles/kuzudb_vertical.py +37 -0
  1683. novafabric-0.57.0/src/novafabric/lineage/store.py +31 -0
  1684. novafabric-0.57.0/src/novafabric/mcp_scanner/__init__.py +2 -0
  1685. novafabric-0.57.0/src/novafabric/mcp_scanner/models.py +82 -0
  1686. novafabric-0.57.0/src/novafabric/mcp_scanner/risk_rules.py +164 -0
  1687. novafabric-0.57.0/src/novafabric/mcp_scanner/scanner.py +47 -0
  1688. novafabric-0.57.0/src/novafabric/metadata_store/__init__.py +28 -0
  1689. novafabric-0.57.0/src/novafabric/metadata_store/cli.py +486 -0
  1690. novafabric-0.57.0/src/novafabric/metadata_store/factory.py +42 -0
  1691. novafabric-0.57.0/src/novafabric/metadata_store/interface.py +85 -0
  1692. novafabric-0.57.0/src/novafabric/metadata_store/migrations/__init__.py +9 -0
  1693. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/__init__.py +1 -0
  1694. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/alembic.ini +38 -0
  1695. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/env.py +46 -0
  1696. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/script.py.mako +22 -0
  1697. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/versions/__init__.py +1 -0
  1698. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/versions/v001_init.py +158 -0
  1699. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/versions/v002_partition_ddl.py +293 -0
  1700. novafabric-0.57.0/src/novafabric/metadata_store/migrations/postgres/versions/v003_kg_tables.py +76 -0
  1701. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/__init__.py +1 -0
  1702. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/alembic.ini +37 -0
  1703. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/env.py +32 -0
  1704. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/script.py.mako +22 -0
  1705. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/versions/__init__.py +1 -0
  1706. novafabric-0.57.0/src/novafabric/metadata_store/migrations/sqlite/versions/v001_init.py +72 -0
  1707. novafabric-0.57.0/src/novafabric/metadata_store/postgres.py +304 -0
  1708. novafabric-0.57.0/src/novafabric/metadata_store/rls.py +64 -0
  1709. novafabric-0.57.0/src/novafabric/metadata_store/sqlite.py +249 -0
  1710. novafabric-0.57.0/src/novafabric/object_capsule_store/__init__.py +60 -0
  1711. novafabric-0.57.0/src/novafabric/object_capsule_store/backend_router.py +155 -0
  1712. novafabric-0.57.0/src/novafabric/object_capsule_store/cas.py +118 -0
  1713. novafabric-0.57.0/src/novafabric/object_capsule_store/checkpoint.py +184 -0
  1714. novafabric-0.57.0/src/novafabric/object_capsule_store/client.py +492 -0
  1715. novafabric-0.57.0/src/novafabric/object_capsule_store/exceptions.py +135 -0
  1716. novafabric-0.57.0/src/novafabric/object_capsule_store/local_wal.py +159 -0
  1717. novafabric-0.57.0/src/novafabric/object_capsule_store/manifest_chain.py +309 -0
  1718. novafabric-0.57.0/src/novafabric/object_capsule_store/models.py +161 -0
  1719. novafabric-0.57.0/src/novafabric/object_capsule_store/novaseal_client.py +125 -0
  1720. novafabric-0.57.0/src/novafabric/object_capsule_store/rebuild.py +271 -0
  1721. novafabric-0.57.0/src/novafabric/object_capsule_store/schemas/checkpoint_v1.schema.json +55 -0
  1722. novafabric-0.57.0/src/novafabric/object_capsule_store/schemas/manifest_commit_v1.schema.json +83 -0
  1723. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/__init__.py +18 -0
  1724. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/azure.py +181 -0
  1725. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/base.py +149 -0
  1726. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/ceph.py +48 -0
  1727. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/gcs.py +235 -0
  1728. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/minio.py +51 -0
  1729. novafabric-0.57.0/src/novafabric/object_capsule_store/worm/s3.py +162 -0
  1730. novafabric-0.57.0/src/novafabric/object_capsule_store/zstd_dict.py +194 -0
  1731. novafabric-0.57.0/src/novafabric/pii/__init__.py +17 -0
  1732. novafabric-0.57.0/src/novafabric/pii/dek/__init__.py +34 -0
  1733. novafabric-0.57.0/src/novafabric/pii/dek/store.py +369 -0
  1734. novafabric-0.57.0/src/novafabric/policies/__init__.py +0 -0
  1735. novafabric-0.57.0/src/novafabric/policies/capture_level.py +101 -0
  1736. novafabric-0.57.0/src/novafabric/policies/novafabric/__init__.py +0 -0
  1737. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/__init__.py +0 -0
  1738. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/dataset_license.rego +10 -0
  1739. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/dataset_license_test.rego +17 -0
  1740. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/evidence_export.rego +8 -0
  1741. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/evidence_export_test.rego +15 -0
  1742. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/maker_checker_gate.rego +18 -0
  1743. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/promote_gate.rego +32 -0
  1744. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/promote_gate_test.rego +80 -0
  1745. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/regression_gate.rego +16 -0
  1746. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/regression_gate_test.rego +52 -0
  1747. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/replay_attestation.rego +58 -0
  1748. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/replay_attestation_test.rego +85 -0
  1749. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/replay_mutating.rego +7 -0
  1750. novafabric-0.57.0/src/novafabric/policies/novafabric/defaults/replay_mutating_test.rego +11 -0
  1751. novafabric-0.57.0/src/novafabric/policy/__init__.py +40 -0
  1752. novafabric-0.57.0/src/novafabric/policy/_engine.py +129 -0
  1753. novafabric-0.57.0/src/novafabric/policy/_models.py +50 -0
  1754. novafabric-0.57.0/src/novafabric/policy/_noop_engine.py +14 -0
  1755. novafabric-0.57.0/src/novafabric/policy/_opa_engine.py +264 -0
  1756. novafabric-0.57.0/src/novafabric/promote/__init__.py +5 -0
  1757. novafabric-0.57.0/src/novafabric/promote/bundle_store.py +156 -0
  1758. novafabric-0.57.0/src/novafabric/promote/bypass_notify.py +163 -0
  1759. novafabric-0.57.0/src/novafabric/promote/exceptions.py +19 -0
  1760. novafabric-0.57.0/src/novafabric/promote/policy_store.py +125 -0
  1761. novafabric-0.57.0/src/novafabric/promote/predicates.py +344 -0
  1762. novafabric-0.57.0/src/novafabric/promote/rekor_client.py +78 -0
  1763. novafabric-0.57.0/src/novafabric/promote/verifier.py +196 -0
  1764. novafabric-0.57.0/src/novafabric/proxy/__init__.py +10 -0
  1765. novafabric-0.57.0/src/novafabric/proxy/api_proxy.py +670 -0
  1766. novafabric-0.57.0/src/novafabric/proxy/mcp_proxy.py +674 -0
  1767. novafabric-0.57.0/src/novafabric/registry/__init__.py +0 -0
  1768. novafabric-0.57.0/src/novafabric/registry/runs_cache.py +191 -0
  1769. novafabric-0.57.0/src/novafabric/registry/service.py +1229 -0
  1770. novafabric-0.57.0/src/novafabric/registry/store.py +90 -0
  1771. novafabric-0.57.0/src/novafabric/registry/suggestion_engine.py +396 -0
  1772. novafabric-0.57.0/src/novafabric/replay/__init__.py +6 -0
  1773. novafabric-0.57.0/src/novafabric/replay/_dispatcher.py +163 -0
  1774. novafabric-0.57.0/src/novafabric/replay/_engine.py +514 -0
  1775. novafabric-0.57.0/src/novafabric/replay/_env_check.py +79 -0
  1776. novafabric-0.57.0/src/novafabric/replay/_flags.py +59 -0
  1777. novafabric-0.57.0/src/novafabric/replay/_intervention.py +285 -0
  1778. novafabric-0.57.0/src/novafabric/replay/_policy.py +102 -0
  1779. novafabric-0.57.0/src/novafabric/replay/_result.py +73 -0
  1780. novafabric-0.57.0/src/novafabric/report/__init__.py +0 -0
  1781. novafabric-0.57.0/src/novafabric/report/generator.py +36 -0
  1782. novafabric-0.57.0/src/novafabric/runners/__init__.py +50 -0
  1783. novafabric-0.57.0/src/novafabric/runners/_docker.py +303 -0
  1784. novafabric-0.57.0/src/novafabric/runners/_kubernetes.py +344 -0
  1785. novafabric-0.57.0/src/novafabric/runners/_local.py +92 -0
  1786. novafabric-0.57.0/src/novafabric/runners/_lsf.py +414 -0
  1787. novafabric-0.57.0/src/novafabric/runners/_pbs.py +399 -0
  1788. novafabric-0.57.0/src/novafabric/runners/_registry.py +50 -0
  1789. novafabric-0.57.0/src/novafabric/runners/_sitecustomize.py +43 -0
  1790. novafabric-0.57.0/src/novafabric/runners/_slurm.py +450 -0
  1791. novafabric-0.57.0/src/novafabric/runners/_slurm_energy.py +98 -0
  1792. novafabric-0.57.0/src/novafabric/runners/_types.py +114 -0
  1793. novafabric-0.57.0/src/novafabric/safetycase/__init__.py +55 -0
  1794. novafabric-0.57.0/src/novafabric/safetycase/compiler.py +531 -0
  1795. novafabric-0.57.0/src/novafabric/safetycase/models.py +337 -0
  1796. novafabric-0.57.0/src/novafabric/safetycase/templates/clymer-generic-v0.yaml +75 -0
  1797. novafabric-0.57.0/src/novafabric/safetycase/templates/eu-ai-act-annex-iv-v0.yaml +148 -0
  1798. novafabric-0.57.0/src/novafabric/safetycase/templates/nist-ai-rmf-v0.yaml +78 -0
  1799. novafabric-0.57.0/src/novafabric/safetycase/templates.py +153 -0
  1800. novafabric-0.57.0/src/novafabric/safetycase/verifier.py +121 -0
  1801. novafabric-0.57.0/src/novafabric/schemas/__init__.py +0 -0
  1802. novafabric-0.57.0/src/novafabric/schemas/annex-iv-document.schema.json +82 -0
  1803. novafabric-0.57.0/src/novafabric/schemas/diff-report.schema.json +91 -0
  1804. novafabric-0.57.0/src/novafabric/schemas/energy-receipt.schema.json +262 -0
  1805. novafabric-0.57.0/src/novafabric/schemas/environment.schema.json +558 -0
  1806. novafabric-0.57.0/src/novafabric/schemas/event_schema.py +95 -0
  1807. novafabric-0.57.0/src/novafabric/schemas/evidence-bundle.schema.json +381 -0
  1808. novafabric-0.57.0/src/novafabric/schemas/ledger-checkpoint-v1.schema.json +233 -0
  1809. novafabric-0.57.0/src/novafabric/schemas/lineage-edge.schema.json +97 -0
  1810. novafabric-0.57.0/src/novafabric/schemas/model-call.schema.json +427 -0
  1811. novafabric-0.57.0/src/novafabric/schemas/promote_approval_v1.json +46 -0
  1812. novafabric-0.57.0/src/novafabric/schemas/promote_bypass_review_v1.json +41 -0
  1813. novafabric-0.57.0/src/novafabric/schemas/promote_bypass_v1.json +55 -0
  1814. novafabric-0.57.0/src/novafabric/schemas/promote_policy_v1.json +41 -0
  1815. novafabric-0.57.0/src/novafabric/schemas/promote_proposal_v1.json +55 -0
  1816. novafabric-0.57.0/src/novafabric/schemas/redaction-manifest.schema.json +61 -0
  1817. novafabric-0.57.0/src/novafabric/schemas/replay-attestation.schema.json +254 -0
  1818. novafabric-0.57.0/src/novafabric/schemas/replay-policy.schema.json +288 -0
  1819. novafabric-0.57.0/src/novafabric/schemas/replay-result.schema.json +104 -0
  1820. novafabric-0.57.0/src/novafabric/schemas/run-capsule.schema.json +433 -0
  1821. novafabric-0.57.0/src/novafabric/schemas/safety-case.schema.json +366 -0
  1822. novafabric-0.57.0/src/novafabric/schemas/secret-redaction.schema.json +374 -0
  1823. novafabric-0.57.0/src/novafabric/schemas/tool-call.schema.json +334 -0
  1824. novafabric-0.57.0/src/novafabric/schemas/tool-permission-event.schema.json +85 -0
  1825. novafabric-0.57.0/src/novafabric/sdk/__init__.py +3 -0
  1826. novafabric-0.57.0/src/novafabric/sdk/agent.py +164 -0
  1827. novafabric-0.57.0/src/novafabric/serve/__init__.py +38 -0
  1828. novafabric-0.57.0/src/novafabric/serve/app.py +7548 -0
  1829. novafabric-0.57.0/src/novafabric/serve/audit.py +92 -0
  1830. novafabric-0.57.0/src/novafabric/serve/auth.py +69 -0
  1831. novafabric-0.57.0/src/novafabric/serve/capsule_loader.py +125 -0
  1832. novafabric-0.57.0/src/novafabric/serve/capsule_watcher.py +261 -0
  1833. novafabric-0.57.0/src/novafabric/serve/reports.py +478 -0
  1834. novafabric-0.57.0/src/novafabric/serve/static/404.html +17 -0
  1835. novafabric-0.57.0/src/novafabric/serve/static/_astro/AdminTab.Cwlzwu2C.js +1 -0
  1836. novafabric-0.57.0/src/novafabric/serve/static/_astro/AuditTab.DgVv00wY.js +1 -0
  1837. novafabric-0.57.0/src/novafabric/serve/static/_astro/CapsuleInspector.CUub1Ctt.js +44 -0
  1838. novafabric-0.57.0/src/novafabric/serve/static/_astro/CapsuleInspector.C_iZJuaq.js +1 -0
  1839. novafabric-0.57.0/src/novafabric/serve/static/_astro/CaptureTab.C0XoOYTz.js +4 -0
  1840. novafabric-0.57.0/src/novafabric/serve/static/_astro/CommandsTab.gfCpXLyB.js +1 -0
  1841. novafabric-0.57.0/src/novafabric/serve/static/_astro/ComplianceTab.DIP14-4t.js +3 -0
  1842. novafabric-0.57.0/src/novafabric/serve/static/_astro/ConfirmDialog.DzAZENZA.js +1 -0
  1843. novafabric-0.57.0/src/novafabric/serve/static/_astro/CopyButton.DLhDSURe.js +1 -0
  1844. novafabric-0.57.0/src/novafabric/serve/static/_astro/CostTab.xHZeXV1o.js +1 -0
  1845. novafabric-0.57.0/src/novafabric/serve/static/_astro/DashboardApp.CJJA-kE8.js +1 -0
  1846. novafabric-0.57.0/src/novafabric/serve/static/_astro/DashboardApp.DyGMj2Zb.js +2 -0
  1847. novafabric-0.57.0/src/novafabric/serve/static/_astro/DataTable.Dn-cBjRw.js +1 -0
  1848. novafabric-0.57.0/src/novafabric/serve/static/_astro/DiffTab.qVXSEKuj.js +1 -0
  1849. novafabric-0.57.0/src/novafabric/serve/static/_astro/EmptyState.FanN6ruG.js +1 -0
  1850. novafabric-0.57.0/src/novafabric/serve/static/_astro/EvalTab.BNoOx2CZ.js +1 -0
  1851. novafabric-0.57.0/src/novafabric/serve/static/_astro/EvidenceTab.B6JOzMLi.js +3 -0
  1852. novafabric-0.57.0/src/novafabric/serve/static/_astro/EvidenceViewer.BFZddjUw.js +1 -0
  1853. novafabric-0.57.0/src/novafabric/serve/static/_astro/GovernanceTab.BZf0PLdP.js +7 -0
  1854. novafabric-0.57.0/src/novafabric/serve/static/_astro/HoldsTab.CwGpsYjT.js +1 -0
  1855. novafabric-0.57.0/src/novafabric/serve/static/_astro/HomeTab.DBFMS_kF.js +1 -0
  1856. novafabric-0.57.0/src/novafabric/serve/static/_astro/IncidentsTab.-rNLHINl.js +1 -0
  1857. novafabric-0.57.0/src/novafabric/serve/static/_astro/InfraTab.KX5WD01f.js +9 -0
  1858. novafabric-0.57.0/src/novafabric/serve/static/_astro/KGTab.BLIDPwsg.js +1 -0
  1859. novafabric-0.57.0/src/novafabric/serve/static/_astro/LineageGraph.BZV40eAE.css +1 -0
  1860. novafabric-0.57.0/src/novafabric/serve/static/_astro/LineageGraph.Chj_H_1J.js +7 -0
  1861. novafabric-0.57.0/src/novafabric/serve/static/_astro/LineageTab.C6KogqAh.js +2 -0
  1862. novafabric-0.57.0/src/novafabric/serve/static/_astro/OpsTab.CqFP7VM7.js +1 -0
  1863. novafabric-0.57.0/src/novafabric/serve/static/_astro/PolicyTab.ByhHT6g-.js +7 -0
  1864. novafabric-0.57.0/src/novafabric/serve/static/_astro/RegistryBrowser.2vlu_iDt.js +1 -0
  1865. novafabric-0.57.0/src/novafabric/serve/static/_astro/RegistryTab.CIrEoMJQ.js +8 -0
  1866. novafabric-0.57.0/src/novafabric/serve/static/_astro/ReplayViewer.pxZ4a8ed.js +6 -0
  1867. novafabric-0.57.0/src/novafabric/serve/static/_astro/ReportsTab.CqRKfKdW.js +1 -0
  1868. novafabric-0.57.0/src/novafabric/serve/static/_astro/RiskTab.BzzyCvXF.js +1 -0
  1869. novafabric-0.57.0/src/novafabric/serve/static/_astro/RunsTab.CpZNYbJy.js +1 -0
  1870. novafabric-0.57.0/src/novafabric/serve/static/_astro/SchemaTab.CauSlDGr.js +1 -0
  1871. novafabric-0.57.0/src/novafabric/serve/static/_astro/SealTab.3FeEUd1Z.js +5 -0
  1872. novafabric-0.57.0/src/novafabric/serve/static/_astro/Skeleton.CvthKQGp.js +1 -0
  1873. novafabric-0.57.0/src/novafabric/serve/static/_astro/SpineTab.0huHUCN3.js +1 -0
  1874. novafabric-0.57.0/src/novafabric/serve/static/_astro/StorageTab.Doz0aw_l.js +1 -0
  1875. novafabric-0.57.0/src/novafabric/serve/static/_astro/SuggestInput.Nd-6A0un.js +1 -0
  1876. novafabric-0.57.0/src/novafabric/serve/static/_astro/TabShell.DvdwPANj.js +1 -0
  1877. novafabric-0.57.0/src/novafabric/serve/static/_astro/TerminalReplay.CI4-gjwq.js +1 -0
  1878. novafabric-0.57.0/src/novafabric/serve/static/_astro/ThemeToggle.CRcKU7z7.js +3 -0
  1879. novafabric-0.57.0/src/novafabric/serve/static/_astro/api.BD50f89_.js +1 -0
  1880. novafabric-0.57.0/src/novafabric/serve/static/_astro/client.C03mjnE_.js +9 -0
  1881. novafabric-0.57.0/src/novafabric/serve/static/_astro/clsx.B-dksMZM.js +1 -0
  1882. novafabric-0.57.0/src/novafabric/serve/static/_astro/fixtures.q_89pNCY.js +86 -0
  1883. novafabric-0.57.0/src/novafabric/serve/static/_astro/global.BFt9I_02.css +1 -0
  1884. novafabric-0.57.0/src/novafabric/serve/static/_astro/index.0hVYzVNy.js +1 -0
  1885. novafabric-0.57.0/src/novafabric/serve/static/_astro/index.Bcm1Uarj.js +1 -0
  1886. novafabric-0.57.0/src/novafabric/serve/static/_astro/index.CUO2cybH.js +1 -0
  1887. novafabric-0.57.0/src/novafabric/serve/static/_astro/index.RamnY9-G.js +4 -0
  1888. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  1889. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  1890. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  1891. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  1892. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  1893. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  1894. novafabric-0.57.0/src/novafabric/serve/static/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  1895. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-cyrillic-400-normal.BEIGL1Tu.woff2 +0 -0
  1896. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-cyrillic-400-normal.ugxPyKxw.woff +0 -0
  1897. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-greek-400-normal.B9oWc5Lo.woff +0 -0
  1898. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-greek-400-normal.C190GLew.woff2 +0 -0
  1899. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff +0 -0
  1900. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2 +0 -0
  1901. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-latin-ext-400-normal.Bc8Ftmh3.woff2 +0 -0
  1902. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-latin-ext-400-normal.fXTG6kC5.woff +0 -0
  1903. novafabric-0.57.0/src/novafabric/serve/static/_astro/jetbrains-mono-vietnamese-400-normal.CqNFfHCs.woff +0 -0
  1904. novafabric-0.57.0/src/novafabric/serve/static/_astro/jsx-runtime.u17CrQMm.js +1 -0
  1905. novafabric-0.57.0/src/novafabric/serve/static/_astro/runUtils.BhaFw2bI.js +1 -0
  1906. novafabric-0.57.0/src/novafabric/serve/static/_astro/useMutation.DqEsHly8.js +1 -0
  1907. novafabric-0.57.0/src/novafabric/serve/static/_astro/useUrlState.CYEQhzrM.js +1 -0
  1908. novafabric-0.57.0/src/novafabric/serve/static/concepts/index.html +55 -0
  1909. novafabric-0.57.0/src/novafabric/serve/static/dashboard/index.html +15 -0
  1910. novafabric-0.57.0/src/novafabric/serve/static/favicon.svg +7 -0
  1911. novafabric-0.57.0/src/novafabric/serve/static/index.html +88 -0
  1912. novafabric-0.57.0/src/novafabric/serve/static/install/index.html +31 -0
  1913. novafabric-0.57.0/src/novafabric/serve/static/robots.txt +4 -0
  1914. novafabric-0.57.0/src/novafabric/serve/static/showcase/capsule/index.html +87 -0
  1915. novafabric-0.57.0/src/novafabric/serve/static/showcase/evidence/index.html +32 -0
  1916. novafabric-0.57.0/src/novafabric/serve/static/showcase/lineage/index.html +37 -0
  1917. novafabric-0.57.0/src/novafabric/serve/static/showcase/registry/index.html +35 -0
  1918. novafabric-0.57.0/src/novafabric/serve/static/showcase/replay/index.html +32 -0
  1919. novafabric-0.57.0/src/novafabric/serve/static/spec/index.html +21 -0
  1920. novafabric-0.57.0/src/novafabric/serve/static/topology/assets/dist.esm-D-3Sw0kp.js +1 -0
  1921. novafabric-0.57.0/src/novafabric/serve/static/topology/assets/fa2-worker-CaYi_Inx.js +1 -0
  1922. novafabric-0.57.0/src/novafabric/serve/static/topology/assets/index-3bK9xHDo.js +4634 -0
  1923. novafabric-0.57.0/src/novafabric/serve/static/topology/index.html +16 -0
  1924. novafabric-0.57.0/src/novafabric/serve/static/why/index.html +36 -0
  1925. novafabric-0.57.0/src/novafabric/serve/topology/__init__.py +1 -0
  1926. novafabric-0.57.0/src/novafabric/serve/topology/ads_encoder.py +181 -0
  1927. novafabric-0.57.0/src/novafabric/serve/topology/cluster_store.py +228 -0
  1928. novafabric-0.57.0/src/novafabric/serve/topology/delta_buffer.py +137 -0
  1929. novafabric-0.57.0/src/novafabric/serve/topology/layout_pipeline_3d.py +144 -0
  1930. novafabric-0.57.0/src/novafabric/serve/topology/router_tv5.py +116 -0
  1931. novafabric-0.57.0/src/novafabric/serve/topology/snapshot_store_3d.py +167 -0
  1932. novafabric-0.57.0/src/novafabric/serve/topology/topology_extractor.py +251 -0
  1933. novafabric-0.57.0/src/novafabric/serve/topology/visualization/__init__.py +1 -0
  1934. novafabric-0.57.0/src/novafabric/serve/topology/visualization/models.py +109 -0
  1935. novafabric-0.57.0/src/novafabric/server/__init__.py +1 -0
  1936. novafabric-0.57.0/src/novafabric/server/app.py +112 -0
  1937. novafabric-0.57.0/src/novafabric/server/auth.py +228 -0
  1938. novafabric-0.57.0/src/novafabric/server/config.py +73 -0
  1939. novafabric-0.57.0/src/novafabric/server/deps.py +50 -0
  1940. novafabric-0.57.0/src/novafabric/server/errors.py +108 -0
  1941. novafabric-0.57.0/src/novafabric/server/offline_tokens.py +275 -0
  1942. novafabric-0.57.0/src/novafabric/server/pagination.py +62 -0
  1943. novafabric-0.57.0/src/novafabric/server/rbac.py +125 -0
  1944. novafabric-0.57.0/src/novafabric/server/rbac_store.py +148 -0
  1945. novafabric-0.57.0/src/novafabric/server/routes/__init__.py +1 -0
  1946. novafabric-0.57.0/src/novafabric/server/routes/admin.py +30 -0
  1947. novafabric-0.57.0/src/novafabric/server/routes/assets.py +208 -0
  1948. novafabric-0.57.0/src/novafabric/server/routes/auth.py +203 -0
  1949. novafabric-0.57.0/src/novafabric/server/routes/capsules.py +238 -0
  1950. novafabric-0.57.0/src/novafabric/server/routes/evidence.py +189 -0
  1951. novafabric-0.57.0/src/novafabric/server/routes/lineage.py +174 -0
  1952. novafabric-0.57.0/src/novafabric/server/routes/replays.py +244 -0
  1953. novafabric-0.57.0/src/novafabric/server/routes/roles.py +144 -0
  1954. novafabric-0.57.0/src/novafabric/server/routes/seal.py +271 -0
  1955. novafabric-0.57.0/src/novafabric/server/routes/suggestions.py +52 -0
  1956. novafabric-0.57.0/src/novafabric/spec/__init__.py +29 -0
  1957. novafabric-0.57.0/src/novafabric/spec/models.py +145 -0
  1958. novafabric-0.57.0/src/novafabric/spec/validator.py +112 -0
  1959. novafabric-0.57.0/src/novafabric/storage/__init__.py +62 -0
  1960. novafabric-0.57.0/src/novafabric/storage/_azure_worm.py +58 -0
  1961. novafabric-0.57.0/src/novafabric/storage/_base.py +18 -0
  1962. novafabric-0.57.0/src/novafabric/storage/_gcs_worm.py +60 -0
  1963. novafabric-0.57.0/src/novafabric/storage/_local_worm.py +109 -0
  1964. novafabric-0.57.0/src/novafabric/storage/_migration.py +365 -0
  1965. novafabric-0.57.0/src/novafabric/storage/_postgres.py +66 -0
  1966. novafabric-0.57.0/src/novafabric/storage/_retention.py +69 -0
  1967. novafabric-0.57.0/src/novafabric/storage/_s3_worm.py +77 -0
  1968. novafabric-0.57.0/src/novafabric/storage/_sqlite.py +81 -0
  1969. novafabric-0.57.0/src/novafabric/storage/dual_object_store.py +239 -0
  1970. novafabric-0.57.0/src/novafabric/storage/nova_object_store.py +127 -0
  1971. novafabric-0.57.0/src/novafabric/storage/worm.py +33 -0
  1972. novafabric-0.57.0/src/novafabric/trust/_rfc3161.py +781 -0
  1973. novafabric-0.57.0/src/novafabric/trust/keyring.py +73 -0
  1974. novafabric-0.57.0/src/novafabric/trust/ledger/__init__.py +56 -0
  1975. novafabric-0.57.0/src/novafabric/trust/ledger/_chain.py +242 -0
  1976. novafabric-0.57.0/src/novafabric/trust/ledger/_checkpoint.py +243 -0
  1977. novafabric-0.57.0/src/novafabric/trust/ledger/_verify.py +263 -0
  1978. novafabric-0.57.0/src/novafabric/trust/novaseal/__init__.py +374 -0
  1979. novafabric-0.57.0/src/novafabric/trust/novaseal/config.py +302 -0
  1980. novafabric-0.57.0/src/novafabric/trust/novaseal/envelope.py +383 -0
  1981. novafabric-0.57.0/src/novafabric/trust/novaseal/merkle.py +855 -0
  1982. novafabric-0.57.0/src/novafabric/trust/novaseal/nonce_store.py +164 -0
  1983. novafabric-0.57.0/src/novafabric/trust/novaseal/ratchet.py +281 -0
  1984. novafabric-0.57.0/src/novafabric/trust/novaseal/signing_backend.py +238 -0
  1985. novafabric-0.57.0/src/novafabric/trust/novaseal/sigstore_signer.py +339 -0
  1986. novafabric-0.57.0/src/novafabric/trust/novaseal/timestamp.py +589 -0
  1987. novafabric-0.57.0/src/novafabric/trust/novaseal/trust_chain.py +263 -0
  1988. novafabric-0.57.0/tests/adapters/__init__.py +0 -0
  1989. novafabric-0.57.0/tests/adapters/test_adapters.py +750 -0
  1990. novafabric-0.57.0/tests/assure/__init__.py +0 -0
  1991. novafabric-0.57.0/tests/assure/test_nova_assure.py +299 -0
  1992. novafabric-0.57.0/tests/capsule/__init__.py +1 -0
  1993. novafabric-0.57.0/tests/capsule/conftest.py +83 -0
  1994. novafabric-0.57.0/tests/capsule/fixtures/__init__.py +1 -0
  1995. novafabric-0.57.0/tests/capsule/fixtures/agent_sdk_four_edges.py +61 -0
  1996. novafabric-0.57.0/tests/capsule/fixtures/pre_v020_lineage.jsonl +2 -0
  1997. novafabric-0.57.0/tests/capsule/helpers.py +79 -0
  1998. novafabric-0.57.0/tests/capsule/test_blast_radius.py +169 -0
  1999. novafabric-0.57.0/tests/capsule/test_bq012_acceptance.py +656 -0
  2000. novafabric-0.57.0/tests/capsule/test_cli.py +216 -0
  2001. novafabric-0.57.0/tests/capsule/test_edge_typer.py +107 -0
  2002. novafabric-0.57.0/tests/capsule/test_orphan.py +147 -0
  2003. novafabric-0.57.0/tests/capsule/test_prov_roundtrip.py +91 -0
  2004. novafabric-0.57.0/tests/capsule/test_schema.py +270 -0
  2005. novafabric-0.57.0/tests/capsule/test_tree_assembler.py +151 -0
  2006. novafabric-0.57.0/tests/capsule/test_ulid.py +109 -0
  2007. novafabric-0.57.0/tests/capsule/test_validator.py +237 -0
  2008. novafabric-0.57.0/tests/capsule/test_world_size.py +179 -0
  2009. novafabric-0.57.0/tests/capsule/test_writer.py +199 -0
  2010. novafabric-0.57.0/tests/capsule/test_writer_offline.py +109 -0
  2011. novafabric-0.57.0/tests/capture/__init__.py +0 -0
  2012. novafabric-0.57.0/tests/capture/test_c2pa_live_marking.py +128 -0
  2013. novafabric-0.57.0/tests/capture/test_event_recorder.py +553 -0
  2014. novafabric-0.57.0/tests/capture/test_fast_emit.py +381 -0
  2015. novafabric-0.57.0/tests/capture/test_orchestrator_emit_spool.py +83 -0
  2016. novafabric-0.57.0/tests/capture/test_spool_sink.py +91 -0
  2017. novafabric-0.57.0/tests/cli/__init__.py +0 -0
  2018. novafabric-0.57.0/tests/cli/test_approve_cmd.py +57 -0
  2019. novafabric-0.57.0/tests/cli/test_capture_asset_status.py +329 -0
  2020. novafabric-0.57.0/tests/cli/test_diagnose_cmd.py +86 -0
  2021. novafabric-0.57.0/tests/cli/test_eval_cmd.py +95 -0
  2022. novafabric-0.57.0/tests/cli/test_eval_compare_cmd.py +174 -0
  2023. novafabric-0.57.0/tests/cli/test_eval_list_cmd.py +54 -0
  2024. novafabric-0.57.0/tests/cli/test_export_hipaa_proof_cmd.py +153 -0
  2025. novafabric-0.57.0/tests/cli/test_export_system_card_cmd.py +66 -0
  2026. novafabric-0.57.0/tests/cli/test_init_cmd.py +137 -0
  2027. novafabric-0.57.0/tests/cli/test_list_stale.py +387 -0
  2028. novafabric-0.57.0/tests/cli/test_migrate_schema.py +270 -0
  2029. novafabric-0.57.0/tests/cli/test_policy_list_cmd.py +119 -0
  2030. novafabric-0.57.0/tests/cli/test_rebuild_cmd.py +97 -0
  2031. novafabric-0.57.0/tests/cli/test_rollback.py +288 -0
  2032. novafabric-0.57.0/tests/cli/test_storage_scale_cmd.py +76 -0
  2033. novafabric-0.57.0/tests/cli/test_unregister.py +289 -0
  2034. novafabric-0.57.0/tests/collector/__init__.py +1 -0
  2035. novafabric-0.57.0/tests/collector/test_python_spool.py +169 -0
  2036. novafabric-0.57.0/tests/collector_app/__init__.py +0 -0
  2037. novafabric-0.57.0/tests/collector_app/test_collector_app.py +220 -0
  2038. novafabric-0.57.0/tests/compliance/__init__.py +0 -0
  2039. novafabric-0.57.0/tests/compliance/audit/__init__.py +0 -0
  2040. novafabric-0.57.0/tests/compliance/audit/test_audit_engine.py +436 -0
  2041. novafabric-0.57.0/tests/compliance/export/__init__.py +0 -0
  2042. novafabric-0.57.0/tests/compliance/export/conftest.py +58 -0
  2043. novafabric-0.57.0/tests/compliance/export/test_aibom.py +442 -0
  2044. novafabric-0.57.0/tests/compliance/export/test_annex_iv.py +202 -0
  2045. novafabric-0.57.0/tests/compliance/export/test_examiner.py +587 -0
  2046. novafabric-0.57.0/tests/compliance/export/test_gdpr_ropa.py +159 -0
  2047. novafabric-0.57.0/tests/compliance/export/test_hipaa_safe_harbor.py +356 -0
  2048. novafabric-0.57.0/tests/compliance/export/test_nis2.py +205 -0
  2049. novafabric-0.57.0/tests/compliance/export/test_nist_rmf.py +160 -0
  2050. novafabric-0.57.0/tests/compliance/export/test_prov_json.py +102 -0
  2051. novafabric-0.57.0/tests/compliance/export/test_renderer.py +103 -0
  2052. novafabric-0.57.0/tests/compliance/export/test_ro_crate.py +89 -0
  2053. novafabric-0.57.0/tests/compliance/incident/__init__.py +0 -0
  2054. novafabric-0.57.0/tests/compliance/incident/test_deadline_clock.py +111 -0
  2055. novafabric-0.57.0/tests/compliance/incident/test_incident_cli.py +121 -0
  2056. novafabric-0.57.0/tests/compliance/incident/test_incident_models.py +97 -0
  2057. novafabric-0.57.0/tests/compliance/incident/test_store_and_export.py +134 -0
  2058. novafabric-0.57.0/tests/compliance/integration/__init__.py +0 -0
  2059. novafabric-0.57.0/tests/compliance/integration/test_novaseal_tamper.py +194 -0
  2060. novafabric-0.57.0/tests/compliance/pii/__init__.py +0 -0
  2061. novafabric-0.57.0/tests/compliance/pii/conftest.py +30 -0
  2062. novafabric-0.57.0/tests/compliance/pii/test_detector.py +96 -0
  2063. novafabric-0.57.0/tests/compliance/pii/test_pii_gate.py +138 -0
  2064. novafabric-0.57.0/tests/compliance/pii/test_pii_index.py +97 -0
  2065. novafabric-0.57.0/tests/compliance/pii/test_pii_manifest.py +75 -0
  2066. novafabric-0.57.0/tests/compliance/test_euaiact.py +208 -0
  2067. novafabric-0.57.0/tests/compliance/tool_permission/__init__.py +0 -0
  2068. novafabric-0.57.0/tests/compliance/tool_permission/conftest.py +64 -0
  2069. novafabric-0.57.0/tests/compliance/tool_permission/test_tool_permission_capture.py +179 -0
  2070. novafabric-0.57.0/tests/compliance/tool_permission/test_tool_permission_model.py +112 -0
  2071. novafabric-0.57.0/tests/conftest.py +69 -0
  2072. novafabric-0.57.0/tests/daemon/__init__.py +0 -0
  2073. novafabric-0.57.0/tests/daemon/test_capture_daemon_flag.py +25 -0
  2074. novafabric-0.57.0/tests/daemon/test_cli_daemon.py +27 -0
  2075. novafabric-0.57.0/tests/daemon/test_client_fallback.py +17 -0
  2076. novafabric-0.57.0/tests/daemon/test_client_protocol.py +166 -0
  2077. novafabric-0.57.0/tests/daemon/test_fidelity_e2e.py +86 -0
  2078. novafabric-0.57.0/tests/daemon/test_fork_safety_preflight.py +18 -0
  2079. novafabric-0.57.0/tests/daemon/test_paths.py +13 -0
  2080. novafabric-0.57.0/tests/daemon/test_protocol_fds.py +19 -0
  2081. novafabric-0.57.0/tests/daemon/test_protocol_frames.py +21 -0
  2082. novafabric-0.57.0/tests/daemon/test_server_handle.py +94 -0
  2083. novafabric-0.57.0/tests/daemon/test_server_unit.py +44 -0
  2084. novafabric-0.57.0/tests/daemon/test_worker_integration.py +55 -0
  2085. novafabric-0.57.0/tests/daemon/test_worker_unit.py +61 -0
  2086. novafabric-0.57.0/tests/energy/__init__.py +0 -0
  2087. novafabric-0.57.0/tests/energy/test_attribution.py +79 -0
  2088. novafabric-0.57.0/tests/energy/test_attribution_samples.py +261 -0
  2089. novafabric-0.57.0/tests/energy/test_cli.py +93 -0
  2090. novafabric-0.57.0/tests/energy/test_conservation.py +119 -0
  2091. novafabric-0.57.0/tests/energy/test_readers.py +106 -0
  2092. novafabric-0.57.0/tests/energy/test_receipt.py +203 -0
  2093. novafabric-0.57.0/tests/energy/test_sacct.py +61 -0
  2094. novafabric-0.57.0/tests/energy/test_sampler.py +163 -0
  2095. novafabric-0.57.0/tests/energy/test_seal.py +57 -0
  2096. novafabric-0.57.0/tests/energy/test_slurm_energy.py +179 -0
  2097. novafabric-0.57.0/tests/envelope/__init__.py +0 -0
  2098. novafabric-0.57.0/tests/envelope/test_backwards_compat.py +99 -0
  2099. novafabric-0.57.0/tests/evals/__init__.py +0 -0
  2100. novafabric-0.57.0/tests/evals/test_agent_bench_adapter.py +177 -0
  2101. novafabric-0.57.0/tests/evals/test_gaia_adapter.py +177 -0
  2102. novafabric-0.57.0/tests/evals/test_loader.py +115 -0
  2103. novafabric-0.57.0/tests/evals/test_mmlu_adapter.py +178 -0
  2104. novafabric-0.57.0/tests/evals/test_result_models.py +71 -0
  2105. novafabric-0.57.0/tests/evals/test_smoke_adapter.py +100 -0
  2106. novafabric-0.57.0/tests/evals/test_stats.py +243 -0
  2107. novafabric-0.57.0/tests/evals/test_swe_bench_adapter.py +177 -0
  2108. novafabric-0.57.0/tests/evals/test_truthful_qa_adapter.py +182 -0
  2109. novafabric-0.57.0/tests/evidence/__init__.py +0 -0
  2110. novafabric-0.57.0/tests/evidence/test_admissibility.py +238 -0
  2111. novafabric-0.57.0/tests/evidence/test_bundle_energy_custody.py +110 -0
  2112. novafabric-0.57.0/tests/evidence/test_c2pa_exporter.py +150 -0
  2113. novafabric-0.57.0/tests/evidence/test_completeness_binding_reperformance.py +266 -0
  2114. novafabric-0.57.0/tests/evidence/test_replay_attestation.py +261 -0
  2115. novafabric-0.57.0/tests/evidence_fabric/__init__.py +0 -0
  2116. novafabric-0.57.0/tests/evidence_fabric/test_avro_serializer.py +137 -0
  2117. novafabric-0.57.0/tests/evidence_fabric/test_rebuild.py +155 -0
  2118. novafabric-0.57.0/tests/fixtures/__init__.py +0 -0
  2119. novafabric-0.57.0/tests/fixtures/broken_session_set.py +84 -0
  2120. novafabric-0.57.0/tests/fixtures/duplicate_test.yaml +8 -0
  2121. novafabric-0.57.0/tests/fixtures/eval_result_invalid.json +17 -0
  2122. novafabric-0.57.0/tests/fixtures/eval_result_valid.json +29 -0
  2123. novafabric-0.57.0/tests/fixtures/long_name_model.yaml +8 -0
  2124. novafabric-0.57.0/tests/fixtures/missing_asset_type.yaml +6 -0
  2125. novafabric-0.57.0/tests/fixtures/promote/generate_keys.py +69 -0
  2126. novafabric-0.57.0/tests/fixtures/valid_agent.yaml +22 -0
  2127. novafabric-0.57.0/tests/fixtures/valid_model.yaml +12 -0
  2128. novafabric-0.57.0/tests/fixtures/valid_prompt.yaml +10 -0
  2129. novafabric-0.57.0/tests/governance/__init__.py +0 -0
  2130. novafabric-0.57.0/tests/governance/test_classifier.py +517 -0
  2131. novafabric-0.57.0/tests/integration/__init__.py +0 -0
  2132. novafabric-0.57.0/tests/integration/docker-compose.eval.yaml +34 -0
  2133. novafabric-0.57.0/tests/integration/test_auth_integration.py +224 -0
  2134. novafabric-0.57.0/tests/integration/test_migration_integration.py +190 -0
  2135. novafabric-0.57.0/tests/integration/test_rbac_integration.py +382 -0
  2136. novafabric-0.57.0/tests/integration/test_server_integration.py +370 -0
  2137. novafabric-0.57.0/tests/integration/test_storage_integration.py +148 -0
  2138. novafabric-0.57.0/tests/judge/__init__.py +0 -0
  2139. novafabric-0.57.0/tests/judge/test_embedding_judge.py +116 -0
  2140. novafabric-0.57.0/tests/judge/test_framework.py +177 -0
  2141. novafabric-0.57.0/tests/judge/test_kappa.py +115 -0
  2142. novafabric-0.57.0/tests/judge/test_llm_judge.py +167 -0
  2143. novafabric-0.57.0/tests/judge/test_numerical_judge.py +108 -0
  2144. novafabric-0.57.0/tests/judge/test_opa_adapter.py +128 -0
  2145. novafabric-0.57.0/tests/kg/__init__.py +1 -0
  2146. novafabric-0.57.0/tests/kg/test_alias_resolver.py +281 -0
  2147. novafabric-0.57.0/tests/kg/test_consumer.py +190 -0
  2148. novafabric-0.57.0/tests/kg/test_crdt_wal.py +163 -0
  2149. novafabric-0.57.0/tests/kg/test_kg.py +1014 -0
  2150. novafabric-0.57.0/tests/kg/test_kg_cli.py +305 -0
  2151. novafabric-0.57.0/tests/kg/test_review_queue.py +261 -0
  2152. novafabric-0.57.0/tests/ledger/__init__.py +0 -0
  2153. novafabric-0.57.0/tests/ledger/test_chain.py +168 -0
  2154. novafabric-0.57.0/tests/ledger/test_checkpoint.py +174 -0
  2155. novafabric-0.57.0/tests/ledger/test_cli.py +170 -0
  2156. novafabric-0.57.0/tests/ledger/test_verify.py +241 -0
  2157. novafabric-0.57.0/tests/lineage/__init__.py +0 -0
  2158. novafabric-0.57.0/tests/lineage/conftest.py +111 -0
  2159. novafabric-0.57.0/tests/lineage/test_backends_age.py +27 -0
  2160. novafabric-0.57.0/tests/lineage/test_backends_janusgraph.py +34 -0
  2161. novafabric-0.57.0/tests/lineage/test_backends_kuzu.py +181 -0
  2162. novafabric-0.57.0/tests/lineage/test_backends_postgres.py +35 -0
  2163. novafabric-0.57.0/tests/lineage/test_backends_sqlite.py +134 -0
  2164. novafabric-0.57.0/tests/lineage/test_federation_coordinator.py +264 -0
  2165. novafabric-0.57.0/tests/lineage/test_federation_shard_local.py +248 -0
  2166. novafabric-0.57.0/tests/lineage/test_federation_sovereignty.py +158 -0
  2167. novafabric-0.57.0/tests/lineage/test_janusgraph.py +487 -0
  2168. novafabric-0.57.0/tests/lineage/test_kuzu_scale_bench.py +88 -0
  2169. novafabric-0.57.0/tests/lineage/test_migration_kit.py +436 -0
  2170. novafabric-0.57.0/tests/lineage/test_migration_parquet.py +186 -0
  2171. novafabric-0.57.0/tests/lineage/test_migration_validate.py +123 -0
  2172. novafabric-0.57.0/tests/lineage/test_profiles.py +153 -0
  2173. novafabric-0.57.0/tests/lineage/test_schemas.py +138 -0
  2174. novafabric-0.57.0/tests/lineage/test_store_interface.py +152 -0
  2175. novafabric-0.57.0/tests/mcp_scanner/__init__.py +0 -0
  2176. novafabric-0.57.0/tests/mcp_scanner/test_mcp_scanner.py +273 -0
  2177. novafabric-0.57.0/tests/metadata_store/__init__.py +0 -0
  2178. novafabric-0.57.0/tests/metadata_store/conftest.py +35 -0
  2179. novafabric-0.57.0/tests/metadata_store/test_alembic_dual_track.py +131 -0
  2180. novafabric-0.57.0/tests/metadata_store/test_automigrate_modes.py +188 -0
  2181. novafabric-0.57.0/tests/metadata_store/test_bl1_indexes.py +135 -0
  2182. novafabric-0.57.0/tests/metadata_store/test_cross_tenant_isolation_pgbouncer.py +333 -0
  2183. novafabric-0.57.0/tests/metadata_store/test_grep_constraints.py +39 -0
  2184. novafabric-0.57.0/tests/metadata_store/test_interface_abc.py +133 -0
  2185. novafabric-0.57.0/tests/metadata_store/test_migration_tool.py +197 -0
  2186. novafabric-0.57.0/tests/metadata_store/test_partition_ddl.py +591 -0
  2187. novafabric-0.57.0/tests/metadata_store/test_postgres_basic.py +118 -0
  2188. novafabric-0.57.0/tests/metadata_store/test_rls_force.py +27 -0
  2189. novafabric-0.57.0/tests/metadata_store/test_role_split.py +20 -0
  2190. novafabric-0.57.0/tests/metadata_store/test_scale_migration.py +278 -0
  2191. novafabric-0.57.0/tests/metadata_store/test_set_local_invariant.py +68 -0
  2192. novafabric-0.57.0/tests/metadata_store/test_sqlite_dev_only.py +116 -0
  2193. novafabric-0.57.0/tests/object_capsule_store/__init__.py +0 -0
  2194. novafabric-0.57.0/tests/object_capsule_store/conftest.py +142 -0
  2195. novafabric-0.57.0/tests/object_capsule_store/integration/__init__.py +0 -0
  2196. novafabric-0.57.0/tests/object_capsule_store/integration/test_chain_concurrent_writers.py +76 -0
  2197. novafabric-0.57.0/tests/object_capsule_store/integration/test_minio_end_to_end.py +35 -0
  2198. novafabric-0.57.0/tests/object_capsule_store/integration/test_occ_backends.py +133 -0
  2199. novafabric-0.57.0/tests/object_capsule_store/integration/test_rebuild_1m_replay_bench.py +52 -0
  2200. novafabric-0.57.0/tests/object_capsule_store/test_backend_router.py +122 -0
  2201. novafabric-0.57.0/tests/object_capsule_store/test_cas.py +140 -0
  2202. novafabric-0.57.0/tests/object_capsule_store/test_chain_integrity.py +179 -0
  2203. novafabric-0.57.0/tests/object_capsule_store/test_chain_verification.py +249 -0
  2204. novafabric-0.57.0/tests/object_capsule_store/test_checkpoint.py +133 -0
  2205. novafabric-0.57.0/tests/object_capsule_store/test_client_protocol.py +182 -0
  2206. novafabric-0.57.0/tests/object_capsule_store/test_exceptions_and_novaseal.py +103 -0
  2207. novafabric-0.57.0/tests/object_capsule_store/test_gcs_worm.py +348 -0
  2208. novafabric-0.57.0/tests/object_capsule_store/test_manifest_chain.py +252 -0
  2209. novafabric-0.57.0/tests/object_capsule_store/test_novaseal_wal.py +207 -0
  2210. novafabric-0.57.0/tests/object_capsule_store/test_rebuild.py +83 -0
  2211. novafabric-0.57.0/tests/object_capsule_store/test_reconcile_orphans.py +88 -0
  2212. novafabric-0.57.0/tests/object_capsule_store/test_verify_capsule.py +67 -0
  2213. novafabric-0.57.0/tests/object_capsule_store/test_worm_adapter.py +35 -0
  2214. novafabric-0.57.0/tests/ocs/__init__.py +0 -0
  2215. novafabric-0.57.0/tests/ocs/test_zstd_dict.py +343 -0
  2216. novafabric-0.57.0/tests/pii/__init__.py +0 -0
  2217. novafabric-0.57.0/tests/pii/test_dek_store.py +208 -0
  2218. novafabric-0.57.0/tests/pii/test_pii_erase_cli.py +147 -0
  2219. novafabric-0.57.0/tests/policy/__init__.py +0 -0
  2220. novafabric-0.57.0/tests/policy/test_record_tool_permission.py +229 -0
  2221. novafabric-0.57.0/tests/promote/__init__.py +0 -0
  2222. novafabric-0.57.0/tests/promote/conftest.py +61 -0
  2223. novafabric-0.57.0/tests/promote/test_bundle_store.py +55 -0
  2224. novafabric-0.57.0/tests/promote/test_bypass_dispatch.py +290 -0
  2225. novafabric-0.57.0/tests/promote/test_commands.py +410 -0
  2226. novafabric-0.57.0/tests/promote/test_policy_store.py +97 -0
  2227. novafabric-0.57.0/tests/promote/test_predicates.py +394 -0
  2228. novafabric-0.57.0/tests/promote/test_verifier.py +463 -0
  2229. novafabric-0.57.0/tests/replay/test_intervention.py +339 -0
  2230. novafabric-0.57.0/tests/safetycase/__init__.py +0 -0
  2231. novafabric-0.57.0/tests/safetycase/test_cli.py +188 -0
  2232. novafabric-0.57.0/tests/safetycase/test_compiler.py +278 -0
  2233. novafabric-0.57.0/tests/safetycase/test_compiler_resolvers.py +215 -0
  2234. novafabric-0.57.0/tests/safetycase/test_models.py +321 -0
  2235. novafabric-0.57.0/tests/safetycase/test_regulatory_templates.py +107 -0
  2236. novafabric-0.57.0/tests/safetycase/test_renderers.py +344 -0
  2237. novafabric-0.57.0/tests/safetycase/test_templates.py +66 -0
  2238. novafabric-0.57.0/tests/safetycase/test_verifier.py +143 -0
  2239. novafabric-0.57.0/tests/scale_architecture/__init__.py +0 -0
  2240. novafabric-0.57.0/tests/scale_architecture/test_capture_level.py +132 -0
  2241. novafabric-0.57.0/tests/scale_architecture/test_clickhouse_mv.py +134 -0
  2242. novafabric-0.57.0/tests/scale_architecture/test_cost_interceptor.py +125 -0
  2243. novafabric-0.57.0/tests/scale_architecture/test_cost_report_cli.py +212 -0
  2244. novafabric-0.57.0/tests/scale_architecture/test_dual_object.py +146 -0
  2245. novafabric-0.57.0/tests/scale_architecture/test_dual_object_store_s3.py +204 -0
  2246. novafabric-0.57.0/tests/scale_architecture/test_evidence_fabric.py +802 -0
  2247. novafabric-0.57.0/tests/scale_architecture/test_extended_span_taxonomy.py +230 -0
  2248. novafabric-0.57.0/tests/scale_architecture/test_lineage_consumer.py +117 -0
  2249. novafabric-0.57.0/tests/scale_architecture/test_lineage_consumer_bulk_copy.py +185 -0
  2250. novafabric-0.57.0/tests/scale_architecture/test_lineage_consumer_nats.py +245 -0
  2251. novafabric-0.57.0/tests/scale_architecture/test_nova_object_store.py +229 -0
  2252. novafabric-0.57.0/tests/scale_architecture/test_schema.py +134 -0
  2253. novafabric-0.57.0/tests/seal/__init__.py +0 -0
  2254. novafabric-0.57.0/tests/seal/test_benchmark.py +127 -0
  2255. novafabric-0.57.0/tests/seal/test_bypass.py +376 -0
  2256. novafabric-0.57.0/tests/seal/test_cli_verify.py +147 -0
  2257. novafabric-0.57.0/tests/seal/test_cloud_kms_backends.py +462 -0
  2258. novafabric-0.57.0/tests/seal/test_config.py +175 -0
  2259. novafabric-0.57.0/tests/seal/test_ed25519_verify.py +234 -0
  2260. novafabric-0.57.0/tests/seal/test_envelope.py +326 -0
  2261. novafabric-0.57.0/tests/seal/test_log_verify.py +124 -0
  2262. novafabric-0.57.0/tests/seal/test_merkle.py +241 -0
  2263. novafabric-0.57.0/tests/seal/test_novaseal.py +395 -0
  2264. novafabric-0.57.0/tests/seal/test_postgres_merkle.py +307 -0
  2265. novafabric-0.57.0/tests/seal/test_ratchet_and_consistency_proof.py +240 -0
  2266. novafabric-0.57.0/tests/seal/test_rekor_client.py +126 -0
  2267. novafabric-0.57.0/tests/seal/test_rfc3161_hardening.py +282 -0
  2268. novafabric-0.57.0/tests/seal/test_signing_intent.py +286 -0
  2269. novafabric-0.57.0/tests/seal/test_sigstore_signer.py +357 -0
  2270. novafabric-0.57.0/tests/seal/test_subject_proof_seal.py +220 -0
  2271. novafabric-0.57.0/tests/seal/test_timestamp.py +622 -0
  2272. novafabric-0.57.0/tests/seal/test_timestamp_chain.py +433 -0
  2273. novafabric-0.57.0/tests/serve/__init__.py +0 -0
  2274. novafabric-0.57.0/tests/serve/test_coverage_campaign_v0501.py +496 -0
  2275. novafabric-0.57.0/tests/serve/test_dashboard_cli_coverage.py +150 -0
  2276. novafabric-0.57.0/tests/serve/test_dd2_collector.py +129 -0
  2277. novafabric-0.57.0/tests/serve/test_dd7_storage.py +158 -0
  2278. novafabric-0.57.0/tests/serve/test_endpoint_smoke.py +137 -0
  2279. novafabric-0.57.0/tests/serve/test_health_extended.py +95 -0
  2280. novafabric-0.57.0/tests/serve/test_kg_auto_ingest.py +319 -0
  2281. novafabric-0.57.0/tests/serve/test_kg_entity_queue_api.py +216 -0
  2282. novafabric-0.57.0/tests/serve/test_lineage_time_travel.py +124 -0
  2283. novafabric-0.57.0/tests/serve/test_parent_child_capsule.py +108 -0
  2284. novafabric-0.57.0/tests/serve/test_reports.py +124 -0
  2285. novafabric-0.57.0/tests/serve/test_reports_populated.py +273 -0
  2286. novafabric-0.57.0/tests/serve/test_spine_endpoints.py +87 -0
  2287. novafabric-0.57.0/tests/serve/test_topology_auto_seed.py +194 -0
  2288. novafabric-0.57.0/tests/serve/test_v018_dashboard_parity.py +307 -0
  2289. novafabric-0.57.0/tests/serve/test_v019_cost_schema.py +186 -0
  2290. novafabric-0.57.0/tests/serve/test_v019_run_utilities.py +293 -0
  2291. novafabric-0.57.0/tests/serve/test_v026_ecosystem_parity.py +241 -0
  2292. novafabric-0.57.0/tests/serve/test_v027_admin_completions.py +256 -0
  2293. novafabric-0.57.0/tests/serve/test_v027_capsule_delete.py +240 -0
  2294. novafabric-0.57.0/tests/serve/test_v027_lineage_eval.py +240 -0
  2295. novafabric-0.57.0/tests/serve/test_v027_mcp_risk_report.py +128 -0
  2296. novafabric-0.57.0/tests/serve/test_v027_registry_additions.py +184 -0
  2297. novafabric-0.57.0/tests/serve/test_v027_seal_bypass.py +183 -0
  2298. novafabric-0.57.0/tests/serve/test_v034_regulatory_exports.py +386 -0
  2299. novafabric-0.57.0/tests/serve/test_v044_compliance_dashboard.py +186 -0
  2300. novafabric-0.57.0/tests/serve/test_v044_seal_sigstore_dashboard.py +113 -0
  2301. novafabric-0.57.0/tests/serve/test_v046_dashboard_parity.py +599 -0
  2302. novafabric-0.57.0/tests/test_api_proxy.py +907 -0
  2303. novafabric-0.57.0/tests/test_approve.py +265 -0
  2304. novafabric-0.57.0/tests/test_asset_lifecycle.py +377 -0
  2305. novafabric-0.57.0/tests/test_attribution.py +261 -0
  2306. novafabric-0.57.0/tests/test_audit_fixes_2026_06.py +75 -0
  2307. novafabric-0.57.0/tests/test_audit_log.py +73 -0
  2308. novafabric-0.57.0/tests/test_benchmark_smoke.py +46 -0
  2309. novafabric-0.57.0/tests/test_bl6_sse_stream.py +111 -0
  2310. novafabric-0.57.0/tests/test_capsule_watcher.py +558 -0
  2311. novafabric-0.57.0/tests/test_capture_body_adapters.py +401 -0
  2312. novafabric-0.57.0/tests/test_capture_capsule.py +89 -0
  2313. novafabric-0.57.0/tests/test_capture_env.py +119 -0
  2314. novafabric-0.57.0/tests/test_capture_hooks.py +1547 -0
  2315. novafabric-0.57.0/tests/test_capture_mcp_hook.py +230 -0
  2316. novafabric-0.57.0/tests/test_capture_orchestrator.py +106 -0
  2317. novafabric-0.57.0/tests/test_capture_otel_genai.py +224 -0
  2318. novafabric-0.57.0/tests/test_capture_plugin_contract.py +274 -0
  2319. novafabric-0.57.0/tests/test_capture_secrets.py +95 -0
  2320. novafabric-0.57.0/tests/test_capture_ulid.py +42 -0
  2321. novafabric-0.57.0/tests/test_capture_url_registry.py +140 -0
  2322. novafabric-0.57.0/tests/test_cli.py +169 -0
  2323. novafabric-0.57.0/tests/test_cli_api_proxy.py +123 -0
  2324. novafabric-0.57.0/tests/test_cli_capture.py +55 -0
  2325. novafabric-0.57.0/tests/test_cli_capture_runner_flags.py +104 -0
  2326. novafabric-0.57.0/tests/test_cli_diff_capsule.py +96 -0
  2327. novafabric-0.57.0/tests/test_cli_export_evidence.py +502 -0
  2328. novafabric-0.57.0/tests/test_cli_lineage.py +99 -0
  2329. novafabric-0.57.0/tests/test_cli_lineage_openlineage.py +93 -0
  2330. novafabric-0.57.0/tests/test_cli_login.py +361 -0
  2331. novafabric-0.57.0/tests/test_cli_mcp_proxy.py +153 -0
  2332. novafabric-0.57.0/tests/test_cli_mcp_proxy_http.py +186 -0
  2333. novafabric-0.57.0/tests/test_cli_redact.py +113 -0
  2334. novafabric-0.57.0/tests/test_cli_replay.py +88 -0
  2335. novafabric-0.57.0/tests/test_cli_run_validate.py +115 -0
  2336. novafabric-0.57.0/tests/test_cli_scan_secrets.py +88 -0
  2337. novafabric-0.57.0/tests/test_cli_version.py +35 -0
  2338. novafabric-0.57.0/tests/test_cloud_worm.py +235 -0
  2339. novafabric-0.57.0/tests/test_diff_align.py +80 -0
  2340. novafabric-0.57.0/tests/test_diff_engine.py +269 -0
  2341. novafabric-0.57.0/tests/test_differentiation_table.py +57 -0
  2342. novafabric-0.57.0/tests/test_doctor_cmd.py +224 -0
  2343. novafabric-0.57.0/tests/test_envelope_cloudevents.py +251 -0
  2344. novafabric-0.57.0/tests/test_eval_result_schema.py +53 -0
  2345. novafabric-0.57.0/tests/test_eval_runner.py +89 -0
  2346. novafabric-0.57.0/tests/test_eval_significance.py +73 -0
  2347. novafabric-0.57.0/tests/test_eval_version_pinning.py +102 -0
  2348. novafabric-0.57.0/tests/test_event_envelope.py +511 -0
  2349. novafabric-0.57.0/tests/test_example_azure_openai.py +34 -0
  2350. novafabric-0.57.0/tests/test_example_langchain_agent.py +35 -0
  2351. novafabric-0.57.0/tests/test_example_lineage_chain.py +78 -0
  2352. novafabric-0.57.0/tests/test_example_minimal_agent.py +43 -0
  2353. novafabric-0.57.0/tests/test_example_replay_and_diff.py +85 -0
  2354. novafabric-0.57.0/tests/test_hold_cli.py +109 -0
  2355. novafabric-0.57.0/tests/test_lineage_capture_integration.py +67 -0
  2356. novafabric-0.57.0/tests/test_lineage_facets.py +260 -0
  2357. novafabric-0.57.0/tests/test_lineage_importer.py +143 -0
  2358. novafabric-0.57.0/tests/test_lineage_index.py +181 -0
  2359. novafabric-0.57.0/tests/test_lineage_store.py +278 -0
  2360. novafabric-0.57.0/tests/test_lineage_types.py +102 -0
  2361. novafabric-0.57.0/tests/test_lineage_writer.py +190 -0
  2362. novafabric-0.57.0/tests/test_local_worm.py +92 -0
  2363. novafabric-0.57.0/tests/test_mcp_proxy.py +258 -0
  2364. novafabric-0.57.0/tests/test_mcp_proxy_http.py +485 -0
  2365. novafabric-0.57.0/tests/test_migrate_capsule.py +250 -0
  2366. novafabric-0.57.0/tests/test_migration.py +728 -0
  2367. novafabric-0.57.0/tests/test_oas_schema_v1.py +110 -0
  2368. novafabric-0.57.0/tests/test_opa_engine.py +249 -0
  2369. novafabric-0.57.0/tests/test_openlineage_emitter.py +170 -0
  2370. novafabric-0.57.0/tests/test_openlineage_transport.py +136 -0
  2371. novafabric-0.57.0/tests/test_policy_models.py +61 -0
  2372. novafabric-0.57.0/tests/test_promote_policy_gate.py +366 -0
  2373. novafabric-0.57.0/tests/test_promote_significance_gate.py +202 -0
  2374. novafabric-0.57.0/tests/test_registry.py +246 -0
  2375. novafabric-0.57.0/tests/test_regression_policy_gate.py +75 -0
  2376. novafabric-0.57.0/tests/test_replay_dispatcher.py +121 -0
  2377. novafabric-0.57.0/tests/test_replay_engine.py +142 -0
  2378. novafabric-0.57.0/tests/test_replay_flags.py +85 -0
  2379. novafabric-0.57.0/tests/test_replay_policy.py +72 -0
  2380. novafabric-0.57.0/tests/test_report.py +212 -0
  2381. novafabric-0.57.0/tests/test_reports_cache_path.py +124 -0
  2382. novafabric-0.57.0/tests/test_retention_engine.py +94 -0
  2383. novafabric-0.57.0/tests/test_runners_docker.py +504 -0
  2384. novafabric-0.57.0/tests/test_runners_kubernetes.py +247 -0
  2385. novafabric-0.57.0/tests/test_runners_local.py +139 -0
  2386. novafabric-0.57.0/tests/test_runners_lsf.py +453 -0
  2387. novafabric-0.57.0/tests/test_runners_pbs.py +353 -0
  2388. novafabric-0.57.0/tests/test_runners_registry.py +67 -0
  2389. novafabric-0.57.0/tests/test_runners_slurm.py +510 -0
  2390. novafabric-0.57.0/tests/test_runs_cache.py +224 -0
  2391. novafabric-0.57.0/tests/test_sdk.py +83 -0
  2392. novafabric-0.57.0/tests/test_sdk_agent_capsule.py +86 -0
  2393. novafabric-0.57.0/tests/test_serve_admin.py +218 -0
  2394. novafabric-0.57.0/tests/test_serve_admin_roles.py +318 -0
  2395. novafabric-0.57.0/tests/test_serve_app.py +1146 -0
  2396. novafabric-0.57.0/tests/test_serve_asset_diff.py +216 -0
  2397. novafabric-0.57.0/tests/test_serve_cli.py +37 -0
  2398. novafabric-0.57.0/tests/test_serve_compliance.py +441 -0
  2399. novafabric-0.57.0/tests/test_serve_eval_history.py +131 -0
  2400. novafabric-0.57.0/tests/test_serve_evidence.py +405 -0
  2401. novafabric-0.57.0/tests/test_serve_holds.py +138 -0
  2402. novafabric-0.57.0/tests/test_serve_layer_b.py +338 -0
  2403. novafabric-0.57.0/tests/test_serve_layer_b_more.py +498 -0
  2404. novafabric-0.57.0/tests/test_serve_replay_semantic_exact.py +353 -0
  2405. novafabric-0.57.0/tests/test_serve_rollback_approve.py +283 -0
  2406. novafabric-0.57.0/tests/test_serve_seal.py +280 -0
  2407. novafabric-0.57.0/tests/test_serve_smoke.py +81 -0
  2408. novafabric-0.57.0/tests/test_serve_stats_cache.py +98 -0
  2409. novafabric-0.57.0/tests/test_serve_thread_lifecycle.py +61 -0
  2410. novafabric-0.57.0/tests/test_serve_units.py +247 -0
  2411. novafabric-0.57.0/tests/test_serve_validate.py +200 -0
  2412. novafabric-0.57.0/tests/test_server_auth.py +357 -0
  2413. novafabric-0.57.0/tests/test_server_auth_routes.py +107 -0
  2414. novafabric-0.57.0/tests/test_server_cli_commands.py +257 -0
  2415. novafabric-0.57.0/tests/test_server_offline_tokens.py +228 -0
  2416. novafabric-0.57.0/tests/test_server_rbac.py +447 -0
  2417. novafabric-0.57.0/tests/test_server_rbac_store.py +183 -0
  2418. novafabric-0.57.0/tests/test_server_routes.py +816 -0
  2419. novafabric-0.57.0/tests/test_server_seal_routes.py +284 -0
  2420. novafabric-0.57.0/tests/test_smoke_capture_validate.py +106 -0
  2421. novafabric-0.57.0/tests/test_smoke_semconv_pipeline.py +160 -0
  2422. novafabric-0.57.0/tests/test_sod_promote.py +323 -0
  2423. novafabric-0.57.0/tests/test_spec_validator.py +243 -0
  2424. novafabric-0.57.0/tests/test_storage_backend.py +342 -0
  2425. novafabric-0.57.0/tests/test_suggestion_engine.py +892 -0
  2426. novafabric-0.57.0/tests/test_system_card.py +151 -0
  2427. novafabric-0.57.0/tests/test_topology_ads_encoder.py +198 -0
  2428. novafabric-0.57.0/tests/test_topology_cluster_store.py +113 -0
  2429. novafabric-0.57.0/tests/test_topology_delta_buffer.py +183 -0
  2430. novafabric-0.57.0/tests/test_topology_extractor.py +195 -0
  2431. novafabric-0.57.0/tests/test_topology_serve.py +290 -0
  2432. novafabric-0.57.0/tests/trust/__init__.py +0 -0
  2433. novafabric-0.57.0/tests/trust/test_rfc3161.py +504 -0
  2434. novafabric-0.57.0/tests/tv5/__init__.py +1 -0
  2435. novafabric-0.57.0/tests/tv5/test_layout_pipeline.py +116 -0
  2436. novafabric-0.57.0/tests/tv5/test_router_tv5.py +119 -0
  2437. novafabric-0.57.0/tests/tv5/test_snapshot_store.py +113 -0
  2438. novafabric-0.57.0/tests/tv5/test_snapshot_store_3d_ttl.py +196 -0
  2439. novafabric-0.57.0/tests/tv5/test_visualization_models.py +220 -0
  2440. novafabric-0.57.0/uv.lock +5435 -0
  2441. novafabric-0.57.0/web/.lighthouserc.json +38 -0
  2442. novafabric-0.57.0/web/.nvmrc +1 -0
  2443. novafabric-0.57.0/web/README.md +103 -0
  2444. novafabric-0.57.0/web/astro.config.mjs +18 -0
  2445. novafabric-0.57.0/web/package-lock.json +10536 -0
  2446. novafabric-0.57.0/web/package.json +65 -0
  2447. novafabric-0.57.0/web/playwright.config.ts +29 -0
  2448. novafabric-0.57.0/web/public/favicon.svg +7 -0
  2449. novafabric-0.57.0/web/public/llms.txt +43 -0
  2450. novafabric-0.57.0/web/public/robots.txt +65 -0
  2451. novafabric-0.57.0/web/scripts/build_showcase_fixture.py +582 -0
  2452. novafabric-0.57.0/web/scripts/check-licenses.mjs +191 -0
  2453. novafabric-0.57.0/web/scripts/copy-dashboard.mjs +49 -0
  2454. novafabric-0.57.0/web/scripts/sign-evidence.mjs +90 -0
  2455. novafabric-0.57.0/web/src/components/capsule/AgentSwimlane.tsx +329 -0
  2456. novafabric-0.57.0/web/src/components/capsule/CapsuleInspector.tsx +732 -0
  2457. novafabric-0.57.0/web/src/components/capsule/ConversationThread.tsx +415 -0
  2458. novafabric-0.57.0/web/src/components/capsule/TraceView.tsx +107 -0
  2459. novafabric-0.57.0/web/src/components/capsule/TraceWaterfall.tsx +414 -0
  2460. novafabric-0.57.0/web/src/components/dashboard/AppearancePanel.tsx +185 -0
  2461. novafabric-0.57.0/web/src/components/dashboard/ConfirmDialog.tsx +124 -0
  2462. novafabric-0.57.0/web/src/components/dashboard/ConnectPanel.tsx +88 -0
  2463. novafabric-0.57.0/web/src/components/dashboard/DashboardApp.tsx +427 -0
  2464. novafabric-0.57.0/web/src/components/dashboard/EvalSparkline.tsx +58 -0
  2465. novafabric-0.57.0/web/src/components/dashboard/Sidebar.tsx +346 -0
  2466. novafabric-0.57.0/web/src/components/dashboard/commands/CommandBuilder.tsx +177 -0
  2467. novafabric-0.57.0/web/src/components/dashboard/commands/CommandList.tsx +69 -0
  2468. novafabric-0.57.0/web/src/components/dashboard/commands/commandRegistry.ts +955 -0
  2469. novafabric-0.57.0/web/src/components/dashboard/helpers.tsx +56 -0
  2470. novafabric-0.57.0/web/src/components/dashboard/tabs/AdminTab.tsx +1045 -0
  2471. novafabric-0.57.0/web/src/components/dashboard/tabs/AuditTab.tsx +208 -0
  2472. novafabric-0.57.0/web/src/components/dashboard/tabs/CaptureTab.tsx +259 -0
  2473. novafabric-0.57.0/web/src/components/dashboard/tabs/CommandsTab.tsx +16 -0
  2474. novafabric-0.57.0/web/src/components/dashboard/tabs/ComplianceTab.tsx +2523 -0
  2475. novafabric-0.57.0/web/src/components/dashboard/tabs/CostTab.tsx +225 -0
  2476. novafabric-0.57.0/web/src/components/dashboard/tabs/DiffTab.tsx +436 -0
  2477. novafabric-0.57.0/web/src/components/dashboard/tabs/EvalTab.tsx +201 -0
  2478. novafabric-0.57.0/web/src/components/dashboard/tabs/EvidenceTab.tsx +123 -0
  2479. novafabric-0.57.0/web/src/components/dashboard/tabs/GovernanceTab.tsx +1009 -0
  2480. novafabric-0.57.0/web/src/components/dashboard/tabs/HoldsTab.tsx +255 -0
  2481. novafabric-0.57.0/web/src/components/dashboard/tabs/HomeTab.tsx +453 -0
  2482. novafabric-0.57.0/web/src/components/dashboard/tabs/IncidentsTab.tsx +192 -0
  2483. novafabric-0.57.0/web/src/components/dashboard/tabs/InfraTab.tsx +1089 -0
  2484. novafabric-0.57.0/web/src/components/dashboard/tabs/KGTab.tsx +1086 -0
  2485. novafabric-0.57.0/web/src/components/dashboard/tabs/LineageTab.tsx +750 -0
  2486. novafabric-0.57.0/web/src/components/dashboard/tabs/OpsTab.tsx +80 -0
  2487. novafabric-0.57.0/web/src/components/dashboard/tabs/PolicyTab.tsx +858 -0
  2488. novafabric-0.57.0/web/src/components/dashboard/tabs/RegistryTab.tsx +1561 -0
  2489. novafabric-0.57.0/web/src/components/dashboard/tabs/ReportsTab.tsx +330 -0
  2490. novafabric-0.57.0/web/src/components/dashboard/tabs/RiskTab.tsx +149 -0
  2491. novafabric-0.57.0/web/src/components/dashboard/tabs/RunsTab.tsx +2038 -0
  2492. novafabric-0.57.0/web/src/components/dashboard/tabs/SchemaTab.tsx +146 -0
  2493. novafabric-0.57.0/web/src/components/dashboard/tabs/SealTab.tsx +1251 -0
  2494. novafabric-0.57.0/web/src/components/dashboard/tabs/SpineTab.tsx +230 -0
  2495. novafabric-0.57.0/web/src/components/dashboard/tabs/StorageTab.tsx +176 -0
  2496. novafabric-0.57.0/web/src/components/dashboard/tabs/TabShell.tsx +69 -0
  2497. novafabric-0.57.0/web/src/components/diff/TraceDiffGraph.tsx +215 -0
  2498. novafabric-0.57.0/web/src/components/evidence/EvidenceDetail.tsx +304 -0
  2499. novafabric-0.57.0/web/src/components/evidence/EvidenceList.tsx +230 -0
  2500. novafabric-0.57.0/web/src/components/evidence/EvidenceViewer.tsx +176 -0
  2501. novafabric-0.57.0/web/src/components/hero/InstallBlock.astro +26 -0
  2502. novafabric-0.57.0/web/src/components/hero/TerminalReplay.tsx +59 -0
  2503. novafabric-0.57.0/web/src/components/layout/DashboardLayout.astro +45 -0
  2504. novafabric-0.57.0/web/src/components/layout/Footer.astro +52 -0
  2505. novafabric-0.57.0/web/src/components/layout/Header.astro +87 -0
  2506. novafabric-0.57.0/web/src/components/layout/Layout.astro +91 -0
  2507. novafabric-0.57.0/web/src/components/layout/ShowcaseBadge.astro +21 -0
  2508. novafabric-0.57.0/web/src/components/layout/ThemeToggle.tsx +100 -0
  2509. novafabric-0.57.0/web/src/components/lineage/LineageGraph.tsx +410 -0
  2510. novafabric-0.57.0/web/src/components/lineage/LineageNode.tsx +71 -0
  2511. novafabric-0.57.0/web/src/components/primitives/PrimitiveCard.astro +27 -0
  2512. novafabric-0.57.0/web/src/components/primitives/PrimitiveStrip.astro +50 -0
  2513. novafabric-0.57.0/web/src/components/registry/RegistryBrowser.tsx +283 -0
  2514. novafabric-0.57.0/web/src/components/replay/ReplayViewer.tsx +476 -0
  2515. novafabric-0.57.0/web/src/components/ui/ActionButton.tsx +102 -0
  2516. novafabric-0.57.0/web/src/components/ui/CodeBlock.astro +44 -0
  2517. novafabric-0.57.0/web/src/components/ui/ComingSoon.astro +49 -0
  2518. novafabric-0.57.0/web/src/components/ui/CommandPalette.tsx +149 -0
  2519. novafabric-0.57.0/web/src/components/ui/ConfirmDialog.tsx +88 -0
  2520. novafabric-0.57.0/web/src/components/ui/CopyButton.tsx +54 -0
  2521. novafabric-0.57.0/web/src/components/ui/DataTable.tsx +171 -0
  2522. novafabric-0.57.0/web/src/components/ui/EmptyState.tsx +67 -0
  2523. novafabric-0.57.0/web/src/components/ui/ErrorBoundary.tsx +63 -0
  2524. novafabric-0.57.0/web/src/components/ui/KeyboardHelp.tsx +67 -0
  2525. novafabric-0.57.0/web/src/components/ui/Pill.astro +18 -0
  2526. novafabric-0.57.0/web/src/components/ui/Skeleton.tsx +42 -0
  2527. novafabric-0.57.0/web/src/components/ui/Sparkline.tsx +61 -0
  2528. novafabric-0.57.0/web/src/components/ui/SuggestInput.tsx +65 -0
  2529. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_A/capsule.json +61 -0
  2530. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_A/capsule.yaml +52 -0
  2531. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_A/model-calls.jsonl +2 -0
  2532. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_A/tool-calls.jsonl +2 -0
  2533. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_A/trace.jsonl +5 -0
  2534. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_B/capsule.json +61 -0
  2535. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_B/capsule.yaml +52 -0
  2536. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_B/model-calls.jsonl +2 -0
  2537. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_B/tool-calls.jsonl +2 -0
  2538. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_B/trace.jsonl +5 -0
  2539. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_C/capsule.json +61 -0
  2540. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_C/capsule.yaml +52 -0
  2541. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_C/model-calls.jsonl +2 -0
  2542. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_C/tool-calls.jsonl +2 -0
  2543. novafabric-0.57.0/web/src/data/fixtures/capsules/RUN_C/trace.jsonl +5 -0
  2544. novafabric-0.57.0/web/src/data/fixtures/diff-A-vs-B.json +56 -0
  2545. novafabric-0.57.0/web/src/data/fixtures/evidence-bundle/dsse-statement.json +27 -0
  2546. novafabric-0.57.0/web/src/data/fixtures/evidence-bundle/manifest.json +56 -0
  2547. novafabric-0.57.0/web/src/data/fixtures/evidence-bundle/predicate.json +18 -0
  2548. novafabric-0.57.0/web/src/data/fixtures/evidence-bundle/public-key.json +6 -0
  2549. novafabric-0.57.0/web/src/data/fixtures/lineage.jsonl +15 -0
  2550. novafabric-0.57.0/web/src/data/fixtures/registry.json +145 -0
  2551. novafabric-0.57.0/web/src/data/schemas/diff-report.schema.json +91 -0
  2552. novafabric-0.57.0/web/src/data/schemas/environment.schema.json +525 -0
  2553. novafabric-0.57.0/web/src/data/schemas/evidence-bundle.schema.json +296 -0
  2554. novafabric-0.57.0/web/src/data/schemas/lineage-edge.schema.json +96 -0
  2555. novafabric-0.57.0/web/src/data/schemas/model-call.schema.json +427 -0
  2556. novafabric-0.57.0/web/src/data/schemas/replay-policy.schema.json +288 -0
  2557. novafabric-0.57.0/web/src/data/schemas/replay-result.schema.json +104 -0
  2558. novafabric-0.57.0/web/src/data/schemas/run-capsule.schema.json +433 -0
  2559. novafabric-0.57.0/web/src/data/schemas/secret-redaction.schema.json +374 -0
  2560. novafabric-0.57.0/web/src/data/schemas/tool-call.schema.json +334 -0
  2561. novafabric-0.57.0/web/src/lib/ToastContext.tsx +91 -0
  2562. novafabric-0.57.0/web/src/lib/api.ts +1580 -0
  2563. novafabric-0.57.0/web/src/lib/ed25519verify.ts +120 -0
  2564. novafabric-0.57.0/web/src/lib/fixtures.ts +111 -0
  2565. novafabric-0.57.0/web/src/lib/lineage.ts +211 -0
  2566. novafabric-0.57.0/web/src/lib/links.ts +15 -0
  2567. novafabric-0.57.0/web/src/lib/runUtils.ts +16 -0
  2568. novafabric-0.57.0/web/src/lib/shiki.ts +38 -0
  2569. novafabric-0.57.0/web/src/lib/time.ts +9 -0
  2570. novafabric-0.57.0/web/src/lib/traceUtils.ts +302 -0
  2571. novafabric-0.57.0/web/src/lib/useMutation.ts +105 -0
  2572. novafabric-0.57.0/web/src/lib/usePolling.ts +60 -0
  2573. novafabric-0.57.0/web/src/lib/useUrlState.ts +47 -0
  2574. novafabric-0.57.0/web/src/lib/validate.ts +74 -0
  2575. novafabric-0.57.0/web/src/pages/404.astro +20 -0
  2576. novafabric-0.57.0/web/src/pages/concepts.astro +99 -0
  2577. novafabric-0.57.0/web/src/pages/dashboard.astro +11 -0
  2578. novafabric-0.57.0/web/src/pages/index.astro +198 -0
  2579. novafabric-0.57.0/web/src/pages/install.astro +52 -0
  2580. novafabric-0.57.0/web/src/pages/showcase/capsule.astro +48 -0
  2581. novafabric-0.57.0/web/src/pages/showcase/evidence.astro +45 -0
  2582. novafabric-0.57.0/web/src/pages/showcase/lineage.astro +50 -0
  2583. novafabric-0.57.0/web/src/pages/showcase/registry.astro +44 -0
  2584. novafabric-0.57.0/web/src/pages/showcase/replay.astro +45 -0
  2585. novafabric-0.57.0/web/src/pages/spec.astro +50 -0
  2586. novafabric-0.57.0/web/src/pages/why.astro +51 -0
  2587. novafabric-0.57.0/web/src/styles/global.css +75 -0
  2588. novafabric-0.57.0/web/src/styles/reports-print.css +20 -0
  2589. novafabric-0.57.0/web/src/styles/tokens.css +177 -0
  2590. novafabric-0.57.0/web/test-results/.last-run.json +4 -0
  2591. novafabric-0.57.0/web/tests/e2e/a11y.spec.ts +43 -0
  2592. novafabric-0.57.0/web/tests/e2e/dashboard-v08.spec.ts +60 -0
  2593. novafabric-0.57.0/web/tests/e2e/error-boundary.spec.ts +72 -0
  2594. novafabric-0.57.0/web/tests/e2e/run-stream-backoff.spec.ts +100 -0
  2595. novafabric-0.57.0/web/tests/e2e/showcase.spec.ts +111 -0
  2596. novafabric-0.57.0/web/tsconfig.json +13 -0
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a bug in NovaFabric
4
+ labels: bug
5
+ ---
6
+
7
+ ## Description
8
+
9
+ A clear description of what the bug is.
10
+
11
+ ## Steps to reproduce
12
+
13
+ 1. Run `novafabric ...`
14
+ 2. See error
15
+
16
+ ## Expected behavior
17
+
18
+ What you expected to happen.
19
+
20
+ ## Actual behavior
21
+
22
+ What actually happened. Include full output or error message.
23
+
24
+ ## Environment
25
+
26
+ - OS:
27
+ - Python version (`python --version`):
28
+ - NovaFabric version (`pip show novafabric`):
29
+
30
+ ## Asset spec (if relevant)
31
+
32
+ ```yaml
33
+ # Paste your spec YAML here (remove any sensitive values)
34
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest a new feature or improvement
4
+ labels: enhancement
5
+ ---
6
+
7
+ ## Motivation
8
+
9
+ What problem does this solve? Why is this useful?
10
+
11
+ ## Proposed solution
12
+
13
+ Describe what you'd like. Be specific about CLI commands, YAML fields, or behavior changes.
14
+
15
+ ## Alternatives considered
16
+
17
+ Other approaches you thought about.
18
+
19
+ ## Additional context
20
+
21
+ Links, examples, or prior art that might help.
@@ -0,0 +1,12 @@
1
+ ## Summary
2
+
3
+ What does this PR do?
4
+
5
+ ## Checklist
6
+
7
+ - [ ] Tests added or updated
8
+ - [ ] `uv run pytest` passes (coverage ≥ 90%)
9
+ - [ ] `uv run ruff check src tests` passes
10
+ - [ ] `uv run mypy src` passes
11
+ - [ ] `CHANGELOG.md` updated for user-facing changes
12
+ - [ ] Docs updated if behavior changed
@@ -0,0 +1,236 @@
1
+ name: CI
2
+
3
+ # Runs the same quality gates the project's PR template asks contributors
4
+ # to run locally: pytest with coverage, ruff lint, mypy strict. Mirrors
5
+ # CONTRIBUTING.md and the v0.6.1-baseline gates (558 tests, 90% coverage,
6
+ # 87 source files clean under mypy strict).
7
+ #
8
+ # Jobs:
9
+ # unit — runs on every PR/push; no external services required.
10
+ # integration — runs on every PR/push; spins up a Postgres 16 service.
11
+ on:
12
+ push:
13
+ branches: [main]
14
+ pull_request:
15
+ branches: [main]
16
+
17
+ # Cancel in-flight runs of the same ref when new commits land. Saves CI
18
+ # minutes on rapid-fire pushes.
19
+ concurrency:
20
+ group: ci-${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ jobs:
24
+ # --------------------------------------------------------------------------
25
+ # Unit tests + quality gates
26
+ # No external services. Must pass without Postgres or any network access.
27
+ # --------------------------------------------------------------------------
28
+ unit:
29
+ runs-on: ubuntu-latest
30
+ timeout-minutes: 15
31
+
32
+ steps:
33
+ - name: Checkout
34
+ uses: actions/checkout@v4
35
+ with:
36
+ fetch-depth: 1
37
+
38
+ - name: Install uv
39
+ uses: astral-sh/setup-uv@v6
40
+ with:
41
+ # Keep the uv binary cached across runs.
42
+ enable-cache: true
43
+
44
+ - name: Set up Python (matches requires-python in pyproject.toml)
45
+ uses: actions/setup-python@v6
46
+ with:
47
+ python-version: "3.12"
48
+
49
+ - name: Install project + dev deps
50
+ run: uv sync --frozen
51
+
52
+ - name: Lint (ruff)
53
+ run: uv run ruff check src tests
54
+
55
+ - name: Run unit tests with coverage
56
+ # Excludes tests/integration/ which requires optional external services.
57
+ # --cov-fail-under=90 enforces the project's coverage floor at the
58
+ # CI gate so a regression cannot land silently.
59
+ # --benchmark-disable skips the 100-round latency benchmark; that gate
60
+ # runs in the dedicated seal-latency-gate job below.
61
+ run: uv run pytest tests/ --ignore=tests/integration --benchmark-disable --cov=novafabric --cov-report=term-missing --cov-fail-under=90
62
+
63
+ - name: Smoke-test the CLI
64
+ # Confirms the `nova` entry point installs cleanly and reports
65
+ # the version. Catches packaging regressions that pure unit
66
+ # tests miss.
67
+ run: |
68
+ uv run nova --version
69
+ uv run nova --help > /dev/null
70
+
71
+ # --------------------------------------------------------------------------
72
+ # Type check (mypy strict) against the FULL dependency surface
73
+ # Separate job with --all-extras so optional-extra integrations (sigstore,
74
+ # kuzu, clickhouse, adapters, …) are type-checked against their real APIs
75
+ # instead of being silenced as missing imports. The unit job stays lean so
76
+ # its coverage denominator (and the 90% gate) is unaffected.
77
+ # --------------------------------------------------------------------------
78
+ typecheck:
79
+ runs-on: ubuntu-latest
80
+ timeout-minutes: 15
81
+
82
+ steps:
83
+ - name: Checkout
84
+ uses: actions/checkout@v4
85
+ with:
86
+ fetch-depth: 1
87
+
88
+ - name: Install uv
89
+ uses: astral-sh/setup-uv@v6
90
+ with:
91
+ enable-cache: true
92
+
93
+ - name: Set up Python (matches requires-python in pyproject.toml)
94
+ uses: actions/setup-python@v6
95
+ with:
96
+ python-version: "3.12"
97
+
98
+ - name: Install project + dev deps + all extras
99
+ run: uv sync --frozen --all-extras
100
+
101
+ - name: Type check (mypy strict)
102
+ run: uv run mypy src
103
+
104
+ # --------------------------------------------------------------------------
105
+ # NovaSeal p99 latency gate
106
+ # Runs 100 seal() rounds and asserts p99 < 200 ms (ADR-0041).
107
+ # Separate from the unit job so benchmark overhead does not inflate
108
+ # the coverage-measurement run.
109
+ # --------------------------------------------------------------------------
110
+ seal-latency-gate:
111
+ runs-on: ubuntu-latest
112
+ timeout-minutes: 5
113
+
114
+ steps:
115
+ - name: Checkout
116
+ uses: actions/checkout@v4
117
+ with:
118
+ fetch-depth: 1
119
+
120
+ - name: Install uv
121
+ uses: astral-sh/setup-uv@v6
122
+ with:
123
+ enable-cache: true
124
+
125
+ - name: Set up Python
126
+ uses: actions/setup-python@v6
127
+ with:
128
+ python-version: "3.12"
129
+
130
+ - name: Install project + dev deps
131
+ run: uv sync --frozen
132
+
133
+ - name: Run NovaSeal p99 latency gate
134
+ # --benchmark-json saves results as a JSON artifact for trend tracking.
135
+ # The p99 < 200 ms assertion is inside the test itself; a failing
136
+ # assertion fails this step and blocks the PR merge.
137
+ run: |
138
+ mkdir -p bench-results
139
+ uv run pytest tests/seal/test_benchmark.py -v \
140
+ --benchmark-json=bench-results/seal_latency.json
141
+
142
+ - name: Upload benchmark results
143
+ if: always()
144
+ uses: actions/upload-artifact@v4
145
+ with:
146
+ name: seal-latency-${{ github.sha }}
147
+ path: bench-results/seal_latency.json
148
+ retention-days: 90
149
+
150
+ # --------------------------------------------------------------------------
151
+ # Showcase site build
152
+ # Confirms the Astro site (web/) builds cleanly and TypeScript types check.
153
+ # e2e tests require a running server so are not run here.
154
+ # --------------------------------------------------------------------------
155
+ web:
156
+ runs-on: ubuntu-latest
157
+ timeout-minutes: 10
158
+
159
+ steps:
160
+ - name: Checkout
161
+ uses: actions/checkout@v4
162
+ with:
163
+ fetch-depth: 1
164
+
165
+ - name: Set up Node
166
+ uses: actions/setup-node@v4
167
+ with:
168
+ node-version: "20"
169
+ cache: "npm"
170
+ cache-dependency-path: web/package-lock.json
171
+
172
+ - name: Install web dependencies
173
+ working-directory: web
174
+ run: npm ci
175
+
176
+ - name: Type check (tsc)
177
+ working-directory: web
178
+ run: npm run lint
179
+
180
+ - name: Build showcase site
181
+ working-directory: web
182
+ run: npm run build
183
+
184
+ # --------------------------------------------------------------------------
185
+ # Integration tests
186
+ # Spins up a Postgres 16 service container and runs tests/integration/.
187
+ # Tests that don't need Postgres (server, auth, rbac, storage SQLite) still
188
+ # run here; Postgres-requiring tests (migration, storage Postgres) are
189
+ # automatically enabled via the env var.
190
+ # --------------------------------------------------------------------------
191
+ integration:
192
+ runs-on: ubuntu-latest
193
+ timeout-minutes: 20
194
+
195
+ services:
196
+ postgres:
197
+ image: postgres:16
198
+ env:
199
+ POSTGRES_PASSWORD: test
200
+ POSTGRES_DB: novafabric_test
201
+ options: >-
202
+ --health-cmd pg_isready
203
+ --health-interval 10s
204
+ --health-timeout 5s
205
+ --health-retries 5
206
+ ports:
207
+ - 5432:5432
208
+
209
+ steps:
210
+ - name: Checkout
211
+ uses: actions/checkout@v4
212
+ with:
213
+ fetch-depth: 1
214
+
215
+ - name: Install uv
216
+ uses: astral-sh/setup-uv@v6
217
+ with:
218
+ enable-cache: true
219
+
220
+ - name: Set up Python (matches requires-python in pyproject.toml)
221
+ uses: actions/setup-python@v6
222
+ with:
223
+ python-version: "3.12"
224
+
225
+ - name: Install project + dev deps
226
+ run: uv sync --frozen
227
+
228
+ - name: Run Postgres schema migrations
229
+ env:
230
+ NOVAFABRIC_POSTGRES_DSN: postgresql://postgres:test@localhost:5432/novafabric_test
231
+ run: uv run alembic -c alembic-postgres.ini upgrade head
232
+
233
+ - name: Run integration tests
234
+ env:
235
+ NOVAFABRIC_TEST_POSTGRES_DSN: postgresql://postgres:test@localhost:5432/novafabric_test
236
+ run: uv run pytest tests/integration/ -v
@@ -0,0 +1,152 @@
1
+ name: Collector CI
2
+
3
+ on:
4
+ push:
5
+ paths:
6
+ - "collector/**"
7
+ - "schemas/event-envelope-v1/**"
8
+ - "deploy/**"
9
+ - ".github/workflows/collector-ci.yml"
10
+ pull_request:
11
+ paths:
12
+ - "collector/**"
13
+ - "schemas/event-envelope-v1/**"
14
+ - "deploy/**"
15
+
16
+ env:
17
+ # go.mod requires Go ≥ 1.25 since the OTel 1.43.0 bump (Dependabot Phase C).
18
+ GO_VERSION: "1.25"
19
+ GOPATH: ${{ github.workspace }}/.gopath
20
+
21
+ jobs:
22
+ lint:
23
+ name: Lint
24
+ runs-on: ubuntu-latest
25
+ defaults:
26
+ run:
27
+ working-directory: collector
28
+ steps:
29
+ - uses: actions/checkout@v4
30
+ - uses: actions/setup-go@v5
31
+ with:
32
+ go-version: ${{ env.GO_VERSION }}
33
+ cache-dependency-path: collector/go.sum
34
+ - name: go vet
35
+ run: GOPATH=${{ env.GOPATH }} go vet ./...
36
+ - name: Prohibit flock/mmap/fcntl in spool
37
+ run: |
38
+ # Match the forbidden tokens in non-test Go files, then drop lines that
39
+ # are pure leading-comment lines (//... or *...) so the spool's
40
+ # explanatory comments ("no flock/mmap/fcntl is used here") do not
41
+ # trip the check. Real uses would appear in code without a leading
42
+ # comment marker.
43
+ if grep -rn --include="*.go" \
44
+ -E 'flock|mmap|fcntl|F_SETLK|syscall\.Flock|LOCK_EX' \
45
+ internal/spool/ \
46
+ | grep -v "_test.go" \
47
+ | grep -Ev ':[[:space:]]*(//|\*)'; then
48
+ echo "ERROR: flock/mmap/fcntl found in spool non-test code"
49
+ exit 1
50
+ fi
51
+ echo "OK: no flock/mmap/fcntl in internal/spool"
52
+
53
+ unit:
54
+ name: Unit Tests
55
+ runs-on: ubuntu-latest
56
+ defaults:
57
+ run:
58
+ working-directory: collector
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+ - uses: actions/setup-go@v5
62
+ with:
63
+ go-version: ${{ env.GO_VERSION }}
64
+ cache-dependency-path: collector/go.sum
65
+ - name: go test -race
66
+ run: GOPATH=${{ env.GOPATH }} go test -race -count=1 -timeout 120s ./...
67
+ - name: Coverage check
68
+ run: |
69
+ GOPATH=${{ env.GOPATH }} go test -coverprofile=coverage.out ./pkg/... ./internal/...
70
+ GOPATH=${{ env.GOPATH }} go tool cover -func=coverage.out | tail -1
71
+ COVERAGE=$(GOPATH=${{ env.GOPATH }} go tool cover -func=coverage.out | tail -1 | awk '{print $3}' | tr -d '%')
72
+ echo "Coverage: ${COVERAGE}%"
73
+ # Warn (not fail) if below 75%
74
+ awk "BEGIN {exit (${COVERAGE} < 75)}" || echo "WARNING: coverage below 75%"
75
+
76
+ spec:
77
+ name: Spec Corpus Validation
78
+ runs-on: ubuntu-latest
79
+ steps:
80
+ - uses: actions/checkout@v4
81
+ - uses: actions/setup-python@v5
82
+ with:
83
+ python-version: "3.12"
84
+ - name: Validate corpus
85
+ run: |
86
+ python3 -c "
87
+ import json, pathlib, sys
88
+ schema = json.load(open('schemas/event-envelope-v1/envelope-v1.json'))
89
+ files = sorted(pathlib.Path('schemas/event-envelope-v1/corpus').glob('[0-9]*.json'))
90
+ errors = []
91
+ for f in files:
92
+ data = json.load(open(f))
93
+ for req in schema.get('required', []):
94
+ if req not in data:
95
+ errors.append(f'{f}: missing required field {req}')
96
+ if errors:
97
+ for e in errors[:10]: print(e, file=sys.stderr)
98
+ sys.exit(1)
99
+ print(f'{len(files)}/{len(files)} corpus events valid')
100
+ "
101
+
102
+ build:
103
+ name: Build Artifacts
104
+ runs-on: ubuntu-latest
105
+ defaults:
106
+ run:
107
+ working-directory: collector
108
+ steps:
109
+ - uses: actions/checkout@v4
110
+ - uses: actions/setup-go@v5
111
+ with:
112
+ go-version: ${{ env.GO_VERSION }}
113
+ cache-dependency-path: collector/go.sum
114
+ - name: Build binaries
115
+ run: |
116
+ GOPATH=${{ env.GOPATH }} go build -o bin/novafabric-collector ./cmd/novafabric-collector
117
+ GOPATH=${{ env.GOPATH }} go build -o bin/novafabric-verifier ./cmd/novafabric-verifier
118
+ GOPATH=${{ env.GOPATH }} go build -o bin/novafabric-hpc-hub ./cmd/novafabric-hpc-hub
119
+ - name: Smoke-test verifier --help
120
+ run: ./bin/novafabric-verifier --help 2>&1 | head -3 || true
121
+ - name: Smoke-test hpc-hub --help
122
+ run: ./bin/novafabric-hpc-hub --help 2>&1 | head -3 || true
123
+
124
+ security:
125
+ name: Security Scan
126
+ runs-on: ubuntu-latest
127
+ defaults:
128
+ run:
129
+ working-directory: collector
130
+ steps:
131
+ - uses: actions/checkout@v4
132
+ - uses: actions/setup-go@v5
133
+ with:
134
+ go-version: ${{ env.GO_VERSION }}
135
+ cache-dependency-path: collector/go.sum
136
+ - name: govulncheck
137
+ run: |
138
+ GOPATH=${{ env.GOPATH }} go install golang.org/x/vuln/cmd/govulncheck@latest
139
+ ${{ env.GOPATH }}/bin/govulncheck ./... || echo "Vulnerabilities found — review required"
140
+ - name: License check (no AGPL/GPL/BSL)
141
+ run: |
142
+ GOPATH=${{ env.GOPATH }} go install github.com/google/go-licenses@latest
143
+ ${{ env.GOPATH }}/bin/go-licenses report ./... 2>/dev/null > /tmp/licenses.txt || true
144
+ # Allowlisted MPL-2.0 transitive deps (see ADR-0024 amendment for
145
+ # hashicorp/go-version — file-level copyleft, unmodified, pulled in
146
+ # transitively via go.opentelemetry.io/collector/featuregate).
147
+ grep -v '^github\.com/hashicorp/go-version,' /tmp/licenses.txt > /tmp/licenses.filtered.txt
148
+ if grep -E '(AGPL|GPL-3|BSL-1\.1|MPL-2\.0|Elastic)' /tmp/licenses.filtered.txt; then
149
+ echo "ERROR: Prohibited license found"
150
+ exit 1
151
+ fi
152
+ echo "License check passed"
@@ -0,0 +1,99 @@
1
+ name: MetadataStore Security Gate
2
+
3
+ on:
4
+ push:
5
+ paths:
6
+ - "src/novafabric/metadata_store/**"
7
+ - "tests/metadata_store/**"
8
+ - "tests/fixtures/broken_session_set.py"
9
+ pull_request:
10
+ paths:
11
+ - "src/novafabric/metadata_store/**"
12
+ - "tests/metadata_store/**"
13
+ - "tests/fixtures/broken_session_set.py"
14
+
15
+ jobs:
16
+ security-gate:
17
+ name: MetadataStore Security Gate
18
+ runs-on: ubuntu-latest
19
+ services:
20
+ postgres:
21
+ image: postgres:16-alpine
22
+ env:
23
+ POSTGRES_PASSWORD: testpass
24
+ POSTGRES_USER: postgres
25
+ POSTGRES_DB: novafabric_test
26
+ ports:
27
+ - 5432:5432
28
+ options: >-
29
+ --health-cmd pg_isready
30
+ --health-interval 2s
31
+ --health-timeout 5s
32
+ --health-retries 10
33
+
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+
37
+ - uses: astral-sh/setup-uv@v5
38
+ with:
39
+ python-version: "3.12"
40
+
41
+ - name: Install dependencies
42
+ run: uv sync
43
+
44
+ - name: Ruff lint
45
+ run: uv run ruff check src/ tests/
46
+
47
+ - name: Mypy type check
48
+ run: uv run mypy src/novafabric/metadata_store/ --exclude migrations
49
+
50
+ - name: FR-07 grep — no session-scoped SET app. in metadata_store
51
+ run: |
52
+ violations=$(grep -rn "SET " src/novafabric/metadata_store/ | grep -v "SET LOCAL" | grep "app\." || true)
53
+ if [ -n "$violations" ]; then
54
+ echo "FAIL: Session-scoped SET app. found — use SET LOCAL"
55
+ echo "$violations"
56
+ exit 1
57
+ fi
58
+ echo "PASS: No session-scoped SET app. found"
59
+
60
+ - name: FR-13 grep — RLS primitives confined to metadata_store
61
+ run: |
62
+ violations=$(grep -rnE 'current_setting\(.*app\.|FORCE\s+ROW\s+LEVEL' \
63
+ --include='*.py' src/ tests/ \
64
+ | grep -v 'src/novafabric/metadata_store/' \
65
+ | grep -v 'tests/metadata_store/' \
66
+ | grep -v 'tests/fixtures/broken_session_set.py' || true)
67
+ if [ -n "$violations" ]; then
68
+ echo "FAIL: RLS primitives found outside allowed paths:"
69
+ echo "$violations"
70
+ exit 1
71
+ fi
72
+ echo "PASS: RLS primitives confined to allowed paths"
73
+
74
+ - name: Run MetadataStore tests with coverage
75
+ run: |
76
+ uv run pytest tests/metadata_store/ -v --tb=short \
77
+ --cov=src/novafabric/metadata_store \
78
+ --cov-report=term-missing \
79
+ --cov-fail-under=85
80
+ env:
81
+ NOVAFABRIC_METADATA_BACKEND: sqlite
82
+
83
+ - name: FR-08 mutmut — SET LOCAL invariant kill-rate gate
84
+ run: |
85
+ # Curated mutation target: postgres.py SET LOCAL line only.
86
+ # Runner uses testcontainers (Docker required on CI host).
87
+ uv run mutmut run \
88
+ --paths-to-mutate src/novafabric/metadata_store/postgres.py \
89
+ --runner "uv run pytest tests/metadata_store/test_cross_tenant_isolation_pgbouncer.py tests/metadata_store/test_set_local_invariant.py -x --tb=short -q"
90
+ survived=$(uv run mutmut results 2>/dev/null | grep -c "survived" || true)
91
+ if [ "${survived:-0}" -gt 0 ]; then
92
+ echo "FAIL: mutant(s) survived — FR-08 SET LOCAL kill rate < 100%"
93
+ uv run mutmut results
94
+ exit 1
95
+ fi
96
+ echo "PASS: All SET LOCAL mutants killed — GDPR Article 32 invariant confirmed"
97
+
98
+ - name: Benchmark smoke
99
+ run: bash bench/rls_partition_pruning/ci_smoke.sh
@@ -0,0 +1,77 @@
1
+ name: Publish to PyPI
2
+
3
+ # Builds the novafabric distribution and publishes it to PyPI using
4
+ # Trusted Publishing (OIDC) — no API token or stored secret is required.
5
+ # PyPI is configured to trust this exact tuple via a Trusted Publisher entry:
6
+ #
7
+ # PyPI project : novafabric
8
+ # Owner : novafabric
9
+ # Repository : novafabric
10
+ # Workflow name : publish-pypi.yml <-- the value to enter on pypi.org
11
+ # Environment : pypi
12
+ #
13
+ # Fires when a v* tag is pushed (same trigger as release.yml, which creates
14
+ # the GitHub Release). The two workflows run independently.
15
+ on:
16
+ push:
17
+ tags:
18
+ - "v*"
19
+ # Allow a manual re-publish from the Actions tab if a tag run needs a retry.
20
+ workflow_dispatch:
21
+
22
+ permissions:
23
+ contents: read
24
+
25
+ jobs:
26
+ build:
27
+ name: Build distribution
28
+ runs-on: ubuntu-latest
29
+ timeout-minutes: 10
30
+ steps:
31
+ - name: Checkout
32
+ uses: actions/checkout@v4
33
+ with:
34
+ fetch-depth: 1
35
+
36
+ - name: Install uv
37
+ uses: astral-sh/setup-uv@v6
38
+
39
+ - name: Set up Python
40
+ uses: actions/setup-python@v6
41
+ with:
42
+ python-version: "3.12"
43
+
44
+ - name: Build sdist and wheel
45
+ run: uv build
46
+
47
+ - name: Check distribution metadata
48
+ run: uvx twine check dist/*
49
+
50
+ - name: Upload distribution artifacts
51
+ uses: actions/upload-artifact@v4
52
+ with:
53
+ name: dist
54
+ path: dist/
55
+
56
+ publish:
57
+ name: Publish to PyPI
58
+ needs: build
59
+ runs-on: ubuntu-latest
60
+ timeout-minutes: 10
61
+ # Must match the "Environment name" configured in the PyPI Trusted Publisher.
62
+ environment:
63
+ name: pypi
64
+ url: https://pypi.org/p/novafabric
65
+ permissions:
66
+ # Required for Trusted Publishing: mints the OIDC token PyPI exchanges
67
+ # for a short-lived upload credential. No long-lived secret is stored.
68
+ id-token: write
69
+ steps:
70
+ - name: Download distribution artifacts
71
+ uses: actions/download-artifact@v4
72
+ with:
73
+ name: dist
74
+ path: dist/
75
+
76
+ - name: Publish to PyPI
77
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,55 @@
1
+ name: Release
2
+
3
+ # Triggered when a v* tag is pushed. Creates a GitHub Release with notes
4
+ # extracted from docs/releases/<tag>.md (the source of truth for release
5
+ # notes — also linked from CHANGELOG.md and discoverable in-repo).
6
+ #
7
+ # Does NOT publish to PyPI — that requires repository secrets and is a
8
+ # user-driven decision per release.
9
+ on:
10
+ push:
11
+ tags:
12
+ - "v*"
13
+
14
+ permissions:
15
+ # Required to create the release. No write access to code.
16
+ contents: write
17
+
18
+ jobs:
19
+ github-release:
20
+ runs-on: ubuntu-latest
21
+ timeout-minutes: 5
22
+
23
+ steps:
24
+ - name: Checkout
25
+ uses: actions/checkout@v4
26
+ with:
27
+ fetch-depth: 1
28
+
29
+ - name: Locate release notes
30
+ id: notes
31
+ run: |
32
+ tag="${GITHUB_REF_NAME}"
33
+ notes_file="docs/releases/${tag}.md"
34
+ if [ ! -f "$notes_file" ]; then
35
+ echo "::error file=docs/releases::Missing release notes file: $notes_file"
36
+ echo "Tag $tag was pushed but $notes_file does not exist." >&2
37
+ exit 1
38
+ fi
39
+ # First H1 in the notes is the release title (drop the leading '# ').
40
+ title=$(head -1 "$notes_file" | sed 's/^# //')
41
+ if [ -z "$title" ]; then
42
+ echo "::error file=$notes_file::First line is not an H1; cannot derive title"
43
+ exit 1
44
+ fi
45
+ echo "notes_file=$notes_file" >> "$GITHUB_OUTPUT"
46
+ echo "title=$title" >> "$GITHUB_OUTPUT"
47
+
48
+ - name: Create GitHub Release
49
+ env:
50
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51
+ run: |
52
+ gh release create "${GITHUB_REF_NAME}" \
53
+ --title "${{ steps.notes.outputs.title }}" \
54
+ --notes-file "${{ steps.notes.outputs.notes_file }}" \
55
+ --latest=true