superqode 2.0.1__tar.gz → 2.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 (1030) hide show
  1. {superqode-2.0.1 → superqode-2.2.0}/CHANGELOG.md +130 -0
  2. {superqode-2.0.1 → superqode-2.2.0}/PKG-INFO +26 -4
  3. {superqode-2.0.1 → superqode-2.2.0}/README.md +25 -3
  4. {superqode-2.0.1 → superqode-2.2.0}/pyproject.toml +1 -1
  5. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/__init__.py +1 -1
  6. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp_discovery.py +2 -2
  7. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/acp_registry.py +7 -7
  8. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/cagent.dev.toml +8 -9
  9. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/codeassistant.dev.toml +8 -8
  10. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/crow-ai.dev.toml +2 -2
  11. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/fount.dev.toml +2 -2
  12. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/goose.block.xyz.toml +2 -2
  13. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/llmlingagent.dev.toml +8 -9
  14. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/poolside.ai.toml +2 -2
  15. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/qoder.com.toml +2 -2
  16. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/sigit.dev.toml +2 -2
  17. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/stakpak.dev.toml +7 -8
  18. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/stdiobus.dev.toml +8 -4
  19. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/vtcode.dev.toml +9 -10
  20. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/registry.py +6 -6
  21. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/constants.py +6 -0
  22. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/connect.py +12 -0
  23. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/harness_hub.py +42 -8
  24. superqode-2.2.0/src/superqode/commands/gauge.py +306 -0
  25. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/hub.py +23 -2
  26. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/config/loader.py +11 -11
  27. superqode-2.2.0/src/superqode/gauge/__init__.py +42 -0
  28. superqode-2.2.0/src/superqode/gauge/levels.py +159 -0
  29. superqode-2.2.0/src/superqode/gauge/record.py +262 -0
  30. superqode-2.2.0/src/superqode/gauge/sources.py +180 -0
  31. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/hub.py +600 -2
  32. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/main.py +5 -0
  33. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/connection_profiles.py +177 -1
  34. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/harness_catalog.py +4 -4
  35. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/kernel_monty.py +3 -3
  36. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/agent_store.py +1 -1
  37. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/harness_hub.py +248 -62
  38. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/PKG-INFO +26 -4
  39. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/SOURCES.txt +5 -0
  40. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_bridge.py +5 -0
  41. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_conformance.py +3 -1
  42. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_connect.py +3 -1
  43. {superqode-2.0.1 → superqode-2.2.0}/tests/test_cli_commands.py +14 -2
  44. {superqode-2.0.1 → superqode-2.2.0}/tests/test_cli_contract.py +9 -2
  45. {superqode-2.0.1 → superqode-2.2.0}/tests/test_connect_harness_screen.py +1 -0
  46. {superqode-2.0.1 → superqode-2.2.0}/tests/test_connection_profiles.py +1 -0
  47. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_smoke.py +3 -1
  48. {superqode-2.0.1 → superqode-2.2.0}/LICENSE +0 -0
  49. {superqode-2.0.1 → superqode-2.2.0}/MANIFEST.in +0 -0
  50. {superqode-2.0.1 → superqode-2.2.0}/NOTICE +0 -0
  51. {superqode-2.0.1 → superqode-2.2.0}/examples/README.md +0 -0
  52. {superqode-2.0.1 → superqode-2.2.0}/examples/a2a/README.md +0 -0
  53. {superqode-2.0.1 → superqode-2.2.0}/examples/a2a/smoke_client.py +0 -0
  54. {superqode-2.0.1 → superqode-2.2.0}/examples/bench/dspy-comprehension.manifest.yaml +0 -0
  55. {superqode-2.0.1 → superqode-2.2.0}/examples/bench/dspy-comprehension.yaml +0 -0
  56. {superqode-2.0.1 → superqode-2.2.0}/examples/bench/spec-core.yaml +0 -0
  57. {superqode-2.0.1 → superqode-2.2.0}/examples/bench/spec-deepagents.yaml +0 -0
  58. {superqode-2.0.1 → superqode-2.2.0}/examples/bench/spec-prime-agent.yaml +0 -0
  59. {superqode-2.0.1 → superqode-2.2.0}/examples/byok-acp-team.yaml +0 -0
  60. {superqode-2.0.1 → superqode-2.2.0}/examples/codex_sdk_quickstart.py +0 -0
  61. {superqode-2.0.1 → superqode-2.2.0}/examples/evals/omni-release.yaml +0 -0
  62. {superqode-2.0.1 → superqode-2.2.0}/examples/evals/omni-tiny.yaml +0 -0
  63. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/README.md +0 -0
  64. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/manifest-guard/context.md +0 -0
  65. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/manifest-guard/hooks.py +0 -0
  66. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/manifest-guard/tools.py +0 -0
  67. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/README.md +0 -0
  68. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/broken-extension/src/superqode_example_broken/__init__.py +0 -0
  69. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/policy-extension/src/superqode_example_policy/__init__.py +0 -0
  70. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/skill-extension/src/superqode_example_skill/SKILL.md +0 -0
  71. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/skill-extension/src/superqode_example_skill/__init__.py +0 -0
  72. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/tool-extension/src/superqode_example_tool/__init__.py +0 -0
  73. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/packages/tool-extension-v2/src/superqode_example_tool/__init__.py +0 -0
  74. {superqode-2.0.1 → superqode-2.2.0}/examples/extensions/python-package/src/superqode_example_extension/__init__.py +0 -0
  75. {superqode-2.0.1 → superqode-2.2.0}/examples/harness-packages/README.md +0 -0
  76. {superqode-2.0.1 → superqode-2.2.0}/examples/harness-packages/hello-harness/src/superqode_hello_harness/__init__.py +0 -0
  77. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/coding.yaml +0 -0
  78. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/deepagents.yaml +0 -0
  79. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/deepseek-harness.yaml +0 -0
  80. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/ds4.yaml +0 -0
  81. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/gemma4.yaml +0 -0
  82. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/google-adk.yaml +0 -0
  83. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/local-recursive-dynamic.yaml +0 -0
  84. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/mcp-docs.yaml +0 -0
  85. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/no-tool.yaml +0 -0
  86. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/omni-tiny-local.yaml +0 -0
  87. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/omnigent-multi-agent.yaml +0 -0
  88. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/openai-agents.yaml +0 -0
  89. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/prime-agent.yaml +0 -0
  90. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/pydanticai.yaml +0 -0
  91. {superqode-2.0.1 → superqode-2.2.0}/examples/harnesses/rlm-code-lid.yaml +0 -0
  92. {superqode-2.0.1 → superqode-2.2.0}/examples/local-models-team.yaml +0 -0
  93. {superqode-2.0.1 → superqode-2.2.0}/examples/mcp/local_docs_server.py +0 -0
  94. {superqode-2.0.1 → superqode-2.2.0}/examples/omnigent-multi-agent.agent.yaml +0 -0
  95. {superqode-2.0.1 → superqode-2.2.0}/examples/qm-deployment-layer/README.md +0 -0
  96. {superqode-2.0.1 → superqode-2.2.0}/examples/qm-deployment-layer/sandbox/skills/superqode-harness/SKILL.md +0 -0
  97. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/INCIDENT.md +0 -0
  98. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/README.md +0 -0
  99. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/RUNBOOK.md +0 -0
  100. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/deploy_audit/__init__.py +0 -0
  101. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/deploy_audit/parser.py +0 -0
  102. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/deploy_audit/report.py +0 -0
  103. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/rlm-docker.yaml +0 -0
  104. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/rlm-monty.yaml +0 -0
  105. {superqode-2.0.1 → superqode-2.2.0}/examples/rlm-demo/tests/test_report.py +0 -0
  106. {superqode-2.0.1 → superqode-2.2.0}/examples/simple-team.yaml +0 -0
  107. {superqode-2.0.1 → superqode-2.2.0}/scripts/check_release_metadata.py +0 -0
  108. {superqode-2.0.1 → superqode-2.2.0}/setup.cfg +0 -0
  109. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/__init__.py +0 -0
  110. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/client.py +0 -0
  111. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/conformance.py +0 -0
  112. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/connection.py +0 -0
  113. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/inspect.py +0 -0
  114. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/keys.py +0 -0
  115. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/limits.py +0 -0
  116. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/oauth.py +0 -0
  117. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/presets.py +0 -0
  118. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/registry.py +0 -0
  119. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/reply.py +0 -0
  120. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/security.py +0 -0
  121. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/server.py +0 -0
  122. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/shortlist.py +0 -0
  123. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/skills.py +0 -0
  124. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/tools.py +0 -0
  125. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/types.py +0 -0
  126. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/understand.py +0 -0
  127. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/a2a/workflows.py +0 -0
  128. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/__init__.py +0 -0
  129. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/client.py +0 -0
  130. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/doctor.py +0 -0
  131. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/permission_screen.py +0 -0
  132. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/permission_store.py +0 -0
  133. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/render.py +0 -0
  134. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/server.py +0 -0
  135. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/session_store.py +0 -0
  136. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/slash.py +0 -0
  137. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/tool_call_context.py +0 -0
  138. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/acp/types.py +0 -0
  139. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/__init__.py +0 -0
  140. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/auto_memory.py +0 -0
  141. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/command_safety.py +0 -0
  142. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/compaction.py +0 -0
  143. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/context_manager.py +0 -0
  144. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/edit_strategies.py +0 -0
  145. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/exec_policy.py +0 -0
  146. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/hooks.py +0 -0
  147. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/loop.py +0 -0
  148. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/loop_guard.py +0 -0
  149. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/loop_policy.py +0 -0
  150. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/network_policy.py +0 -0
  151. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/output_handler.py +0 -0
  152. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/parallel_compare.py +0 -0
  153. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/peer_agents.py +0 -0
  154. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/plan_mode.py +0 -0
  155. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/reminders.py +0 -0
  156. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/rubric.py +0 -0
  157. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/session_manager.py +0 -0
  158. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/structured_output.py +0 -0
  159. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/summarization.py +0 -0
  160. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/system_prompts.py +0 -0
  161. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/terminal_output_limits.py +0 -0
  162. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/text_tool_calls.py +0 -0
  163. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/tool_args.py +0 -0
  164. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/tool_tracking.py +0 -0
  165. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent/utility_model.py +0 -0
  166. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent_output.py +0 -0
  167. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agent_stream.py +0 -0
  168. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/__init__.py +0 -0
  169. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/client.py +0 -0
  170. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/agentpool.phil65.github.io.toml +0 -0
  171. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/ampcode.com.toml +0 -0
  172. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/augmentcode.com.toml +0 -0
  173. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/autodev.github.io.toml +0 -0
  174. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/blackbox.ai.toml +0 -0
  175. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/bub.dev.toml +0 -0
  176. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/claude.com.toml +0 -0
  177. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/cline.bot.toml +0 -0
  178. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/codebuddy.tencent.com.toml +0 -0
  179. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/codex.openai.com.toml +0 -0
  180. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/copilot.github.com.toml +0 -0
  181. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/cortex.snowflake.com.toml +0 -0
  182. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/cursor.com.toml +0 -0
  183. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/deepagents-code.langchain.com.toml +0 -0
  184. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/deepagents.langchain.com.toml +0 -0
  185. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/devin.ai.toml +0 -0
  186. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/dirac.run.toml +0 -0
  187. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/factory.ai.toml +0 -0
  188. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/fastagent.ai.toml +0 -0
  189. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/fx.sh.toml +0 -0
  190. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/geminicli.com.toml +0 -0
  191. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/glm.z.ai.toml +0 -0
  192. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/harnlang.com.toml +0 -0
  193. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/hermes-agent.nousresearch.com.toml +0 -0
  194. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/junie.jetbrains.com.toml +0 -0
  195. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/kilo.ai.toml +0 -0
  196. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/kimi.moonshot.cn.toml +0 -0
  197. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/kiro.dev.toml +0 -0
  198. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/minioncode.dev.toml +0 -0
  199. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/mistral-vibe.mistral.ai.toml +0 -0
  200. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/openclaw.ai.toml +0 -0
  201. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/opencode.ai.toml +0 -0
  202. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/openhands.dev.toml +0 -0
  203. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/pi.dev.toml +0 -0
  204. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/primeintellect.ai.toml +0 -0
  205. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/qwenlm.github.io.toml +0 -0
  206. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/data/x.ai.toml +0 -0
  207. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/discovery.py +0 -0
  208. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/free_models.py +0 -0
  209. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/install_commands.py +0 -0
  210. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/messaging.py +0 -0
  211. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/official_acp.py +0 -0
  212. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/persona.py +0 -0
  213. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/schema.py +0 -0
  214. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/agents/unified.py +0 -0
  215. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/__init__.py +0 -0
  216. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/async_utils.py +0 -0
  217. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/capabilities.py +0 -0
  218. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/css.py +0 -0
  219. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/harness_picker.py +0 -0
  220. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/inputs.py +0 -0
  221. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/__init__.py +0 -0
  222. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/actions_misc.py +0 -0
  223. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/agent_run.py +0 -0
  224. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/build_harness.py +0 -0
  225. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/clickable_commands.py +0 -0
  226. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/codex.py +0 -0
  227. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/commands_impl.py +0 -0
  228. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/completion.py +0 -0
  229. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/dialogs.py +0 -0
  230. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/events.py +0 -0
  231. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/explore.py +0 -0
  232. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/factory.py +0 -0
  233. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/feedback.py +0 -0
  234. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/formatting.py +0 -0
  235. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_clipboard.py +0 -0
  236. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_completion_helpers.py +0 -0
  237. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_diff_review.py +0 -0
  238. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_exit_lifecycle.py +0 -0
  239. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_file_view.py +0 -0
  240. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_interaction_mode.py +0 -0
  241. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_mcp_attach.py +0 -0
  242. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_message_queue.py +0 -0
  243. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_permissions.py +0 -0
  244. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_recipes_skills.py +0 -0
  245. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_share.py +0 -0
  246. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_startup.py +0 -0
  247. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_todos_plan.py +0 -0
  248. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_vim.py +0 -0
  249. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helper_wizard.py +0 -0
  250. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/helpers.py +0 -0
  251. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/huggingface.py +0 -0
  252. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/local_models.py +0 -0
  253. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/mcp.py +0 -0
  254. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/model_catalog.py +0 -0
  255. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/pickers.py +0 -0
  256. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/pipy_commands.py +0 -0
  257. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/rlm_commands.py +0 -0
  258. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/sidebar.py +0 -0
  259. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/slash_commands.py +0 -0
  260. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/switchboard.py +0 -0
  261. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/mixins/tour.py +0 -0
  262. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/models.py +0 -0
  263. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/navigation.py +0 -0
  264. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/outcomes.py +0 -0
  265. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/progress.py +0 -0
  266. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/prompt_stack.py +0 -0
  267. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/recipes.py +0 -0
  268. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/session_state.py +0 -0
  269. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/suggester.py +0 -0
  270. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/theme_bridge.py +0 -0
  271. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/welcome.py +0 -0
  272. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app/widgets.py +0 -0
  273. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app_enhanced.py +0 -0
  274. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/app_main.py +0 -0
  275. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/approval.py +0 -0
  276. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/atomic.py +0 -0
  277. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/auth/__init__.py +0 -0
  278. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/benchmarks.py +0 -0
  279. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/__init__.py +0 -0
  280. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/config.py +0 -0
  281. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/discord.py +0 -0
  282. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/service.py +0 -0
  283. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/slack.py +0 -0
  284. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/channels/telegram.py +0 -0
  285. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/claude.py +0 -0
  286. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/codex.py +0 -0
  287. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/__init__.py +0 -0
  288. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/a2a.py +0 -0
  289. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/a2a_connect.py +0 -0
  290. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/a2a_keys.py +0 -0
  291. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/acp.py +0 -0
  292. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/agents.py +0 -0
  293. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/auth.py +0 -0
  294. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/benchmark.py +0 -0
  295. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/config.py +0 -0
  296. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/connect.py +0 -0
  297. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/daemon.py +0 -0
  298. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/factory.py +0 -0
  299. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/__init__.py +0 -0
  300. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/_group.py +0 -0
  301. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/_helpers.py +0 -0
  302. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/bench.py +0 -0
  303. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/candidates.py +0 -0
  304. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/evaluation.py +0 -0
  305. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/evidence.py +0 -0
  306. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/inbox.py +0 -0
  307. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/lifecycle.py +0 -0
  308. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/logbook.py +0 -0
  309. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/observability.py +0 -0
  310. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/optimization.py +0 -0
  311. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/promotion.py +0 -0
  312. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/protocol.py +0 -0
  313. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/registry.py +0 -0
  314. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/replay.py +0 -0
  315. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/run_history.py +0 -0
  316. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/harness/worker.py +0 -0
  317. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/local.py +0 -0
  318. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/memory.py +0 -0
  319. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/models.py +0 -0
  320. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/plugins.py +0 -0
  321. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/policy.py +0 -0
  322. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/profiles.py +0 -0
  323. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/providers.py +0 -0
  324. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/runtime.py +0 -0
  325. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/sandbox.py +0 -0
  326. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/serve.py +0 -0
  327. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/sessions.py +0 -0
  328. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/share.py +0 -0
  329. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/skillopt.py +0 -0
  330. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/skills.py +0 -0
  331. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/tools.py +0 -0
  332. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/trust.py +0 -0
  333. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/uhp.py +0 -0
  334. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/update.py +0 -0
  335. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/commands/work.py +0 -0
  336. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/config/__init__.py +0 -0
  337. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/config/schema.py +0 -0
  338. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/core/__init__.py +0 -0
  339. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/danger.py +0 -0
  340. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/data/eval_fixtures/ci-dynamic-root-cause.log +0 -0
  341. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/data/eval_fixtures/ci-root-cause.log +0 -0
  342. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/data/eval_packs/local_dynamic_workflow_smoke.yaml +0 -0
  343. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/data/eval_packs/local_recursive_smoke.yaml +0 -0
  344. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/data/superqode-template.yaml +0 -0
  345. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/design_system.py +0 -0
  346. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/dialogs/__init__.py +0 -0
  347. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/dialogs/base.py +0 -0
  348. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/dialogs/model.py +0 -0
  349. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/dialogs/provider.py +0 -0
  350. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/dialogs/runtime.py +0 -0
  351. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/diff_view.py +0 -0
  352. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/enterprise.py +0 -0
  353. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/evaluation/__init__.py +0 -0
  354. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/evaluation/adapters.py +0 -0
  355. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/evaluation/behaviors.py +0 -0
  356. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/evaluation/engine.py +0 -0
  357. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/evaluation/scenarios.py +0 -0
  358. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/execution/__init__.py +0 -0
  359. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/execution/linter.py +0 -0
  360. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/execution/modes.py +0 -0
  361. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/execution/resolver.py +0 -0
  362. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/execution/runner.py +0 -0
  363. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/extensions.py +0 -0
  364. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/file_explorer.py +0 -0
  365. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/file_viewer.py +0 -0
  366. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/flash.py +0 -0
  367. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/governance.py +0 -0
  368. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/__init__.py +0 -0
  369. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/accelerator.py +0 -0
  370. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/agent_importer.py +0 -0
  371. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/approval_memory.py +0 -0
  372. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/__init__.py +0 -0
  373. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/base.py +0 -0
  374. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/deepagents.py +0 -0
  375. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/dsh.py +0 -0
  376. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/managed.py +0 -0
  377. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/pipy.py +0 -0
  378. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/prime_agent.py +0 -0
  379. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/pydanticai.py +0 -0
  380. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/registry.py +0 -0
  381. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/rlm.py +0 -0
  382. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/rlm_code.py +0 -0
  383. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/runtime.py +0 -0
  384. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/tau.py +0 -0
  385. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/backends/uhp.py +0 -0
  386. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/bench.py +0 -0
  387. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/catalog.py +0 -0
  388. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/compiler.py +0 -0
  389. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/conformance.py +0 -0
  390. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/context_handles.py +0 -0
  391. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/diagnostics.py +0 -0
  392. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/discovery.py +0 -0
  393. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/drift.py +0 -0
  394. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/eval.py +0 -0
  395. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/events.py +0 -0
  396. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/explain.py +0 -0
  397. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/hooks.py +0 -0
  398. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/kernel.py +0 -0
  399. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/loader.py +0 -0
  400. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/mcp_bridge.py +0 -0
  401. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/model_policy.py +0 -0
  402. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/model_routes.py +0 -0
  403. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/observability.py +0 -0
  404. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/omni.py +0 -0
  405. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/omnigent_importer.py +0 -0
  406. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/optimize.py +0 -0
  407. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/output.py +0 -0
  408. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/permissions.py +0 -0
  409. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/pipy_adapter.py +0 -0
  410. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/pipy_extensions.py +0 -0
  411. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/promotion.py +0 -0
  412. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/protocol.py +0 -0
  413. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/protocol_adapters.py +0 -0
  414. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/protocol_controller.py +0 -0
  415. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/registry.py +0 -0
  416. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/rlm_adapter.py +0 -0
  417. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/rlm_code_adapter.py +0 -0
  418. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/sandbox.py +0 -0
  419. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/self_improve.py +0 -0
  420. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/spec.py +0 -0
  421. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/store.py +0 -0
  422. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/tau_adapter.py +0 -0
  423. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/tau_management.py +0 -0
  424. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/templates.py +0 -0
  425. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/testing.py +0 -0
  426. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/uhp_adapter.py +0 -0
  427. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/uhp_client.py +0 -0
  428. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/wizard.py +0 -0
  429. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/workflow.py +0 -0
  430. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/harness/workflow_presets.py +0 -0
  431. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/headless.py +0 -0
  432. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/history.py +0 -0
  433. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/__init__.py +0 -0
  434. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/airplane.py +0 -0
  435. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/bench.py +0 -0
  436. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/build.py +0 -0
  437. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/code_index.py +0 -0
  438. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/devstral.yaml +0 -0
  439. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/ds4.yaml +0 -0
  440. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/gemma4.yaml +0 -0
  441. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/glm.yaml +0 -0
  442. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/gpt-oss.yaml +0 -0
  443. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/kimi.yaml +0 -0
  444. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/laguna.yaml +0 -0
  445. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/minimax.yaml +0 -0
  446. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/qwen-coder.yaml +0 -0
  447. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/model-packs/qwen3.yaml +0 -0
  448. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/data/stack_matrix.yaml +0 -0
  449. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/doctor.py +0 -0
  450. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/engines.py +0 -0
  451. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/guardrails.py +0 -0
  452. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/hardware.py +0 -0
  453. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/inventory.py +0 -0
  454. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/labs.py +0 -0
  455. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/laguna.py +0 -0
  456. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/matrix.py +0 -0
  457. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/migrate.py +0 -0
  458. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/optimize.py +0 -0
  459. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/packs.py +0 -0
  460. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/repo.py +0 -0
  461. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/servers.py +0 -0
  462. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/setup.py +0 -0
  463. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/local/smoke.py +0 -0
  464. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/__init__.py +0 -0
  465. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/adapters.py +0 -0
  466. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/formatter.py +0 -0
  467. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/integration.py +0 -0
  468. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/sinks.py +0 -0
  469. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/logging/unified_log.py +0 -0
  470. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/lsp/__init__.py +0 -0
  471. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/lsp/client.py +0 -0
  472. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/__init__.py +0 -0
  473. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/auth_storage.py +0 -0
  474. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/client.py +0 -0
  475. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/config.py +0 -0
  476. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/elicitation.py +0 -0
  477. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/harness_server.py +0 -0
  478. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/hf_auth.py +0 -0
  479. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/integration.py +0 -0
  480. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/oauth.py +0 -0
  481. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/oauth_callback.py +0 -0
  482. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/sampling.py +0 -0
  483. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/search.py +0 -0
  484. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/mcp/types.py +0 -0
  485. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/memory/__init__.py +0 -0
  486. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/memory/config.py +0 -0
  487. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/memory/providers.py +0 -0
  488. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/memory/types.py +0 -0
  489. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/notifications.py +0 -0
  490. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/permissions/__init__.py +0 -0
  491. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/permissions/rules.py +0 -0
  492. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/__init__.py +0 -0
  493. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/ai/__init__.py +0 -0
  494. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/ai/fake.py +0 -0
  495. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/ai/gateway.py +0 -0
  496. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/ai/models.py +0 -0
  497. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/ai/transform.py +0 -0
  498. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/coding_session.py +0 -0
  499. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/compaction.py +0 -0
  500. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/config.py +0 -0
  501. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/event_stream.py +0 -0
  502. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/events.py +0 -0
  503. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/harness.py +0 -0
  504. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/harness_events.py +0 -0
  505. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/loop.py +0 -0
  506. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/messages.py +0 -0
  507. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/permissions.py +0 -0
  508. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/prompt_templates.py +0 -0
  509. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/provider_events.py +0 -0
  510. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/resources.py +0 -0
  511. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/__init__.py +0 -0
  512. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/codec.py +0 -0
  513. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/entries.py +0 -0
  514. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/jsonl.py +0 -0
  515. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/memory.py +0 -0
  516. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/repository.py +0 -0
  517. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/session.py +0 -0
  518. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/session/storage.py +0 -0
  519. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/signals.py +0 -0
  520. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/skills.py +0 -0
  521. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/stream.py +0 -0
  522. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/system_prompt.py +0 -0
  523. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/__init__.py +0 -0
  524. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/base.py +0 -0
  525. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/edit_diff.py +0 -0
  526. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/files.py +0 -0
  527. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/paths.py +0 -0
  528. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/registry.py +0 -0
  529. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/search.py +0 -0
  530. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/shell.py +0 -0
  531. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/tools/truncate.py +0 -0
  532. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/types.py +0 -0
  533. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pipy/validation.py +0 -0
  534. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/plan.py +0 -0
  535. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/platform_locks.py +0 -0
  536. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/plugins.py +0 -0
  537. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/project_trust.py +0 -0
  538. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/__init__.py +0 -0
  539. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/_builtin_profiles.py +0 -0
  540. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/acp_free_models.py +0 -0
  541. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/acp_models.py +0 -0
  542. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/acp_registry.py +0 -0
  543. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/apple_fm.py +0 -0
  544. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/catalog.py +0 -0
  545. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/copilot_auth.py +0 -0
  546. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/credentials.py +0 -0
  547. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/dynamic.py +0 -0
  548. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/env_introspect.py +0 -0
  549. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/free_inference.py +0 -0
  550. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/gateway/__init__.py +0 -0
  551. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/gateway/base.py +0 -0
  552. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/gateway/litellm_gateway.py +0 -0
  553. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/gateway/openresponses_gateway.py +0 -0
  554. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/gateway/synthetic.py +0 -0
  555. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/grok_cli_auth.py +0 -0
  556. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/health.py +0 -0
  557. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/__init__.py +0 -0
  558. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/convert.py +0 -0
  559. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/downloader.py +0 -0
  560. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/endpoints.py +0 -0
  561. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/fetch.py +0 -0
  562. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/hub.py +0 -0
  563. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/inference.py +0 -0
  564. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/huggingface/transformers_runner.py +0 -0
  565. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/live_models.py +0 -0
  566. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/__init__.py +0 -0
  567. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/_mlx_worker.py +0 -0
  568. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/base.py +0 -0
  569. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/capabilities.py +0 -0
  570. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/context_probe.py +0 -0
  571. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/discovery.py +0 -0
  572. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/ds4.py +0 -0
  573. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/lmstudio.py +0 -0
  574. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/mlx.py +0 -0
  575. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/mlx_engine.py +0 -0
  576. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/mlx_tools.py +0 -0
  577. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/ollama.py +0 -0
  578. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/sglang.py +0 -0
  579. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/smoke.py +0 -0
  580. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/tgi.py +0 -0
  581. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/tool_support.py +0 -0
  582. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/local/vllm.py +0 -0
  583. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/manager.py +0 -0
  584. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/model_specs.py +0 -0
  585. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/models.py +0 -0
  586. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/models_dev.py +0 -0
  587. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/opencode_models.py +0 -0
  588. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/__init__.py +0 -0
  589. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/converters/__init__.py +0 -0
  590. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/converters/messages.py +0 -0
  591. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/converters/tools.py +0 -0
  592. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/schema/__init__.py +0 -0
  593. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/schema/models.py +0 -0
  594. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/streaming/__init__.py +0 -0
  595. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/streaming/parser.py +0 -0
  596. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/tools/__init__.py +0 -0
  597. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/tools/apply_patch.py +0 -0
  598. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/tools/code_interpreter.py +0 -0
  599. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/tools/file_search.py +0 -0
  600. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/openresponses/tools/mcp_adapter.py +0 -0
  601. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/prime_agent.py +0 -0
  602. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/profiles.py +0 -0
  603. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/recommendations.py +0 -0
  604. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/registry.py +0 -0
  605. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/subscription_env.py +0 -0
  606. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/subscription_login.py +0 -0
  607. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/uhp.py +0 -0
  608. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/providers/usage.py +0 -0
  609. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/pure_mode.py +0 -0
  610. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/py.typed +0 -0
  611. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rendering/__init__.py +0 -0
  612. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rendering/html_export.py +0 -0
  613. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rendering/markdown.py +0 -0
  614. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rendering/transcript_export.py +0 -0
  615. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/__init__.py +0 -0
  616. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/coding_session.py +0 -0
  617. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/config.py +0 -0
  618. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/context.py +0 -0
  619. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/identity.py +0 -0
  620. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/kernel.py +0 -0
  621. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/kernel_backend.py +0 -0
  622. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/kernel_docker.py +0 -0
  623. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/kernel_server.py +0 -0
  624. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/policy.py +0 -0
  625. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/root_runtime.py +0 -0
  626. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/root_worker.py +0 -0
  627. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/sandbox.py +0 -0
  628. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/subcalls.py +0 -0
  629. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/supervisor.py +0 -0
  630. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/worker.py +0 -0
  631. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/rlm/worker_process.py +0 -0
  632. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/__init__.py +0 -0
  633. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/adk.py +0 -0
  634. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/antigravity_cli.py +0 -0
  635. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/antigravity_managed.py +0 -0
  636. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/antigravity_sdk.py +0 -0
  637. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/antigravity_status.py +0 -0
  638. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/base.py +0 -0
  639. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/builtin.py +0 -0
  640. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/claude_agent_sdk.py +0 -0
  641. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/codex_sdk.py +0 -0
  642. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/copilot_sdk.py +0 -0
  643. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/devin_cli.py +0 -0
  644. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/devin_status.py +0 -0
  645. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/errors.py +0 -0
  646. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/openai_agents.py +0 -0
  647. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/openai_sandbox.py +0 -0
  648. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/openai_session.py +0 -0
  649. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/pydanticai.py +0 -0
  650. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/registry.py +0 -0
  651. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/tool_bridge.py +0 -0
  652. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/tool_bridge_openai.py +0 -0
  653. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/tool_bridge_pydanticai.py +0 -0
  654. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/runtime/vendor_cli.py +0 -0
  655. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/safety/__init__.py +0 -0
  656. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/safety/sandbox.py +0 -0
  657. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/safety/warnings.py +0 -0
  658. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/sandbox/__init__.py +0 -0
  659. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/sandbox/backends.py +0 -0
  660. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/sandbox/execution.py +0 -0
  661. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/sandbox/local_sandbox.py +0 -0
  662. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/search_registry.py +0 -0
  663. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/server/__init__.py +0 -0
  664. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/server/api.py +0 -0
  665. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/server/web.py +0 -0
  666. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/__init__.py +0 -0
  667. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/factory.py +0 -0
  668. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/persistence.py +0 -0
  669. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/share_artifacts.py +0 -0
  670. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/sharing.py +0 -0
  671. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session/switchboard.py +0 -0
  672. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/session.py +0 -0
  673. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/sidebar.py +0 -0
  674. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/skillopt.py +0 -0
  675. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/skills.py +0 -0
  676. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/stream_view.py +0 -0
  677. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/styles/__init__.py +0 -0
  678. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tool_call.py +0 -0
  679. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/__init__.py +0 -0
  680. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/agent_tools.py +0 -0
  681. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/apply_patch.py +0 -0
  682. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/base.py +0 -0
  683. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/batch_tool.py +0 -0
  684. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/compact_tool.py +0 -0
  685. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/context_handle.py +0 -0
  686. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/context_tools.py +0 -0
  687. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/core_tools.py +0 -0
  688. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/diagnostics.py +0 -0
  689. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/diff_utils.py +0 -0
  690. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/display.py +0 -0
  691. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/dynamic_workflow.py +0 -0
  692. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/edit_tools.py +0 -0
  693. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/enhanced_base.py +0 -0
  694. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/env_policy.py +0 -0
  695. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/file_tools.py +0 -0
  696. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/file_tracking.py +0 -0
  697. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/governed.py +0 -0
  698. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/harness_agent_session.py +0 -0
  699. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/image_tools.py +0 -0
  700. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/lsp_tools.py +0 -0
  701. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/mcp_tools.py +0 -0
  702. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/monty_tool.py +0 -0
  703. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/network_tools.py +0 -0
  704. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/output_spill.py +0 -0
  705. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/peer_agent_tools.py +0 -0
  706. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/permissions.py +0 -0
  707. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/post_edit.py +0 -0
  708. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/question_tool.py +0 -0
  709. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/request_permissions_tool.py +0 -0
  710. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/search_tools.py +0 -0
  711. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/semantic_search.py +0 -0
  712. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/shell_session.py +0 -0
  713. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/shell_tools.py +0 -0
  714. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/skill_tools.py +0 -0
  715. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/spawn_harness.py +0 -0
  716. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/todo_tools.py +0 -0
  717. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/tool_search.py +0 -0
  718. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/validation.py +0 -0
  719. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tools/web_tools.py +0 -0
  720. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tui_integration.py +0 -0
  721. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tui_widgets/__init__.py +0 -0
  722. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tui_widgets/widgets/__init__.py +0 -0
  723. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tui_widgets/widgets/progress.py +0 -0
  724. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/tui_widgets/widgets/tool_display.py +0 -0
  725. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/undo_manager.py +0 -0
  726. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/utils/__init__.py +0 -0
  727. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/utils/error_handling.py +0 -0
  728. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/utils/fuzzy.py +0 -0
  729. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/__init__.py +0 -0
  730. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/a2a_connect.py +0 -0
  731. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/agent_switcher.py +0 -0
  732. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/animation_manager.py +0 -0
  733. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/code_context.py +0 -0
  734. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/command_palette.py +0 -0
  735. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/connection_status.py +0 -0
  736. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/conversation_history.py +0 -0
  737. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/diff_indicator.py +0 -0
  738. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/enhanced_status_bar.py +0 -0
  739. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/enhanced_toast.py +0 -0
  740. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/file_browser.py +0 -0
  741. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/file_reference.py +0 -0
  742. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/leader_key.py +0 -0
  743. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/mode_switcher.py +0 -0
  744. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/model_picker.py +0 -0
  745. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/outcome_screen.py +0 -0
  746. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/permission_preview.py +0 -0
  747. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/prompt.py +0 -0
  748. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/provider_connect.py +0 -0
  749. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/pty_shell.py +0 -0
  750. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/resizable_sidebar.py +0 -0
  751. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/response_changes.py +0 -0
  752. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/response_display.py +0 -0
  753. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/rewind_overlay.py +0 -0
  754. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/rich_tool_display.py +0 -0
  755. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/sidebar_panels.py +0 -0
  756. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/slash_commands.py +0 -0
  757. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/slash_complete.py +0 -0
  758. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/split_view.py +0 -0
  759. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/status_bar.py +0 -0
  760. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/superqode_display.py +0 -0
  761. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/theme_picker.py +0 -0
  762. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/thinking.py +0 -0
  763. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/thinking_display.py +0 -0
  764. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/throbber.py +0 -0
  765. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/toast.py +0 -0
  766. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/uhp_connect.py +0 -0
  767. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/widgets/unified_output.py +0 -0
  768. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/__init__.py +0 -0
  769. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/cockpit.py +0 -0
  770. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/integration.py +0 -0
  771. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/models.py +0 -0
  772. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/runner.py +0 -0
  773. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/store.py +0 -0
  774. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/usage.py +0 -0
  775. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workorders/worker.py +0 -0
  776. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/__init__.py +0 -0
  777. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/artifacts.py +0 -0
  778. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/change_summary.py +0 -0
  779. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/coordinator.py +0 -0
  780. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/diff_tracker.py +0 -0
  781. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/git_guard.py +0 -0
  782. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/git_snapshot.py +0 -0
  783. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/manager.py +0 -0
  784. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/snapshot.py +0 -0
  785. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/watcher.py +0 -0
  786. {superqode-2.0.1 → superqode-2.2.0}/src/superqode/workspace/worktree.py +0 -0
  787. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/dependency_links.txt +0 -0
  788. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/entry_points.txt +0 -0
  789. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/requires.txt +0 -0
  790. {superqode-2.0.1 → superqode-2.2.0}/src/superqode.egg-info/top_level.txt +0 -0
  791. {superqode-2.0.1 → superqode-2.2.0}/tests/test_030_candidate.py +0 -0
  792. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_keys.py +0 -0
  793. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_limits.py +0 -0
  794. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_oauth.py +0 -0
  795. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_security.py +0 -0
  796. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_shortlist.py +0 -0
  797. {superqode-2.0.1 → superqode-2.2.0}/tests/test_a2a_understand.py +0 -0
  798. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_agent_dispatch.py +0 -0
  799. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_client.py +0 -0
  800. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_free_models.py +0 -0
  801. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_parent_tool_linking.py +0 -0
  802. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_permission_store.py +0 -0
  803. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_registry.py +0 -0
  804. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_render.py +0 -0
  805. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_server.py +0 -0
  806. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_session_store.py +0 -0
  807. {superqode-2.0.1 → superqode-2.2.0}/tests/test_acp_slash.py +0 -0
  808. {superqode-2.0.1 → superqode-2.2.0}/tests/test_adaptive_compaction.py +0 -0
  809. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agent_importer.py +0 -0
  810. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agent_install_commands.py +0 -0
  811. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agent_loop_harness.py +0 -0
  812. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agent_memory.py +0 -0
  813. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agents_md_compat.py +0 -0
  814. {superqode-2.0.1 → superqode-2.2.0}/tests/test_agy_tui_commands.py +0 -0
  815. {superqode-2.0.1 → superqode-2.2.0}/tests/test_app_main_contract.py +0 -0
  816. {superqode-2.0.1 → superqode-2.2.0}/tests/test_apply_patch.py +0 -0
  817. {superqode-2.0.1 → superqode-2.2.0}/tests/test_auth.py +0 -0
  818. {superqode-2.0.1 → superqode-2.2.0}/tests/test_bash_spill.py +0 -0
  819. {superqode-2.0.1 → superqode-2.2.0}/tests/test_benchmarks.py +0 -0
  820. {superqode-2.0.1 → superqode-2.2.0}/tests/test_catalog_freshness.py +0 -0
  821. {superqode-2.0.1 → superqode-2.2.0}/tests/test_change_summary.py +0 -0
  822. {superqode-2.0.1 → superqode-2.2.0}/tests/test_channels.py +0 -0
  823. {superqode-2.0.1 → superqode-2.2.0}/tests/test_cli_connect.py +0 -0
  824. {superqode-2.0.1 → superqode-2.2.0}/tests/test_cli_reference_coverage.py +0 -0
  825. {superqode-2.0.1 → superqode-2.2.0}/tests/test_clickable_commands.py +0 -0
  826. {superqode-2.0.1 → superqode-2.2.0}/tests/test_command_safety.py +0 -0
  827. {superqode-2.0.1 → superqode-2.2.0}/tests/test_commands_runtime.py +0 -0
  828. {superqode-2.0.1 → superqode-2.2.0}/tests/test_compaction.py +0 -0
  829. {superqode-2.0.1 → superqode-2.2.0}/tests/test_config_loader.py +0 -0
  830. {superqode-2.0.1 → superqode-2.2.0}/tests/test_config_runtime.py +0 -0
  831. {superqode-2.0.1 → superqode-2.2.0}/tests/test_connect_setup.py +0 -0
  832. {superqode-2.0.1 → superqode-2.2.0}/tests/test_context_handles.py +0 -0
  833. {superqode-2.0.1 → superqode-2.2.0}/tests/test_context_probe.py +0 -0
  834. {superqode-2.0.1 → superqode-2.2.0}/tests/test_context_remaining.py +0 -0
  835. {superqode-2.0.1 → superqode-2.2.0}/tests/test_copilot_login_ux.py +0 -0
  836. {superqode-2.0.1 → superqode-2.2.0}/tests/test_copilot_tui_commands.py +0 -0
  837. {superqode-2.0.1 → superqode-2.2.0}/tests/test_create_skill_tool.py +0 -0
  838. {superqode-2.0.1 → superqode-2.2.0}/tests/test_deepagents_model_spec.py +0 -0
  839. {superqode-2.0.1 → superqode-2.2.0}/tests/test_deferred_tools.py +0 -0
  840. {superqode-2.0.1 → superqode-2.2.0}/tests/test_design_system_contrast.py +0 -0
  841. {superqode-2.0.1 → superqode-2.2.0}/tests/test_developer_workflow_docs.py +0 -0
  842. {superqode-2.0.1 → superqode-2.2.0}/tests/test_ds4_local_client.py +0 -0
  843. {superqode-2.0.1 → superqode-2.2.0}/tests/test_dsh_harness.py +0 -0
  844. {superqode-2.0.1 → superqode-2.2.0}/tests/test_dynamic_workflow_tool.py +0 -0
  845. {superqode-2.0.1 → superqode-2.2.0}/tests/test_edit_line_number_strip.py +0 -0
  846. {superqode-2.0.1 → superqode-2.2.0}/tests/test_env_introspect.py +0 -0
  847. {superqode-2.0.1 → superqode-2.2.0}/tests/test_execution_resolver.py +0 -0
  848. {superqode-2.0.1 → superqode-2.2.0}/tests/test_extensions.py +0 -0
  849. {superqode-2.0.1 → superqode-2.2.0}/tests/test_final_parity_wave.py +0 -0
  850. {superqode-2.0.1 → superqode-2.2.0}/tests/test_free_models.py +0 -0
  851. {superqode-2.0.1 → superqode-2.2.0}/tests/test_governance.py +0 -0
  852. {superqode-2.0.1 → superqode-2.2.0}/tests/test_grok_cli_auth.py +0 -0
  853. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_agent_session.py +0 -0
  854. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_backends.py +0 -0
  855. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_bench.py +0 -0
  856. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_bench_paths.py +0 -0
  857. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_catalog.py +0 -0
  858. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_connect_catalog.py +0 -0
  859. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_drift.py +0 -0
  860. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_eval_splits.py +0 -0
  861. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_examples.py +0 -0
  862. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_explain.py +0 -0
  863. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_hooks.py +0 -0
  864. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_hub_catalog.py +0 -0
  865. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_hub_screen.py +0 -0
  866. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_kernel.py +0 -0
  867. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_mcp_server.py +0 -0
  868. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_model_policy.py +0 -0
  869. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_observability.py +0 -0
  870. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_omni.py +0 -0
  871. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_output.py +0 -0
  872. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_permissions.py +0 -0
  873. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_promotion.py +0 -0
  874. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_protocol.py +0 -0
  875. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_sandbox.py +0 -0
  876. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_seesaw_dimensions.py +0 -0
  877. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_self_improve.py +0 -0
  878. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_spec.py +0 -0
  879. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_store.py +0 -0
  880. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_usage.py +0 -0
  881. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_wizard.py +0 -0
  882. {superqode-2.0.1 → superqode-2.2.0}/tests/test_harness_workflow.py +0 -0
  883. {superqode-2.0.1 → superqode-2.2.0}/tests/test_headless.py +0 -0
  884. {superqode-2.0.1 → superqode-2.2.0}/tests/test_hf_fetch.py +0 -0
  885. {superqode-2.0.1 → superqode-2.2.0}/tests/test_hooks.py +0 -0
  886. {superqode-2.0.1 → superqode-2.2.0}/tests/test_install_script.py +0 -0
  887. {superqode-2.0.1 → superqode-2.2.0}/tests/test_integration_docs.py +0 -0
  888. {superqode-2.0.1 → superqode-2.2.0}/tests/test_kimi_k3_provider.py +0 -0
  889. {superqode-2.0.1 → superqode-2.2.0}/tests/test_kimi_k3_routes.py +0 -0
  890. {superqode-2.0.1 → superqode-2.2.0}/tests/test_linter_runner.py +0 -0
  891. {superqode-2.0.1 → superqode-2.2.0}/tests/test_litellm_gateway.py +0 -0
  892. {superqode-2.0.1 → superqode-2.2.0}/tests/test_live_acp_registry.py +0 -0
  893. {superqode-2.0.1 → superqode-2.2.0}/tests/test_live_models.py +0 -0
  894. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_airplane.py +0 -0
  895. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_build.py +0 -0
  896. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_code_index.py +0 -0
  897. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_labs.py +0 -0
  898. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_migrate.py +0 -0
  899. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_model_optimizations.py +0 -0
  900. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_packs.py +0 -0
  901. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_sandbox.py +0 -0
  902. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_search.py +0 -0
  903. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_servers.py +0 -0
  904. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_setup.py +0 -0
  905. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_smoke.py +0 -0
  906. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_stack.py +0 -0
  907. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_tool_capabilities.py +0 -0
  908. {superqode-2.0.1 → superqode-2.2.0}/tests/test_local_tool_support.py +0 -0
  909. {superqode-2.0.1 → superqode-2.2.0}/tests/test_login_api.py +0 -0
  910. {superqode-2.0.1 → superqode-2.2.0}/tests/test_loop_guard.py +0 -0
  911. {superqode-2.0.1 → superqode-2.2.0}/tests/test_managed_harness_backend.py +0 -0
  912. {superqode-2.0.1 → superqode-2.2.0}/tests/test_markdown_render.py +0 -0
  913. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp.py +0 -0
  914. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_example_server.py +0 -0
  915. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_integration.py +0 -0
  916. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_live.py +0 -0
  917. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_oauth_generalized.py +0 -0
  918. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_tools_runtime.py +0 -0
  919. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mcp_two_way.py +0 -0
  920. {superqode-2.0.1 → superqode-2.2.0}/tests/test_memory_recall.py +0 -0
  921. {superqode-2.0.1 → superqode-2.2.0}/tests/test_mlx_tools.py +0 -0
  922. {superqode-2.0.1 → superqode-2.2.0}/tests/test_model_profiles.py +0 -0
  923. {superqode-2.0.1 → superqode-2.2.0}/tests/test_model_specs.py +0 -0
  924. {superqode-2.0.1 → superqode-2.2.0}/tests/test_models_dev.py +0 -0
  925. {superqode-2.0.1 → superqode-2.2.0}/tests/test_monty_tool.py +0 -0
  926. {superqode-2.0.1 → superqode-2.2.0}/tests/test_navigation_history.py +0 -0
  927. {superqode-2.0.1 → superqode-2.2.0}/tests/test_network_policy.py +0 -0
  928. {superqode-2.0.1 → superqode-2.2.0}/tests/test_ollama_client.py +0 -0
  929. {superqode-2.0.1 → superqode-2.2.0}/tests/test_omnigent_agent_session_smoke.py +0 -0
  930. {superqode-2.0.1 → superqode-2.2.0}/tests/test_omnigent_importer.py +0 -0
  931. {superqode-2.0.1 → superqode-2.2.0}/tests/test_openai_session.py +0 -0
  932. {superqode-2.0.1 → superqode-2.2.0}/tests/test_output_spill.py +0 -0
  933. {superqode-2.0.1 → superqode-2.2.0}/tests/test_parallel_compare.py +0 -0
  934. {superqode-2.0.1 → superqode-2.2.0}/tests/test_peer_agents.py +0 -0
  935. {superqode-2.0.1 → superqode-2.2.0}/tests/test_plugin_hook_wiring.py +0 -0
  936. {superqode-2.0.1 → superqode-2.2.0}/tests/test_plugins.py +0 -0
  937. {superqode-2.0.1 → superqode-2.2.0}/tests/test_policies_and_turndiff.py +0 -0
  938. {superqode-2.0.1 → superqode-2.2.0}/tests/test_post_edit_verify.py +0 -0
  939. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prime_agent_client.py +0 -0
  940. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prime_agent_harness.py +0 -0
  941. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prime_agent_provider.py +0 -0
  942. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prime_command_surface.py +0 -0
  943. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prime_tui_rpc.py +0 -0
  944. {superqode-2.0.1 → superqode-2.2.0}/tests/test_progressive_discovery.py +0 -0
  945. {superqode-2.0.1 → superqode-2.2.0}/tests/test_progressive_reveals.py +0 -0
  946. {superqode-2.0.1 → superqode-2.2.0}/tests/test_project_trust.py +0 -0
  947. {superqode-2.0.1 → superqode-2.2.0}/tests/test_prompt_stack.py +0 -0
  948. {superqode-2.0.1 → superqode-2.2.0}/tests/test_provider_catalog.py +0 -0
  949. {superqode-2.0.1 → superqode-2.2.0}/tests/test_provider_dynamic.py +0 -0
  950. {superqode-2.0.1 → superqode-2.2.0}/tests/test_provider_models.py +0 -0
  951. {superqode-2.0.1 → superqode-2.2.0}/tests/test_provider_recommendations.py +0 -0
  952. {superqode-2.0.1 → superqode-2.2.0}/tests/test_pure_mode_sessions.py +0 -0
  953. {superqode-2.0.1 → superqode-2.2.0}/tests/test_qm_deployment_layer.py +0 -0
  954. {superqode-2.0.1 → superqode-2.2.0}/tests/test_rate_limit_retry.py +0 -0
  955. {superqode-2.0.1 → superqode-2.2.0}/tests/test_read_tool_limits.py +0 -0
  956. {superqode-2.0.1 → superqode-2.2.0}/tests/test_reasoning_and_budget.py +0 -0
  957. {superqode-2.0.1 → superqode-2.2.0}/tests/test_recursive_eval_packs.py +0 -0
  958. {superqode-2.0.1 → superqode-2.2.0}/tests/test_release_metadata.py +0 -0
  959. {superqode-2.0.1 → superqode-2.2.0}/tests/test_rlm_code_integration.py +0 -0
  960. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_adk.py +0 -0
  961. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_antigravity_cli.py +0 -0
  962. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_antigravity_managed.py +0 -0
  963. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_antigravity_sdk.py +0 -0
  964. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_builtin.py +0 -0
  965. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_claude_agent_sdk.py +0 -0
  966. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_codex_sdk.py +0 -0
  967. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_copilot_sdk.py +0 -0
  968. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_devin_cli.py +0 -0
  969. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_dialog.py +0 -0
  970. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_openai_agents.py +0 -0
  971. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_openai_events.py +0 -0
  972. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_openai_hitl.py +0 -0
  973. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_openai_sandbox.py +0 -0
  974. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_protocol.py +0 -0
  975. {superqode-2.0.1 → superqode-2.2.0}/tests/test_runtime_pydanticai.py +0 -0
  976. {superqode-2.0.1 → superqode-2.2.0}/tests/test_sandbox_backends.py +0 -0
  977. {superqode-2.0.1 → superqode-2.2.0}/tests/test_sandbox_execution.py +0 -0
  978. {superqode-2.0.1 → superqode-2.2.0}/tests/test_search_roots.py +0 -0
  979. {superqode-2.0.1 → superqode-2.2.0}/tests/test_semantic_search.py +0 -0
  980. {superqode-2.0.1 → superqode-2.2.0}/tests/test_session_switchboard.py +0 -0
  981. {superqode-2.0.1 → superqode-2.2.0}/tests/test_shell_session.py +0 -0
  982. {superqode-2.0.1 → superqode-2.2.0}/tests/test_simple_login.py +0 -0
  983. {superqode-2.0.1 → superqode-2.2.0}/tests/test_simple_query_fastpath.py +0 -0
  984. {superqode-2.0.1 → superqode-2.2.0}/tests/test_skillopt.py +0 -0
  985. {superqode-2.0.1 → superqode-2.2.0}/tests/test_slash_runtime.py +0 -0
  986. {superqode-2.0.1 → superqode-2.2.0}/tests/test_spawn_harness_tool.py +0 -0
  987. {superqode-2.0.1 → superqode-2.2.0}/tests/test_status_bar_layout.py +0 -0
  988. {superqode-2.0.1 → superqode-2.2.0}/tests/test_steering_continue_reminders.py +0 -0
  989. {superqode-2.0.1 → superqode-2.2.0}/tests/test_streaming_tool_calls.py +0 -0
  990. {superqode-2.0.1 → superqode-2.2.0}/tests/test_subscription_billing_policy.py +0 -0
  991. {superqode-2.0.1 → superqode-2.2.0}/tests/test_subscription_login.py +0 -0
  992. {superqode-2.0.1 → superqode-2.2.0}/tests/test_subscription_login_consent.py +0 -0
  993. {superqode-2.0.1 → superqode-2.2.0}/tests/test_synthetic_gateways.py +0 -0
  994. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tau_harness_adapter.py +0 -0
  995. {superqode-2.0.1 → superqode-2.2.0}/tests/test_terminal_output_limits.py +0 -0
  996. {superqode-2.0.1 → superqode-2.2.0}/tests/test_theme_contrast.py +0 -0
  997. {superqode-2.0.1 → superqode-2.2.0}/tests/test_theme_picker.py +0 -0
  998. {superqode-2.0.1 → superqode-2.2.0}/tests/test_theme_repaint.py +0 -0
  999. {superqode-2.0.1 → superqode-2.2.0}/tests/test_todo_tools.py +0 -0
  1000. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_args_repair.py +0 -0
  1001. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_batch_safety.py +0 -0
  1002. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_bridge.py +0 -0
  1003. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_bridge_openai.py +0 -0
  1004. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_call_repair.py +0 -0
  1005. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_output_pruning.py +0 -0
  1006. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tool_tracking.py +0 -0
  1007. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tools.py +0 -0
  1008. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_change_summary.py +0 -0
  1009. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_chat_mode.py +0 -0
  1010. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_diagnostics.py +0 -0
  1011. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_exit.py +0 -0
  1012. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_feedback.py +0 -0
  1013. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_launch_performance.py +0 -0
  1014. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_llamacpp_connect.py +0 -0
  1015. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_markdown_cleanup.py +0 -0
  1016. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_mlx_connect.py +0 -0
  1017. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_mounted.py +0 -0
  1018. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_onboarding.py +0 -0
  1019. {superqode-2.0.1 → superqode-2.2.0}/tests/test_tui_tool_display.py +0 -0
  1020. {superqode-2.0.1 → superqode-2.2.0}/tests/test_uhp_backend.py +0 -0
  1021. {superqode-2.0.1 → superqode-2.2.0}/tests/test_uhp_client.py +0 -0
  1022. {superqode-2.0.1 → superqode-2.2.0}/tests/test_uhp_connect.py +0 -0
  1023. {superqode-2.0.1 → superqode-2.2.0}/tests/test_update_command.py +0 -0
  1024. {superqode-2.0.1 → superqode-2.2.0}/tests/test_vendor_cli_runtime.py +0 -0
  1025. {superqode-2.0.1 → superqode-2.2.0}/tests/test_version.py +0 -0
  1026. {superqode-2.0.1 → superqode-2.2.0}/tests/test_view_image.py +0 -0
  1027. {superqode-2.0.1 → superqode-2.2.0}/tests/test_web_server_auth.py +0 -0
  1028. {superqode-2.0.1 → superqode-2.2.0}/tests/test_workorders.py +0 -0
  1029. {superqode-2.0.1 → superqode-2.2.0}/tests/test_workspace.py +0 -0
  1030. {superqode-2.0.1 → superqode-2.2.0}/tests/test_zai_provider.py +0 -0
@@ -7,6 +7,136 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.2.0] - 2026-09-07
11
+
12
+ Every Harness Hub record now states the language its harness is implemented in,
13
+ taken from the project's own build manifest rather than its marketing, and that
14
+ fact is filterable from the terminal, the CLI and the website. The same pass
15
+ found install commands that fetched the wrong software and corrected them.
16
+
17
+ ### 🔤 Implementation language
18
+
19
+ - Hub records carry `language`, `language_confidence` and `language_evidence`.
20
+ The schema moves to 1.6.
21
+ - "Confirmed" comes from a build manifest, GitHub's language breakdown, or a
22
+ statement by the vendor. "Inferred" is read off what a closed-source product
23
+ ships, such as an npm wrapper over platform binaries or Cargo target triples
24
+ in an installer, and every surface marks it as such.
25
+ - `superqode hub` prints a language column and takes `--language`, whose
26
+ choices come from the catalogue and so cannot drift from it.
27
+ - `superqode hub show` reports the language, how firmly it is known, and the
28
+ evidence behind it.
29
+ - `:hub` filters by language from named buttons that wrap across rows, so no
30
+ language sits off the right edge of an 80-column terminal.
31
+ - New `:connect by-language` screen. It browses every route by what the harness
32
+ is written in: SuperQode's own harnesses, vendor subscriptions, key harnesses
33
+ and the ACP registry.
34
+
35
+ ### 🔭 Hub
36
+
37
+ - Inspecting a harness shows its language, the one command that launches it,
38
+ and a Links block carrying the official repository. Several entries repeat a
39
+ single URL across repository, homepage and docs; those now collapse to one
40
+ row instead of printing the same address three times.
41
+ - The preview pane keeps what you need to choose and start. Setup steps, tools,
42
+ policies and commands moved behind Inspect. Warnings stay in the preview,
43
+ since hiding a sandbox caveat behind a keypress is not a summary.
44
+ - ACP agents left `:hub`. `:connect acp` already reaches every one of them and
45
+ marks what is installed, so listing them twice made the Hub twice as long
46
+ without saying anything new.
47
+ - Presets left `:hub` too. They are tunings of the four built-in harnesses
48
+ rather than harnesses in their own right; `:harness switch <preset>` and the
49
+ preset menu still reach them.
50
+ - The Hub opens on All. It previously switched itself to Ready whenever
51
+ anything was installed, which read as a short catalogue rather than a
52
+ filtered one.
53
+ - Entries are ordered alphabetically with nothing promoted, and the list
54
+ returns to the top when the view changes.
55
+
56
+ ### 🔧 Install commands and repository URLs
57
+
58
+ - Three commands installed unrelated software: `cargo install fount` fetched a
59
+ Fountain screenplay editor, `npm install -g crow-cli` a Crystal transpiler,
60
+ and `pipx install goose-ai` a placeholder package. `cagent` and `kimi-cli`
61
+ had the same collision on npm.
62
+ - Eight more named packages that do not exist: `qoder-cli`, `sigit`,
63
+ `vtcode-acp`, `@poolsideai/pool`, `cagent`, `stakpak`, `code-assistant` and
64
+ `stdio-bus`.
65
+ - Gemini CLI, Auggie and Kimi were published under the `@anthropic-ai/` scope,
66
+ which belongs to another vendor and carries no such packages. One of the
67
+ three was a live `npx` invocation rather than documentation.
68
+ - Seven repository URLs answered 404 or named the wrong project. OpenCode
69
+ pointed at the archived 2024 Go project, which also reported the wrong
70
+ language for it.
71
+
72
+ ## [2.1.0] - 2026-09-06
73
+
74
+ Adds `sq gauge`, which writes an Agent Quality Record for a release decision.
75
+ `harness eval` reports how a harness scored; the record states what was checked
76
+ before a change shipped, which conditions had to hold, who accepted the result,
77
+ and what to revert to.
78
+
79
+ ### 🧭 Agent Quality Records
80
+
81
+ - New `sq gauge` command group with `run`, `gate`, `show` and `verify`.
82
+ - `sq gauge run` evaluates a harness and emits a record in the format published
83
+ at [SuperGauge](https://github.com/SuperagenticAI/supergauge), an open
84
+ specification any tool may implement.
85
+ - `sq gauge gate record.yaml --level L2` exits non-zero below the level a
86
+ profile requires. This is the command intended for a pipeline step.
87
+ - `sq gauge show` prints the record as a scorecard: subject, authority, task
88
+ set, measures, gates, verdict and level.
89
+ - `sq gauge verify` recomputes the harness digest against the spec on disk and
90
+ confirms the referenced ledger is present. A digest mismatch means the spec
91
+ moved after the record was written.
92
+
93
+ ### 📐 What the record reports
94
+
95
+ - The record introduces no new measurement. It projects state SuperQode already
96
+ holds: `task.completion` and the split counts from `harness eval`, the three
97
+ `efficiency.*_per_success` values from the usage aggregate that command
98
+ already reports, and a sha256 of the spec file as `subject.harness_digest`.
99
+ - `subject.authority` records what the agent was permitted to do, read from
100
+ `execution_policy.sandbox`, the network policy and the agent tool lists. The
101
+ specification requires this because a record naming the agent without naming
102
+ its permissions can be structurally valid and substantively wrong.
103
+ - `--repeat k` runs independent attempts per task and adds
104
+ `reliability.pass_hat_k` and `reliability.pass_at_k`. Working state is reset
105
+ between attempts, without which the measure would be unsound.
106
+ - Measures appear only where the run produced them. An evaluation without
107
+ `--repeat` carries no reliability measure and stops at L2.
108
+
109
+ ### 🔗 Evidence read from existing stores
110
+
111
+ - The promotion registry supplies `decision.actor` and the rollback target. The
112
+ target is the base digest, the version in force before the candidate, since
113
+ that is what a reader needs when the candidate turns out to be wrong.
114
+ `--candidate <id>` selects a specific promotion.
115
+ - Governance decisions become the `policy.hard_rules` gate. Recorded `policy.*`
116
+ events are read from the ledger when present; otherwise the policy in force is
117
+ evaluated per phase.
118
+ - The harness protocol ledger is referenced with its event count, which
119
+ conformance level L4 requires so a third party knows the size of what they are
120
+ being invited to replay. `--ledger PATH` overrides the default.
121
+ - Each reader degrades to nothing when its store is absent, which lowers the
122
+ level the record reaches and never fails the run. `--no-sources` turns all
123
+ three off.
124
+
125
+ ### 🚦 Gates and judges
126
+
127
+ - A gate is deterministic. `add_gate` raises on `answer.grounded` and
128
+ `robustness.multi_turn` instead of accepting a model-graded measure quietly,
129
+ because a judge varies between runs and can be influenced by the system it
130
+ grades.
131
+ - Level checks live in `superqode.gauge.levels` and mirror the published
132
+ conformance suite, so a record SuperQode emits is judged by the rules a third
133
+ party would apply.
134
+
135
+ ### 📚 Documentation
136
+
137
+ - New guide: [Agent Quality Records](docs/advanced/agent-quality-record.md).
138
+ - New CLI reference: [`sq gauge`](docs/cli-reference/gauge-commands.md).
139
+
10
140
  ## [2.0.1] - 2026-09-02
11
141
 
12
142
  A maintenance release covering the install experience and the OpenCode ACP
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superqode
3
- Version: 2.0.1
3
+ Version: 2.2.0
4
4
  Summary: The harness layer for coding agents
5
5
  Author-email: Shashi Jagtap <info@super-agentic.ai>
6
6
  Maintainer-email: Shashi Jagtap <info@super-agentic.ai>
@@ -153,8 +153,8 @@ Dynamic: license-file
153
153
  <img src="assets/superqode-banner.png" alt="SuperQode" width="760">
154
154
  </p>
155
155
 
156
+ <h2 align="center">The harness layer for coding agents.</h2>
156
157
  <p align="center">
157
- <strong>The harness layer for coding agents.</strong><br>
158
158
  Discover, build, run, evaluate and optimize coding-agent harnesses from one terminal.<br>
159
159
  Interoperable over ACP, A2A, MCP and UHP: drive any coding agent, and be called as one.
160
160
  </p>
@@ -167,6 +167,10 @@ Dynamic: license-file
167
167
  <a href="https://github.com/SuperagenticAI/superqode/discussions"><img src="https://img.shields.io/github/discussions/SuperagenticAI/superqode?style=flat-square" alt="Discussions"></a>
168
168
  </p>
169
169
 
170
+ <p align="center">
171
+ <a href="https://www.producthunt.com/products/superqode?utm_source=badge-follow&utm_medium=badge&utm_source=badge-superqode" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/follow.svg?product_id=1155543&theme=light" alt="SuperQode - The&#0032;harness&#0032;interoperability&#0032;layer&#0032;for&#0032;coding&#0032;agent | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
172
+ </p>
173
+
170
174
  <p align="center">
171
175
  <a href="https://docs.superqode.dev/"><strong>Documentation</strong></a>
172
176
  &nbsp;·&nbsp;
@@ -176,7 +180,7 @@ Dynamic: license-file
176
180
  &nbsp;·&nbsp;
177
181
  <a href="https://superqode.dev">superqode.dev</a>
178
182
  &nbsp;·&nbsp;
179
- <a href="https://www.youtube.com/watch?v=FjAMwzbfIu0">Demo</a>
183
+ <a href="https://www.youtube.com/watch?v=BmTWNMvJP4s">Demo</a>
180
184
  &nbsp;·&nbsp;
181
185
  <a href="https://github.com/SuperagenticAI/superqode/discussions">Discussions</a>
182
186
  </p>
@@ -205,7 +209,7 @@ One session: connect an agent, browse the Harness Hub, and call the A2A agent
205
209
  from the same terminal.
206
210
 
207
211
  <p align="center">
208
- <a href="https://www.youtube.com/watch?v=FjAMwzbfIu0">
212
+ <a href="https://www.youtube.com/watch?v=BmTWNMvJP4s">
209
213
  <img src="assets/superqode-demo.jpg" alt="Watch the SuperQode demo" width="720">
210
214
  </a>
211
215
  </p>
@@ -355,6 +359,24 @@ sealed held-out gate without replacing the live specification.
355
359
  See the [evaluation and optimization guide](docs/advanced/harness-optimization.md)
356
360
  and [Harness Promotion](docs/advanced/harness-promotion.md).
357
361
 
362
+
363
+ ### Release records
364
+
365
+ Evaluation says how a harness scored. A record says what was checked before a
366
+ change shipped, which conditions had to hold, who accepted it, and what to
367
+ revert to.
368
+
369
+ ```bash
370
+ sq gauge run --spec harness.yaml --tasks eval-tasks.yaml --out record.yaml
371
+ sq gauge gate record.yaml --level L2 # the CI verb
372
+ ```
373
+
374
+ The format is [SuperGauge](https://github.com/SuperagenticAI/supergauge), an open
375
+ specification any tool may implement. SuperQode computes nothing new for it: the
376
+ record projects the eval result, the execution policy, the governance decisions,
377
+ the promotion registry and the event ledger it already holds. See
378
+ [Agent Quality Records](docs/advanced/agent-quality-record.md).
379
+
358
380
  ## Local and Open Models
359
381
 
360
382
  SuperQode is tuned for the cases where context, tool calling, and search decide
@@ -2,8 +2,8 @@
2
2
  <img src="assets/superqode-banner.png" alt="SuperQode" width="760">
3
3
  </p>
4
4
 
5
+ <h2 align="center">The harness layer for coding agents.</h2>
5
6
  <p align="center">
6
- <strong>The harness layer for coding agents.</strong><br>
7
7
  Discover, build, run, evaluate and optimize coding-agent harnesses from one terminal.<br>
8
8
  Interoperable over ACP, A2A, MCP and UHP: drive any coding agent, and be called as one.
9
9
  </p>
@@ -16,6 +16,10 @@
16
16
  <a href="https://github.com/SuperagenticAI/superqode/discussions"><img src="https://img.shields.io/github/discussions/SuperagenticAI/superqode?style=flat-square" alt="Discussions"></a>
17
17
  </p>
18
18
 
19
+ <p align="center">
20
+ <a href="https://www.producthunt.com/products/superqode?utm_source=badge-follow&utm_medium=badge&utm_source=badge-superqode" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/follow.svg?product_id=1155543&theme=light" alt="SuperQode - The&#0032;harness&#0032;interoperability&#0032;layer&#0032;for&#0032;coding&#0032;agent | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
21
+ </p>
22
+
19
23
  <p align="center">
20
24
  <a href="https://docs.superqode.dev/"><strong>Documentation</strong></a>
21
25
  &nbsp;·&nbsp;
@@ -25,7 +29,7 @@
25
29
  &nbsp;·&nbsp;
26
30
  <a href="https://superqode.dev">superqode.dev</a>
27
31
  &nbsp;·&nbsp;
28
- <a href="https://www.youtube.com/watch?v=FjAMwzbfIu0">Demo</a>
32
+ <a href="https://www.youtube.com/watch?v=BmTWNMvJP4s">Demo</a>
29
33
  &nbsp;·&nbsp;
30
34
  <a href="https://github.com/SuperagenticAI/superqode/discussions">Discussions</a>
31
35
  </p>
@@ -54,7 +58,7 @@ One session: connect an agent, browse the Harness Hub, and call the A2A agent
54
58
  from the same terminal.
55
59
 
56
60
  <p align="center">
57
- <a href="https://www.youtube.com/watch?v=FjAMwzbfIu0">
61
+ <a href="https://www.youtube.com/watch?v=BmTWNMvJP4s">
58
62
  <img src="assets/superqode-demo.jpg" alt="Watch the SuperQode demo" width="720">
59
63
  </a>
60
64
  </p>
@@ -204,6 +208,24 @@ sealed held-out gate without replacing the live specification.
204
208
  See the [evaluation and optimization guide](docs/advanced/harness-optimization.md)
205
209
  and [Harness Promotion](docs/advanced/harness-promotion.md).
206
210
 
211
+
212
+ ### Release records
213
+
214
+ Evaluation says how a harness scored. A record says what was checked before a
215
+ change shipped, which conditions had to hold, who accepted it, and what to
216
+ revert to.
217
+
218
+ ```bash
219
+ sq gauge run --spec harness.yaml --tasks eval-tasks.yaml --out record.yaml
220
+ sq gauge gate record.yaml --level L2 # the CI verb
221
+ ```
222
+
223
+ The format is [SuperGauge](https://github.com/SuperagenticAI/supergauge), an open
224
+ specification any tool may implement. SuperQode computes nothing new for it: the
225
+ record projects the eval result, the execution policy, the governance decisions,
226
+ the promotion registry and the event ledger it already holds. See
227
+ [Agent Quality Records](docs/advanced/agent-quality-record.md).
228
+
207
229
  ## Local and Open Models
208
230
 
209
231
  SuperQode is tuned for the cases where context, tool calling, and search decide
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superqode"
3
- version = "2.0.1"
3
+ version = "2.2.0"
4
4
  description = "The harness layer for coding agents"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -38,7 +38,7 @@ __all__ = [
38
38
  "sidebar",
39
39
  ]
40
40
 
41
- __version__ = "2.0.1"
41
+ __version__ = "2.2.0"
42
42
 
43
43
  # Stable, lightweight public extension surface. Importing this package does
44
44
  # not discover or execute third-party extensions; discovery happens only when
@@ -309,7 +309,7 @@ KNOWN_AGENTS: List[Dict[str, Any]] = [
309
309
  "icon": "🌿",
310
310
  "color": "#22c55e",
311
311
  "description": "Open-source coding agent with ACP implementation for flexible integration",
312
- "website": "https://github.com/opencode-ai/opencode",
312
+ "website": "https://github.com/anomalyco/opencode",
313
313
  "requires_api_key": False, # Uses cloud with free tier
314
314
  "api_key_env_vars": ["OPENAI_API_KEY", "ANTHROPIC_API_KEY"],
315
315
  "check_command": ["opencode", "--version"],
@@ -360,7 +360,7 @@ KNOWN_AGENTS: List[Dict[str, Any]] = [
360
360
  "command": ["auggie", "--acp"],
361
361
  "alt_commands": [
362
362
  ["augment", "--acp"],
363
- ["npx", "-y", "@anthropic-ai/auggie", "--acp"],
363
+ ["npx", "-y", "@augmentcode/auggie", "--acp"],
364
364
  ],
365
365
  "icon": "🔮",
366
366
  "color": "#ec4899",
@@ -60,7 +60,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
60
60
  ),
61
61
  "run_command": "gemini --acp",
62
62
  "status": "available",
63
- "installation_command": "npm install -g @anthropic-ai/gemini-cli",
63
+ "installation_command": "npm install -g @google/gemini-cli",
64
64
  "installation_instructions": (
65
65
  "Install Gemini CLI via npm and set GEMINI_API_KEY or GOOGLE_API_KEY. "
66
66
  "For consumer Google AI accounts, use Antigravity CLI instead: :connect antigravity."
@@ -131,7 +131,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
131
131
  "description": "Block's developer agent that automates engineering tasks. Extensible with MCP.",
132
132
  "run_command": "goose acp",
133
133
  "status": "available",
134
- "installation_command": "pipx install goose-ai",
134
+ "installation_command": "curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash",
135
135
  "installation_instructions": "Install Goose via pipx. Configure providers via goose configure.",
136
136
  "requirements": ["python3.10+", "pipx"],
137
137
  },
@@ -176,13 +176,13 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
176
176
  "identity": "stakpak.dev",
177
177
  "name": "Stakpak",
178
178
  "short_name": "stakpak",
179
- "url": "https://github.com/stakpak/stakpak",
179
+ "url": "https://github.com/stakpak/agent",
180
180
  "author_name": "Stakpak",
181
181
  "author_url": "https://stakpak.dev",
182
182
  "description": "An ACP-compatible agent focused on comprehensive code assistance and collaboration.",
183
183
  "run_command": "stakpak acp",
184
184
  "status": "available",
185
- "installation_command": "pip install stakpak",
185
+ "installation_command": "curl -sSL https://stakpak.dev/install.sh | sh",
186
186
  "installation_instructions": "Install Stakpak via pip.",
187
187
  "requirements": ["python3", "pip"],
188
188
  },
@@ -216,7 +216,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
216
216
  "description": "AI-powered coding agent with deep codebase understanding and ACP support.",
217
217
  "run_command": "auggie --acp",
218
218
  "status": "available",
219
- "installation_command": "npm install -g @anthropic-ai/auggie",
219
+ "installation_command": "npm install -g @augmentcode/auggie",
220
220
  "installation_instructions": "Install Auggie via npm. Sign up at augmentcode.com.",
221
221
  "requirements": ["node", "npm", "Augment account"],
222
222
  },
@@ -233,7 +233,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
233
233
  "description": "An AI coding assistant built in Rust for autonomous code analysis and modification.",
234
234
  "run_command": "code-assistant --acp",
235
235
  "status": "available",
236
- "installation_command": "cargo install code-assistant",
236
+ "installation_command": "cargo install --git https://github.com/stippi/code-assistant",
237
237
  "installation_instructions": "Install Code Assistant via Cargo.",
238
238
  "requirements": ["rust", "cargo"],
239
239
  },
@@ -250,7 +250,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
250
250
  "description": "A powerful, customizable multi-agent runtime that orchestrates AI agents.",
251
251
  "run_command": "cagent --acp",
252
252
  "status": "available",
253
- "installation_command": "pip install cagent",
253
+ "installation_command": "brew install docker-agent",
254
254
  "installation_instructions": "Install cagent via pip.",
255
255
  "requirements": ["python3", "pip"],
256
256
  },
@@ -1,13 +1,13 @@
1
1
  # Schema defined in agent_schema.py
2
- # https://github.com/cagent/cagent
2
+ # https://github.com/docker/docker-agent
3
3
 
4
4
  identity = "cagent.dev"
5
5
  name = "cagent"
6
6
  short_name = "cagent"
7
- url = "https://github.com/cagent/cagent"
7
+ url = "https://github.com/docker/docker-agent"
8
8
  protocol = "acp"
9
9
  author_name = "cagent"
10
- author_url = "https://github.com/cagent"
10
+ author_url = "https://github.com/docker"
11
11
  publisher_name = "SuperQode Team"
12
12
  publisher_url = "https://github.com/SuperagenticAI/superqode"
13
13
  type = "coding"
@@ -31,21 +31,20 @@ cagent is a powerful, easy-to-use, customizable multi-agent runtime that orchest
31
31
 
32
32
  ## Installation
33
33
 
34
- Install cagent via pip:
34
+ Install cagent (Docker Agent) via Homebrew:
35
35
 
36
36
  ```bash
37
- pip install cagent
37
+ brew install docker-agent
38
38
  ```
39
39
 
40
40
  **Requirements:**
41
- - Python 3.8 or higher
42
- - pip
41
+ - Homebrew, or Docker Desktop 4.63+ which ships it as a CLI plugin
43
42
 
44
43
  ---
45
44
 
46
- **GitHub**: https://github.com/cagent/cagent
45
+ **GitHub**: https://github.com/docker/docker-agent
47
46
  '''
48
47
 
49
48
  [actions."*".install]
50
- command = "pip install cagent"
49
+ command = "brew install docker-agent"
51
50
  description = "Install cagent"
@@ -1,13 +1,13 @@
1
1
  # Schema defined in agent_schema.py
2
- # https://github.com/codeassistant/codeassistant
2
+ # https://github.com/stippi/code-assistant
3
3
 
4
4
  identity = "codeassistant.dev"
5
5
  name = "Code Assistant"
6
6
  short_name = "codeassistant"
7
- url = "https://github.com/codeassistant/codeassistant"
7
+ url = "https://github.com/stippi/code-assistant"
8
8
  protocol = "acp"
9
9
  author_name = "Code Assistant"
10
- author_url = "https://github.com/codeassistant"
10
+ author_url = "https://github.com/stippi"
11
11
  publisher_name = "SuperQode Team"
12
12
  publisher_url = "https://github.com/SuperagenticAI/superqode"
13
13
  type = "coding"
@@ -31,10 +31,10 @@ Code Assistant is an AI coding assistant built in Rust for autonomous code analy
31
31
 
32
32
  ## Installation
33
33
 
34
- Install Code Assistant via Cargo:
34
+ Download the latest release, or build from source:
35
35
 
36
36
  ```bash
37
- cargo install code-assistant
37
+ cargo install --git https://github.com/stippi/code-assistant
38
38
  ```
39
39
 
40
40
  **Requirements:**
@@ -43,9 +43,9 @@ cargo install code-assistant
43
43
 
44
44
  ---
45
45
 
46
- **GitHub**: https://github.com/codeassistant/codeassistant
46
+ **GitHub**: https://github.com/stippi/code-assistant
47
47
  '''
48
48
 
49
49
  [actions."*".install]
50
- command = "cargo install code-assistant"
51
- description = "Install Code Assistant via Cargo"
50
+ command = "cargo install --git https://github.com/stippi/code-assistant"
51
+ description = "Build Code Assistant from source"
@@ -20,7 +20,7 @@ AI coding agent CLI.
20
20
  ## Installation
21
21
 
22
22
  ```bash
23
- npm install -g crow-cli
23
+ uv tool install crow-cli
24
24
  ```
25
25
 
26
26
  For ACP mode:
@@ -33,5 +33,5 @@ See https://crow-ai.dev for details.
33
33
  '''
34
34
 
35
35
  [actions."*".install]
36
- command = "npm install -g crow-cli"
36
+ command = "uv tool install crow-cli"
37
37
  description = "Install crow-cli"
@@ -20,7 +20,7 @@ AI coding agent with ACP support.
20
20
  ## Installation
21
21
 
22
22
  ```bash
23
- cargo install fount
23
+ curl -fsSL https://steve02081504.github.io/fount/install.sh | bash
24
24
  ```
25
25
 
26
26
  Or build from source:
@@ -35,5 +35,5 @@ See https://github.com/steve02081504/fount for details.
35
35
  '''
36
36
 
37
37
  [actions."*".install]
38
- command = "cargo install fount"
38
+ command = "curl -fsSL https://steve02081504.github.io/fount/install.sh | bash"
39
39
  description = "Install fount"
@@ -50,5 +50,5 @@ What can I help you build today?
50
50
  '''
51
51
 
52
52
  [actions."*".install]
53
- command = "pipx install goose-ai"
54
- description = "Install Goose via pipx (see https://zed.dev/acp for latest)"
53
+ command = "curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash"
54
+ description = "Install Goose with Block's own installer"
@@ -1,13 +1,13 @@
1
1
  # Schema defined in agent_schema.py
2
- # https://github.com/llmling/llmling-agent
2
+ # https://github.com/phil65/agentpool
3
3
 
4
4
  identity = "llmlingagent.dev"
5
5
  name = "LLMling-Agent"
6
6
  short_name = "llmlingagent"
7
- url = "https://github.com/llmling/llmling-agent"
7
+ url = "https://github.com/phil65/agentpool"
8
8
  protocol = "acp"
9
9
  author_name = "LLMling"
10
- author_url = "https://github.com/llmling"
10
+ author_url = "https://github.com/phil65"
11
11
  publisher_name = "SuperQode Team"
12
12
  publisher_url = "https://github.com/SuperagenticAI/superqode"
13
13
  type = "coding"
@@ -31,21 +31,20 @@ LLMling-Agent is a framework for creating and managing LLM-powered agents to pro
31
31
 
32
32
  ## Installation
33
33
 
34
- Install LLMling-Agent via pip:
34
+ LLMling-Agent is now published as AgentPool. Install it with uv:
35
35
 
36
36
  ```bash
37
- pip install llmling-agent
37
+ uv tool install agentpool
38
38
  ```
39
39
 
40
40
  **Requirements:**
41
- - Python 3.8 or higher
42
- - pip
41
+ - uv, or pip
43
42
 
44
43
  ---
45
44
 
46
- **GitHub**: https://github.com/llmling/llmling-agent
45
+ **GitHub**: https://github.com/phil65/agentpool
47
46
  '''
48
47
 
49
48
  [actions."*".install]
50
- command = "pip install llmling-agent"
49
+ command = "uv tool install agentpool"
51
50
  description = "Install LLMling-Agent"
@@ -21,7 +21,7 @@ AI coding agent by Poolside.
21
21
 
22
22
  ```bash
23
23
  # Install Pool CLI
24
- npm install -g @poolsideai/pool
24
+ curl -fsSL https://downloads.poolside.ai/pool/install.sh | sh
25
25
  ```
26
26
 
27
27
  For ACP mode:
@@ -34,5 +34,5 @@ See https://github.com/poolsideai/pool for details.
34
34
  '''
35
35
 
36
36
  [actions."*".install]
37
- command = "npm install -g @poolsideai/pool"
37
+ command = "curl -fsSL https://downloads.poolside.ai/pool/install.sh | sh"
38
38
  description = "Install Poolside CLI"
@@ -20,7 +20,7 @@ AI coding CLI with ACP support.
20
20
  ## Installation
21
21
 
22
22
  ```bash
23
- npm install -g qoder-cli
23
+ npm install -g @qoder-ai/qodercli
24
24
  ```
25
25
 
26
26
  For ACP mode:
@@ -33,5 +33,5 @@ See https://docs.qoder.com/cli/acp for details.
33
33
  '''
34
34
 
35
35
  [actions."*".install]
36
- command = "npm install -g qoder-cli"
36
+ command = "npm install -g @qoder-ai/qodercli"
37
37
  description = "Install Qoder CLI"
@@ -20,12 +20,12 @@ AI coding agent by siGit with ACP support.
20
20
  ## Installation
21
21
 
22
22
  ```bash
23
- npm install -g sigit
23
+ cargo install sigit
24
24
  ```
25
25
 
26
26
  See https://github.com/getsigit/sigit for details.
27
27
  '''
28
28
 
29
29
  [actions."*".install]
30
- command = "npm install -g sigit"
30
+ command = "cargo install sigit"
31
31
  description = "Install siGit Code"
@@ -1,10 +1,10 @@
1
1
  # Schema defined in agent_schema.py
2
- # https://github.com/stakpak/stakpak
2
+ # https://github.com/stakpak/agent
3
3
 
4
4
  identity = "stakpak.dev"
5
5
  name = "Stakpak"
6
6
  short_name = "stakpak"
7
- url = "https://github.com/stakpak/stakpak"
7
+ url = "https://github.com/stakpak/agent"
8
8
  protocol = "acp"
9
9
  author_name = "Stakpak"
10
10
  author_url = "https://github.com/stakpak"
@@ -31,21 +31,20 @@ Stakpak is an ACP-compatible agent focused on providing comprehensive code assis
31
31
 
32
32
  ## Installation
33
33
 
34
- Install Stakpak via pip:
34
+ Install Stakpak with its own installer, or Homebrew:
35
35
 
36
36
  ```bash
37
- pip install stakpak
37
+ curl -sSL https://stakpak.dev/install.sh | sh
38
38
  ```
39
39
 
40
40
  **Requirements:**
41
- - Python 3.8 or higher
42
- - pip
41
+ - curl, or Homebrew (`brew install stakpak`)
43
42
 
44
43
  ---
45
44
 
46
- **GitHub**: https://github.com/stakpak/stakpak
45
+ **GitHub**: https://github.com/stakpak/agent
47
46
  '''
48
47
 
49
48
  [actions."*".install]
50
- command = "pip install stakpak"
49
+ command = "curl -sSL https://stakpak.dev/install.sh | sh"
51
50
  description = "Install Stakpak"