brigade-cli 0.23.2__tar.gz → 0.23.3__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 (595) hide show
  1. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/PKG-INFO +1 -1
  2. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/pyproject.toml +1 -1
  3. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/__init__.py +1 -1
  4. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/component_install.py +11 -3
  5. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/components/manifest-v1.json +1 -1
  6. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hermes/memory-handoff.harness.json +1 -1
  7. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hermes/model-lanes.harness.json +1 -1
  8. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hermes/workspace.harness.json +1 -1
  9. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/chat-memory-sweep.example.json +1 -1
  10. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/memory-care.example.json +1 -1
  11. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/policies/personal.json +1 -1
  12. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/policies/public-content.json +1 -1
  13. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/policies/public-repo.json +1 -1
  14. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/PKG-INFO +1 -1
  15. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_component_install.py +17 -2
  16. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_component_manifest.py +1 -1
  17. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_metadata.py +5 -3
  18. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/LICENSE +0 -0
  19. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/MANIFEST.in +0 -0
  20. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/QUICKSTART.md +0 -0
  21. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/README.md +0 -0
  22. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/THIRD_PARTY_NOTICES.md +0 -0
  23. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/setup.cfg +0 -0
  24. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/__main__.py +0 -0
  25. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/aboyeur.py +0 -0
  26. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/acpx_adapter.py +0 -0
  27. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/actionqueue.py +0 -0
  28. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/add.py +0 -0
  29. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/agent_skill_format.py +0 -0
  30. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/agents.py +0 -0
  31. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/budgets.py +0 -0
  32. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/budgets_cmd.py +0 -0
  33. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/__init__.py +0 -0
  34. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/actions.py +0 -0
  35. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/core.py +0 -0
  36. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/readiness.py +0 -0
  37. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/report_review_ops.py +0 -0
  38. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/reports.py +0 -0
  39. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/center_cmd/schema_ops.py +0 -0
  40. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/chat_cmd.py +0 -0
  41. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/claude_hooks/__init__.py +0 -0
  42. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/claude_hooks/classify.py +0 -0
  43. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/claude_hooks/install_cmd.py +0 -0
  44. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/claude_hooks/package.py +0 -0
  45. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/claude_hooks/runtime.py +0 -0
  46. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/__init__.py +0 -0
  47. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/_common.py +0 -0
  48. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/add.py +0 -0
  49. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/budgets.py +0 -0
  50. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/center.py +0 -0
  51. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/chat.py +0 -0
  52. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/completions.py +0 -0
  53. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/context.py +0 -0
  54. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/daily.py +0 -0
  55. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/doctor.py +0 -0
  56. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/dogfood.py +0 -0
  57. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/evidence.py +0 -0
  58. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/extras.py +0 -0
  59. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/friction.py +0 -0
  60. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/guard.py +0 -0
  61. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/handoff.py +0 -0
  62. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/handoff_template.py +0 -0
  63. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/harness.py +0 -0
  64. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/hermes_fragments.py +0 -0
  65. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/ingest.py +0 -0
  66. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/init.py +0 -0
  67. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/learn.py +0 -0
  68. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/mcp.py +0 -0
  69. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/memory.py +0 -0
  70. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/model.py +0 -0
  71. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/notifications.py +0 -0
  72. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/openclaw_fragments.py +0 -0
  73. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/operator.py +0 -0
  74. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/outcome.py +0 -0
  75. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/pantry.py +0 -0
  76. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/profiles.py +0 -0
  77. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/projects.py +0 -0
  78. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/receipts.py +0 -0
  79. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/reconfigure.py +0 -0
  80. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/release.py +0 -0
  81. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/repos.py +0 -0
  82. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/research.py +0 -0
  83. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/roadmap.py +0 -0
  84. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/roster.py +0 -0
  85. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/route.py +0 -0
  86. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/run.py +0 -0
  87. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/runbook.py +0 -0
  88. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/runs.py +0 -0
  89. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/scrub.py +0 -0
  90. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/search.py +0 -0
  91. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/security.py +0 -0
  92. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/setup.py +0 -0
  93. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/skills.py +0 -0
  94. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/stations.py +0 -0
  95. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/status.py +0 -0
  96. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/tokens.py +0 -0
  97. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/tools.py +0 -0
  98. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/untrusted.py +0 -0
  99. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/work/__init__.py +0 -0
  100. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/work/dispatching.py +0 -0
  101. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/work/phases.py +0 -0
  102. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/work/registration.py +0 -0
  103. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cli/workflow.py +0 -0
  104. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/codex_appserver.py +0 -0
  105. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/codex_cloud.py +0 -0
  106. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/completions.py +0 -0
  107. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/component_manifest.py +0 -0
  108. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/component_paths.py +0 -0
  109. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/component_state.py +0 -0
  110. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/config.py +0 -0
  111. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/context_cmd.py +0 -0
  112. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/context_eval.py +0 -0
  113. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/cursor_user_cmd.py +0 -0
  114. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/__init__.py +0 -0
  115. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/approvals.py +0 -0
  116. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/candidates.py +0 -0
  117. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/closeout_ops.py +0 -0
  118. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/config.py +0 -0
  119. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/hardening.py +0 -0
  120. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/run_loop.py +0 -0
  121. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/status_plan.py +0 -0
  122. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/daily_cmd/telemetry_ops.py +0 -0
  123. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/doctor.py +0 -0
  124. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/dogfood_cmd.py +0 -0
  125. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/evidence_brief.py +0 -0
  126. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/evidence_cmd.py +0 -0
  127. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/extras.py +0 -0
  128. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/fragments.py +0 -0
  129. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/friction_cmd.py +0 -0
  130. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/graphtrail_delta.py +0 -0
  131. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/__init__.py +0 -0
  132. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/__main__.py +0 -0
  133. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/allowlist.py +0 -0
  134. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/audit.py +0 -0
  135. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/baseline.py +0 -0
  136. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/cli.py +0 -0
  137. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/detectors/__init__.py +0 -0
  138. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/detectors/opf.py +0 -0
  139. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/engine.py +0 -0
  140. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/examples/n8n-validation/blocked-local-service.json +0 -0
  141. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/examples/n8n-validation/blocked-secret-token.json +0 -0
  142. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/examples/n8n-validation/clean-blog-post.json +0 -0
  143. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/examples/n8n-validation/clean-social-post.json +0 -0
  144. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/examples/n8n-validation/warn-review-email.json +0 -0
  145. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/git_commits.py +0 -0
  146. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/git_scan.py +0 -0
  147. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/n8n_advisory.py +0 -0
  148. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/n8n_validate.py +0 -0
  149. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/policies/openclaw-message.json +0 -0
  150. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/policies/pr-draft.json +0 -0
  151. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/policies/public-content.json +0 -0
  152. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/policies/public-repo.json +0 -0
  153. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/policy.py +0 -0
  154. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/pr_draft.py +0 -0
  155. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/pr_prepare.py +0 -0
  156. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/publish_check.py +0 -0
  157. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/report.py +0 -0
  158. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/rules.py +0 -0
  159. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/guard/types.py +0 -0
  160. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff.py +0 -0
  161. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/__init__.py +0 -0
  162. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/drafts.py +0 -0
  163. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/inspect_ops.py +0 -0
  164. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/issue_ops.py +0 -0
  165. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/linting.py +0 -0
  166. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/migrate_ops.py +0 -0
  167. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/models.py +0 -0
  168. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/receipts.py +0 -0
  169. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_cmd/sources.py +0 -0
  170. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/handoff_content.py +0 -0
  171. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/hermes_adapter.py +0 -0
  172. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/ingest.py +0 -0
  173. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/install.py +0 -0
  174. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/learn_cmd.py +0 -0
  175. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/localio.py +0 -0
  176. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/managed.py +0 -0
  177. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/managed_snapshot.py +0 -0
  178. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/mcp_adapters.py +0 -0
  179. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/mcp_cmd.py +0 -0
  180. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/mcp_runtime.py +0 -0
  181. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/mcp_server.py +0 -0
  182. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_cmd.py +0 -0
  183. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/__init__.py +0 -0
  184. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/__main__.py +0 -0
  185. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/cli.py +0 -0
  186. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/compact.py +0 -0
  187. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/git.py +0 -0
  188. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/init_git.py +0 -0
  189. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/lint.py +0 -0
  190. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/parsing.py +0 -0
  191. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/paths.py +0 -0
  192. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/safety.py +0 -0
  193. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor/status.py +0 -0
  194. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/memory_doctor_cmd.py +0 -0
  195. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/model_inventory.py +0 -0
  196. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/model_scorecard.py +0 -0
  197. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/model_trials.py +0 -0
  198. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/notifications_cmd.py +0 -0
  199. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/__init__.py +0 -0
  200. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/adoption.py +0 -0
  201. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/guide.py +0 -0
  202. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/health.py +0 -0
  203. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/lifecycle.py +0 -0
  204. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/migration.py +0 -0
  205. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/operator_cmd/surfaces.py +0 -0
  206. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/outcome.py +0 -0
  207. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/outcome_cmd.py +0 -0
  208. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/pantry_cmd.py +0 -0
  209. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/phases_cmd/__init__.py +0 -0
  210. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/phases_cmd/checks_actions.py +0 -0
  211. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/phases_cmd/constants.py +0 -0
  212. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/phases_cmd/session_lifecycle.py +0 -0
  213. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/phases_cmd/session_ops.py +0 -0
  214. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/proc.py +0 -0
  215. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/profiles.py +0 -0
  216. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/profiles_cmd.py +0 -0
  217. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/projects_cmd.py +0 -0
  218. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/prompt.py +0 -0
  219. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/py.typed +0 -0
  220. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/receipt_signing.py +0 -0
  221. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/receipts_cmd.py +0 -0
  222. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/reconfigure.py +0 -0
  223. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/registry.py +0 -0
  224. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/__init__.py +0 -0
  225. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/candidate.py +0 -0
  226. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/candidate_audit_ops.py +0 -0
  227. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/ci.py +0 -0
  228. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/commands.py +0 -0
  229. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/evidence.py +0 -0
  230. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/install_smoke.py +0 -0
  231. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/paths.py +0 -0
  232. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_cmd/schema_ops.py +0 -0
  233. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/release_version_sync.py +0 -0
  234. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/render.py +0 -0
  235. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/reportstore.py +0 -0
  236. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/__init__.py +0 -0
  237. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/actions_dispatch.py +0 -0
  238. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/adoption.py +0 -0
  239. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/constants.py +0 -0
  240. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/fleet.py +0 -0
  241. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/fleet_health.py +0 -0
  242. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/friction_fleet.py +0 -0
  243. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/release_ops.py +0 -0
  244. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/release_train.py +0 -0
  245. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/repos_cmd/sweeps.py +0 -0
  246. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/__init__.py +0 -0
  247. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/config.py +0 -0
  248. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/engine.py +0 -0
  249. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/extract.py +0 -0
  250. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/handoff.py +0 -0
  251. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/llm.py +0 -0
  252. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/registry.py +0 -0
  253. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/report.py +0 -0
  254. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/sources/__init__.py +0 -0
  255. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/sources/cli.py +0 -0
  256. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/sources/local.py +0 -0
  257. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/sources/web.py +0 -0
  258. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research/types.py +0 -0
  259. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/research_cmd.py +0 -0
  260. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/result_integrity.py +0 -0
  261. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/roadmap_cmd.py +0 -0
  262. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/roster.py +0 -0
  263. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/roster_cmd.py +0 -0
  264. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/route_catalog.py +0 -0
  265. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/router.py +0 -0
  266. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/run_control.py +0 -0
  267. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/run_receipts.py +0 -0
  268. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/run_resume.py +0 -0
  269. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/run_transport.py +0 -0
  270. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/runbook_cmd.py +0 -0
  271. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/runguard.py +0 -0
  272. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/runs_cmd.py +0 -0
  273. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/scrub.py +0 -0
  274. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/search_cmd.py +0 -0
  275. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/__init__.py +0 -0
  276. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/commands.py +0 -0
  277. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/config.py +0 -0
  278. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/enrichment.py +0 -0
  279. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/models.py +0 -0
  280. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/reports.py +0 -0
  281. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/scan_engine.py +0 -0
  282. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/suppression.py +0 -0
  283. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/security_cmd/template_audit_ops.py +0 -0
  284. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/selection.py +0 -0
  285. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/skills_cmd.py +0 -0
  286. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/station.py +0 -0
  287. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/station_health.py +0 -0
  288. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/station_manifest.py +0 -0
  289. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/stations_cmd.py +0 -0
  290. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/status.py +0 -0
  291. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/telemetry_export.py +0 -0
  292. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/adal/memory-handoffs/TEMPLATE.md +0 -0
  293. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/aider/memory-handoffs/TEMPLATE.md +0 -0
  294. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/amp/memory-handoffs/TEMPLATE.md +0 -0
  295. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/antigravity/memory-handoffs/TEMPLATE.md +0 -0
  296. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/claude/memory-handoffs/TEMPLATE.md +0 -0
  297. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/codex/memory-handoffs/TEMPLATE.md +0 -0
  298. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/continue/memory-handoffs/TEMPLATE.md +0 -0
  299. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/copilot/memory-handoffs/TEMPLATE.md +0 -0
  300. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/crush/memory-handoffs/TEMPLATE.md +0 -0
  301. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/cursor/memory-handoffs/TEMPLATE.md +0 -0
  302. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/depth/repo.json +0 -0
  303. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/depth/workspace.json +0 -0
  304. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/generic/harness-adapter-checklist.md +0 -0
  305. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/generic/memory-contract.md +0 -0
  306. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/goose/memory-handoffs/TEMPLATE.md +0 -0
  307. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/grok/memory-handoffs/TEMPLATE.md +0 -0
  308. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/handoff/handoff-sources.example.json +0 -0
  309. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/handoff/openclaw-ingest-receipt.example.json +0 -0
  310. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/adal.json +0 -0
  311. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/aider.json +0 -0
  312. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/amp.json +0 -0
  313. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/antigravity.json +0 -0
  314. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/claude.json +0 -0
  315. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/codex.json +0 -0
  316. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/continue.json +0 -0
  317. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/copilot.json +0 -0
  318. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/crush.json +0 -0
  319. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/cursor.json +0 -0
  320. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/goose.json +0 -0
  321. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/grok.json +0 -0
  322. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/hermes.json +0 -0
  323. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/kimi.json +0 -0
  324. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/openclaw.json +0 -0
  325. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/opencode.json +0 -0
  326. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/openhands.json +0 -0
  327. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/pi.json +0 -0
  328. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/harnesses/qwen.json +0 -0
  329. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hermes/README.md +0 -0
  330. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hermes/memory-handoffs/TEMPLATE.md +0 -0
  331. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/hooks/pre-push +0 -0
  332. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/includes/publisher.json +0 -0
  333. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/includes/repo-extras.json +0 -0
  334. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/kimi/memory-handoffs/TEMPLATE.md +0 -0
  335. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/backup-restic.md +0 -0
  336. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/chat-surface-crawlers.md +0 -0
  337. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/content-safety.md +0 -0
  338. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/handoff-flow.md +0 -0
  339. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/memory-architecture.md +0 -0
  340. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/memory-care-staleness.md +0 -0
  341. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/memory-scanner.md +0 -0
  342. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/multi-workspace-handoff-admin.md +0 -0
  343. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/obsidian-notes.md +0 -0
  344. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/pipeline-standups.md +0 -0
  345. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/memory/cards/token-glace-output-compaction.md +0 -0
  346. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openclaw/README.md +0 -0
  347. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openclaw/acp-escalation.openclaw.json +0 -0
  348. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openclaw/memory-sweep-cron.openclaw.json +0 -0
  349. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openclaw/model-aliases.openclaw.json +0 -0
  350. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openclaw/ollama-memory-search.openclaw.json +0 -0
  351. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/opencode/memory-handoffs/TEMPLATE.md +0 -0
  352. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/openhands/memory-handoffs/TEMPLATE.md +0 -0
  353. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/pi/memory-handoffs/TEMPLATE.md +0 -0
  354. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/qwen/memory-handoffs/TEMPLATE.md +0 -0
  355. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/repo/AGENTS.md +0 -0
  356. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/repo/CLAUDE.md +0 -0
  357. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/repo/INSTALL_FOR_AGENTS.md +0 -0
  358. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/scripts/backup-restic.sh +0 -0
  359. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/brigade-work/CHANGELOG.md +0 -0
  360. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/brigade-work/SKILL.md +0 -0
  361. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/brigade-work/skill.json +0 -0
  362. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/note/CHANGELOG.md +0 -0
  363. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/note/SKILL.md +0 -0
  364. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/note/skill.json +0 -0
  365. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/ultra-work-scout/CHANGELOG.md +0 -0
  366. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/ultra-work-scout/SKILL.md +0 -0
  367. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/skills/ultra-work-scout/skill.json +0 -0
  368. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/stations/managed-snapshot.json +0 -0
  369. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/AGENTS.md +0 -0
  370. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/CLAUDE.md +0 -0
  371. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/HEARTBEAT.md +0 -0
  372. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/IDENTITY.md +0 -0
  373. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/INSTALL_FOR_AGENTS.md +0 -0
  374. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/MEMORY.md +0 -0
  375. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/SAFETY_RULES.md +0 -0
  376. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/SOUL.md +0 -0
  377. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/TOOLS.md +0 -0
  378. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/USER.md +0 -0
  379. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/rules/acceptance-driven-work.md +0 -0
  380. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates/workspace/rules/issue-tdd-loop.md +0 -0
  381. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/templates.py +0 -0
  382. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tokens_cmd.py +0 -0
  383. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/toml_compat.py +0 -0
  384. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/__init__.py +0 -0
  385. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/calls.py +0 -0
  386. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/catalog_health.py +0 -0
  387. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/catalog_manage.py +0 -0
  388. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/checkpoint_store.py +0 -0
  389. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/checkpoints.py +0 -0
  390. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/config.py +0 -0
  391. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/constants.py +0 -0
  392. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/helpers.py +0 -0
  393. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/issues.py +0 -0
  394. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/mcp.py +0 -0
  395. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/packs.py +0 -0
  396. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/paths.py +0 -0
  397. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/projections.py +0 -0
  398. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/runs.py +0 -0
  399. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/runtimes.py +0 -0
  400. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/safety.py +0 -0
  401. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/tools_cmd/status.py +0 -0
  402. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/untrusted.py +0 -0
  403. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/untrusted_cmd.py +0 -0
  404. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/__init__.py +0 -0
  405. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/backup.py +0 -0
  406. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/config.py +0 -0
  407. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/constants.py +0 -0
  408. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/helpers.py +0 -0
  409. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/imports.py +0 -0
  410. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/ledger.py +0 -0
  411. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/reviews.py +0 -0
  412. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/scanners.py +0 -0
  413. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/services.py +0 -0
  414. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/session/__init__.py +0 -0
  415. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/session/briefing.py +0 -0
  416. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/session/lifecycle.py +0 -0
  417. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/session/run_status.py +0 -0
  418. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/session/task_ops.py +0 -0
  419. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/sweeps.py +0 -0
  420. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/work_cmd/verification.py +0 -0
  421. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade/workflow_cmd.py +0 -0
  422. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/SOURCES.txt +0 -0
  423. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/dependency_links.txt +0 -0
  424. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/entry_points.txt +0 -0
  425. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/requires.txt +0 -0
  426. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/src/brigade_cli.egg-info/top_level.txt +0 -0
  427. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_aboyeur.py +0 -0
  428. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_acpx_adapter.py +0 -0
  429. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_actionqueue.py +0 -0
  430. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_add.py +0 -0
  431. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_agent_skill_format.py +0 -0
  432. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_agent_write_probes.py +0 -0
  433. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_agents.py +0 -0
  434. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_agents_model_pin.py +0 -0
  435. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_agents_windows_executable.py +0 -0
  436. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_budgets.py +0 -0
  437. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_center_actions_cmd.py +0 -0
  438. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_center_readiness_cmd.py +0 -0
  439. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_center_report_cmd.py +0 -0
  440. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_ci_workflow.py +0 -0
  441. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_claude_hooks_doctor.py +0 -0
  442. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_claude_hooks_runtime.py +0 -0
  443. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_claude_hooks_settings_merge.py +0 -0
  444. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_cli_alias.py +0 -0
  445. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_cli_help.py +0 -0
  446. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_cli_setup.py +0 -0
  447. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_codex_appserver.py +0 -0
  448. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_codex_appserver_integration.py +0 -0
  449. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_codex_cloud.py +0 -0
  450. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_completions.py +0 -0
  451. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_component_manifest_provenance.py +0 -0
  452. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_component_paths.py +0 -0
  453. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_component_state.py +0 -0
  454. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_config.py +0 -0
  455. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_context_cmd.py +0 -0
  456. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_context_learning_closeout_cmd.py +0 -0
  457. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_cursor_user_cmd.py +0 -0
  458. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_daily_driver_cmd.py +0 -0
  459. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_doctor.py +0 -0
  460. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_dogfood_cmd.py +0 -0
  461. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_evidence_cmd.py +0 -0
  462. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_extras_gate.py +0 -0
  463. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_fleet_action_dispatch_cmd.py +0 -0
  464. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_fragments.py +0 -0
  465. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_friction_cmd.py +0 -0
  466. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_gitignore.py +0 -0
  467. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_handoff.py +0 -0
  468. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_handoff_cmd.py +0 -0
  469. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_harness_conformance_probe.py +0 -0
  470. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_ingest.py +0 -0
  471. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_init.py +0 -0
  472. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_install.py +0 -0
  473. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_issue266_benchmark.py +0 -0
  474. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_issue266_work_status_memory.py +0 -0
  475. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_localio.py +0 -0
  476. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_managed.py +0 -0
  477. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_managed_snapshot.py +0 -0
  478. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_adapters.py +0 -0
  479. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_cmd.py +0 -0
  480. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_integration.py +0 -0
  481. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_runtime.py +0 -0
  482. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_server.py +0 -0
  483. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_url_only_import.py +0 -0
  484. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_mcp_user_scope.py +0 -0
  485. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_memory_cmd.py +0 -0
  486. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_memory_search_mcp.py +0 -0
  487. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_model_inventory.py +0 -0
  488. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_model_scorecard.py +0 -0
  489. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_model_trials.py +0 -0
  490. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_neutrality.py +0 -0
  491. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_notifications_cmd.py +0 -0
  492. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_operator_checkup.py +0 -0
  493. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_operator_cmd.py +0 -0
  494. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_outcome.py +0 -0
  495. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_outcome_activegraph.py +0 -0
  496. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_outcome_cmd.py +0 -0
  497. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_outcome_execute.py +0 -0
  498. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_pantry_cmd.py +0 -0
  499. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_parity_backlog.py +0 -0
  500. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_phase257_facades.py +0 -0
  501. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_phase_ledger_session_cmd.py +0 -0
  502. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_phases_cmd_facade.py +0 -0
  503. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_pre_push_hook.py +0 -0
  504. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_privacy_regression.py +0 -0
  505. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_proc.py +0 -0
  506. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_profiles.py +0 -0
  507. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_prompt.py +0 -0
  508. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_publish_workflow.py +0 -0
  509. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_read_only_enforcement.py +0 -0
  510. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_receipt_signing.py +0 -0
  511. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_receipts_cmd.py +0 -0
  512. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_reconfigure.py +0 -0
  513. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_registry.py +0 -0
  514. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_checklist.py +0 -0
  515. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_ci_health_cmd.py +0 -0
  516. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_cmd.py +0 -0
  517. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_readiness_hygiene_cmd.py +0 -0
  518. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_reconcile_evidence_cmd.py +0 -0
  519. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_smoke_health_cmd.py +0 -0
  520. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_train_evidence_cmd.py +0 -0
  521. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_version_sync.py +0 -0
  522. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_release_waivers_manifest_cmd.py +0 -0
  523. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_report_review_closeout_cmd.py +0 -0
  524. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_reportstore.py +0 -0
  525. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_actions_cmd.py +0 -0
  526. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_adoption_cmd.py +0 -0
  527. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_cmd.py +0 -0
  528. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_cmd_facade.py +0 -0
  529. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_friction_cmd.py +0 -0
  530. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_release_train_cmd.py +0 -0
  531. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_repos_sweep_health_cmd.py +0 -0
  532. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_cli_sources.py +0 -0
  533. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_cmd.py +0 -0
  534. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_config.py +0 -0
  535. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_engine.py +0 -0
  536. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_extract.py +0 -0
  537. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_handoff.py +0 -0
  538. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_llm.py +0 -0
  539. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_local_sources.py +0 -0
  540. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_registry.py +0 -0
  541. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_report.py +0 -0
  542. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_types.py +0 -0
  543. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_research_web.py +0 -0
  544. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_roadmap_cmd.py +0 -0
  545. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_roadmap_inventory_cmd.py +0 -0
  546. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_roster.py +0 -0
  547. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_roster_cmd.py +0 -0
  548. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_router.py +0 -0
  549. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_router_properties.py +0 -0
  550. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_cli.py +0 -0
  551. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_control.py +0 -0
  552. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_detach.py +0 -0
  553. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_resume.py +0 -0
  554. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_transport_env.py +0 -0
  555. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_run_transport_recovery.py +0 -0
  556. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_runbook_cmd.py +0 -0
  557. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_runbook_import.py +0 -0
  558. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_runguard.py +0 -0
  559. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_runs_cmd.py +0 -0
  560. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_runs_watch.py +0 -0
  561. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_scrub.py +0 -0
  562. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_search_cmd.py +0 -0
  563. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_security_cmd.py +0 -0
  564. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_security_diff.py +0 -0
  565. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_security_template_audit_cmd.py +0 -0
  566. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_selection.py +0 -0
  567. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_skill_templates_metadata.py +0 -0
  568. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_skills_cmd.py +0 -0
  569. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_station.py +0 -0
  570. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_station_manifest.py +0 -0
  571. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_stations_discover.py +0 -0
  572. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_stations_verify.py +0 -0
  573. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_status.py +0 -0
  574. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_subprocess_guards.py +0 -0
  575. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_telemetry_export.py +0 -0
  576. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_test_fixture_contract.py +0 -0
  577. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_tokens_cmd.py +0 -0
  578. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_toml_compat.py +0 -0
  579. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_tools_cmd_facade.py +0 -0
  580. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_untrusted.py +0 -0
  581. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_untrusted_cmd.py +0 -0
  582. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_verify_script.py +0 -0
  583. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_version_sync_script.py +0 -0
  584. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_waiver_policy_health_cmd.py +0 -0
  585. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_backup.py +0 -0
  586. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_facade.py +0 -0
  587. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_imports.py +0 -0
  588. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_ledger.py +0 -0
  589. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_reviews.py +0 -0
  590. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_scanners.py +0 -0
  591. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_services.py +0 -0
  592. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_session.py +0 -0
  593. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_sweeps.py +0 -0
  594. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_work_cmd_verification.py +0 -0
  595. {brigade_cli-0.23.2 → brigade_cli-0.23.3}/tests/test_workflow_cmd.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brigade-cli
3
- Version: 0.23.2
3
+ Version: 0.23.3
4
4
  Summary: Your agents run loops. Brigade keeps the receipts. Local control plane for multi-agent coding: share MCP/tools/memory, remember via handoffs, prove with file receipts, improve by promoting skills only on real exit codes. Claude Code, Codex, Grok, Hermes, OpenClaw, and more. Stations for evidence, code graph, pantry, skills. pipx install brigade-cli.
5
5
  Author-email: Solomon Neas <me@solomonneas.dev>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "brigade-cli"
7
- version = "0.23.2"
7
+ version = "0.23.3"
8
8
  description = "Your agents run loops. Brigade keeps the receipts. Local control plane for multi-agent coding: share MCP/tools/memory, remember via handoffs, prove with file receipts, improve by promoting skills only on real exit codes. Claude Code, Codex, Grok, Hermes, OpenClaw, and more. Stations for evidence, code graph, pantry, skills. pipx install brigade-cli."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """Brigade: local operator-system CLI for agent workspaces."""
2
2
 
3
- __version__ = "0.23.2"
3
+ __version__ = "0.23.3"
@@ -471,6 +471,13 @@ def _smoke_miseledger(
471
471
  raise ComponentInstallError(f"miseledger smoke failed: {path} version exited {completed.returncode}")
472
472
 
473
473
 
474
+ def _sessionfind_help_is_valid(stdout: str, stderr: str) -> bool:
475
+ combined = f"{stdout}{stderr}"
476
+ if "usage" in combined.lower():
477
+ return True
478
+ return any(line.strip().startswith("sessionfind ") for line in stdout.splitlines())
479
+
480
+
474
481
  def _smoke_sessionfind(
475
482
  path: Path,
476
483
  run: Callable[..., subprocess.CompletedProcess[str]],
@@ -487,9 +494,10 @@ def _smoke_sessionfind(
487
494
  raise ComponentInstallError(
488
495
  f"sessionfind smoke failed: {path} --help exited {completed.returncode}, expected 0"
489
496
  )
490
- combined = f"{completed.stdout or ''}{completed.stderr or ''}"
491
- if "usage" not in combined.lower():
492
- raise ComponentInstallError(f"sessionfind smoke failed: {path} --help produced no usage text")
497
+ stdout = completed.stdout or ""
498
+ stderr = completed.stderr or ""
499
+ if not _sessionfind_help_is_valid(stdout, stderr):
500
+ raise ComponentInstallError(f"sessionfind smoke failed: {path} --help produced no help text")
493
501
 
494
502
 
495
503
  def run_post_install_smoke(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema_version": 1,
3
- "brigade_version": "0.23.2",
3
+ "brigade_version": "0.23.3",
4
4
  "manifest_revision": "2026-07-19",
5
5
  "supported_platforms": [
6
6
  "linux-amd64",
@@ -5,7 +5,7 @@
5
5
  "Describes the handoff inbox + routing targets that Hermes should treat",
6
6
  "as the canonical memory contract."
7
7
  ],
8
- "_brigade_version": "0.23.2",
8
+ "_brigade_version": "0.23.3",
9
9
  "_brigade_status": "validated",
10
10
  "memory_handoff": {
11
11
  "inbox_dir": ".hermes/memory-handoffs",
@@ -5,7 +5,7 @@
5
5
  "Suggested model lane names. Same shape as the OpenClaw alias map so",
6
6
  "knowledge cards and runbooks can talk about lanes without naming providers."
7
7
  ],
8
- "_brigade_version": "0.23.2",
8
+ "_brigade_version": "0.23.3",
9
9
  "_brigade_status": "validated",
10
10
  "model_lanes": {
11
11
  "main": "<provider/main-model-id>",
@@ -8,7 +8,7 @@
8
8
  "",
9
9
  "Replace <hermes-config-path> with your Hermes config location."
10
10
  ],
11
- "_brigade_version": "0.23.2",
11
+ "_brigade_version": "0.23.3",
12
12
  "_brigade_status": "validated",
13
13
  "workspace": {
14
14
  "root": "<workspace-root>",
@@ -1,5 +1,5 @@
1
1
  {
2
- "_brigade_version": "0.23.2",
2
+ "_brigade_version": "0.23.3",
3
3
  "_description": "Example output contract for a nightly chat/session memory sweep. Keep raw chat transcripts in crawler archives; this file contains summaries and local source locators only.",
4
4
  "generated_at": "2026-05-26T22:09:00-04:00",
5
5
  "window": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "_brigade_version": "0.23.2",
2
+ "_brigade_version": "0.23.3",
3
3
  "_description": "Example config for a local memory-care scanner. Brigade does not run this scanner for you; it validates the output with `brigade doctor`.",
4
4
  "cards_glob": "memory/cards/*.md",
5
5
  "decay_dir": ".brigade/memory-care/decay",
@@ -4,7 +4,7 @@
4
4
  "It blocks secrets and attribution trailers, while warning on personal or infrastructure-like context.",
5
5
  "Use via: brigade handoff lint --content-guard --guard-policy personal"
6
6
  ],
7
- "_brigade_version": "0.23.2",
7
+ "_brigade_version": "0.23.3",
8
8
  "categories": {
9
9
  "secret": "block",
10
10
  "private-network": "warn",
@@ -4,7 +4,7 @@
4
4
  "social drafts, and docs that will be published, not just pushed.",
5
5
  "Use via: brigade scrub --policy public-content"
6
6
  ],
7
- "_brigade_version": "0.23.2",
7
+ "_brigade_version": "0.23.3",
8
8
  "categories": {
9
9
  "secret": "block",
10
10
  "private-network": "block",
@@ -4,7 +4,7 @@
4
4
  "Used by brigade pre-push hook and `brigade scrub`.",
5
5
  "Override by pointing CONTENT_GUARD_POLICY at your own copy of this file."
6
6
  ],
7
- "_brigade_version": "0.23.2",
7
+ "_brigade_version": "0.23.3",
8
8
  "categories": {
9
9
  "secret": "block",
10
10
  "private-network": "block",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brigade-cli
3
- Version: 0.23.2
3
+ Version: 0.23.3
4
4
  Summary: Your agents run loops. Brigade keeps the receipts. Local control plane for multi-agent coding: share MCP/tools/memory, remember via handoffs, prove with file receipts, improve by promoting skills only on real exit codes. Claude Code, Codex, Grok, Hermes, OpenClaw, and more. Stations for evidence, code graph, pantry, skills. pipx install brigade-cli.
5
5
  Author-email: Solomon Neas <me@solomonneas.dev>
6
6
  License: MIT
@@ -1096,11 +1096,26 @@ def test_run_post_install_smoke_rejects_miseledger_nonzero_exit(tmp_path):
1096
1096
  run_post_install_smoke(managed)
1097
1097
 
1098
1098
 
1099
+ SESSIONFIND_V060_HELP = (
1100
+ "sessionfind list [--source KIND] ...\nsessionfind search <query> ...\nsessionfind <query> ...\n"
1101
+ )
1102
+
1103
+
1099
1104
  def test_run_post_install_smoke_accepts_sessionfind_help_exit_zero(tmp_path):
1100
1105
  managed = _write_managed_smoke_stubs(tmp_path)
1101
1106
  run_post_install_smoke(managed)
1102
1107
 
1103
1108
 
1109
+ def test_run_post_install_smoke_accepts_sessionfind_v060_help_shape(tmp_path):
1110
+ script = (
1111
+ '#!/usr/bin/env python3\nimport sys\nif sys.argv[1:] == ["--help"]:\n'
1112
+ f' print({SESSIONFIND_V060_HELP!r}, end="")\n raise SystemExit(0)\nraise SystemExit(1)\n'
1113
+ )
1114
+ managed = _write_managed_smoke_stubs(tmp_path)
1115
+ managed["sessionfind"] = _write_managed_stub(tmp_path, "sessionfind", script=script)
1116
+ run_post_install_smoke(managed)
1117
+
1118
+
1104
1119
  def test_run_post_install_smoke_rejects_sessionfind_nonzero_exit(tmp_path):
1105
1120
  managed = _write_managed_smoke_stubs(tmp_path)
1106
1121
  script = smoke_stub_script("sessionfind").replace("raise SystemExit(0)", "raise SystemExit(2)", 1)
@@ -1109,14 +1124,14 @@ def test_run_post_install_smoke_rejects_sessionfind_nonzero_exit(tmp_path):
1109
1124
  run_post_install_smoke(managed)
1110
1125
 
1111
1126
 
1112
- def test_run_post_install_smoke_rejects_sessionfind_missing_usage(tmp_path):
1127
+ def test_run_post_install_smoke_rejects_sessionfind_missing_help(tmp_path):
1113
1128
  script = (
1114
1129
  '#!/usr/bin/env python3\nimport sys\nif sys.argv[1:] == ["--help"]:\n'
1115
1130
  ' print("options only")\n raise SystemExit(0)\nraise SystemExit(1)\n'
1116
1131
  )
1117
1132
  managed = _write_managed_smoke_stubs(tmp_path)
1118
1133
  managed["sessionfind"] = _write_managed_stub(tmp_path, "sessionfind", script=script)
1119
- with pytest.raises(ComponentInstallError, match="sessionfind smoke failed.*no usage text"):
1134
+ with pytest.raises(ComponentInstallError, match="sessionfind smoke failed.*no help text"):
1120
1135
  run_post_install_smoke(managed)
1121
1136
 
1122
1137
 
@@ -258,7 +258,7 @@ def test_bundled_manifest_pins_miseledger_and_graphtrail_assets():
258
258
  manifest = component_manifest.load()
259
259
 
260
260
  assert manifest.schema_version == 1
261
- assert manifest.brigade_version == "0.23.2"
261
+ assert manifest.brigade_version == "0.23.3"
262
262
  assert manifest.manifest_revision == "2026-07-19"
263
263
  assert manifest.supported_platforms == component_manifest.SUPPORTED_PLATFORMS
264
264
  assert set(manifest.components) == set(component_manifest.KNOWN_COMPONENT_IDS)
@@ -19,11 +19,13 @@ def test_current_release_has_one_fixed_section_with_recent_release_notes():
19
19
  assert text.count("### Fixed") == 1
20
20
  for expected in (
21
21
  "sessionfind v0.6.0",
22
+ "command-list",
22
23
  "`--help`",
23
- "absolute managed-path",
24
- "usage-text validation",
24
+ "usage-text",
25
+ "Windows",
26
+ "Go or Cargo",
25
27
  "#355",
26
- "PR #370",
28
+ "PR #372",
27
29
  ):
28
30
  assert expected in text
29
31
 
File without changes
File without changes
File without changes
File without changes
File without changes