feat(agent): observable agent execution + durable runs - #70
feat(agent): observable agent execution + durable runs#701012839419a-alt wants to merge 4 commits into
Conversation
|
Warning Review limit reached
Next review available in: 59 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
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. Comment |
|
📋 At a glance Files & modules (3)
✅ Health gate: passed 📌 Before you merge
🔎 More signals (4)🗺️ Change map flowchart LR
subgraph PR ["Changed in this PR (4 with dependents)"]
f_backend_models___init___py["backend/models/__init__.py 🔥"]:::changed
f_backend_api_v1_chat_py[".../v1/chat.py"]:::changed
f_frontend_components_shell_global_agent_dock_tsx[".../shell/global-agent-dock.tsx"]:::changed
f_tests_unit_test_migration_heads_py["tests/unit/test_migration_heads.py"]:::changed
end
f_backend_api_v1___init___py[".../v1/__init__.py"]
f_backend_models___init___py --> f_backend_api_v1___init___py
f_backend_api_v1_workflows_py[".../v1/workflows.py"]
f_backend_models___init___py --> f_backend_api_v1_workflows_py
f_backend_channels_opencli_channel_py["backend/channels/opencli_channel.py"]
f_backend_models___init___py --> f_backend_channels_opencli_channel_py
f_backend_config_py["backend/config.py"]
f_backend_models___init___py --> f_backend_config_py
f_backend_api_v1_chat_py --> f_backend_api_v1___init___py
f_frontend_components_shell_app_shell_tsx[".../shell/app-shell.tsx"]
f_frontend_components_shell_global_agent_dock_tsx --> f_frontend_components_shell_app_shell_tsx
f_tests_unit_test_migration_heads_py --> f_backend_api_v1___init___py
f_backend_api_v1_workspaces_py[".../v1/workspaces.py"]
f_tests_unit_test_migration_heads_py --> f_backend_api_v1_workspaces_py
f_backend_schemas_workflow_py["backend/schemas/workflow.py"]
f_tests_unit_test_migration_heads_py --> f_backend_schemas_workflow_py
f_backend_workflow_opencli_hda_tracer_py["backend/workflow/opencli_hda_tracer.py"]
f_tests_unit_test_migration_heads_py --> f_backend_workflow_opencli_hda_tracer_py
more(["+5 more dependents"])
PR --> more
w_backend_api_v1___init___py(["⚠️ .../v1/__init__.py changed together 14×, not in PR"]):::warn
f_backend_models___init___py -.- w_backend_api_v1___init___py
t_tests_integration_test_image_studio_api_py(["✅ tests/integration/test_image_studio_api.py"]):::guard
t_tests_integration_test_image_studio_api_py -.-> f_backend_models___init___py
t_tests_integration_test_chat_api_py(["✅ tests/integration/test_chat_api.py"]):::guard
t_tests_integration_test_chat_api_py -.-> f_backend_api_v1_chat_py
t_tests_unit_api_test_workspaces_py(["✅ .../api/test_workspaces.py"]):::guard
t_tests_unit_api_test_workspaces_py -.-> f_tests_unit_test_migration_heads_py
classDef changed fill:#dbeafe,stroke:#1d4ed8,color:#1e3a5f
classDef warn fill:#fef3c7,stroke:#b45309,color:#78350f
classDef guard fill:#dcfce7,stroke:#15803d,color:#14532d
Solid arrows: code that imports the changed files (13 direct dependents, from the last indexed snapshot). Dashed: history/tests. 🔥 Hotspots touched (5)
2 more
🔗 Hidden coupling (1 file)
💀 Dead code (1 finding)
👀 Suggested reviewers @2233admin 📊 See the full report for this PR |
CI: Next Frontend failure — 上游 CI 配置缺陷(next start vs output: standalone)现象: 根因:job 的 WebServer 步骤用
为什么历史 PR 是绿的(#65 等):同一警告也出现在 #65 的日志里,但那次
建议:上游把 CI WebServer 步骤改为 standalone 模式正确启动方式( |
…ndpoints in capability matrix
Summary
AgentRun/AgentRunEvent/AgentSessionmodels + alembic migration), so runs survive API restarts and can be replayed/queriedopenspec/changes/agent-execution-experience/(brief / design / motion / qa / tasks)Origin
This is T2 split out of draft PR #61 (7 commits → 4 independent themes). T2 =
cde5ff8(observable agent execution) +80fb22d(persist interactive agent runs), cherry-picked onto current main (7838811, #60) with zero conflicts; T1 (local admin onboarding) was already split into #68 and is NOT included here.Verification
AgentRunpersistence is a follow-up.Notes
a8b9c0d1e2f3down_revision was rewired from T1's local-admin migration (z7a8b9c0d1e2) to the actual predecessor on main (k8l9m0n1o2p3), so the migration chain is self-contained without T1.