raise-cli 2.4.1__tar.gz → 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. {raise_cli-2.4.1 → raise_cli-3.0.0}/.gitignore +67 -3
  2. raise_cli-3.0.0/PKG-INFO +167 -0
  3. raise_cli-3.0.0/README.md +111 -0
  4. {raise_cli-2.4.1 → raise_cli-3.0.0}/pyproject.toml +31 -12
  5. raise_cli-3.0.0/src/raise_cli/_agent_session.py +139 -0
  6. raise_cli-3.0.0/src/raise_cli/_cc_session.py +8 -0
  7. raise_cli-3.0.0/src/raise_cli/adapters/backlog_config.py +190 -0
  8. raise_cli-3.0.0/src/raise_cli/adapters/composite_docs.py +255 -0
  9. raise_cli-3.0.0/src/raise_cli/adapters/composite_pm.py +806 -0
  10. raise_cli-3.0.0/src/raise_cli/adapters/confluence_adapter.py +178 -0
  11. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/confluence_client.py +79 -11
  12. raise_cli-3.0.0/src/raise_cli/adapters/confluence_config.py +268 -0
  13. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/confluence_config_gen.py +79 -25
  14. raise_cli-3.0.0/src/raise_cli/adapters/confluence_markdown.py +120 -0
  15. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/adapter.py +64 -4
  16. raise_cli-3.0.0/src/raise_cli/adapters/filesystem.py +554 -0
  17. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/filesystem_adapter.py +3 -3
  18. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/filesystem_docs.py +32 -1
  19. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/filesystem_models.py +4 -0
  20. raise_cli-3.0.0/src/raise_cli/adapters/jira_adapter.py +557 -0
  21. raise_cli-3.0.0/src/raise_cli/adapters/jira_adf.py +397 -0
  22. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/jira_client.py +293 -19
  23. raise_cli-3.0.0/src/raise_cli/adapters/jira_config.py +13 -0
  24. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/jira_config_gen.py +57 -9
  25. raise_cli-3.0.0/src/raise_cli/adapters/ledger_aware.py +135 -0
  26. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/models/__init__.py +12 -0
  27. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/models/docs.py +10 -0
  28. raise_cli-3.0.0/src/raise_cli/adapters/models/pm.py +355 -0
  29. raise_cli-3.0.0/src/raise_cli/adapters/pending_ops.py +205 -0
  30. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/protocols.py +88 -7
  31. raise_cli-3.0.0/src/raise_cli/adapters/resolve.py +221 -0
  32. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/sync.py +66 -4
  33. raise_cli-3.0.0/src/raise_cli/adapters/sync_ledger.py +67 -0
  34. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/claude.yaml +2 -1
  35. raise_cli-3.0.0/src/raise_cli/agents/codex.yaml +9 -0
  36. raise_cli-3.0.0/src/raise_cli/agents/codex_plugin.py +207 -0
  37. raise_cli-3.0.0/src/raise_cli/agents/hermes.yaml +8 -0
  38. raise_cli-3.0.0/src/raise_cli/artifacts/models.py +146 -0
  39. raise_cli-3.0.0/src/raise_cli/artifacts/render.py +229 -0
  40. raise_cli-3.0.0/src/raise_cli/artifacts/store.py +124 -0
  41. raise_cli-3.0.0/src/raise_cli/backlog/ledger.py +229 -0
  42. raise_cli-3.0.0/src/raise_cli/backlog/reconcile.py +228 -0
  43. raise_cli-3.0.0/src/raise_cli/backlog/scanner.py +225 -0
  44. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/backlog/sync.py +0 -2
  45. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/_resolve.py +122 -45
  46. raise_cli-3.0.0/src/raise_cli/cli/commands/adapter_setup.py +511 -0
  47. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/adapters.py +3 -0
  48. raise_cli-3.0.0/src/raise_cli/cli/commands/backlog.py +1315 -0
  49. raise_cli-3.0.0/src/raise_cli/cli/commands/db.py +144 -0
  50. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/discover.py +283 -5
  51. raise_cli-3.0.0/src/raise_cli/cli/commands/docs.py +564 -0
  52. raise_cli-3.0.0/src/raise_cli/cli/commands/drift.py +424 -0
  53. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/gate.py +49 -14
  54. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/graph.py +244 -28
  55. raise_cli-3.0.0/src/raise_cli/cli/commands/hud.py +21 -0
  56. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/init.py +176 -19
  57. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/journal.py +12 -18
  58. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/learn.py +12 -7
  59. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/memory.py +84 -0
  60. raise_cli-3.0.0/src/raise_cli/cli/commands/mission.py +368 -0
  61. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/pattern.py +61 -110
  62. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/release.py +38 -22
  63. raise_cli-3.0.0/src/raise_cli/cli/commands/schema.py +39 -0
  64. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/session.py +312 -28
  65. raise_cli-3.0.0/src/raise_cli/cli/commands/signal.py +815 -0
  66. raise_cli-3.0.0/src/raise_cli/cli/commands/telemetry.py +228 -0
  67. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/extensions.py +0 -1
  68. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/main.py +28 -3
  69. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/agent_registry.py +12 -9
  70. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/agents.py +24 -3
  71. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/paths.py +85 -6
  72. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/settings.py +16 -8
  73. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/builder.py +54 -9
  74. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/extractors/structure.py +13 -2
  75. raise_cli-3.0.0/src/raise_cli/context/loaders/__init__.py +0 -0
  76. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/loaders/architecture.py +7 -2
  77. raise_cli-3.0.0/src/raise_cli/context/loaders/documents.py +158 -0
  78. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/loaders/memory.py +44 -4
  79. raise_cli-3.0.0/src/raise_cli/context/loaders/missions.py +71 -0
  80. raise_cli-3.0.0/src/raise_cli/context/loaders/symbols.py +553 -0
  81. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/discovery/__init__.py +48 -0
  82. raise_cli-3.0.0/src/raise_cli/discovery/check.py +340 -0
  83. raise_cli-3.0.0/src/raise_cli/discovery/clone.py +280 -0
  84. raise_cli-3.0.0/src/raise_cli/discovery/corpus.py +198 -0
  85. raise_cli-3.0.0/src/raise_cli/discovery/metric.py +304 -0
  86. raise_cli-3.0.0/src/raise_cli/discovery/sast.py +306 -0
  87. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/discovery/scanner.py +417 -1
  88. raise_cli-3.0.0/src/raise_cli/discovery/temporal.py +391 -0
  89. raise_cli-3.0.0/src/raise_cli/discovery/thresholds.py +272 -0
  90. raise_cli-3.0.0/src/raise_cli/docs/__init__.py +10 -0
  91. raise_cli-3.0.0/src/raise_cli/docs/migrate.py +173 -0
  92. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/checks/adapters.py +70 -40
  93. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/checks/developer.py +19 -24
  94. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/checks/project.py +111 -63
  95. raise_cli-3.0.0/src/raise_cli/doctor/checks/runtimes.py +81 -0
  96. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/runner.py +1 -0
  97. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/exceptions.py +16 -0
  98. raise_cli-3.0.0/src/raise_cli/gates/ar/__init__.py +6 -0
  99. raise_cli-3.0.0/src/raise_cli/gates/ar/bugfix_gate.py +21 -0
  100. raise_cli-3.0.0/src/raise_cli/gates/ar/story_gate.py +88 -0
  101. raise_cli-3.0.0/src/raise_cli/gates/builtin/_runner.py +186 -0
  102. raise_cli-3.0.0/src/raise_cli/gates/drift/__init__.py +38 -0
  103. raise_cli-3.0.0/src/raise_cli/gates/drift/_base.py +101 -0
  104. raise_cli-3.0.0/src/raise_cli/gates/drift/auth_fan_out.py +87 -0
  105. raise_cli-3.0.0/src/raise_cli/gates/drift/dead_public_api.py +127 -0
  106. raise_cli-3.0.0/src/raise_cli/gates/drift/epic_close.py +113 -0
  107. raise_cli-3.0.0/src/raise_cli/gates/drift/import_fan_in.py +73 -0
  108. raise_cli-3.0.0/src/raise_cli/gates/drift/linter_suppression.py +49 -0
  109. raise_cli-3.0.0/src/raise_cli/gates/drift/parallel_siblings.py +70 -0
  110. raise_cli-3.0.0/src/raise_cli/gates/drift/post_refactor_orphan.py +65 -0
  111. raise_cli-3.0.0/src/raise_cli/gates/drift/story_accretion.py +50 -0
  112. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/models.py +4 -0
  113. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/extractor.py +7 -2
  114. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/models.py +1 -1
  115. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/graph/backends/__init__.py +20 -8
  116. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/graph/backends/dual.py +12 -10
  117. raise_cli-3.0.0/src/raise_cli/graph/backends/pending.py +123 -0
  118. raise_cli-3.0.0/src/raise_cli/graph/backends/sqlite.py +162 -0
  119. raise_cli-3.0.0/src/raise_cli/graph/query_backend.py +124 -0
  120. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/builtin/memory.py +4 -2
  121. raise_cli-3.0.0/src/raise_cli/hooks/builtin/telemetry.py +42 -0
  122. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/events.py +29 -0
  123. raise_cli-3.0.0/src/raise_cli/hud/__init__.py +0 -0
  124. raise_cli-3.0.0/src/raise_cli/hud/app.py +176 -0
  125. raise_cli-3.0.0/src/raise_cli/hud/data.py +229 -0
  126. raise_cli-3.0.0/src/raise_cli/hud/hud.tcss +38 -0
  127. raise_cli-3.0.0/src/raise_cli/hud/panels/__init__.py +0 -0
  128. raise_cli-3.0.0/src/raise_cli/hud/panels/_events_utils.py +124 -0
  129. raise_cli-3.0.0/src/raise_cli/hud/panels/_insights_utils.py +246 -0
  130. raise_cli-3.0.0/src/raise_cli/hud/panels/_missions_utils.py +156 -0
  131. raise_cli-3.0.0/src/raise_cli/hud/panels/events.py +203 -0
  132. raise_cli-3.0.0/src/raise_cli/hud/panels/insights.py +129 -0
  133. raise_cli-3.0.0/src/raise_cli/hud/panels/missions.py +147 -0
  134. raise_cli-3.0.0/src/raise_cli/hud/panels/pipeline.py +189 -0
  135. raise_cli-3.0.0/src/raise_cli/hud/panels/session.py +226 -0
  136. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/mcp/__init__.py +1 -9
  137. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/mcp/bridge.py +5 -20
  138. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/learning.py +10 -3
  139. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/loader.py +0 -1
  140. raise_cli-3.0.0/src/raise_cli/memory/memory_index.py +184 -0
  141. raise_cli-3.0.0/src/raise_cli/memory/migrate_claude.py +168 -0
  142. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/models.py +1 -1
  143. raise_cli-3.0.0/src/raise_cli/memory/patterns_backend.py +316 -0
  144. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/writer.py +142 -109
  145. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/bootstrap.py +144 -68
  146. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/detection.py +91 -0
  147. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/governance.py +1 -3
  148. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/instructions.py +13 -12
  149. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/manifest.py +39 -0
  150. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/memory_md.py +29 -20
  151. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/profile.py +5 -0
  152. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/skill_conflict.py +19 -2
  153. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/skills.py +24 -1
  154. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/console.py +2 -2
  155. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/formatters/graph.py +2 -1
  156. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/formatters/skill.py +2 -2
  157. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/symbols.py +24 -5
  158. raise_cli-3.0.0/src/raise_cli/pipeline/__init__.py +42 -0
  159. raise_cli-3.0.0/src/raise_cli/pipeline/_mcp_instance.py +11 -0
  160. raise_cli-3.0.0/src/raise_cli/pipeline/_telemetry.py +123 -0
  161. raise_cli-3.0.0/src/raise_cli/pipeline/dispatch.py +307 -0
  162. raise_cli-3.0.0/src/raise_cli/pipeline/engine.py +382 -0
  163. raise_cli-3.0.0/src/raise_cli/pipeline/executor.py +237 -0
  164. raise_cli-3.0.0/src/raise_cli/pipeline/gates.py +176 -0
  165. raise_cli-3.0.0/src/raise_cli/pipeline/loader.py +143 -0
  166. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_server.py +74 -0
  167. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_artifact.py +111 -0
  168. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_backlog.py +118 -0
  169. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_gate.py +56 -0
  170. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_graph.py +39 -0
  171. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_pattern.py +87 -0
  172. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_pipeline.py +958 -0
  173. raise_cli-3.0.0/src/raise_cli/pipeline/mcp_tools_session.py +348 -0
  174. raise_cli-3.0.0/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +59 -0
  175. raise_cli-3.0.0/src/raise_cli/pipeline/pipelines_base/epic.yaml +50 -0
  176. raise_cli-3.0.0/src/raise_cli/pipeline/pipelines_base/hotfix.yaml +29 -0
  177. raise_cli-3.0.0/src/raise_cli/pipeline/pipelines_base/story.yaml +121 -0
  178. raise_cli-3.0.0/src/raise_cli/pipeline/prompt.py +193 -0
  179. raise_cli-3.0.0/src/raise_cli/pipeline/run_store.py +345 -0
  180. raise_cli-3.0.0/src/raise_cli/pipeline/templates/adversarial-ar.md +35 -0
  181. raise_cli-3.0.0/src/raise_cli/pipeline/templates/adversarial-qr.md +44 -0
  182. raise_cli-3.0.0/src/raise_cli/pipeline/worktree.py +118 -0
  183. raise_cli-3.0.0/src/raise_cli/project.py +57 -0
  184. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/publish/check.py +66 -0
  185. raise_cli-3.0.0/src/raise_cli/rai_base/governance/architecture/domain-model.md +34 -0
  186. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/system-context.md +19 -3
  187. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/system-design.md +9 -1
  188. raise_cli-3.0.0/src/raise_cli/session/__init__.py +131 -0
  189. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/bundle.py +80 -2
  190. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/bundle_data.py +118 -8
  191. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/bundle_formatters.py +167 -0
  192. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/close.py +72 -57
  193. raise_cli-3.0.0/src/raise_cli/session/context_backend.py +108 -0
  194. raise_cli-3.0.0/src/raise_cli/session/context_env.py +64 -0
  195. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/derive.py +23 -20
  196. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/doctor.py +24 -86
  197. raise_cli-3.0.0/src/raise_cli/session/index.py +315 -0
  198. raise_cli-3.0.0/src/raise_cli/session/journal.py +156 -0
  199. raise_cli-3.0.0/src/raise_cli/session/measure.py +74 -0
  200. raise_cli-3.0.0/src/raise_cli/session/mission.py +109 -0
  201. raise_cli-3.0.0/src/raise_cli/session/mission_binding.py +42 -0
  202. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/monitor.py +6 -6
  203. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/protocols.py +40 -1
  204. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/registry.py +1 -59
  205. raise_cli-3.0.0/src/raise_cli/session/state.py +257 -0
  206. raise_cli-3.0.0/src/raise_cli/session/terminal.py +145 -0
  207. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/__init__.py +41 -23
  208. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +51 -7
  209. raise_cli-3.0.0/src/raise_cli/skills_base/rai-backlog-setup/SKILL.md +242 -0
  210. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +35 -7
  211. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +85 -7
  212. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +36 -8
  213. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +28 -12
  214. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +39 -16
  215. raise_cli-3.0.0/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +198 -0
  216. raise_cli-3.0.0/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +185 -0
  217. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-debug/SKILL.md +2 -2
  218. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-discover/SKILL.md +70 -10
  219. raise_cli-3.0.0/src/raise_cli/skills_base/rai-docs-setup/SKILL.md +228 -0
  220. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +18 -7
  221. raise_cli-3.0.0/src/raise_cli/skills_base/rai-epic-close/SKILL.md +290 -0
  222. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +85 -7
  223. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +11 -3
  224. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +46 -7
  225. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +91 -11
  226. raise_cli-3.0.0/src/raise_cli/skills_base/rai-mission-close/SKILL.md +137 -0
  227. raise_cli-3.0.0/src/raise_cli/skills_base/rai-mr-create/SKILL.md +161 -0
  228. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +33 -3
  229. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-project-create/SKILL.md +31 -3
  230. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +27 -8
  231. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +37 -3
  232. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-research/SKILL.md +40 -4
  233. raise_cli-3.0.0/src/raise_cli/skills_base/rai-session-close/SKILL.md +302 -0
  234. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +18 -8
  235. raise_cli-3.0.0/src/raise_cli/skills_base/rai-session-start/SKILL.md +289 -0
  236. raise_cli-3.0.0/src/raise_cli/skills_base/rai-skill-create/SKILL.md +140 -0
  237. raise_cli-3.0.0/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +151 -0
  238. raise_cli-3.0.0/src/raise_cli/skills_base/rai-story-close/SKILL.md +336 -0
  239. raise_cli-3.0.0/src/raise_cli/skills_base/rai-story-design/SKILL.md +374 -0
  240. raise_cli-3.0.0/src/raise_cli/skills_base/rai-story-implement/SKILL.md +247 -0
  241. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +69 -15
  242. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-story-review/SKILL.md +81 -50
  243. raise_cli-3.0.0/src/raise_cli/skills_base/rai-story-start/SKILL.md +259 -0
  244. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-welcome/SKILL.md +23 -0
  245. raise_cli-3.0.0/src/raise_cli/storage/__init__.py +17 -0
  246. raise_cli-3.0.0/src/raise_cli/storage/connection.py +131 -0
  247. raise_cli-3.0.0/src/raise_cli/storage/consolidate.py +218 -0
  248. raise_cli-3.0.0/src/raise_cli/storage/counter.py +62 -0
  249. raise_cli-3.0.0/src/raise_cli/storage/migrate.py +621 -0
  250. raise_cli-3.0.0/src/raise_cli/storage/missions.py +264 -0
  251. raise_cli-3.0.0/src/raise_cli/storage/schema.py +439 -0
  252. raise_cli-3.0.0/src/raise_cli/storage/schema_sum.py +89 -0
  253. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/telemetry/__init__.py +11 -12
  254. raise_cli-3.0.0/src/raise_cli/telemetry/emitter.py +591 -0
  255. raise_cli-3.0.0/src/raise_cli/telemetry/phase_map.py +48 -0
  256. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/telemetry/schemas.py +119 -4
  257. raise_cli-3.0.0/src/raise_cli/telemetry/session_tokens.py +112 -0
  258. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/viz/generator.py +78 -19
  259. raise_cli-3.0.0/src/raise_cli/work_events/__init__.py +59 -0
  260. raise_cli-3.0.0/src/raise_cli/work_events/backfill.py +152 -0
  261. raise_cli-3.0.0/src/raise_cli/work_events/ref_resolver.py +57 -0
  262. raise_cli-3.0.0/src/raise_cli/work_events/retry_queue.py +139 -0
  263. raise_cli-3.0.0/src/raise_cli/work_events/schemas.py +79 -0
  264. raise_cli-3.0.0/src/raise_cli/work_events/translator.py +256 -0
  265. raise_cli-2.4.1/PKG-INFO +0 -191
  266. raise_cli-2.4.1/README.md +0 -141
  267. raise_cli-2.4.1/src/raise_cli/adapters/composite_docs.py +0 -92
  268. raise_cli-2.4.1/src/raise_cli/adapters/confluence_adapter.py +0 -107
  269. raise_cli-2.4.1/src/raise_cli/adapters/confluence_config.py +0 -114
  270. raise_cli-2.4.1/src/raise_cli/adapters/filesystem.py +0 -301
  271. raise_cli-2.4.1/src/raise_cli/adapters/jira_adapter.py +0 -368
  272. raise_cli-2.4.1/src/raise_cli/adapters/jira_config.py +0 -117
  273. raise_cli-2.4.1/src/raise_cli/adapters/models/pm.py +0 -147
  274. raise_cli-2.4.1/src/raise_cli/artifacts/__init__.py +0 -30
  275. raise_cli-2.4.1/src/raise_cli/artifacts/models.py +0 -43
  276. raise_cli-2.4.1/src/raise_cli/artifacts/reader.py +0 -55
  277. raise_cli-2.4.1/src/raise_cli/artifacts/renderer.py +0 -102
  278. raise_cli-2.4.1/src/raise_cli/artifacts/story_design.py +0 -69
  279. raise_cli-2.4.1/src/raise_cli/artifacts/writer.py +0 -45
  280. raise_cli-2.4.1/src/raise_cli/cli/commands/artifact.py +0 -144
  281. raise_cli-2.4.1/src/raise_cli/cli/commands/backlog.py +0 -362
  282. raise_cli-2.4.1/src/raise_cli/cli/commands/docs.py +0 -183
  283. raise_cli-2.4.1/src/raise_cli/cli/commands/signal.py +0 -425
  284. raise_cli-2.4.1/src/raise_cli/context/loaders/artifacts.py +0 -72
  285. raise_cli-2.4.1/src/raise_cli/gates/builtin/_runner.py +0 -72
  286. raise_cli-2.4.1/src/raise_cli/graph/backends/pending.py +0 -84
  287. raise_cli-2.4.1/src/raise_cli/hooks/builtin/telemetry.py +0 -72
  288. raise_cli-2.4.1/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -20
  289. raise_cli-2.4.1/src/raise_cli/session/__init__.py +0 -5
  290. raise_cli-2.4.1/src/raise_cli/session/index.py +0 -197
  291. raise_cli-2.4.1/src/raise_cli/session/journal.py +0 -119
  292. raise_cli-2.4.1/src/raise_cli/session/state.py +0 -247
  293. raise_cli-2.4.1/src/raise_cli/skills_base/rai-adapter-setup/SKILL.md +0 -221
  294. raise_cli-2.4.1/src/raise_cli/skills_base/rai-bugfix-run/SKILL.md +0 -304
  295. raise_cli-2.4.1/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +0 -121
  296. raise_cli-2.4.1/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +0 -138
  297. raise_cli-2.4.1/src/raise_cli/skills_base/rai-epic-close/SKILL.md +0 -237
  298. raise_cli-2.4.1/src/raise_cli/skills_base/rai-epic-run/SKILL.md +0 -212
  299. raise_cli-2.4.1/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -184
  300. raise_cli-2.4.1/src/raise_cli/skills_base/rai-session-start/SKILL.md +0 -114
  301. raise_cli-2.4.1/src/raise_cli/skills_base/rai-story-close/SKILL.md +0 -213
  302. raise_cli-2.4.1/src/raise_cli/skills_base/rai-story-design/SKILL.md +0 -271
  303. raise_cli-2.4.1/src/raise_cli/skills_base/rai-story-implement/SKILL.md +0 -161
  304. raise_cli-2.4.1/src/raise_cli/skills_base/rai-story-run/SKILL.md +0 -319
  305. raise_cli-2.4.1/src/raise_cli/skills_base/rai-story-start/SKILL.md +0 -172
  306. raise_cli-2.4.1/src/raise_cli/telemetry/writer.py +0 -217
  307. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/__init__.py +0 -0
  308. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/__main__.py +0 -0
  309. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/__init__.py +0 -0
  310. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/confluence_discovery.py +0 -0
  311. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/confluence_exceptions.py +0 -0
  312. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/__init__.py +0 -0
  313. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/discovery.py +0 -0
  314. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/expressions.py +0 -0
  315. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
  316. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
  317. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/declarative/schema.py +0 -0
  318. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/jira_discovery.py +0 -0
  319. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/jira_exceptions.py +0 -0
  320. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/mcp_bridge.py +0 -0
  321. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/models/governance.py +0 -0
  322. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/models/health.py +0 -0
  323. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/adapters/registry.py +0 -0
  324. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/__init__.py +0 -0
  325. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/antigravity.yaml +0 -0
  326. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/copilot.yaml +0 -0
  327. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/copilot_plugin.py +0 -0
  328. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/cursor.yaml +0 -0
  329. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/roo.yaml +0 -0
  330. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/agents/windsurf.yaml +0 -0
  331. {raise_cli-2.4.1/src/raise_cli/context/loaders → raise_cli-3.0.0/src/raise_cli/artifacts}/__init__.py +0 -0
  332. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/backlog/__init__.py +0 -0
  333. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/__init__.py +0 -0
  334. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/__init__.py +0 -0
  335. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/base.py +0 -0
  336. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/doctor.py +0 -0
  337. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/info.py +0 -0
  338. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/mcp.py +0 -0
  339. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/profile.py +0 -0
  340. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/skill.py +0 -0
  341. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/commands/skill_set.py +0 -0
  342. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/cli/error_handler.py +0 -0
  343. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compat.py +0 -0
  344. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/__init__.py +0 -0
  345. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/controls.yaml +0 -0
  346. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/evidence.py +0 -0
  347. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/extractors/__init__.py +0 -0
  348. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/extractors/git.py +0 -0
  349. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/loader.py +0 -0
  350. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/compliance/models.py +0 -0
  351. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/__init__.py +0 -0
  352. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/agent_plugin.py +0 -0
  353. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/config/ide.py +0 -0
  354. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/__init__.py +0 -0
  355. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/__init__.py +0 -0
  356. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/models.py +0 -0
  357. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/protocol.py +0 -0
  358. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/python.py +0 -0
  359. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/signals.py +0 -0
  360. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/analyzers/typescript.py +0 -0
  361. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/diff.py +0 -0
  362. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/extractors/__init__.py +0 -0
  363. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/extractors/relationships.py +0 -0
  364. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/extractors/skills.py +0 -0
  365. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/loaders/components.py +0 -0
  366. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/context/loaders/identity.py +0 -0
  367. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/core/__init__.py +0 -0
  368. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/core/files.py +0 -0
  369. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/core/text.py +0 -0
  370. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/core/tools.py +0 -0
  371. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/discovery/analyzer.py +0 -0
  372. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/discovery/drift.py +0 -0
  373. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/__init__.py +0 -0
  374. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/checks/__init__.py +0 -0
  375. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/checks/environment.py +0 -0
  376. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/fix.py +0 -0
  377. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/models.py +0 -0
  378. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/protocol.py +0 -0
  379. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/registry.py +0 -0
  380. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/doctor/report.py +0 -0
  381. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/engines/__init__.py +0 -0
  382. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/__init__.py +0 -0
  383. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/__init__.py +0 -0
  384. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/coverage.py +0 -0
  385. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/format.py +0 -0
  386. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/lint.py +0 -0
  387. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/tests.py +0 -0
  388. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/builtin/types.py +0 -0
  389. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/hook.py +0 -0
  390. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/protocol.py +0 -0
  391. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/gates/registry.py +0 -0
  392. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/__init__.py +0 -0
  393. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/__init__.py +0 -0
  394. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/_convert.py +0 -0
  395. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/adr.py +0 -0
  396. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/backlog.py +0 -0
  397. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/constitution.py +0 -0
  398. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/epic.py +0 -0
  399. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/glossary.py +0 -0
  400. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/guardrails.py +0 -0
  401. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/prd.py +0 -0
  402. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/roadmap.py +0 -0
  403. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/governance/parsers/vision.py +0 -0
  404. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/graph/__init__.py +0 -0
  405. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/graph/backends/api.py +0 -0
  406. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/handlers/__init__.py +0 -0
  407. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/__init__.py +0 -0
  408. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/builtin/__init__.py +0 -0
  409. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
  410. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/emitter.py +0 -0
  411. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/protocol.py +0 -0
  412. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/hooks/registry.py +0 -0
  413. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/mcp/models.py +0 -0
  414. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/mcp/registry.py +0 -0
  415. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/mcp/schema.py +0 -0
  416. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/__init__.py +0 -0
  417. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/migration.py +0 -0
  418. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/memory/push.py +0 -0
  419. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/__init__.py +0 -0
  420. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/claudemd.py +0 -0
  421. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/conventions.py +0 -0
  422. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/migration.py +0 -0
  423. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/profile_portability.py +0 -0
  424. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/skill_manifest.py +0 -0
  425. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/onboarding/workflows.py +0 -0
  426. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/__init__.py +0 -0
  427. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/formatters/__init__.py +0 -0
  428. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/formatters/adapters.py +0 -0
  429. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/output/formatters/discover.py +0 -0
  430. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/publish/__init__.py +0 -0
  431. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/publish/changelog.py +0 -0
  432. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/publish/version.py +0 -0
  433. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/__init__.py +0 -0
  434. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/framework/__init__.py +0 -0
  435. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
  436. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/__init__.py +0 -0
  437. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
  438. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
  439. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
  440. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
  441. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/backlog.md +0 -0
  442. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
  443. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/prd.md +0 -0
  444. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/governance/vision.md +0 -0
  445. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/identity/__init__.py +0 -0
  446. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/identity/core.md +0 -0
  447. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/identity/core.yaml +0 -0
  448. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/identity/perspective.md +0 -0
  449. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/memory/__init__.py +0 -0
  450. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
  451. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/schemas/__init__.py +0 -0
  452. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/schemas/journal.py +0 -0
  453. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/schemas/session_state.py +0 -0
  454. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/identity.py +0 -0
  455. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/prefix.py +0 -0
  456. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/session/resolver.py +0 -0
  457. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/__init__.py +0 -0
  458. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/locator.py +0 -0
  459. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/name_checker.py +0 -0
  460. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/parser.py +0 -0
  461. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/scaffold.py +0 -0
  462. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/schema.py +0 -0
  463. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/skillsets.py +0 -0
  464. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills/validator.py +0 -0
  465. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/contract-template.md +0 -0
  466. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/preamble.md +0 -0
  467. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
  468. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-close/templates/retrospective.md +0 -0
  469. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-design/templates/design.md +0 -0
  470. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-design/templates/scope.md +0 -0
  471. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
  472. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
  473. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-epic-start/templates/brief.md +0 -0
  474. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
  475. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
  476. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
  477. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
  478. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
  479. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/skills_base/rai-story-start/templates/story.md +0 -0
  480. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/tier/__init__.py +0 -0
  481. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/tier/context.py +0 -0
  482. {raise_cli-2.4.1 → raise_cli-3.0.0}/src/raise_cli/viz/__init__.py +0 -0
@@ -9,15 +9,39 @@
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
15
23
  .claude/rai.archive/
16
24
 
25
+ # Daemon config (contains secrets — template committed as .example)
26
+ daemon-team.yaml
27
+ daemon.yaml
28
+ .env.fly
29
+
17
30
  # RaiSE generated/cache files
18
31
  .raise/cache/
19
32
  .raise/confluence-pages.yaml
20
33
  .raise/backlog/
34
+ # .raise/artifacts/ — tracked (story-design YAMLs are versioned artifacts)
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
+
43
+ # Pipeline state (environment-specific, PAT-E-594)
44
+ .rai-state/
21
45
 
22
46
  # RaiSE adapter configs (declarative, PII-free — identity in env vars)
23
47
  # .raise/jira.yaml and .raise/confluence.yaml are tracked (shared config)
@@ -27,8 +51,8 @@
27
51
  # Dossier output (generated, not committed)
28
52
  dev/output/
29
53
 
30
- # RaiSE derived artifacts (rebuild with `rai memory build`)
31
- .raise/rai/memory/index.json
54
+ # RaiSE graph index SQLite is canonical after S22.3; index.json excluded via .raise/.gitignore
55
+ # Rebuild with: rai graph build
32
56
 
33
57
  # RaiSE personal directory (per-developer, not shared)
34
58
  .raise/rai/personal/
@@ -36,6 +60,23 @@ dev/output/
36
60
  # RaiSE sync state (per-instance JIRA mappings, not shared)
37
61
  .raise/rai/sync/
38
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
+
76
+ # Per-session env context written by Rai skills, read by CC hooks + MCP tool
77
+ # Namespaced by CC session_id (RAISE-1982) — isolates concurrent CC sessions.
78
+ .raise/rai/sessions/
79
+
39
80
  # Temporary files
40
81
  req.txt
41
82
  *.tmp
@@ -119,6 +160,10 @@ credentials.json
119
160
 
120
161
  # MkDocs build output
121
162
  _site/
163
+ .docs-build/
164
+
165
+ # Security scan outputs (contain findings — not committed)
166
+ work/reports/gl-secret-detection-report*
122
167
 
123
168
  # Issue analysis artifacts (PDFs, images — binary, no git value)
124
169
  dev/issues/**/*.pdf
@@ -129,4 +174,23 @@ dev/transcripts/
129
174
 
130
175
  # Prevent symlink artifacts from being tracked at root
131
176
  /es/
132
- work/research/
177
+
178
+ # Ephemeral debug artifacts (Playwright MCP snapshots, root-level screenshots)
179
+ .playwright-mcp/
180
+ .claude/scheduled_tasks.lock
181
+ /issue-*.png
182
+ /panel-*.png
183
+ /s7-*.png
184
+ /app-actions-menu.yml
185
+ /issue-layout.yml
186
+ /layout-editor.yml
187
+ /menu-open.yml
188
+ /raise-*.yml
189
+
190
+ # Per-developer docker compose override (e.g., expose postgres:5432 for e2e).
191
+ # See dev/sops/raise-server-local.md § Running e2e tests locally.
192
+ /docker-compose.override.yaml
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.0
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.0
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
+ powershell -ExecutionPolicy ByPass -c "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
+ powershell -ExecutionPolicy ByPass -c "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 = "2.4.1"
3
+ version = "3.0.0"
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",
24
+ "raise-core>=3.0.0",
25
25
  "typer>=0.12.0",
26
26
  "rich>=13.7.0",
27
27
  "pydantic>=2.6.0",
@@ -36,28 +36,34 @@ dependencies = [
36
36
  "tree-sitter-svelte>=1.0.2",
37
37
  "tree-sitter-language-pack>=0.13.0",
38
38
  "logfire-api>=4.0",
39
- "httpx>=0.27.0",
39
+ "httpx>=0.27.0,<1.0",
40
+ "mcp>=1.26,<2",
41
+ "markdown>=3.6",
42
+ "atlassian-python-api>=3.41.0",
40
43
  ]
41
44
 
42
45
  [project.optional-dependencies]
43
- mcp = [
44
- "mcp>=1.26,<2",
45
- ]
46
46
  observability = [
47
47
  "logfire>=4.0",
48
+ "opentelemetry-api>=1.20",
49
+ "opentelemetry-sdk>=1.20",
48
50
  ]
49
51
  csharp = [
50
52
  "tree-sitter-c-sharp>=0.23.1",
51
53
  ]
52
- atlassian = [
53
- "atlassian-python-api>=3.41.0",
54
+ java = [
55
+ "tree-sitter-java>=0.23.5",
54
56
  ]
55
- confluence = [
56
- "atlassian-python-api>=3.41.0",
57
+ go = [
58
+ "tree-sitter-go>=0.25.0",
57
59
  ]
58
- jira = [
59
- "atlassian-python-api>=3.41.0",
60
+ hud = [
61
+ "textual>=0.86,<1.0",
60
62
  ]
63
+ # Backwards-compat aliases — atlassian-python-api is now installed by default (RAISE-1912).
64
+ atlassian = []
65
+ confluence = []
66
+ jira = []
61
67
 
62
68
  [project.urls]
63
69
  Homepage = "https://raiseframework.ai"
@@ -67,6 +73,7 @@ Changelog = "https://github.com/humansys/raise/blob/main/CHANGELOG.md"
67
73
 
68
74
  [project.scripts]
69
75
  rai = "raise_cli.cli.main:app"
76
+ rai-mcp-pipeline = "raise_cli.pipeline.mcp_server:main"
70
77
 
71
78
  [project.entry-points."rai.governance.parsers"]
72
79
  prd = "raise_cli.governance.parsers.prd:PrdParser"
@@ -82,6 +89,7 @@ glossary = "raise_cli.governance.parsers.glossary:GlossaryParser"
82
89
  [project.entry-points."rai.hooks"]
83
90
  telemetry = "raise_cli.hooks.builtin.telemetry:TelemetryHook"
84
91
  gate-bridge = "raise_cli.hooks.builtin.gate_bridge:GateBridgeHook"
92
+ work-events = "raise_cli.work_events.emitter:ServerEmitHook"
85
93
 
86
94
  [project.entry-points."rai.gates"]
87
95
  tests = "raise_cli.gates.builtin.tests:TestGate"
@@ -89,12 +97,23 @@ types = "raise_cli.gates.builtin.types:TypeGate"
89
97
  lint = "raise_cli.gates.builtin.lint:LintGate"
90
98
  coverage = "raise_cli.gates.builtin.coverage:CoverageGate"
91
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"
92
110
 
93
111
  [project.entry-points."rai.doctor.checks"]
94
112
  environment = "raise_cli.doctor.checks.environment:EnvironmentCheck"
95
113
  project = "raise_cli.doctor.checks.project:ProjectCheck"
96
114
  developer = "raise_cli.doctor.checks.developer:DeveloperCheck"
97
115
  adapters = "raise_cli.doctor.checks.adapters:AdapterDoctorCheck"
116
+ runtimes = "raise_cli.doctor.checks.runtimes:RuntimesCheck"
98
117
 
99
118
  [project.entry-points."rai.adapters.pm"]
100
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()