raise-cli 3.1.4__tar.gz → 3.1.6__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.
- {raise_cli-3.1.4 → raise_cli-3.1.6}/PKG-INFO +3 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/pyproject.toml +5 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/filesystem_docs.py +3 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_adapter.py +55 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_client.py +14 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/sqlite_pm.py +7 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/claude_plugin.py +8 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/codex_plugin.py +8 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/models.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/close_drift.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/hooks.py +23 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/merge_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/mr_classify.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/seed.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/backlog.py +54 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/connect.py +95 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/gate.py +8 -8
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/graph.py +166 -54
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/init.py +176 -11
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/onboard.py +4 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/pipeline.py +174 -49
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/project.py +5 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/skill.py +26 -13
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/story.py +60 -7
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/worktree.py +91 -9
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/main.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compat.py +22 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/extractors/git.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/paths.py +24 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/server.py +11 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/builder.py +5 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/freshness.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/tools.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/cohesion.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/provisioner.py +6 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/reaper.py +6 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/check.py +28 -20
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/sast.py +4 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/temporal.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/evasion.py +8 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/environment.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/project.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/stash_hygiene.py +1 -0
- raise_cli-3.1.6/src/raise_cli/doctor/checks/storage_health.py +150 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/worktrees.py +37 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/fix.py +10 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/provisioning.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/subagent_dispatcher.py +5 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/alembic/single_head_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/_runner.py +6 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/coverage.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/types_tests_advisory.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/docs_sync.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/_delta.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/_initiative_context.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/artifacts_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/backlog_sync_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/close_sync_gate.py +15 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/governance_trail_ci_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/revert_scope_gate.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance_freshness.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/hook.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/_utils.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/repository_hygiene.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/api_schema_lock.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/spi_conformance.py +1 -0
- raise_cli-3.1.6/src/raise_cli/gates/subprocess_stdin_gate.py +154 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/git/branch_guard.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/governance/sync.py +6 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/api_graph_read_backend.py +13 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/query_backend.py +87 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/harness_review/claude_adapter.py +25 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/harness_review/pre_submission.py +86 -5
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hook_bus/events.py +2 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/graph_update.py +8 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/post_merge_staleness.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/git_diff.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/ingest_cartridge.py +16 -7
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/memory_index.py +11 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/pattern_evaluator.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/patterns_backend.py +45 -8
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/writer.py +43 -5
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/detection.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_caller_context.py +11 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_telemetry.py +5 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/api_run_store.py +13 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/branch_guard.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/engine.py +117 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/lifecycle.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_lifecycle.py +61 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_graph.py +43 -5
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_pattern.py +85 -4
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_pipeline.py +185 -43
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_session.py +14 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/worktree_lock.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/git_attr.py +3 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project_config/branches.py +19 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project_config/manifest.py +12 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/publish/check.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/quality/classifier.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/release_version.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/lens.py +4 -6
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/multitrack.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/session_condition.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/targets.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/conflict_rules.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/github_adapter.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/gitlab_adapter.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/governance.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/connect.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/context_backend.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/derive.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/monitor.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/open_service.py +2 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/runner.py +11 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/sync.py +91 -13
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/__init__.py +3 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bug-file/SKILL.md +15 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-close/SKILL.md +13 -14
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-close-enterprise/SKILL.md +7 -6
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-close-lean/SKILL.md +11 -12
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-pir/SKILL.md +5 -37
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-review/SKILL.md +4 -9
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-start/SKILL.md +13 -10
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-start-lean/SKILL.md +13 -10
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-onboard-repo/SKILL.md +3 -3
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-pipeline-run/SKILL.md +24 -16
- raise_cli-3.1.6/src/raise_cli/skills_base/rai-pipeline-setup/SKILL.md +151 -0
- raise_cli-3.1.6/src/raise_cli/skills_base/rai-pipeline-setup/references/reusable-skills.md +30 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-quality-review/SKILL.md +4 -10
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-skill-create/SKILL.md +46 -17
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-close/SKILL.md +16 -19
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-design/SKILL.md +14 -23
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-implement/SKILL.md +45 -50
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-review/SKILL.md +21 -20
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-start/SKILL.md +14 -15
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-worktree-close/SKILL.md +34 -2
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/connection.py +2 -0
- raise_cli-3.1.6/src/raise_cli/storage/graph_gc.py +322 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/worktrees.py +86 -18
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/attribution.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/emit_work.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/phase_map.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/region_szz.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/schemas.py +7 -1
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/szz.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/version_report.py +1 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/translator.py +8 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_item/open_service.py +78 -6
- raise_cli-3.1.6/src/raise_cli/worktree/idle.py +97 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/worktree/provision.py +36 -5
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/worktree/prune.py +58 -6
- raise_cli-3.1.6/src/raise_cli/worktree/unregistered.py +120 -0
- raise_cli-3.1.4/src/raise_cli/skills_base/rai-pipeline-run-lean/SKILL.md +0 -100
- {raise_cli-3.1.4 → raise_cli-3.1.6}/.gitignore +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/README.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/__main__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/_agent_session.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/_cc_session.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/backlog_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/composite_docs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/composite_pm.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_client.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_config_gen.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_discovery.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_exceptions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/confluence_markdown.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/discovery.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/expressions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/reference/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/reference/github.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/declarative/schema.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/errors.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/filesystem.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/filesystem_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/filesystem_models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/google_drive_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/google_drive_exceptions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/graph_refresh.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/id_utils.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_adf.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_config_gen.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_discovery.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/jira_exceptions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/key_gen.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/ledger_aware.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/llm_enrichment.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/mcp_bridge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/docs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/governance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/health.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/pm.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/models/sync.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/oauth_token.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/pending_ops.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/platform_docs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/protocols.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/resolve.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/sync.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/adapters/types_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/antigravity.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/bob.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/bob_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/claude.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/codex.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/copilot.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/copilot_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/cursor.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/devin.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/devin_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/hermes.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/kimi.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/kimi_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/mcp_template.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/roo.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/agents/windsurf.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/html_to_md.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/identity.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/render.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/artifacts/store.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/auth/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/auth/google.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/migrate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/reconcile.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/scanner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/backlog/sync.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/calibration/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/calibration/merge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/calibration/server_client.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/cli.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/formatter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/secret_scan.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/server_client.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/server_install.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges/server_models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/management-ontology/CARTRIDGE.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/management-ontology/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/management-ontology/instances/ontology.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/management-ontology/instances/practices.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-dev-workflow/CARTRIDGE.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-dev-workflow/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/glossary.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/ontology.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-dev-workflow/instances/practices.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-methodology/CARTRIDGE.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-methodology/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cartridges_base/raise-methodology/instances/methodology.json +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/_graph_fields.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/_graph_filter_parser.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/_resolve.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/_server_write.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/adapter_route.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/adapter_setup.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/adapters.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/artifact.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/auth.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/backlog_migrate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/base.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/bot.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/clean.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/db.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/ddd.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/dev.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/discover.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/distillation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/docs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/docs_architecture.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/docs_type.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/doctor.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/drift.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/fleet.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/forward_merge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/governance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/hook.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/impact.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/info.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/journal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/learn.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/ledger.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/manifest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/mcp.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/memory.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/pattern.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/portfolio.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/profile.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/quality.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/release.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/reliability.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/repo.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/schema.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/scm.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/scm_review.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/self_update.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/self_upgrade.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/session.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/signal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/skill_set.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/telemetry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/commands/whoami.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/error_handler.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cli/extensions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/agent.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/app.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/data.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/env.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/filter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/launch.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/pipeline_view.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/protocols.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/session_lease.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/sessions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/state.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tokens.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/app.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/command.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/confirm.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/help.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/logs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/screens/new_session.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/services.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/sources.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/styles.tcss +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/theme.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/degraded_banner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/detail_panel.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/filter_bar.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/recovery_menu.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/session_rail.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/tui/widgets/top_bar.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/types.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cockpit/worktree_ops.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/controls.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/evidence.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/extractors/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/loader.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/compliance/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/agent_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/agent_registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/agents.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/ide.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/org_binding.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/repo_binding.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/config/settings.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/protocol.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/python.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/signals.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/analyzers/typescript.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/diff.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/drift.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/extractors/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/extractors/relationships.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/extractors/skills.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/extractors/structure.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/architecture.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/components.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/documents.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/guardrails.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/identity.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/memory.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/symbols.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/context/loaders/work.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/files.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/manifest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/rai_header.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/core/text.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/cwd_binding.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/classifier.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/clustering.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/discover.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/domain_model.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/escalation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/heuristics.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/hitl_html.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/naming.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/panel.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/persistence.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/pipeline.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/tactical.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/tactical_prompts.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/tactical_report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/tactical_validation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/templates/tactical_hitl.html.j2 +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/type_cmd.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/ddd/validation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/compose.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/env.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/envrc.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/ports.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/processes.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/runtime_image.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/dev/status.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/developer_profile/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/developer_profile/persistence.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/developer_profile/profile.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/developer_profile/profile_portability.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/analyzer.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/clone.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/corpus.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/drift.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/metric.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/scanner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/discovery/thresholds.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/adapters.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/agent.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/backfill.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/classifier.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/clustering.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/conformance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/hook.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/journal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/llm_classifier.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/parser.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/segment.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/distillation/storage.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/bundle.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/fingerprint.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/module_id.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/regions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/architecture/validate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/docs/migrate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/acli.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/adapters.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/backlog_migration.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/backlog_workflow_scope.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/bob.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/developer.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/developer_yaml.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/graph_annotations.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/hooks.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/legacy_install.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/legacy_residues.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/legacy_work_items.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/local_db.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/onboarding.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/pipeline_coverage.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/runtimes.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/session_index.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/skills.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/update.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/checks/workspace_readiness.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/protocol.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/doctor/runner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/embeddings/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/embeddings/provider.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/engines/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/_models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/_paths.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/ab.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/cli.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/datasets.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/harness.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/memory_recall.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/metrics.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/recalibrate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/reporters/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/reporters/json_report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/reporters/latex.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/reporters/markdown.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/stats.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/eval/tuning.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/exceptions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/auto_approve.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/binding.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/cost.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/dispatch_service.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/heartbeat.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/nl_parser.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/noop_collision.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/notifications.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/fleet/prompt_builder.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/alembic/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ar/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ar/bugfix_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ar/story_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/budget/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/budget/budget_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/format.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/graph_applies_to.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/lint.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/suppression_ratchet.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/tests.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/builtin/types.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/calibration/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/calibration/log.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/calibration/promotion_policy.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/capability/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/capability/capability_overlap.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/capability/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ddd/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ddd/domain_model_ratified_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/ddd/tactical_drift_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/docs_architecture.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/_base.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/auth_fan_out.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/baseline.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/dead_public_api.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/epic_close.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/import_fan_in.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/linter_suppression.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/parallel_siblings.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/post_refactor_orphan.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/drift/story_accretion.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/execution.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/execution_ledger.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/_portfolio_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/before_ready_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/child_epics_complete_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/pipeline_coverage_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/public_mirror_push_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/skill_cli_refint_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/strategic_fit_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/governance/workflow_transition_ownership_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/discovery_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/icp_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/jtbd_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/pm/ownership_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/protocol.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/release/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/release/version_group_consistent.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/auth_invariant.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/cage_profile_lint.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/cwd_topology.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/slice1/protocol_parity.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/sync/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/sync/sync_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/gates/worker_budget.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/git/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/governance/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/governance/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/governance_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/backends/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/backends/api.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/backends/dual.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/backends/pending.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/backends/sqlite.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/exceptions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/merge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/graph/utils.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/handlers/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/harness_review/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/harness_review/adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/harness_review/detection.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hook_bus/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hook_bus/emitter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hook_bus/protocol.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hook_bus/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/gate_bridge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/memory.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/pipeline_events.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/builtin/telemetry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/emitter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/events.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/git_commit_block.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/posttooluse.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/pretooluse.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/protocol.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/hooks/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/ownership.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/policy.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/recommendations.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/rendering.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/impact/report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/legacy/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/legacy/cleaner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/legacy/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/legacy/scanner.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/legacy/snooze.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/bridge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/schema.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mcp/workspace_config.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/api_patterns_backend.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/content_hash.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/dedup.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/frontmatter_extractor.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/hint_oracle.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/learning.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/migrate_claude.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/migration.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/portability.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/push.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/memory/sync.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/mr_create_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/bootstrap.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/cartridges.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/claudemd.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/cli_commands.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/conventions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/governance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/instructions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/instructions_check.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/manifest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/manifest_validate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/memory_md.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/merge_conventions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/migration.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/profile.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/profile_portability.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/purge.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/router.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/skill_conflict.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/skill_manifest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/skills.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/onboarding/workflows.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/console.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/adapters.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/backlog_node.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/discover.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/graph.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/formatters/skill.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/output/symbols.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_compact.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_mcp_decorators.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_mcp_instance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/_startup_checks.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/agent_runtime_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/dispatch.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/epic_story_iteration.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/execution_context.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/executor.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/gates.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/lease_enforcement.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/loader.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_server.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_artifact.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_backlog.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_docs.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_fleet.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_gate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_story.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/mcp_tools_task.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/bugfix-enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/bugfix-lean.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/bugfix.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/epic-design-pdcv.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/epic-enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/epic-flat.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/epic.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/initiative-enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/initiative.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/spike-enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/spike.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/story-enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/story-legacy.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/story.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/pipelines_base/upgrade.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/prompt.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/provider_model.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/rai_header.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/resilient_run_store.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/run_store.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/skill_model.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/templates/adversarial-ar.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/templates/adversarial-qr.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/terminal_status.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/transitions.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/when.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/workflow_point_resolver.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/pipeline/worktree.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/component_map.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/dependency/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/dependency/graph.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/derivation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/dsm_render.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/storage.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/portfolio/suggest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project_config/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project_config/manifest_validate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/project_config/types.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/publish/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/publish/changelog.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/publish/version.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/quality/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/quality/enrichment.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/quality/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/framework/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/framework/methodology.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/domain-model.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/domain-model.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/system-context.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/system-context.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/system-design.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/architecture/system-design.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/backlog.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/guardrails.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/prd.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/governance/vision.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/identity/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/identity/core.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/identity/core.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/identity/perspective.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/memory/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/rai_base/memory/patterns-base.jsonl +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/release_preflight.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/cfr.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/classification_models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/cohort.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/deployments.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/gate_escape.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/recommendations.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/rollup.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/reliability/target_classifier.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/schemas/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/schemas/journal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/schemas/session_ledger.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/schemas/session_state.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/PROVIDERS.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/azdo_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/bitbucket_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/scm/propagation.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/self_update/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/self_update/manifest.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/self_update/updater.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/api_context_backend.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/bundle.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/bundle_data.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/bundle_formatters.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/bundle_governance.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/alias.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/catalog.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/models.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/reconcile.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/runtime.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/scope.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/catalog/source.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/close.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/context_env.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/doctor.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/donor.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/identity.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/index.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/journal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/ledger.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/lifecycle.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/measure.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/peek.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/prefix.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/protocols.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/qr_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/resolver.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/scope.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/state.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/terminal.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/session/update_cache.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/locator.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/name_checker.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/parser.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/scaffold.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/schema.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/skillsets.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills/validator.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/contract-template.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/preamble.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-adversarial-review/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-architecture-review/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-backlog-setup/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-analyse/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-fix/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-fix-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-fix-lean/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-plan/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-start-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-bugfix-triage/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-cartridge-agent/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-corpus-curate/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-debug/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-discover/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-docs-setup/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-docs-setup-advanced/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-docs-update/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-doctor/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-close/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-close-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-close-enterprise/templates/retrospective.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-design/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-design-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/design.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-design-enterprise/templates/scope.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-docs/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-journal/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-plan/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-plan/_references/sequencing-strategies.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-plan/templates/plan-section.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-predesign-evidence/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-start/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-start-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-start-enterprise/templates/brief.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-epic-ux-design/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-forward-merge/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-initiative-delivering/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-initiative-shaped/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-kc-build/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-mcp-add/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-mcp-remove/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-mcp-status/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-mr-create/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-mr-merge/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-problem-shape/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-project-create/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-project-onboard/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-project-upgrade/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research/references/research-prompt-template.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-critic/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-evidence/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-frame/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-run/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-scope/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-search/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-synthesize/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-research-verify/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-session-close/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-session-diary/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-session-orchestrator/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-session-start/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-skillset-manage/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-spike-close/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-spike-journal/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-spike-start/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-close-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-design/references/tech-design-story-v2.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-plan/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-start-enterprise/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-story-start-enterprise/templates/story.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-welcome/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/rai-worktree-open/SKILL.md +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/skills_base/skillsets/enterprise.yaml +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/cartridge_projection.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/consolidate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/counter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/leases.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/maintenance_lock.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/migrate.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/migrate_project_slug.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/pause_states.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/port_allocations.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/schema.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/schema_sum.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/work_items.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/storage/work_items_outbox.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/story/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/story/close_service.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/story/open_service.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/task/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/task/complete_service.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/adapter_registry.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/audit.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/backfill.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/cc_adapter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/cost_report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/defect_attribution.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/emitter.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/guardrails.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/phase_report.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/root_cause.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/session_tokens.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/token_daily.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/tool_cost.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/telemetry/trailer.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/testing/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/testing/profiling_plugin.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/testing/shadow_policy.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/testing/xdist_safety.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/tier/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/tier/context.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/viz/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/viz/generator.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/backfill.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/ref_resolver.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/retry_queue.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_events/schemas.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_item/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/work_item/close_service.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/workspace/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/workspace/readiness.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/worktree/__init__.py +0 -0
- {raise_cli-3.1.4 → raise_cli-3.1.6}/src/raise_cli/worktree/base_resolver.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: raise-cli
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.6
|
|
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
|
|
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
18
18
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
19
|
Classifier: Topic :: Software Development :: Quality Assurance
|
|
20
20
|
Requires-Python: >=3.12
|
|
21
|
-
Requires-Dist: atlassian-python-api
|
|
21
|
+
Requires-Dist: atlassian-python-api<5,>=3.41.0
|
|
22
22
|
Requires-Dist: httpx<1.0,>=0.27.0
|
|
23
23
|
Requires-Dist: jinja2>=3.1.0
|
|
24
24
|
Requires-Dist: logfire-api>=4.0
|
|
@@ -33,7 +33,7 @@ Requires-Dist: pydantic>=2.6.0
|
|
|
33
33
|
Requires-Dist: python-dotenv>=1.0.0
|
|
34
34
|
Requires-Dist: pyyaml>=6.0.1
|
|
35
35
|
Requires-Dist: qrcode>=8.2
|
|
36
|
-
Requires-Dist: raise-core==3.1.
|
|
36
|
+
Requires-Dist: raise-core==3.1.6
|
|
37
37
|
Requires-Dist: rich>=13.7.0
|
|
38
38
|
Requires-Dist: ruamel-yaml>=0.18
|
|
39
39
|
Requires-Dist: textual>=0.89.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "raise-cli"
|
|
3
|
-
version = "3.1.
|
|
3
|
+
version = "3.1.6"
|
|
4
4
|
description = "RaiSE CLI - Reliable AI Software Engineering governance framework"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Emilio Osorio", email = "emilio@humansys.ai"}
|
|
@@ -21,7 +21,7 @@ classifiers = [
|
|
|
21
21
|
]
|
|
22
22
|
|
|
23
23
|
dependencies = [
|
|
24
|
-
"raise-core==3.1.
|
|
24
|
+
"raise-core==3.1.6",
|
|
25
25
|
"typer>=0.12.0",
|
|
26
26
|
"rich>=13.7.0",
|
|
27
27
|
"pydantic>=2.6.0",
|
|
@@ -43,7 +43,7 @@ dependencies = [
|
|
|
43
43
|
"httpx>=0.27.0,<1.0",
|
|
44
44
|
"mcp>=1.26,<2",
|
|
45
45
|
"markdown>=3.6",
|
|
46
|
-
"atlassian-python-api>=3.41.0",
|
|
46
|
+
"atlassian-python-api>=3.41.0,<5",
|
|
47
47
|
"qrcode>=8.2",
|
|
48
48
|
"onnxruntime>=1.18.0",
|
|
49
49
|
"tokenizers>=0.19",
|
|
@@ -108,6 +108,7 @@ format = "raise_cli.gates.builtin.format:FormatGate"
|
|
|
108
108
|
suppression-ratchet = "raise_cli.gates.builtin.suppression_ratchet:SuppressionRatchetGate"
|
|
109
109
|
graph-applies-to-rc1 = "raise_cli.gates.builtin.graph_applies_to:GraphAppliesToGate"
|
|
110
110
|
generated-artifact-hygiene = "raise_cli.gates.repository_hygiene:GeneratedArtifactHygieneGate"
|
|
111
|
+
subprocess-stdin = "raise_cli.gates.subprocess_stdin_gate:SubprocessStdinGate"
|
|
111
112
|
governance-freshness = "raise_cli.gates.governance_freshness:GovernanceFreshnessGate"
|
|
112
113
|
epic-governance-freshness = "raise_cli.gates.governance_freshness:EpicGovernanceFreshnessGate"
|
|
113
114
|
drift-post-refactor-orphan = "raise_cli.gates.drift.post_refactor_orphan:PostRefactorOrphanGate"
|
|
@@ -162,6 +163,7 @@ runtimes = "raise_cli.doctor.checks.runtimes:RuntimesCheck"
|
|
|
162
163
|
bob = "raise_cli.doctor.checks.bob:BobIntegrationCheck"
|
|
163
164
|
skills = "raise_cli.doctor.checks.skills:SkillCommandReferenceCheck"
|
|
164
165
|
local-db = "raise_cli.doctor.checks.local_db:LocalDbCheck"
|
|
166
|
+
storage-health = "raise_cli.doctor.checks.storage_health:StorageHealthCheck"
|
|
165
167
|
acli = "raise_cli.doctor.checks.acli:AcliCheck"
|
|
166
168
|
server-connectivity = "raise_cli.doctor.checks.onboarding:ServerConnectivityCheck"
|
|
167
169
|
graph-state = "raise_cli.doctor.checks.onboarding:GraphStateCheck"
|
|
@@ -61,7 +61,9 @@ class FilesystemDocsTarget:
|
|
|
61
61
|
return error
|
|
62
62
|
path = self._root / raw_path
|
|
63
63
|
path.parent.mkdir(parents=True, exist_ok=True)
|
|
64
|
-
path.write_text(
|
|
64
|
+
path.write_text(
|
|
65
|
+
content, encoding="utf-8"
|
|
66
|
+
) # RAISE-17565: explícito, independiente del locale del OS
|
|
65
67
|
return PublishResult(
|
|
66
68
|
success=True, url=str(path), message="Written to filesystem"
|
|
67
69
|
)
|
|
@@ -530,7 +530,17 @@ class PythonApiJiraAdapter:
|
|
|
530
530
|
return FieldSchema.from_legacy_string(raw)
|
|
531
531
|
return raw
|
|
532
532
|
|
|
533
|
-
|
|
533
|
+
# Sentinel values that mean "unassign" — map to assignee: null (RAISE-18889).
|
|
534
|
+
_UNASSIGN_SENTINELS: frozenset[str] = frozenset({"", "none"})
|
|
535
|
+
|
|
536
|
+
def _wrap_user_field(self, value: str, client: JiraClient) -> dict[str, Any] | None:
|
|
537
|
+
"""Resolve a user string to a Jira accountId object.
|
|
538
|
+
|
|
539
|
+
Returns ``None`` when *value* is an unassign sentinel (``""`` or
|
|
540
|
+
``"none"``), which serialises as ``assignee: null`` in Jira REST calls.
|
|
541
|
+
"""
|
|
542
|
+
if value in self._UNASSIGN_SENTINELS:
|
|
543
|
+
return None
|
|
534
544
|
users = client.search_users(value)
|
|
535
545
|
if not users:
|
|
536
546
|
raise JiraApiError(f"No Jira user found for '{value}'")
|
|
@@ -544,7 +554,11 @@ class PythonApiJiraAdapter:
|
|
|
544
554
|
return values
|
|
545
555
|
item_type = items.get("type", "string")
|
|
546
556
|
if item_type == "user":
|
|
547
|
-
|
|
557
|
+
# Filter out None results — _wrap_user_field returns None for
|
|
558
|
+
# unassign sentinels; null is invalid inside a Jira array field.
|
|
559
|
+
return [
|
|
560
|
+
w for v in values if (w := self._wrap_user_field(v, client)) is not None
|
|
561
|
+
]
|
|
548
562
|
if item_type == "option":
|
|
549
563
|
return [{"value": v} for v in values]
|
|
550
564
|
return values
|
|
@@ -635,7 +649,12 @@ class PythonApiJiraAdapter:
|
|
|
635
649
|
# ── CRUD ────────────────────────────────────────────────────────
|
|
636
650
|
|
|
637
651
|
async def create_issue(self, project_key: str, issue: IssueSpec) -> IssueRef:
|
|
638
|
-
"""Create a Jira issue via REST API.
|
|
652
|
+
"""Create a Jira issue via REST API.
|
|
653
|
+
|
|
654
|
+
Assignee is applied via a dedicated POST-creation call (RAISE-18889) because
|
|
655
|
+
Jira silently discards the ``assignee`` field in the creation payload for many
|
|
656
|
+
project/screen configurations. This mirrors the behaviour of the Jira MCP.
|
|
657
|
+
"""
|
|
639
658
|
client = self._client_for(project_key)
|
|
640
659
|
fields: dict[str, Any] = {
|
|
641
660
|
"project": {"key": project_key},
|
|
@@ -646,13 +665,45 @@ class PythonApiJiraAdapter:
|
|
|
646
665
|
fields["description"] = markdown_to_adf(issue.description)
|
|
647
666
|
if issue.labels:
|
|
648
667
|
fields["labels"] = issue.labels
|
|
649
|
-
|
|
668
|
+
metadata = dict(issue.metadata or {})
|
|
669
|
+
|
|
670
|
+
# Extract assignee before building the POST payload — Jira ignores the field
|
|
671
|
+
# in the creation request, so we apply it separately after create.
|
|
672
|
+
# Only extract string values; dict values (escape hatch, RAISE-1596) are left
|
|
673
|
+
# in metadata and should not be sent to Jira either, so we pop them and resolve
|
|
674
|
+
# the accountId directly.
|
|
675
|
+
assignee_raw: str | None = None
|
|
676
|
+
assignee_account_id: str | None = None
|
|
677
|
+
_assignee_requested = False
|
|
678
|
+
if "assignee" in metadata:
|
|
679
|
+
_assignee_requested = True
|
|
680
|
+
raw = metadata.pop("assignee")
|
|
681
|
+
if isinstance(raw, str):
|
|
682
|
+
assignee_raw = raw
|
|
683
|
+
elif isinstance(raw, dict):
|
|
684
|
+
# Escape hatch: caller already provided {"accountId": "..."}.
|
|
685
|
+
assignee_account_id = raw.get("accountId")
|
|
686
|
+
|
|
687
|
+
fields.update(metadata)
|
|
650
688
|
if issue.parent:
|
|
651
689
|
fields["parent"] = {"key": issue.parent}
|
|
652
690
|
|
|
653
691
|
self._wrap_fields(fields, client)
|
|
654
692
|
result = client.create_issue(fields)
|
|
655
693
|
key = result.get("key", "")
|
|
694
|
+
|
|
695
|
+
if _assignee_requested:
|
|
696
|
+
if assignee_raw is not None:
|
|
697
|
+
# _wrap_user_field returns None for sentinels ("" / "none") → unassign.
|
|
698
|
+
wrapped = self._wrap_user_field(assignee_raw, client)
|
|
699
|
+
assignee_account_id = wrapped["accountId"] if wrapped else None
|
|
700
|
+
try:
|
|
701
|
+
client.assign_issue(key, assignee_account_id)
|
|
702
|
+
except Exception as exc:
|
|
703
|
+
raise JiraApiError(
|
|
704
|
+
f"Issue {key!r} created but assignee could not be set: {exc}"
|
|
705
|
+
) from exc
|
|
706
|
+
|
|
656
707
|
return IssueRef(key=key, url=self._build_url(key))
|
|
657
708
|
|
|
658
709
|
async def get_issue(self, key: str) -> IssueDetail:
|
|
@@ -523,6 +523,20 @@ class JiraClient:
|
|
|
523
523
|
except Exception as e:
|
|
524
524
|
raise self._map_error(e, f"search_users({query!r})") from e
|
|
525
525
|
|
|
526
|
+
def assign_issue(self, key: str, account_id: str | None) -> None:
|
|
527
|
+
"""Assign or unassign an issue via the dedicated assignee endpoint.
|
|
528
|
+
|
|
529
|
+
Args:
|
|
530
|
+
key: Issue key (e.g. ``RAISE-100``).
|
|
531
|
+
account_id: Jira account ID to assign to, or ``None`` to unassign.
|
|
532
|
+
"""
|
|
533
|
+
try:
|
|
534
|
+
self._client.assign_issue(key, account_id) # type: ignore[no-untyped-call]
|
|
535
|
+
except JiraAdapterError:
|
|
536
|
+
raise
|
|
537
|
+
except Exception as e:
|
|
538
|
+
raise self._map_error(e, f"assign_issue({key!r})") from e
|
|
539
|
+
|
|
526
540
|
# ── Comments ─────────────────────────────────────────────────────
|
|
527
541
|
|
|
528
542
|
def add_comment(self, key: str, body: str | dict[str, Any]) -> dict[str, Any]:
|
|
@@ -336,6 +336,13 @@ class SQLitePMAdapter:
|
|
|
336
336
|
canonical = "parent_local_key"
|
|
337
337
|
if canonical in _LIST_TYPED_FIELDS and isinstance(value, str):
|
|
338
338
|
value = [value] if value else []
|
|
339
|
+
# Jira's `[{"name": "3.1.6"}]` shape (assign_fix_version) → names
|
|
340
|
+
# (RAISE-18975).
|
|
341
|
+
if canonical in _LIST_TYPED_FIELDS and isinstance(value, list):
|
|
342
|
+
value = [
|
|
343
|
+
v["name"] if isinstance(v, dict) and "name" in v else v
|
|
344
|
+
for v in value
|
|
345
|
+
]
|
|
339
346
|
if canonical in _UPDATABLE_FIELDS:
|
|
340
347
|
old_value = getattr(wi, canonical, None)
|
|
341
348
|
if isinstance(old_value, list):
|
|
@@ -43,7 +43,9 @@ SETTINGS_USER_PROMPT_SUBMIT_BLOCK: dict[str, Any] = {
|
|
|
43
43
|
# shape purge.py compares against to detect a fully rai-owned, unmodified
|
|
44
44
|
# file (D1/D2, same pattern as MCP_JSON_CONTENT in purge.py).
|
|
45
45
|
SETTINGS_JSON_CONTENT: dict[str, Any] = {
|
|
46
|
-
"hooks": {"UserPromptSubmit": [SETTINGS_USER_PROMPT_SUBMIT_BLOCK]}
|
|
46
|
+
"hooks": {"UserPromptSubmit": [SETTINGS_USER_PROMPT_SUBMIT_BLOCK]},
|
|
47
|
+
# RAISE-19272: must mirror post_init so rai purge recognises a pristine file.
|
|
48
|
+
"disabledMcpjsonServers": ["rai-workspace"],
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
|
|
@@ -102,6 +104,11 @@ class ClaudePlugin:
|
|
|
102
104
|
break
|
|
103
105
|
else:
|
|
104
106
|
ups_hooks.append(hook_block)
|
|
107
|
+
# RAISE-19272: 3.1.6 pipelines run CLI-only — keep the rai-workspace MCP
|
|
108
|
+
# server listed in .mcp.json but disabled. Opt back in by removing it.
|
|
109
|
+
disabled: list[str] = settings.setdefault("disabledMcpjsonServers", [])
|
|
110
|
+
if "rai-workspace" not in disabled:
|
|
111
|
+
disabled.append("rai-workspace")
|
|
105
112
|
settings_path.write_text(json.dumps(settings, indent=2), encoding="utf-8")
|
|
106
113
|
|
|
107
114
|
return [str(settings_path.relative_to(project_root))]
|
|
@@ -19,6 +19,7 @@ from raise_cli.mcp.workspace_config import (
|
|
|
19
19
|
detect_mcp_pipeline_command,
|
|
20
20
|
render_codex_config_toml,
|
|
21
21
|
)
|
|
22
|
+
from raise_cli.skills.sync import skill_names as _skill_names
|
|
22
23
|
|
|
23
24
|
_HOOKS_JSON: dict[str, Any] = {
|
|
24
25
|
"hooks": {
|
|
@@ -278,6 +279,13 @@ class CodexPlugin:
|
|
|
278
279
|
source_skills_dir = project_root / ".agent" / "skills"
|
|
279
280
|
if source_skills_dir.is_dir():
|
|
280
281
|
shutil.copytree(source_skills_dir, plugin_skills_dir, dirs_exist_ok=True)
|
|
282
|
+
# Remove stale skill dirs that no longer exist in source — prevents
|
|
283
|
+
# ghost entries after a rename from dirtying the tree on every sync
|
|
284
|
+
# (RAISE-18967). Use the shared skill_names() helper so the
|
|
285
|
+
# definition of "skill directory" is consistent with SkillSyncer.
|
|
286
|
+
source_names = _skill_names(source_skills_dir)
|
|
287
|
+
for name in _skill_names(plugin_skills_dir) - source_names:
|
|
288
|
+
shutil.rmtree(plugin_skills_dir / name)
|
|
281
289
|
else:
|
|
282
290
|
plugin_skills_dir.mkdir(parents=True, exist_ok=True)
|
|
283
291
|
|
|
@@ -126,6 +126,7 @@ class ReviewArtifact(ArtifactBase):
|
|
|
126
126
|
review_type: Literal["architecture", "quality"]
|
|
127
127
|
findings: list[dict[str, Any]]
|
|
128
128
|
verdict: Literal["approved", "needs_changes", "rejected"]
|
|
129
|
+
route: str = "" # skill that produced the review (RAISE-19203)
|
|
129
130
|
|
|
130
131
|
|
|
131
132
|
class RetroArtifact(ArtifactBase):
|
|
@@ -113,6 +113,7 @@ def _run_git(project_root: Path, *args: str) -> subprocess.CompletedProcess[str]
|
|
|
113
113
|
check=False,
|
|
114
114
|
capture_output=True,
|
|
115
115
|
text=True,
|
|
116
|
+
stdin=subprocess.DEVNULL, # RAISE-18877: prevent Win32 handle inheritance
|
|
116
117
|
)
|
|
117
118
|
except OSError:
|
|
118
119
|
return None
|
|
@@ -234,6 +235,7 @@ def fetch_dev_ref(project_root: Path, dev_branch: str) -> str | None:
|
|
|
234
235
|
check=False,
|
|
235
236
|
capture_output=True,
|
|
236
237
|
text=True,
|
|
238
|
+
stdin=subprocess.DEVNULL, # RAISE-18877: prevent Win32 handle inheritance
|
|
237
239
|
)
|
|
238
240
|
except OSError as exc:
|
|
239
241
|
return str(exc)
|
|
@@ -14,6 +14,7 @@ S15036 adds:
|
|
|
14
14
|
|
|
15
15
|
from __future__ import annotations
|
|
16
16
|
|
|
17
|
+
import json
|
|
17
18
|
import logging
|
|
18
19
|
import subprocess
|
|
19
20
|
from datetime import UTC, datetime
|
|
@@ -76,6 +77,7 @@ def apply_transition(project: Path, jira_key: str, status: str) -> str | None:
|
|
|
76
77
|
timeout=_TRANSITION_TIMEOUT_S,
|
|
77
78
|
check=False,
|
|
78
79
|
cwd=project,
|
|
80
|
+
stdin=subprocess.DEVNULL, # RAISE-18877: prevent Win32 handle inheritance
|
|
79
81
|
)
|
|
80
82
|
except (OSError, subprocess.TimeoutExpired) as exc:
|
|
81
83
|
log_transition(
|
|
@@ -128,6 +130,14 @@ def pipeline_run_active() -> bool:
|
|
|
128
130
|
return any_pipeline_run_active()
|
|
129
131
|
|
|
130
132
|
|
|
133
|
+
def _current_fix_versions(project: Path, jira_key: str) -> list[str]:
|
|
134
|
+
"""Read the issue's current fixVersion names from the configured PM adapter."""
|
|
135
|
+
from raise_cli.adapters.resolve import resolve_pm_adapter
|
|
136
|
+
|
|
137
|
+
detail = resolve_pm_adapter(None, project).get_issue(jira_key)
|
|
138
|
+
return list(detail.fix_versions or ())
|
|
139
|
+
|
|
140
|
+
|
|
131
141
|
def assign_fix_version(project: Path, jira_key: str, version: str) -> str | None:
|
|
132
142
|
"""Assign ``fixVersion`` via the ``rai backlog update`` JSON escape hatch.
|
|
133
143
|
|
|
@@ -135,11 +145,22 @@ def assign_fix_version(project: Path, jira_key: str, version: str) -> str | None
|
|
|
135
145
|
new CLI surface is introduced. Returns an error message on failure or
|
|
136
146
|
``None`` on success (RAISE-10966).
|
|
137
147
|
|
|
148
|
+
The existing fixVersions are kept: the write sends their union with
|
|
149
|
+
``version`` and is skipped when ``version`` is already present.
|
|
150
|
+
|
|
138
151
|
Extracted from ``raise_cli.story.open_service._assign_fix_version``
|
|
139
152
|
(RAISE-15033) so the engine can own fixVersion assignment and skills
|
|
140
153
|
can delegate without duplicating the logic.
|
|
141
154
|
"""
|
|
142
|
-
|
|
155
|
+
try:
|
|
156
|
+
current = _current_fix_versions(project, jira_key)
|
|
157
|
+
except Exception as exc: # noqa: BLE001 — never write blind over an unread list
|
|
158
|
+
return f"fixVersion assign failed: could not read current fixVersions: {exc}"
|
|
159
|
+
if version in current:
|
|
160
|
+
return None
|
|
161
|
+
# Jira replaces the whole list on update — send the union (RAISE-18975 C1).
|
|
162
|
+
names = [*dict.fromkeys(current), version]
|
|
163
|
+
payload = "fixVersions=" + json.dumps([{"name": n} for n in names])
|
|
143
164
|
try:
|
|
144
165
|
proc = subprocess.run(
|
|
145
166
|
["rai", "backlog", "update", jira_key, "-F", payload],
|
|
@@ -148,6 +169,7 @@ def assign_fix_version(project: Path, jira_key: str, version: str) -> str | None
|
|
|
148
169
|
timeout=_TRANSITION_TIMEOUT_S,
|
|
149
170
|
check=False,
|
|
150
171
|
cwd=project,
|
|
172
|
+
stdin=subprocess.DEVNULL, # RAISE-18877: prevent Win32 handle inheritance
|
|
151
173
|
)
|
|
152
174
|
except (OSError, subprocess.TimeoutExpired) as exc:
|
|
153
175
|
return f"fixVersion assign failed: {exc}"
|
|
@@ -258,7 +258,9 @@ def _resolve_description(
|
|
|
258
258
|
# Jira issue-type values (`Bug`, `Task`, ...) are always capitalized in this
|
|
259
259
|
# codebase's convention (FIXED_PREFIXES keys are `Epic`/`Story`/`Bug`), so
|
|
260
260
|
# `-t Task` (default) keeps meaning "Jira Task issue type, remote-only"
|
|
261
|
-
# while `-t task` (lowercase) means the new ontology type.
|
|
261
|
+
# while `-t task` (lowercase) means the new ontology type. Exception:
|
|
262
|
+
# `create --local` matches case-insensitively (RAISE-19267) — there is no
|
|
263
|
+
# remote path for it to fall back to.
|
|
262
264
|
_ONTOLOGY_TYPES = frozenset({"theme", "initiative", "epic", "story", "task"})
|
|
263
265
|
|
|
264
266
|
|
|
@@ -503,6 +505,42 @@ def version_create(
|
|
|
503
505
|
console.print(f"{label}: {version.name}")
|
|
504
506
|
|
|
505
507
|
|
|
508
|
+
def _create_local_only(
|
|
509
|
+
*,
|
|
510
|
+
summary: str,
|
|
511
|
+
project: str,
|
|
512
|
+
issue_type: str,
|
|
513
|
+
parent: str | None,
|
|
514
|
+
description: str,
|
|
515
|
+
format: str,
|
|
516
|
+
) -> None:
|
|
517
|
+
"""`create --local` path: SQLite work_items only, no adapter (RAISE-19267).
|
|
518
|
+
|
|
519
|
+
Case-insensitive on the type so the Jira-style ``-t Story`` works too.
|
|
520
|
+
Localized aliases are honored best-effort: a broken or Jira-only backlog
|
|
521
|
+
config must never block a local create.
|
|
522
|
+
"""
|
|
523
|
+
with contextlib.suppress(Exception):
|
|
524
|
+
issue_type = _resolve_issue_type_alias(issue_type, None)
|
|
525
|
+
issue_type = issue_type.lower()
|
|
526
|
+
if not _is_ontology_type(issue_type):
|
|
527
|
+
console.print(
|
|
528
|
+
f"[red]Error:[/red] --local requires an ontology type "
|
|
529
|
+
f"(epic, story, ...); got {issue_type!r}"
|
|
530
|
+
)
|
|
531
|
+
raise typer.Exit(1)
|
|
532
|
+
_create_work_item(
|
|
533
|
+
summary=summary,
|
|
534
|
+
project=project,
|
|
535
|
+
issue_type=cast("WorkItemType", issue_type),
|
|
536
|
+
parent=parent,
|
|
537
|
+
description=description,
|
|
538
|
+
local=True,
|
|
539
|
+
format=format,
|
|
540
|
+
pm=None,
|
|
541
|
+
)
|
|
542
|
+
|
|
543
|
+
|
|
506
544
|
@backlog_app.command()
|
|
507
545
|
def create(
|
|
508
546
|
summary: Annotated[str, typer.Argument(help="Issue title")],
|
|
@@ -575,6 +613,20 @@ def create(
|
|
|
575
613
|
) -> None:
|
|
576
614
|
"""Create a new backlog item."""
|
|
577
615
|
_validate_format(format)
|
|
616
|
+
if local:
|
|
617
|
+
# RAISE-19267: --local is local-first — never resolve the adapter or
|
|
618
|
+
# load backlog config (both validate Jira and fail without it).
|
|
619
|
+
_create_local_only(
|
|
620
|
+
summary=summary,
|
|
621
|
+
project=project,
|
|
622
|
+
issue_type=issue_type,
|
|
623
|
+
parent=parent,
|
|
624
|
+
description=_resolve_description(
|
|
625
|
+
description, description_file, description_stdin
|
|
626
|
+
),
|
|
627
|
+
format=format,
|
|
628
|
+
)
|
|
629
|
+
return
|
|
578
630
|
pm = resolve_adapter(adapter)
|
|
579
631
|
# Resolve localized type alias (e.g. "Historia" → "Story") before creating.
|
|
580
632
|
issue_type = _resolve_issue_type_alias(issue_type, adapter)
|
|
@@ -1840,7 +1892,7 @@ def sync(
|
|
|
1840
1892
|
result = sync_backlog(
|
|
1841
1893
|
remote_pm,
|
|
1842
1894
|
adapter_name,
|
|
1843
|
-
project_filter=
|
|
1895
|
+
project_filter=project_key,
|
|
1844
1896
|
output_path=output_path,
|
|
1845
1897
|
)
|
|
1846
1898
|
except ValueError as exc:
|
|
@@ -77,6 +77,7 @@ def _handle_approved(server: str, poll_data: dict[str, object], api_key: str) ->
|
|
|
77
77
|
"api_key": api_key,
|
|
78
78
|
"org_id": poll_data.get("org_id"),
|
|
79
79
|
"org_name": poll_data.get("org_name"),
|
|
80
|
+
"org_slug": poll_data.get("org_slug"),
|
|
80
81
|
"member_id": poll_data.get("member_id"),
|
|
81
82
|
"email": poll_data.get("email"),
|
|
82
83
|
"role": poll_data.get("role"),
|
|
@@ -184,7 +185,76 @@ def _start_device_flow(
|
|
|
184
185
|
return resp.json() # type: ignore[no-any-return]
|
|
185
186
|
|
|
186
187
|
|
|
187
|
-
|
|
188
|
+
_SELF_REVOKE_ENDPOINT = "/api/v2/api-keys/self"
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
def _read_existing_connection() -> dict[str, Any] | None:
|
|
192
|
+
"""Return server.json contents, or None if absent/unreadable/incomplete."""
|
|
193
|
+
path = _get_server_credentials_path()
|
|
194
|
+
if not path.is_file():
|
|
195
|
+
return None
|
|
196
|
+
try:
|
|
197
|
+
raw: Any = json.loads(path.read_text(encoding="utf-8"))
|
|
198
|
+
except (OSError, json.JSONDecodeError):
|
|
199
|
+
return None
|
|
200
|
+
if not isinstance(raw, dict):
|
|
201
|
+
return None
|
|
202
|
+
return {str(k): v for k, v in raw.items()} # pyright: ignore[reportUnknownVariableType,reportUnknownArgumentType]
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
def _show_connection_status(conn: dict[str, Any]) -> None:
|
|
206
|
+
console.print("[green]Already connected.[/green]")
|
|
207
|
+
console.print(f" Organization: [bold]{conn.get('org_name')}[/bold]")
|
|
208
|
+
console.print(f" Email: {conn.get('email')}")
|
|
209
|
+
console.print(f" Role: {conn.get('role')}")
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def _is_different_org(conn: dict[str, Any], org_slug: str | None) -> bool:
|
|
213
|
+
"""True only when both slugs are known and differ (legacy files: False)."""
|
|
214
|
+
existing = conn.get("org_slug")
|
|
215
|
+
return bool(org_slug and existing and existing.lower() != org_slug.lower())
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
def _revoke_existing_key(conn: dict[str, Any]) -> None:
|
|
219
|
+
"""Best-effort server-side self-revoke; never raises (D6/D7)."""
|
|
220
|
+
server_url = conn.get("server_url")
|
|
221
|
+
api_key = conn.get("api_key")
|
|
222
|
+
if not server_url or not api_key:
|
|
223
|
+
return
|
|
224
|
+
try:
|
|
225
|
+
resp = httpx.delete(
|
|
226
|
+
f"{str(server_url).rstrip('/')}{_SELF_REVOKE_ENDPOINT}",
|
|
227
|
+
headers={"Authorization": f"Bearer {api_key}"},
|
|
228
|
+
timeout=10,
|
|
229
|
+
)
|
|
230
|
+
except httpx.HTTPError:
|
|
231
|
+
console.print(
|
|
232
|
+
"[yellow]Warning:[/yellow] Could not reach server -- "
|
|
233
|
+
"key may still be active remotely."
|
|
234
|
+
)
|
|
235
|
+
return
|
|
236
|
+
# 401/404 mean the key is already revoked/unknown: nothing left to revoke.
|
|
237
|
+
if resp.status_code >= 500:
|
|
238
|
+
console.print(
|
|
239
|
+
"[yellow]Warning:[/yellow] Server error during revoke -- "
|
|
240
|
+
"key may still be active remotely."
|
|
241
|
+
)
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
def disconnect_command() -> None:
|
|
245
|
+
"""Revoke this machine's server key (best-effort) and delete local credentials."""
|
|
246
|
+
path = _get_server_credentials_path()
|
|
247
|
+
if not path.is_file():
|
|
248
|
+
console.print("Not connected.")
|
|
249
|
+
return
|
|
250
|
+
conn = _read_existing_connection()
|
|
251
|
+
if conn is not None:
|
|
252
|
+
_revoke_existing_key(conn)
|
|
253
|
+
path.unlink(missing_ok=True)
|
|
254
|
+
console.print("[green]Disconnected.[/green] Local credentials removed.")
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
def connect_command( # noqa: C901
|
|
188
258
|
org_slug: Annotated[
|
|
189
259
|
str | None,
|
|
190
260
|
typer.Argument(
|
|
@@ -197,9 +267,9 @@ def connect_command(
|
|
|
197
267
|
typer.Option(
|
|
198
268
|
"--server",
|
|
199
269
|
"-s",
|
|
200
|
-
help="Server URL (default: https://api.raise.
|
|
270
|
+
help="Server URL (default: https://api.raise.works)",
|
|
201
271
|
),
|
|
202
|
-
] = "https://api.raise.
|
|
272
|
+
] = "https://api.raise.works",
|
|
203
273
|
no_bootstrap: Annotated[
|
|
204
274
|
bool,
|
|
205
275
|
typer.Option(
|
|
@@ -207,8 +277,30 @@ def connect_command(
|
|
|
207
277
|
help="Skip team knowledge sync after connect (e.g. for CI environments).",
|
|
208
278
|
),
|
|
209
279
|
] = False,
|
|
280
|
+
force: Annotated[
|
|
281
|
+
bool,
|
|
282
|
+
typer.Option(
|
|
283
|
+
"--force",
|
|
284
|
+
help="Revoke the existing connection (best-effort) and reconnect.",
|
|
285
|
+
),
|
|
286
|
+
] = False,
|
|
210
287
|
) -> None:
|
|
211
288
|
"""Connect this machine to a RaiSE server using device authorization."""
|
|
289
|
+
if org_slug:
|
|
290
|
+
org_slug = org_slug.lower() # slugs are canonically lowercase (RAISE-19112)
|
|
291
|
+
if (conn := _read_existing_connection()) is not None:
|
|
292
|
+
if force:
|
|
293
|
+
_revoke_existing_key(conn)
|
|
294
|
+
_get_server_credentials_path().unlink(missing_ok=True)
|
|
295
|
+
else:
|
|
296
|
+
_show_connection_status(conn)
|
|
297
|
+
if _is_different_org(conn, org_slug):
|
|
298
|
+
console.print(
|
|
299
|
+
f"[red]Already connected to {conn.get('org_name')}.[/red] "
|
|
300
|
+
"Run `rai disconnect` first, or `rai connect --force`."
|
|
301
|
+
)
|
|
302
|
+
raise typer.Exit(1)
|
|
303
|
+
raise typer.Exit(0)
|
|
212
304
|
client = httpx.Client(base_url=server, timeout=10)
|
|
213
305
|
|
|
214
306
|
if org_slug:
|
|
@@ -82,13 +82,13 @@ def _print_result(result: GateResult) -> None:
|
|
|
82
82
|
the never-evaluated drift gates read as healthy for months.
|
|
83
83
|
"""
|
|
84
84
|
if not result.passed:
|
|
85
|
-
marker = "[red]
|
|
85
|
+
marker = "[red]✗[/red]"
|
|
86
86
|
elif result.skipped:
|
|
87
|
-
marker = "[yellow]
|
|
87
|
+
marker = "[yellow]~[/yellow]"
|
|
88
88
|
elif result.advisory and result.details:
|
|
89
|
-
marker = "[yellow]
|
|
89
|
+
marker = "[yellow]⚠[/yellow]"
|
|
90
90
|
else:
|
|
91
|
-
marker = "[green]
|
|
91
|
+
marker = "[green]✓[/green]"
|
|
92
92
|
console.print(f" {marker} {escape(result.gate_id)}: {escape(result.message)}")
|
|
93
93
|
for detail in result.details:
|
|
94
94
|
console.print(f" {escape(detail)}")
|
|
@@ -157,12 +157,12 @@ def check_command(
|
|
|
157
157
|
typer.Option("--format", "-f", help="Output format: human or json"),
|
|
158
158
|
] = "human",
|
|
159
159
|
scope: Annotated[
|
|
160
|
-
str
|
|
160
|
+
list[str],
|
|
161
161
|
typer.Option(
|
|
162
162
|
"--scope",
|
|
163
|
-
help="Append a path argument to the gate command (
|
|
163
|
+
help="Append a path argument to the gate command (repeatable: --scope a/ --scope b/)",
|
|
164
164
|
),
|
|
165
|
-
] =
|
|
165
|
+
] = [], # noqa: B006 — Typer requires a mutable default here; it is never mutated
|
|
166
166
|
strict_drift: Annotated[
|
|
167
167
|
bool,
|
|
168
168
|
typer.Option(
|
|
@@ -196,7 +196,7 @@ def check_command(
|
|
|
196
196
|
$ rai gate check drift-post-refactor-orphan --strict-drift
|
|
197
197
|
"""
|
|
198
198
|
registry = _get_registry()
|
|
199
|
-
extra_args: tuple[str, ...] = (scope
|
|
199
|
+
extra_args: tuple[str, ...] = tuple(scope)
|
|
200
200
|
|
|
201
201
|
exclusive = sum([bool(gate_id), all_gates, bool(point)])
|
|
202
202
|
if exclusive > 1:
|