Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 47 minutes and 30 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis PR establishes automation publish/inspect/runtime/read contracts through documentation and implementation updates. Changes include new manifest fields (retry_backoff_seconds, stdout_mode), conditional automation.toml loading with manifest_source tracking, split inspect configurations, deadline-based timeout enforcement, and fallback profile metadata in read responses. Changes
Sequence DiagramssequenceDiagram
actor CLI as CLI/publish<br/>command
participant pub as publisher.py
participant fs as Filesystem<br/>(task_dir)
participant snap as Snapshot Dir<br/>versions/N/
CLI->>pub: publish_task_dir(task_dir)
pub->>fs: Check task_dir/automation.toml exists?
alt automation.toml exists
fs-->>pub: manifest found
pub->>pub: load_automation_manifest(task_dir/automation.toml)
pub->>pub: render_automation_manifest_from_manifest(...)
pub->>snap: Write manifest to automation.toml
pub->>snap: Write manifest_source="task_dir"
else automation.toml absent
fs-->>pub: manifest not found
pub->>pub: render_automation_manifest(...) [defaults]
pub->>snap: Write manifest to automation.toml
pub->>snap: Write manifest_source="generated_defaults"
end
pub-->>CLI: PublishedAutomation(manifest_source)
sequenceDiagram
participant srv as Runtime
participant tm as Timeout Mgr<br/>_deadline_for_run
participant child as Task Child<br/>Process
participant queue as Queue<br/>IPC
srv->>tm: Compute deadline from<br/>timeout_seconds
srv->>srv: Stage: before_hooks<br/>with _remaining_timeout
srv->>child: Spawn child process<br/>_run_task_entrypoint_child
par Child Execution
child->>queue: Send {ok, result} or<br/>{ok, error}
and Parent Timeout Check
srv->>tm: Check _remaining_timeout
tm-->>srv: Time remaining?
alt Timeout exceeded
srv->>srv: Raise AutomationRunTimeoutError
srv->>srv: Emit run_timed_out event
end
end
srv->>srv: if timeout: skip retry<br/>else: schedule if retries remain
sequenceDiagram
actor CLI as CLI/inspect
participant cmd as commands/<br/>automation.py
participant snap as Snapshot<br/>loader
participant svc as Automation<br/>Service
alt With --version N
CLI->>cmd: inspect --version 5
cmd->>snap: _load_snapshot_manifest(version=5)
par Load Snapshot
snap-->>cmd: snapshot_config (or error)
and Get Live State
cmd->>svc: Get current automation config
svc-->>cmd: live_config
end
cmd-->>CLI: {<br/>snapshot_config,<br/>snapshot_config_error,<br/>live_config,<br/>selected_version,<br/>latest_run<br/>}
else No version specified
CLI->>cmd: inspect automation-id
cmd->>svc: Get current state only
svc-->>cmd: live_config
cmd-->>CLI: {<br/>snapshot_config: None,<br/>live_config,<br/>selected_version: None,<br/>latest_run<br/>}
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Summary
automation.tomlduring publish and make manifest provenance explicitautomation inspectinto snapshot vs live config views and enforce automation run timeoutsValidation
./scripts/check.sh195 passedSummary by CodeRabbit
Release Notes
New Features
Bug Fixes
Documentation