raise-cli 3.1.6__tar.gz → 3.1.7__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 (964) hide show
  1. {raise_cli-3.1.6 → raise_cli-3.1.7}/.gitignore +2 -0
  2. {raise_cli-3.1.6 → raise_cli-3.1.7}/PKG-INFO +3 -3
  3. {raise_cli-3.1.6 → raise_cli-3.1.7}/pyproject.toml +3 -3
  4. raise_cli-3.1.7/src/raise_cli/adapters/_html_shell.py +26 -0
  5. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/composite_pm.py +111 -31
  6. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_client.py +26 -4
  7. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_exceptions.py +8 -5
  8. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/filesystem_docs.py +10 -1
  9. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_adapter.py +2 -0
  10. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_client.py +24 -4
  11. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_exceptions.py +8 -5
  12. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/sqlite_pm.py +27 -10
  13. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/codex_plugin.py +36 -7
  14. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/hooks.py +13 -0
  15. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/sync.py +16 -4
  16. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/backlog.py +23 -8
  17. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/docs.py +12 -2
  18. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/doctor.py +1 -0
  19. raise_cli-3.1.7/src/raise_cli/cli/commands/epic.py +147 -0
  20. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/forward_merge.py +24 -8
  21. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/init.py +22 -4
  22. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/pipeline.py +332 -53
  23. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/release.py +6 -1
  24. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/session.py +41 -2
  25. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/signal.py +19 -3
  26. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/skill.py +0 -16
  27. raise_cli-3.1.7/src/raise_cli/cli/commands/task.py +103 -0
  28. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/main.py +4 -0
  29. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/developer.py +10 -0
  30. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/project.py +11 -0
  31. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/models.py +2 -1
  32. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/report.py +1 -1
  33. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/provisioning.py +10 -0
  34. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hook_bus/emitter.py +8 -2
  35. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/bootstrap.py +1 -0
  36. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/engine.py +2 -1
  37. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/execution_context.py +26 -0
  38. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_lifecycle.py +32 -35
  39. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_pipeline.py +6 -3
  40. raise_cli-3.1.7/src/raise_cli/pipeline/pipelines_base/research.yaml +66 -0
  41. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/run_store.py +21 -0
  42. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/worktree_lock.py +29 -2
  43. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project_config/manifest.py +18 -0
  44. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/publish/check.py +4 -1
  45. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/github_adapter.py +17 -2
  46. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/gitlab_adapter.py +17 -2
  47. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/propagation.py +171 -77
  48. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/close.py +11 -3
  49. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/open_service.py +34 -8
  50. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/schema.py +14 -1
  51. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/validator.py +24 -1
  52. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-start-enterprise/SKILL.md +5 -8
  53. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-start-lean/SKILL.md +1 -1
  54. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-close-enterprise/SKILL.md +2 -2
  55. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-mr-create/SKILL.md +4 -0
  56. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-pipeline-run/SKILL.md +11 -7
  57. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-session-orchestrator/SKILL.md +4 -4
  58. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-session-start/SKILL.md +5 -9
  59. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-spike-journal/SKILL.md +16 -12
  60. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-close/SKILL.md +1 -0
  61. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-implement/SKILL.md +0 -1
  62. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/connection.py +38 -0
  63. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/schema.py +87 -0
  64. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/work_items.py +17 -1
  65. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/task/complete_service.py +87 -14
  66. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/cost_report.py +2 -1
  67. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/emitter.py +35 -6
  68. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/trailer.py +31 -0
  69. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_item/close_service.py +66 -31
  70. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_item/open_service.py +17 -6
  71. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/provision.py +62 -6
  72. {raise_cli-3.1.6 → raise_cli-3.1.7}/README.md +0 -0
  73. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/__init__.py +0 -0
  74. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/__main__.py +0 -0
  75. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/_agent_session.py +0 -0
  76. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/_cc_session.py +0 -0
  77. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/__init__.py +0 -0
  78. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/backlog_config.py +0 -0
  79. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/composite_docs.py +0 -0
  80. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_adapter.py +0 -0
  81. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_config.py +0 -0
  82. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_config_gen.py +0 -0
  83. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_discovery.py +0 -0
  84. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/confluence_markdown.py +0 -0
  85. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/__init__.py +0 -0
  86. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/adapter.py +0 -0
  87. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/discovery.py +0 -0
  88. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/expressions.py +0 -0
  89. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
  90. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
  91. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/declarative/schema.py +0 -0
  92. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/errors.py +0 -0
  93. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/filesystem.py +0 -0
  94. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/filesystem_adapter.py +0 -0
  95. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/filesystem_models.py +0 -0
  96. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/google_drive_adapter.py +0 -0
  97. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/google_drive_exceptions.py +0 -0
  98. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/graph_refresh.py +0 -0
  99. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/id_utils.py +0 -0
  100. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_adf.py +0 -0
  101. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_config.py +0 -0
  102. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_config_gen.py +0 -0
  103. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/jira_discovery.py +0 -0
  104. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/key_gen.py +0 -0
  105. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/ledger_aware.py +0 -0
  106. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/llm_enrichment.py +0 -0
  107. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/mcp_bridge.py +0 -0
  108. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/__init__.py +0 -0
  109. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/docs.py +0 -0
  110. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/governance.py +0 -0
  111. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/health.py +0 -0
  112. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/pm.py +0 -0
  113. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/models/sync.py +0 -0
  114. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/oauth_token.py +0 -0
  115. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/pending_ops.py +0 -0
  116. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/platform_docs.py +0 -0
  117. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/protocols.py +0 -0
  118. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/registry.py +0 -0
  119. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/resolve.py +0 -0
  120. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/sync.py +0 -0
  121. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/adapters/types_config.py +0 -0
  122. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/__init__.py +0 -0
  123. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/antigravity.yaml +0 -0
  124. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/bob.yaml +0 -0
  125. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/bob_plugin.py +0 -0
  126. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/claude.yaml +0 -0
  127. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/claude_plugin.py +0 -0
  128. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/codex.yaml +0 -0
  129. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/copilot.yaml +0 -0
  130. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/copilot_plugin.py +0 -0
  131. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/cursor.yaml +0 -0
  132. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/devin.yaml +0 -0
  133. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/devin_plugin.py +0 -0
  134. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/hermes.yaml +0 -0
  135. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/kimi.yaml +0 -0
  136. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/kimi_plugin.py +0 -0
  137. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/mcp_template.py +0 -0
  138. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/roo.yaml +0 -0
  139. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/agents/windsurf.yaml +0 -0
  140. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/__init__.py +0 -0
  141. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/html_to_md.py +0 -0
  142. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/identity.py +0 -0
  143. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/models.py +0 -0
  144. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/render.py +0 -0
  145. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/artifacts/store.py +0 -0
  146. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/auth/__init__.py +0 -0
  147. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/auth/google.py +0 -0
  148. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/__init__.py +0 -0
  149. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/close_drift.py +0 -0
  150. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/merge_gate.py +0 -0
  151. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/migrate.py +0 -0
  152. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/mr_classify.py +0 -0
  153. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/reconcile.py +0 -0
  154. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/scanner.py +0 -0
  155. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/backlog/seed.py +0 -0
  156. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/calibration/__init__.py +0 -0
  157. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/calibration/merge.py +0 -0
  158. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/calibration/server_client.py +0 -0
  159. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/__init__.py +0 -0
  160. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/cli.py +0 -0
  161. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/formatter.py +0 -0
  162. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/secret_scan.py +0 -0
  163. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/server_client.py +0 -0
  164. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/server_install.py +0 -0
  165. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges/server_models.py +0 -0
  166. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/__init__.py +0 -0
  167. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/management-ontology/CARTRIDGE.yaml +0 -0
  168. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/management-ontology/__init__.py +0 -0
  169. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/management-ontology/instances/ontology.json +0 -0
  170. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/management-ontology/instances/practices.json +0 -0
  171. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-dev-workflow/CARTRIDGE.yaml +0 -0
  172. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-dev-workflow/__init__.py +0 -0
  173. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/glossary.json +0 -0
  174. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/ontology.json +0 -0
  175. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/practices.json +0 -0
  176. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-methodology/CARTRIDGE.yaml +0 -0
  177. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-methodology/__init__.py +0 -0
  178. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cartridges_base/raise-methodology/instances/methodology.json +0 -0
  179. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/__init__.py +0 -0
  180. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/__init__.py +0 -0
  181. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/_graph_fields.py +0 -0
  182. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/_graph_filter_parser.py +0 -0
  183. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/_resolve.py +0 -0
  184. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/_server_write.py +0 -0
  185. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/adapter_route.py +0 -0
  186. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/adapter_setup.py +0 -0
  187. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/adapters.py +0 -0
  188. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/artifact.py +0 -0
  189. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/auth.py +0 -0
  190. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/backlog_migrate.py +0 -0
  191. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/base.py +0 -0
  192. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/bot.py +0 -0
  193. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/clean.py +0 -0
  194. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/connect.py +0 -0
  195. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/db.py +0 -0
  196. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/ddd.py +0 -0
  197. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/dev.py +0 -0
  198. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/discover.py +0 -0
  199. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/distillation.py +0 -0
  200. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/docs_architecture.py +0 -0
  201. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/docs_type.py +0 -0
  202. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/drift.py +0 -0
  203. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/fleet.py +0 -0
  204. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/gate.py +0 -0
  205. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/governance.py +0 -0
  206. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/graph.py +0 -0
  207. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/hook.py +0 -0
  208. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/impact.py +0 -0
  209. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/info.py +0 -0
  210. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/journal.py +0 -0
  211. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/learn.py +0 -0
  212. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/ledger.py +0 -0
  213. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/manifest.py +0 -0
  214. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/mcp.py +0 -0
  215. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/memory.py +0 -0
  216. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/onboard.py +0 -0
  217. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/pattern.py +0 -0
  218. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/portfolio.py +0 -0
  219. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/profile.py +0 -0
  220. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/project.py +0 -0
  221. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/quality.py +0 -0
  222. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/reliability.py +0 -0
  223. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/repo.py +0 -0
  224. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/schema.py +0 -0
  225. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/scm.py +0 -0
  226. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/scm_review.py +0 -0
  227. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/self_update.py +0 -0
  228. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/self_upgrade.py +0 -0
  229. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/skill_set.py +0 -0
  230. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/story.py +0 -0
  231. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/telemetry.py +0 -0
  232. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/whoami.py +0 -0
  233. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/commands/worktree.py +0 -0
  234. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/error_handler.py +0 -0
  235. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cli/extensions.py +0 -0
  236. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/__init__.py +0 -0
  237. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/agent.py +0 -0
  238. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/app.py +0 -0
  239. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/config.py +0 -0
  240. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/data.py +0 -0
  241. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/env.py +0 -0
  242. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/filter.py +0 -0
  243. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/launch.py +0 -0
  244. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/pipeline_view.py +0 -0
  245. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/protocols.py +0 -0
  246. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/session_lease.py +0 -0
  247. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/sessions.py +0 -0
  248. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/state.py +0 -0
  249. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tokens.py +0 -0
  250. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/__init__.py +0 -0
  251. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/app.py +0 -0
  252. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/__init__.py +0 -0
  253. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/command.py +0 -0
  254. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/confirm.py +0 -0
  255. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/help.py +0 -0
  256. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/logs.py +0 -0
  257. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/screens/new_session.py +0 -0
  258. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/services.py +0 -0
  259. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/sources.py +0 -0
  260. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/styles.tcss +0 -0
  261. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/theme.py +0 -0
  262. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/__init__.py +0 -0
  263. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/degraded_banner.py +0 -0
  264. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/detail_panel.py +0 -0
  265. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/filter_bar.py +0 -0
  266. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/recovery_menu.py +0 -0
  267. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/session_rail.py +0 -0
  268. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/tui/widgets/top_bar.py +0 -0
  269. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/types.py +0 -0
  270. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cockpit/worktree_ops.py +0 -0
  271. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compat.py +0 -0
  272. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/__init__.py +0 -0
  273. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/controls.yaml +0 -0
  274. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/evidence.py +0 -0
  275. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/extractors/__init__.py +0 -0
  276. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/extractors/git.py +0 -0
  277. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/loader.py +0 -0
  278. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/compliance/models.py +0 -0
  279. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/__init__.py +0 -0
  280. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/agent_plugin.py +0 -0
  281. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/agent_registry.py +0 -0
  282. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/agents.py +0 -0
  283. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/ide.py +0 -0
  284. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/org_binding.py +0 -0
  285. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/paths.py +0 -0
  286. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/repo_binding.py +0 -0
  287. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/server.py +0 -0
  288. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/config/settings.py +0 -0
  289. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/__init__.py +0 -0
  290. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/__init__.py +0 -0
  291. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/models.py +0 -0
  292. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/protocol.py +0 -0
  293. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/python.py +0 -0
  294. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/signals.py +0 -0
  295. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/analyzers/typescript.py +0 -0
  296. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/builder.py +0 -0
  297. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/diff.py +0 -0
  298. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/drift.py +0 -0
  299. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/extractors/__init__.py +0 -0
  300. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/extractors/relationships.py +0 -0
  301. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/extractors/skills.py +0 -0
  302. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/extractors/structure.py +0 -0
  303. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/freshness.py +0 -0
  304. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/__init__.py +0 -0
  305. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/architecture.py +0 -0
  306. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/components.py +0 -0
  307. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/documents.py +0 -0
  308. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/guardrails.py +0 -0
  309. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/identity.py +0 -0
  310. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/memory.py +0 -0
  311. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/symbols.py +0 -0
  312. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/context/loaders/work.py +0 -0
  313. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/__init__.py +0 -0
  314. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/files.py +0 -0
  315. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/manifest.py +0 -0
  316. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/rai_header.py +0 -0
  317. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/text.py +0 -0
  318. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/core/tools.py +0 -0
  319. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/cwd_binding.py +0 -0
  320. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/__init__.py +0 -0
  321. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/classifier.py +0 -0
  322. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/clustering.py +0 -0
  323. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/cohesion.py +0 -0
  324. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/discover.py +0 -0
  325. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/domain_model.py +0 -0
  326. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/escalation.py +0 -0
  327. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/heuristics.py +0 -0
  328. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/hitl_html.py +0 -0
  329. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/naming.py +0 -0
  330. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/panel.py +0 -0
  331. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/persistence.py +0 -0
  332. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/pipeline.py +0 -0
  333. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/report.py +0 -0
  334. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/tactical.py +0 -0
  335. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/tactical_prompts.py +0 -0
  336. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/tactical_report.py +0 -0
  337. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/tactical_validation.py +0 -0
  338. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/templates/tactical_hitl.html.j2 +0 -0
  339. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/type_cmd.py +0 -0
  340. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/ddd/validation.py +0 -0
  341. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/__init__.py +0 -0
  342. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/compose.py +0 -0
  343. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/config.py +0 -0
  344. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/env.py +0 -0
  345. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/envrc.py +0 -0
  346. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/ports.py +0 -0
  347. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/processes.py +0 -0
  348. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/provisioner.py +0 -0
  349. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/reaper.py +0 -0
  350. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/runtime_image.py +0 -0
  351. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/dev/status.py +0 -0
  352. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/developer_profile/__init__.py +0 -0
  353. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/developer_profile/persistence.py +0 -0
  354. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/developer_profile/profile.py +0 -0
  355. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/developer_profile/profile_portability.py +0 -0
  356. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/__init__.py +0 -0
  357. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/analyzer.py +0 -0
  358. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/check.py +0 -0
  359. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/clone.py +0 -0
  360. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/corpus.py +0 -0
  361. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/drift.py +0 -0
  362. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/metric.py +0 -0
  363. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/sast.py +0 -0
  364. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/scanner.py +0 -0
  365. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/temporal.py +0 -0
  366. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/discovery/thresholds.py +0 -0
  367. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/__init__.py +0 -0
  368. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/adapters.py +0 -0
  369. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/agent.py +0 -0
  370. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/backfill.py +0 -0
  371. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/classifier.py +0 -0
  372. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/clustering.py +0 -0
  373. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/conformance.py +0 -0
  374. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/evasion.py +0 -0
  375. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/hook.py +0 -0
  376. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/journal.py +0 -0
  377. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/llm_classifier.py +0 -0
  378. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/parser.py +0 -0
  379. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/segment.py +0 -0
  380. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/distillation/storage.py +0 -0
  381. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/__init__.py +0 -0
  382. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/__init__.py +0 -0
  383. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/bundle.py +0 -0
  384. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/fingerprint.py +0 -0
  385. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/models.py +0 -0
  386. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/module_id.py +0 -0
  387. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/regions.py +0 -0
  388. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/architecture/validate.py +0 -0
  389. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/docs/migrate.py +0 -0
  390. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/__init__.py +0 -0
  391. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/__init__.py +0 -0
  392. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/acli.py +0 -0
  393. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/adapters.py +0 -0
  394. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/backlog_migration.py +0 -0
  395. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/backlog_workflow_scope.py +0 -0
  396. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/bob.py +0 -0
  397. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/developer_yaml.py +0 -0
  398. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/environment.py +0 -0
  399. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/graph_annotations.py +0 -0
  400. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/hooks.py +0 -0
  401. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/legacy_install.py +0 -0
  402. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/legacy_residues.py +0 -0
  403. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/legacy_work_items.py +0 -0
  404. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/local_db.py +0 -0
  405. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/onboarding.py +0 -0
  406. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/pipeline_coverage.py +0 -0
  407. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/runtimes.py +0 -0
  408. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/session_index.py +0 -0
  409. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/skills.py +0 -0
  410. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/stash_hygiene.py +0 -0
  411. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/storage_health.py +0 -0
  412. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/update.py +0 -0
  413. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/workspace_readiness.py +0 -0
  414. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/checks/worktrees.py +0 -0
  415. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/fix.py +0 -0
  416. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/protocol.py +0 -0
  417. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/registry.py +0 -0
  418. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/doctor/runner.py +0 -0
  419. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/embeddings/__init__.py +0 -0
  420. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/embeddings/provider.py +0 -0
  421. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/engines/__init__.py +0 -0
  422. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/__init__.py +0 -0
  423. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/_models.py +0 -0
  424. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/_paths.py +0 -0
  425. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/ab.py +0 -0
  426. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/cli.py +0 -0
  427. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/datasets.py +0 -0
  428. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/gate.py +0 -0
  429. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/harness.py +0 -0
  430. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/memory_recall.py +0 -0
  431. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/metrics.py +0 -0
  432. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/recalibrate.py +0 -0
  433. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/reporters/__init__.py +0 -0
  434. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/reporters/json_report.py +0 -0
  435. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/reporters/latex.py +0 -0
  436. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/reporters/markdown.py +0 -0
  437. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/stats.py +0 -0
  438. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/eval/tuning.py +0 -0
  439. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/exceptions.py +0 -0
  440. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/__init__.py +0 -0
  441. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/auto_approve.py +0 -0
  442. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/binding.py +0 -0
  443. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/config.py +0 -0
  444. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/cost.py +0 -0
  445. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/dispatch_service.py +0 -0
  446. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/heartbeat.py +0 -0
  447. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/nl_parser.py +0 -0
  448. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/noop_collision.py +0 -0
  449. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/notifications.py +0 -0
  450. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/prompt_builder.py +0 -0
  451. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/fleet/subagent_dispatcher.py +0 -0
  452. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/__init__.py +0 -0
  453. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/alembic/__init__.py +0 -0
  454. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/alembic/single_head_gate.py +0 -0
  455. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ar/__init__.py +0 -0
  456. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ar/bugfix_gate.py +0 -0
  457. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ar/story_gate.py +0 -0
  458. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/budget/__init__.py +0 -0
  459. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/budget/budget_gate.py +0 -0
  460. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/__init__.py +0 -0
  461. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/_runner.py +0 -0
  462. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/coverage.py +0 -0
  463. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/format.py +0 -0
  464. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/graph_applies_to.py +0 -0
  465. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/lint.py +0 -0
  466. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/suppression_ratchet.py +0 -0
  467. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/tests.py +0 -0
  468. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/types.py +0 -0
  469. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/builtin/types_tests_advisory.py +0 -0
  470. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/calibration/__init__.py +0 -0
  471. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/calibration/log.py +0 -0
  472. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/calibration/promotion_policy.py +0 -0
  473. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/capability/__init__.py +0 -0
  474. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/capability/capability_overlap.py +0 -0
  475. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/capability/registry.py +0 -0
  476. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ddd/__init__.py +0 -0
  477. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ddd/domain_model_ratified_gate.py +0 -0
  478. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/ddd/tactical_drift_gate.py +0 -0
  479. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/docs_architecture.py +0 -0
  480. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/docs_sync.py +0 -0
  481. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/__init__.py +0 -0
  482. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/_base.py +0 -0
  483. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/_delta.py +0 -0
  484. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/auth_fan_out.py +0 -0
  485. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/baseline.py +0 -0
  486. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/dead_public_api.py +0 -0
  487. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/epic_close.py +0 -0
  488. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/import_fan_in.py +0 -0
  489. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/linter_suppression.py +0 -0
  490. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/parallel_siblings.py +0 -0
  491. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/post_refactor_orphan.py +0 -0
  492. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/drift/story_accretion.py +0 -0
  493. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/execution.py +0 -0
  494. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/execution_ledger.py +0 -0
  495. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/__init__.py +0 -0
  496. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/_initiative_context.py +0 -0
  497. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/_portfolio_config.py +0 -0
  498. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/artifacts_gate.py +0 -0
  499. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/backlog_sync_gate.py +0 -0
  500. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/before_ready_gate.py +0 -0
  501. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/child_epics_complete_gate.py +0 -0
  502. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/close_sync_gate.py +0 -0
  503. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/governance_trail_ci_gate.py +0 -0
  504. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/pipeline_coverage_gate.py +0 -0
  505. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/public_mirror_push_gate.py +0 -0
  506. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/revert_scope_gate.py +0 -0
  507. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/skill_cli_refint_gate.py +0 -0
  508. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/strategic_fit_gate.py +0 -0
  509. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance/workflow_transition_ownership_gate.py +0 -0
  510. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/governance_freshness.py +0 -0
  511. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/hook.py +0 -0
  512. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/models.py +0 -0
  513. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/__init__.py +0 -0
  514. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/_config.py +0 -0
  515. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/_utils.py +0 -0
  516. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/discovery_gate.py +0 -0
  517. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/icp_gate.py +0 -0
  518. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/jtbd_gate.py +0 -0
  519. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/pm/ownership_gate.py +0 -0
  520. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/protocol.py +0 -0
  521. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/registry.py +0 -0
  522. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/release/__init__.py +0 -0
  523. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/release/version_group_consistent.py +0 -0
  524. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/repository_hygiene.py +0 -0
  525. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/__init__.py +0 -0
  526. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/api_schema_lock.py +0 -0
  527. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/auth_invariant.py +0 -0
  528. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/cage_profile_lint.py +0 -0
  529. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/cwd_topology.py +0 -0
  530. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/protocol_parity.py +0 -0
  531. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/slice1/spi_conformance.py +0 -0
  532. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/subprocess_stdin_gate.py +0 -0
  533. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/sync/__init__.py +0 -0
  534. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/sync/sync_gate.py +0 -0
  535. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/gates/worker_budget.py +0 -0
  536. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/git/__init__.py +0 -0
  537. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/git/branch_guard.py +0 -0
  538. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/governance/__init__.py +0 -0
  539. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/governance/models.py +0 -0
  540. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/governance/sync.py +0 -0
  541. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/governance_gate.py +0 -0
  542. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/__init__.py +0 -0
  543. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/api_graph_read_backend.py +0 -0
  544. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/backends/__init__.py +0 -0
  545. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/backends/api.py +0 -0
  546. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/backends/dual.py +0 -0
  547. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/backends/pending.py +0 -0
  548. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/backends/sqlite.py +0 -0
  549. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/exceptions.py +0 -0
  550. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/merge.py +0 -0
  551. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/query_backend.py +0 -0
  552. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/graph/utils.py +0 -0
  553. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/handlers/__init__.py +0 -0
  554. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/harness_review/__init__.py +0 -0
  555. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/harness_review/adapter.py +0 -0
  556. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/harness_review/claude_adapter.py +0 -0
  557. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/harness_review/detection.py +0 -0
  558. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/harness_review/pre_submission.py +0 -0
  559. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hook_bus/__init__.py +0 -0
  560. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hook_bus/events.py +0 -0
  561. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hook_bus/protocol.py +0 -0
  562. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hook_bus/registry.py +0 -0
  563. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/__init__.py +0 -0
  564. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/__init__.py +0 -0
  565. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
  566. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/graph_update.py +0 -0
  567. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/memory.py +0 -0
  568. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/pipeline_events.py +0 -0
  569. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/builtin/telemetry.py +0 -0
  570. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/emitter.py +0 -0
  571. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/events.py +0 -0
  572. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/git_commit_block.py +0 -0
  573. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/post_merge_staleness.py +0 -0
  574. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/posttooluse.py +0 -0
  575. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/pretooluse.py +0 -0
  576. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/protocol.py +0 -0
  577. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/hooks/registry.py +0 -0
  578. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/__init__.py +0 -0
  579. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/git_diff.py +0 -0
  580. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/models.py +0 -0
  581. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/ownership.py +0 -0
  582. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/policy.py +0 -0
  583. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/recommendations.py +0 -0
  584. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/rendering.py +0 -0
  585. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/impact/report.py +0 -0
  586. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/legacy/__init__.py +0 -0
  587. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/legacy/cleaner.py +0 -0
  588. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/legacy/models.py +0 -0
  589. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/legacy/scanner.py +0 -0
  590. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/legacy/snooze.py +0 -0
  591. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/__init__.py +0 -0
  592. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/bridge.py +0 -0
  593. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/models.py +0 -0
  594. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/registry.py +0 -0
  595. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/schema.py +0 -0
  596. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mcp/workspace_config.py +0 -0
  597. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/__init__.py +0 -0
  598. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/api_patterns_backend.py +0 -0
  599. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/content_hash.py +0 -0
  600. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/dedup.py +0 -0
  601. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/frontmatter_extractor.py +0 -0
  602. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/hint_oracle.py +0 -0
  603. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/ingest_cartridge.py +0 -0
  604. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/learning.py +0 -0
  605. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/memory_index.py +0 -0
  606. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/migrate_claude.py +0 -0
  607. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/migration.py +0 -0
  608. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/models.py +0 -0
  609. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/pattern_evaluator.py +0 -0
  610. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/patterns_backend.py +0 -0
  611. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/portability.py +0 -0
  612. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/push.py +0 -0
  613. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/sync.py +0 -0
  614. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/memory/writer.py +0 -0
  615. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/mr_create_gate.py +0 -0
  616. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/__init__.py +0 -0
  617. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/cartridges.py +0 -0
  618. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/claudemd.py +0 -0
  619. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/cli_commands.yaml +0 -0
  620. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/conventions.py +0 -0
  621. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/detection.py +0 -0
  622. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/governance.py +0 -0
  623. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/instructions.py +0 -0
  624. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/instructions_check.py +0 -0
  625. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/manifest.py +0 -0
  626. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/manifest_validate.py +0 -0
  627. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/memory_md.py +0 -0
  628. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/merge_conventions.py +0 -0
  629. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/migration.py +0 -0
  630. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/profile.py +0 -0
  631. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/profile_portability.py +0 -0
  632. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/purge.py +0 -0
  633. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/router.py +0 -0
  634. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/skill_conflict.py +0 -0
  635. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/skill_manifest.py +0 -0
  636. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/skills.py +0 -0
  637. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/onboarding/workflows.py +0 -0
  638. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/__init__.py +0 -0
  639. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/console.py +0 -0
  640. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/__init__.py +0 -0
  641. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/adapters.py +0 -0
  642. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/backlog_node.py +0 -0
  643. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/discover.py +0 -0
  644. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/graph.py +0 -0
  645. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/formatters/skill.py +0 -0
  646. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/output/symbols.py +0 -0
  647. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/__init__.py +0 -0
  648. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_caller_context.py +0 -0
  649. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_compact.py +0 -0
  650. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_mcp_decorators.py +0 -0
  651. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_mcp_instance.py +0 -0
  652. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_startup_checks.py +0 -0
  653. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/_telemetry.py +0 -0
  654. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/agent_runtime_adapter.py +0 -0
  655. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/api_run_store.py +0 -0
  656. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/branch_guard.py +0 -0
  657. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/dispatch.py +0 -0
  658. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/epic_story_iteration.py +0 -0
  659. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/executor.py +0 -0
  660. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/gates.py +0 -0
  661. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/lease_enforcement.py +0 -0
  662. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/lifecycle.py +0 -0
  663. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/loader.py +0 -0
  664. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_server.py +0 -0
  665. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_artifact.py +0 -0
  666. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_backlog.py +0 -0
  667. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_docs.py +0 -0
  668. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_fleet.py +0 -0
  669. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_gate.py +0 -0
  670. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_graph.py +0 -0
  671. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_pattern.py +0 -0
  672. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_session.py +0 -0
  673. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_story.py +0 -0
  674. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/mcp_tools_task.py +0 -0
  675. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/bugfix-enterprise.yaml +0 -0
  676. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/bugfix-lean.yaml +0 -0
  677. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +0 -0
  678. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/epic-design-pdcv.yaml +0 -0
  679. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/epic-enterprise.yaml +0 -0
  680. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/epic-flat.yaml +0 -0
  681. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/epic.yaml +0 -0
  682. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/initiative-enterprise.yaml +0 -0
  683. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/initiative.yaml +0 -0
  684. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/spike-enterprise.yaml +0 -0
  685. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/spike.yaml +0 -0
  686. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/story-enterprise.yaml +0 -0
  687. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/story-legacy.yaml +0 -0
  688. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/story.yaml +0 -0
  689. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/pipelines_base/upgrade.yaml +0 -0
  690. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/prompt.py +0 -0
  691. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/provider_model.py +0 -0
  692. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/rai_header.py +0 -0
  693. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/resilient_run_store.py +0 -0
  694. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/skill_model.py +0 -0
  695. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/templates/adversarial-ar.md +0 -0
  696. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/templates/adversarial-qr.md +0 -0
  697. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/terminal_status.py +0 -0
  698. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/transitions.py +0 -0
  699. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/when.py +0 -0
  700. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/workflow_point_resolver.py +0 -0
  701. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/pipeline/worktree.py +0 -0
  702. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/__init__.py +0 -0
  703. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/component_map.py +0 -0
  704. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/dependency/__init__.py +0 -0
  705. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/dependency/graph.py +0 -0
  706. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/derivation.py +0 -0
  707. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/dsm_render.py +0 -0
  708. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/git_attr.py +0 -0
  709. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/storage.py +0 -0
  710. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/portfolio/suggest.py +0 -0
  711. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project.py +0 -0
  712. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project_config/__init__.py +0 -0
  713. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project_config/branches.py +0 -0
  714. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project_config/manifest_validate.py +0 -0
  715. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/project_config/types.py +0 -0
  716. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/publish/__init__.py +0 -0
  717. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/publish/changelog.py +0 -0
  718. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/publish/version.py +0 -0
  719. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/quality/__init__.py +0 -0
  720. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/quality/classifier.py +0 -0
  721. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/quality/enrichment.py +0 -0
  722. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/quality/models.py +0 -0
  723. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/__init__.py +0 -0
  724. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/framework/__init__.py +0 -0
  725. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
  726. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/__init__.py +0 -0
  727. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
  728. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -0
  729. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
  730. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/system-context.md +0 -0
  731. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
  732. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/system-design.md +0 -0
  733. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
  734. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/backlog.md +0 -0
  735. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
  736. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/prd.md +0 -0
  737. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/governance/vision.md +0 -0
  738. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/identity/__init__.py +0 -0
  739. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/identity/core.md +0 -0
  740. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/identity/core.yaml +0 -0
  741. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/identity/perspective.md +0 -0
  742. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/memory/__init__.py +0 -0
  743. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
  744. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/release_preflight.py +0 -0
  745. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/release_version.py +0 -0
  746. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/__init__.py +0 -0
  747. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/cfr.py +0 -0
  748. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/classification_models.py +0 -0
  749. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/cohort.py +0 -0
  750. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/deployments.py +0 -0
  751. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/gate_escape.py +0 -0
  752. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/lens.py +0 -0
  753. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/models.py +0 -0
  754. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/multitrack.py +0 -0
  755. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/recommendations.py +0 -0
  756. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/rollup.py +0 -0
  757. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/session_condition.py +0 -0
  758. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/target_classifier.py +0 -0
  759. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/reliability/targets.py +0 -0
  760. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/schemas/__init__.py +0 -0
  761. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/schemas/journal.py +0 -0
  762. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/schemas/session_ledger.py +0 -0
  763. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/schemas/session_state.py +0 -0
  764. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/PROVIDERS.md +0 -0
  765. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/__init__.py +0 -0
  766. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/adapter.py +0 -0
  767. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/azdo_adapter.py +0 -0
  768. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/bitbucket_adapter.py +0 -0
  769. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/conflict_rules.py +0 -0
  770. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/scm/governance.py +0 -0
  771. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/self_update/__init__.py +0 -0
  772. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/self_update/manifest.py +0 -0
  773. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/self_update/updater.py +0 -0
  774. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/__init__.py +0 -0
  775. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/api_context_backend.py +0 -0
  776. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/bundle.py +0 -0
  777. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/bundle_data.py +0 -0
  778. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/bundle_formatters.py +0 -0
  779. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/bundle_governance.py +0 -0
  780. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/__init__.py +0 -0
  781. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/alias.py +0 -0
  782. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/catalog.py +0 -0
  783. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/models.py +0 -0
  784. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/reconcile.py +0 -0
  785. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/runtime.py +0 -0
  786. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/scope.py +0 -0
  787. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/catalog/source.py +0 -0
  788. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/connect.py +0 -0
  789. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/context_backend.py +0 -0
  790. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/context_env.py +0 -0
  791. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/derive.py +0 -0
  792. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/doctor.py +0 -0
  793. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/donor.py +0 -0
  794. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/identity.py +0 -0
  795. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/index.py +0 -0
  796. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/journal.py +0 -0
  797. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/ledger.py +0 -0
  798. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/lifecycle.py +0 -0
  799. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/measure.py +0 -0
  800. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/monitor.py +0 -0
  801. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/peek.py +0 -0
  802. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/prefix.py +0 -0
  803. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/protocols.py +0 -0
  804. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/qr_adapter.py +0 -0
  805. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/registry.py +0 -0
  806. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/resolver.py +0 -0
  807. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/runner.py +0 -0
  808. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/scope.py +0 -0
  809. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/state.py +0 -0
  810. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/terminal.py +0 -0
  811. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/session/update_cache.py +0 -0
  812. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/__init__.py +0 -0
  813. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/locator.py +0 -0
  814. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/name_checker.py +0 -0
  815. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/parser.py +0 -0
  816. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/scaffold.py +0 -0
  817. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/skillsets.py +0 -0
  818. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills/sync.py +0 -0
  819. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/__init__.py +0 -0
  820. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/contract-template.md +0 -0
  821. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/preamble.md +0 -0
  822. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-adversarial-review/SKILL.md +0 -0
  823. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +0 -0
  824. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-backlog-setup/SKILL.md +0 -0
  825. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bug-file/SKILL.md +0 -0
  826. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +0 -0
  827. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +0 -0
  828. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-close-enterprise/SKILL.md +0 -0
  829. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-close-lean/SKILL.md +0 -0
  830. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +0 -0
  831. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-fix-enterprise/SKILL.md +0 -0
  832. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-fix-lean/SKILL.md +0 -0
  833. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-pir/SKILL.md +0 -0
  834. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +0 -0
  835. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +0 -0
  836. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +0 -0
  837. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +0 -0
  838. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-cartridge-agent/SKILL.md +0 -0
  839. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-corpus-curate/SKILL.md +0 -0
  840. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-debug/SKILL.md +0 -0
  841. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-discover/SKILL.md +0 -0
  842. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-docs-setup/SKILL.md +0 -0
  843. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-docs-setup-advanced/SKILL.md +0 -0
  844. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +0 -0
  845. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
  846. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-close/SKILL.md +0 -0
  847. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-close-enterprise/templates/retrospective.md +0 -0
  848. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +0 -0
  849. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-design-enterprise/SKILL.md +0 -0
  850. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/design.md +0 -0
  851. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/scope.md +0 -0
  852. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +0 -0
  853. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-journal/SKILL.md +0 -0
  854. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +0 -0
  855. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
  856. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
  857. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-predesign-evidence/SKILL.md +0 -0
  858. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +0 -0
  859. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-start-enterprise/SKILL.md +0 -0
  860. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-start-enterprise/templates/brief.md +0 -0
  861. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-epic-ux-design/SKILL.md +0 -0
  862. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-forward-merge/SKILL.md +0 -0
  863. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-initiative-delivering/SKILL.md +0 -0
  864. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-initiative-shaped/SKILL.md +0 -0
  865. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-kc-build/SKILL.md +0 -0
  866. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
  867. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
  868. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
  869. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-mr-merge/SKILL.md +0 -0
  870. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-onboard-repo/SKILL.md +0 -0
  871. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-pipeline-setup/SKILL.md +0 -0
  872. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-pipeline-setup/references/reusable-skills.md +0 -0
  873. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +0 -0
  874. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-project-create/SKILL.md +0 -0
  875. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +0 -0
  876. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-project-upgrade/SKILL.md +0 -0
  877. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +0 -0
  878. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research/SKILL.md +0 -0
  879. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
  880. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-critic/SKILL.md +0 -0
  881. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-evidence/SKILL.md +0 -0
  882. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-frame/SKILL.md +0 -0
  883. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-run/SKILL.md +0 -0
  884. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-scope/SKILL.md +0 -0
  885. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-search/SKILL.md +0 -0
  886. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-synthesize/SKILL.md +0 -0
  887. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-research-verify/SKILL.md +0 -0
  888. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -0
  889. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +0 -0
  890. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-skill-create/SKILL.md +0 -0
  891. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +0 -0
  892. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-spike-close/SKILL.md +0 -0
  893. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-spike-start/SKILL.md +0 -0
  894. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-close-enterprise/SKILL.md +0 -0
  895. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-design/SKILL.md +0 -0
  896. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
  897. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +0 -0
  898. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-review/SKILL.md +0 -0
  899. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-start/SKILL.md +0 -0
  900. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-start-enterprise/SKILL.md +0 -0
  901. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-story-start-enterprise/templates/story.md +0 -0
  902. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-welcome/SKILL.md +0 -0
  903. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-worktree-close/SKILL.md +0 -0
  904. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/rai-worktree-open/SKILL.md +0 -0
  905. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/skills_base/skillsets/enterprise.yaml +0 -0
  906. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/__init__.py +0 -0
  907. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/cartridge_projection.py +0 -0
  908. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/consolidate.py +0 -0
  909. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/counter.py +0 -0
  910. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/graph_gc.py +0 -0
  911. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/leases.py +0 -0
  912. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/maintenance_lock.py +0 -0
  913. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/migrate.py +0 -0
  914. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/migrate_project_slug.py +0 -0
  915. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/pause_states.py +0 -0
  916. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/port_allocations.py +0 -0
  917. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/schema_sum.py +0 -0
  918. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/work_items_outbox.py +0 -0
  919. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/storage/worktrees.py +0 -0
  920. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/story/__init__.py +0 -0
  921. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/story/close_service.py +0 -0
  922. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/story/open_service.py +0 -0
  923. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/task/__init__.py +0 -0
  924. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/__init__.py +0 -0
  925. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/adapter_registry.py +0 -0
  926. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/attribution.py +0 -0
  927. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/audit.py +0 -0
  928. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/backfill.py +0 -0
  929. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/cc_adapter.py +0 -0
  930. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/defect_attribution.py +0 -0
  931. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/emit_work.py +0 -0
  932. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/guardrails.py +0 -0
  933. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/phase_map.py +0 -0
  934. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/phase_report.py +0 -0
  935. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/region_szz.py +0 -0
  936. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/root_cause.py +0 -0
  937. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/schemas.py +0 -0
  938. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/session_tokens.py +0 -0
  939. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/szz.py +0 -0
  940. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/token_daily.py +0 -0
  941. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/telemetry/tool_cost.py +0 -0
  942. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/testing/__init__.py +0 -0
  943. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/testing/profiling_plugin.py +0 -0
  944. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/testing/shadow_policy.py +0 -0
  945. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/testing/xdist_safety.py +0 -0
  946. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/tier/__init__.py +0 -0
  947. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/tier/context.py +0 -0
  948. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/version_report.py +0 -0
  949. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/viz/__init__.py +0 -0
  950. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/viz/generator.py +0 -0
  951. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/__init__.py +0 -0
  952. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/backfill.py +0 -0
  953. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/ref_resolver.py +0 -0
  954. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/retry_queue.py +0 -0
  955. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/schemas.py +0 -0
  956. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_events/translator.py +0 -0
  957. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/work_item/__init__.py +0 -0
  958. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/workspace/__init__.py +0 -0
  959. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/workspace/readiness.py +0 -0
  960. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/__init__.py +0 -0
  961. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/base_resolver.py +0 -0
  962. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/idle.py +0 -0
  963. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/prune.py +0 -0
  964. {raise_cli-3.1.6 → raise_cli-3.1.7}/src/raise_cli/worktree/unregistered.py +0 -0
@@ -97,6 +97,8 @@ dev/output/
97
97
  .raise/rai/personal/calibration.jsonl
98
98
  .raise/rai/personal/patterns.jsonl
99
99
  .raise/rai/personal/active-session
100
+ # Defense in depth: pipeline advance token files (RAISE-19640)
101
+ .raise/rai/personal/*.token
100
102
 
101
103
  # RaiSE sync state (per-instance JIRA mappings, not shared)
102
104
  .raise/rai/sync/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raise-cli
3
- Version: 3.1.6
3
+ Version: 3.1.7
4
4
  Summary: RaiSE CLI - Reliable AI Software Engineering governance framework
5
5
  Project-URL: Homepage, https://raiseframework.ai
6
6
  Project-URL: Documentation, https://docs.raiseframework.ai
@@ -23,7 +23,7 @@ Requires-Dist: httpx<1.0,>=0.27.0
23
23
  Requires-Dist: jinja2>=3.1.0
24
24
  Requires-Dist: logfire-api>=4.0
25
25
  Requires-Dist: markdown>=3.6
26
- Requires-Dist: mcp<2,>=1.26
26
+ Requires-Dist: mcp<2,>=1.30.0
27
27
  Requires-Dist: networkx>=3.6.1
28
28
  Requires-Dist: numpy>=1.26.0
29
29
  Requires-Dist: onnxruntime>=1.18.0
@@ -33,7 +33,7 @@ Requires-Dist: pydantic>=2.6.0
33
33
  Requires-Dist: python-dotenv>=1.0.0
34
34
  Requires-Dist: pyyaml>=6.0.1
35
35
  Requires-Dist: qrcode>=8.2
36
- Requires-Dist: raise-core==3.1.6
36
+ Requires-Dist: raise-core==3.1.7
37
37
  Requires-Dist: rich>=13.7.0
38
38
  Requires-Dist: ruamel-yaml>=0.18
39
39
  Requires-Dist: textual>=0.89.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "raise-cli"
3
- version = "3.1.6"
3
+ version = "3.1.7"
4
4
  description = "RaiSE CLI - Reliable AI Software Engineering governance framework"
5
5
  authors = [
6
6
  {name = "Emilio Osorio", email = "emilio@humansys.ai"}
@@ -21,7 +21,7 @@ classifiers = [
21
21
  ]
22
22
 
23
23
  dependencies = [
24
- "raise-core==3.1.6",
24
+ "raise-core==3.1.7",
25
25
  "typer>=0.12.0",
26
26
  "rich>=13.7.0",
27
27
  "pydantic>=2.6.0",
@@ -41,7 +41,7 @@ dependencies = [
41
41
  "numpy>=1.26.0",
42
42
  "logfire-api>=4.0",
43
43
  "httpx>=0.27.0,<1.0",
44
- "mcp>=1.26,<2",
44
+ "mcp>=1.30.0,<2",
45
45
  "markdown>=3.6",
46
46
  "atlassian-python-api>=3.41.0,<5",
47
47
  "qrcode>=8.2",
@@ -0,0 +1,26 @@
1
+ # pyright: reportPrivateUsage=false
2
+ """Copper & Patina HTML shell para artefactos locales (RAISE-19213)."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import html
7
+
8
+ from raise_cli.ddd.tactical_report import _COPPER_PATINA_CSS
9
+
10
+
11
+ def wrap_html_shell(title: str, body: str) -> str:
12
+ """Envolver body en un documento HTML con CSS Copper & Patina inline."""
13
+ return (
14
+ f"<!DOCTYPE html>\n"
15
+ f'<html lang="es">\n'
16
+ f"<head>\n"
17
+ f' <meta charset="utf-8">\n'
18
+ f' <meta name="viewport" content="width=device-width, initial-scale=1">\n'
19
+ f" <title>{html.escape(title)}</title>\n"
20
+ f" <style>{_COPPER_PATINA_CSS}</style>\n"
21
+ f"</head>\n"
22
+ f"<body>\n"
23
+ f"{body}\n"
24
+ f"</body>\n"
25
+ f"</html>"
26
+ )
@@ -25,6 +25,7 @@ from pydantic import ValidationError
25
25
  from raise_cli.adapters.errors import AdapterSyncError
26
26
  from raise_cli.adapters.filesystem_models import BacklogItem
27
27
  from raise_cli.adapters.id_utils import DEFAULT_ID_PATTERN, work_id_re
28
+ from raise_cli.adapters.key_gen import issue_type_to_work_item_type
28
29
  from raise_cli.adapters.models import (
29
30
  AdapterHealth,
30
31
  AttachmentDetail,
@@ -159,6 +160,12 @@ class CompositeBacklogAdapter:
159
160
  if mapped:
160
161
  with contextlib.suppress(Exception):
161
162
  self._wi_store.update_fields(wi.id, mapped)
163
+ retype_value = changes.get("issuetype") or changes.get("issue_type")
164
+ if retype_value is not None:
165
+ with contextlib.suppress(Exception):
166
+ new_type = issue_type_to_work_item_type(str(retype_value))
167
+ if new_type != wi.type:
168
+ self._wi_store.retype(wi.id, new_type)
162
169
 
163
170
  def _write_through_to_local(
164
171
  self,
@@ -453,50 +460,123 @@ class CompositeBacklogAdapter:
453
460
  self._update_work_item_fields(key, {"status": status})
454
461
  return IssueRef(key=key, remote_synced=True)
455
462
 
463
+ def _rollback_local_transition(
464
+ self,
465
+ local_key: str,
466
+ prev_statuses: dict[str, str],
467
+ ) -> None:
468
+ """Best-effort rollback of a single local transition (RAISE-17085)."""
469
+ prev = prev_statuses.get(local_key)
470
+ if prev is not None:
471
+ with contextlib.suppress(Exception):
472
+ self._local.transition_issue(local_key, prev)
473
+
456
474
  def batch_transition(self, keys: list[str], status: str) -> BatchResult:
457
- """Batch transition: local-canonical via filesystem, remote-native direct to remote."""
475
+ """Batch transition with transition_issue-grade safety (RAISE-17085).
476
+
477
+ Transitions are context-dependent and never queued for replay
478
+ (RAISE-4186). On remote failure, local state is rolled back.
479
+ """
458
480
  self._flush_pending()
459
481
  local_canonical = [k for k in keys if self._local_has_key(k)]
460
482
  remote_native = [k for k in keys if not self._local_has_key(k)]
461
483
 
462
- merged: BatchResult = (
463
- self._local.batch_transition(local_canonical, status)
464
- if local_canonical
484
+ prev_statuses: dict[str, str] = {}
485
+ for k in local_canonical:
486
+ with contextlib.suppress(Exception):
487
+ prev_statuses[k] = self._local.get_issue(k).status
488
+
489
+ mapped_keys, unmapped_keys, remote_to_local = self._partition_by_ledger(
490
+ local_canonical
491
+ )
492
+
493
+ local_result: BatchResult = (
494
+ self._local.batch_transition(mapped_keys, status)
495
+ if mapped_keys
465
496
  else BatchResult()
466
497
  )
467
498
 
468
- # remote_native: pass through as-is; local_canonical: resolve via ledger
469
- remote_keys: list[str] = list(remote_native)
470
- for k in local_canonical:
471
- rk = self._wi_store.get_jira_key(k)
472
- if rk is not None:
473
- remote_keys.append(rk)
474
- else:
475
- self._pending.append("transition_issue", k, {"status": status})
499
+ succeeded: list[IssueRef] = list(local_result.succeeded)
500
+ failed: list[FailureDetail] = list(local_result.failed)
501
+ for k in unmapped_keys:
502
+ failed.append(FailureDetail(key=k, error="No remote mapping in ledger"))
503
+
504
+ # Only keys that transitioned locally go to remote (QR R1).
505
+ local_ok = [r.key for r in local_result.succeeded]
506
+ remote_to_local = {
507
+ rk: lk for rk, lk in remote_to_local.items() if lk in local_ok
508
+ }
509
+ remote_keys: list[str] = list(remote_native) + list(remote_to_local)
476
510
 
477
511
  if not remote_keys:
478
- return merged
512
+ return BatchResult(succeeded=succeeded, failed=failed)
479
513
 
480
514
  remote_native_set = set(remote_native)
481
515
  for remote in self._remotes:
482
516
  try:
483
517
  remote_result = remote.batch_transition(remote_keys, status)
484
- merged = BatchResult(
485
- succeeded=merged.succeeded
486
- + [
487
- r for r in remote_result.succeeded if r.key in remote_native_set
488
- ],
489
- failed=merged.failed
490
- + [f for f in remote_result.failed if f.key in remote_native_set],
518
+ self._merge_remote_batch_result(
519
+ remote_result,
520
+ remote_native_set,
521
+ remote_to_local,
522
+ prev_statuses,
523
+ succeeded,
524
+ failed,
491
525
  )
492
526
  except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
493
- self._pending.append(
494
- "batch_transition",
495
- ",".join(keys),
496
- {"status": status},
497
- )
498
527
  logger.warning("Remote batch_transition failed: %s", exc)
499
- return merged
528
+ for lk in local_ok:
529
+ self._rollback_local_transition(lk, prev_statuses)
530
+ succeeded[:] = [r for r in succeeded if r.key != lk]
531
+ failed.append(FailureDetail(key=lk, error=str(exc)))
532
+ for rk in remote_native:
533
+ failed.append(FailureDetail(key=rk, error=str(exc)))
534
+ break
535
+
536
+ return BatchResult(succeeded=succeeded, failed=failed)
537
+
538
+ def _partition_by_ledger(
539
+ self, local_canonical: list[str]
540
+ ) -> tuple[list[str], list[str], dict[str, str]]:
541
+ """Split local-canonical keys into mapped/unmapped; build reverse map."""
542
+ mapped: list[str] = []
543
+ unmapped: list[str] = []
544
+ remote_to_local: dict[str, str] = {}
545
+ for k in local_canonical:
546
+ rk = self._wi_store.get_jira_key(k)
547
+ if rk is not None:
548
+ mapped.append(k)
549
+ remote_to_local[rk] = k
550
+ else:
551
+ unmapped.append(k)
552
+ return mapped, unmapped, remote_to_local
553
+
554
+ def _merge_remote_batch_result(
555
+ self,
556
+ remote_result: BatchResult,
557
+ remote_native_set: set[str],
558
+ remote_to_local: dict[str, str],
559
+ prev_statuses: dict[str, str],
560
+ succeeded: list[IssueRef],
561
+ failed: list[FailureDetail],
562
+ ) -> None:
563
+ """Merge remote BatchResult, rolling back local on per-key failures."""
564
+ remote_failed_keys = {f.key for f in remote_result.failed}
565
+
566
+ for r in remote_result.succeeded:
567
+ if r.key in remote_native_set:
568
+ succeeded.append(r)
569
+ for f in remote_result.failed:
570
+ if f.key in remote_native_set:
571
+ failed.append(f)
572
+
573
+ for rk, lk in remote_to_local.items():
574
+ if rk in remote_failed_keys:
575
+ self._rollback_local_transition(lk, prev_statuses)
576
+ succeeded[:] = [r for r in succeeded if r.key != lk]
577
+ detail = next((f for f in remote_result.failed if f.key == rk), None)
578
+ error = detail.error if detail else "Remote transition failed"
579
+ failed.append(FailureDetail(key=lk, error=error))
500
580
 
501
581
  def batch_create(self, issues: list[IssueSpec]) -> BatchResult:
502
582
  """Create multiple issues with per-item fault isolation."""
@@ -878,7 +958,7 @@ class CompositeBacklogAdapter:
878
958
  self._reconcile_local_mirror(
879
959
  promoted_ref.key, remote_ref.key, remote
880
960
  )
881
- except Exception as exc: # noqa: BLE001
961
+ except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
882
962
  logger.warning(
883
963
  "Replay create_issue %s failed on remote[%d]: %s", op.key, i, exc
884
964
  )
@@ -934,7 +1014,7 @@ class CompositeBacklogAdapter:
934
1014
  try:
935
1015
  remote.batch_transition(resolved, status) # type: ignore[arg-type]
936
1016
  completed.append(i)
937
- except Exception as exc: # noqa: BLE001
1017
+ except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
938
1018
  logger.warning(
939
1019
  "Replay batch_transition %s failed on remote[%d]: %s",
940
1020
  op.key,
@@ -962,7 +1042,7 @@ class CompositeBacklogAdapter:
962
1042
  try:
963
1043
  remote.link_to_parent(remote_child, remote_parent)
964
1044
  completed.append(i)
965
- except Exception as exc: # noqa: BLE001
1045
+ except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
966
1046
  logger.warning(
967
1047
  "Replay link_to_parent %s failed on remote[%d]: %s", op.key, i, exc
968
1048
  )
@@ -988,7 +1068,7 @@ class CompositeBacklogAdapter:
988
1068
  try:
989
1069
  remote.link_issues(remote_source, remote_target, link_type)
990
1070
  completed.append(i)
991
- except Exception as exc: # noqa: BLE001
1071
+ except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
992
1072
  logger.warning(
993
1073
  "Replay link_issues %s failed on remote[%d]: %s", op.key, i, exc
994
1074
  )
@@ -1050,7 +1130,7 @@ class CompositeBacklogAdapter:
1050
1130
  try:
1051
1131
  action(remote, remote_key)
1052
1132
  completed.append(i)
1053
- except Exception as exc: # noqa: BLE001
1133
+ except Exception as exc: # noqa: BLE001 — intentional broad catch (grandfathered at BLE001 enablement, RAISE-15490)
1054
1134
  logger.debug(
1055
1135
  "Replay %s %s failed on remote[%d]: %s", op.op, op.key, i, exc
1056
1136
  )
@@ -708,15 +708,37 @@ class ConfluenceClient:
708
708
  parent_title=parent_title,
709
709
  )
710
710
 
711
+ @staticmethod
712
+ def _extract_status(error: Exception) -> int | None:
713
+ """Extract the HTTP status code from an atlassian exception.
714
+
715
+ atlassian stores the originating HTTPError as ``error.reason``; the
716
+ requests HTTPError carries the response on ``error.response``. As a
717
+ fallback we also check ``error.response`` directly (for callers that
718
+ surface the raw HTTPError).
719
+ """
720
+ reason = getattr(error, "reason", None)
721
+ # RAISE-19457 adversarial panel F2: use ``is None`` not truthiness.
722
+ # A requests.Response with a 4xx/5xx status code is falsy (ok=False),
723
+ # so the old ``or`` check would fall through and lose the status_code.
724
+ response = getattr(reason, "response", None)
725
+ if response is None:
726
+ response = getattr(error, "response", None)
727
+ status: int | None = getattr(response, "status_code", None)
728
+ return status
729
+
711
730
  @staticmethod
712
731
  def _map_error(error: Exception, context: str) -> ConfluenceError:
713
732
  """Map atlassian exceptions to our hierarchy using isinstance."""
714
733
  from atlassian.errors import ApiError, ApiNotFoundError, ApiPermissionError
715
734
 
735
+ status = ConfluenceClient._extract_status(error)
716
736
  if isinstance(error, ApiPermissionError):
717
- return ConfluenceAuthError(f"{context}: {error}")
737
+ return ConfluenceAuthError(f"{context}: {error}", status_code=status)
718
738
  if isinstance(error, ApiNotFoundError):
719
- return ConfluenceNotFoundError(f"{context}: {error}")
739
+ return ConfluenceNotFoundError(f"{context}: {error}", status_code=status)
720
740
  if isinstance(error, ApiError):
721
- return ConfluenceApiError(f"{context}: {error}")
722
- return ConfluenceApiError(f"{context}: unexpected error: {error}")
741
+ return ConfluenceApiError(f"{context}: {error}", status_code=status)
742
+ return ConfluenceApiError(
743
+ f"{context}: unexpected error: {error}", status_code=status
744
+ )
@@ -16,22 +16,25 @@ from __future__ import annotations
16
16
  class ConfluenceError(Exception):
17
17
  """Base for all Confluence client errors."""
18
18
 
19
- def __init__(self, message: str) -> None:
19
+ def __init__(self, message: str, status_code: int | None = None) -> None:
20
20
  self.message = message
21
+ self.status_code = status_code
21
22
  super().__init__(message)
22
23
 
23
24
 
24
25
  class ConfluenceAuthError(ConfluenceError):
25
26
  """401/403 — invalid or missing credentials."""
26
27
 
28
+ def __init__(self, message: str, status_code: int | None = None) -> None:
29
+ super().__init__(message, status_code=status_code)
30
+
27
31
 
28
32
  class ConfluenceNotFoundError(ConfluenceError):
29
33
  """404 — page, space, or resource not found."""
30
34
 
35
+ def __init__(self, message: str, status_code: int | None = None) -> None:
36
+ super().__init__(message, status_code=status_code)
37
+
31
38
 
32
39
  class ConfluenceApiError(ConfluenceError):
33
40
  """Generic API error (incl. post-retry 429, 5xx, etc)."""
34
-
35
- def __init__(self, message: str, status_code: int | None = None) -> None:
36
- self.status_code = status_code
37
- super().__init__(message)
@@ -49,7 +49,11 @@ class FilesystemDocsTarget:
49
49
  metadata: dict[str, Any],
50
50
  format: str = "markdown",
51
51
  ) -> PublishResult:
52
- """Write content to local file at metadata['path']. format is unused (RAISE-16870 D5)."""
52
+ """Write content to local file at metadata['path'].
53
+
54
+ When format='html', wraps content in Copper & Patina HTML shell
55
+ (RAISE-19213). Otherwise writes verbatim (RAISE-16870 D5).
56
+ """
53
57
  raw_path = metadata.get("path")
54
58
  if not raw_path:
55
59
  return PublishResult(
@@ -59,6 +63,11 @@ class FilesystemDocsTarget:
59
63
  error = self._validate_frontmatter(content, doc_type)
60
64
  if error:
61
65
  return error
66
+ if format == "html":
67
+ from raise_cli.adapters._html_shell import wrap_html_shell
68
+
69
+ title = metadata.get("title", "")
70
+ content = wrap_html_shell(title, content)
62
71
  path = self._root / raw_path
63
72
  path.parent.mkdir(parents=True, exist_ok=True)
64
73
  path.write_text(
@@ -597,6 +597,8 @@ class PythonApiJiraAdapter:
597
597
  ) -> Any:
598
598
  """Wrap value based on Jira field schema — universal dispatch (S2503.20)."""
599
599
  if field_id in self._KEY_OBJECT_FIELDS:
600
+ if isinstance(value, str) and value in self._UNASSIGN_SENTINELS:
601
+ return None
600
602
  return {"key": value} if isinstance(value, str) else value
601
603
  if field_id in self._ARRAY_NAME_OBJECT_FIELDS:
602
604
  if isinstance(value, str):
@@ -1073,15 +1073,35 @@ class JiraClient:
1073
1073
 
1074
1074
  # ── Internal ─────────────────────────────────────────────────────
1075
1075
 
1076
+ @staticmethod
1077
+ def _extract_status(error: Exception) -> int | None:
1078
+ """Extract the HTTP status code from an atlassian exception.
1079
+
1080
+ atlassian stores the originating HTTPError as ``error.reason``; the
1081
+ requests HTTPError carries the response on ``error.response``. As a
1082
+ fallback we also check ``error.response`` directly (for callers that
1083
+ surface the raw HTTPError).
1084
+ """
1085
+ reason = getattr(error, "reason", None)
1086
+ # RAISE-19457 adversarial panel F2: use ``is None`` not truthiness.
1087
+ # A requests.Response with a 4xx/5xx status code is falsy (ok=False),
1088
+ # so the old ``or`` check would fall through and lose the status_code.
1089
+ response = getattr(reason, "response", None)
1090
+ if response is None:
1091
+ response = getattr(error, "response", None)
1092
+ status: int | None = getattr(response, "status_code", None)
1093
+ return status
1094
+
1076
1095
  @staticmethod
1077
1096
  def _map_error(error: Exception, context: str) -> JiraAdapterError:
1078
1097
  """Map atlassian exceptions to our hierarchy using isinstance."""
1079
1098
  from atlassian.errors import ApiError, ApiNotFoundError, ApiPermissionError
1080
1099
 
1100
+ status = JiraClient._extract_status(error)
1081
1101
  if isinstance(error, ApiPermissionError):
1082
- return JiraAuthError(f"{context}: {error}")
1102
+ return JiraAuthError(f"{context}: {error}", status_code=status)
1083
1103
  if isinstance(error, ApiNotFoundError):
1084
- return JiraNotFoundError(f"{context}: {error}")
1104
+ return JiraNotFoundError(f"{context}: {error}", status_code=status)
1085
1105
  if isinstance(error, ApiError):
1086
- return JiraApiError(f"{context}: {error}")
1087
- return JiraApiError(f"{context}: unexpected error: {error}")
1106
+ return JiraApiError(f"{context}: {error}", status_code=status)
1107
+ return JiraApiError(f"{context}: unexpected error: {error}", status_code=status)
@@ -16,22 +16,25 @@ from __future__ import annotations
16
16
  class JiraAdapterError(Exception):
17
17
  """Base for all Jira client errors."""
18
18
 
19
- def __init__(self, message: str) -> None:
19
+ def __init__(self, message: str, status_code: int | None = None) -> None:
20
20
  self.message = message
21
+ self.status_code = status_code
21
22
  super().__init__(message)
22
23
 
23
24
 
24
25
  class JiraAuthError(JiraAdapterError):
25
26
  """401/403 — invalid or missing credentials."""
26
27
 
28
+ def __init__(self, message: str, status_code: int | None = None) -> None:
29
+ super().__init__(message, status_code=status_code)
30
+
27
31
 
28
32
  class JiraNotFoundError(JiraAdapterError):
29
33
  """404 — issue, project, or resource not found."""
30
34
 
35
+ def __init__(self, message: str, status_code: int | None = None) -> None:
36
+ super().__init__(message, status_code=status_code)
37
+
31
38
 
32
39
  class JiraApiError(JiraAdapterError):
33
40
  """Generic API error (incl. post-retry 429, 5xx, etc)."""
34
-
35
- def __init__(self, message: str, status_code: int | None = None) -> None:
36
- self.status_code = status_code
37
- super().__init__(message)
@@ -16,7 +16,7 @@ import re
16
16
  import uuid
17
17
  from datetime import UTC, datetime
18
18
  from pathlib import Path
19
- from typing import Any
19
+ from typing import Any, cast
20
20
 
21
21
  from raise_cli.adapters.filesystem_models import BacklogItem
22
22
  from raise_cli.adapters.key_gen import (
@@ -322,6 +322,27 @@ class SQLitePMAdapter:
322
322
  self._store.create(work_item)
323
323
  return IssueRef(key=key)
324
324
 
325
+ def _apply_retype(self, wi: WorkItem, value: object, author: str) -> None:
326
+ """Apply an issue_type change via the dedicated retype path."""
327
+ new_type = issue_type_to_work_item_type(str(value))
328
+ if new_type != wi.type:
329
+ self._store.append_changelog(wi.id, "type", wi.type, new_type, author)
330
+ self._store.retype(wi.id, new_type)
331
+
332
+ @staticmethod
333
+ def _normalize_list_value(value: object) -> object:
334
+ """Coerce a list-typed field value to a list of names."""
335
+ if isinstance(value, str):
336
+ return [value] if value else []
337
+ # Jira's `[{"name": "3.1.6"}]` shape (assign_fix_version) → names
338
+ # (RAISE-18975).
339
+ if isinstance(value, list):
340
+ return [
341
+ v["name"] if isinstance(v, dict) and "name" in v else v
342
+ for v in cast("list[Any]", value)
343
+ ]
344
+ return value
345
+
325
346
  def update_issue(self, key: str, fields: dict[str, Any]) -> IssueRef:
326
347
  """Update fields on an existing issue. Writes changelog for each change."""
327
348
  wi = self._resolve_work_item(key)
@@ -331,18 +352,14 @@ class SQLitePMAdapter:
331
352
  canonical = _JIRA_FIELD_ALIASES.get(field_name, field_name)
332
353
  if canonical in _IMMUTABLE_FIELDS:
333
354
  continue
355
+ if canonical == "issue_type":
356
+ self._apply_retype(wi, value, author)
357
+ continue
334
358
  # Map to updatable field names
335
359
  if canonical == "parent":
336
360
  canonical = "parent_local_key"
337
- if canonical in _LIST_TYPED_FIELDS and isinstance(value, str):
338
- value = [value] if value else []
339
- # Jira's `[{"name": "3.1.6"}]` shape (assign_fix_version) → names
340
- # (RAISE-18975).
341
- if canonical in _LIST_TYPED_FIELDS and isinstance(value, list):
342
- value = [
343
- v["name"] if isinstance(v, dict) and "name" in v else v
344
- for v in value
345
- ]
361
+ if canonical in _LIST_TYPED_FIELDS:
362
+ value = self._normalize_list_value(value)
346
363
  if canonical in _UPDATABLE_FIELDS:
347
364
  old_value = getattr(wi, canonical, None)
348
365
  if isinstance(old_value, list):
@@ -19,6 +19,8 @@ from raise_cli.mcp.workspace_config import (
19
19
  detect_mcp_pipeline_command,
20
20
  render_codex_config_toml,
21
21
  )
22
+ from raise_cli.skills.parser import ParseError
23
+ from raise_cli.skills.parser import parse_frontmatter as _parse_skill_frontmatter
22
24
  from raise_cli.skills.sync import skill_names as _skill_names
23
25
 
24
26
  _HOOKS_JSON: dict[str, Any] = {
@@ -211,6 +213,23 @@ exit 0
211
213
  """
212
214
 
213
215
 
216
+ def _skill_is_public(skill_dir: Path) -> bool:
217
+ """Return True when the skill's raise.visibility is 'public' (default).
218
+
219
+ Reads the SKILL.md frontmatter and checks the raise.visibility key.
220
+ Defaults to True (public) on any read or parse failure so that skills
221
+ without an explicit visibility field are included — backward-compatible.
222
+ """
223
+ skill_md = skill_dir / "SKILL.md"
224
+ try:
225
+ content = skill_md.read_text(encoding="utf-8")
226
+ fm, _ = _parse_skill_frontmatter(content)
227
+ metadata = fm.get("metadata", {}) or {}
228
+ return metadata.get("raise.visibility", "public") == "public"
229
+ except (OSError, ParseError):
230
+ return True # default public on read/parse failure
231
+
232
+
214
233
  class CodexPlugin:
215
234
  """Generate RaiSE governance config files for Codex CLI.
216
235
 
@@ -278,13 +297,23 @@ class CodexPlugin:
278
297
 
279
298
  source_skills_dir = project_root / ".agent" / "skills"
280
299
  if source_skills_dir.is_dir():
281
- shutil.copytree(source_skills_dir, plugin_skills_dir, dirs_exist_ok=True)
282
- # Remove stale skill dirs that no longer exist in source — prevents
283
- # ghost entries after a rename from dirtying the tree on every sync
284
- # (RAISE-18967). Use the shared skill_names() helper so the
285
- # definition of "skill directory" is consistent with SkillSyncer.
286
- source_names = _skill_names(source_skills_dir)
287
- for name in _skill_names(plugin_skills_dir) - source_names:
300
+ # Copy only public-visibility skills to the plugin — internal skills
301
+ # must not be distributed (RAISE-19076). Default is public so that
302
+ # skills without a raise.visibility field are included.
303
+ plugin_skills_dir.mkdir(parents=True, exist_ok=True)
304
+ public_source_names: set[str] = set()
305
+ for name in _skill_names(source_skills_dir):
306
+ if _skill_is_public(source_skills_dir / name):
307
+ shutil.copytree(
308
+ source_skills_dir / name,
309
+ plugin_skills_dir / name,
310
+ dirs_exist_ok=True,
311
+ )
312
+ public_source_names.add(name)
313
+ # Remove stale skill dirs that no longer exist in source (or were
314
+ # demoted to internal) — prevents ghost entries after a rename or
315
+ # visibility change from dirtying the tree on every sync (RAISE-18967).
316
+ for name in _skill_names(plugin_skills_dir) - public_source_names:
288
317
  shutil.rmtree(plugin_skills_dir / name)
289
318
  else:
290
319
  plugin_skills_dir.mkdir(parents=True, exist_ok=True)
@@ -130,6 +130,19 @@ def pipeline_run_active() -> bool:
130
130
  return any_pipeline_run_active()
131
131
 
132
132
 
133
+ def active_run_issue_ids() -> frozenset[str]:
134
+ """Return the set of issue_ids that have at least one active pipeline run.
135
+
136
+ Single store query; used by ``batch-transition`` to evaluate the
137
+ engine-ownership guard per-key (RAISE-19625). Fail-open per RAISE-10966.
138
+ """
139
+ from raise_cli.pipeline.execution_context import (
140
+ active_run_issue_ids as _active_run_issue_ids,
141
+ )
142
+
143
+ return _active_run_issue_ids()
144
+
145
+
133
146
  def _current_fix_versions(project: Path, jira_key: str) -> list[str]:
134
147
  """Read the issue's current fixVersion names from the configured PM adapter."""
135
148
  from raise_cli.adapters.resolve import resolve_pm_adapter