clanker
|
d56d8e185a
Plan 17 M1+M2: consolidated M0001, unified events ledger, chunks ingestion
|
1 mese fa |
clanker
|
4a528f3975
Force Wake: human-triggered resume of parked tasks and goals
|
1 mese fa |
clanker
|
cb269d0d30
r23: sessions as truth — the saddle-row work cache dies, IDLE/BUSY derive from open sessions
|
1 mese fa |
clanker
|
2cf9149d29
r3: legacy wire removal (arch 19, P3-1) — SaddleUpdateEndpoint + SaddlePollEndpoint and their routes are gone (the daemon never called them; verified against saddle/src at review time): the poll-era ingest/verdict pair 404s now, pinned by regressions. The service support that existed only for them dies with them: take_pending_answers (the saddle-keyed variant; the for_task assignment carrier stays), take_pending_comments + PendingComment, validate_token (its only caller was the update/poll bearer pin — resolve_bearer collapses to saddle_for_token for the all-id-less wire), the subtask/plan refusal arms, and the update endpoints' own statics move to SaddleWire (read_json_body/json_ok/json_error shared by every remaining /api/saddle/* route). Knock-ons per the plan: tasks.working_branch was write-dead (only /update done ever supplied it) — column + entity field + TaskDetailPublic member + the task-page line + mark_terminal/complete_task's dead parameter die; the plain-task plan-review UI in task_detail.html was unreachable (plans are goal-only since plan 12; only /update block type=plan could raise one) — BlockView.is_plan_review, the plan-review section, and the task page's ~180-line plan-remarks JS (dead with no [data-plan-review] targets) are removed; AnswerBlockAction's plan-verdict arms stay (the deep-link API + off-contract pushes keep working). Test fixtures rewrite into the push-era shapes: block raises ride POST /results blocked pushes (pages/lifecycle/push bundles), the terminal-task review fixture inserts its row directly (terminal pushes are consumed silently), rejected entries ride a results push, the dashboard review raise rides a review entry, the queued-state guard becomes a results state no-op, the /update subtask/plan refusals become 404 pins, and branch_advanced — the /poll verdict hint — is re-pinned on its surviving surface: the answers bundle's parked-resume allocation now asserts branch_advanced=true after a strictly-newer sibling completion on the shared branch. 856 -> 850 checks.
|
1 mese fa |
clanker
|
a58d9c0738
r2: saddle-status + session-outcome constants, one bearer resolution (arch 26) — SADDLE_IDLE/BUSY/OFFLINE and OUTCOME_STOPPED/RESUMED/DONE/FAILED beside SaddleService replace the magic strings across SaddleService (register/list/park/free/offline writes incl. the guarded UPDATE SQL), TaskService (unreachable check, every release outcome), AllocationService (the claim's idle/busy/resumed), Dispatcher (the affine-wake idle check), SaddleApi (the offline->idle ask recovery, the legacy done outcome) and the four entrypoints' offline/idle guards; the {id}-anchored and id-less auth styles collapse into resolve_bearer (validate_token pinning the route's saddle vs saddle_for_token owning-whatever-registered) so every /api/saddle/* endpoint resolves its credential through one helper. No OUTCOME_PARKED: no web-side writer exists (D4's web half is unlanded) — an unused constant would be dead code; it lands with D4. The wire-state switch labels (daemon results states) and display labels stay literals by kind.
|
1 mese fa |
clanker
|
4ac6ab1368
r1: is_valid_mode — the three identical TASK_MODES loops (edit_task, the daemon's task-create callback, the queue create action) collapse into the one validator beside TASK_MODES.
|
1 mese fa |
clanker
|
34f58415c3
r1: one JSON-entry reading surface — src/Json.vala grows EntryJson (string_member/optional_string_member/get_string_or/string_array_member/parse_iso/parse_string_array); SaddleService's four private statics, SaddleApi's get_string_or/parse_iso/string_options and TaskService.parse_block_options all collapse into it, three string-array parsers down to one, behaviour byte-identical (the malformed-options warning keeps each call site's wording).
|
1 mese fa |
clanker
|
e2a11c459d
C3: goal_events deleted — terminal watermark + derived narrative
|
1 mese fa |
clanker
|
9bca970531
replay: daemon-global entry dedup — ingestion keys on (saddle, entry id)
|
1 mese fa |
clanker
|
8b1c48a785
ui: rename every user-visible 'bot' to 'agent' at the source
|
1 mese fa |
clanker
|
0cc0b32eb3
integration: repo-qualified goal_branches rows, plan-12 doc rot swept
|
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
|
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
|
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
|
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
|
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 mese fa |
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 mese fa |
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 mese fa |
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 mese fa |
clanker
|
0b1675e78b
fix: git_url in /start payload, block option radio cards, design-task plan review (approve + RFC feedback), terminal entry types (shell-reset/failed/query), failed-task handling, branch prefill on create form
|
1 mese fa |
clanker
|
44b173c2dd
feat: Part 2 integration — piped query input in terminal log, RFC block handling, review verdict delivery, answer de-duplication, SSE piped input, expanded E2E suite (90 checks)
|
1 mese fa |
clanker
|
bd6d54da86
feat: SSE (terminal stream + pulse), task plans with stm-markdown, typed blocks (question/RFC/review), progress updates, terminal highlight-to-comment, toast notifications, auth tokens, workspace pause/resume, UI overhaul
|
1 mese fa |
clanker
|
4cf9855680
feat: ClankerSaddle — Spry web app orchestrating saddle daemons with projects, tasks, dispatch, terminal viewer
|
1 mese fa |