clanker
|
d1c8bea7e2
C1: goal blocks ride the run task — one row, one answer path (F6)
|
1 mese fa |
clanker
|
79c28cc48a
ui: comments display — body-first projections, footnote styling, no command echo
|
1 mese fa |
clanker
|
00c1a6dd2e
replay: idempotent terminal + narrative projections — once per entry id, ever
|
1 mese fa |
clanker
|
9bca970531
replay: daemon-global entry dedup — ingestion keys on (saddle, entry id)
|
1 mese fa |
clanker
|
8d895974b4
goals: assignment context_update — the resume-time instruction delta
|
1 mese fa |
clanker
|
8b1c48a785
ui: rename every user-visible 'bot' to 'agent' at the source
|
1 mese fa |
clanker
|
dc8ccf792b
integration: goal-era cross-binary pass — integration_test re-baselined, four ingestion faults fixed
|
1 mese fa |
clanker
|
fa78f8a5bf
goals: flatten — subtask web machinery and task plans deleted
|
1 mese fa |
clanker
|
44f2e66a5a
goals: schema, lifecycle service, wire contract and task callbacks
|
1 mese fa |
clanker
|
06760a6895
ui: agent celebrations — saddle yeehaw festive card, 🤠 badge and timeline events
|
1 mese fa |
clanker
|
9f5ab7ab36
push: plan 11 task E — real Web Push (VAPID) notifications
|
1 mese fa |
clanker
|
b397745530
lifecycle: draft state machine on a flattened M0001 — enqueue/delete guards, edit matrix, auto-enqueue subtasks, waiting-on-drafts display
|
1 mese fa |
clanker
|
9f9383720b
fix: answered blocks resume flip daemons — verdict delivery + affine wake
|
1 mese fa |
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 mese fa |
clanker
|
1568628f4e
phase 2: telemetry flip — pushed chunks/results ingestion, staleness probe, pollers retired
|
1 mese fa |
clanker
|
2a8a2ec4b0
phase 1: work acquisition flip — ask/allocation, per-saddle tokens, wake computation + lost-wake guard
|
1 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
clanker
|
04b636e258
feat: /start gains the parent object for subtask dispatches — id, title, description, plan (clamped ~4000 chars), status; absent for root tasks
|
1 mese fa |
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 mese fa |