raise-cli 3.0.0a4__tar.gz → 3.0.0a6__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 (482) hide show
  1. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/.gitignore +35 -2
  2. raise_cli-3.0.0a6/PKG-INFO +167 -0
  3. raise_cli-3.0.0a6/README.md +111 -0
  4. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/pyproject.toml +25 -8
  5. raise_cli-3.0.0a6/src/raise_cli/_agent_session.py +139 -0
  6. raise_cli-3.0.0a6/src/raise_cli/_cc_session.py +8 -0
  7. raise_cli-3.0.0a6/src/raise_cli/adapters/backlog_config.py +190 -0
  8. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/composite_docs.py +77 -2
  9. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/composite_pm.py +323 -51
  10. raise_cli-3.0.0a6/src/raise_cli/adapters/confluence_adapter.py +175 -0
  11. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/confluence_client.py +57 -6
  12. raise_cli-3.0.0a6/src/raise_cli/adapters/confluence_config.py +266 -0
  13. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/confluence_config_gen.py +32 -24
  14. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/adapter.py +64 -4
  15. raise_cli-3.0.0a6/src/raise_cli/adapters/filesystem.py +554 -0
  16. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/filesystem_docs.py +32 -1
  17. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/filesystem_models.py +4 -0
  18. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/jira_adapter.py +208 -92
  19. raise_cli-3.0.0a6/src/raise_cli/adapters/jira_adf.py +397 -0
  20. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/jira_client.py +205 -15
  21. raise_cli-3.0.0a6/src/raise_cli/adapters/jira_config.py +13 -0
  22. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/jira_config_gen.py +18 -21
  23. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/ledger_aware.py +44 -5
  24. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/models/__init__.py +12 -0
  25. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/models/docs.py +10 -0
  26. raise_cli-3.0.0a6/src/raise_cli/adapters/models/pm.py +355 -0
  27. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/pending_ops.py +75 -1
  28. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/protocols.py +88 -7
  29. raise_cli-3.0.0a6/src/raise_cli/adapters/resolve.py +221 -0
  30. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/sync.py +66 -4
  31. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/sync_ledger.py +7 -0
  32. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/claude.yaml +2 -1
  33. raise_cli-3.0.0a6/src/raise_cli/agents/codex.yaml +9 -0
  34. raise_cli-3.0.0a6/src/raise_cli/agents/codex_plugin.py +207 -0
  35. raise_cli-3.0.0a6/src/raise_cli/agents/hermes.yaml +8 -0
  36. raise_cli-3.0.0a6/src/raise_cli/artifacts/models.py +146 -0
  37. raise_cli-3.0.0a6/src/raise_cli/artifacts/render.py +229 -0
  38. raise_cli-3.0.0a6/src/raise_cli/artifacts/store.py +124 -0
  39. raise_cli-3.0.0a6/src/raise_cli/backlog/ledger.py +229 -0
  40. raise_cli-3.0.0a6/src/raise_cli/cli/commands/_resolve.py +299 -0
  41. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/adapter_setup.py +50 -7
  42. raise_cli-3.0.0a6/src/raise_cli/cli/commands/backlog.py +1133 -0
  43. raise_cli-3.0.0a6/src/raise_cli/cli/commands/db.py +144 -0
  44. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/discover.py +261 -1
  45. raise_cli-3.0.0a6/src/raise_cli/cli/commands/docs.py +554 -0
  46. raise_cli-3.0.0a6/src/raise_cli/cli/commands/drift.py +424 -0
  47. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/gate.py +49 -14
  48. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/graph.py +205 -6
  49. raise_cli-3.0.0a6/src/raise_cli/cli/commands/hud.py +21 -0
  50. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/init.py +79 -4
  51. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/journal.py +12 -18
  52. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/memory.py +84 -0
  53. raise_cli-3.0.0a6/src/raise_cli/cli/commands/mission.py +345 -0
  54. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/pattern.py +61 -110
  55. raise_cli-3.0.0a6/src/raise_cli/cli/commands/schema.py +39 -0
  56. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/session.py +263 -11
  57. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/signal.py +259 -46
  58. raise_cli-3.0.0a6/src/raise_cli/cli/commands/telemetry.py +228 -0
  59. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/extensions.py +0 -1
  60. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/main.py +24 -4
  61. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/agent_registry.py +12 -9
  62. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/agents.py +24 -3
  63. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/paths.py +85 -6
  64. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/settings.py +16 -8
  65. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/builder.py +35 -9
  66. raise_cli-3.0.0a6/src/raise_cli/context/loaders/__init__.py +0 -0
  67. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/loaders/memory.py +44 -4
  68. raise_cli-3.0.0a6/src/raise_cli/context/loaders/missions.py +71 -0
  69. raise_cli-3.0.0a6/src/raise_cli/context/loaders/symbols.py +467 -0
  70. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/discovery/__init__.py +48 -0
  71. raise_cli-3.0.0a6/src/raise_cli/discovery/check.py +340 -0
  72. raise_cli-3.0.0a6/src/raise_cli/discovery/clone.py +280 -0
  73. raise_cli-3.0.0a6/src/raise_cli/discovery/corpus.py +198 -0
  74. raise_cli-3.0.0a6/src/raise_cli/discovery/metric.py +304 -0
  75. raise_cli-3.0.0a6/src/raise_cli/discovery/sast.py +306 -0
  76. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/discovery/scanner.py +395 -1
  77. raise_cli-3.0.0a6/src/raise_cli/discovery/temporal.py +391 -0
  78. raise_cli-3.0.0a6/src/raise_cli/discovery/thresholds.py +272 -0
  79. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/checks/adapters.py +19 -20
  80. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/checks/project.py +69 -55
  81. raise_cli-3.0.0a6/src/raise_cli/doctor/checks/runtimes.py +69 -0
  82. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/runner.py +1 -0
  83. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/exceptions.py +16 -0
  84. raise_cli-3.0.0a6/src/raise_cli/gates/ar/__init__.py +6 -0
  85. raise_cli-3.0.0a6/src/raise_cli/gates/ar/bugfix_gate.py +21 -0
  86. raise_cli-3.0.0a6/src/raise_cli/gates/ar/story_gate.py +88 -0
  87. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/_runner.py +22 -3
  88. raise_cli-3.0.0a6/src/raise_cli/gates/drift/__init__.py +38 -0
  89. raise_cli-3.0.0a6/src/raise_cli/gates/drift/_base.py +101 -0
  90. raise_cli-3.0.0a6/src/raise_cli/gates/drift/auth_fan_out.py +87 -0
  91. raise_cli-3.0.0a6/src/raise_cli/gates/drift/dead_public_api.py +127 -0
  92. raise_cli-3.0.0a6/src/raise_cli/gates/drift/epic_close.py +113 -0
  93. raise_cli-3.0.0a6/src/raise_cli/gates/drift/import_fan_in.py +73 -0
  94. raise_cli-3.0.0a6/src/raise_cli/gates/drift/linter_suppression.py +49 -0
  95. raise_cli-3.0.0a6/src/raise_cli/gates/drift/parallel_siblings.py +70 -0
  96. raise_cli-3.0.0a6/src/raise_cli/gates/drift/post_refactor_orphan.py +65 -0
  97. raise_cli-3.0.0a6/src/raise_cli/gates/drift/story_accretion.py +50 -0
  98. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/models.py +4 -0
  99. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/models.py +1 -1
  100. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/graph/backends/__init__.py +20 -8
  101. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/graph/backends/dual.py +12 -10
  102. raise_cli-3.0.0a6/src/raise_cli/graph/backends/pending.py +123 -0
  103. raise_cli-3.0.0a6/src/raise_cli/graph/backends/sqlite.py +162 -0
  104. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/builtin/memory.py +1 -1
  105. raise_cli-3.0.0a6/src/raise_cli/hooks/builtin/telemetry.py +42 -0
  106. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/events.py +5 -0
  107. raise_cli-3.0.0a6/src/raise_cli/hud/__init__.py +0 -0
  108. raise_cli-3.0.0a6/src/raise_cli/hud/app.py +176 -0
  109. raise_cli-3.0.0a6/src/raise_cli/hud/data.py +229 -0
  110. raise_cli-3.0.0a6/src/raise_cli/hud/hud.tcss +38 -0
  111. raise_cli-3.0.0a6/src/raise_cli/hud/panels/__init__.py +0 -0
  112. raise_cli-3.0.0a6/src/raise_cli/hud/panels/_events_utils.py +124 -0
  113. raise_cli-3.0.0a6/src/raise_cli/hud/panels/_insights_utils.py +246 -0
  114. raise_cli-3.0.0a6/src/raise_cli/hud/panels/_missions_utils.py +156 -0
  115. raise_cli-3.0.0a6/src/raise_cli/hud/panels/events.py +203 -0
  116. raise_cli-3.0.0a6/src/raise_cli/hud/panels/insights.py +129 -0
  117. raise_cli-3.0.0a6/src/raise_cli/hud/panels/missions.py +147 -0
  118. raise_cli-3.0.0a6/src/raise_cli/hud/panels/pipeline.py +189 -0
  119. raise_cli-3.0.0a6/src/raise_cli/hud/panels/session.py +226 -0
  120. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/loader.py +0 -1
  121. raise_cli-3.0.0a6/src/raise_cli/memory/memory_index.py +184 -0
  122. raise_cli-3.0.0a6/src/raise_cli/memory/migrate_claude.py +168 -0
  123. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/models.py +1 -1
  124. raise_cli-3.0.0a6/src/raise_cli/memory/patterns_backend.py +316 -0
  125. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/writer.py +142 -109
  126. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/bootstrap.py +103 -68
  127. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/instructions.py +7 -7
  128. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/memory_md.py +29 -20
  129. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/profile.py +5 -0
  130. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/skill_conflict.py +19 -2
  131. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/skills.py +24 -1
  132. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/__init__.py +12 -2
  133. raise_cli-3.0.0a6/src/raise_cli/pipeline/_mcp_instance.py +11 -0
  134. raise_cli-3.0.0a6/src/raise_cli/pipeline/_telemetry.py +123 -0
  135. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/dispatch.py +1 -1
  136. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/engine.py +26 -18
  137. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_server.py +74 -0
  138. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_artifact.py +111 -0
  139. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_backlog.py +118 -0
  140. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_gate.py +56 -0
  141. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_graph.py +39 -0
  142. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_pattern.py +87 -0
  143. raise_cli-3.0.0a4/src/raise_cli/pipeline/mcp_server.py → raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_pipeline.py +257 -568
  144. raise_cli-3.0.0a6/src/raise_cli/pipeline/mcp_tools_session.py +348 -0
  145. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +11 -0
  146. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/pipelines_base/epic.yaml +8 -0
  147. raise_cli-3.0.0a6/src/raise_cli/pipeline/run_store.py +345 -0
  148. raise_cli-3.0.0a6/src/raise_cli/project.py +57 -0
  149. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/publish/check.py +66 -0
  150. raise_cli-3.0.0a6/src/raise_cli/session/__init__.py +131 -0
  151. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/bundle.py +77 -1
  152. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/bundle_data.py +118 -8
  153. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/bundle_formatters.py +167 -0
  154. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/close.py +68 -50
  155. raise_cli-3.0.0a6/src/raise_cli/session/context_env.py +64 -0
  156. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/derive.py +22 -17
  157. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/doctor.py +3 -103
  158. raise_cli-3.0.0a6/src/raise_cli/session/index.py +315 -0
  159. raise_cli-3.0.0a6/src/raise_cli/session/journal.py +156 -0
  160. raise_cli-3.0.0a6/src/raise_cli/session/measure.py +74 -0
  161. raise_cli-3.0.0a6/src/raise_cli/session/mission.py +109 -0
  162. raise_cli-3.0.0a6/src/raise_cli/session/mission_binding.py +42 -0
  163. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/protocols.py +40 -1
  164. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/registry.py +1 -61
  165. raise_cli-3.0.0a6/src/raise_cli/session/state.py +257 -0
  166. raise_cli-3.0.0a6/src/raise_cli/session/terminal.py +145 -0
  167. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/__init__.py +20 -10
  168. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-adapter-setup/SKILL.md +3 -13
  169. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +49 -7
  170. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-backlog-setup/SKILL.md +169 -0
  171. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +31 -3
  172. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +80 -2
  173. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +35 -7
  174. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +20 -4
  175. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +29 -4
  176. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +87 -10
  177. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +66 -19
  178. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-discover/SKILL.md +68 -9
  179. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +16 -3
  180. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-epic-close/SKILL.md +290 -0
  181. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +71 -6
  182. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +11 -3
  183. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +45 -6
  184. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +82 -13
  185. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-mission-close/SKILL.md +137 -0
  186. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-mr-create/SKILL.md +161 -0
  187. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +33 -3
  188. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-project-create/SKILL.md +29 -2
  189. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +27 -8
  190. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +35 -3
  191. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-research/SKILL.md +40 -4
  192. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-session-close/SKILL.md +302 -0
  193. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +18 -8
  194. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-session-start/SKILL.md +289 -0
  195. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-story-close/SKILL.md +336 -0
  196. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-story-design/SKILL.md +374 -0
  197. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-story-implement/SKILL.md +247 -0
  198. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +69 -15
  199. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-story-review/SKILL.md +77 -48
  200. raise_cli-3.0.0a6/src/raise_cli/skills_base/rai-story-start/SKILL.md +259 -0
  201. raise_cli-3.0.0a6/src/raise_cli/storage/__init__.py +17 -0
  202. raise_cli-3.0.0a6/src/raise_cli/storage/connection.py +131 -0
  203. raise_cli-3.0.0a6/src/raise_cli/storage/consolidate.py +218 -0
  204. raise_cli-3.0.0a6/src/raise_cli/storage/counter.py +62 -0
  205. raise_cli-3.0.0a6/src/raise_cli/storage/migrate.py +621 -0
  206. raise_cli-3.0.0a6/src/raise_cli/storage/missions.py +259 -0
  207. raise_cli-3.0.0a6/src/raise_cli/storage/schema.py +439 -0
  208. raise_cli-3.0.0a6/src/raise_cli/storage/schema_sum.py +89 -0
  209. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/telemetry/__init__.py +11 -12
  210. raise_cli-3.0.0a6/src/raise_cli/telemetry/emitter.py +591 -0
  211. raise_cli-3.0.0a6/src/raise_cli/telemetry/phase_map.py +48 -0
  212. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/telemetry/schemas.py +113 -10
  213. raise_cli-3.0.0a6/src/raise_cli/telemetry/session_tokens.py +112 -0
  214. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/__init__.py +9 -2
  215. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/ref_resolver.py +21 -19
  216. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/schemas.py +2 -0
  217. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/translator.py +84 -24
  218. raise_cli-3.0.0a4/PKG-INFO +0 -190
  219. raise_cli-3.0.0a4/README.md +0 -138
  220. raise_cli-3.0.0a4/src/raise_cli/_cc_session.py +0 -30
  221. raise_cli-3.0.0a4/src/raise_cli/adapters/confluence_adapter.py +0 -107
  222. raise_cli-3.0.0a4/src/raise_cli/adapters/confluence_config.py +0 -118
  223. raise_cli-3.0.0a4/src/raise_cli/adapters/filesystem.py +0 -301
  224. raise_cli-3.0.0a4/src/raise_cli/adapters/jira_config.py +0 -123
  225. raise_cli-3.0.0a4/src/raise_cli/adapters/models/pm.py +0 -147
  226. raise_cli-3.0.0a4/src/raise_cli/artifacts/__init__.py +0 -30
  227. raise_cli-3.0.0a4/src/raise_cli/artifacts/models.py +0 -43
  228. raise_cli-3.0.0a4/src/raise_cli/artifacts/reader.py +0 -55
  229. raise_cli-3.0.0a4/src/raise_cli/artifacts/renderer.py +0 -102
  230. raise_cli-3.0.0a4/src/raise_cli/artifacts/story_design.py +0 -69
  231. raise_cli-3.0.0a4/src/raise_cli/artifacts/writer.py +0 -45
  232. raise_cli-3.0.0a4/src/raise_cli/cli/commands/_resolve.py +0 -342
  233. raise_cli-3.0.0a4/src/raise_cli/cli/commands/artifact.py +0 -144
  234. raise_cli-3.0.0a4/src/raise_cli/cli/commands/backlog.py +0 -555
  235. raise_cli-3.0.0a4/src/raise_cli/cli/commands/docs.py +0 -280
  236. raise_cli-3.0.0a4/src/raise_cli/context/loaders/artifacts.py +0 -72
  237. raise_cli-3.0.0a4/src/raise_cli/graph/backends/pending.py +0 -84
  238. raise_cli-3.0.0a4/src/raise_cli/hooks/builtin/telemetry.py +0 -72
  239. raise_cli-3.0.0a4/src/raise_cli/memory/patterns_backend.py +0 -191
  240. raise_cli-3.0.0a4/src/raise_cli/pipeline/_telemetry.py +0 -100
  241. raise_cli-3.0.0a4/src/raise_cli/pipeline/cli.py +0 -370
  242. raise_cli-3.0.0a4/src/raise_cli/pipeline/run_store.py +0 -154
  243. raise_cli-3.0.0a4/src/raise_cli/pipeline/state.py +0 -131
  244. raise_cli-3.0.0a4/src/raise_cli/session/__init__.py +0 -5
  245. raise_cli-3.0.0a4/src/raise_cli/session/index.py +0 -225
  246. raise_cli-3.0.0a4/src/raise_cli/session/journal.py +0 -119
  247. raise_cli-3.0.0a4/src/raise_cli/session/state.py +0 -248
  248. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-bugfix-run/SKILL.md +0 -305
  249. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-epic-close/SKILL.md +0 -238
  250. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-epic-run/SKILL.md +0 -212
  251. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -184
  252. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-session-start/SKILL.md +0 -114
  253. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-story-close/SKILL.md +0 -213
  254. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-story-design/SKILL.md +0 -271
  255. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-story-implement/SKILL.md +0 -162
  256. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-story-run/SKILL.md +0 -319
  257. raise_cli-3.0.0a4/src/raise_cli/skills_base/rai-story-start/SKILL.md +0 -173
  258. raise_cli-3.0.0a4/src/raise_cli/telemetry/writer.py +0 -217
  259. raise_cli-3.0.0a4/src/raise_cli/work_events/emitter.py +0 -272
  260. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/__init__.py +0 -0
  261. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/__main__.py +0 -0
  262. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/__init__.py +0 -0
  263. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/confluence_discovery.py +0 -0
  264. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/confluence_exceptions.py +0 -0
  265. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/confluence_markdown.py +0 -0
  266. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/__init__.py +0 -0
  267. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/discovery.py +0 -0
  268. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/expressions.py +0 -0
  269. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
  270. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
  271. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/declarative/schema.py +0 -0
  272. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/filesystem_adapter.py +0 -0
  273. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/jira_discovery.py +0 -0
  274. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/jira_exceptions.py +0 -0
  275. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/mcp_bridge.py +0 -0
  276. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/models/governance.py +0 -0
  277. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/models/health.py +0 -0
  278. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/adapters/registry.py +0 -0
  279. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/__init__.py +0 -0
  280. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/antigravity.yaml +0 -0
  281. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/copilot.yaml +0 -0
  282. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/copilot_plugin.py +0 -0
  283. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/cursor.yaml +0 -0
  284. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/roo.yaml +0 -0
  285. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/agents/windsurf.yaml +0 -0
  286. {raise_cli-3.0.0a4/src/raise_cli/context/loaders → raise_cli-3.0.0a6/src/raise_cli/artifacts}/__init__.py +0 -0
  287. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/backlog/__init__.py +0 -0
  288. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/backlog/reconcile.py +0 -0
  289. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/backlog/scanner.py +0 -0
  290. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/backlog/sync.py +0 -0
  291. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/__init__.py +0 -0
  292. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/__init__.py +0 -0
  293. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/adapters.py +0 -0
  294. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/base.py +0 -0
  295. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/doctor.py +0 -0
  296. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/info.py +0 -0
  297. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/learn.py +0 -0
  298. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/mcp.py +0 -0
  299. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/profile.py +0 -0
  300. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/release.py +0 -0
  301. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/skill.py +0 -0
  302. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/commands/skill_set.py +0 -0
  303. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/cli/error_handler.py +0 -0
  304. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compat.py +0 -0
  305. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/__init__.py +0 -0
  306. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/controls.yaml +0 -0
  307. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/evidence.py +0 -0
  308. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/extractors/__init__.py +0 -0
  309. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/extractors/git.py +0 -0
  310. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/loader.py +0 -0
  311. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/compliance/models.py +0 -0
  312. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/__init__.py +0 -0
  313. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/agent_plugin.py +0 -0
  314. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/config/ide.py +0 -0
  315. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/__init__.py +0 -0
  316. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/__init__.py +0 -0
  317. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/models.py +0 -0
  318. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/protocol.py +0 -0
  319. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/python.py +0 -0
  320. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/signals.py +0 -0
  321. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/analyzers/typescript.py +0 -0
  322. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/diff.py +0 -0
  323. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/extractors/__init__.py +0 -0
  324. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/extractors/relationships.py +0 -0
  325. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/extractors/skills.py +0 -0
  326. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/extractors/structure.py +0 -0
  327. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/loaders/architecture.py +0 -0
  328. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/loaders/components.py +0 -0
  329. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/loaders/documents.py +0 -0
  330. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/context/loaders/identity.py +0 -0
  331. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/core/__init__.py +0 -0
  332. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/core/files.py +0 -0
  333. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/core/text.py +0 -0
  334. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/core/tools.py +0 -0
  335. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/discovery/analyzer.py +0 -0
  336. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/discovery/drift.py +0 -0
  337. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/docs/__init__.py +0 -0
  338. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/docs/migrate.py +0 -0
  339. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/__init__.py +0 -0
  340. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/checks/__init__.py +0 -0
  341. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/checks/developer.py +0 -0
  342. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/checks/environment.py +0 -0
  343. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/fix.py +0 -0
  344. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/models.py +0 -0
  345. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/protocol.py +0 -0
  346. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/registry.py +0 -0
  347. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/doctor/report.py +0 -0
  348. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/engines/__init__.py +0 -0
  349. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/__init__.py +0 -0
  350. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/__init__.py +0 -0
  351. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/coverage.py +0 -0
  352. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/format.py +0 -0
  353. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/lint.py +0 -0
  354. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/tests.py +0 -0
  355. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/builtin/types.py +0 -0
  356. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/hook.py +0 -0
  357. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/protocol.py +0 -0
  358. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/gates/registry.py +0 -0
  359. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/__init__.py +0 -0
  360. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/extractor.py +0 -0
  361. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/__init__.py +0 -0
  362. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/_convert.py +0 -0
  363. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/adr.py +0 -0
  364. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/backlog.py +0 -0
  365. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/constitution.py +0 -0
  366. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/epic.py +0 -0
  367. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/glossary.py +0 -0
  368. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/guardrails.py +0 -0
  369. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/prd.py +0 -0
  370. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/roadmap.py +0 -0
  371. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/governance/parsers/vision.py +0 -0
  372. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/graph/__init__.py +0 -0
  373. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/graph/backends/api.py +0 -0
  374. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/graph/query_backend.py +0 -0
  375. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/handlers/__init__.py +0 -0
  376. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/__init__.py +0 -0
  377. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/builtin/__init__.py +0 -0
  378. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
  379. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/emitter.py +0 -0
  380. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/protocol.py +0 -0
  381. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/hooks/registry.py +0 -0
  382. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/mcp/__init__.py +0 -0
  383. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/mcp/bridge.py +0 -0
  384. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/mcp/models.py +0 -0
  385. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/mcp/registry.py +0 -0
  386. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/mcp/schema.py +0 -0
  387. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/__init__.py +0 -0
  388. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/learning.py +0 -0
  389. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/migration.py +0 -0
  390. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/memory/push.py +0 -0
  391. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/__init__.py +0 -0
  392. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/claudemd.py +0 -0
  393. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/conventions.py +0 -0
  394. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/detection.py +0 -0
  395. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/governance.py +0 -0
  396. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/manifest.py +0 -0
  397. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/migration.py +0 -0
  398. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/profile_portability.py +0 -0
  399. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/skill_manifest.py +0 -0
  400. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/onboarding/workflows.py +0 -0
  401. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/__init__.py +0 -0
  402. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/console.py +0 -0
  403. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/formatters/__init__.py +0 -0
  404. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/formatters/adapters.py +0 -0
  405. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/formatters/discover.py +0 -0
  406. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/formatters/graph.py +0 -0
  407. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/formatters/skill.py +0 -0
  408. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/output/symbols.py +0 -0
  409. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/executor.py +0 -0
  410. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/gates.py +0 -0
  411. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/loader.py +0 -0
  412. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/pipelines_base/hotfix.yaml +0 -0
  413. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/pipelines_base/story.yaml +0 -0
  414. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/prompt.py +0 -0
  415. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/templates/adversarial-ar.md +0 -0
  416. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/templates/adversarial-qr.md +0 -0
  417. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/pipeline/worktree.py +0 -0
  418. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/publish/__init__.py +0 -0
  419. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/publish/changelog.py +0 -0
  420. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/publish/version.py +0 -0
  421. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/__init__.py +0 -0
  422. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/framework/__init__.py +0 -0
  423. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
  424. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/__init__.py +0 -0
  425. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
  426. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -0
  427. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
  428. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/system-context.md +0 -0
  429. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
  430. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/system-design.md +0 -0
  431. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
  432. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/backlog.md +0 -0
  433. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
  434. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/prd.md +0 -0
  435. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/governance/vision.md +0 -0
  436. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/identity/__init__.py +0 -0
  437. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/identity/core.md +0 -0
  438. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/identity/core.yaml +0 -0
  439. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/identity/perspective.md +0 -0
  440. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/memory/__init__.py +0 -0
  441. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
  442. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/schemas/__init__.py +0 -0
  443. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/schemas/journal.py +0 -0
  444. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/schemas/session_state.py +0 -0
  445. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/context_backend.py +0 -0
  446. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/identity.py +0 -0
  447. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/monitor.py +0 -0
  448. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/prefix.py +0 -0
  449. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/session/resolver.py +0 -0
  450. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/__init__.py +0 -0
  451. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/locator.py +0 -0
  452. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/name_checker.py +0 -0
  453. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/parser.py +0 -0
  454. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/scaffold.py +0 -0
  455. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/schema.py +0 -0
  456. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/skillsets.py +0 -0
  457. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills/validator.py +0 -0
  458. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/contract-template.md +0 -0
  459. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/preamble.md +0 -0
  460. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-debug/SKILL.md +0 -0
  461. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
  462. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-close/templates/retrospective.md +0 -0
  463. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-design/templates/design.md +0 -0
  464. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-design/templates/scope.md +0 -0
  465. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
  466. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
  467. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-epic-start/templates/brief.md +0 -0
  468. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
  469. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
  470. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
  471. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
  472. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-skill-create/SKILL.md +0 -0
  473. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +0 -0
  474. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
  475. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-story-start/templates/story.md +0 -0
  476. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/skills_base/rai-welcome/SKILL.md +0 -0
  477. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/tier/__init__.py +0 -0
  478. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/tier/context.py +0 -0
  479. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/viz/__init__.py +0 -0
  480. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/viz/generator.py +0 -0
  481. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/backfill.py +0 -0
  482. {raise_cli-3.0.0a4 → raise_cli-3.0.0a6}/src/raise_cli/work_events/retry_queue.py +0 -0
@@ -9,6 +9,14 @@
9
9
  .claude/worktrees/
10
10
  .claude/projects/
11
11
 
12
+ # Hermes Agent worktrees (auto-created by hermes -w)
13
+ .worktrees/
14
+
15
+ # Codex/Agents experimental tooling (local only)
16
+ .agents/
17
+ .codex/
18
+ .codex-plugin/
19
+
12
20
  # Claude Code legacy files (superseded, prevent re-addition)
13
21
  .claude/RAI.md
14
22
  .claude/RAI-naming.md
@@ -25,6 +33,13 @@ daemon.yaml
25
33
  .raise/backlog/
26
34
  # .raise/artifacts/ — tracked (story-design YAMLs are versioned artifacts)
27
35
 
36
+ # Drift detection pipeline outputs (computed, machine-specific paths, high churn)
37
+ .raise/drift/
38
+ packages/*/.raise/drift/
39
+ packages/*/.raise/pending_sync.json
40
+ packages/*/.raise/rai/personal/
41
+ packages/*/.raise/rai/sessions/
42
+
28
43
  # Pipeline state (environment-specific, PAT-E-594)
29
44
  .rai-state/
30
45
 
@@ -36,7 +51,7 @@ daemon.yaml
36
51
  # Dossier output (generated, not committed)
37
52
  dev/output/
38
53
 
39
- # RaiSE graph index — tracked (essential for skill PRIME/JIT queries in worktrees)
54
+ # RaiSE graph index — SQLite is canonical after S22.3; index.json excluded via .raise/.gitignore
40
55
  # Rebuild with: rai graph build
41
56
 
42
57
  # RaiSE personal directory (per-developer, not shared)
@@ -45,6 +60,19 @@ dev/output/
45
60
  # RaiSE sync state (per-instance JIRA mappings, not shared)
46
61
  .raise/rai/sync/
47
62
 
63
+ # RaiSE global SQLite DB (per-machine, not shared)
64
+ .raise/rai/raise.db
65
+
66
+ # RaiSE mission migration artifacts
67
+ .raise/rai/missions/*.migrated
68
+
69
+ # RaiSE sync ephemeral artifacts (backups, dead-letter, migrations, pending ops)
70
+ .raise/sync/backlog-ledger.yaml
71
+ .raise/sync/backlog-ledger.yaml.backup.*
72
+ .raise/sync/backlog-dead-letter.jsonl
73
+ .raise/sync/backlog-ledger.yaml.migrated
74
+ packages/*/.raise/sync/*-pending-ops.jsonl
75
+
48
76
  # Per-session env context written by Rai skills, read by CC hooks + MCP tool
49
77
  # Namespaced by CC session_id (RAISE-1982) — isolates concurrent CC sessions.
50
78
  .raise/rai/sessions/
@@ -134,6 +162,9 @@ credentials.json
134
162
  _site/
135
163
  .docs-build/
136
164
 
165
+ # Security scan outputs (contain findings — not committed)
166
+ work/reports/gl-secret-detection-report*
167
+
137
168
  # Issue analysis artifacts (PDFs, images — binary, no git value)
138
169
  dev/issues/**/*.pdf
139
170
  dev/issues/**/*.png
@@ -143,7 +174,6 @@ dev/transcripts/
143
174
 
144
175
  # Prevent symlink artifacts from being tracked at root
145
176
  /es/
146
- work/research/
147
177
 
148
178
  # Ephemeral debug artifacts (Playwright MCP snapshots, root-level screenshots)
149
179
  .playwright-mcp/
@@ -161,3 +191,6 @@ work/research/
161
191
  # See dev/sops/raise-server-local.md § Running e2e tests locally.
162
192
  /docker-compose.override.yaml
163
193
  /docker-compose.override.yml
194
+ .worktrees/
195
+ .venv
196
+ .venv
@@ -0,0 +1,167 @@
1
+ Metadata-Version: 2.4
2
+ Name: raise-cli
3
+ Version: 3.0.0a6
4
+ Summary: RaiSE CLI - Reliable AI Software Engineering governance framework
5
+ Project-URL: Homepage, https://raiseframework.ai
6
+ Project-URL: Documentation, https://docs.raiseframework.ai
7
+ Project-URL: Repository, https://github.com/humansys/raise
8
+ Project-URL: Changelog, https://github.com/humansys/raise/blob/main/CHANGELOG.md
9
+ Author-email: Emilio Osorio <emilio@humansys.ai>
10
+ License: Apache-2.0
11
+ Keywords: ai,cli,governance,methodology,software-engineering
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
19
+ Classifier: Topic :: Software Development :: Quality Assurance
20
+ Requires-Python: >=3.12
21
+ Requires-Dist: atlassian-python-api>=3.41.0
22
+ Requires-Dist: httpx<1.0,>=0.27.0
23
+ Requires-Dist: logfire-api>=4.0
24
+ Requires-Dist: markdown>=3.6
25
+ Requires-Dist: mcp<2,>=1.26
26
+ Requires-Dist: networkx>=3.6.1
27
+ Requires-Dist: pydantic-settings>=2.2.0
28
+ Requires-Dist: pydantic>=2.6.0
29
+ Requires-Dist: python-dotenv>=1.0.0
30
+ Requires-Dist: pyyaml>=6.0.1
31
+ Requires-Dist: raise-core>=3.0.0a3
32
+ Requires-Dist: rich>=13.7.0
33
+ Requires-Dist: tree-sitter-javascript>=0.25.0
34
+ Requires-Dist: tree-sitter-language-pack>=0.13.0
35
+ Requires-Dist: tree-sitter-php>=0.24.1
36
+ Requires-Dist: tree-sitter-svelte>=1.0.2
37
+ Requires-Dist: tree-sitter-typescript>=0.23.2
38
+ Requires-Dist: tree-sitter>=0.25.2
39
+ Requires-Dist: typer>=0.12.0
40
+ Provides-Extra: atlassian
41
+ Provides-Extra: confluence
42
+ Provides-Extra: csharp
43
+ Requires-Dist: tree-sitter-c-sharp>=0.23.1; extra == 'csharp'
44
+ Provides-Extra: go
45
+ Requires-Dist: tree-sitter-go>=0.25.0; extra == 'go'
46
+ Provides-Extra: hud
47
+ Requires-Dist: textual<1.0,>=0.86; extra == 'hud'
48
+ Provides-Extra: java
49
+ Requires-Dist: tree-sitter-java>=0.23.5; extra == 'java'
50
+ Provides-Extra: jira
51
+ Provides-Extra: observability
52
+ Requires-Dist: logfire>=4.0; extra == 'observability'
53
+ Requires-Dist: opentelemetry-api>=1.20; extra == 'observability'
54
+ Requires-Dist: opentelemetry-sdk>=1.20; extra == 'observability'
55
+ Description-Content-Type: text/markdown
56
+
57
+ # RaiSE CLI
58
+
59
+ **Reliable AI Software Engineering** — governance, memory, and structured workflows for AI-assisted development.
60
+
61
+ [![PyPI](https://img.shields.io/pypi/v/raise-cli)](https://pypi.org/project/raise-cli/)
62
+ [![Python](https://img.shields.io/pypi/pyversions/raise-cli)](https://pypi.org/project/raise-cli/)
63
+ [![License](https://img.shields.io/pypi/l/raise-cli)](https://github.com/humansys/raise/blob/main/LICENSE)
64
+
65
+ ---
66
+
67
+ AI coding assistants are powerful. They're also unreliable. They forget your conventions between sessions. They don't know your architecture decisions. They optimize for speed over correctness. Left ungoverned, they produce code that *looks* right but subtly isn't.
68
+
69
+ RaiSE fixes this through three collaborating parts:
70
+
71
+ ```
72
+ You (Strategy, Judgment, Ownership)
73
+
74
+ │ collaborates with
75
+
76
+ Rai (AI Partner — Execution + Memory)
77
+
78
+ │ governed by
79
+
80
+ RaiSE (Methodology + Toolkit)
81
+ ```
82
+
83
+ **You** decide what to build and why. **Rai** executes with accumulated memory and calibrated judgment. **RaiSE** provides the discipline — skills, governance, and quality gates — that makes the collaboration reliable.
84
+
85
+ The result: AI that learns from your project, follows your rules, and compounds knowledge across sessions instead of starting fresh every time.
86
+
87
+ ## Install
88
+
89
+ ### Quick install (recommended)
90
+
91
+ Per-project isolation — each project gets its own version:
92
+
93
+ ```bash
94
+ cd your-project
95
+ curl -LsSf https://docs.raiseframework.ai/install.sh | bash
96
+ ```
97
+
98
+ Windows (PowerShell):
99
+
100
+ ```powershell
101
+ cd your-project
102
+ irm https://docs.raiseframework.ai/install.ps1 | iex
103
+ ```
104
+
105
+ ### Manual install
106
+
107
+ ```bash
108
+ pip install raise-cli # latest stable
109
+ pip install raise-cli --pre # latest pre-release
110
+ ```
111
+
112
+ Requires **Python 3.12 or 3.13**. See the [Installation Guide](https://docs.raiseframework.ai/3.0/installation/) for platform-specific notes and troubleshooting.
113
+
114
+ ## Getting started
115
+
116
+ ```bash
117
+ cd your-project
118
+ rai init # create .raise/ governance structure
119
+ ```
120
+
121
+ Open your AI assistant ([Claude Code](https://claude.ai/claude-code), Cursor, or Windsurf) in the project directory and run:
122
+
123
+ ```
124
+ /rai-welcome → First-time setup: developer profile + knowledge graph
125
+ /rai-session-start → Load context, memory, and propose focused work
126
+ ```
127
+
128
+ ## The story lifecycle
129
+
130
+ Every piece of work follows six steps — the core rhythm of RaiSE:
131
+
132
+ ```
133
+ /rai-story-start → Scope: what are we building?
134
+ /rai-story-design → Spec: how will it work?
135
+ /rai-story-plan → Tasks: decompose into steps
136
+ /rai-story-implement → Build: test, code, verify, commit
137
+ /rai-story-review → Reflect: what did we learn?
138
+ /rai-story-close → Ship: merge and clean up
139
+ ```
140
+
141
+ Each step produces an artifact that feeds the next. Reviews capture patterns into memory. Memory feeds future sessions. This is how learning compounds — not through magic, but through disciplined repetition.
142
+
143
+ ## What's inside
144
+
145
+ **Governance** — Layered rules (principles → requirements → guardrails → code) loaded at session start and enforced throughout. Everything traceable, everything in Markdown.
146
+
147
+ **Memory** — Patterns, calibration data, and session history that persist across sessions. Session 1 is discovery. Session 50 is expertise.
148
+
149
+ **Knowledge Graph** — Connects governance, memory, skills, and code into a queryable structure. The CLI traverses this graph to deliver the right context for your current work.
150
+
151
+ **Skills** — 44 structured workflows covering epics, stories, bugfixes, discovery, documentation, and releases. Each adapts to your experience level (Shu-Ha-Ri).
152
+
153
+ **Quality Gates** — Automated verification at every step. Tests, types, lint, coverage, architectural drift detection, and release readiness checks.
154
+
155
+ **Integrations** — Jira, Confluence, and filesystem adapters. MCP server for AI tool orchestration. Multi-language code discovery (Python, TypeScript, JavaScript, C#, PHP, Dart, Svelte).
156
+
157
+ ## Documentation
158
+
159
+ - **[Getting Started](https://docs.raiseframework.ai/3.0/getting-started/)** — Install, initialize, and run your first session
160
+ - **[Your First Story](https://docs.raiseframework.ai/3.0/guides/first-story/)** — Walk through the full story lifecycle
161
+ - **[Core Concepts](https://docs.raiseframework.ai/3.0/concepts/)** — Memory, Skills, Governance, Knowledge Graph
162
+ - **[CLI Reference](https://docs.raiseframework.ai/3.0/cli/)** — Every command, flag, and option
163
+ - **[Guides](https://docs.raiseframework.ai/3.0/guides/)** — Integrations, pipelines, extending RaiSE
164
+
165
+ ## License
166
+
167
+ Apache 2.0 — see [LICENSE](https://github.com/humansys/raise/blob/main/LICENSE).
@@ -0,0 +1,111 @@
1
+ # RaiSE CLI
2
+
3
+ **Reliable AI Software Engineering** — governance, memory, and structured workflows for AI-assisted development.
4
+
5
+ [![PyPI](https://img.shields.io/pypi/v/raise-cli)](https://pypi.org/project/raise-cli/)
6
+ [![Python](https://img.shields.io/pypi/pyversions/raise-cli)](https://pypi.org/project/raise-cli/)
7
+ [![License](https://img.shields.io/pypi/l/raise-cli)](https://github.com/humansys/raise/blob/main/LICENSE)
8
+
9
+ ---
10
+
11
+ AI coding assistants are powerful. They're also unreliable. They forget your conventions between sessions. They don't know your architecture decisions. They optimize for speed over correctness. Left ungoverned, they produce code that *looks* right but subtly isn't.
12
+
13
+ RaiSE fixes this through three collaborating parts:
14
+
15
+ ```
16
+ You (Strategy, Judgment, Ownership)
17
+
18
+ │ collaborates with
19
+
20
+ Rai (AI Partner — Execution + Memory)
21
+
22
+ │ governed by
23
+
24
+ RaiSE (Methodology + Toolkit)
25
+ ```
26
+
27
+ **You** decide what to build and why. **Rai** executes with accumulated memory and calibrated judgment. **RaiSE** provides the discipline — skills, governance, and quality gates — that makes the collaboration reliable.
28
+
29
+ The result: AI that learns from your project, follows your rules, and compounds knowledge across sessions instead of starting fresh every time.
30
+
31
+ ## Install
32
+
33
+ ### Quick install (recommended)
34
+
35
+ Per-project isolation — each project gets its own version:
36
+
37
+ ```bash
38
+ cd your-project
39
+ curl -LsSf https://docs.raiseframework.ai/install.sh | bash
40
+ ```
41
+
42
+ Windows (PowerShell):
43
+
44
+ ```powershell
45
+ cd your-project
46
+ irm https://docs.raiseframework.ai/install.ps1 | iex
47
+ ```
48
+
49
+ ### Manual install
50
+
51
+ ```bash
52
+ pip install raise-cli # latest stable
53
+ pip install raise-cli --pre # latest pre-release
54
+ ```
55
+
56
+ Requires **Python 3.12 or 3.13**. See the [Installation Guide](https://docs.raiseframework.ai/3.0/installation/) for platform-specific notes and troubleshooting.
57
+
58
+ ## Getting started
59
+
60
+ ```bash
61
+ cd your-project
62
+ rai init # create .raise/ governance structure
63
+ ```
64
+
65
+ Open your AI assistant ([Claude Code](https://claude.ai/claude-code), Cursor, or Windsurf) in the project directory and run:
66
+
67
+ ```
68
+ /rai-welcome → First-time setup: developer profile + knowledge graph
69
+ /rai-session-start → Load context, memory, and propose focused work
70
+ ```
71
+
72
+ ## The story lifecycle
73
+
74
+ Every piece of work follows six steps — the core rhythm of RaiSE:
75
+
76
+ ```
77
+ /rai-story-start → Scope: what are we building?
78
+ /rai-story-design → Spec: how will it work?
79
+ /rai-story-plan → Tasks: decompose into steps
80
+ /rai-story-implement → Build: test, code, verify, commit
81
+ /rai-story-review → Reflect: what did we learn?
82
+ /rai-story-close → Ship: merge and clean up
83
+ ```
84
+
85
+ Each step produces an artifact that feeds the next. Reviews capture patterns into memory. Memory feeds future sessions. This is how learning compounds — not through magic, but through disciplined repetition.
86
+
87
+ ## What's inside
88
+
89
+ **Governance** — Layered rules (principles → requirements → guardrails → code) loaded at session start and enforced throughout. Everything traceable, everything in Markdown.
90
+
91
+ **Memory** — Patterns, calibration data, and session history that persist across sessions. Session 1 is discovery. Session 50 is expertise.
92
+
93
+ **Knowledge Graph** — Connects governance, memory, skills, and code into a queryable structure. The CLI traverses this graph to deliver the right context for your current work.
94
+
95
+ **Skills** — 44 structured workflows covering epics, stories, bugfixes, discovery, documentation, and releases. Each adapts to your experience level (Shu-Ha-Ri).
96
+
97
+ **Quality Gates** — Automated verification at every step. Tests, types, lint, coverage, architectural drift detection, and release readiness checks.
98
+
99
+ **Integrations** — Jira, Confluence, and filesystem adapters. MCP server for AI tool orchestration. Multi-language code discovery (Python, TypeScript, JavaScript, C#, PHP, Dart, Svelte).
100
+
101
+ ## Documentation
102
+
103
+ - **[Getting Started](https://docs.raiseframework.ai/3.0/getting-started/)** — Install, initialize, and run your first session
104
+ - **[Your First Story](https://docs.raiseframework.ai/3.0/guides/first-story/)** — Walk through the full story lifecycle
105
+ - **[Core Concepts](https://docs.raiseframework.ai/3.0/concepts/)** — Memory, Skills, Governance, Knowledge Graph
106
+ - **[CLI Reference](https://docs.raiseframework.ai/3.0/cli/)** — Every command, flag, and option
107
+ - **[Guides](https://docs.raiseframework.ai/3.0/guides/)** — Integrations, pipelines, extending RaiSE
108
+
109
+ ## License
110
+
111
+ Apache 2.0 — see [LICENSE](https://github.com/humansys/raise/blob/main/LICENSE).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "raise-cli"
3
- version = "3.0.0a4"
3
+ version = "3.0.0a6"
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.0.0a2",
24
+ "raise-core>=3.0.0a3",
25
25
  "typer>=0.12.0",
26
26
  "rich>=13.7.0",
27
27
  "pydantic>=2.6.0",
@@ -39,6 +39,7 @@ dependencies = [
39
39
  "httpx>=0.27.0,<1.0",
40
40
  "mcp>=1.26,<2",
41
41
  "markdown>=3.6",
42
+ "atlassian-python-api>=3.41.0",
42
43
  ]
43
44
 
44
45
  [project.optional-dependencies]
@@ -50,15 +51,19 @@ observability = [
50
51
  csharp = [
51
52
  "tree-sitter-c-sharp>=0.23.1",
52
53
  ]
53
- atlassian = [
54
- "atlassian-python-api>=3.41.0",
54
+ java = [
55
+ "tree-sitter-java>=0.23.5",
55
56
  ]
56
- confluence = [
57
- "atlassian-python-api>=3.41.0",
57
+ go = [
58
+ "tree-sitter-go>=0.25.0",
58
59
  ]
59
- jira = [
60
- "atlassian-python-api>=3.41.0",
60
+ hud = [
61
+ "textual>=0.86,<1.0",
61
62
  ]
63
+ # Backwards-compat aliases — atlassian-python-api is now installed by default (RAISE-1912).
64
+ atlassian = []
65
+ confluence = []
66
+ jira = []
62
67
 
63
68
  [project.urls]
64
69
  Homepage = "https://raiseframework.ai"
@@ -68,6 +73,7 @@ Changelog = "https://github.com/humansys/raise/blob/main/CHANGELOG.md"
68
73
 
69
74
  [project.scripts]
70
75
  rai = "raise_cli.cli.main:app"
76
+ rai-mcp-pipeline = "raise_cli.pipeline.mcp_server:main"
71
77
 
72
78
  [project.entry-points."rai.governance.parsers"]
73
79
  prd = "raise_cli.governance.parsers.prd:PrdParser"
@@ -91,12 +97,23 @@ types = "raise_cli.gates.builtin.types:TypeGate"
91
97
  lint = "raise_cli.gates.builtin.lint:LintGate"
92
98
  coverage = "raise_cli.gates.builtin.coverage:CoverageGate"
93
99
  format = "raise_cli.gates.builtin.format:FormatGate"
100
+ drift-post-refactor-orphan = "raise_cli.gates.drift.post_refactor_orphan:PostRefactorOrphanGate"
101
+ drift-dead-public-api = "raise_cli.gates.drift.dead_public_api:DeadPublicApiGate"
102
+ drift-linter-suppression = "raise_cli.gates.drift.linter_suppression:LinterSuppressionGate"
103
+ drift-story-accretion = "raise_cli.gates.drift.story_accretion:StoryAccretionGate"
104
+ drift-import-fan-in = "raise_cli.gates.drift.import_fan_in:ImportFanInGate"
105
+ drift-parallel-siblings = "raise_cli.gates.drift.parallel_siblings:ParallelSiblingGate"
106
+ drift-auth-fan-out = "raise_cli.gates.drift.auth_fan_out:AuthorizationFanOutGate"
107
+ ar-story = "raise_cli.gates.ar.story_gate:ArchitectureReviewGate"
108
+ ar-bugfix = "raise_cli.gates.ar.bugfix_gate:BugfixArchitectureReviewGate"
109
+ epic-close-drift = "raise_cli.gates.drift.epic_close:EpicCloseGate"
94
110
 
95
111
  [project.entry-points."rai.doctor.checks"]
96
112
  environment = "raise_cli.doctor.checks.environment:EnvironmentCheck"
97
113
  project = "raise_cli.doctor.checks.project:ProjectCheck"
98
114
  developer = "raise_cli.doctor.checks.developer:DeveloperCheck"
99
115
  adapters = "raise_cli.doctor.checks.adapters:AdapterDoctorCheck"
116
+ runtimes = "raise_cli.doctor.checks.runtimes:RuntimesCheck"
100
117
 
101
118
  [project.entry-points."rai.adapters.pm"]
102
119
  filesystem = "raise_cli.adapters.filesystem:FilesystemPMAdapter"
@@ -0,0 +1,139 @@
1
+ """Discover agent session_id via runtime-agnostic priority chain.
2
+
3
+ Resolution order:
4
+ 1. RAISE_AGENT_SESSION_ID (explicit, set by any runtime adapter)
5
+ 2. RAISE_CC_SESSION_ID (Claude Code backward compat)
6
+ 3. CC port discovery (CLAUDE_CODE_SSE_PORT → cc.port, unambiguous match only)
7
+ 4. Terminal bindings (PPID ancestry → _terminal_bindings.json)
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import json
13
+ import os
14
+ from pathlib import Path
15
+
16
+ _SESSIONS_DIR = Path(".raise") / "rai" / "sessions"
17
+
18
+
19
+ def discover_agent_session_id() -> str | None:
20
+ """Resolve session ID from any supported runtime.
21
+
22
+ Priority chain ensures backward compatibility while enabling
23
+ new runtimes (Hermes, Codex) to participate in session correlation.
24
+ """
25
+ agent_sid = os.environ.get("RAISE_AGENT_SESSION_ID", "").strip()
26
+ if agent_sid:
27
+ return agent_sid
28
+
29
+ cc_sid = os.environ.get("RAISE_CC_SESSION_ID", "").strip()
30
+ if cc_sid:
31
+ return cc_sid
32
+
33
+ port_sid = _discover_via_cc_port()
34
+ if port_sid:
35
+ return port_sid
36
+
37
+ return _discover_via_terminal_bindings()
38
+
39
+
40
+ def discover_mission_for_session(cc_session_id: str) -> str | None:
41
+ """Return the mission bound to *cc_session_id* in SQLite, or None.
42
+
43
+ Uses the shared raise.db so the lookup works across worktrees and
44
+ concurrent CC sessions without PID navigation.
45
+ """
46
+ try:
47
+ from pathlib import Path as _Path
48
+
49
+ from raise_cli.session.mission_binding import get_mission_for_session
50
+
51
+ return get_mission_for_session(_Path.cwd(), cc_session_id)
52
+ except Exception:
53
+ return None
54
+
55
+
56
+ def discover_agent_runtime() -> str:
57
+ """Resolve the active agent runtime identifier.
58
+
59
+ Resolution: $RAISE_AGENT_RUNTIME > CC-specific env detection > "unknown".
60
+ """
61
+ explicit = os.environ.get("RAISE_AGENT_RUNTIME", "").strip()
62
+ if explicit:
63
+ return explicit
64
+
65
+ if os.environ.get("RAISE_CC_SESSION_ID", "").strip():
66
+ return "claude_code"
67
+
68
+ if _discover_via_cc_port():
69
+ return "claude_code"
70
+
71
+ if _discover_via_terminal_bindings():
72
+ return "claude_code"
73
+
74
+ return "unknown"
75
+
76
+
77
+ def _discover_via_cc_port() -> str | None:
78
+ """CC-specific: match CLAUDE_CODE_SSE_PORT to session dir's cc.port file.
79
+
80
+ Returns the matching session ID only when exactly one session matches the
81
+ port. Returns None when the match is ambiguous (multiple sessions share the
82
+ same port, which happens during multi-agent runs where each subagent session
83
+ also writes cc.port). Ambiguous cases are resolved by the terminal-bindings
84
+ fallback instead.
85
+ """
86
+ port = os.environ.get("CLAUDE_CODE_SSE_PORT", "").strip()
87
+ if not port:
88
+ return None
89
+ sessions_dir = Path.cwd() / _SESSIONS_DIR
90
+ if not sessions_dir.exists():
91
+ return None
92
+ matches: list[str] = []
93
+ for sess_dir in sessions_dir.iterdir():
94
+ if not sess_dir.is_dir():
95
+ continue
96
+ port_file = sess_dir / "cc.port"
97
+ if port_file.exists() and port_file.read_text().strip() == port:
98
+ matches.append(sess_dir.name)
99
+ return matches[0] if len(matches) == 1 else None
100
+
101
+
102
+ def _get_parent_pid(pid: int) -> int | None:
103
+ """Return the parent PID of *pid* via /proc (Linux only)."""
104
+ try:
105
+ status = Path(f"/proc/{pid}/status").read_text()
106
+ for line in status.splitlines():
107
+ if line.startswith("PPid:"):
108
+ return int(line.split()[1])
109
+ return None
110
+ except (FileNotFoundError, ValueError, PermissionError, OSError):
111
+ return None
112
+
113
+
114
+ def _discover_via_terminal_bindings() -> str | None:
115
+ """Resolve session ID by walking the PID ancestry to the CC process.
116
+
117
+ The SessionStart hook writes ``{cc_pid: {session_id: ...}}`` to
118
+ ``_terminal_bindings.json``. From within a Bash tool call the CC process is
119
+ the grandparent: ``rai`` → ``bash`` → ``CC``. Reading the grandparent PID
120
+ and looking it up in the bindings gives the correct session even when
121
+ multiple sessions share the same SSE port.
122
+ """
123
+ try:
124
+ bash_pid = os.getppid()
125
+ cc_pid = _get_parent_pid(bash_pid)
126
+ if cc_pid is None:
127
+ return None
128
+ bindings_file = Path.cwd() / _SESSIONS_DIR / "_terminal_bindings.json"
129
+ if not bindings_file.exists():
130
+ return None
131
+ bindings: dict[str, dict[str, object]] = json.loads(bindings_file.read_text())
132
+ entry = bindings.get(str(cc_pid))
133
+ if entry:
134
+ sid = entry.get("session_id")
135
+ if sid:
136
+ return str(sid)
137
+ return None
138
+ except Exception:
139
+ return None
@@ -0,0 +1,8 @@
1
+ """Backward compat stub — use _agent_session instead (RAISE-2779)."""
2
+
3
+ from raise_cli._agent_session import discover_agent_session_id
4
+
5
+
6
+ def discover_cc_session_id() -> str | None:
7
+ """Deprecated: use discover_agent_session_id() instead."""
8
+ return discover_agent_session_id()