clanker
|
3afef542e0
plans: e2e re-baselined on allocation resumes — plan accept/reject/auto-approve roundtrips, draft matrix, POST /answer retirement proof
|
1 månad sedan |
clanker
|
b397745530
lifecycle: draft state machine on a flattened M0001 — enqueue/delete guards, edit matrix, auto-enqueue subtasks, waiting-on-drafts display
|
1 månad sedan |
clanker
|
47132a3a52
tests: shard web suite into seven parallel bundles with event-driven waits
|
1 månad sedan |
clanker
|
087f0e5d6e
tests: dispatcher tick honours SADDLE_DISPATCH_TICK_S (default 5s unchanged); meson test timeout 900s
|
1 månad sedan |
clanker
|
4fcf4f6e51
ui: task page progress feed directly below the status head
|
1 månad sedan |
clanker
|
9f9383720b
fix: answered blocks resume flip daemons — verdict delivery + affine wake
|
1 månad sedan |
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 månad sedan |
clanker
|
1568628f4e
phase 2: telemetry flip — pushed chunks/results ingestion, staleness probe, pollers retired
|
1 månad sedan |
clanker
|
2a8a2ec4b0
phase 1: work acquisition flip — ask/allocation, per-saddle tokens, wake computation + lost-wake guard
|
1 månad sedan |
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 månad sedan |
clanker
|
65ebc7c247
fix: raw-log cursor never trusts the daemon's next beyond served-and-stored chunks — belt-and-braces against the daemon-side /log snapshot race; forensics test simulates the race (chunks appended during response construction, next computed after) and proves every chunk lands exactly once with zero seq gaps
|
1 månad sedan |
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 månad sedan |
clanker
|
b878a9178c
feat: /start carries git_identity {name, email} from the saddle row — omitted entirely when unset so the daemon's fallback identity applies
|
1 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
clanker
|
5c140cb383
test: raise the meson timeout to 900s — the suite has grown past 420s with rounds 4-5
|
1 månad sedan |
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 månad sedan |
clanker
|
04b636e258
feat: /start gains the parent object for subtask dispatches — id, title, description, plan (clamped ~4000 chars), status; absent for root tasks
|
1 månad sedan |
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 månad sedan |
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 månad sedan |
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 månad sedan |
clanker
|
2906a94cc5
fix: floating comment-on-selection covers the raw PTY terminal too, not just the legacy entry log
|
1 månad sedan |
clanker
|
73d860e2ed
fix: terminal ANSI base palette lifted for the dark background (blue #000080 was unreadable)
|
1 månad sedan |