Repository navigation
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Prevent infinite loop in _next_run_at when recurrence value is 0 or negative. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…t the store has none. Permission cards arrive on WS frames and are not in the JSONL transcript, so a missed frame (closed socket, store rebuild) left the "Waiting for your approval" banner with no card to answer. Recovery now re-runs from the /sessions poll whenever `awaiting` is set with no unresolved local card, and runs after SET_SESSIONS so it can't land before the session exists in the store. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Re-check settings.paused (freshly loaded) before each schedule-pass slice in _loop's sub-loop, so a manual pause or the auto-pause quota safety stops schedule-born dispatch within one slice instead of waiting out the full tick interval. Extracted the decision into a pure _should_run_schedule_pass(settings) helper for unit testing, since driving _loop's while-True loop directly in a test is awkward.
… hung one. mcp 2.0 removed `mcp.server.fastmcp`, silently killing every DevScope stdio MCP server (browser-control included) — sessions fell back to a playwright --extension server whose calls hang until the 900s watchdog kills the turn. Pin the dep to match pyproject, and append fallback guidance to the system prompt: on a failed/hung/blocked tool, switch tools (browser-control first, then WebFetch/WebSearch) rather than retrying into the watchdog. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The plain python3 command resolved to Homebrew's interpreter, which lacks the mcp package, so all seven devscope_bridge MCP servers died on import (CONNECTION_CLOSED at registration). Point them at the venv interpreter that has the pinned mcp<2. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ed runs Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Also cap run-report/memory payload sizes and mark task memory as untrusted data in worker prompts (security-review findings). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds the steward chat route so the user can talk to a recurring task, replaces ScheduleDetailPanel with ScheduleChatPanel (run digests, inline question answering, run-now/pause/delete, playbook drawer). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… card Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Manual E2E checklist (run with bridge restarted on this branch + extension reloaded): 1. '+ משימה חדשה' opens a setup chat; draft card fills in as the interview lands facts. 2. schedule_commit in chat -> card flips to success -> 'לצ'אט של המשימה' opens the feed. 3. 'הרץ עכשיו' -> run digest bubble appears within ~1 min; artifact chips clickable. 4. Worker task_ask_user -> amber question card -> inline answer resumes the run. 5. Composer message opens the sched-steward chat with task context. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ader A single stream-json stdout line can carry an image tool_result (149KB-843KB observed). asyncio's default 64 KiB readline limit makes 'async for raw in proc.stdout' raise ValueError mid-turn; the reader dies silently, no further frames reach the panel, the turn never registers as complete, and the watchdog/idle-eviction kill the session — the user sees the agent 'start working and disappear'. Spawn every claude subprocess with limit=16 MiB. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ScheduleChatPanel), chat-first schedule creation with a live draft card replacing the modal wizard, human-readable timestamps, and removal of the oldScheduleDetailPanel.Test plan
test_agents_scanner, which fails identically on a clean tree)npm run buildpasses🤖 Generated with Claude Code