raise-cli 3.1.3__tar.gz → 3.1.5__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 (954) hide show
  1. {raise_cli-3.1.3 → raise_cli-3.1.5}/PKG-INFO +2 -2
  2. {raise_cli-3.1.3 → raise_cli-3.1.5}/pyproject.toml +2 -2
  3. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/composite_pm.py +4 -4
  4. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/filesystem_docs.py +3 -1
  5. raise_cli-3.1.5/src/raise_cli/adapters/id_utils.py +41 -0
  6. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_config_gen.py +10 -0
  7. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/pm.py +8 -0
  8. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/resolve.py +7 -1
  9. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/migrate.py +5 -4
  10. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/graph.py +19 -5
  11. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/init.py +4 -1
  12. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/session.py +7 -0
  13. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/session_lease.py +38 -2
  14. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cwd_binding.py +15 -12
  15. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/graph_annotations.py +1 -1
  16. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/fix.py +11 -7
  17. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/artifacts_gate.py +8 -4
  18. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/close_sync_gate.py +4 -2
  19. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/repository_hygiene.py +1 -1
  20. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/memory_index.py +30 -9
  21. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/writer.py +15 -0
  22. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/bootstrap.py +15 -3
  23. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/memory_md.py +1 -1
  24. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/epic_story_iteration.py +70 -28
  25. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_pattern.py +23 -1
  26. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_session.py +16 -10
  27. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/doctor.py +3 -1
  28. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/open_service.py +56 -15
  29. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +10 -1
  30. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-close-enterprise/SKILL.md +20 -2
  31. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-run/SKILL.md +3 -1
  32. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-worktree-close/SKILL.md +36 -4
  33. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/leases.py +12 -2
  34. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/phase_map.py +1 -0
  35. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/schemas.py +7 -1
  36. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/ref_resolver.py +7 -7
  37. {raise_cli-3.1.3 → raise_cli-3.1.5}/.gitignore +0 -0
  38. {raise_cli-3.1.3 → raise_cli-3.1.5}/README.md +0 -0
  39. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/__init__.py +0 -0
  40. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/__main__.py +0 -0
  41. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/_agent_session.py +0 -0
  42. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/_cc_session.py +0 -0
  43. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/__init__.py +0 -0
  44. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/backlog_config.py +0 -0
  45. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/composite_docs.py +0 -0
  46. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_adapter.py +0 -0
  47. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_client.py +0 -0
  48. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_config.py +0 -0
  49. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_config_gen.py +0 -0
  50. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_discovery.py +0 -0
  51. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_exceptions.py +0 -0
  52. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/confluence_markdown.py +0 -0
  53. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/__init__.py +0 -0
  54. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/adapter.py +0 -0
  55. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/discovery.py +0 -0
  56. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/expressions.py +0 -0
  57. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
  58. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
  59. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/declarative/schema.py +0 -0
  60. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/errors.py +0 -0
  61. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/filesystem.py +0 -0
  62. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/filesystem_adapter.py +0 -0
  63. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/filesystem_models.py +0 -0
  64. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/google_drive_adapter.py +0 -0
  65. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/google_drive_exceptions.py +0 -0
  66. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/graph_refresh.py +0 -0
  67. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_adapter.py +0 -0
  68. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_adf.py +0 -0
  69. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_client.py +0 -0
  70. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_config.py +0 -0
  71. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_discovery.py +0 -0
  72. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/jira_exceptions.py +0 -0
  73. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/key_gen.py +0 -0
  74. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/ledger_aware.py +0 -0
  75. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/llm_enrichment.py +0 -0
  76. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/mcp_bridge.py +0 -0
  77. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/__init__.py +0 -0
  78. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/docs.py +0 -0
  79. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/governance.py +0 -0
  80. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/health.py +0 -0
  81. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/models/sync.py +0 -0
  82. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/oauth_token.py +0 -0
  83. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/pending_ops.py +0 -0
  84. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/platform_docs.py +0 -0
  85. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/protocols.py +0 -0
  86. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/registry.py +0 -0
  87. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/sqlite_pm.py +0 -0
  88. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/sync.py +0 -0
  89. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/adapters/types_config.py +0 -0
  90. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/__init__.py +0 -0
  91. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/antigravity.yaml +0 -0
  92. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/bob.yaml +0 -0
  93. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/bob_plugin.py +0 -0
  94. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/claude.yaml +0 -0
  95. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/claude_plugin.py +0 -0
  96. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/codex.yaml +0 -0
  97. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/codex_plugin.py +0 -0
  98. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/copilot.yaml +0 -0
  99. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/copilot_plugin.py +0 -0
  100. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/cursor.yaml +0 -0
  101. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/devin.yaml +0 -0
  102. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/devin_plugin.py +0 -0
  103. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/hermes.yaml +0 -0
  104. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/kimi.yaml +0 -0
  105. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/kimi_plugin.py +0 -0
  106. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/mcp_template.py +0 -0
  107. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/roo.yaml +0 -0
  108. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/agents/windsurf.yaml +0 -0
  109. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/__init__.py +0 -0
  110. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/html_to_md.py +0 -0
  111. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/identity.py +0 -0
  112. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/models.py +0 -0
  113. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/render.py +0 -0
  114. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/artifacts/store.py +0 -0
  115. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/auth/__init__.py +0 -0
  116. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/auth/google.py +0 -0
  117. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/__init__.py +0 -0
  118. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/close_drift.py +0 -0
  119. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/hooks.py +0 -0
  120. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/merge_gate.py +0 -0
  121. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/mr_classify.py +0 -0
  122. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/reconcile.py +0 -0
  123. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/scanner.py +0 -0
  124. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/seed.py +0 -0
  125. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/backlog/sync.py +0 -0
  126. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/calibration/__init__.py +0 -0
  127. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/calibration/merge.py +0 -0
  128. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/calibration/server_client.py +0 -0
  129. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/__init__.py +0 -0
  130. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/cli.py +0 -0
  131. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/formatter.py +0 -0
  132. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/secret_scan.py +0 -0
  133. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/server_client.py +0 -0
  134. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/server_install.py +0 -0
  135. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges/server_models.py +0 -0
  136. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/__init__.py +0 -0
  137. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/management-ontology/CARTRIDGE.yaml +0 -0
  138. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/management-ontology/__init__.py +0 -0
  139. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/management-ontology/instances/ontology.json +0 -0
  140. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/management-ontology/instances/practices.json +0 -0
  141. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-dev-workflow/CARTRIDGE.yaml +0 -0
  142. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-dev-workflow/__init__.py +0 -0
  143. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/glossary.json +0 -0
  144. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/ontology.json +0 -0
  145. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/practices.json +0 -0
  146. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-methodology/CARTRIDGE.yaml +0 -0
  147. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-methodology/__init__.py +0 -0
  148. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cartridges_base/raise-methodology/instances/methodology.json +0 -0
  149. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/__init__.py +0 -0
  150. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/__init__.py +0 -0
  151. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/_graph_fields.py +0 -0
  152. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/_graph_filter_parser.py +0 -0
  153. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/_resolve.py +0 -0
  154. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/_server_write.py +0 -0
  155. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/adapter_route.py +0 -0
  156. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/adapter_setup.py +0 -0
  157. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/adapters.py +0 -0
  158. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/artifact.py +0 -0
  159. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/auth.py +0 -0
  160. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/backlog.py +0 -0
  161. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/backlog_migrate.py +0 -0
  162. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/base.py +0 -0
  163. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/bot.py +0 -0
  164. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/clean.py +0 -0
  165. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/connect.py +0 -0
  166. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/db.py +0 -0
  167. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/ddd.py +0 -0
  168. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/dev.py +0 -0
  169. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/discover.py +0 -0
  170. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/distillation.py +0 -0
  171. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/docs.py +0 -0
  172. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/docs_architecture.py +0 -0
  173. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/docs_type.py +0 -0
  174. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/doctor.py +0 -0
  175. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/drift.py +0 -0
  176. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/fleet.py +0 -0
  177. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/forward_merge.py +0 -0
  178. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/gate.py +0 -0
  179. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/governance.py +0 -0
  180. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/hook.py +0 -0
  181. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/impact.py +0 -0
  182. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/info.py +0 -0
  183. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/journal.py +0 -0
  184. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/learn.py +0 -0
  185. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/ledger.py +0 -0
  186. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/manifest.py +0 -0
  187. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/mcp.py +0 -0
  188. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/memory.py +0 -0
  189. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/onboard.py +0 -0
  190. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/pattern.py +0 -0
  191. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/pipeline.py +0 -0
  192. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/portfolio.py +0 -0
  193. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/profile.py +0 -0
  194. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/project.py +0 -0
  195. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/quality.py +0 -0
  196. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/release.py +0 -0
  197. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/reliability.py +0 -0
  198. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/repo.py +0 -0
  199. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/schema.py +0 -0
  200. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/scm.py +0 -0
  201. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/scm_review.py +0 -0
  202. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/self_update.py +0 -0
  203. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/self_upgrade.py +0 -0
  204. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/signal.py +0 -0
  205. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/skill.py +0 -0
  206. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/skill_set.py +0 -0
  207. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/story.py +0 -0
  208. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/telemetry.py +0 -0
  209. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/whoami.py +0 -0
  210. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/commands/worktree.py +0 -0
  211. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/error_handler.py +0 -0
  212. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/extensions.py +0 -0
  213. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cli/main.py +0 -0
  214. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/__init__.py +0 -0
  215. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/agent.py +0 -0
  216. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/app.py +0 -0
  217. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/config.py +0 -0
  218. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/data.py +0 -0
  219. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/env.py +0 -0
  220. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/filter.py +0 -0
  221. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/launch.py +0 -0
  222. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/pipeline_view.py +0 -0
  223. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/protocols.py +0 -0
  224. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/sessions.py +0 -0
  225. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/state.py +0 -0
  226. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tokens.py +0 -0
  227. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/__init__.py +0 -0
  228. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/app.py +0 -0
  229. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/__init__.py +0 -0
  230. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/command.py +0 -0
  231. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/confirm.py +0 -0
  232. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/help.py +0 -0
  233. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/logs.py +0 -0
  234. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/screens/new_session.py +0 -0
  235. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/services.py +0 -0
  236. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/sources.py +0 -0
  237. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/styles.tcss +0 -0
  238. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/theme.py +0 -0
  239. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/__init__.py +0 -0
  240. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/degraded_banner.py +0 -0
  241. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/detail_panel.py +0 -0
  242. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/filter_bar.py +0 -0
  243. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/recovery_menu.py +0 -0
  244. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/session_rail.py +0 -0
  245. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/tui/widgets/top_bar.py +0 -0
  246. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/types.py +0 -0
  247. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/cockpit/worktree_ops.py +0 -0
  248. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compat.py +0 -0
  249. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/__init__.py +0 -0
  250. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/controls.yaml +0 -0
  251. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/evidence.py +0 -0
  252. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/extractors/__init__.py +0 -0
  253. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/extractors/git.py +0 -0
  254. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/loader.py +0 -0
  255. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/compliance/models.py +0 -0
  256. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/__init__.py +0 -0
  257. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/agent_plugin.py +0 -0
  258. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/agent_registry.py +0 -0
  259. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/agents.py +0 -0
  260. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/ide.py +0 -0
  261. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/org_binding.py +0 -0
  262. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/paths.py +0 -0
  263. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/repo_binding.py +0 -0
  264. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/server.py +0 -0
  265. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/config/settings.py +0 -0
  266. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/__init__.py +0 -0
  267. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/__init__.py +0 -0
  268. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/models.py +0 -0
  269. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/protocol.py +0 -0
  270. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/python.py +0 -0
  271. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/signals.py +0 -0
  272. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/analyzers/typescript.py +0 -0
  273. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/builder.py +0 -0
  274. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/diff.py +0 -0
  275. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/drift.py +0 -0
  276. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/extractors/__init__.py +0 -0
  277. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/extractors/relationships.py +0 -0
  278. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/extractors/skills.py +0 -0
  279. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/extractors/structure.py +0 -0
  280. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/freshness.py +0 -0
  281. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/__init__.py +0 -0
  282. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/architecture.py +0 -0
  283. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/components.py +0 -0
  284. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/documents.py +0 -0
  285. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/guardrails.py +0 -0
  286. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/identity.py +0 -0
  287. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/memory.py +0 -0
  288. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/symbols.py +0 -0
  289. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/context/loaders/work.py +0 -0
  290. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/__init__.py +0 -0
  291. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/files.py +0 -0
  292. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/manifest.py +0 -0
  293. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/rai_header.py +0 -0
  294. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/text.py +0 -0
  295. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/core/tools.py +0 -0
  296. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/__init__.py +0 -0
  297. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/classifier.py +0 -0
  298. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/clustering.py +0 -0
  299. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/cohesion.py +0 -0
  300. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/discover.py +0 -0
  301. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/domain_model.py +0 -0
  302. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/escalation.py +0 -0
  303. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/heuristics.py +0 -0
  304. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/hitl_html.py +0 -0
  305. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/naming.py +0 -0
  306. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/panel.py +0 -0
  307. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/persistence.py +0 -0
  308. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/pipeline.py +0 -0
  309. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/report.py +0 -0
  310. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/tactical.py +0 -0
  311. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/tactical_prompts.py +0 -0
  312. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/tactical_report.py +0 -0
  313. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/tactical_validation.py +0 -0
  314. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/templates/tactical_hitl.html.j2 +0 -0
  315. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/type_cmd.py +0 -0
  316. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/ddd/validation.py +0 -0
  317. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/__init__.py +0 -0
  318. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/compose.py +0 -0
  319. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/config.py +0 -0
  320. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/env.py +0 -0
  321. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/envrc.py +0 -0
  322. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/ports.py +0 -0
  323. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/processes.py +0 -0
  324. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/provisioner.py +0 -0
  325. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/reaper.py +0 -0
  326. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/runtime_image.py +0 -0
  327. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/dev/status.py +0 -0
  328. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/developer_profile/__init__.py +0 -0
  329. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/developer_profile/persistence.py +0 -0
  330. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/developer_profile/profile.py +0 -0
  331. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/developer_profile/profile_portability.py +0 -0
  332. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/__init__.py +0 -0
  333. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/analyzer.py +0 -0
  334. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/check.py +0 -0
  335. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/clone.py +0 -0
  336. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/corpus.py +0 -0
  337. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/drift.py +0 -0
  338. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/metric.py +0 -0
  339. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/sast.py +0 -0
  340. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/scanner.py +0 -0
  341. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/temporal.py +0 -0
  342. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/discovery/thresholds.py +0 -0
  343. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/__init__.py +0 -0
  344. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/adapters.py +0 -0
  345. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/agent.py +0 -0
  346. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/backfill.py +0 -0
  347. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/classifier.py +0 -0
  348. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/clustering.py +0 -0
  349. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/conformance.py +0 -0
  350. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/evasion.py +0 -0
  351. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/hook.py +0 -0
  352. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/journal.py +0 -0
  353. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/llm_classifier.py +0 -0
  354. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/parser.py +0 -0
  355. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/segment.py +0 -0
  356. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/distillation/storage.py +0 -0
  357. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/__init__.py +0 -0
  358. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/__init__.py +0 -0
  359. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/bundle.py +0 -0
  360. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/fingerprint.py +0 -0
  361. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/models.py +0 -0
  362. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/module_id.py +0 -0
  363. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/regions.py +0 -0
  364. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/architecture/validate.py +0 -0
  365. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/docs/migrate.py +0 -0
  366. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/__init__.py +0 -0
  367. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/__init__.py +0 -0
  368. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/acli.py +0 -0
  369. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/adapters.py +0 -0
  370. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/backlog_migration.py +0 -0
  371. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/backlog_workflow_scope.py +0 -0
  372. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/bob.py +0 -0
  373. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/developer.py +0 -0
  374. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/developer_yaml.py +0 -0
  375. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/environment.py +0 -0
  376. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/hooks.py +0 -0
  377. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/legacy_install.py +0 -0
  378. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/legacy_residues.py +0 -0
  379. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/legacy_work_items.py +0 -0
  380. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/local_db.py +0 -0
  381. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/onboarding.py +0 -0
  382. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/pipeline_coverage.py +0 -0
  383. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/project.py +0 -0
  384. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/runtimes.py +0 -0
  385. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/session_index.py +0 -0
  386. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/skills.py +0 -0
  387. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/stash_hygiene.py +0 -0
  388. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/update.py +0 -0
  389. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/workspace_readiness.py +0 -0
  390. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/checks/worktrees.py +0 -0
  391. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/models.py +0 -0
  392. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/protocol.py +0 -0
  393. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/registry.py +0 -0
  394. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/report.py +0 -0
  395. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/doctor/runner.py +0 -0
  396. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/embeddings/__init__.py +0 -0
  397. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/embeddings/provider.py +0 -0
  398. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/engines/__init__.py +0 -0
  399. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/__init__.py +0 -0
  400. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/_models.py +0 -0
  401. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/_paths.py +0 -0
  402. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/ab.py +0 -0
  403. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/cli.py +0 -0
  404. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/datasets.py +0 -0
  405. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/gate.py +0 -0
  406. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/harness.py +0 -0
  407. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/memory_recall.py +0 -0
  408. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/metrics.py +0 -0
  409. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/recalibrate.py +0 -0
  410. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/reporters/__init__.py +0 -0
  411. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/reporters/json_report.py +0 -0
  412. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/reporters/latex.py +0 -0
  413. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/reporters/markdown.py +0 -0
  414. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/stats.py +0 -0
  415. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/eval/tuning.py +0 -0
  416. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/exceptions.py +0 -0
  417. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/__init__.py +0 -0
  418. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/auto_approve.py +0 -0
  419. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/binding.py +0 -0
  420. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/config.py +0 -0
  421. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/cost.py +0 -0
  422. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/dispatch_service.py +0 -0
  423. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/heartbeat.py +0 -0
  424. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/nl_parser.py +0 -0
  425. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/noop_collision.py +0 -0
  426. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/notifications.py +0 -0
  427. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/prompt_builder.py +0 -0
  428. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/provisioning.py +0 -0
  429. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/fleet/subagent_dispatcher.py +0 -0
  430. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/__init__.py +0 -0
  431. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/alembic/__init__.py +0 -0
  432. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/alembic/single_head_gate.py +0 -0
  433. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ar/__init__.py +0 -0
  434. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ar/bugfix_gate.py +0 -0
  435. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ar/story_gate.py +0 -0
  436. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/budget/__init__.py +0 -0
  437. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/budget/budget_gate.py +0 -0
  438. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/__init__.py +0 -0
  439. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/_runner.py +0 -0
  440. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/coverage.py +0 -0
  441. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/format.py +0 -0
  442. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/graph_applies_to.py +0 -0
  443. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/lint.py +0 -0
  444. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/suppression_ratchet.py +0 -0
  445. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/tests.py +0 -0
  446. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/types.py +0 -0
  447. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/builtin/types_tests_advisory.py +0 -0
  448. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/calibration/__init__.py +0 -0
  449. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/calibration/log.py +0 -0
  450. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/calibration/promotion_policy.py +0 -0
  451. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/capability/__init__.py +0 -0
  452. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/capability/capability_overlap.py +0 -0
  453. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/capability/registry.py +0 -0
  454. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ddd/__init__.py +0 -0
  455. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ddd/domain_model_ratified_gate.py +0 -0
  456. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/ddd/tactical_drift_gate.py +0 -0
  457. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/docs_architecture.py +0 -0
  458. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/docs_sync.py +0 -0
  459. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/__init__.py +0 -0
  460. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/_base.py +0 -0
  461. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/_delta.py +0 -0
  462. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/auth_fan_out.py +0 -0
  463. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/baseline.py +0 -0
  464. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/dead_public_api.py +0 -0
  465. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/epic_close.py +0 -0
  466. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/import_fan_in.py +0 -0
  467. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/linter_suppression.py +0 -0
  468. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/parallel_siblings.py +0 -0
  469. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/post_refactor_orphan.py +0 -0
  470. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/drift/story_accretion.py +0 -0
  471. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/execution.py +0 -0
  472. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/execution_ledger.py +0 -0
  473. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/__init__.py +0 -0
  474. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/_initiative_context.py +0 -0
  475. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/_portfolio_config.py +0 -0
  476. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/backlog_sync_gate.py +0 -0
  477. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/before_ready_gate.py +0 -0
  478. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/child_epics_complete_gate.py +0 -0
  479. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/governance_trail_ci_gate.py +0 -0
  480. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/pipeline_coverage_gate.py +0 -0
  481. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/public_mirror_push_gate.py +0 -0
  482. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/revert_scope_gate.py +0 -0
  483. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/skill_cli_refint_gate.py +0 -0
  484. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/strategic_fit_gate.py +0 -0
  485. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance/workflow_transition_ownership_gate.py +0 -0
  486. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/governance_freshness.py +0 -0
  487. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/hook.py +0 -0
  488. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/models.py +0 -0
  489. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/__init__.py +0 -0
  490. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/_config.py +0 -0
  491. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/_utils.py +0 -0
  492. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/discovery_gate.py +0 -0
  493. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/icp_gate.py +0 -0
  494. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/jtbd_gate.py +0 -0
  495. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/pm/ownership_gate.py +0 -0
  496. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/protocol.py +0 -0
  497. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/registry.py +0 -0
  498. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/release/__init__.py +0 -0
  499. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/release/version_group_consistent.py +0 -0
  500. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/__init__.py +0 -0
  501. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/api_schema_lock.py +0 -0
  502. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/auth_invariant.py +0 -0
  503. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/cage_profile_lint.py +0 -0
  504. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/cwd_topology.py +0 -0
  505. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/protocol_parity.py +0 -0
  506. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/slice1/spi_conformance.py +0 -0
  507. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/sync/__init__.py +0 -0
  508. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/sync/sync_gate.py +0 -0
  509. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/gates/worker_budget.py +0 -0
  510. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/git/__init__.py +0 -0
  511. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/git/branch_guard.py +0 -0
  512. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/governance/__init__.py +0 -0
  513. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/governance/models.py +0 -0
  514. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/governance/sync.py +0 -0
  515. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/governance_gate.py +0 -0
  516. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/__init__.py +0 -0
  517. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/api_graph_read_backend.py +0 -0
  518. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/backends/__init__.py +0 -0
  519. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/backends/api.py +0 -0
  520. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/backends/dual.py +0 -0
  521. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/backends/pending.py +0 -0
  522. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/backends/sqlite.py +0 -0
  523. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/exceptions.py +0 -0
  524. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/merge.py +0 -0
  525. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/query_backend.py +0 -0
  526. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/graph/utils.py +0 -0
  527. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/handlers/__init__.py +0 -0
  528. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/harness_review/__init__.py +0 -0
  529. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/harness_review/adapter.py +0 -0
  530. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/harness_review/claude_adapter.py +0 -0
  531. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/harness_review/detection.py +0 -0
  532. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/harness_review/pre_submission.py +0 -0
  533. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hook_bus/__init__.py +0 -0
  534. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hook_bus/emitter.py +0 -0
  535. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hook_bus/events.py +0 -0
  536. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hook_bus/protocol.py +0 -0
  537. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hook_bus/registry.py +0 -0
  538. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/__init__.py +0 -0
  539. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/__init__.py +0 -0
  540. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
  541. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/graph_update.py +0 -0
  542. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/memory.py +0 -0
  543. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/pipeline_events.py +0 -0
  544. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/builtin/telemetry.py +0 -0
  545. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/emitter.py +0 -0
  546. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/events.py +0 -0
  547. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/git_commit_block.py +0 -0
  548. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/post_merge_staleness.py +0 -0
  549. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/posttooluse.py +0 -0
  550. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/pretooluse.py +0 -0
  551. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/protocol.py +0 -0
  552. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/hooks/registry.py +0 -0
  553. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/__init__.py +0 -0
  554. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/git_diff.py +0 -0
  555. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/models.py +0 -0
  556. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/ownership.py +0 -0
  557. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/policy.py +0 -0
  558. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/recommendations.py +0 -0
  559. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/rendering.py +0 -0
  560. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/impact/report.py +0 -0
  561. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/legacy/__init__.py +0 -0
  562. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/legacy/cleaner.py +0 -0
  563. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/legacy/models.py +0 -0
  564. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/legacy/scanner.py +0 -0
  565. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/legacy/snooze.py +0 -0
  566. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/__init__.py +0 -0
  567. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/bridge.py +0 -0
  568. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/models.py +0 -0
  569. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/registry.py +0 -0
  570. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/schema.py +0 -0
  571. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mcp/workspace_config.py +0 -0
  572. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/__init__.py +0 -0
  573. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/api_patterns_backend.py +0 -0
  574. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/content_hash.py +0 -0
  575. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/dedup.py +0 -0
  576. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/frontmatter_extractor.py +0 -0
  577. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/hint_oracle.py +0 -0
  578. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/ingest_cartridge.py +0 -0
  579. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/learning.py +0 -0
  580. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/migrate_claude.py +0 -0
  581. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/migration.py +0 -0
  582. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/models.py +0 -0
  583. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/pattern_evaluator.py +0 -0
  584. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/patterns_backend.py +0 -0
  585. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/portability.py +0 -0
  586. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/push.py +0 -0
  587. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/memory/sync.py +0 -0
  588. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/mr_create_gate.py +0 -0
  589. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/__init__.py +0 -0
  590. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/cartridges.py +0 -0
  591. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/claudemd.py +0 -0
  592. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/cli_commands.yaml +0 -0
  593. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/conventions.py +0 -0
  594. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/detection.py +0 -0
  595. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/governance.py +0 -0
  596. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/instructions.py +0 -0
  597. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/instructions_check.py +0 -0
  598. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/manifest.py +0 -0
  599. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/manifest_validate.py +0 -0
  600. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/merge_conventions.py +0 -0
  601. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/migration.py +0 -0
  602. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/profile.py +0 -0
  603. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/profile_portability.py +0 -0
  604. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/purge.py +0 -0
  605. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/router.py +0 -0
  606. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/skill_conflict.py +0 -0
  607. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/skill_manifest.py +0 -0
  608. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/skills.py +0 -0
  609. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/onboarding/workflows.py +0 -0
  610. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/__init__.py +0 -0
  611. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/console.py +0 -0
  612. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/__init__.py +0 -0
  613. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/adapters.py +0 -0
  614. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/backlog_node.py +0 -0
  615. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/discover.py +0 -0
  616. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/graph.py +0 -0
  617. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/formatters/skill.py +0 -0
  618. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/output/symbols.py +0 -0
  619. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/__init__.py +0 -0
  620. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_caller_context.py +0 -0
  621. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_compact.py +0 -0
  622. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_mcp_decorators.py +0 -0
  623. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_mcp_instance.py +0 -0
  624. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_startup_checks.py +0 -0
  625. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/_telemetry.py +0 -0
  626. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/agent_runtime_adapter.py +0 -0
  627. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/api_run_store.py +0 -0
  628. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/branch_guard.py +0 -0
  629. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/dispatch.py +0 -0
  630. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/engine.py +0 -0
  631. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/execution_context.py +0 -0
  632. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/executor.py +0 -0
  633. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/gates.py +0 -0
  634. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/lease_enforcement.py +0 -0
  635. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/lifecycle.py +0 -0
  636. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/loader.py +0 -0
  637. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_lifecycle.py +0 -0
  638. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_server.py +0 -0
  639. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_artifact.py +0 -0
  640. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_backlog.py +0 -0
  641. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_docs.py +0 -0
  642. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_fleet.py +0 -0
  643. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_gate.py +0 -0
  644. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_graph.py +0 -0
  645. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_pipeline.py +0 -0
  646. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_story.py +0 -0
  647. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/mcp_tools_task.py +0 -0
  648. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/bugfix-enterprise.yaml +0 -0
  649. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/bugfix-lean.yaml +0 -0
  650. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +0 -0
  651. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/epic-design-pdcv.yaml +0 -0
  652. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/epic-enterprise.yaml +0 -0
  653. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/epic-flat.yaml +0 -0
  654. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/epic.yaml +0 -0
  655. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/initiative-enterprise.yaml +0 -0
  656. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/initiative.yaml +0 -0
  657. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/spike-enterprise.yaml +0 -0
  658. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/spike.yaml +0 -0
  659. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/story-enterprise.yaml +0 -0
  660. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/story-legacy.yaml +0 -0
  661. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/story.yaml +0 -0
  662. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/pipelines_base/upgrade.yaml +0 -0
  663. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/prompt.py +0 -0
  664. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/provider_model.py +0 -0
  665. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/rai_header.py +0 -0
  666. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/resilient_run_store.py +0 -0
  667. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/run_store.py +0 -0
  668. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/skill_model.py +0 -0
  669. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/templates/adversarial-ar.md +0 -0
  670. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/templates/adversarial-qr.md +0 -0
  671. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/terminal_status.py +0 -0
  672. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/transitions.py +0 -0
  673. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/when.py +0 -0
  674. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/workflow_point_resolver.py +0 -0
  675. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/worktree.py +0 -0
  676. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/pipeline/worktree_lock.py +0 -0
  677. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/__init__.py +0 -0
  678. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/component_map.py +0 -0
  679. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/dependency/__init__.py +0 -0
  680. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/dependency/graph.py +0 -0
  681. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/derivation.py +0 -0
  682. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/dsm_render.py +0 -0
  683. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/git_attr.py +0 -0
  684. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/storage.py +0 -0
  685. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/portfolio/suggest.py +0 -0
  686. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project.py +0 -0
  687. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project_config/__init__.py +0 -0
  688. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project_config/branches.py +0 -0
  689. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project_config/manifest.py +0 -0
  690. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project_config/manifest_validate.py +0 -0
  691. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/project_config/types.py +0 -0
  692. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/publish/__init__.py +0 -0
  693. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/publish/changelog.py +0 -0
  694. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/publish/check.py +0 -0
  695. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/publish/version.py +0 -0
  696. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/quality/__init__.py +0 -0
  697. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/quality/classifier.py +0 -0
  698. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/quality/enrichment.py +0 -0
  699. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/quality/models.py +0 -0
  700. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/__init__.py +0 -0
  701. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/framework/__init__.py +0 -0
  702. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
  703. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/__init__.py +0 -0
  704. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
  705. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -0
  706. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
  707. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/system-context.md +0 -0
  708. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
  709. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/system-design.md +0 -0
  710. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
  711. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/backlog.md +0 -0
  712. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
  713. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/prd.md +0 -0
  714. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/governance/vision.md +0 -0
  715. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/identity/__init__.py +0 -0
  716. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/identity/core.md +0 -0
  717. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/identity/core.yaml +0 -0
  718. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/identity/perspective.md +0 -0
  719. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/memory/__init__.py +0 -0
  720. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
  721. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/release_preflight.py +0 -0
  722. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/release_version.py +0 -0
  723. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/__init__.py +0 -0
  724. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/cfr.py +0 -0
  725. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/classification_models.py +0 -0
  726. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/cohort.py +0 -0
  727. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/deployments.py +0 -0
  728. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/gate_escape.py +0 -0
  729. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/lens.py +0 -0
  730. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/models.py +0 -0
  731. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/multitrack.py +0 -0
  732. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/recommendations.py +0 -0
  733. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/rollup.py +0 -0
  734. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/session_condition.py +0 -0
  735. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/target_classifier.py +0 -0
  736. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/reliability/targets.py +0 -0
  737. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/schemas/__init__.py +0 -0
  738. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/schemas/journal.py +0 -0
  739. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/schemas/session_ledger.py +0 -0
  740. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/schemas/session_state.py +0 -0
  741. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/PROVIDERS.md +0 -0
  742. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/__init__.py +0 -0
  743. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/adapter.py +0 -0
  744. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/azdo_adapter.py +0 -0
  745. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/bitbucket_adapter.py +0 -0
  746. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/conflict_rules.py +0 -0
  747. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/github_adapter.py +0 -0
  748. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/gitlab_adapter.py +0 -0
  749. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/governance.py +0 -0
  750. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/scm/propagation.py +0 -0
  751. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/self_update/__init__.py +0 -0
  752. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/self_update/manifest.py +0 -0
  753. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/self_update/updater.py +0 -0
  754. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/__init__.py +0 -0
  755. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/api_context_backend.py +0 -0
  756. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/bundle.py +0 -0
  757. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/bundle_data.py +0 -0
  758. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/bundle_formatters.py +0 -0
  759. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/bundle_governance.py +0 -0
  760. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/__init__.py +0 -0
  761. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/alias.py +0 -0
  762. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/catalog.py +0 -0
  763. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/models.py +0 -0
  764. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/reconcile.py +0 -0
  765. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/runtime.py +0 -0
  766. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/scope.py +0 -0
  767. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/catalog/source.py +0 -0
  768. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/close.py +0 -0
  769. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/connect.py +0 -0
  770. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/context_backend.py +0 -0
  771. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/context_env.py +0 -0
  772. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/derive.py +0 -0
  773. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/donor.py +0 -0
  774. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/identity.py +0 -0
  775. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/index.py +0 -0
  776. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/journal.py +0 -0
  777. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/ledger.py +0 -0
  778. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/lifecycle.py +0 -0
  779. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/measure.py +0 -0
  780. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/monitor.py +0 -0
  781. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/peek.py +0 -0
  782. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/prefix.py +0 -0
  783. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/protocols.py +0 -0
  784. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/qr_adapter.py +0 -0
  785. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/registry.py +0 -0
  786. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/resolver.py +0 -0
  787. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/runner.py +0 -0
  788. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/scope.py +0 -0
  789. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/state.py +0 -0
  790. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/terminal.py +0 -0
  791. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/session/update_cache.py +0 -0
  792. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/__init__.py +0 -0
  793. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/locator.py +0 -0
  794. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/name_checker.py +0 -0
  795. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/parser.py +0 -0
  796. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/scaffold.py +0 -0
  797. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/schema.py +0 -0
  798. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/skillsets.py +0 -0
  799. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/sync.py +0 -0
  800. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills/validator.py +0 -0
  801. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/__init__.py +0 -0
  802. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/contract-template.md +0 -0
  803. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/preamble.md +0 -0
  804. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-adversarial-review/SKILL.md +0 -0
  805. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +0 -0
  806. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-backlog-setup/SKILL.md +0 -0
  807. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bug-file/SKILL.md +0 -0
  808. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +0 -0
  809. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-close-lean/SKILL.md +0 -0
  810. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +0 -0
  811. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-fix-enterprise/SKILL.md +0 -0
  812. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-fix-lean/SKILL.md +0 -0
  813. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-pir/SKILL.md +0 -0
  814. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +0 -0
  815. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +0 -0
  816. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +0 -0
  817. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-start-enterprise/SKILL.md +0 -0
  818. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-start-lean/SKILL.md +0 -0
  819. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +0 -0
  820. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-cartridge-agent/SKILL.md +0 -0
  821. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-corpus-curate/SKILL.md +0 -0
  822. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-debug/SKILL.md +0 -0
  823. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-discover/SKILL.md +0 -0
  824. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-docs-setup/SKILL.md +0 -0
  825. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-docs-setup-advanced/SKILL.md +0 -0
  826. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +0 -0
  827. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
  828. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-close/SKILL.md +0 -0
  829. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-close-enterprise/SKILL.md +0 -0
  830. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-close-enterprise/templates/retrospective.md +0 -0
  831. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +0 -0
  832. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-design-enterprise/SKILL.md +0 -0
  833. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/design.md +0 -0
  834. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/scope.md +0 -0
  835. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +0 -0
  836. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-journal/SKILL.md +0 -0
  837. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +0 -0
  838. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
  839. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
  840. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-predesign-evidence/SKILL.md +0 -0
  841. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +0 -0
  842. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-start-enterprise/SKILL.md +0 -0
  843. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-start-enterprise/templates/brief.md +0 -0
  844. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-epic-ux-design/SKILL.md +0 -0
  845. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-forward-merge/SKILL.md +0 -0
  846. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-initiative-delivering/SKILL.md +0 -0
  847. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-initiative-shaped/SKILL.md +0 -0
  848. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-kc-build/SKILL.md +0 -0
  849. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
  850. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
  851. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
  852. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-mr-create/SKILL.md +0 -0
  853. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-mr-merge/SKILL.md +0 -0
  854. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-onboard-repo/SKILL.md +0 -0
  855. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-pipeline-run/SKILL.md +0 -0
  856. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-pipeline-run-lean/SKILL.md +0 -0
  857. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +0 -0
  858. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-project-create/SKILL.md +0 -0
  859. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +0 -0
  860. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-project-upgrade/SKILL.md +0 -0
  861. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +0 -0
  862. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research/SKILL.md +0 -0
  863. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
  864. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-critic/SKILL.md +0 -0
  865. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-evidence/SKILL.md +0 -0
  866. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-frame/SKILL.md +0 -0
  867. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-scope/SKILL.md +0 -0
  868. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-search/SKILL.md +0 -0
  869. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-synthesize/SKILL.md +0 -0
  870. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-research-verify/SKILL.md +0 -0
  871. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -0
  872. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +0 -0
  873. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-session-orchestrator/SKILL.md +0 -0
  874. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-session-start/SKILL.md +0 -0
  875. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-skill-create/SKILL.md +0 -0
  876. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +0 -0
  877. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-spike-close/SKILL.md +0 -0
  878. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-spike-journal/SKILL.md +0 -0
  879. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-spike-start/SKILL.md +0 -0
  880. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-close/SKILL.md +0 -0
  881. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-close-enterprise/SKILL.md +0 -0
  882. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-design/SKILL.md +0 -0
  883. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
  884. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-implement/SKILL.md +0 -0
  885. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +0 -0
  886. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-review/SKILL.md +0 -0
  887. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-start/SKILL.md +0 -0
  888. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-start-enterprise/SKILL.md +0 -0
  889. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-story-start-enterprise/templates/story.md +0 -0
  890. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-welcome/SKILL.md +0 -0
  891. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/rai-worktree-open/SKILL.md +0 -0
  892. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/skills_base/skillsets/enterprise.yaml +0 -0
  893. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/__init__.py +0 -0
  894. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/cartridge_projection.py +0 -0
  895. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/connection.py +0 -0
  896. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/consolidate.py +0 -0
  897. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/counter.py +0 -0
  898. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/maintenance_lock.py +0 -0
  899. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/migrate.py +0 -0
  900. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/migrate_project_slug.py +0 -0
  901. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/pause_states.py +0 -0
  902. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/port_allocations.py +0 -0
  903. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/schema.py +0 -0
  904. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/schema_sum.py +0 -0
  905. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/work_items.py +0 -0
  906. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/work_items_outbox.py +0 -0
  907. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/storage/worktrees.py +0 -0
  908. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/story/__init__.py +0 -0
  909. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/story/close_service.py +0 -0
  910. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/story/open_service.py +0 -0
  911. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/task/__init__.py +0 -0
  912. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/task/complete_service.py +0 -0
  913. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/__init__.py +0 -0
  914. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/adapter_registry.py +0 -0
  915. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/attribution.py +0 -0
  916. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/audit.py +0 -0
  917. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/backfill.py +0 -0
  918. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/cc_adapter.py +0 -0
  919. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/cost_report.py +0 -0
  920. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/defect_attribution.py +0 -0
  921. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/emit_work.py +0 -0
  922. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/emitter.py +0 -0
  923. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/guardrails.py +0 -0
  924. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/phase_report.py +0 -0
  925. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/region_szz.py +0 -0
  926. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/root_cause.py +0 -0
  927. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/session_tokens.py +0 -0
  928. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/szz.py +0 -0
  929. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/token_daily.py +0 -0
  930. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/tool_cost.py +0 -0
  931. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/telemetry/trailer.py +0 -0
  932. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/testing/__init__.py +0 -0
  933. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/testing/profiling_plugin.py +0 -0
  934. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/testing/shadow_policy.py +0 -0
  935. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/testing/xdist_safety.py +0 -0
  936. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/tier/__init__.py +0 -0
  937. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/tier/context.py +0 -0
  938. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/version_report.py +0 -0
  939. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/viz/__init__.py +0 -0
  940. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/viz/generator.py +0 -0
  941. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/__init__.py +0 -0
  942. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/backfill.py +0 -0
  943. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/retry_queue.py +0 -0
  944. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/schemas.py +0 -0
  945. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_events/translator.py +0 -0
  946. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_item/__init__.py +0 -0
  947. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_item/close_service.py +0 -0
  948. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/work_item/open_service.py +0 -0
  949. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/workspace/__init__.py +0 -0
  950. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/workspace/readiness.py +0 -0
  951. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/worktree/__init__.py +0 -0
  952. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/worktree/base_resolver.py +0 -0
  953. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/worktree/provision.py +0 -0
  954. {raise_cli-3.1.3 → raise_cli-3.1.5}/src/raise_cli/worktree/prune.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raise-cli
3
- Version: 3.1.3
3
+ Version: 3.1.5
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
@@ -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.3
36
+ Requires-Dist: raise-core==3.1.5
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.3"
3
+ version = "3.1.5"
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.3",
24
+ "raise-core==3.1.5",
25
25
  "typer>=0.12.0",
26
26
  "rich>=13.7.0",
27
27
  "pydantic>=2.6.0",
@@ -14,7 +14,6 @@ from __future__ import annotations
14
14
 
15
15
  import contextlib
16
16
  import logging
17
- import re
18
17
  from collections.abc import Callable
19
18
  from datetime import UTC, datetime
20
19
  from pathlib import Path
@@ -25,6 +24,7 @@ from pydantic import ValidationError
25
24
 
26
25
  from raise_cli.adapters.errors import AdapterSyncError
27
26
  from raise_cli.adapters.filesystem_models import BacklogItem
27
+ from raise_cli.adapters.id_utils import DEFAULT_ID_PATTERN, work_id_re
28
28
  from raise_cli.adapters.models import (
29
29
  AdapterHealth,
30
30
  AttachmentDetail,
@@ -55,8 +55,6 @@ _RemoteAction = Callable[[Any, str], None]
55
55
 
56
56
  MAX_RETRIES = 5
57
57
 
58
- _JIRA_KEY_RE = re.compile(r"^[A-Z][A-Z0-9]*-\d+$")
59
-
60
58
 
61
59
  class RemoteWriteOutcome(NamedTuple):
62
60
  """Return contract for ``_write_to_remotes_keyed`` (RAISE-12598).
@@ -91,12 +89,14 @@ class CompositeBacklogAdapter:
91
89
  pending: PendingOpsLog,
92
90
  *,
93
91
  server_first: bool = False,
92
+ id_pattern: str = DEFAULT_ID_PATTERN,
94
93
  ) -> None:
95
94
  self._local = adapters[0]
96
95
  self._remotes = adapters[1:]
97
96
  self._wi_store = wi_store
98
97
  self._pending = pending
99
98
  self._server_first = server_first
99
+ self._id_re = work_id_re(id_pattern)
100
100
 
101
101
  @property
102
102
  def remotes(self) -> list[Any]:
@@ -1104,7 +1104,7 @@ class CompositeBacklogAdapter:
1104
1104
  remote_key = self._wi_store.get_jira_key(local_key)
1105
1105
  if remote_key is None:
1106
1106
  if self._local_has_key(local_key):
1107
- if _JIRA_KEY_RE.match(local_key):
1107
+ if self._id_re.match(local_key):
1108
1108
  # Auto-heal: local key IS a remote key (migrated/imported
1109
1109
  # item with NULL jira_key). Self-map and pass through.
1110
1110
  remote_key = local_key
@@ -61,7 +61,9 @@ class FilesystemDocsTarget:
61
61
  return error
62
62
  path = self._root / raw_path
63
63
  path.parent.mkdir(parents=True, exist_ok=True)
64
- path.write_text(content)
64
+ path.write_text(
65
+ content, encoding="utf-8"
66
+ ) # RAISE-17565: explícito, independiente del locale del OS
65
67
  return PublishResult(
66
68
  success=True, url=str(path), message="Written to filesystem"
67
69
  )
@@ -0,0 +1,41 @@
1
+ r"""Utility for configurable work-item ID regex — RAISE-18508.
2
+
3
+ Centralizes the pattern used to validate work-item keys across gates,
4
+ pipeline modules, and adapters. Callers compile the regex once via
5
+ ``work_id_re`` and should NOT hardcode ``[A-Z][A-Z0-9]*-\\d+`` directly.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import re
11
+ from pathlib import Path
12
+
13
+ DEFAULT_ID_PATTERN: str = r"[A-Z][A-Z0-9]*-\d+"
14
+
15
+
16
+ def work_id_re(pattern: str) -> re.Pattern[str]:
17
+ """Return a compiled regex for the given work-item ID pattern."""
18
+ return re.compile(pattern)
19
+
20
+
21
+ def load_id_pattern(project_root: Path) -> str:
22
+ """Read ``id_pattern`` from ``.raise/backlog.yaml``.
23
+
24
+ Returns ``DEFAULT_ID_PATTERN`` on any error (missing file, invalid YAML,
25
+ adapter not found) so callers never need to handle the failure.
26
+ """
27
+ try:
28
+ from raise_cli.adapters.backlog_config import (
29
+ get_configured_adapters,
30
+ load_backlog_config,
31
+ )
32
+
33
+ adapters = get_configured_adapters(project_root)
34
+ if not adapters:
35
+ return DEFAULT_ID_PATTERN
36
+ adapter_name = next(iter(adapters))
37
+ cfg = load_backlog_config(project_root, adapter_name)
38
+ re.compile(cfg.id_pattern) # validate — re.error falls through to except
39
+ return cfg.id_pattern
40
+ except Exception: # noqa: BLE001 — fail-open: always return a usable pattern
41
+ return DEFAULT_ID_PATTERN
@@ -189,6 +189,16 @@ _CONFIG_HEADER = """\
189
189
  # organizations.<name>.url: tool endpoint domain
190
190
  # projects.<key>.org: which organization owns this project
191
191
  #
192
+ # id_pattern: optional regex for work-item IDs (default: Jira format [A-Z][A-Z0-9]*-\\d+)
193
+ # Override when your project uses non-Jira IDs (e.g. E14, S1.1, BUG-ALR-01).
194
+ # Example patterns:
195
+ # Jira (default): '[A-Z][A-Z0-9]*-\\d+'
196
+ # Epics only: 'E\\d+'
197
+ # Stories only: 'S\\d+\\.\\d+'
198
+ # Multi-segment: '[A-Z]+-[A-Z]+-\\d+'
199
+ # Uncomment and set under the adapter section (e.g. under jira:):
200
+ # # id_pattern: 'E\\d+'
201
+ #
192
202
  """
193
203
 
194
204
 
@@ -530,6 +530,14 @@ class BacklogAdapterConfig(BaseModel, frozen=True):
530
530
  default_factory=dict,
531
531
  description="Issue type → key prefix (e.g. Epic → e, Story → s). Populated by issue-types discover.",
532
532
  )
533
+ id_pattern: str = Field(
534
+ default=r"[A-Z][A-Z0-9]*-\d+",
535
+ description=(
536
+ "Regex pattern for work-item ID validation (RAISE-18508). "
537
+ "Default matches Jira-style keys (e.g. RAISE-123). "
538
+ "Override for non-Jira systems: e.g. 'E\\d+' for InterWare."
539
+ ),
540
+ )
533
541
 
534
542
  @model_validator(mode="before")
535
543
  @classmethod
@@ -245,8 +245,14 @@ def _compose_pm_adapters(
245
245
  # Consulta env vars + ~/.rai/server.json (vía get_server_credentials).
246
246
  # El código anterior solo leía env vars, ignorando rai connect → server.json.
247
247
  server_first = get_server_credentials() is not None
248
+ from raise_cli.adapters.id_utils import load_id_pattern
249
+
248
250
  return CompositeBacklogAdapter(
249
- instances, wi_store, pending, server_first=server_first
251
+ instances,
252
+ wi_store,
253
+ pending,
254
+ server_first=server_first,
255
+ id_pattern=load_id_pattern(root),
250
256
  )
251
257
 
252
258
 
@@ -22,13 +22,14 @@ from pydantic import BaseModel
22
22
 
23
23
  from raise_cli.adapters.filesystem import FilesystemPMAdapter
24
24
  from raise_cli.adapters.filesystem_models import BacklogItem
25
+ from raise_cli.adapters.id_utils import DEFAULT_ID_PATTERN, work_id_re
25
26
  from raise_cli.adapters.key_gen import issue_type_to_work_item_type
26
27
  from raise_cli.storage.work_items import WorkItem, WorkItemStore
27
28
 
28
29
  # D5: strict wire-key shape. Excludes local-only keys (E1, S1.1) and
29
30
  # hex-suffixed staged keys (TMP-7D983BB0) that `_save_item`'s looser
30
- # `not key.startswith("e")` heuristic would mis-tag as Jira keys.
31
- _WIRE_KEY_RE = re.compile(r"[A-Z][A-Z0-9]*-\d+")
31
+ # `not key.startswith("e")` heuristic would mis-tag as remote keys.
32
+ _WIRE_KEY_RE = work_id_re(DEFAULT_ID_PATTERN)
32
33
 
33
34
  # D11: work_items columns eligible for the fill-only-empty update rule,
34
35
  # in a fixed order so `MigrationAction.fields` is deterministic.
@@ -45,9 +46,9 @@ _FILL_ONLY_EMPTY_FIELDS: tuple[str, ...] = (
45
46
  )
46
47
 
47
48
 
48
- def _wire_key(key: str | None) -> str | None:
49
+ def _wire_key(key: str | None, *, id_re: re.Pattern[str] = _WIRE_KEY_RE) -> str | None:
49
50
  """Return *key* iff it strictly matches the wire-key shape (D5), else None."""
50
- if key and _WIRE_KEY_RE.fullmatch(key):
51
+ if key and id_re.fullmatch(key):
51
52
  return key
52
53
  return None
53
54
 
@@ -167,6 +167,8 @@ def _parse_query_strategy(strategy: str | None) -> QueryStrategy:
167
167
  return QueryStrategy.KEYWORD_SEARCH
168
168
  if strategy == "semantic":
169
169
  return QueryStrategy.SEMANTIC_LOCAL
170
+ if strategy == "keyword": # backwards-compat alias — RAISE-18713
171
+ return QueryStrategy.KEYWORD_SEARCH
170
172
  try:
171
173
  return QueryStrategy(strategy)
172
174
  except ValueError:
@@ -228,6 +230,8 @@ def _write_query_output(
228
230
  output_text: str,
229
231
  output: Path | None,
230
232
  result: object,
233
+ *,
234
+ is_json: bool = False,
231
235
  ) -> None:
232
236
  """Write query result to file or stdout with summary."""
233
237
  if output:
@@ -237,6 +241,10 @@ def _write_query_output(
237
241
  console.print(f" Concepts: {meta.total_concepts}")
238
242
  console.print(f" Tokens: ~{meta.token_estimate}")
239
243
  console.print(f" Execution: {meta.execution_time_ms:.2f}ms\n")
244
+ elif is_json:
245
+ # RAISE-17940: Rich console.print() word-wraps long lines, inserting
246
+ # raw 0x0A bytes inside JSON string values — use plain print() instead.
247
+ print(output_text) # noqa: T201
240
248
  else:
241
249
  console.print(output_text)
242
250
 
@@ -598,7 +606,9 @@ def query( # noqa: C901
598
606
  output_text = format_compact(result, full=full)
599
607
  else:
600
608
  output_text = format_markdown(result, full=full)
601
- _write_query_output(output_text, output, result)
609
+ _write_query_output(
610
+ output_text, output, result, is_json=(format == "json")
611
+ )
602
612
  return
603
613
  except httpx.HTTPStatusError as exc:
604
614
  _warn_msg = (
@@ -654,7 +664,7 @@ def query( # noqa: C901
654
664
  depth_expand=depth_expand,
655
665
  )
656
666
 
657
- if format != "agent":
667
+ if format not in ("agent", "json"):
658
668
  console.print(f"\nQuerying memory for: [cyan]{query_str}[/cyan]")
659
669
  if query_strategy == QueryStrategy.KEYWORD_SEARCH_FORCED:
660
670
  console.print(
@@ -701,7 +711,7 @@ def query( # noqa: C901
701
711
  else:
702
712
  output_text = format_markdown(result, full=full)
703
713
 
704
- _write_query_output(output_text, output, result)
714
+ _write_query_output(output_text, output, result, is_json=(format == "json"))
705
715
 
706
716
 
707
717
  # =============================================================================
@@ -1899,6 +1909,9 @@ def build(
1899
1909
 
1900
1910
  # Auto-embed cartridges for hybrid retrieval (S9795.7)
1901
1911
  _auto_embed_all_cartridges(Path.cwd() / ".raise" / "cartridges")
1912
+ _auto_embed_all_cartridges(
1913
+ Path.home() / ".rai" / "cartridges"
1914
+ ) # RAISE-18708: global path
1902
1915
 
1903
1916
  # Auto-embed non-cartridge graph nodes (pattern/symbol/document) for
1904
1917
  # pure-semantic reachability (RAISE-16087)
@@ -2008,13 +2021,14 @@ def _find_stale_cartridges(
2008
2021
  current_fps = {n.id: compute_fp(n.id, n.content, spec) for n in nodes}
2009
2022
  deleted_ids = set(existing_fps) - {n.id for n in nodes}
2010
2023
  changed = any(current_fps[n.id] != existing_fps.get(n.id) for n in nodes)
2011
- if not changed and not deleted_ids and existing_fps:
2024
+ existing_embeddings = _load_existing_embeddings(instances_dir)
2025
+ if not changed and not deleted_ids and existing_fps and existing_embeddings:
2012
2026
  continue
2013
2027
  work_items.append(
2014
2028
  (
2015
2029
  instances_dir,
2016
2030
  nodes,
2017
- _load_existing_embeddings(instances_dir),
2031
+ existing_embeddings,
2018
2032
  existing_fps,
2019
2033
  )
2020
2034
  )
@@ -1245,7 +1245,10 @@ def _scaffold_per_agent(
1245
1245
 
1246
1246
  claude_memory = get_claude_memory_path(project_path)
1247
1247
  claude_memory.parent.mkdir(parents=True, exist_ok=True)
1248
- claude_memory.write_text(memory_content, encoding="utf-8")
1248
+ if not claude_memory.exists() or force:
1249
+ claude_memory.write_text(memory_content, encoding="utf-8")
1250
+ else:
1251
+ logger.debug("Kept (exists): %s", claude_memory)
1249
1252
 
1250
1253
  plugin.post_init(project_path, config)
1251
1254
 
@@ -961,6 +961,13 @@ def start( # noqa: C901
961
961
  typer.echo(f"▶ Session {session_id}{display_name} started ({agent_name})")
962
962
  else:
963
963
  typer.echo(f"▶ Session started ({agent_name})")
964
+ lease = payload.session_lease
965
+ if lease is not None and lease.get("reason") == "unregistered":
966
+ typer.echo(
967
+ "⚠ This worktree is not registered, so no session lease was taken"
968
+ f" — run `{lease.get('hint', 'rai worktree register')}` and reopen"
969
+ " the session."
970
+ )
964
971
 
965
972
 
966
973
  @session_app.command()
@@ -10,11 +10,41 @@ import logging
10
10
  import os
11
11
  from pathlib import Path
12
12
 
13
- from raise_cli.storage.leases import SqliteLeaseStore
13
+ from raise_cli.storage.leases import Lease, SqliteLeaseStore
14
+ from raise_cli.storage.worktrees import (
15
+ SqliteWorktreeStore,
16
+ Worktree,
17
+ WorktreeNotFoundError,
18
+ )
14
19
 
15
20
  _log = logging.getLogger(__name__)
16
21
 
17
22
 
23
+ def usable_worktree(lease: Lease, wt_store: SqliteWorktreeStore) -> Worktree | None:
24
+ """Return the lease's worktree when it is a usable binding target, else None.
25
+
26
+ Usable means: the registry row exists, its status is not ``closed`` and
27
+ its directory exists on disk (RAISE-18504). A missing row (orphan lease)
28
+ answers None, accepted behaviour change vs the old fail-open: the
29
+ hook now skips it and may bind an older usable sibling lease.
30
+
31
+ Deliberately does NOT evaluate pid liveness (that is the lease store's
32
+ ``pid_alive`` filter; the MCP-pid caveat is RAISE-18043) nor lease expiry
33
+ (no TTL on the read path; an expired lease with a live holder still
34
+ binds; a policy decision belonging to the ADR). This is the seam where
35
+ a future shared predicate extends.
36
+
37
+ Lookup errors other than "row absent" propagate so callers fail open.
38
+ """
39
+ try:
40
+ wt = wt_store.get_by_name(lease.worktree_id)
41
+ except WorktreeNotFoundError:
42
+ return None
43
+ if wt.status == "closed" or not Path(wt.path).is_dir():
44
+ return None
45
+ return wt
46
+
47
+
18
48
  def acquire_session_lease(
19
49
  store: SqliteLeaseStore,
20
50
  worktree_id: str,
@@ -26,9 +56,15 @@ def acquire_session_lease(
26
56
  the call is a no-op (does not raise — session open is not the place
27
57
  to hard-block).
28
58
 
29
- Returns True if a new lease was acquired.
59
+ A same-session live holder is renewed (heartbeat + expiry, pid
60
+ preserved) so a reopen makes this worktree the session's most recent
61
+ one (RAISE-18504); the renew result is returned (False on a lost race).
62
+
63
+ Returns True if a lease was acquired or renewed.
30
64
  """
31
65
  holder = store.get_live_or_reap(worktree_id)
66
+ if holder is not None and holder.session_id == session_id:
67
+ return store.renew(worktree_id, session_id=session_id)
32
68
  if holder is not None:
33
69
  _log.info(
34
70
  "Worktree '%s' already held by session '%s' (pid %d) — skipping lease",
@@ -15,8 +15,9 @@ import logging
15
15
  import sys
16
16
  from pathlib import Path
17
17
 
18
+ from raise_cli.cockpit.session_lease import usable_worktree
18
19
  from raise_cli.storage.leases import SqliteLeaseStore
19
- from raise_cli.storage.worktrees import SqliteWorktreeStore, WorktreeNotFoundError
20
+ from raise_cli.storage.worktrees import SqliteWorktreeStore
20
21
 
21
22
  _log = logging.getLogger(__name__)
22
23
 
@@ -38,17 +39,17 @@ class LocalCoordinationStore:
38
39
  """Return the worktree path leased by *session_id*, or None.
39
40
 
40
41
  When a session holds several leases (parent + an ``isolation:
41
- worktree`` subagent sharing its session id and pid), the one with
42
- the most recent heartbeat wins — RAISE-17602. An orphan lease,
43
- whose worktree row is gone, answers None so the hook fails open.
42
+ worktree`` subagent sharing its session id and pid), the most
43
+ recent heartbeat wins — RAISE-17602. Leases whose worktree is
44
+ unusable (row gone, ``closed`` or directory missing —
45
+ ``usable_worktree``) are skipped and the next older one binds
46
+ (RAISE-18504); none usable answers None so the hook fails open.
44
47
  """
45
- lease = self._leases.get_latest_for_session(session_id)
46
- if lease is None:
47
- return None
48
- try:
49
- return str(self._worktrees.get_by_name(lease.worktree_id).path)
50
- except WorktreeNotFoundError:
51
- return None
48
+ for lease in self._leases.iter_live_for_session(session_id):
49
+ wt = usable_worktree(lease, self._worktrees)
50
+ if wt is not None:
51
+ return str(wt.path)
52
+ return None
52
53
 
53
54
  def get_repo_root(self) -> str:
54
55
  """Return the project root as the repo boundary."""
@@ -94,7 +95,9 @@ def evaluate_pretooluse(
94
95
  print(
95
96
  f"[cwd-binding] BLOCKED: write to {target_path} rejected.\n"
96
97
  f" Session '{session_id}' is leased to a different worktree.\n"
97
- f" Only writes inside your leased worktree are allowed.",
98
+ f" Only writes inside your leased worktree are allowed.\n"
99
+ f" Working in a new worktree? Register it (`rai worktree register`)"
100
+ f" and reopen the session (`rai session start`).",
98
101
  file=sys.stderr,
99
102
  )
100
103
  return 2
@@ -109,7 +109,7 @@ class GraphAnnotationAlwaysNullColumnCheck(DoctorCheck):
109
109
  always_null: list[str] = []
110
110
  for col in columns:
111
111
  non_null = conn.execute(
112
- f"SELECT COUNT(*) FROM graph_node_annotations WHERE {col} IS NOT NULL" # noqa: S608 # nosec B608 — col is from a hardcoded schema list
112
+ f"SELECT COUNT(*) FROM graph_node_annotations WHERE {col} IS NOT NULL" # noqa: S608 # nosec B608 — col comes from PRAGMA table_info on the local trusted DB
113
113
  ).fetchone()[0]
114
114
  if non_null == 0:
115
115
  always_null.append(col)
@@ -34,14 +34,18 @@ def register_fix(
34
34
 
35
35
 
36
36
  @register_fix("rebuild-graph")
37
- def rebuild_graph(working_dir: Path) -> bool:
37
+ def rebuild_graph(working_dir: Path, timeout: int = 1800) -> bool:
38
38
  """Rebuild the knowledge graph by invoking ``rai graph build``."""
39
- result = subprocess.run(
40
- [*get_rai_executable(), "graph", "build"],
41
- cwd=working_dir,
42
- capture_output=True,
43
- text=True,
44
- )
39
+ try:
40
+ result = subprocess.run(
41
+ [*get_rai_executable(), "graph", "build"],
42
+ cwd=working_dir,
43
+ capture_output=True,
44
+ text=True,
45
+ timeout=timeout,
46
+ )
47
+ except (subprocess.TimeoutExpired, OSError):
48
+ return False
45
49
  return result.returncode == 0
46
50
 
47
51
 
@@ -33,12 +33,12 @@ import subprocess
33
33
  from pathlib import Path
34
34
  from typing import ClassVar
35
35
 
36
+ from raise_cli.adapters.id_utils import load_id_pattern, work_id_re
36
37
  from raise_cli.gates.models import GateContext, GateResult
37
38
 
38
39
  _SKIP_ENV = "RAISE_GOVERNANCE_SKIP_REASON"
39
40
  _STORY_RE = re.compile(r"^story/(s\d+(?:\.\d+)?)/")
40
- _STORY_KEY_RE = re.compile(r"^story/([A-Z][A-Z0-9]*-\d+)/")
41
- _BUG_RE = re.compile(r"^bug/([A-Z][A-Z0-9]*-\d+)/")
41
+ # _STORY_KEY_RE and _BUG_RE are now compiled per-evaluate from id_pattern (RAISE-18508)
42
42
 
43
43
 
44
44
  def _git_branch(working_dir: Path) -> str:
@@ -84,6 +84,10 @@ class GovernanceArtifactsGate:
84
84
  )
85
85
 
86
86
  branch = _git_branch(context.working_dir)
87
+ _id_pattern = load_id_pattern(context.working_dir)
88
+ _id_re = work_id_re(_id_pattern)
89
+ _story_key_re = re.compile(rf"^story/({_id_re.pattern})/")
90
+ _bug_re = re.compile(rf"^bug/({_id_re.pattern})/")
87
91
 
88
92
  story_m = _STORY_RE.match(branch)
89
93
  if story_m:
@@ -104,7 +108,7 @@ class GovernanceArtifactsGate:
104
108
  ),
105
109
  )
106
110
 
107
- story_key_m = _STORY_KEY_RE.match(branch)
111
+ story_key_m = _story_key_re.match(branch)
108
112
  if story_key_m:
109
113
  story_key = story_key_m.group(1)
110
114
  if _find_story_scope(context.working_dir, story_key) or _find_bug_scope(
@@ -126,7 +130,7 @@ class GovernanceArtifactsGate:
126
130
  ),
127
131
  )
128
132
 
129
- bug_m = _BUG_RE.match(branch)
133
+ bug_m = _bug_re.match(branch)
130
134
  if bug_m:
131
135
  bug_key = bug_m.group(1)
132
136
  if _find_bug_scope(context.working_dir, bug_key):
@@ -35,6 +35,7 @@ from dataclasses import dataclass
35
35
  from pathlib import Path
36
36
  from typing import TYPE_CHECKING, ClassVar, Protocol
37
37
 
38
+ from raise_cli.adapters.id_utils import load_id_pattern, work_id_re
38
39
  from raise_cli.gates.models import GateContext, GateResult
39
40
  from raise_cli.release_preflight import ReleasePreflightResult, run_release_preflight
40
41
 
@@ -45,7 +46,7 @@ logger = logging.getLogger(__name__)
45
46
 
46
47
  _SKIP_ENV = "RAISE_CLOSE_SYNC_SKIP"
47
48
  _ISSUE_RE = re.compile(r"(?:bug|story)/(RAISE-\d+)/")
48
- _JIRA_KEY_RE = re.compile(r"^[A-Z][A-Z0-9]+-\d+$")
49
+ # _JIRA_KEY_RE is now compiled per-evaluate from id_pattern (RAISE-18508)
49
50
 
50
51
 
51
52
  class AmbiguousMergeTargetError(Exception):
@@ -391,8 +392,9 @@ class CloseSyncVerificationGate:
391
392
  message=f"Close-sync check skipped: {skip_reason}",
392
393
  )
393
394
 
395
+ _key_re = work_id_re(load_id_pattern(context.working_dir))
394
396
  issue_key = context.issue_id
395
- if issue_key is not None and _JIRA_KEY_RE.fullmatch(issue_key) is None:
397
+ if issue_key is not None and _key_re.fullmatch(issue_key) is None:
396
398
  return GateResult(
397
399
  passed=False,
398
400
  gate_id=self.gate_id,
@@ -15,7 +15,7 @@ GENERATED_GRAPH_OUTPUTS: tuple[str, ...] = (
15
15
  )
16
16
 
17
17
  # Cartridge instance embedding caches (RAISE-15996) — regenerable via
18
- # `rai cartridge embed`, never committed. A glob pathspec (rather than a
18
+ # `rai graph build`, never committed. A glob pathspec (rather than a
19
19
  # per-cartridge path list) so newly added cartridges are covered without
20
20
  # an edit here.
21
21
  GENERATED_EMBEDDING_CACHES: tuple[str, ...] = ("*.npy",)
@@ -16,10 +16,13 @@ _logger = logging.getLogger(__name__)
16
16
 
17
17
  _FRONTMATTER_RE = re.compile(r"^---\s*\n(.*?)\n---", re.DOTALL)
18
18
 
19
+ # Claude Code ceiling for MEMORY.md load (~24.4 KB) — RAISE-18712
20
+ _MEMORY_MD_CEIL_BYTES = 24_400
21
+
19
22
  _HEADER = """\
20
23
  # Memory Index
21
24
 
22
- > Auto-generated by `rai session start`. Do not edit manually.
25
+ > Auto-generated by `rai memory ingest --apply`. Do not edit manually.
23
26
  """
24
27
 
25
28
  _TYPE_SECTIONS: dict[str, str] = {
@@ -46,7 +49,8 @@ def _passes_tier1(entry: dict[str, str], *, is_active_scope: bool) -> bool:
46
49
  ``missions/{active_mission_id}/``), or ``critical: true``,
47
50
  or ``mtime`` is within ``_PROJECT_ACTIVE_DAYS``, else
48
51
  Tier-2
49
- feedback -> Tier-1 only when frontmatter marks ``critical: true``
52
+ feedback -> Tier-1 by default (opt-OUT); only Tier-2 when
53
+ ``critical: false`` is present explicitly (RAISE-18600)
50
54
 
51
55
  Tier-2 is NOT automatically recoverable via ``hint_oracle.get_hints`` —
52
56
  that queries the knowledge graph, which only sees a demoted note after
@@ -55,11 +59,10 @@ def _passes_tier1(entry: dict[str, str], *, is_active_scope: bool) -> bool:
55
59
  the mitigation until/unless that ingest is wired into this flow.
56
60
 
57
61
  The ``critical`` flag is the one deliberate, additive departure from "no
58
- new frontmatter field v1": without SOME signal to separate feedback,
59
- tiering cannot demote the bulk of `_global/feedback_*` notes and AC-2
60
- (<17KB) is unreachable — the field is optional and defaults to Tier-2
61
- when absent, so every pre-existing note without it is conservatively
62
- demoted, never silently promoted.
62
+ new frontmatter field v1". For ``feedback``, the field is optional and
63
+ defaults to Tier-1 when absent (opt-OUT, RAISE-18600) — Claude Code
64
+ auto-memory never writes ``critical``, so opt-IN silently dropped all
65
+ notes. Only ``critical: false`` explicitly demotes a feedback note.
63
66
 
64
67
  RAISE-16217: ``project`` reuses the same ``critical`` flag as an escape
65
68
  hatch from the mtime check — mtime measures when the file was written,
@@ -74,7 +77,9 @@ def _passes_tier1(entry: dict[str, str], *, is_active_scope: bool) -> bool:
74
77
  if mem_type == "reference":
75
78
  return False
76
79
  if mem_type == "feedback":
77
- return entry.get("critical", "").strip().lower() == "true"
80
+ # RAISE-18600: opt-OUT — Tier-1 by default; only demote when critical: false is explicit.
81
+ # Claude Code auto-memory never writes the critical field, so opt-IN silently dropped all notes.
82
+ return entry.get("critical", "").strip().lower() != "false"
78
83
  if mem_type == "project":
79
84
  if is_active_scope:
80
85
  return True
@@ -132,8 +137,24 @@ def regenerate_memory_index(
132
137
  lines.append("")
133
138
 
134
139
  result = "\n".join(lines).rstrip() + "\n"
140
+ result_bytes = len(result.encode("utf-8")) # RAISE-18712
141
+ if result_bytes > _MEMORY_MD_CEIL_BYTES: # RAISE-18712
142
+ _logger.warning( # RAISE-18712
143
+ "MEMORY.md exceeds Claude Code ceiling (%d > %d bytes). "
144
+ "Oldest entries may be truncated at load time.",
145
+ result_bytes,
146
+ _MEMORY_MD_CEIL_BYTES,
147
+ )
135
148
  memory_dir.mkdir(parents=True, exist_ok=True)
136
- (memory_dir / "MEMORY.md").write_text(result)
149
+ memory_file = memory_dir / "MEMORY.md"
150
+ if memory_file.exists():
151
+ backup_dir = memory_dir / "_backup"
152
+ backup_dir.mkdir(exist_ok=True)
153
+ backup_name = f"MEMORY.md.{int(time.time())}"
154
+ (backup_dir / backup_name).write_text(
155
+ memory_file.read_text(encoding="utf-8"), encoding="utf-8"
156
+ )
157
+ memory_file.write_text(result, encoding="utf-8")
137
158
  return result
138
159
 
139
160