<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu/makima/src/server, branch makima/task-task-b49bbda9-b49bbda9</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-b49bbda9-b49bbda9</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-b49bbda9-b49bbda9'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-01-24T04:31:20+00:00</updated>
<entry>
<title>feat: implement dependency-ordered task execution</title>
<updated>2026-01-24T04:31:20+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-24T04:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=0cf6f6a4c5c75c736e6fe3b1c726ef80c0a6c802'/>
<id>urn:sha1:0cf6f6a4c5c75c736e6fe3b1c726ef80c0a6c802</id>
<content type='text'>
Add dependency tracking and validation for tasks to enforce execution order
(schema changes → backend → UI) as specified in Section 1.3 of ralph-features-spec.md.

Changes:
- Add depends_on field to Task model (Vec&lt;Uuid&gt;) for explicit dependencies
- Create database migration for depends_on column with GIN index
- Add dependency_analysis.rs module with:
  - can_start_task() for checking if all dependencies are complete
  - Auto-detection of dependency patterns from file paths
  - Detection of schema/types/backend/UI categories
  - Warnings for potential dependency violations
- Add DependencyOrderingConfig to daemon config with:
  - enabled: Enable/disable dependency checking
  - auto_detect: Auto-detect dependencies from file patterns
  - warn_on_violation: Warn on detected violations
- Integrate dependency checks into task manager scheduling
- Add depends_on to DaemonCommand::SpawnTask protocol

The daemon performs dependency validation as a sanity check but defers to
the server for authoritative scheduling decisions.

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add patch checkpointing</title>
<updated>2026-01-23T01:03:04+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T22:32:46+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=1ed362424dafec690f919154f5116471951cda9c'/>
<id>urn:sha1:1ed362424dafec690f919154f5116471951cda9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix completion actions: default to PR and support remote repos (#21)</title>
<updated>2026-01-22T13:17:17+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T13:17:17+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=265f8cf14fec9d7116d09af49e4b48b357faceda'/>
<id>urn:sha1:265f8cf14fec9d7116d09af49e4b48b357faceda</id>
<content type='text'>
* Fix completion actions: default to PR and support remote repos

- Change default completion action from 'branch' to 'pr' for tasks
  using daemon working directory
- Allow PR completion action to work without target_repo_path if the
  worktree already has an origin remote configured (e.g., when cloned
  from a remote URL)
- Update create_pull_request to accept optional target_repo parameter

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

* Add dismiss functionality for completed standalone tasks

## Changes

### Backend
- Add 'hidden' field to Task model (models.rs)
- Add database migration for hidden column (20250122000000_add_task_hidden.sql)
- Update task listing queries to include hidden field and filter out hidden tasks
- Update update_task_for_owner to handle hidden field

### Frontend
- Add hidden field to TaskSummary interface (api.ts)
- Add dismissTask API function (api.ts)
- Add hideTask function to useTasks hook
- Add Dismiss button to TaskList for completed standalone tasks
- Wire up onDismiss handler in mesh.tsx route

## Behavior
- Completed standalone tasks (tasks without a contract) show a "Dismiss" button
- Dismissing a task sets hidden=true and removes it from the task list
- Hidden tasks are filtered out by default in all task listing queries

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;

---------

Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</content>
</entry>
<entry>
<title>Fix daemon disconnects not being continuable</title>
<updated>2026-01-22T03:08:48+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T01:12:09+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=20ad48f4e058e2f6c68a0d7881aedf00a6b74da1'/>
<id>urn:sha1:20ad48f4e058e2f6c68a0d7881aedf00a6b74da1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add daemon restart feature from settings (#18)</title>
<updated>2026-01-22T01:26:53+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T01:26:53+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=b61a907bac09a7649ca3f6d850e771b3b75c7015'/>
<id>urn:sha1:b61a907bac09a7649ca3f6d850e771b3b75c7015</id>
<content type='text'>
* Add daemon restart feature from settings

This adds the ability to restart a connected daemon from the settings page.
The feature includes:

- Backend: RestartDaemon command added to DaemonCommand enum
- Backend: New POST /api/v1/mesh/daemons/{id}/restart endpoint
- Backend: Daemon gracefully shuts down tasks and exits with code 42
  (can be used by process managers like systemd to detect restart requests)
- Frontend: restartDaemon() API function
- Frontend: Restart button in Connected Daemons section of settings
- Frontend: Confirmation dialog before restart to prevent accidental restarts

When a daemon receives the restart command, it:
1. Gracefully shuts down all running Claude processes (5s timeout)
2. Exits with code 42 to signal restart requested
3. The daemon can be restarted by a process manager or manually

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</content>
</entry>
<entry>
<title>Add pausing tasks</title>
<updated>2026-01-22T00:59:18+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T00:59:18+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=b84b3f782d3a3d6bf7ed8040fd72907ca19db8c6'/>
<id>urn:sha1:b84b3f782d3a3d6bf7ed8040fd72907ca19db8c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Heartbeat daemon</title>
<updated>2026-01-21T23:52:38+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-21T23:47:38+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=a6f91232285ad2db0ac58a7d0bc196e47da1ca8c'/>
<id>urn:sha1:a6f91232285ad2db0ac58a7d0bc196e47da1ca8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enforce phaseguard</title>
<updated>2026-01-21T17:32:59+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-21T17:32:49+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=9e286c146e29e714b3b209b4d948d75cce179b05'/>
<id>urn:sha1:9e286c146e29e714b3b209b4d948d75cce179b05</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add task branching feature (#15)</title>
<updated>2026-01-21T17:31:46+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-21T17:31:46+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=94e5604e770d6589f786ea71e51738e21492f301'/>
<id>urn:sha1:94e5604e770d6589f786ea71e51738e21492f301</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add non-blocking persistent contract completion questions (#14)</title>
<updated>2026-01-20T23:20:32+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-20T23:20:32+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=7155e6cd7ddf25a5a4d4f6d6abecd49f0cf519dc'/>
<id>urn:sha1:7155e6cd7ddf25a5a4d4f6d6abecd49f0cf519dc</id>
<content type='text'>
* [WIP] Heartbeat checkpoint - 2026-01-20 22:40:37 UTC

* Task completion checkpoint</content>
</entry>
</feed>
