Geçmişin Kaydedilmesi

Yazar SHA1 Mesaj Tarih
  clanker 16ea23f919 phase 3: capability awareness + dashboard — assignment capabilities context (saddle_tags/fleet_tags), GET /api/saddle/capabilities for the daemon CLI, subtask callback capabilities validated against the operator tag set (explicit-only, unknown tags name the valid list), task page status block pinned to the top with newest-first blocking sections, home dashboard pinning OPEN blocks as newest-first link-through cards above a cross-task activity timeline (TimelineService, last ~50 events), slow-ask lost-wake regression; tracked test bytecode removed 1 ay önce
  clanker 1568628f4e phase 2: telemetry flip — pushed chunks/results ingestion, staleness probe, pollers retired 1 ay önce
  clanker 2a8a2ec4b0 phase 1: work acquisition flip — ask/allocation, per-saddle tokens, wake computation + lost-wake guard 1 ay önce
  clanker b0ae5dd17d fix: live blocks without reload — hidden terminal tabs release their SSE stream (per-origin HTTP/1.1 cap starvation was the culprit), task pages refresh on focus and log refresh failures instead of swallowing them, README documents the SSE budget; regression test covers daemon-raised block -> pulse -> sealed GET refresh roundtrip 1 ay önce
  clanker 4d7354bd13 feat: branch_advanced on verdict and resume paths — any sibling (same parent, or same project+branch) completing/failing/dispatching/progressing after the task's park marker (suspended_at, else newest block, else last session activity) flips it true; carried on POST /answer, /notify verdicts, /poll answers and resume /start payloads so the daemon can skip the pointless pull --rebase 1 ay önce
  clanker 32a9554c9d feat: per-saddle git identity + ssh key storage — migration (git_name, git_email, ssh_public_key), poller and refresh persist the daemon-reported ssh_public_key, saddles page shows the key (copy button, deploy-key hint) with an inline identity edit form 1 ay önce
  clanker e818ee4c25 fix: lossless raw-log ingestion — cursor advances only over chunks actually stored (daemon next trusted only when the array was fully consumed; duplicates consumed; failures stop advancement for re-fetch), whitespace-only chunks store as separators; audit test proves the full seq 1..6 corpus (CRLF-only chunk included) lands exactly once and streams unfiltered through SSE 1 ay önce
  clanker b55f9a8719 feat: dead/wedged daemon reconciliation — vanishing daemons drive offline+requeue with narrated comments (3-strike verified against connection-refused), stale last_activity wedges fence+requeue, saddles page health panel (state/uptime/last-contact/badge), task rows mark the unreachable window, raw-log polling verified from the first push; harness timeout 1800s 1 ay önce
  clanker 8223c8d4d2 feat: 409-aware dispatch — machine-readable conflicts recover zombies (abort, bounded idle wait, one retry, narrated), live-task conflicts fence and alert; failed pushes mark the session push_failed and retries reuse the row instead of churning new ones 1 ay önce
  clanker e53b6c03b5 feat: cancel/requeue/stop reaches the daemon — POST /abort with narrated outcome; a failed abort fences the saddle as 'recovering' (not dispatchable) until an idle probe clears it or three failed probes escalate to offline 1 ay önce
  clanker 5e08dc201b feat: stranded-assignment recovery — assigned/working tasks with an open session, zero stored output past the grace period (SADDLE_STRAND_GRACE_S, default 120s), on a demonstrably idle daemon requeue with a bot comment; extends the stale-busy healing 1 ay önce
  clanker e654f61840 fix: raw-log capability probe retries on later polls (throttled, SADDLE_RAW_PROBE_INTERVAL_S default 60s) instead of one seed-time failure stripping the session's raw terminal view 1 ay önce
  clanker 40b7ad1713 fix: refresh maps parked daemon states (blocked/suspended) to logically-free saddles — only 'working' maps to busy, reconciled against the web's open-session records instead of corrupting busy bookkeeping 1 ay önce
  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 ay önce
  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 ay önce
  clanker 04b636e258 feat: /start gains the parent object for subtask dispatches — id, title, description, plan (clamped ~4000 chars), status; absent for root tasks 1 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  clanker 7a2d2f49c9 feat: required-capabilities multi-select on the task create form (validated before create; detail-page attach/detach unchanged) 1 ay önce
  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 ay önce
  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 ay önce
  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 ay önce
  clanker dad7e9a882 fix: restore the missing quote-comment dialog on the task page (highlight-to-comment popover opened nothing) 1 ay önce
  clanker 4fdf76d76b test: more patient connection retries and fail-fast diagnostics when the app exits during harness startup 1 ay önce