Skip to content

Moshloop - #142

Merged
moshloop merged 60 commits into
mainfrom
moshloop
Oct 8, 2026
Merged

moshloop merged 60 commits into
mainfrom
moshloop

Conversation

@moshloop

Copy link
Copy Markdown
Member

No description provided.

@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 606 files, which is 506 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 30067403-95c9-476e-96a6-886e6dc22c21
📥 Commits

Reviewing files that changed from the base of the PR and between abbaecd and 02121fe.

⛔ Files ignored due to path filters (4)
  • go.sum is excluded by !**/*.sum
  • pkg/cli/webapp/dist/.gitkeep is excluded by !**/dist/**
  • pkg/cli/webapp/dist/index.html is excluded by !**/dist/**
  • pkg/cli/webapp/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (606)
  • .agents/codex/captain.rules
  • .agents/skills/agents-mapper/SKILL.md
  • .agents/skills/agents-mapper/agents/openai.yaml
  • .agents/skills/agents-mapper/references/schema-contract.md
  • .github/workflows/publish-image.yml
  • cmd/captain/internal/rootcmd/ai.go
  • cmd/captain/main.go
  • cmd/captain/runtime_entities_routes_test.go
  • docs/plans/unified-approval-callback-examples.md
  • docs/plans/unified-approval-callback.md
  • docs/src/pages/agents/approvals.mdx
  • docs/src/pages/agents/embedding.mdx
  • docs/src/pages/agents/index.mdx
  • docs/src/pages/prompts/index.mdx
  • docs/src/pages/prompts/runtime.mdx
  • docs/src/pages/sessions/index.mdx
  • go.mod
  • migrations/03_turn_request_approval_backfill.sql
  • migrations/20_prompt_runs_and_plans.pg.hcl
  • migrations/22_delete_guards.pg.hcl
  • migrations/30_execution.pg.hcl
  • migrations/41_runtime_profiles.pg.hcl
  • migrations/60_view_session_overview.sql
  • migrations/69_view_prompt_run_overview.sql
  • migrations/83_session_change_notify.sql
  • migrations/84_prompt_run_session_lifecycle.sql
  • migrations/85_row_change_notify.sql
  • migrations/86_delete_guards.sql
  • migrations/approval_identity_upgrade_integration_test.go
  • migrations/migrations_test.go
  • migrations/prompt_run_session_lifecycle_integration_test.go
  • migrations/schema_ginkgo_test.go
  • migrations/session_change_notify_integration_test.go
  • pkg/adapters/adapters_suite_test.go
  • pkg/adapters/anthropic/agent.schema.json
  • pkg/adapters/anthropic/api.schema.json
  • pkg/adapters/anthropic/cli.schema.json
  • pkg/adapters/catalog.go
  • pkg/adapters/deepseek/api.schema.json
  • pkg/adapters/doc.go
  • pkg/adapters/generate.go
  • pkg/adapters/google/api.schema.json
  • pkg/adapters/google/cli.schema.json
  • pkg/adapters/openai/agent.schema.json
  • pkg/adapters/openai/api.schema.json
  • pkg/adapters/openai/cli.schema.json
  • pkg/adapters/schema_contract_ginkgo_test.go
  • pkg/adapters/zz_generated_anthropic_agent.go
  • pkg/adapters/zz_generated_anthropic_api.go
  • pkg/adapters/zz_generated_anthropic_cli.go
  • pkg/adapters/zz_generated_deepseek_api.go
  • pkg/adapters/zz_generated_google_api.go
  • pkg/adapters/zz_generated_google_cli.go
  • pkg/adapters/zz_generated_openai_agent.go
  • pkg/adapters/zz_generated_openai_api.go
  • pkg/adapters/zz_generated_openai_cli.go
  • pkg/ai/adapters_test.go
  • pkg/ai/agent/commit/commit.go
  • pkg/ai/agent/commit/commit_suite_test.go
  • pkg/ai/agent/commit/git.go
  • pkg/ai/agent/commit/helper_test.go
  • pkg/ai/agent/commit/isolation_ginkgo_test.go
  • pkg/ai/agent/commit/record.go
  • pkg/ai/agent/commit/record_ginkgo_test.go
  • pkg/ai/agent/commit/setup_worktree_test.go
  • pkg/ai/agent/commit/stage_test.go
  • pkg/ai/agent/commit/subject.go
  • pkg/ai/agent/runner.go
  • pkg/ai/agent/runner_test.go
  • pkg/ai/agent/setup/notices_test.go
  • pkg/ai/agent/setup/setup.go
  • pkg/ai/agent/setup/setup_suite_test.go
  • pkg/ai/agent/setup/setup_test.go
  • pkg/ai/agent/setup/worktree_state.go
  • pkg/ai/agent/setup/worktree_state_ginkgo_test.go
  • pkg/ai/agent/verify/verify.go
  • pkg/ai/agent/worktree/worktree.go
  • pkg/ai/approval/broker.go
  • pkg/ai/approval/broker_compat.go
  • pkg/ai/approval/broker_compat_ginkgo_test.go
  • pkg/ai/approval/broker_concurrent_ginkgo_test.go
  • pkg/ai/approval/broker_deadline_ginkgo_test.go
  • pkg/ai/approval/broker_ginkgo_test.go
  • pkg/ai/approval/broker_kinds_ginkgo_test.go
  • pkg/ai/approval/broker_request_ginkgo_test.go
  • pkg/ai/approval/caller_tool_run_ginkgo_test.go
  • pkg/ai/approval/export_test.go
  • pkg/ai/approval/gavel_compat_ginkgo_test.go
  • pkg/ai/approval/resolve.go
  • pkg/ai/approval/run_state_ginkgo_test.go
  • pkg/ai/approval/stored_request.go
  • pkg/ai/approval/terminal.go
  • pkg/ai/approval/terminal_ginkgo_test.go
  • pkg/ai/approval/terminal_prompt.go
  • pkg/ai/approval/testdata/gavel-v0.0.63.json
  • pkg/ai/assistanttags/assistanttags_suite_test.go
  • pkg/ai/assistanttags/envelope.go
  • pkg/ai/assistanttags/envelope_ginkgo_test.go
  • pkg/ai/cache/cache.go
  • pkg/ai/cache/cache_ginkgo_test.go
  • pkg/ai/callertools/credential_ginkgo_test.go
  • pkg/ai/callertools/runtime.go
  • pkg/ai/callertools/runtime_compat_ginkgo_test.go
  • pkg/ai/callertools/runtime_ginkgo_test.go
  • pkg/ai/catalog_resolve.go
  • pkg/ai/catalog_resolve_test.go
  • pkg/ai/history/agent_tool_vocabulary_ginkgo_test.go
  • pkg/ai/history/codex_context.go
  • pkg/ai/history/codex_dedupe_ginkgo_test.go
  • pkg/ai/history/codex_events.go
  • pkg/ai/history/codex_injected_ginkgo_test.go
  • pkg/ai/history/codex_messages.go
  • pkg/ai/history/codex_normalize_ginkgo_test.go
  • pkg/ai/history/codex_parser.go
  • pkg/ai/history/codex_permission_mode_ginkgo_test.go
  • pkg/ai/history/codex_types.go
  • pkg/ai/history/types.go
  • pkg/ai/internal/gen-model-registry/patches.json
  • pkg/ai/loop.go
  • pkg/ai/loop_test.go
  • pkg/ai/middleware/caching_test.go
  • pkg/ai/middleware/validation.go
  • pkg/ai/middleware/validation_stream.go
  • pkg/ai/middleware/validation_stream_test.go
  • pkg/ai/model_parse_conformance_test.go
  • pkg/ai/model_registry_test.go
  • pkg/ai/observation/recorder.go
  • pkg/ai/observation/recorder_compat.go
  • pkg/ai/observation/recorder_compat_test.go
  • pkg/ai/observation/recorder_test.go
  • pkg/ai/pricing/registry.go
  • pkg/ai/prompt/document.go
  • pkg/ai/prompt/document_test.go
  • pkg/ai/prompt/prompt.go
  • pkg/ai/provider/additional_directories_test.go
  • pkg/ai/provider/caller_tools_ginkgo_test.go
  • pkg/ai/provider/claude_cli.go
  • pkg/ai/provider/claude_cli_test.go
  • pkg/ai/provider/claudeagent/agent.ts
  • pkg/ai/provider/claudeagent/approval_deny_ginkgo_test.go
  • pkg/ai/provider/claudeagent/approval_request.go
  • pkg/ai/provider/claudeagent/approval_request_ginkgo_test.go
  • pkg/ai/provider/claudeagent/ask_question_ginkgo_test.go
  • pkg/ai/provider/claudeagent/attachments_ginkgo_test.go
  • pkg/ai/provider/claudeagent/bridge_params.go
  • pkg/ai/provider/claudeagent/bridge_protocol_ginkgo_test.go
  • pkg/ai/provider/claudeagent/caller_tools.go
  • pkg/ai/provider/claudeagent/caller_tools_ginkgo_test.go
  • pkg/ai/provider/claudeagent/effort_ginkgo_test.go
  • pkg/ai/provider/claudeagent/elicitation.go
  • pkg/ai/provider/claudeagent/elicitation.ts
  • pkg/ai/provider/claudeagent/elicitation_ginkgo_test.go
  • pkg/ai/provider/claudeagent/fake_agent_test.go
  • pkg/ai/provider/claudeagent/interrupt_ginkgo_test.go
  • pkg/ai/provider/claudeagent/mapping.go
  • pkg/ai/provider/claudeagent/mapping_test.go
  • pkg/ai/provider/claudeagent/messages.ts
  • pkg/ai/provider/claudeagent/package.json
  • pkg/ai/provider/claudeagent/permission_capabilities_test.go
  • pkg/ai/provider/claudeagent/permission_mode_ginkgo_test.go
  • pkg/ai/provider/claudeagent/permissions_test.go
  • pkg/ai/provider/claudeagent/protocol.ts
  • pkg/ai/provider/claudeagent/provider.go
  • pkg/ai/provider/claudeagent/provider_test.go
  • pkg/ai/provider/claudeagent/runner.go
  • pkg/ai/provider/claudeagent/turn.go
  • pkg/ai/provider/cmux/approval_deny_test.go
  • pkg/ai/provider/cmux/executor.go
  • pkg/ai/provider/cmux/plan_approval_test.go
  • pkg/ai/provider/cmux/provider.go
  • pkg/ai/provider/cmux/provider_test.go
  • pkg/ai/provider/cmux/sessionstats.go
  • pkg/ai/provider/cmux/sessionstats_test.go
  • pkg/ai/provider/cmux/stall.go
  • pkg/ai/provider/cmux/stall_test.go
  • pkg/ai/provider/coalesce.go
  • pkg/ai/provider/codex_appserver.go
  • pkg/ai/provider/codex_appserver_approval.go
  • pkg/ai/provider/codex_appserver_approval_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_approval_policy_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_command_approval.go
  • pkg/ai/provider/codex_appserver_elicitation.go
  • pkg/ai/provider/codex_appserver_elicitation_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_legacy_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_lifecycle_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_params_test.go
  • pkg/ai/provider/codex_appserver_permission_mode_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_permissions_approval.go
  • pkg/ai/provider/codex_appserver_permissions_approval_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_permissions_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_protocol.go
  • pkg/ai/provider/codex_appserver_question.go
  • pkg/ai/provider/codex_appserver_question_ginkgo_test.go
  • pkg/ai/provider/codex_appserver_turn.go
  • pkg/ai/provider/codex_cli.go
  • pkg/ai/provider/codex_cli_test.go
  • pkg/ai/provider/codex_context_ginkgo_test.go
  • pkg/ai/provider/genkit/genkit.go
  • pkg/ai/provider/genkit/options.go
  • pkg/ai/provider/genkit/structured_stream_ginkgo_test.go
  • pkg/ai/provider/genkit/token_count.go
  • pkg/ai/provider/genkit/token_count_anthropic.go
  • pkg/ai/provider/genkit/token_count_gemini.go
  • pkg/ai/provider/genkit/token_count_ginkgo_test.go
  • pkg/ai/provider/genkit/tool_lifecycle_ginkgo_test.go
  • pkg/ai/provider/genkit/tool_preferences_ginkgo_test.go
  • pkg/ai/provider/genkit/tools.go
  • pkg/ai/provider/genkit/tools_test.go
  • pkg/ai/provider/jsonrpc/client.go
  • pkg/ai/provider/jsonrpc/client_test.go
  • pkg/ai/provider/jsonrpc/frame.go
  • pkg/ai/provider/openai/token_count.go
  • pkg/ai/provider/openai/token_count_ginkgo_test.go
  • pkg/ai/provider/openai/tools.go
  • pkg/ai/runtime_selector_test.go
  • pkg/ai/schema_validation.go
  • pkg/ai/schema_validation_test.go
  • pkg/ai/terminal_outcome.go
  • pkg/ai/terminal_outcome_test.go
  • pkg/ai/token_content.go
  • pkg/ai/token_size.go
  • pkg/ai/token_size_ginkgo_test.go
  • pkg/ai/tools/approval_deny.go
  • pkg/ai/tools/approval_deny_ginkgo_test.go
  • pkg/ai/types.go
  • pkg/ai/types_compat.go
  • pkg/aichat/README.md
  • pkg/aichat/approval_execution.go
  • pkg/aichat/approval_execution_test.go
  • pkg/aichat/approval_http.go
  • pkg/aichat/context_ginkgo_test.go
  • pkg/aichat/context_persistence_ginkgo_test.go
  • pkg/aichat/database_fallback_integration_test.go
  • pkg/aichat/database_threads.go
  • pkg/aichat/database_threads_integration_test.go
  • pkg/aichat/events.go
  • pkg/aichat/execution.go
  • pkg/aichat/execution_authority_ginkgo_test.go
  • pkg/aichat/execution_database.go
  • pkg/aichat/execution_database_authority.go
  • pkg/aichat/execution_database_correlation.go
  • pkg/aichat/execution_database_integration_test.go
  • pkg/aichat/execution_database_state.go
  • pkg/aichat/execution_database_terminal.go
  • pkg/aichat/layered_profile_ownership_ginkgo_test.go
  • pkg/aichat/layered_runtime_profile.go
  • pkg/aichat/messages.go
  • pkg/aichat/persistence.go
  • pkg/aichat/persistence_subagent_ginkgo_test.go
  • pkg/aichat/provider_config.go
  • pkg/aichat/runtime_profile.go
  • pkg/aichat/runtime_profile_ginkgo_test.go
  • pkg/aichat/runtime_profile_selection_ginkgo_test.go
  • pkg/aichat/runtime_profiles_http.go
  • pkg/aichat/runtime_profiles_http_ginkgo_test.go
  • pkg/aichat/saved_defaults_ginkgo_test.go
  • pkg/aichat/service.go
  • pkg/aichat/service_persistence.go
  • pkg/aichat/sse.go
  • pkg/aichat/stream_ginkgo_test.go
  • pkg/aichat/threads.go
  • pkg/aichat/wire.go
  • pkg/aiflags/default_resolution_ginkgo_test.go
  • pkg/aiflags/defaults.go
  • pkg/aiflags/flags.go
  • pkg/aiflags/unconfigured.go
  • pkg/api/agent_resources.go
  • pkg/api/approval.go
  • pkg/api/approval_compat.go
  • pkg/api/approval_compat_ginkgo_test.go
  • pkg/api/approval_ginkgo_test.go
  • pkg/api/approval_validate.go
  • pkg/api/codex_permission_mode_ginkgo_test.go
  • pkg/api/compattest/compattest_ginkgo_test.go
  • pkg/api/compattest/deprecated.go
  • pkg/api/context.go
  • pkg/api/cost.go
  • pkg/api/export_test.go
  • pkg/api/permission_capabilities.go
  • pkg/api/permission_capabilities_ginkgo_test.go
  • pkg/api/permissions.go
  • pkg/api/registry/anthropic_latest_ginkgo_test.go
  • pkg/api/registry/cost_test.go
  • pkg/api/registry/deepseek_default_ginkgo_test.go
  • pkg/api/registry/embed_test.go
  • pkg/api/registry/latest_models_ginkgo_test.go
  • pkg/api/registry/models.json
  • pkg/api/registry/parse.go
  • pkg/api/registry/provider.go
  • pkg/api/registry/providers.go
  • pkg/api/registry/runtime_mode_ginkgo_test.go
  • pkg/api/registry/sol_ginkgo_test.go
  • pkg/api/runtime_arguments.go
  • pkg/api/runtime_arguments_ginkgo_test.go
  • pkg/api/runtime_config.go
  • pkg/api/runtime_constraints.go
  • pkg/api/runtime_event.go
  • pkg/api/runtime_field_presentation.go
  • pkg/api/runtime_permission_constraints.go
  • pkg/api/runtime_permission_constraints_ginkgo_test.go
  • pkg/api/runtime_preset_codec.go
  • pkg/api/runtime_profile_layers_ginkgo_test.go
  • pkg/api/runtime_profiles.go
  • pkg/api/runtime_profiles_ginkgo_test.go
  • pkg/api/runtime_provider.go
  • pkg/api/runtime_registry.go
  • pkg/api/runtime_sandbox_schema.go
  • pkg/api/sandbox_codex.go
  • pkg/api/sandbox_codex_ginkgo_test.go
  • pkg/api/sandbox_grant.go
  • pkg/api/sandbox_policy.go
  • pkg/api/spec.go
  • pkg/api/spec_codec.go
  • pkg/api/spec_composition.go
  • pkg/api/spec_defaults_ginkgo_test.go
  • pkg/api/spec_layer_validation_ginkgo_test.go
  • pkg/api/spec_layers.go
  • pkg/api/spec_layers_ginkgo_test.go
  • pkg/api/spec_merge.go
  • pkg/api/spec_merge_keys.go
  • pkg/api/spec_merge_presence_ginkgo_test.go
  • pkg/api/spec_merge_strategic_ginkgo_test.go
  • pkg/api/spec_provenance.go
  • pkg/api/spec_runtime.go
  • pkg/api/spec_runtime_ginkgo_test.go
  • pkg/api/terminal_answers.go
  • pkg/api/terminal_answers_ginkgo_test.go
  • pkg/api/terminal_outcome.go
  • pkg/api/terminal_plan.go
  • pkg/api/terminal_questions.go
  • pkg/api/terminal_questions_ginkgo_test.go
  • pkg/api/token_size.go
  • pkg/api/tool_aliases.go
  • pkg/api/tool_aliases_ginkgo_test.go
  • pkg/api/tool_policy_support_test.go
  • pkg/api/tooldef.go
  • pkg/api/verify_merge.go
  • pkg/api/workflow.go
  • pkg/api/workspace.go
  • pkg/api/workspace_ginkgo_test.go
  • pkg/captainconfig/config.go
  • pkg/claude/history.go
  • pkg/claude/reader.go
  • pkg/claude/reader_injected_test.go
  • pkg/claude/reader_test.go
  • pkg/cli/ai_agent.go
  • pkg/cli/ai_models_test.go
  • pkg/cli/ai_options.go
  • pkg/cli/ai_prompt_file.go
  • pkg/cli/ai_prompt_file_test.go
  • pkg/cli/ai_runtime_perms_ginkgo_test.go
  • pkg/cli/ai_runtime_resolve.go
  • pkg/cli/ai_runtime_resolve_ginkgo_test.go
  • pkg/cli/ai_tokens.go
  • pkg/cli/context_wire_ginkgo_test.go
  • pkg/cli/event_renderer.go
  • pkg/cli/event_renderer_ginkgo_test.go
  • pkg/cli/event_renderer_suspend.go
  • pkg/cli/event_renderer_suspend_ginkgo_test.go
  • pkg/cli/event_renderer_verdict.go
  • pkg/cli/model_selection_ginkgo_test.go
  • pkg/cli/permissions_matrix_test.go
  • pkg/cli/plan.go
  • pkg/cli/plan_identity_ginkgo_test.go
  • pkg/cli/plan_readonly_ginkgo_test.go
  • pkg/cli/prompt_batch_run.go
  • pkg/cli/prompt_batch_session_ginkgo_test.go
  • pkg/cli/prompt_chat.go
  • pkg/cli/prompt_chat_ginkgo_test.go
  • pkg/cli/prompt_chat_http.go
  • pkg/cli/prompt_chat_permission_mode_ginkgo_test.go
  • pkg/cli/prompt_chat_persist_ginkgo_test.go
  • pkg/cli/prompt_chat_types.go
  • pkg/cli/prompt_entity.go
  • pkg/cli/prompt_help.go
  • pkg/cli/prompt_input_ginkgo_test.go
  • pkg/cli/prompt_layers.go
  • pkg/cli/prompt_layers_ginkgo_test.go
  • pkg/cli/prompt_observe.go
  • pkg/cli/prompt_profile_layers_ginkgo_test.go
  • pkg/cli/prompt_records.go
  • pkg/cli/prompt_render.go
  • pkg/cli/prompt_run.go
  • pkg/cli/prompt_run_events.go
  • pkg/cli/prompt_run_failure_ginkgo_test.go
  • pkg/cli/prompt_run_iterations.go
  • pkg/cli/prompt_run_live.go
  • pkg/cli/prompt_run_persist.go
  • pkg/cli/prompt_run_persist_lifecycle_ginkgo_test.go
  • pkg/cli/prompt_run_persist_test.go
  • pkg/cli/prompt_run_record_ginkgo_test.go
  • pkg/cli/prompt_run_test.go
  • pkg/cli/prompt_runtime_variants_ginkgo_test.go
  • pkg/cli/prompt_schema_test.go
  • pkg/cli/prompt_source.go
  • pkg/cli/prompt_source_test.go
  • pkg/cli/prompt_spec.go
  • pkg/cli/runtime_entity_common.go
  • pkg/cli/runtime_entity_db_ginkgo_test.go
  • pkg/cli/runtime_entity_ginkgo_test.go
  • pkg/cli/runtime_preset_entity.go
  • pkg/cli/runtime_profile_catalog_ginkgo_test.go
  • pkg/cli/runtime_profile_entity.go
  • pkg/cli/serve.go
  • pkg/cli/serve_adapter_schemas.go
  • pkg/cli/serve_adapter_schemas_ginkgo_test.go
  • pkg/cli/serve_chat_profile.go
  • pkg/cli/serve_chat_profile_ginkgo_test.go
  • pkg/cli/serve_openapi.go
  • pkg/cli/serve_openapi_tokens.go
  • pkg/cli/session_follow.go
  • pkg/cli/session_follow_ginkgo_test.go
  • pkg/cli/session_get.go
  • pkg/cli/session_get_fold_db_ginkgo_test.go
  • pkg/cli/session_get_fold_ginkgo_test.go
  • pkg/cli/session_get_multi_test.go
  • pkg/cli/session_http.go
  • pkg/cli/session_http_ginkgo_test.go
  • pkg/cli/session_record_db.go
  • pkg/cli/session_tokens.go
  • pkg/cli/session_tokens_ginkgo_test.go
  • pkg/cli/session_tokens_integration_test.go
  • pkg/cli/sessions.go
  • pkg/cli/sessions_test.go
  • pkg/cli/testdata/permissions_matrix_test.md
  • pkg/cli/webapp/package.json
  • pkg/cli/webapp/src/AdapterSchemasPage.test.tsx
  • pkg/cli/webapp/src/AdapterSchemasPage.tsx
  • pkg/cli/webapp/src/App.tsx
  • pkg/cli/webapp/src/PromptBatchInspector.tsx
  • pkg/cli/webapp/src/PromptDetailPane.test.tsx
  • pkg/cli/webapp/src/PromptDetailPane.tsx
  • pkg/cli/webapp/src/PromptRunStream.tsx
  • pkg/cli/webapp/src/RuntimeProfilesPage.test.tsx
  • pkg/cli/webapp/src/RuntimeProfilesPage.tsx
  • pkg/cli/webapp/src/SessionDetail.test.tsx
  • pkg/cli/webapp/src/SessionDetail.tsx
  • pkg/cli/webapp/src/SessionTable.test.tsx
  • pkg/cli/webapp/src/SessionTable.tsx
  • pkg/cli/webapp/src/adapterSchemas.test.ts
  • pkg/cli/webapp/src/adapterSchemas.ts
  • pkg/cli/webapp/src/askAnswer.test.ts
  • pkg/cli/webapp/src/askAnswer.ts
  • pkg/cli/webapp/src/hooks/usePromptRunStream.test.tsx
  • pkg/cli/webapp/src/hooks/usePromptRunStream.ts
  • pkg/cli/webapp/src/hooks/useSessionChat.permissionMode.test.ts
  • pkg/cli/webapp/src/hooks/useSessionChat.test.ts
  • pkg/cli/webapp/src/hooks/useSessionChat.ts
  • pkg/cli/webapp/src/runtimeProfilesApi.test.ts
  • pkg/cli/webapp/src/runtimeProfilesApi.ts
  • pkg/cli/webapp/src/runtimeProfilesData.test.tsx
  • pkg/cli/webapp/src/runtimeProfilesData.ts
  • pkg/cli/webapp/src/runtimeProfilesRoute.test.ts
  • pkg/cli/webapp/src/runtimeProfilesRoute.ts
  • pkg/cli/webapp/src/sessionApprovals.test.ts
  • pkg/cli/webapp/src/sessionApprovals.ts
  • pkg/cli/webapp/src/sessionCollection.test.ts
  • pkg/cli/webapp/src/sessionData.ts
  • pkg/cli/webapp/src/sessionTokens.test.ts
  • pkg/cli/webapp/src/sessionTokens.ts
  • pkg/cli/webapp/src/shellHelpers.test.ts
  • pkg/cli/webapp/src/shellHelpers.ts
  • pkg/container/base/Dockerfile
  • pkg/database/context_ginkgo_test.go
  • pkg/database/context_integration_ginkgo_test.go
  • pkg/database/database.go
  • pkg/database/delete_guard.go
  • pkg/database/delete_guard_ginkgo_test.go
  • pkg/database/listen.go
  • pkg/database/plan_review_reset_ginkgo_test.go
  • pkg/database/plan_review_store.go
  • pkg/database/plan_revision_store.go
  • pkg/database/plan_store.go
  • pkg/database/prompt_run_metadata_ginkgo_test.go
  • pkg/database/prompt_run_operations.go
  • pkg/database/prompt_run_overview.go
  • pkg/database/prompt_run_schema_drift_ginkgo_test.go
  • pkg/database/prompt_run_store.go
  • pkg/database/row_change.go
  • pkg/database/row_change_ginkgo_test.go
  • pkg/database/runtime_profile_store.go
  • pkg/database/runtime_profile_store_integration_test.go
  • pkg/database/session_chat_store.go
  • pkg/database/session_ingest_store.go
  • pkg/database/session_ingest_store_integration_test.go
  • pkg/database/session_list_store.go
  • pkg/database/session_list_store_ginkgo_test.go
  • pkg/database/session_message_ingest.go
  • pkg/database/session_overview_ginkgo_test.go
  • pkg/database/session_read_store.go
  • pkg/database/session_thread_store.go
  • pkg/database/session_transcript_order_integration_test.go
  • pkg/database/session_transcript_source_ginkgo_test.go
  • pkg/database/tool_approval_posture.go
  • pkg/database/tool_approval_store.go
  • pkg/monitor/ingest.go
  • pkg/plans/plans.go
  • pkg/plans/plans_suite_test.go
  • pkg/plans/review_ginkgo_test.go
  • pkg/plans/save_ginkgo_test.go
  • pkg/promptrun/README.md
  • pkg/promptrun/approvals.go
  • pkg/promptrun/approvals_announce_ginkgo_test.go
  • pkg/promptrun/approvals_ginkgo_test.go
  • pkg/promptrun/hooks.go
  • pkg/promptrun/preflight.go
  • pkg/promptrun/preflight_callertools.go
  • pkg/promptrun/preflight_callertools_ginkgo_test.go
  • pkg/promptrun/preflight_config.go
  • pkg/promptrun/preflight_constraints_ginkgo_test.go
  • pkg/promptrun/preflight_ginkgo_test.go
  • pkg/promptrun/preflight_runtime_config_ginkgo_test.go
  • pkg/promptrun/preflight_runtime_ginkgo_test.go
  • pkg/promptrun/promptrun_ginkgo_test.go
  • pkg/promptrun/provider_ginkgo_test.go
  • pkg/promptrun/record.go
  • pkg/promptrun/record_completed.go
  • pkg/promptrun/record_control.go
  • pkg/promptrun/record_control_ginkgo_test.go
  • pkg/promptrun/record_finish.go
  • pkg/promptrun/record_ginkgo_test.go
  • pkg/promptrun/recorder.go
  • pkg/promptrun/result.go
  • pkg/promptrun/run.go
  • pkg/runtimeprofiles/README.md
  • pkg/runtimeprofiles/builtin/presets/edit.yaml
  • pkg/runtimeprofiles/builtin/presets/plan.yaml
  • pkg/runtimeprofiles/builtin/presets/read-only.yaml
  • pkg/runtimeprofiles/builtin_source.go
  • pkg/runtimeprofiles/builtin_source_ginkgo_test.go
  • pkg/runtimeprofiles/catalog.go
  • pkg/runtimeprofiles/db_source.go
  • pkg/runtimeprofiles/default_catalog.go
  • pkg/runtimeprofiles/default_catalog_ginkgo_test.go
  • pkg/runtimeprofiles/embedded_source.go
  • pkg/runtimeprofiles/embedded_source_ginkgo_test.go
  • pkg/runtimeprofiles/file_codec.go
  • pkg/runtimeprofiles/file_source.go
  • pkg/runtimeprofiles/layer_errors.go
  • pkg/runtimeprofiles/layer_validation_ginkgo_test.go
  • pkg/runtimeprofiles/layers_ginkgo_test.go
  • pkg/runtimeprofiles/references.go
  • pkg/runtimeprofiles/resolve.go
  • pkg/runtimeprofiles/resolver.go
  • pkg/runtimeprofiles/resolver_ginkgo_test.go
  • pkg/runtimeprofiles/types.go
  • pkg/sandbox/adapter/gitagent.go
  • pkg/session/awaiting_input.go
  • pkg/session/build.go
  • pkg/session/build_codex.go
  • pkg/session/build_codex_paths_test.go
  • pkg/session/build_codex_permission_mode_ginkgo_test.go
  • pkg/session/build_codex_test.go
  • pkg/session/build_messages.go
  • pkg/session/build_test.go
  • pkg/session/context_ginkgo_test.go
  • pkg/session/identity.go
  • pkg/session/injected_messages_ginkgo_test.go
  • pkg/session/load/aggregate.go
  • pkg/session/load/aggregate_ginkgo_test.go
  • pkg/session/load/awaiting_input.go
  • pkg/session/load/awaiting_input_ginkgo_test.go
  • pkg/session/load/load.go
  • pkg/session/load/projection.go
  • pkg/session/load/projection_ginkgo_test.go
  • pkg/session/load/promptrun.go
  • pkg/session/load/promptrun_ginkgo_test.go
  • pkg/session/message.go
  • pkg/session/metadata.go
  • pkg/session/metadata_ginkgo_test.go
  • pkg/session/permission_mode_ginkgo_test.go
  • pkg/session/pretty.go
  • pkg/session/pretty_compact_test.go
  • pkg/session/pretty_muted_test.go
  • pkg/session/project.go
  • pkg/session/query/facts.go
  • pkg/session/query/fold.go
  • pkg/session/query/fold_ginkgo_test.go
  • pkg/session/query/follow.go
  • pkg/session/query/follow_facets.go
  • pkg/session/query/follow_facets_ginkgo_test.go
  • pkg/session/query/follow_ginkgo_test.go
  • pkg/session/query/follow_tail.go
  • pkg/session/query/follow_tail_ginkgo_test.go
  • pkg/session/query/follow_thread.go
  • pkg/session/query/notify.go
  • pkg/session/query/projection.go
  • pkg/session/query/prompt_run_ginkgo_test.go
  • pkg/session/query/query.go
  • pkg/session/query/stored.go
  • pkg/session/request.go
  • pkg/session/response_costs_test.go
  • pkg/session/session.go
  • pkg/session/tokens/tokens.go
  • pkg/session/tokens/tokens_ginkgo_test.go
  • pkg/session/tool_cost.go
  • pkg/session/tool_cost_claude.go
  • pkg/session/tool_cost_claude_ginkgo_test.go
  • pkg/session/tool_cost_codex.go
  • pkg/session/tool_cost_ginkgo_test.go
  • pkg/session/transcript_pretty.go
  • pkg/session/turns.go
  • pkg/session/turns_test.go
  • pkg/sessiontree/ensure.go
  • pkg/sessiontree/ensure_ginkgo_test.go
  • pkg/sessiontree/sessiontree_suite_test.go

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Gavel summary

Source Pass Fail Skip Duration

Totals: 0 passed · 0 failed · 0 skipped · -

View full results

@socket-security

socket-security Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Gavel summary

Source Pass Fail Skip Duration
adapters 8 0 0 125ms
agent 5 0 0 306.291µs
agentbrowser 38 0 0 31ms
agentcreds 11 0 0 2ms
agentsandbox 5 0 0 5ms
ai 103 0 0 61ms
aichat 147 0 2 49.5s
aiflags 37 0 0 9ms
anthropicmock 1 0 0 1ms
api 548 0 0 382ms
approval 78 0 0 4.6s
assistanttags 9 0 0 396.04µs
attachments 5 0 0 4ms
bash 4 0 0 163.204µs
cache 11 0 0 278ms
callertools 17 0 0 118ms
captain 31 0 0 11.5s
captainconfig 4 0 0 692.702µs
claude 27 0 0 11ms
claudeagent 79 0 0 864ms
claudeconfig 7 0 0 7ms
cli 479 0 0 38.0s
cmux 12 0 0 17ms
codexconfig 15 0 0 16ms
collections 12 0 0 325.467µs
commit 9 0 0 921ms
compattest 1 0 0 57.6s
credentials 5 0 0 31ms
credsync 11 0 0 330ms
database 80 0 0 39.4s
deploy 110 0 0 262ms
genkit 33 0 0 144ms
gitagent 123 0 0 17.0s
github.com/flanksource/captain/migrations 11 0 0 4.5s
github.com/flanksource/captain/pkg/ai 247 0 0 630ms
github.com/flanksource/captain/pkg/ai/agent 27 0 0 450ms
github.com/flanksource/captain/pkg/ai/agent/commit 57 0 0 4.6s
github.com/flanksource/captain/pkg/ai/agent/setup 24 0 0 440ms
github.com/flanksource/captain/pkg/ai/agent/verify 36 0 0 400ms
github.com/flanksource/captain/pkg/ai/agent/worktree 6 0 0 -
github.com/flanksource/captain/pkg/ai/assistanttags 15 0 0 -
github.com/flanksource/captain/pkg/ai/fixture 43 0 0 120ms
github.com/flanksource/captain/pkg/ai/fixture/kubeproxy 2 0 0 20ms
github.com/flanksource/captain/pkg/ai/fixture/mcpproxy 6 0 0 -
github.com/flanksource/captain/pkg/ai/history 54 0 0 10ms
github.com/flanksource/captain/pkg/ai/internal/gen-model-registry 12 0 0 -
github.com/flanksource/captain/pkg/ai/middleware 28 0 0 40ms
github.com/flanksource/captain/pkg/ai/observation 3 0 0 -
github.com/flanksource/captain/pkg/ai/pricing 9 0 0 10ms
github.com/flanksource/captain/pkg/ai/prompt 26 0 0 70ms
github.com/flanksource/captain/pkg/ai/provider 183 0 1 10ms
github.com/flanksource/captain/pkg/ai/provider/claudeagent 61 0 0 1.3s
github.com/flanksource/captain/pkg/ai/provider/cmux 137 0 0 860ms
github.com/flanksource/captain/pkg/ai/provider/genkit 39 0 0 10ms
github.com/flanksource/captain/pkg/ai/provider/jsonrpc 6 0 0 50ms
github.com/flanksource/captain/pkg/ai/provider/openai 8 0 0 20ms
github.com/flanksource/captain/pkg/aichat 5 0 0 100ms
github.com/flanksource/captain/pkg/aiflags 9 0 0 -
github.com/flanksource/captain/pkg/aimock 50 0 7 150ms
github.com/flanksource/captain/pkg/aimock/anthropicmock 14 0 0 10ms
github.com/flanksource/captain/pkg/aimock/openaimock 18 0 0 60ms
github.com/flanksource/captain/pkg/api 144 0 0 3.5s
github.com/flanksource/captain/pkg/api/registry 131 0 0 -
github.com/flanksource/captain/pkg/bash 348 0 0 10ms
github.com/flanksource/captain/pkg/captainconfig 29 0 0 -
github.com/flanksource/captain/pkg/captaintoken 23 0 0 1.4s
github.com/flanksource/captain/pkg/claude 138 0 0 -
github.com/flanksource/captain/pkg/claude/tools 18 0 0 -
github.com/flanksource/captain/pkg/cli 829 0 1 55.6s
github.com/flanksource/captain/pkg/cmux 1 0 0 -
github.com/flanksource/captain/pkg/codexconfig 10 0 0 10ms
github.com/flanksource/captain/pkg/container 72 0 1 -
github.com/flanksource/captain/pkg/database 153 0 0 32.2s
github.com/flanksource/captain/pkg/gitagent 31 0 0 340ms
github.com/flanksource/captain/pkg/gitagent/proxy 12 0 0 10ms
github.com/flanksource/captain/pkg/monitor 58 0 0 4.0s
github.com/flanksource/captain/pkg/sandbox 13 0 0 -
github.com/flanksource/captain/pkg/sandbox/adapter 39 0 0 10ms
github.com/flanksource/captain/pkg/sandbox/presets 13 0 0 -
github.com/flanksource/captain/pkg/session 70 0 0 10ms
history 84 0 0 119ms
jsonl 6 0 0 40ms
load 59 0 0 8ms
migrations 38 0 0 22.4s
monitor 18 0 0 2.8s
openai 2 0 0 1ms
openaimock 2 0 0 154.728µs
plans 17 0 0 11.1s
process 23 0 0 24ms
prompt 18 0 0 6ms
promptrun 138 0 0 21.6s
provider 106 0 0 74ms
query 42 0 0 6.2s
registry 111 0 0 10ms
runtimeprofiles 78 0 0 2.5s
session 55 0 0 40ms
sessiontree 15 0 0 356ms
setup 7 0 0 1.2s
tokens 5 0 0 802.226µs
tools 64 0 0 10ms
transcript 2 0 0 67.415µs
verify 29 0 0 472ms

Totals: 6252 passed · 0 failed · 12 skipped · 6m41s

View full results

Claude-Session-Id: c1750ebd-c2e1-43bc-8962-5499fa2e65d7
A decoded `"permissions": {}` marked /permissions explicitly present, and
the explicit-path pass then overwrote the merged section with the zero
struct — dropping every inherited value the override never named, so a
request that merely mentioned the section erased the project's tool policy.

An explicit path naming an all-zero struct now merges field-wise instead of
replacing. Every value the override actually supplied inside the section
still carries its own explicit path and still wins, including a
deliberately emptied collection like `"tools": {}`.

Claude-Session: https://claude.ai/code/session_01QemSU28zWbxmrRuNKfoFPb

Claude-Session-Id: 2d8cf8c1-0626-49fd-b02b-654e7c1554fe
…s only

A spec layer is a source of defaults: the last layer naming a field owns it,
and no layer restricts what a later one may select. A posture that must
survive the whole stack is applied by its owner as the final layer rather
than hung off an earlier layer as a ceiling.

Deletes RuntimeConstraints and everything that folded it — the permission
ceiling lattice, the restrictive model catalog, run limits and usage quotas,
ValidateRuntimeConstraints, and the aichat/promptrun enforcement paths that
read them. Nothing outside tests ever produced a model or quota constraint,
and the permission lattice ranked only four of the six permission modes, so
a stack pairing an unranked posture (auto, dontAsk) with any other refused
to compose at all — one such pairing took down a whole run-context response.

ComposeSpecLayers is now the fold alone: order the layers, merge the specs,
record provenance, validate the effective budget.

Claude-Session: https://claude.ai/code/session_01QemSU28zWbxmrRuNKfoFPb

Claude-Session-Id: 2d8cf8c1-0626-49fd-b02b-654e7c1554fe
…nventory and Go DTOs

Claude-Session-Id: 01a08ec3-abce-7663-b1a3-546c0b710945
Claude-Session-Id: 01a09053-85e4-7382-9b30-5a4048a9c95f
Claude-Session-Id: d72dec9c-ff9c-4f1e-b821-264063be5727
Claude-Session-Id: c7ef9a1a-c38c-4d0e-bf53-db8d1829d974
…nt mapper config

Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
…t-in defaults

Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
…n chat

Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
Claude-Session-Id: 01a0a813-4df1-72f0-b045-3c31d672c8c0
Claude-Session-Id: 01a0b3ab-29e0-7ee1-aa0e-89f7b48065a7
Claude-Session-Id: fe63c69c-4e6a-4230-86da-fca899327996
Claude-Session-Id: 01a0cc87-ee7d-7721-baca-11e38c8badba
Claude-Session-Id: c7d6497a-8a15-4f2f-b203-32fa7f360cac
Refactor Workspace to use a structured WorktreeState type instead of scalar Branch/Base fields. This provides clearer separation between isolated worktree runs and shared checkouts, and enables richer teardown reporting of worktree lifecycle (kept/removed, branch deleted, uncommitted changes).

BREAKING CHANGE: Workspace.Branch and Workspace.Base removed; use Workspace.Worktree.Branch and Workspace.Worktree.Base instead. Workspace.Worktree is nil for runs in the caller's checkout.
The saved-defaults spec pinned claude-sonnet-5, which broke when the catalog
promoted the sonnet alias to claude-sonnet-5-5. The alias target is pinned by
the registry's own tests; this spec only checks the saved alias reaches
resolution.

Claude-Session-Id: f22d5af5-750c-4f54-a30f-57e8060a353b
An async Agent call returns at once, so the SDK settled the main turn while
its subagent still ran. Captain ended the turn on that first result: the chat
request closed the provider, the bridge shut down and killed the subagent, and
persisting the turn failed on the subagent's unfinished tool call.

- End a turn on the CLI's session_state_changed idle (opted into with
  CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS), merging the SDK results it settled:
  usage sums, cost is the query's running total.
- Carry parent_tool_use_id as Event.ParentToolCallID and AI SDK toolMetadata,
  exempt subagent calls from the turn's completeness checks, and close any the
  turn outlived with an explicit error.
- Drop subagent narration from the parent's answer.
- Dedupe streamed text by content: the SDK now sends one assistant message per
  completed block, so position-based dedupe printed every reply twice.
- Let the bridge exit on shutdown before stopping it, so a clean run's task is
  not recorded as cancelled.

Bumps the bridge protocol to 3.

Claude-Session-Id: f22d5af5-750c-4f54-a30f-57e8060a353b
# Conflicts:
#	pkg/aichat/approval_execution.go
#	pkg/aichat/approval_execution_test.go
#	pkg/aichat/execution_database_authority.go
#	pkg/aichat/runtime_profile.go
#	pkg/aichat/runtime_profile_ginkgo_test.go
#	pkg/api/runtime_constraints.go
#	pkg/api/spec_layers.go
#	pkg/api/spec_layers_ginkgo_test.go
#	pkg/cli/webapp/src/App.tsx
#	pkg/cli/webapp/src/shellHelpers.ts
#	pkg/promptrun/preflight_constraints_ginkgo_test.go
Claude-Session-Id: 09629306-a4eb-413f-b217-1a5868fff340
Claude-Session-Id: ea298832-b5e2-4688-bcf2-785faf512651
…aming

Enable schema validation retries for streaming responses by resuming provider sessions on repair turns. In addition, enable session reuse in agent verify loops to preserve context across attempts.

Claude-Session-Id: b196d15e-247c-4cf2-947f-a50b32a85178
Update flanksource commons, commons-db, and clicky packages to latest versions. Adapt CLI live session unit test to use Codex provider telemetry.
Claude-Session-Id: 839416bd-5659-4f49-bc2e-eb0ed8c2b2a7
@moshloop
moshloop merged commit c6262ee into main Oct 8, 2026
12 checks passed
@moshloop
moshloop deleted the moshloop branch October 8, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant