clanker
|
c6af578198
fix: no daemon request may hang the dispatcher — Soup session timeouts (SADDLE_HTTP_TIMEOUT_S, default 30s, idle-pool reaping) plus a 60s tick watchdog that force-resets the latch; request paths already retry transport blips once
|
1 lună în urmă |
clanker
|
7c2b3e00b5
feat: task-reading API for the daemon CLIs — GET /api/saddle/tasks (project_id filter, q over title/description/plan) and GET /api/saddle/task/{id} (parent title joined), callback-token authenticated; harness pins LD_LIBRARY_PATH empty so the binary's RUNPATH always resolves the dev stack
|
1 lună în urmă |
clanker
|
04b636e258
feat: /start gains the parent object for subtask dispatches — id, title, description, plan (clamped ~4000 chars), status; absent for root tasks
|
1 lună în urmă |
clanker
|
d96b06883a
feat: dispatch-failure observability — saddle abandons carry the reason into a bot comment (push failure / repeated poll failures), and tasks caught on offline saddles requeue with a bot comment each tick (extends stale-busy healing)
|
1 lună în urmă |
clanker
|
e561f584c3
feat: subtask auto-approve — tasks.auto_approve toggle above the subtasks table covers descendants transitively; covered review blocks auto-answered ('auto' recorded, timeline entry, delivered like a human verdict) while questions/RFCs and the parent's own review stay human-gated; all-terminal descendants resume with the push-first final-review instruction
|
1 lună în urmă |
clanker
|
7625609d95
feat: POST /api/saddle/subtask callback — synchronous subtask creation (parent's project/branch, task_dependencies with exists+ancestor-cycle validation, timeline entry, idempotent on parent+title); entry-poll creation kept as dedup fallback
|
1 lună în urmă |
clanker
|
b490d6e102
feat: heal stale-busy saddles each tick (busy@0 and daemon-idle contradiction) so a stranded saddle never blocks dispatch; test fake daemon moves to a time-based lifecycle (poll-count conflated dispatcher polls with heal/refresh probes and raced the subtask-retry window), plus crash diagnostics (gdb wrap, early-crash restart, FD/stack/returncode dumps at teardown)
|
1 lună în urmă |
clanker
|
55848be0b3
feat: subtask status push — POST /subtask-status to the parent's live/parked-session daemon on creation and every status change, coalescing best-effort queue retried per tick (mirrors pending comments)
|
1 lună în urmă |
clanker
|
0614417826
feat: suspended state + per-subtask parent resume — /status 'suspended' parks the task and frees the saddle (suspended_at stamps the parking window), the dispatcher resumes a suspended parent on each terminal subtask event with a coalesced markdown report as /start resume_notice, subtasks array in every /start payload (wire contract)
|
1 lună în urmă |
clanker
|
b0df1634cf
feat: client-side ANSI rendering in the raw terminal view — SGR bold/italic/8-16-256 colour fg+bg as styled spans, partial escape sequences buffered across chunks, other CSI codes stripped, plain-text fallback
|
1 lună în urmă |
clanker
|
43915c6c15
feat: computed task display state (TaskService.TaskDisplay) used by all lists and the detail page — review-requested over stored done, delegating x/y with open subtasks, terminal/failed flags; presentation only
|
1 lună în urmă |
clanker
|
7a2d2f49c9
feat: required-capabilities multi-select on the task create form (validated before create; detail-page attach/detach unchanged)
|
1 lună în urmă |
clanker
|
c83d384c39
fix: compare-changes links translate SSH git remotes to HTTPS (ssh://git@host:port/owner/repo.git and git@host:owner/repo forms; SSH-only ports dropped)
|
1 lună în urmă |
clanker
|
d971152ed3
test: question-block body above options verified — body + selected answer render after answering (bodies arrive once A2 lands; contract-side covered here)
|
1 lună în urmă |
clanker
|
e51bad5de4
fix: hide the review block's duplicate body preview while the review section shows it (same pattern as the plan-review fix)
|
1 lună în urmă |
clanker
|
dad7e9a882
fix: restore the missing quote-comment dialog on the task page (highlight-to-comment popover opened nothing)
|
1 lună în urmă |
clanker
|
4fdf76d76b
test: more patient connection retries and fail-fast diagnostics when the app exits during harness startup
|
1 lună în urmă |
clanker
|
68fdd9daf5
feat: rejected terminal entries render in a distinct non-fatal amber style (bash -n / max_tokens rejections); apply_entry_events already ignores them terminally
|
1 lună în urmă |
clanker
|
2a17623f47
feat: retry + resume — failed-task retry (summary moved to a comment and cleared, requeue bookkeeping), unreachable saddles requeue with an interruption comment, manual requeue-to-resume for tasks stuck on offline saddles, daemon 'resumed' status surfaced as a progress entry
|
1 lună în urmă |
clanker
|
8a2b5c00ca
feat: capability tags — migration, service, saddle chips + catalogue on /saddles, required-capabilities on the task page, capability-matched dispatch (superset pairing, skip-and-continue with a wait log + queue-row flag)
|
1 lună în urmă |
clanker
|
083286d86e
test: retry dropped connections in the web-stack harness (app closes a very early keep-alive connection once while warming up)
|
1 lună în urmă |
clanker
|
279e7201a2
feat: raw terminal log — session_raw_log migration, GET /log polling while a session is active, SSE raw-chunk streaming rendered as one unstyled pre (entry-type view kept for legacy sessions); fix response body slicing by written size (steal_data buffer is not NUL-terminated)
|
1 lună în urmă |
clanker
|
f5813112c6
feat: project notes — migration, POST /api/saddle/note callback with dedicated saddle-callback token, project page curation, capped project_notes + callback in the /start payload (base URL from web-config.json saddle_callback_base_url, env fallback)
|
1 lună în urmă |
clanker
|
39097a49dd
feat: rules — migration, CRUD page, project/task attach UI, effective rule set (task ∪ primary ∪ co-developed, deduped, ordered) in the /start payload
|
1 lună în urmă |
clanker
|
733152f23d
fix: hide the duplicate plan body preview while the plan-review section shows it; self-contained web-stack test harness (app + fake daemon) as a meson test
|
1 lună în urmă |