metaproc 0.2.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 (609) hide show
  1. metaproc-0.2.0/.env.example +147 -0
  2. metaproc-0.2.0/.flowmarkignore +7 -0
  3. metaproc-0.2.0/.gitignore +189 -0
  4. metaproc-0.2.0/.node-version +1 -0
  5. metaproc-0.2.0/.npmrc +20 -0
  6. metaproc-0.2.0/.nvmrc +1 -0
  7. metaproc-0.2.0/CHANGELOG.md +61 -0
  8. metaproc-0.2.0/LICENSE +661 -0
  9. metaproc-0.2.0/Makefile +84 -0
  10. metaproc-0.2.0/NOTICE.md +32 -0
  11. metaproc-0.2.0/PKG-INFO +288 -0
  12. metaproc-0.2.0/README.md +229 -0
  13. metaproc-0.2.0/SECURITY.md +49 -0
  14. metaproc-0.2.0/SUPPLY-CHAIN-SECURITY.md +87 -0
  15. metaproc-0.2.0/TODO.md +39 -0
  16. metaproc-0.2.0/biome.json +66 -0
  17. metaproc-0.2.0/conftest.py +17 -0
  18. metaproc-0.2.0/devtools/check_distribution.py +211 -0
  19. metaproc-0.2.0/devtools/check_links.py +80 -0
  20. metaproc-0.2.0/devtools/check_plc0415_justifications.py +115 -0
  21. metaproc-0.2.0/devtools/check_supply_chain.py +144 -0
  22. metaproc-0.2.0/devtools/lint.py +72 -0
  23. metaproc-0.2.0/devtools/public_hygiene.py +354 -0
  24. metaproc-0.2.0/devtools/synthesize_fixtures.py +219 -0
  25. metaproc-0.2.0/docs/arch/arch-authentication.md +1405 -0
  26. metaproc-0.2.0/docs/arch/arch-claude-code-harness.md +402 -0
  27. metaproc-0.2.0/docs/arch/arch-cloud-execution.md +773 -0
  28. metaproc-0.2.0/docs/arch/arch-file-io-utilities.md +116 -0
  29. metaproc-0.2.0/docs/arch/arch-metaproc-core.md +2732 -0
  30. metaproc-0.2.0/docs/arch/arch-runpool.md +475 -0
  31. metaproc-0.2.0/docs/arch/arch-testing.md +241 -0
  32. metaproc-0.2.0/docs/artifact-catalog.md +139 -0
  33. metaproc-0.2.0/docs/conventions.md +563 -0
  34. metaproc-0.2.0/docs/development.md +201 -0
  35. metaproc-0.2.0/docs/installation.md +84 -0
  36. metaproc-0.2.0/docs/metaproc-design-rev3-proposals.md +262 -0
  37. metaproc-0.2.0/docs/performance-notes.md +424 -0
  38. metaproc-0.2.0/docs/project/provenance/extraction.md +73 -0
  39. metaproc-0.2.0/docs/project/specs/active/plan-2026-07-26-standalone-extraction.md +84 -0
  40. metaproc-0.2.0/docs/publishing.md +79 -0
  41. metaproc-0.2.0/docs/releases/v0.2.0.md +47 -0
  42. metaproc-0.2.0/docs/runbooks/adapter-compatibility.runbook.md +256 -0
  43. metaproc-0.2.0/docs/runbooks/adding-a-new-llm-provider.runbook.md +190 -0
  44. metaproc-0.2.0/docs/runbooks/browser-streaming-smoke.runbook.md +184 -0
  45. metaproc-0.2.0/docs/runbooks/claude-code-cli-remote-vm.runbook.md +215 -0
  46. metaproc-0.2.0/docs/runbooks/cloud-dispatch.runbook.md +175 -0
  47. metaproc-0.2.0/docs/runbooks/credential-setup.runbook.md +448 -0
  48. metaproc-0.2.0/docs/runbooks/environment-bootstrap.runbook.md +131 -0
  49. metaproc-0.2.0/docs/runbooks/softschema-validation.runbook.md +40 -0
  50. metaproc-0.2.0/examples/offline-smoke/offline-smoke.process.md +57 -0
  51. metaproc-0.2.0/examples/offline-smoke/offline_smoke_handlers.py +31 -0
  52. metaproc-0.2.0/examples/offline-smoke/step1-runbook.md +7 -0
  53. metaproc-0.2.0/examples/offline-smoke/step2-runbook.md +7 -0
  54. metaproc-0.2.0/examples/offline-smoke/step3-runbook.md +7 -0
  55. metaproc-0.2.0/lefthook.yml +40 -0
  56. metaproc-0.2.0/package-lock.json +379 -0
  57. metaproc-0.2.0/package.json +21 -0
  58. metaproc-0.2.0/process/self-test/smoke-adapter-claude.process.md +88 -0
  59. metaproc-0.2.0/process/self-test/smoke-adapter-codex.process.md +81 -0
  60. metaproc-0.2.0/process/self-test/smoke-adapter-gemini.process.md +158 -0
  61. metaproc-0.2.0/process/self-test/smoke-adapter-pi-gemini.process.md +120 -0
  62. metaproc-0.2.0/process/self-test/smoke-adapter-pi.process.md +67 -0
  63. metaproc-0.2.0/process/self-test/smoke-adapters-all.process.md +138 -0
  64. metaproc-0.2.0/process/self-test/smoke-adapters-negative-control.process.md +118 -0
  65. metaproc-0.2.0/process/self-test/smoke-core.process.md +67 -0
  66. metaproc-0.2.0/process/self-test/smoke-execution-profiles.process.md +169 -0
  67. metaproc-0.2.0/process/self-test/smoke-gemini-matrix.process.md +161 -0
  68. metaproc-0.2.0/process/self-test/test-cloud.process.md +43 -0
  69. metaproc-0.2.0/process/self-test/test-local.process.md +45 -0
  70. metaproc-0.2.0/pyproject.toml +233 -0
  71. metaproc-0.2.0/src/metaproc/__init__.py +1 -0
  72. metaproc-0.2.0/src/metaproc/__main__.py +6 -0
  73. metaproc-0.2.0/src/metaproc/adapters/__init__.py +0 -0
  74. metaproc-0.2.0/src/metaproc/adapters/base.py +472 -0
  75. metaproc-0.2.0/src/metaproc/adapters/claude_code.py +1487 -0
  76. metaproc-0.2.0/src/metaproc/adapters/cli_version.py +133 -0
  77. metaproc-0.2.0/src/metaproc/adapters/codex.py +850 -0
  78. metaproc-0.2.0/src/metaproc/adapters/gemini.py +281 -0
  79. metaproc-0.2.0/src/metaproc/adapters/pi_cli.py +415 -0
  80. metaproc-0.2.0/src/metaproc/adapters/registry.py +102 -0
  81. metaproc-0.2.0/src/metaproc/agent_errors.py +126 -0
  82. metaproc-0.2.0/src/metaproc/cli.py +142 -0
  83. metaproc-0.2.0/src/metaproc/cloud/__init__.py +0 -0
  84. metaproc-0.2.0/src/metaproc/cloud/gcp/__init__.py +0 -0
  85. metaproc-0.2.0/src/metaproc/cloud/gcp/batch_backend.py +722 -0
  86. metaproc-0.2.0/src/metaproc/cloud/gcp/billing.py +92 -0
  87. metaproc-0.2.0/src/metaproc/cloud/gcp/container_bootstrap.py +546 -0
  88. metaproc-0.2.0/src/metaproc/cloud/gcp/dispatch_artifacts.py +222 -0
  89. metaproc-0.2.0/src/metaproc/cloud/gcp/gcp_credentials.py +184 -0
  90. metaproc-0.2.0/src/metaproc/cloud/gcp/gcp_run_dispatch.py +159 -0
  91. metaproc-0.2.0/src/metaproc/cloud/gcp/gcp_run_entrypoint.py +97 -0
  92. metaproc-0.2.0/src/metaproc/cloud/gcp/gcp_run_logs.py +223 -0
  93. metaproc-0.2.0/src/metaproc/cloud/gcp/orchestrator_dispatch.py +389 -0
  94. metaproc-0.2.0/src/metaproc/cloud/gcp/orchestrator_entrypoint.py +224 -0
  95. metaproc-0.2.0/src/metaproc/cloud/gcp/resolve_token.py +38 -0
  96. metaproc-0.2.0/src/metaproc/cloud/gcp/worker_dispatch.py +901 -0
  97. metaproc-0.2.0/src/metaproc/cloud/gcp/worker_entrypoint.py +255 -0
  98. metaproc-0.2.0/src/metaproc/commands/__init__.py +0 -0
  99. metaproc-0.2.0/src/metaproc/commands/auth.py +2205 -0
  100. metaproc-0.2.0/src/metaproc/commands/auth_check.py +896 -0
  101. metaproc-0.2.0/src/metaproc/commands/check_handlers.py +112 -0
  102. metaproc-0.2.0/src/metaproc/commands/check_headers.py +127 -0
  103. metaproc-0.2.0/src/metaproc/commands/claude_auth.py +357 -0
  104. metaproc-0.2.0/src/metaproc/commands/codex_auth.py +440 -0
  105. metaproc-0.2.0/src/metaproc/commands/compact_logs.py +118 -0
  106. metaproc-0.2.0/src/metaproc/commands/compare.py +124 -0
  107. metaproc-0.2.0/src/metaproc/commands/compare_matrix.py +124 -0
  108. metaproc-0.2.0/src/metaproc/commands/compare_trace.py +211 -0
  109. metaproc-0.2.0/src/metaproc/commands/deps.py +171 -0
  110. metaproc-0.2.0/src/metaproc/commands/env.py +175 -0
  111. metaproc-0.2.0/src/metaproc/commands/gcp.py +2637 -0
  112. metaproc-0.2.0/src/metaproc/commands/gcp_run.py +351 -0
  113. metaproc-0.2.0/src/metaproc/commands/gzip_text.py +640 -0
  114. metaproc-0.2.0/src/metaproc/commands/help.py +67 -0
  115. metaproc-0.2.0/src/metaproc/commands/helpers.py +260 -0
  116. metaproc-0.2.0/src/metaproc/commands/kill.py +246 -0
  117. metaproc-0.2.0/src/metaproc/commands/liveness_watch.py +293 -0
  118. metaproc-0.2.0/src/metaproc/commands/override.py +118 -0
  119. metaproc-0.2.0/src/metaproc/commands/plan.py +129 -0
  120. metaproc-0.2.0/src/metaproc/commands/pool.py +1723 -0
  121. metaproc-0.2.0/src/metaproc/commands/probe_tool_use.py +293 -0
  122. metaproc-0.2.0/src/metaproc/commands/pulse.py +286 -0
  123. metaproc-0.2.0/src/metaproc/commands/resource_report.py +212 -0
  124. metaproc-0.2.0/src/metaproc/commands/resources.py +40 -0
  125. metaproc-0.2.0/src/metaproc/commands/resume_daemon.py +264 -0
  126. metaproc-0.2.0/src/metaproc/commands/run_manifest.py +44 -0
  127. metaproc-0.2.0/src/metaproc/commands/run_parallel.py +2161 -0
  128. metaproc-0.2.0/src/metaproc/commands/run_process.py +3176 -0
  129. metaproc-0.2.0/src/metaproc/commands/run_step.py +598 -0
  130. metaproc-0.2.0/src/metaproc/commands/searches.py +122 -0
  131. metaproc-0.2.0/src/metaproc/commands/skill.py +103 -0
  132. metaproc-0.2.0/src/metaproc/commands/softschema.py +206 -0
  133. metaproc-0.2.0/src/metaproc/commands/ssh_utils.py +115 -0
  134. metaproc-0.2.0/src/metaproc/commands/stats.py +83 -0
  135. metaproc-0.2.0/src/metaproc/commands/status.py +619 -0
  136. metaproc-0.2.0/src/metaproc/commands/tail.py +121 -0
  137. metaproc-0.2.0/src/metaproc/commands/tools.py +153 -0
  138. metaproc-0.2.0/src/metaproc/commands/trace.py +375 -0
  139. metaproc-0.2.0/src/metaproc/commands/validate.py +224 -0
  140. metaproc-0.2.0/src/metaproc/commands/variants.py +144 -0
  141. metaproc-0.2.0/src/metaproc/commands/wait.py +65 -0
  142. metaproc-0.2.0/src/metaproc/commands/write_usage.py +102 -0
  143. metaproc-0.2.0/src/metaproc/config/__init__.py +5 -0
  144. metaproc-0.2.0/src/metaproc/config/env_enum.py +243 -0
  145. metaproc-0.2.0/src/metaproc/config/env_vars.py +415 -0
  146. metaproc-0.2.0/src/metaproc/config/providers.py +198 -0
  147. metaproc-0.2.0/src/metaproc/console.py +48 -0
  148. metaproc-0.2.0/src/metaproc/data/execution-profiles.default.yaml +259 -0
  149. metaproc-0.2.0/src/metaproc/data/pi-models.default.json +63 -0
  150. metaproc-0.2.0/src/metaproc/data/pricing.md +690 -0
  151. metaproc-0.2.0/src/metaproc/dispatch/__init__.py +8 -0
  152. metaproc-0.2.0/src/metaproc/dispatch/auth_pool_flags.py +212 -0
  153. metaproc-0.2.0/src/metaproc/dispatch/auth_usage.py +745 -0
  154. metaproc-0.2.0/src/metaproc/dispatch/auth_usage_render.py +271 -0
  155. metaproc-0.2.0/src/metaproc/dispatch/credential_pool.py +1759 -0
  156. metaproc-0.2.0/src/metaproc/dispatch/known_bugs.py +226 -0
  157. metaproc-0.2.0/src/metaproc/dispatch/orchestrator_payload.py +151 -0
  158. metaproc-0.2.0/src/metaproc/dispatch/pool_dispatch.py +742 -0
  159. metaproc-0.2.0/src/metaproc/dispatch/pool_status.py +349 -0
  160. metaproc-0.2.0/src/metaproc/dispatch/preflight.py +534 -0
  161. metaproc-0.2.0/src/metaproc/dispatch/repo_sync_payload.py +123 -0
  162. metaproc-0.2.0/src/metaproc/dispatch/retry_later.py +206 -0
  163. metaproc-0.2.0/src/metaproc/dispatch/secret_refs.py +145 -0
  164. metaproc-0.2.0/src/metaproc/dispatch/slot_coordinator.py +720 -0
  165. metaproc-0.2.0/src/metaproc/dispatch/worker_payload.py +131 -0
  166. metaproc-0.2.0/src/metaproc/docs/__init__.py +40 -0
  167. metaproc-0.2.0/src/metaproc/docs/metaproc-concepts-and-principles.md +988 -0
  168. metaproc-0.2.0/src/metaproc/docs/metaproc-developer-guide.md +150 -0
  169. metaproc-0.2.0/src/metaproc/docs/metaproc-operator-reference.md +670 -0
  170. metaproc-0.2.0/src/metaproc/engine/__init__.py +0 -0
  171. metaproc-0.2.0/src/metaproc/engine/build_plan.py +944 -0
  172. metaproc-0.2.0/src/metaproc/engine/code_handler.py +154 -0
  173. metaproc-0.2.0/src/metaproc/engine/condition.py +54 -0
  174. metaproc-0.2.0/src/metaproc/engine/dep_state.py +360 -0
  175. metaproc-0.2.0/src/metaproc/engine/discovery.py +181 -0
  176. metaproc-0.2.0/src/metaproc/engine/graph.py +163 -0
  177. metaproc-0.2.0/src/metaproc/engine/input_validation.py +197 -0
  178. metaproc-0.2.0/src/metaproc/engine/lane_expand.py +191 -0
  179. metaproc-0.2.0/src/metaproc/engine/parse_dispatch.py +125 -0
  180. metaproc-0.2.0/src/metaproc/engine/pathing.py +193 -0
  181. metaproc-0.2.0/src/metaproc/engine/placeholders.py +290 -0
  182. metaproc-0.2.0/src/metaproc/engine/preflight.py +404 -0
  183. metaproc-0.2.0/src/metaproc/engine/process_scope.py +100 -0
  184. metaproc-0.2.0/src/metaproc/engine/resource_hierarchy.py +226 -0
  185. metaproc-0.2.0/src/metaproc/engine/resource_rollup.py +815 -0
  186. metaproc-0.2.0/src/metaproc/engine/retry.py +323 -0
  187. metaproc-0.2.0/src/metaproc/engine/run_id.py +51 -0
  188. metaproc-0.2.0/src/metaproc/engine/run_status.py +761 -0
  189. metaproc-0.2.0/src/metaproc/engine/runtime.py +317 -0
  190. metaproc-0.2.0/src/metaproc/engine/validation.py +328 -0
  191. metaproc-0.2.0/src/metaproc/engine/write_boundary.py +423 -0
  192. metaproc-0.2.0/src/metaproc/engine/yaml_repair.py +195 -0
  193. metaproc-0.2.0/src/metaproc/errors.py +29 -0
  194. metaproc-0.2.0/src/metaproc/io/__init__.py +71 -0
  195. metaproc-0.2.0/src/metaproc/io/claimed_items.py +141 -0
  196. metaproc-0.2.0/src/metaproc/io/digests.py +36 -0
  197. metaproc-0.2.0/src/metaproc/io/dispatch_manifest.py +100 -0
  198. metaproc-0.2.0/src/metaproc/io/frontmatter.py +186 -0
  199. metaproc-0.2.0/src/metaproc/io/gz_io.py +228 -0
  200. metaproc-0.2.0/src/metaproc/io/mkdir_lock.py +224 -0
  201. metaproc-0.2.0/src/metaproc/io/orchestrator_lease.py +408 -0
  202. metaproc-0.2.0/src/metaproc/io/overrides.py +188 -0
  203. metaproc-0.2.0/src/metaproc/io/safe_archive.py +97 -0
  204. metaproc-0.2.0/src/metaproc/io/schema_token.py +175 -0
  205. metaproc-0.2.0/src/metaproc/io/state_io.py +294 -0
  206. metaproc-0.2.0/src/metaproc/io/templating.py +122 -0
  207. metaproc-0.2.0/src/metaproc/logutil/__init__.py +1 -0
  208. metaproc-0.2.0/src/metaproc/logutil/compaction.py +630 -0
  209. metaproc-0.2.0/src/metaproc/logutil/log_path_owner.py +174 -0
  210. metaproc-0.2.0/src/metaproc/logutil/parsing.py +1819 -0
  211. metaproc-0.2.0/src/metaproc/logutil/resource_event_extract.py +397 -0
  212. metaproc-0.2.0/src/metaproc/logutil/resource_events.py +89 -0
  213. metaproc-0.2.0/src/metaproc/logutil/throttling.py +175 -0
  214. metaproc-0.2.0/src/metaproc/logutil/tool_failures.py +90 -0
  215. metaproc-0.2.0/src/metaproc/logutil/tool_spans.py +270 -0
  216. metaproc-0.2.0/src/metaproc/logutil/usage.py +644 -0
  217. metaproc-0.2.0/src/metaproc/metabrowser_plugin/README.md +125 -0
  218. metaproc-0.2.0/src/metaproc/metabrowser_plugin/__init__.py +31 -0
  219. metaproc-0.2.0/src/metaproc/metabrowser_plugin/charts.py +150 -0
  220. metaproc-0.2.0/src/metaproc/metabrowser_plugin/log_adapters.py +106 -0
  221. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/domain_views.css +413 -0
  222. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/domain_views.js +1680 -0
  223. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/elk.bundled.js +6540 -0
  224. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/elkjs-license.txt +264 -0
  225. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/index.js +363 -0
  226. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/manifest.toml +199 -0
  227. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/styles.css +37 -0
  228. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/viz.css +1032 -0
  229. metaproc-0.2.0/src/metaproc/metabrowser_plugin/plugin/viz.js +2218 -0
  230. metaproc-0.2.0/src/metaproc/metabrowser_plugin/sidekick.py +376 -0
  231. metaproc-0.2.0/src/metaproc/models/__init__.py +0 -0
  232. metaproc-0.2.0/src/metaproc/models/authored.py +541 -0
  233. metaproc-0.2.0/src/metaproc/models/execution_profile.py +337 -0
  234. metaproc-0.2.0/src/metaproc/models/invocation.py +48 -0
  235. metaproc-0.2.0/src/metaproc/models/lane.py +217 -0
  236. metaproc-0.2.0/src/metaproc/models/node_ids.py +52 -0
  237. metaproc-0.2.0/src/metaproc/models/plan.py +123 -0
  238. metaproc-0.2.0/src/metaproc/models/plan_bundle.py +36 -0
  239. metaproc-0.2.0/src/metaproc/models/pricing.py +58 -0
  240. metaproc-0.2.0/src/metaproc/models/qa.py +120 -0
  241. metaproc-0.2.0/src/metaproc/models/resources.py +322 -0
  242. metaproc-0.2.0/src/metaproc/models/run_manifest.py +137 -0
  243. metaproc-0.2.0/src/metaproc/models/runtime.py +136 -0
  244. metaproc-0.2.0/src/metaproc/models/usage.py +265 -0
  245. metaproc-0.2.0/src/metaproc/models/viz.py +342 -0
  246. metaproc-0.2.0/src/metaproc/osutils/__init__.py +1 -0
  247. metaproc-0.2.0/src/metaproc/osutils/file_extensions.py +172 -0
  248. metaproc-0.2.0/src/metaproc/osutils/ignore_filter.py +145 -0
  249. metaproc-0.2.0/src/metaproc/osutils/memory_pressure.py +382 -0
  250. metaproc-0.2.0/src/metaproc/osutils/psutil_sampler.py +183 -0
  251. metaproc-0.2.0/src/metaproc/osutils/resource_context.py +392 -0
  252. metaproc-0.2.0/src/metaproc/output.py +109 -0
  253. metaproc-0.2.0/src/metaproc/paths.py +446 -0
  254. metaproc-0.2.0/src/metaproc/plugins/__init__.py +0 -0
  255. metaproc-0.2.0/src/metaproc/plugins/discovery.py +68 -0
  256. metaproc-0.2.0/src/metaproc/plugins/protocol.py +115 -0
  257. metaproc-0.2.0/src/metaproc/plugins/registry.py +118 -0
  258. metaproc-0.2.0/src/metaproc/py.typed +0 -0
  259. metaproc-0.2.0/src/metaproc/resource_docs.py +46 -0
  260. metaproc-0.2.0/src/metaproc/runpool/README.md +32 -0
  261. metaproc-0.2.0/src/metaproc/runpool/__init__.py +58 -0
  262. metaproc-0.2.0/src/metaproc/runpool/backend.py +399 -0
  263. metaproc-0.2.0/src/metaproc/runpool/concurrency.py +165 -0
  264. metaproc-0.2.0/src/metaproc/runpool/event_models.py +215 -0
  265. metaproc-0.2.0/src/metaproc/runpool/event_reader.py +54 -0
  266. metaproc-0.2.0/src/metaproc/runpool/events.py +406 -0
  267. metaproc-0.2.0/src/metaproc/runpool/host_admission.py +449 -0
  268. metaproc-0.2.0/src/metaproc/runpool/kill.py +323 -0
  269. metaproc-0.2.0/src/metaproc/runpool/mock_backend.py +108 -0
  270. metaproc-0.2.0/src/metaproc/runpool/monitor.py +30 -0
  271. metaproc-0.2.0/src/metaproc/runpool/pool.py +1975 -0
  272. metaproc-0.2.0/src/metaproc/runpool/process_event_models.py +163 -0
  273. metaproc-0.2.0/src/metaproc/runpool/process_events.py +395 -0
  274. metaproc-0.2.0/src/metaproc/runpool/registry.py +88 -0
  275. metaproc-0.2.0/src/metaproc/runpool/semaphore.py +87 -0
  276. metaproc-0.2.0/src/metaproc/runpool/status.py +271 -0
  277. metaproc-0.2.0/src/metaproc/runtime/__init__.py +8 -0
  278. metaproc-0.2.0/src/metaproc/runtime/code_handler.py +33 -0
  279. metaproc-0.2.0/src/metaproc/runtime_paths.py +50 -0
  280. metaproc-0.2.0/src/metaproc/settings.py +284 -0
  281. metaproc-0.2.0/src/metaproc/skill/__init__.py +7 -0
  282. metaproc-0.2.0/src/metaproc/skill/baselines/__init__.py +1 -0
  283. metaproc-0.2.0/src/metaproc/skill/baselines/metaproc.md +70 -0
  284. metaproc-0.2.0/src/metaproc/skill/builtin.py +62 -0
  285. metaproc-0.2.0/src/metaproc/skill/compose.py +59 -0
  286. metaproc-0.2.0/src/metaproc/skill/registry.py +52 -0
  287. metaproc-0.2.0/src/metaproc/skill/spec.py +40 -0
  288. metaproc-0.2.0/src/metaproc/stats/__init__.py +1 -0
  289. metaproc-0.2.0/src/metaproc/stats/analysis.py +210 -0
  290. metaproc-0.2.0/src/metaproc/stats/engine.py +765 -0
  291. metaproc-0.2.0/src/metaproc/stats/formatters.py +319 -0
  292. metaproc-0.2.0/src/metaproc/stats/models.py +168 -0
  293. metaproc-0.2.0/src/metaproc/stats/path_tally.py +89 -0
  294. metaproc-0.2.0/src/metaproc/structure_report.py +324 -0
  295. metaproc-0.2.0/src/metaproc/trace/__init__.py +36 -0
  296. metaproc-0.2.0/src/metaproc/trace/aggregation.py +163 -0
  297. metaproc-0.2.0/src/metaproc/trace/extractors/__init__.py +89 -0
  298. metaproc-0.2.0/src/metaproc/trace/extractors/claude_agent.py +520 -0
  299. metaproc-0.2.0/src/metaproc/trace/extractors/codex_agent.py +560 -0
  300. metaproc-0.2.0/src/metaproc/trace/extractors/common.py +378 -0
  301. metaproc-0.2.0/src/metaproc/trace/extractors/gemini_agent.py +520 -0
  302. metaproc-0.2.0/src/metaproc/trace/extractors/metaproc_engine.py +347 -0
  303. metaproc-0.2.0/src/metaproc/trace/extractors/pi_agent.py +475 -0
  304. metaproc-0.2.0/src/metaproc/trace/ids.py +37 -0
  305. metaproc-0.2.0/src/metaproc/trace/linker.py +179 -0
  306. metaproc-0.2.0/src/metaproc/trace/named_views.py +243 -0
  307. metaproc-0.2.0/src/metaproc/trace/quality.py +170 -0
  308. metaproc-0.2.0/src/metaproc/trace/runner.py +30 -0
  309. metaproc-0.2.0/src/metaproc/trace/schema.py +205 -0
  310. metaproc-0.2.0/src/metaproc/trace/store.py +41 -0
  311. metaproc-0.2.0/src/metaproc/trace/views.py +237 -0
  312. metaproc-0.2.0/src/metaproc/utils/__init__.py +0 -0
  313. metaproc-0.2.0/src/metaproc/utils/mtime_cache.py +142 -0
  314. metaproc-0.2.0/src/metaproc/viz/__init__.py +21 -0
  315. metaproc-0.2.0/src/metaproc/viz/decorators.py +76 -0
  316. metaproc-0.2.0/src/metaproc/viz/layout.py +157 -0
  317. metaproc-0.2.0/src/metaproc/viz/project.py +529 -0
  318. metaproc-0.2.0/src/metaproc/viz/render_html.py +70 -0
  319. metaproc-0.2.0/src/metaproc/viz/render_svg.py +212 -0
  320. metaproc-0.2.0/src/metaproc/viz_loader.py +132 -0
  321. metaproc-0.2.0/tests/__init__.py +0 -0
  322. metaproc-0.2.0/tests/cloud/gcp/test_billing.py +73 -0
  323. metaproc-0.2.0/tests/cloud/gcp/test_dispatch_artifacts.py +349 -0
  324. metaproc-0.2.0/tests/cloud/gcp/test_gcp_run_dispatch.py +549 -0
  325. metaproc-0.2.0/tests/cloud/gcp/test_gcp_run_entrypoint.py +417 -0
  326. metaproc-0.2.0/tests/cloud/gcp/test_gcp_run_logs.py +234 -0
  327. metaproc-0.2.0/tests/commands/__init__.py +0 -0
  328. metaproc-0.2.0/tests/commands/test_help_command.py +51 -0
  329. metaproc-0.2.0/tests/commands/test_override.py +223 -0
  330. metaproc-0.2.0/tests/commands/test_pulse.py +228 -0
  331. metaproc-0.2.0/tests/commands/test_skill.py +173 -0
  332. metaproc-0.2.0/tests/conftest.py +138 -0
  333. metaproc-0.2.0/tests/dom/load_metabrowser_plugins.js +291 -0
  334. metaproc-0.2.0/tests/dom/plugin_test_utils.js +10 -0
  335. metaproc-0.2.0/tests/dom/render_metabrowser_view.js +164 -0
  336. metaproc-0.2.0/tests/dom/test_metaproc_plugin_lifecycle.js +231 -0
  337. metaproc-0.2.0/tests/fixtures/README.md +17 -0
  338. metaproc-0.2.0/tests/fixtures/auth_env/mixed.process.md +25 -0
  339. metaproc-0.2.0/tests/fixtures/auth_env/pi-only.process.md +17 -0
  340. metaproc-0.2.0/tests/fixtures/claude_api_signals/api_200_success.jsonl +3 -0
  341. metaproc-0.2.0/tests/fixtures/claude_api_signals/api_401_authentication_error.jsonl +3 -0
  342. metaproc-0.2.0/tests/fixtures/claude_api_signals/api_429_rate_limit.jsonl +2 -0
  343. metaproc-0.2.0/tests/fixtures/claude_api_signals/keyword_in_tool_output_no_auth_failure.jsonl +4 -0
  344. metaproc-0.2.0/tests/fixtures/claude_api_signals/oauth_refresh_400.log +8 -0
  345. metaproc-0.2.0/tests/fixtures/fingerprint_smoke/fingerprint-smoke.process.md +56 -0
  346. metaproc-0.2.0/tests/fixtures/fingerprint_smoke/fingerprint_smoke_handlers.py +31 -0
  347. metaproc-0.2.0/tests/fixtures/fingerprint_smoke/step1-runbook.md +3 -0
  348. metaproc-0.2.0/tests/fixtures/fingerprint_smoke/step2-runbook.md +3 -0
  349. metaproc-0.2.0/tests/fixtures/fingerprint_smoke/step3-runbook.md +3 -0
  350. metaproc-0.2.0/tests/fixtures/layout_smoke/layout-smoke.process.md +73 -0
  351. metaproc-0.2.0/tests/fixtures/layout_smoke/layout_smoke_handlers.py +71 -0
  352. metaproc-0.2.0/tests/fixtures/log_compaction/claude_sample.jsonl +20 -0
  353. metaproc-0.2.0/tests/fixtures/log_compaction/gemini_sample.jsonl +20 -0
  354. metaproc-0.2.0/tests/fixtures/log_compaction/pi_sample.jsonl +80 -0
  355. metaproc-0.2.0/tests/fixtures/pro_cap_exhaustion/README.md +30 -0
  356. metaproc-0.2.0/tests/fixtures/trace_agents/README.md +36 -0
  357. metaproc-0.2.0/tests/fixtures/trace_agents/baseline-synthetic-five-adapter.json +78 -0
  358. metaproc-0.2.0/tests/fixtures/trace_agents/claude-sample.jsonl +19 -0
  359. metaproc-0.2.0/tests/fixtures/trace_agents/claude-sample.jsonl.invocation.json +47 -0
  360. metaproc-0.2.0/tests/fixtures/trace_agents/codex-sample.jsonl +11 -0
  361. metaproc-0.2.0/tests/fixtures/trace_agents/codex-sample.jsonl.invocation.json +32 -0
  362. metaproc-0.2.0/tests/fixtures/trace_agents/gemini-sample.jsonl +19 -0
  363. metaproc-0.2.0/tests/fixtures/trace_agents/gemini-sample.jsonl.invocation.json +31 -0
  364. metaproc-0.2.0/tests/fixtures/trace_agents/manifest.json +25 -0
  365. metaproc-0.2.0/tests/fixtures/trace_agents/pi-sample.jsonl +19 -0
  366. metaproc-0.2.0/tests/fixtures/trace_agents/pi-sample.jsonl.invocation.json +35 -0
  367. metaproc-0.2.0/tests/golden/runpool/15_item_mock_cloud.yaml +507 -0
  368. metaproc-0.2.0/tests/golden/runpool/15_item_success.yaml +507 -0
  369. metaproc-0.2.0/tests/golden/runpool/preemption_simulation.yaml +507 -0
  370. metaproc-0.2.0/tests/golden/runpool/retry_with_failures.yaml +507 -0
  371. metaproc-0.2.0/tests/integration/__init__.py +0 -0
  372. metaproc-0.2.0/tests/integration/test_gcp_run_smoke.py +121 -0
  373. metaproc-0.2.0/tests/integration/test_two_label_smoke.py +266 -0
  374. metaproc-0.2.0/tests/integration/test_two_label_smoke_vehicle_a.py +194 -0
  375. metaproc-0.2.0/tests/io/__init__.py +0 -0
  376. metaproc-0.2.0/tests/io/test_overrides.py +246 -0
  377. metaproc-0.2.0/tests/io/test_safe_archive.py +85 -0
  378. metaproc-0.2.0/tests/io/test_templating.py +154 -0
  379. metaproc-0.2.0/tests/plugin_manifest_contract.py +97 -0
  380. metaproc-0.2.0/tests/test_adapter_config_validation.py +205 -0
  381. metaproc-0.2.0/tests/test_adapters.py +965 -0
  382. metaproc-0.2.0/tests/test_adapters_codex.py +702 -0
  383. metaproc-0.2.0/tests/test_adapters_ported.py +610 -0
  384. metaproc-0.2.0/tests/test_agent_errors.py +110 -0
  385. metaproc-0.2.0/tests/test_auth_check.py +868 -0
  386. metaproc-0.2.0/tests/test_auth_command.py +777 -0
  387. metaproc-0.2.0/tests/test_auth_command_vehicle_a.py +532 -0
  388. metaproc-0.2.0/tests/test_auth_env_command.py +157 -0
  389. metaproc-0.2.0/tests/test_auth_pool_flags.py +321 -0
  390. metaproc-0.2.0/tests/test_auth_preflight.py +267 -0
  391. metaproc-0.2.0/tests/test_auth_setup_command.py +535 -0
  392. metaproc-0.2.0/tests/test_auth_usage.py +559 -0
  393. metaproc-0.2.0/tests/test_auth_usage_command.py +227 -0
  394. metaproc-0.2.0/tests/test_auth_usage_render.py +231 -0
  395. metaproc-0.2.0/tests/test_backend_cli_flag.py +77 -0
  396. metaproc-0.2.0/tests/test_build_plan_lanes.py +139 -0
  397. metaproc-0.2.0/tests/test_build_plan_needs.py +48 -0
  398. metaproc-0.2.0/tests/test_characterization.py +358 -0
  399. metaproc-0.2.0/tests/test_check_handlers.py +131 -0
  400. metaproc-0.2.0/tests/test_check_links.py +55 -0
  401. metaproc-0.2.0/tests/test_claimed_items.py +84 -0
  402. metaproc-0.2.0/tests/test_classifier_quota_group_walk.py +461 -0
  403. metaproc-0.2.0/tests/test_claude_api_signals_fixtures.py +128 -0
  404. metaproc-0.2.0/tests/test_claude_auth.py +339 -0
  405. metaproc-0.2.0/tests/test_claude_live_quota.py +278 -0
  406. metaproc-0.2.0/tests/test_cli.py +212 -0
  407. metaproc-0.2.0/tests/test_cli_dotenv.py +78 -0
  408. metaproc-0.2.0/tests/test_codex_auth.py +232 -0
  409. metaproc-0.2.0/tests/test_commands.py +405 -0
  410. metaproc-0.2.0/tests/test_commands_compare_trace.py +232 -0
  411. metaproc-0.2.0/tests/test_commands_searches.py +214 -0
  412. metaproc-0.2.0/tests/test_commands_tools.py +208 -0
  413. metaproc-0.2.0/tests/test_compute_resource.py +110 -0
  414. metaproc-0.2.0/tests/test_console.py +45 -0
  415. metaproc-0.2.0/tests/test_container_bootstrap.py +551 -0
  416. metaproc-0.2.0/tests/test_credential_pool.py +1398 -0
  417. metaproc-0.2.0/tests/test_credential_pool_schema_v2.py +393 -0
  418. metaproc-0.2.0/tests/test_css_tokens_resolve.py +70 -0
  419. metaproc-0.2.0/tests/test_dep_state.py +632 -0
  420. metaproc-0.2.0/tests/test_dispatch_auth_env.py +224 -0
  421. metaproc-0.2.0/tests/test_dispatch_manifest.py +351 -0
  422. metaproc-0.2.0/tests/test_domain_boundaries.py +66 -0
  423. metaproc-0.2.0/tests/test_engine.py +1122 -0
  424. metaproc-0.2.0/tests/test_engine_condition.py +44 -0
  425. metaproc-0.2.0/tests/test_engine_ported.py +525 -0
  426. metaproc-0.2.0/tests/test_entrypoint.py +69 -0
  427. metaproc-0.2.0/tests/test_env_command.py +79 -0
  428. metaproc-0.2.0/tests/test_env_enum.py +198 -0
  429. metaproc-0.2.0/tests/test_env_template.py +63 -0
  430. metaproc-0.2.0/tests/test_env_vars_coverage.py +200 -0
  431. metaproc-0.2.0/tests/test_env_vars_registry.py +60 -0
  432. metaproc-0.2.0/tests/test_errors.py +34 -0
  433. metaproc-0.2.0/tests/test_execution_profiles.py +485 -0
  434. metaproc-0.2.0/tests/test_failure_taxonomy.py +476 -0
  435. metaproc-0.2.0/tests/test_for_each_key.py +91 -0
  436. metaproc-0.2.0/tests/test_gcp_commands.py +1888 -0
  437. metaproc-0.2.0/tests/test_gcp_credentials.py +251 -0
  438. metaproc-0.2.0/tests/test_graph.py +403 -0
  439. metaproc-0.2.0/tests/test_gz_io.py +199 -0
  440. metaproc-0.2.0/tests/test_gzip_text_command.py +34 -0
  441. metaproc-0.2.0/tests/test_helpers.py +68 -0
  442. metaproc-0.2.0/tests/test_inline_retry.py +454 -0
  443. metaproc-0.2.0/tests/test_inline_retry_e2e.py +211 -0
  444. metaproc-0.2.0/tests/test_input_validation.py +153 -0
  445. metaproc-0.2.0/tests/test_invocation_sidecar_adapter_metadata.py +83 -0
  446. metaproc-0.2.0/tests/test_io.py +260 -0
  447. metaproc-0.2.0/tests/test_io_init.py +132 -0
  448. metaproc-0.2.0/tests/test_kill_integration.py +180 -0
  449. metaproc-0.2.0/tests/test_label_propagation.py +636 -0
  450. metaproc-0.2.0/tests/test_lane_expand.py +218 -0
  451. metaproc-0.2.0/tests/test_lane_models.py +158 -0
  452. metaproc-0.2.0/tests/test_layout_golden.py +283 -0
  453. metaproc-0.2.0/tests/test_liveness_watch.py +122 -0
  454. metaproc-0.2.0/tests/test_local_backend.py +248 -0
  455. metaproc-0.2.0/tests/test_locking_policy.py +61 -0
  456. metaproc-0.2.0/tests/test_log_compaction.py +555 -0
  457. metaproc-0.2.0/tests/test_log_filter.py +166 -0
  458. metaproc-0.2.0/tests/test_log_parsing.py +1116 -0
  459. metaproc-0.2.0/tests/test_metabrowser_api_file_plugin_views.py +115 -0
  460. metaproc-0.2.0/tests/test_metabrowser_api_resources.py +261 -0
  461. metaproc-0.2.0/tests/test_metabrowser_api_resources_phase2.py +156 -0
  462. metaproc-0.2.0/tests/test_metabrowser_cache_boundary.py +38 -0
  463. metaproc-0.2.0/tests/test_metabrowser_charts.py +235 -0
  464. metaproc-0.2.0/tests/test_metabrowser_file_kinds.py +229 -0
  465. metaproc-0.2.0/tests/test_metabrowser_gzip_transparency.py +176 -0
  466. metaproc-0.2.0/tests/test_metabrowser_index_plugin_assets.py +41 -0
  467. metaproc-0.2.0/tests/test_metabrowser_log_adapters.py +126 -0
  468. metaproc-0.2.0/tests/test_metabrowser_markdown_integration.py +13 -0
  469. metaproc-0.2.0/tests/test_metabrowser_phase2_views.py +59 -0
  470. metaproc-0.2.0/tests/test_metabrowser_plugin_e2e.py +210 -0
  471. metaproc-0.2.0/tests/test_metabrowser_plugin_integration.py +71 -0
  472. metaproc-0.2.0/tests/test_metabrowser_plugin_lifecycle.py +65 -0
  473. metaproc-0.2.0/tests/test_metabrowser_plugin_package_contract.py +81 -0
  474. metaproc-0.2.0/tests/test_metabrowser_plugin_render.py +218 -0
  475. metaproc-0.2.0/tests/test_metabrowser_plugin_wheel.py +55 -0
  476. metaproc-0.2.0/tests/test_metabrowser_runpool_charts_endpoint.py +108 -0
  477. metaproc-0.2.0/tests/test_metabrowser_viz_wiring.py +191 -0
  478. metaproc-0.2.0/tests/test_metaproc_domain_neutral.py +69 -0
  479. metaproc-0.2.0/tests/test_mkdir_lock.py +62 -0
  480. metaproc-0.2.0/tests/test_mock_backend.py +239 -0
  481. metaproc-0.2.0/tests/test_mock_integration.py +250 -0
  482. metaproc-0.2.0/tests/test_model_separation_ported.py +100 -0
  483. metaproc-0.2.0/tests/test_models.py +495 -0
  484. metaproc-0.2.0/tests/test_offline_smoke_example.py +39 -0
  485. metaproc-0.2.0/tests/test_orchestrator_entrypoint.py +152 -0
  486. metaproc-0.2.0/tests/test_orchestrator_lease.py +278 -0
  487. metaproc-0.2.0/tests/test_orchestrator_payload.py +155 -0
  488. metaproc-0.2.0/tests/test_output.py +76 -0
  489. metaproc-0.2.0/tests/test_parse_dispatch.py +152 -0
  490. metaproc-0.2.0/tests/test_path_tally.py +122 -0
  491. metaproc-0.2.0/tests/test_paths.py +289 -0
  492. metaproc-0.2.0/tests/test_pi_models_json.py +223 -0
  493. metaproc-0.2.0/tests/test_pi_valid_models_catalog.py +28 -0
  494. metaproc-0.2.0/tests/test_plan_ported.py +747 -0
  495. metaproc-0.2.0/tests/test_plugins.py +220 -0
  496. metaproc-0.2.0/tests/test_pool_composite.py +341 -0
  497. metaproc-0.2.0/tests/test_pool_composite_integration.py +158 -0
  498. metaproc-0.2.0/tests/test_pool_concurrency_timeline.py +131 -0
  499. metaproc-0.2.0/tests/test_pool_dispatch.py +1742 -0
  500. metaproc-0.2.0/tests/test_pool_events_cli.py +404 -0
  501. metaproc-0.2.0/tests/test_pool_events_summary.py +249 -0
  502. metaproc-0.2.0/tests/test_pool_integration.py +550 -0
  503. metaproc-0.2.0/tests/test_pool_rollup.py +255 -0
  504. metaproc-0.2.0/tests/test_pool_status.py +463 -0
  505. metaproc-0.2.0/tests/test_preflight.py +505 -0
  506. metaproc-0.2.0/tests/test_preflight_gate.py +268 -0
  507. metaproc-0.2.0/tests/test_preflight_ratio_path.py +257 -0
  508. metaproc-0.2.0/tests/test_pressure.py +197 -0
  509. metaproc-0.2.0/tests/test_probe_tool_use.py +246 -0
  510. metaproc-0.2.0/tests/test_process_event_models.py +178 -0
  511. metaproc-0.2.0/tests/test_process_events.py +79 -0
  512. metaproc-0.2.0/tests/test_psutil_sampler.py +86 -0
  513. metaproc-0.2.0/tests/test_public_hygiene.py +198 -0
  514. metaproc-0.2.0/tests/test_repo_sync_payload.py +129 -0
  515. metaproc-0.2.0/tests/test_resource_billing_events.py +113 -0
  516. metaproc-0.2.0/tests/test_resource_context.py +67 -0
  517. metaproc-0.2.0/tests/test_resource_docs.py +92 -0
  518. metaproc-0.2.0/tests/test_resource_event_extract.py +395 -0
  519. metaproc-0.2.0/tests/test_resource_event_models.py +240 -0
  520. metaproc-0.2.0/tests/test_resource_events_writer.py +123 -0
  521. metaproc-0.2.0/tests/test_resource_hierarchy.py +157 -0
  522. metaproc-0.2.0/tests/test_resource_report_cli.py +165 -0
  523. metaproc-0.2.0/tests/test_resource_rollup.py +286 -0
  524. metaproc-0.2.0/tests/test_resources_document.py +192 -0
  525. metaproc-0.2.0/tests/test_resume.py +397 -0
  526. metaproc-0.2.0/tests/test_resume_daemon.py +291 -0
  527. metaproc-0.2.0/tests/test_retry.py +487 -0
  528. metaproc-0.2.0/tests/test_run_agent_pool_preflight.py +170 -0
  529. metaproc-0.2.0/tests/test_run_config.py +482 -0
  530. metaproc-0.2.0/tests/test_run_id.py +70 -0
  531. metaproc-0.2.0/tests/test_run_manifest.py +150 -0
  532. metaproc-0.2.0/tests/test_run_parallel_characterization.py +663 -0
  533. metaproc-0.2.0/tests/test_run_parallel_cross_quota.py +86 -0
  534. metaproc-0.2.0/tests/test_run_parallel_variant_override.py +80 -0
  535. metaproc-0.2.0/tests/test_run_process.py +2525 -0
  536. metaproc-0.2.0/tests/test_run_process_fan_out_events.py +71 -0
  537. metaproc-0.2.0/tests/test_run_process_multilane_guard.py +136 -0
  538. metaproc-0.2.0/tests/test_run_process_overrides.py +185 -0
  539. metaproc-0.2.0/tests/test_run_status.py +729 -0
  540. metaproc-0.2.0/tests/test_run_step_cli.py +578 -0
  541. metaproc-0.2.0/tests/test_runpool_backend.py +218 -0
  542. metaproc-0.2.0/tests/test_runpool_concurrency_plan.py +309 -0
  543. metaproc-0.2.0/tests/test_runpool_event_models.py +177 -0
  544. metaproc-0.2.0/tests/test_runpool_events.py +134 -0
  545. metaproc-0.2.0/tests/test_runpool_golden.py +406 -0
  546. metaproc-0.2.0/tests/test_runpool_host_admission.py +155 -0
  547. metaproc-0.2.0/tests/test_runpool_integration.py +135 -0
  548. metaproc-0.2.0/tests/test_runpool_kill.py +338 -0
  549. metaproc-0.2.0/tests/test_runpool_lanes.py +252 -0
  550. metaproc-0.2.0/tests/test_runpool_monitor.py +33 -0
  551. metaproc-0.2.0/tests/test_runpool_pool.py +1539 -0
  552. metaproc-0.2.0/tests/test_runpool_registry.py +72 -0
  553. metaproc-0.2.0/tests/test_runpool_semaphore.py +315 -0
  554. metaproc-0.2.0/tests/test_runpool_status.py +233 -0
  555. metaproc-0.2.0/tests/test_runtime_ported.py +951 -0
  556. metaproc-0.2.0/tests/test_schema_token.py +158 -0
  557. metaproc-0.2.0/tests/test_secret_refs.py +87 -0
  558. metaproc-0.2.0/tests/test_slot_coordinator.py +830 -0
  559. metaproc-0.2.0/tests/test_slot_coordinator_vehicle_a.py +432 -0
  560. metaproc-0.2.0/tests/test_slot_coordinator_vehicle_b_safe_mode.py +394 -0
  561. metaproc-0.2.0/tests/test_softschema.py +325 -0
  562. metaproc-0.2.0/tests/test_stats.py +688 -0
  563. metaproc-0.2.0/tests/test_status_remote.py +178 -0
  564. metaproc-0.2.0/tests/test_status_steps_golden.py +244 -0
  565. metaproc-0.2.0/tests/test_step_fingerprint_smoke.py +312 -0
  566. metaproc-0.2.0/tests/test_structure_report_compat.py +41 -0
  567. metaproc-0.2.0/tests/test_synthetic_fixtures.py +40 -0
  568. metaproc-0.2.0/tests/test_throttling_join.py +117 -0
  569. metaproc-0.2.0/tests/test_token_refresh.py +55 -0
  570. metaproc-0.2.0/tests/test_tool_failures.py +68 -0
  571. metaproc-0.2.0/tests/test_tool_span_pairing.py +193 -0
  572. metaproc-0.2.0/tests/test_trace_aggregation.py +134 -0
  573. metaproc-0.2.0/tests/test_trace_aggregation_generic_metrics.py +187 -0
  574. metaproc-0.2.0/tests/test_trace_attempt_cost_attrs.py +401 -0
  575. metaproc-0.2.0/tests/test_trace_claude_agent.py +463 -0
  576. metaproc-0.2.0/tests/test_trace_cli_extract.py +284 -0
  577. metaproc-0.2.0/tests/test_trace_codex_agent.py +216 -0
  578. metaproc-0.2.0/tests/test_trace_codex_new_agent.py +337 -0
  579. metaproc-0.2.0/tests/test_trace_extractor_common.py +146 -0
  580. metaproc-0.2.0/tests/test_trace_gemini_agent.py +742 -0
  581. metaproc-0.2.0/tests/test_trace_lane_recovery.py +288 -0
  582. metaproc-0.2.0/tests/test_trace_metaproc_engine.py +248 -0
  583. metaproc-0.2.0/tests/test_trace_multi_adapter_fixtures.py +187 -0
  584. metaproc-0.2.0/tests/test_trace_named_views.py +303 -0
  585. metaproc-0.2.0/tests/test_trace_pi_agent.py +610 -0
  586. metaproc-0.2.0/tests/test_trace_quality.py +224 -0
  587. metaproc-0.2.0/tests/test_trace_schema.py +239 -0
  588. metaproc-0.2.0/tests/test_trace_smoke_live_run.py +62 -0
  589. metaproc-0.2.0/tests/test_trace_views.py +122 -0
  590. metaproc-0.2.0/tests/test_typed_artifacts.py +260 -0
  591. metaproc-0.2.0/tests/test_usage.py +1332 -0
  592. metaproc-0.2.0/tests/test_usage_attribution.py +140 -0
  593. metaproc-0.2.0/tests/test_visual_overlay_scope.py +255 -0
  594. metaproc-0.2.0/tests/test_viz_css_no_literal_colors.py +43 -0
  595. metaproc-0.2.0/tests/test_viz_decorators.py +114 -0
  596. metaproc-0.2.0/tests/test_viz_dep_containment.py +66 -0
  597. metaproc-0.2.0/tests/test_viz_js_build_elk_input.py +500 -0
  598. metaproc-0.2.0/tests/test_viz_models.py +193 -0
  599. metaproc-0.2.0/tests/test_viz_project.py +463 -0
  600. metaproc-0.2.0/tests/test_viz_render.py +183 -0
  601. metaproc-0.2.0/tests/test_worker_dispatch.py +621 -0
  602. metaproc-0.2.0/tests/test_worker_entrypoint.py +284 -0
  603. metaproc-0.2.0/tests/test_worker_payload.py +153 -0
  604. metaproc-0.2.0/tests/test_write_boundary.py +177 -0
  605. metaproc-0.2.0/tests/test_yaml_repair.py +143 -0
  606. metaproc-0.2.0/tsconfig.json +28 -0
  607. metaproc-0.2.0/types/metabrowser-plugin-host.d.ts +105 -0
  608. metaproc-0.2.0/uv.lock +2052 -0
  609. metaproc-0.2.0/uv.toml +9 -0
@@ -0,0 +1,147 @@
1
+ # ─────────────────────────────────────────────────────────────
2
+ # .env.example — generated from the MetaprocEnv registry.
3
+ #
4
+ # DO NOT EDIT BY HAND. To regenerate after a registry change:
5
+ # uv --config-file uv.toml run --frozen metaproc env --template > .env.example
6
+ # CI gates this file via tests/test_env_template.py.
7
+ #
8
+ # Copy to .env (gitignored) and replace placeholder values.
9
+ # metaproc auto-loads .env on CLI bootstrap, so every variable here is
10
+ # picked up by every `metaproc` command.
11
+ #
12
+ # Legend:
13
+ # REAL — real default for this project, copy as-is
14
+ # SECRET — illustration only, MUST be replaced with a real secret
15
+ # TUNABLE — sensible default, change only if your situation requires it
16
+ # OPTIONAL — commented out by default; uncomment and set if needed
17
+ # ─────────────────────────────────────────────────────────────
18
+
19
+ # TUNABLE — GCP project ID for Batch / Compute operations.
20
+ export METAPROC_GCP_PROJECT=<your-gcp-project-id>
21
+
22
+ # TUNABLE — Custom service account for Batch VMs. Required in practice — the
23
+ # default compute SA lacks Secret Manager access, so Batch jobs fail silently
24
+ # without it.
25
+ export METAPROC_GCP_SERVICE_ACCOUNT=<worker-sa>@<your-gcp-project-id>.iam.gserviceaccount.com
26
+
27
+ # TUNABLE — Docker image URI for the GCP Batch agent.
28
+ export METAPROC_GCP_CONTAINER_IMAGE=<region>-docker.pkg.dev/<your-gcp-project-id>/<your-repo>/agent:latest
29
+
30
+ # TUNABLE — GCP region for Batch jobs.
31
+ export METAPROC_GCP_REGION=us-central1
32
+
33
+ # TUNABLE — Filestore NFS server IP for shared run artifact storage.
34
+ export METAPROC_GCP_FILESTORE_SERVER=10.0.0.10
35
+
36
+ # TUNABLE — NFS share name on the Filestore instance.
37
+ export METAPROC_GCP_FILESTORE_SHARE=/<your-share-name>
38
+
39
+ # TUNABLE — Local mount point for the Filestore share on worker VMs.
40
+ export METAPROC_GCP_FILESTORE_MOUNT_PATH=/mnt/filestore
41
+
42
+ # TUNABLE — Runs directory on the Filestore mount, used by remote monitoring
43
+ # commands.
44
+ export METAPROC_GCP_FILESTORE_REMOTE_RUNS_DIR=/mnt/filestore/runs
45
+
46
+ # TUNABLE — Boot disk size (GB) for worker VMs.
47
+ export METAPROC_GCP_BOOT_DISK_GB=50
48
+
49
+ # TUNABLE — Max run duration (seconds) per Batch task.
50
+ export METAPROC_GCP_MAX_RUN_DURATION_S=28800
51
+
52
+ # TUNABLE — GCS bucket for run artifact sync and wheel / workspace uploads.
53
+ export METAPROC_GCS_BUCKET=<your-gcs-bucket>
54
+
55
+ # TUNABLE — Git repo URL that worker containers clone to obtain project code.
56
+ export METAPROC_REPO_URL=https://github.com/<your-org>/<your-repo>.git
57
+
58
+ # TUNABLE — Git branch workers check out. Typically your current branch or
59
+ # `main`.
60
+ export METAPROC_RUN_BRANCH=main
61
+
62
+ # TUNABLE — Repo-relative path containing Metaproc's pyproject.toml for editable
63
+ # remote installs.
64
+ export METAPROC_REPO_PACKAGE_PATH=.
65
+
66
+ # OPTIONAL — GCS path to a prebuilt metaproc wheel. When set, workers install
67
+ # from the wheel instead of cloning.
68
+ # export METAPROC_WHEEL_GCS=gs://<your-gcs-bucket>/wheels/metaproc-0.2.0-py3-none-any.whl
69
+
70
+ # OPTIONAL — GCS path to a workspace tarball for the active workflow plugin.
71
+ # When set, workers extract and install the plugin from the tarball instead of
72
+ # cloning.
73
+ # export METAPROC_WORKSPACE_GCS=gs://<your-gcs-bucket>/workspaces/<your-plugin>.tar.gz
74
+
75
+ # OPTIONAL — GCE machine type for orchestrator-launched worker VMs.
76
+ # export METAPROC_MACHINE_TYPE=e2-standard-4
77
+
78
+ # OPTIONAL — GCE machine type override for `run-process --backend gcp-worker`
79
+ # fan-out workers. Distinct from METAPROC_MACHINE_TYPE, which scopes the
80
+ # orchestrator-launched worker VMs.
81
+ # export METAPROC_GCP_MACHINE_TYPE=e2-highmem-8
82
+
83
+ # OPTIONAL — SSH gateway host for `metaproc gcp remote` commands.
84
+ # export METAPROC_GATEWAY_HOST=<your-gateway-host>
85
+
86
+ # SECRET — Base64-encoded service-account JSON for GCP auth. Alternative to ADC.
87
+ export GCP_CREDENTIALS_BASE64=REPLACE_WITH_BASE64_ENCODED_SERVICE_ACCOUNT_JSON
88
+
89
+ # SECRET — GitHub personal access token for gh-backed workflows.
90
+ export GH_TOKEN=REPLACE_WITH_GITHUB_TOKEN
91
+
92
+ # REAL — When truthy, the `gh` CLI skips interactive prompts.
93
+ export GH_PROMPT_DISABLED=1
94
+
95
+ # SECRET — Perplexity API key used by the web search provider.
96
+ export PERPLEXITY_API_KEY=your_api_key_here
97
+
98
+ # SECRET — Anthropic API key for direct Claude adapter use.
99
+ export ANTHROPIC_API_KEY=REPLACE_WITH_ANTHROPIC_API_KEY
100
+
101
+ # SECRET — OpenAI API key used by the PI CLI adapter and the codex-cli adapter
102
+ # (Vehicle A, API-key mode).
103
+ export OPENAI_API_KEY=REPLACE_WITH_OPENAI_API_KEY
104
+
105
+ # SECRET — DeepSeek API key for the pi-cli `deepseek` provider (DeepSeek V4
106
+ # family, direct API).
107
+ export DEEPSEEK_API_KEY=REPLACE_WITH_DEEPSEEK_API_KEY
108
+
109
+ # SECRET — Moonshot API key for the pi-cli `moonshot` provider (Kimi K2.6,
110
+ # direct API).
111
+ export MOONSHOT_API_KEY=REPLACE_WITH_MOONSHOT_API_KEY
112
+
113
+ # SECRET — Gemini API key for direct (non-Vertex) Gemini adapter use.
114
+ export GEMINI_API_KEY=REPLACE_WITH_GEMINI_API_KEY
115
+
116
+ # SECRET — Google API key for direct Gemini adapter fallback.
117
+ export GOOGLE_API_KEY=REPLACE_WITH_GOOGLE_API_KEY
118
+
119
+ # OPTIONAL — GCP Secret Manager ref that provides GH_TOKEN to Batch workers.
120
+ # export METAPROC_GCP_SECRET_GH_TOKEN=projects/<your-gcp-project-id>/secrets/<secret-name>/versions/latest
121
+
122
+ # SECRET — Claude Code OAuth credential blob injected into Batch workers from
123
+ # Secret Manager.
124
+ export CLAUDE_CODE_CREDS_JSON=REPLACE_WITH_CLAUDE_CODE_CREDS_JSON
125
+
126
+ # SECRET — Codex CLI ChatGPT-OAuth credential blob (contents of
127
+ # ~/.codex/auth.json) injected into Batch workers from Secret Manager. Vehicle B
128
+ # only — API-key mode arrives via OPENAI_API_KEY instead.
129
+ export CODEX_CREDS_JSON=REPLACE_WITH_CODEX_CREDS_JSON
130
+
131
+ # TUNABLE — Default per-step max concurrency. Edit here when Vertex MaaS DSQ
132
+ # quota changes.
133
+ export METAPROC_DEFAULT_MAX_CONCURRENCY=25
134
+
135
+ # TUNABLE — Default number of workers per step when not specified per-step.
136
+ export METAPROC_DEFAULT_NUM_WORKERS=1
137
+
138
+ # OPTIONAL — Runtime run-artifact parent directory passed to Metaproc. Required
139
+ # at workflow launch time; set explicitly or derive from workflow run settings.
140
+ # export RUNS_DIR=/absolute/path/to/runs
141
+
142
+ # OPTIONAL — metabrowser plugin parents to scan, os.pathsep-separated. Each
143
+ # subdirectory containing manifest.toml is loaded. Built-ins and Python entry-
144
+ # point plugins (e.g. metaproc's metabrowser_plugin subpackage) load
145
+ # automatically; this is the opt-in surface for ad-hoc / workspace-local
146
+ # plugins. Auto-discovery from the served root is intentionally NOT a source.
147
+ # export METABROWSER_PLUGINS_DIRS=/path/to/my-plugins:/path/to/team-plugins
@@ -0,0 +1,7 @@
1
+ # Generated, vendored, and byte-exact files must retain their source formatting.
2
+ src/metaproc/metabrowser_plugin/plugin/elk.bundled.js
3
+ src/metaproc/metabrowser_plugin/plugin/elkjs-license.txt
4
+ tests/fixtures/
5
+ *.template.md
6
+ .agents/skills/
7
+ .claude/skills/
@@ -0,0 +1,189 @@
1
+ # Additions to standard GitHub .gitignore:
2
+ *.bak
3
+ *.orig
4
+ node_modules/
5
+ tmp/
6
+ trash/
7
+ attic/
8
+ .kash/
9
+ .runs/
10
+ **/.logs/
11
+ **/.state/
12
+
13
+ # Python tool caches
14
+ .ruff_cache/
15
+
16
+ # GitHub's standard Python .gitignore:
17
+
18
+ # Byte-compiled / optimized / DLL files
19
+ __pycache__/
20
+ *.py[cod]
21
+ *$py.class
22
+
23
+ # C extensions
24
+ *.so
25
+
26
+ # Distribution / packaging
27
+ .Python
28
+ build/
29
+ develop-eggs/
30
+ dist/
31
+ downloads/
32
+ eggs/
33
+ .eggs/
34
+ lib/
35
+ lib64/
36
+ parts/
37
+ sdist/
38
+ var/
39
+ wheels/
40
+ share/python-wheels/
41
+ *.egg-info/
42
+ .installed.cfg
43
+ *.egg
44
+ MANIFEST
45
+
46
+ # PyInstaller
47
+ # Usually these files are written by a python script from a template
48
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
49
+ *.manifest
50
+ *.spec
51
+
52
+ # Installer logs
53
+ pip-log.txt
54
+ pip-delete-this-directory.txt
55
+
56
+ # Unit test / coverage reports
57
+ htmlcov/
58
+ .tox/
59
+ .nox/
60
+ .coverage
61
+ .coverage.*
62
+ .cache
63
+ nosetests.xml
64
+ coverage.xml
65
+ *.cover
66
+ *.py,cover
67
+ .hypothesis/
68
+ .pytest_cache/
69
+ cover/
70
+
71
+ # Translations
72
+ *.mo
73
+ *.pot
74
+
75
+ # Django stuff:
76
+ *.log
77
+ !tests/fixtures/claude_api_signals/oauth_refresh_400.log
78
+ local_settings.py
79
+ db.sqlite3
80
+ db.sqlite3-journal
81
+
82
+ # Flask stuff:
83
+ instance/
84
+ .webassets-cache
85
+
86
+ # Scrapy stuff:
87
+ .scrapy
88
+
89
+ # Sphinx documentation
90
+ docs/_build/
91
+
92
+ # PyBuilder
93
+ .pybuilder/
94
+ target/
95
+
96
+ # Jupyter Notebook
97
+ .ipynb_checkpoints
98
+
99
+ # IPython
100
+ profile_default/
101
+ ipython_config.py
102
+
103
+ # pyenv
104
+ # For a library or package, you might want to ignore these files since the code is
105
+ # intended to run in multiple environments; otherwise, check them in:
106
+ # .python-version
107
+
108
+ # pipenv
109
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
110
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
111
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
112
+ # install all needed dependencies.
113
+ #Pipfile.lock
114
+
115
+ # UV
116
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
117
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
118
+ # commonly ignored for libraries.
119
+ #uv.lock
120
+
121
+ # poetry
122
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
123
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
124
+ # commonly ignored for libraries.
125
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
126
+ #poetry.lock
127
+
128
+ # pdm
129
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
130
+ #pdm.lock
131
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
132
+ # in version control.
133
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
134
+ .pdm.toml
135
+ .pdm-python
136
+ .pdm-build/
137
+
138
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
139
+ __pypackages__/
140
+
141
+ # Celery stuff
142
+ celerybeat-schedule
143
+ celerybeat.pid
144
+
145
+ # SageMath parsed files
146
+ *.sage.py
147
+
148
+ # Environments
149
+ .env
150
+ .venv
151
+ env/
152
+ venv/
153
+ ENV/
154
+ env.bak/
155
+ venv.bak/
156
+
157
+ # Spyder project settings
158
+ .spyderproject
159
+ .spyproject
160
+
161
+ # Rope project settings
162
+ .ropeproject
163
+
164
+ # mkdocs documentation
165
+ /site
166
+
167
+ # mypy
168
+ .mypy_cache/
169
+ .dmypy.json
170
+ dmypy.json
171
+
172
+ # Pyre type checker
173
+ .pyre/
174
+
175
+ # pytype static type analyzer
176
+ .pytype/
177
+
178
+ # Cython debug symbols
179
+ cython_debug/
180
+
181
+ # PyCharm
182
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
183
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
184
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
185
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
186
+ #.idea/
187
+
188
+ # PyPI configuration file
189
+ .pypirc
@@ -0,0 +1 @@
1
+ 24.18.0
metaproc-0.2.0/.npmrc ADDED
@@ -0,0 +1,20 @@
1
+ # Supply-chain safety. See SUPPLY-CHAIN-SECURITY.md.
2
+
3
+ # Block install/lifecycle scripts by default (the primary exfiltration vector).
4
+ # The repo's git hooks are installed explicitly via `npm run prepare` (an explicit
5
+ # `npm run` still executes under ignore-scripts; install-time scripts do not).
6
+ ignore-scripts=true
7
+ engine-strict=true
8
+
9
+ # Pin exact versions on `npm install <pkg>` and always maintain the lockfile.
10
+ save-exact=true
11
+ package-lock=true
12
+
13
+ # 14-day cool-off floor: npm only resolves versions published >=14 days ago.
14
+ # NOTE: `min-release-age` (days) is the npm key, honored on npm 11.10+. The
15
+ # minutes-based `minimum-release-age` key is pnpm-only and silently ignored by
16
+ # npm. On older npm, the cool-off is enforced via NPM_CONFIG_BEFORE in the shell
17
+ # env plus the committed lockfile + frozen `npm ci` installs. Repository
18
+ # workflows pin a compatible Node/npm pair and remove conflicting ambient
19
+ # package-manager variables before invoking npm.
20
+ min-release-age=14
metaproc-0.2.0/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 24.18.0
@@ -0,0 +1,61 @@
1
+ # Changelog
2
+
3
+ All notable user-facing changes are recorded here.
4
+
5
+ This project uses [Semantic Versioning](https://semver.org/) while it is in the 0.x
6
+ development series.
7
+
8
+ ## [Unreleased][unreleased]
9
+
10
+ ## [0.2.0][] - 2026-07-31
11
+
12
+ ### Added
13
+
14
+ - Dependency-aware execution of Markdown process specs.
15
+ - Local, agent-CLI, and optional GCP Batch execution backends.
16
+ - Resumable run state, validation, tracing, resource reports, and RunPool controls.
17
+ - Credential-pool operations and adapter integrations.
18
+ - A packaged Metabrowser plugin and portable Agent Skill.
19
+ - Reproducible uv-based development, verification, build, and publishing workflows.
20
+
21
+ ### Changed
22
+
23
+ - Require `softschema>=0.4.0,<0.5` and `frontmatter-format>=0.4.0,<0.5` (previously
24
+ `softschema>=0.1.4,<0.2` and `frontmatter-format>=0.3.0`). See the
25
+ [softschema 0.2.0](https://github.com/jlevy/softschema/releases/tag/v0.2.0) and
26
+ [softschema 0.3.0](https://github.com/jlevy/softschema/releases/tag/v0.3.0),
27
+ [softschema 0.4.0](https://github.com/jlevy/softschema/releases/tag/v0.4.0), and
28
+ [frontmatter-format 0.4.0](https://github.com/jlevy/frontmatter-format/releases/tag/v0.4.0)
29
+ release notes for the complete upstream migration surface.
30
+ - `metaproc softschema validate` now includes softschema’s `outcome` discriminator
31
+ (`valid`, `invalid`, or `input_error`) alongside the existing `ok` field.
32
+ - Mapping-based YAML and frontmatter writes are deterministic and alias-free: repeated
33
+ lists and mappings are expanded instead of emitting anchors.
34
+ Cyclic values raise `YamlSerializationError` without replacing an existing target.
35
+
36
+ ### Breaking
37
+
38
+ - `metaproc softschema compile` now requires `--contract CONTRACT_ID`. softschema 0.3
39
+ makes the contract id a required input to `compile_model`, so the sidecar always
40
+ records the contract it was compiled for.
41
+ - Softschema 0.2 enforces the contract-id grammar `[namespace:]Name[/version]`. This
42
+ applies to plugin `Contract` registrations, process-spec `schema` fields, artifact
43
+ `softschema.contract` metadata, and the `--schema` and `--contract` CLI options.
44
+ All externally authored IDs must use the new form.
45
+ Metaproc’s structure-report ID is now `metaproc:StructureReport/v1`, renamed from
46
+ `metaproc.structure_report.v1`; the other built-in IDs were already valid.
47
+ - Structure reports written by earlier versions no longer validate.
48
+ Regenerate them with `metaproc structure-report`, or update both `softschema.contract`
49
+ and `structure_report.schema` to `metaproc:StructureReport/v1`.
50
+ - Softschema 0.3 and 0.4 restrict YAML inputs to bounded, JSON-compatible values.
51
+ Aliases and anchors, merge keys, explicit tags, duplicate or non-string keys, unsafe
52
+ integers, negative zero, non-finite numbers, excessive depth, and oversized inputs are
53
+ rejected. Bare and quoted date- or timestamp-shaped scalars are accepted as strings in
54
+ 0.4; callers that need temporal objects must construct them explicitly after
55
+ validation.
56
+ - Compiled schemas are validated offline and remote `$ref` targets are never fetched
57
+ implicitly. Schemas consumed through Metaproc must be self-contained: use local `$defs`
58
+ references or a registered Pydantic model instead of network-resolved references.
59
+
60
+ [unreleased]: https://github.com/jlevy/metaproc/compare/v0.2.0...HEAD
61
+ [0.2.0]: https://github.com/jlevy/metaproc/releases/tag/v0.2.0