raise-cli 3.0.0a1__tar.gz → 3.0.0a2__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 (375) hide show
  1. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/.gitignore +22 -2
  2. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/PKG-INFO +5 -8
  3. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/README.md +1 -4
  4. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/pyproject.toml +5 -6
  5. raise_cli-3.0.0a2/src/raise_cli/_cc_session.py +30 -0
  6. raise_cli-3.0.0a2/src/raise_cli/adapters/composite_docs.py +180 -0
  7. raise_cli-3.0.0a2/src/raise_cli/adapters/composite_pm.py +500 -0
  8. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_client.py +21 -5
  9. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_config.py +7 -3
  10. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_config_gen.py +1 -1
  11. raise_cli-3.0.0a2/src/raise_cli/adapters/confluence_markdown.py +120 -0
  12. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/filesystem_adapter.py +3 -3
  13. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_adapter.py +53 -3
  14. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_client.py +15 -1
  15. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_config.py +10 -4
  16. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_config_gen.py +51 -0
  17. raise_cli-3.0.0a2/src/raise_cli/adapters/ledger_aware.py +96 -0
  18. raise_cli-3.0.0a2/src/raise_cli/adapters/pending_ops.py +131 -0
  19. raise_cli-3.0.0a2/src/raise_cli/adapters/sync_ledger.py +60 -0
  20. raise_cli-3.0.0a2/src/raise_cli/backlog/reconcile.py +228 -0
  21. raise_cli-3.0.0a2/src/raise_cli/backlog/scanner.py +225 -0
  22. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/backlog/sync.py +0 -2
  23. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/_resolve.py +133 -13
  24. raise_cli-3.0.0a2/src/raise_cli/cli/commands/adapter_setup.py +370 -0
  25. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/adapters.py +3 -0
  26. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/backlog.py +194 -1
  27. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/docs.py +97 -0
  28. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/init.py +282 -14
  29. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/journal.py +32 -11
  30. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/learn.py +6 -2
  31. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/release.py +13 -17
  32. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/session.py +31 -13
  33. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/signal.py +170 -0
  34. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/main.py +3 -4
  35. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/builder.py +14 -0
  36. raise_cli-3.0.0a2/src/raise_cli/context/loaders/documents.py +158 -0
  37. raise_cli-3.0.0a2/src/raise_cli/docs/__init__.py +10 -0
  38. raise_cli-3.0.0a2/src/raise_cli/docs/migrate.py +173 -0
  39. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/checks/adapters.py +11 -8
  40. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/checks/project.py +23 -0
  41. raise_cli-3.0.0a2/src/raise_cli/gates/builtin/_runner.py +167 -0
  42. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/extractor.py +7 -2
  43. raise_cli-3.0.0a2/src/raise_cli/graph/query_backend.py +124 -0
  44. raise_cli-3.0.0a2/src/raise_cli/hooks/builtin/memory.py +40 -0
  45. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/events.py +24 -0
  46. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/mcp/__init__.py +1 -9
  47. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/mcp/bridge.py +5 -20
  48. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/learning.py +10 -3
  49. raise_cli-3.0.0a2/src/raise_cli/memory/patterns_backend.py +191 -0
  50. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/detection.py +91 -0
  51. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/governance.py +1 -3
  52. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/instructions.py +6 -5
  53. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/manifest.py +39 -0
  54. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/_telemetry.py +41 -2
  55. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/cli.py +25 -7
  56. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/engine.py +2 -0
  57. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/gates.py +1 -3
  58. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/mcp_server.py +310 -173
  59. raise_cli-3.0.0a2/src/raise_cli/pipeline/run_store.py +154 -0
  60. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/publish/check.py +46 -45
  61. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/identity/core.yaml +1 -1
  62. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/bundle.py +3 -1
  63. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/close.py +4 -7
  64. raise_cli-3.0.0a2/src/raise_cli/session/context_backend.py +108 -0
  65. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/derive.py +1 -3
  66. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/doctor.py +39 -1
  67. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/index.py +28 -0
  68. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/monitor.py +6 -6
  69. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/registry.py +3 -1
  70. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/state.py +1 -0
  71. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/__init__.py +8 -4
  72. raise_cli-3.0.0a2/src/raise_cli/skills_base/rai-adapter-setup/SKILL.md +135 -0
  73. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +3 -1
  74. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +5 -5
  75. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +5 -5
  76. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +1 -1
  77. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +9 -9
  78. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +11 -13
  79. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-run/SKILL.md +26 -25
  80. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +8 -8
  81. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +6 -6
  82. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-debug/SKILL.md +2 -2
  83. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-discover/SKILL.md +2 -1
  84. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +2 -4
  85. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-close/SKILL.md +5 -4
  86. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +3 -1
  87. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +1 -1
  88. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +7 -3
  89. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-project-create/SKILL.md +2 -1
  90. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +3 -1
  91. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +6 -5
  92. raise_cli-3.0.0a2/src/raise_cli/skills_base/rai-skill-create/SKILL.md +140 -0
  93. raise_cli-3.0.0a2/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +151 -0
  94. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-close/SKILL.md +1 -1
  95. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-design/SKILL.md +1 -1
  96. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-implement/SKILL.md +3 -2
  97. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +1 -1
  98. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-review/SKILL.md +7 -5
  99. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-start/SKILL.md +2 -1
  100. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/telemetry/schemas.py +12 -0
  101. raise_cli-3.0.0a2/src/raise_cli/work_events/__init__.py +52 -0
  102. raise_cli-3.0.0a2/src/raise_cli/work_events/backfill.py +152 -0
  103. raise_cli-3.0.0a2/src/raise_cli/work_events/emitter.py +272 -0
  104. raise_cli-3.0.0a2/src/raise_cli/work_events/ref_resolver.py +55 -0
  105. raise_cli-3.0.0a2/src/raise_cli/work_events/retry_queue.py +139 -0
  106. raise_cli-3.0.0a2/src/raise_cli/work_events/schemas.py +77 -0
  107. raise_cli-3.0.0a2/src/raise_cli/work_events/translator.py +196 -0
  108. raise_cli-3.0.0a1/src/raise_cli/adapters/composite_docs.py +0 -92
  109. raise_cli-3.0.0a1/src/raise_cli/cli/commands/publish.py +0 -80
  110. raise_cli-3.0.0a1/src/raise_cli/gates/builtin/_runner.py +0 -72
  111. raise_cli-3.0.0a1/src/raise_cli/hooks/builtin/memory.py +0 -116
  112. raise_cli-3.0.0a1/src/raise_cli/skills_base/rai-adapter-setup/SKILL.md +0 -221
  113. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/__init__.py +0 -0
  114. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/__main__.py +0 -0
  115. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/__init__.py +0 -0
  116. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_adapter.py +0 -0
  117. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_discovery.py +0 -0
  118. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/confluence_exceptions.py +0 -0
  119. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/__init__.py +0 -0
  120. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/adapter.py +0 -0
  121. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/discovery.py +0 -0
  122. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/expressions.py +0 -0
  123. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
  124. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
  125. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/declarative/schema.py +0 -0
  126. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/filesystem.py +0 -0
  127. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/filesystem_docs.py +0 -0
  128. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/filesystem_models.py +0 -0
  129. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_discovery.py +0 -0
  130. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/jira_exceptions.py +0 -0
  131. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/mcp_bridge.py +0 -0
  132. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/models/__init__.py +0 -0
  133. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/models/docs.py +0 -0
  134. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/models/governance.py +0 -0
  135. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/models/health.py +0 -0
  136. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/models/pm.py +0 -0
  137. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/protocols.py +0 -0
  138. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/registry.py +0 -0
  139. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/adapters/sync.py +0 -0
  140. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/__init__.py +0 -0
  141. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/antigravity.yaml +0 -0
  142. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/claude.yaml +0 -0
  143. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/copilot.yaml +0 -0
  144. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/copilot_plugin.py +0 -0
  145. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/cursor.yaml +0 -0
  146. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/roo.yaml +0 -0
  147. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/agents/windsurf.yaml +0 -0
  148. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/__init__.py +0 -0
  149. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/models.py +0 -0
  150. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/reader.py +0 -0
  151. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/renderer.py +0 -0
  152. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/story_design.py +0 -0
  153. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/artifacts/writer.py +0 -0
  154. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/backlog/__init__.py +0 -0
  155. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/__init__.py +0 -0
  156. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/__init__.py +0 -0
  157. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/artifact.py +0 -0
  158. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/base.py +0 -0
  159. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/discover.py +0 -0
  160. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/doctor.py +0 -0
  161. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/gate.py +0 -0
  162. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/graph.py +0 -0
  163. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/info.py +0 -0
  164. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/mcp.py +0 -0
  165. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/memory.py +0 -0
  166. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/pattern.py +0 -0
  167. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/profile.py +0 -0
  168. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/skill.py +0 -0
  169. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/commands/skill_set.py +0 -0
  170. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/error_handler.py +0 -0
  171. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/cli/extensions.py +0 -0
  172. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compat.py +0 -0
  173. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/__init__.py +0 -0
  174. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/controls.yaml +0 -0
  175. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/evidence.py +0 -0
  176. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/extractors/__init__.py +0 -0
  177. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/extractors/git.py +0 -0
  178. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/loader.py +0 -0
  179. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/compliance/models.py +0 -0
  180. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/__init__.py +0 -0
  181. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/agent_plugin.py +0 -0
  182. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/agent_registry.py +0 -0
  183. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/agents.py +0 -0
  184. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/ide.py +0 -0
  185. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/paths.py +0 -0
  186. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/config/settings.py +0 -0
  187. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/__init__.py +0 -0
  188. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/__init__.py +0 -0
  189. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/models.py +0 -0
  190. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/protocol.py +0 -0
  191. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/python.py +0 -0
  192. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/signals.py +0 -0
  193. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/analyzers/typescript.py +0 -0
  194. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/diff.py +0 -0
  195. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/extractors/__init__.py +0 -0
  196. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/extractors/relationships.py +0 -0
  197. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/extractors/skills.py +0 -0
  198. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/extractors/structure.py +0 -0
  199. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/__init__.py +0 -0
  200. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/architecture.py +0 -0
  201. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/artifacts.py +0 -0
  202. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/components.py +0 -0
  203. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/identity.py +0 -0
  204. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/context/loaders/memory.py +0 -0
  205. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/core/__init__.py +0 -0
  206. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/core/files.py +0 -0
  207. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/core/text.py +0 -0
  208. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/core/tools.py +0 -0
  209. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/discovery/__init__.py +0 -0
  210. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/discovery/analyzer.py +0 -0
  211. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/discovery/drift.py +0 -0
  212. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/discovery/scanner.py +0 -0
  213. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/__init__.py +0 -0
  214. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/checks/__init__.py +0 -0
  215. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/checks/developer.py +0 -0
  216. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/checks/environment.py +0 -0
  217. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/fix.py +0 -0
  218. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/models.py +0 -0
  219. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/protocol.py +0 -0
  220. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/registry.py +0 -0
  221. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/report.py +0 -0
  222. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/doctor/runner.py +0 -0
  223. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/engines/__init__.py +0 -0
  224. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/exceptions.py +0 -0
  225. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/__init__.py +0 -0
  226. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/__init__.py +0 -0
  227. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/coverage.py +0 -0
  228. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/format.py +0 -0
  229. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/lint.py +0 -0
  230. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/tests.py +0 -0
  231. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/builtin/types.py +0 -0
  232. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/hook.py +0 -0
  233. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/models.py +0 -0
  234. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/protocol.py +0 -0
  235. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/gates/registry.py +0 -0
  236. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/__init__.py +0 -0
  237. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/models.py +0 -0
  238. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/__init__.py +0 -0
  239. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/_convert.py +0 -0
  240. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/adr.py +0 -0
  241. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/backlog.py +0 -0
  242. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/constitution.py +0 -0
  243. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/epic.py +0 -0
  244. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/glossary.py +0 -0
  245. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/guardrails.py +0 -0
  246. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/prd.py +0 -0
  247. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/roadmap.py +0 -0
  248. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/governance/parsers/vision.py +0 -0
  249. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/graph/__init__.py +0 -0
  250. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/graph/backends/__init__.py +0 -0
  251. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/graph/backends/api.py +0 -0
  252. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/graph/backends/dual.py +0 -0
  253. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/graph/backends/pending.py +0 -0
  254. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/handlers/__init__.py +0 -0
  255. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/__init__.py +0 -0
  256. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/builtin/__init__.py +0 -0
  257. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
  258. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/builtin/telemetry.py +0 -0
  259. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/emitter.py +0 -0
  260. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/protocol.py +0 -0
  261. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/hooks/registry.py +0 -0
  262. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/mcp/models.py +0 -0
  263. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/mcp/registry.py +0 -0
  264. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/mcp/schema.py +0 -0
  265. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/__init__.py +0 -0
  266. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/loader.py +0 -0
  267. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/migration.py +0 -0
  268. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/models.py +0 -0
  269. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/push.py +0 -0
  270. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/memory/writer.py +0 -0
  271. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/__init__.py +0 -0
  272. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/bootstrap.py +0 -0
  273. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/claudemd.py +0 -0
  274. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/conventions.py +0 -0
  275. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/memory_md.py +0 -0
  276. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/migration.py +0 -0
  277. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/profile.py +0 -0
  278. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/profile_portability.py +0 -0
  279. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/skill_conflict.py +0 -0
  280. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/skill_manifest.py +0 -0
  281. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/skills.py +0 -0
  282. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/onboarding/workflows.py +0 -0
  283. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/__init__.py +0 -0
  284. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/console.py +0 -0
  285. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/formatters/__init__.py +0 -0
  286. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/formatters/adapters.py +0 -0
  287. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/formatters/discover.py +0 -0
  288. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/formatters/graph.py +0 -0
  289. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/formatters/skill.py +0 -0
  290. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/output/symbols.py +0 -0
  291. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/__init__.py +0 -0
  292. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/dispatch.py +0 -0
  293. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/executor.py +0 -0
  294. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/loader.py +0 -0
  295. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +0 -0
  296. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/pipelines_base/epic.yaml +0 -0
  297. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/pipelines_base/hotfix.yaml +0 -0
  298. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/pipelines_base/story.yaml +0 -0
  299. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/prompt.py +0 -0
  300. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/state.py +0 -0
  301. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/templates/adversarial-ar.md +0 -0
  302. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/templates/adversarial-qr.md +0 -0
  303. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/pipeline/worktree.py +0 -0
  304. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/publish/__init__.py +0 -0
  305. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/publish/changelog.py +0 -0
  306. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/publish/version.py +0 -0
  307. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/__init__.py +0 -0
  308. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/framework/__init__.py +0 -0
  309. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
  310. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/__init__.py +0 -0
  311. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
  312. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -0
  313. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
  314. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/system-context.md +0 -0
  315. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
  316. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/system-design.md +0 -0
  317. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
  318. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/backlog.md +0 -0
  319. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
  320. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/prd.md +0 -0
  321. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/governance/vision.md +0 -0
  322. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/identity/__init__.py +0 -0
  323. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/identity/core.md +0 -0
  324. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/identity/perspective.md +0 -0
  325. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/memory/__init__.py +0 -0
  326. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
  327. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/schemas/__init__.py +0 -0
  328. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/schemas/journal.py +0 -0
  329. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/schemas/session_state.py +0 -0
  330. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/__init__.py +0 -0
  331. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/bundle_data.py +0 -0
  332. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/bundle_formatters.py +0 -0
  333. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/identity.py +0 -0
  334. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/journal.py +0 -0
  335. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/prefix.py +0 -0
  336. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/protocols.py +0 -0
  337. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/session/resolver.py +0 -0
  338. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/__init__.py +0 -0
  339. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/locator.py +0 -0
  340. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/name_checker.py +0 -0
  341. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/parser.py +0 -0
  342. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/scaffold.py +0 -0
  343. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/schema.py +0 -0
  344. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/skillsets.py +0 -0
  345. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills/validator.py +0 -0
  346. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/contract-template.md +0 -0
  347. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/preamble.md +0 -0
  348. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
  349. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-close/templates/retrospective.md +0 -0
  350. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-design/templates/design.md +0 -0
  351. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-design/templates/scope.md +0 -0
  352. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +0 -0
  353. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
  354. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
  355. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-run/SKILL.md +0 -0
  356. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-epic-start/templates/brief.md +0 -0
  357. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
  358. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
  359. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
  360. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +0 -0
  361. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +0 -0
  362. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-research/SKILL.md +0 -0
  363. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
  364. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -0
  365. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-session-start/SKILL.md +0 -0
  366. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
  367. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-run/SKILL.md +0 -0
  368. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-story-start/templates/story.md +0 -0
  369. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/skills_base/rai-welcome/SKILL.md +0 -0
  370. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/telemetry/__init__.py +0 -0
  371. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/telemetry/writer.py +0 -0
  372. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/tier/__init__.py +0 -0
  373. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/tier/context.py +0 -0
  374. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/viz/__init__.py +0 -0
  375. {raise_cli-3.0.0a1 → raise_cli-3.0.0a2}/src/raise_cli/viz/generator.py +0 -0
@@ -6,7 +6,6 @@
6
6
 
7
7
  # Claude Code local settings (user-specific)
8
8
  .claude/settings.local.json
9
- CLAUDE.local.md
10
9
  .claude/worktrees/
11
10
  .claude/projects/
12
11
 
@@ -24,7 +23,7 @@ daemon.yaml
24
23
  .raise/cache/
25
24
  .raise/confluence-pages.yaml
26
25
  .raise/backlog/
27
- .raise/artifacts/
26
+ # .raise/artifacts/ — tracked (story-design YAMLs are versioned artifacts)
28
27
 
29
28
  # Pipeline state (environment-specific, PAT-E-594)
30
29
  .rai-state/
@@ -46,6 +45,10 @@ dev/output/
46
45
  # RaiSE sync state (per-instance JIRA mappings, not shared)
47
46
  .raise/rai/sync/
48
47
 
48
+ # Per-session env context written by Rai skills, read by CC hooks + MCP tool
49
+ # Namespaced by CC session_id (RAISE-1982) — isolates concurrent CC sessions.
50
+ .raise/rai/sessions/
51
+
49
52
  # Temporary files
50
53
  req.txt
51
54
  *.tmp
@@ -141,3 +144,20 @@ dev/transcripts/
141
144
  # Prevent symlink artifacts from being tracked at root
142
145
  /es/
143
146
  work/research/
147
+
148
+ # Ephemeral debug artifacts (Playwright MCP snapshots, root-level screenshots)
149
+ .playwright-mcp/
150
+ .claude/scheduled_tasks.lock
151
+ /issue-*.png
152
+ /panel-*.png
153
+ /s7-*.png
154
+ /app-actions-menu.yml
155
+ /issue-layout.yml
156
+ /layout-editor.yml
157
+ /menu-open.yml
158
+ /raise-*.yml
159
+
160
+ # Per-developer docker compose override (e.g., expose postgres:5432 for e2e).
161
+ # See dev/sops/raise-server-local.md § Running e2e tests locally.
162
+ /docker-compose.override.yaml
163
+ /docker-compose.override.yml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: raise-cli
3
- Version: 3.0.0a1
3
+ Version: 3.0.0a2
4
4
  Summary: RaiSE CLI - Reliable AI Software Engineering governance framework
5
5
  Project-URL: Homepage, https://raiseframework.ai
6
6
  Project-URL: Documentation, https://docs.raiseframework.ai
@@ -20,12 +20,13 @@ Classifier: Topic :: Software Development :: Quality Assurance
20
20
  Requires-Python: >=3.12
21
21
  Requires-Dist: httpx>=0.27.0
22
22
  Requires-Dist: logfire-api>=4.0
23
+ Requires-Dist: mcp<2,>=1.26
23
24
  Requires-Dist: networkx>=3.6.1
24
25
  Requires-Dist: pydantic-settings>=2.2.0
25
26
  Requires-Dist: pydantic>=2.6.0
26
27
  Requires-Dist: python-dotenv>=1.0.0
27
28
  Requires-Dist: pyyaml>=6.0.1
28
- Requires-Dist: raise-core
29
+ Requires-Dist: raise-core>=3.0.0a2
29
30
  Requires-Dist: rich>=13.7.0
30
31
  Requires-Dist: tree-sitter-javascript>=0.25.0
31
32
  Requires-Dist: tree-sitter-language-pack>=0.13.0
@@ -38,12 +39,11 @@ Provides-Extra: atlassian
38
39
  Requires-Dist: atlassian-python-api>=3.41.0; extra == 'atlassian'
39
40
  Provides-Extra: confluence
40
41
  Requires-Dist: atlassian-python-api>=3.41.0; extra == 'confluence'
42
+ Requires-Dist: markdown>=3.6; extra == 'confluence'
41
43
  Provides-Extra: csharp
42
44
  Requires-Dist: tree-sitter-c-sharp>=0.23.1; extra == 'csharp'
43
45
  Provides-Extra: jira
44
46
  Requires-Dist: atlassian-python-api>=3.41.0; extra == 'jira'
45
- Provides-Extra: mcp
46
- Requires-Dist: mcp<2,>=1.26; extra == 'mcp'
47
47
  Provides-Extra: observability
48
48
  Requires-Dist: logfire>=4.0; extra == 'observability'
49
49
  Requires-Dist: opentelemetry-api>=1.20; extra == 'observability'
@@ -76,11 +76,8 @@ Optional integrations:
76
76
  # Jira + Confluence adapters
77
77
  pip install "raise-cli[jira,confluence]"
78
78
 
79
- # MCP server support
80
- pip install "raise-cli[mcp]"
81
-
82
79
  # All extras
83
- pip install "raise-cli[jira,confluence,mcp,csharp,observability]"
80
+ pip install "raise-cli[jira,confluence,csharp,observability]"
84
81
  ```
85
82
 
86
83
  Requires Python 3.12 or 3.13.
@@ -24,11 +24,8 @@ Optional integrations:
24
24
  # Jira + Confluence adapters
25
25
  pip install "raise-cli[jira,confluence]"
26
26
 
27
- # MCP server support
28
- pip install "raise-cli[mcp]"
29
-
30
27
  # All extras
31
- pip install "raise-cli[jira,confluence,mcp,csharp,observability]"
28
+ pip install "raise-cli[jira,confluence,csharp,observability]"
32
29
  ```
33
30
 
34
31
  Requires Python 3.12 or 3.13.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "raise-cli"
3
- version = "3.0.0a1"
3
+ version = "3.0.0a2"
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.0a2",
25
25
  "typer>=0.12.0",
26
26
  "rich>=13.7.0",
27
27
  "pydantic>=2.6.0",
@@ -37,12 +37,10 @@ dependencies = [
37
37
  "tree-sitter-language-pack>=0.13.0",
38
38
  "logfire-api>=4.0",
39
39
  "httpx>=0.27.0",
40
+ "mcp>=1.26,<2",
40
41
  ]
41
42
 
42
43
  [project.optional-dependencies]
43
- mcp = [
44
- "mcp>=1.26,<2",
45
- ]
46
44
  observability = [
47
45
  "logfire>=4.0",
48
46
  "opentelemetry-api>=1.20",
@@ -56,6 +54,7 @@ atlassian = [
56
54
  ]
57
55
  confluence = [
58
56
  "atlassian-python-api>=3.41.0",
57
+ "markdown>=3.6",
59
58
  ]
60
59
  jira = [
61
60
  "atlassian-python-api>=3.41.0",
@@ -84,7 +83,7 @@ glossary = "raise_cli.governance.parsers.glossary:GlossaryParser"
84
83
  [project.entry-points."rai.hooks"]
85
84
  telemetry = "raise_cli.hooks.builtin.telemetry:TelemetryHook"
86
85
  gate-bridge = "raise_cli.hooks.builtin.gate_bridge:GateBridgeHook"
87
- memory-sync = "raise_cli.hooks.builtin.memory:MemoryMdSyncHook"
86
+ work-events = "raise_cli.work_events.emitter:ServerEmitHook"
88
87
 
89
88
  [project.entry-points."rai.gates"]
90
89
  tests = "raise_cli.gates.builtin.tests:TestGate"
@@ -0,0 +1,30 @@
1
+ """Discover CC session_id via CLAUDE_CODE_SSE_PORT matching (RAISE-1986)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from pathlib import Path
7
+
8
+ _SESSIONS_DIR = Path(".raise") / "rai" / "sessions"
9
+
10
+
11
+ def discover_cc_session_id() -> str | None:
12
+ """Match $CLAUDE_CODE_SSE_PORT to a session dir's cc.port file.
13
+
14
+ Works from any subprocess spawned by CC (MCP server, CLI, skill bash)
15
+ because CC exports CLAUDE_CODE_SSE_PORT to every subprocess it spawns,
16
+ while vars written to $CLAUDE_ENV_FILE remain shell-local.
17
+ """
18
+ port = os.environ.get("CLAUDE_CODE_SSE_PORT", "").strip()
19
+ if not port:
20
+ return None
21
+ sessions_dir = Path.cwd() / _SESSIONS_DIR
22
+ if not sessions_dir.exists():
23
+ return None
24
+ for sess_dir in sessions_dir.iterdir():
25
+ if not sess_dir.is_dir():
26
+ continue
27
+ port_file = sess_dir / "cc.port"
28
+ if port_file.exists() and port_file.read_text().strip() == port:
29
+ return sess_dir.name
30
+ return None
@@ -0,0 +1,180 @@
1
+ """Composite documentation target — delegates to multiple targets.
2
+
3
+ Publishes to ALL targets (e.g. filesystem + Confluence). Reads (get_page,
4
+ search, health) delegate to the remote target (last in list — typically Confluence).
5
+
6
+ Filesystem is first for durability: local copy always saved.
7
+ Result prefers last successful publish (remote URL over local path).
8
+ If remote fails, returns success with warning (local copy is the guarantee).
9
+
10
+ S1700.6 — Retrofit with PendingOpsLog:
11
+ - On remote failure with filesystem success, append pending op (queue for replay).
12
+ - Before each publish, attempt best-effort flush of existing pending ops.
13
+ - `pending_ops=None` preserves pre-S1700.6 behavior (backward compat).
14
+
15
+ RAISE-1051 (S1051.7) | RAISE-1795 (S1700.6)
16
+ """
17
+
18
+ from __future__ import annotations
19
+
20
+ import logging
21
+ from typing import Any
22
+
23
+ from raise_cli.adapters.models.docs import PageContent, PageSummary, PublishResult
24
+ from raise_cli.adapters.models.health import AdapterHealth
25
+ from raise_cli.adapters.pending_ops import PendingOpsLog
26
+
27
+ logger = logging.getLogger(__name__)
28
+
29
+
30
+ class CompositeDocTarget:
31
+ """Delegates to multiple DocumentationTargets.
32
+
33
+ - publish: calls all targets; returns last successful result (remote preferred)
34
+ - get_page / search / health: delegate to remote (last) target
35
+ - Filesystem first for durability, Confluence last for the URL
36
+ - Optional pending_ops queues failed remote publishes for later replay (S1700.6)
37
+ """
38
+
39
+ def __init__(
40
+ self,
41
+ targets: list[Any],
42
+ pending_ops: PendingOpsLog | None = None,
43
+ ) -> None:
44
+ self._targets = targets
45
+ self._remote = targets[-1] # last target = remote (Confluence)
46
+ self._pending_ops = pending_ops
47
+
48
+ def can_publish(self, doc_type: str, metadata: dict[str, Any]) -> bool:
49
+ """True if any wrapped target can publish."""
50
+ return any(t.can_publish(doc_type, metadata) for t in self._targets)
51
+
52
+ def publish(
53
+ self, doc_type: str, content: str, metadata: dict[str, Any]
54
+ ) -> PublishResult:
55
+ """Publish to all accepting targets. Return best result.
56
+
57
+ Prefers last successful result (remote URL). If remote fails but
58
+ local succeeded, returns success with sync-pending warning.
59
+
60
+ When `pending_ops` is configured (S1700.6):
61
+ - Before publishing, attempt best-effort flush of queued ops.
62
+ - On remote failure with filesystem success, append a pending op.
63
+ """
64
+ # S1700.6: best-effort flush of pending ops (non-blocking)
65
+ self._flush_pending()
66
+
67
+ results, failures, fs_result, remote_failed = self._publish_to_targets(
68
+ doc_type, content, metadata
69
+ )
70
+
71
+ # S1700.6: queue pending op when filesystem (canonical) succeeded but remote failed
72
+ if (
73
+ self._pending_ops is not None
74
+ and remote_failed
75
+ and fs_result is not None
76
+ and fs_result.success
77
+ ):
78
+ self._pending_ops.append(
79
+ op="publish",
80
+ key=str(metadata.get("key") or metadata.get("title") or doc_type),
81
+ args={"doc_type": doc_type, "content": content, "metadata": metadata},
82
+ )
83
+
84
+ return self._reduce_results(results, failures)
85
+
86
+ def _publish_to_targets(
87
+ self, doc_type: str, content: str, metadata: dict[str, Any]
88
+ ) -> tuple[list[PublishResult], list[str], PublishResult | None, bool]:
89
+ """Publish to each accepting target, tracking results, failures, and remote status."""
90
+ results: list[PublishResult] = []
91
+ failures: list[str] = []
92
+ fs_result: PublishResult | None = None
93
+ remote_failed = False
94
+ last_idx = len(self._targets) - 1
95
+
96
+ for idx, target in enumerate(self._targets):
97
+ if not target.can_publish(doc_type, metadata):
98
+ continue
99
+ try:
100
+ result: PublishResult = target.publish(doc_type, content, metadata)
101
+ results.append(result)
102
+ if idx == 0:
103
+ fs_result = result
104
+ if not result.success:
105
+ failures.append(result.message)
106
+ if idx == last_idx:
107
+ remote_failed = True
108
+ except Exception as exc:
109
+ logger.warning(
110
+ "Composite publish failed on %s: %s",
111
+ type(target).__name__,
112
+ exc,
113
+ )
114
+ failures.append(str(exc))
115
+ if idx == last_idx:
116
+ remote_failed = True
117
+
118
+ return results, failures, fs_result, remote_failed
119
+
120
+ @staticmethod
121
+ def _reduce_results(
122
+ results: list[PublishResult], failures: list[str]
123
+ ) -> PublishResult:
124
+ """Reduce per-target results into a single PublishResult."""
125
+ if not results:
126
+ return PublishResult(
127
+ success=False, message="No target accepted this doc_type"
128
+ )
129
+ successful = [r for r in results if r.success]
130
+ if not successful:
131
+ return results[0]
132
+ best = successful[-1] # last success = remote if available
133
+ if failures:
134
+ return PublishResult(
135
+ success=True,
136
+ url=best.url,
137
+ message=f"{best.message} (sync pending: {'; '.join(failures)})",
138
+ )
139
+ return best
140
+
141
+ def _flush_pending(self) -> None:
142
+ """Attempt to replay pending ops against remote. Best-effort, never raises."""
143
+ if self._pending_ops is None:
144
+ return
145
+ try:
146
+ for op in list(self._pending_ops.iter()):
147
+ args = op.args
148
+ doc_type = str(args.get("doc_type", ""))
149
+ content = str(args.get("content", ""))
150
+ metadata: dict[str, Any] = args.get("metadata") or {}
151
+ try:
152
+ replay_result = self._remote.publish(doc_type, content, metadata)
153
+ if (
154
+ isinstance(replay_result, PublishResult)
155
+ and replay_result.success
156
+ ):
157
+ self._pending_ops.mark_done(op.id)
158
+ else:
159
+ logger.info(
160
+ "Pending op %s replay returned failure; keeping in queue",
161
+ op.id,
162
+ )
163
+ except Exception as exc: # noqa: BLE001 — replay failure = keep queued
164
+ logger.warning(
165
+ "Pending op %s replay raised: %s", op.id, exc, exc_info=True
166
+ )
167
+ except Exception: # noqa: BLE001 — flush errors never block new publish
168
+ logger.exception("Pending ops flush failed")
169
+
170
+ def get_page(self, identifier: str) -> PageContent:
171
+ """Delegate to remote (last) target."""
172
+ return self._remote.get_page(identifier)
173
+
174
+ def search(self, query: str, limit: int = 10) -> list[PageSummary]:
175
+ """Delegate to remote (last) target."""
176
+ return self._remote.search(query, limit=limit)
177
+
178
+ def health(self) -> AdapterHealth:
179
+ """Delegate to remote (last) target."""
180
+ return self._remote.health()