<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu/makima/src, branch makima/contract-deliverables-refactor</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=makima%2Fcontract-deliverables-refactor</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=makima%2Fcontract-deliverables-refactor'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-01-24T16:17:59+00:00</updated>
<entry>
<title>feat: Add check_deliverables_met tool and deliverable checking for phase transitions</title>
<updated>2026-01-24T16:17:59+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-24T16:17:42+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=6386622eb42702dbfa8701a9a5e2d786846d42a5'/>
<id>urn:sha1:6386622eb42702dbfa8701a9a5e2d786846d42a5</id>
<content type='text'>
Adds deliverable checking functionality to ensure contracts meet phase requirements
before advancing:

- Add check_deliverables_met() function to phase_guidance.rs
- Add should_auto_progress() for autonomous contract progression
- Add generate_deliverable_prompt_guidance() for LLM context
- Add get_next_phase_for_contract() for type-aware phase transitions
- Add new ContractToolRequest::CheckDeliverablesMet tool
- Update advance_phase handler to block transitions when deliverables not met
- Export new types: DeliverableCheckResult, DeliverableItem, AutoProgressDecision, AutoProgressAction

The check_deliverables_met tool helps LLMs determine if all required deliverables
are satisfied before advancing phases, supporting auto-progress when enabled.

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(frontend): Add Templates page for managing contract templates</title>
<updated>2026-01-24T16:17:59+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-24T15:50:43+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=595548db950eca303a7d73ca09f31895d291534f'/>
<id>urn:sha1:595548db950eca303a7d73ca09f31895d291534f</id>
<content type='text'>
- Add NavStrip component for top navigation between pages
- Create Templates page with template card grid layout
- Create TemplateEditor component for editing phase deliverables
- Add navigation state management in stores
- Implement three built-in templates:
  - Simple: Plan phase (Plan deliverable), Execute phase (PR deliverable)
  - Specification: Research, Specify, Plan, Execute, Review phases with deliverables
  - Execute: Single execute phase with no deliverables
- Support for creating custom templates with configurable phases/deliverables
- Templates are persisted to localStorage
- Add comprehensive CSS styling matching existing design patterns

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

[WIP] Heartbeat checkpoint - 2026-01-24 16:13:00 UTC

[WIP] Heartbeat checkpoint - 2026-01-24 16:14:29 UTC
</content>
</entry>
<entry>
<title>feat: Simplify phase deliverables and add 'execute' contract type</title>
<updated>2026-01-24T16:11:39+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-24T15:18:21+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=abc5fbed331ea527ccaac0cd4120c4a0650f8bc0'/>
<id>urn:sha1:abc5fbed331ea527ccaac0cd4120c4a0650f8bc0</id>
<content type='text'>
## Changes

### Phase Deliverables Simplified
- **Simple contract type**:
  - Plan phase: Only 'Plan' deliverable (required)
  - Execute phase: Only 'PR' deliverable (required)

- **Specification contract type**:
  - Research phase: Only 'Research Notes' deliverable (required)
  - Specify phase: Only 'Requirements Document' deliverable (required)
  - Plan phase: Only 'Plan' deliverable (required)
  - Execute phase: Only 'PR' deliverable (required)
  - Review phase: Only 'Release Notes' deliverable (required)

### New 'execute' Contract Type
- Only has 'execute' phase (no plan or review phases)
- NO deliverables at all - executes tasks directly
- Added to ContractType enum with proper Display/FromStr implementations
- Added helper methods: `initial_phase()`, `terminal_phase()`

### API Updates
- Added `get_phase_deliverables_for_type()` for contract-type-aware deliverables
- Added `get_phase_checklist_for_type()` for contract-type-aware checklists
- Added `check_phase_completion_for_type()` for contract-type-aware completion checks
- Legacy functions remain for backward compatibility (default to 'simple' type)

### Files Modified
- makima/src/llm/phase_guidance.rs - Core deliverable definitions
- makima/src/db/models.rs - ContractType enum and Contract methods
- makima/src/llm/mod.rs - Export new functions
- makima/src/server/handlers/contract_daemon.rs - Use type-aware functions
- makima/src/server/handlers/contract_chat.rs - Use type-aware functions

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add resume to daemon tasks</title>
<updated>2026-01-23T23:52:35+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-23T23:52:35+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=579c983d3efb8f1414ffb45b9e031f741cce5f76'/>
<id>urn:sha1:579c983d3efb8f1414ffb45b9e031f741cce5f76</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Add client-side polling for CLI wait command (#23)</title>
<updated>2026-01-23T19:49:58+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-23T19:49:58+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=f6f0790217d4098ffb6d2b3df08b0cf83ff61727'/>
<id>urn:sha1:f6f0790217d4098ffb6d2b3df08b0cf83ff61727</id>
<content type='text'>
* [WIP] Heartbeat checkpoint - 2026-01-23 03:34:44 UTC

* feat: Add client-side polling for CLI wait command

When contracts wait for tasks in makima, the CLI now polls and returns
once the task has changed state. This provides resilient task status
detection even if:
- Server's broadcast channels miss a notification
- Network connections are intermittent
- Long-polling HTTP requests timeout at load balancers

The implementation uses a hybrid approach:
1. First tries server-side wait with short timeout (30s)
2. Falls back to polling via supervisor_get_task endpoint
3. Configurable poll_interval (default 5s) via --poll-interval flag

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>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>Change daemon limit mechanism</title>
<updated>2026-01-22T03:08:48+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T03:08:44+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=c55c6775b1db1dceba6ea533a22d91e65df071a5'/>
<id>urn:sha1:c55c6775b1db1dceba6ea533a22d91e65df071a5</id>
<content type='text'>
</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 dependency checking on daemon startup (#19)</title>
<updated>2026-01-22T01:32:19+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-22T01:32:19+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=f7c08980d2a161a3739c71fddc5ca20871892365'/>
<id>urn:sha1:f7c08980d2a161a3739c71fddc5ca20871892365</id>
<content type='text'>
- Create setup module with check_dependencies() to verify Claude Code,
  git, and npm are installed
- Add colored status output showing version info for each dependency
- If Claude Code is missing and npm is available, offer to install it
- Show OS-specific installation instructions for missing dependencies
- Add --skip-setup-check flag to DaemonArgs for CI/CD environments
- Check runs as step [0/5] before configuration loading

Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</content>
</entry>
</feed>
