<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu/makima/src/daemon/api/directive.rs, branch drop-directive-goal</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=drop-directive-goal</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=drop-directive-goal'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-05-08T15:33:36+00:00</updated>
<entry>
<title>feat(directives): drop directives.goal — orchestration reads contract body</title>
<updated>2026-05-08T15:33:36+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-05-08T15:33:36+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=7af816032fbc54d5e0a8e94d4a000f307cd3b370'/>
<id>urn:sha1:7af816032fbc54d5e0a8e94d4a000f307cd3b370</id>
<content type='text'>
Hard cut. The unified contracts surface owns spec text now; the
directive itself is just a folder. The orchestrator daemon reads the
active contract's body when it spawns, replans, or runs completion.

Schema (migration 20260510000000):
  - DROP TABLE directive_goal_history
  - ALTER TABLE directives DROP COLUMN goal
  - ALTER TABLE directives DROP COLUMN goal_updated_at

New repo helper:
  - get_active_contract_body(directive_id) — picks the
    active|queued|draft contract (in that order), most-recent first.

Backend cuts:
  - Directive / DirectiveSummary / CreateDirectiveRequest /
    UpdateDirectiveRequest lose goal &amp; goalUpdatedAt.
  - CreateDirectiveRequest gains optional `contractBody` — when
    provided, create_directive_for_owner auto-creates a first contract
    with that body in the same transaction.
  - Removed: update_directive_goal, update_directive_goal_keep_orchestrator,
    save_directive_goal_history, get_directive_goal_history,
    DirectiveGoalHistory model, UpdateGoalRequest.
  - Removed handlers::directives::update_goal + the
    /directives/{id}/goal route.
  - orchestration::directive::build_planning_prompt /
    build_completion_prompt / build_order_pickup_prompt now take a
    `contract_body: &amp;str` instead of `goal_history`. classify_goal_change
    + try_interrupt_planner_with_goal_edit + GoalChangeKind +
    GoalEditInterruptResult removed (they were only useful for the
    small-vs-large goal-edit interrupt cycle).

CLI:
  - `makima directive update-goal` removed (UpdateGoalArgs deleted,
    Commands enum trimmed, ApiClient::directive_update_goal +
    UpdateGoalRequest deleted).

Frontend:
  - Directive / DirectiveSummary / CreateDirectiveRequest types lose
    goal &amp; goalUpdatedAt; CreateDirectiveRequest gains `contractBody`.
  - useDirective drops updateGoal helper.
  - api.ts updateDirectiveGoal removed.
  - Legacy DirectiveList + DirectiveDetail components deleted; the
    /directives route now always renders the document-mode page.
    The user-settings documentModeEnabled flag is no longer
    consulted at the route level.
  - NewContractModal passes body via contractBody.

Co-Authored-By: Claude Opus 4.7 (1M context) &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Ensure directives replan on goal change</title>
<updated>2026-02-16T01:31:31+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-16T01:24:19+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=0676468e3e69ff36f1e509d775f191dd41f6080b'/>
<id>urn:sha1:0676468e3e69ff36f1e509d775f191dd41f6080b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix worktree branching for directive tasks and remove memories</title>
<updated>2026-02-13T19:19:39+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-13T19:19:39+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=a6677bafe52d9988c9948df34c1635e4411c9591'/>
<id>urn:sha1:a6677bafe52d9988c9948df34c1635e4411c9591</id>
<content type='text'>
</content>
</entry>
<entry>
<title>makima: Add an optional memory system for directives (#59)</title>
<updated>2026-02-12T02:29:45+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-12T02:29:45+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=355f10964c4dbec24a244a00caba5c17ed23fc65'/>
<id>urn:sha1:355f10964c4dbec24a244a00caba5c17ed23fc65</id>
<content type='text'>
* feat: makima: Add an optional memory system for directives: Add directive_memories database table and migration

* feat: makima: Add an optional memory system for directives: Update directive skill documentation with memory commands

* feat: makima: Add an optional memory system for directives: Add repository functions for directive memory CRUD

* feat: makima: Add an optional memory system for directives: Add frontend API functions and types for directive memory

* feat: makima: Add an optional memory system for directives: Add Rust models for directive memory

* WIP: heartbeat checkpoint

* WIP: heartbeat checkpoint

* WIP: heartbeat checkpoint

* WIP: heartbeat checkpoint

* feat: makima: Add an optional memory system for directives: Add memory panel to frontend DirectiveDetail component

* Merge remote-tracking branch 'origin/makima/makima--add-an-optional-memory-system-for-directiv-5de1e06d' into combined branch

* Merge remote-tracking branch 'origin/makima/makima--add-an-optional-memory-system-for-directiv-c8298c6c' into combined branch

* feat: makima: Add an optional memory system for directives: Create useMultiTaskSubscription hook for multi-output WebSocket streaming

* feat: makima: Add an optional memory system for directives: Create DirectiveLogStream component for stern-like multi-task output viewing

* feat: makima: Add an optional memory system for directives: Integrate log stream panel into directive detail page</content>
</entry>
<entry>
<title>Add auto-PR creation for remote repos in directives</title>
<updated>2026-02-10T14:50:07+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-10T14:50:07+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=15b6e5fba161a194fe5427d7d29b0c4286423260'/>
<id>urn:sha1:15b6e5fba161a194fe5427d7d29b0c4286423260</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add directive init</title>
<updated>2026-02-09T02:35:36+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-09T02:35:36+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=a2646a828febbdac798a206655a15eae7e463bca'/>
<id>urn:sha1:a2646a828febbdac798a206655a15eae7e463bca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add new directive mechanism v3</title>
<updated>2026-02-09T00:11:51+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-09T00:11:51+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=8c23b3ab6f7fabca01b0468911bae073aa5ced32'/>
<id>urn:sha1:8c23b3ab6f7fabca01b0468911bae073aa5ced32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove directive mechanism</title>
<updated>2026-02-08T21:07:30+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-08T21:07:30+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=3662b334dfd68cfdf00ed44ae88927c2e1b2aabe'/>
<id>urn:sha1:3662b334dfd68cfdf00ed44ae88927c2e1b2aabe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixes for directive chain init</title>
<updated>2026-02-08T12:32:53+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-08T12:32:53+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=657a8e55796c9f0cc6f30937de545ed91f052063'/>
<id>urn:sha1:657a8e55796c9f0cc6f30937de545ed91f052063</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add directive monitor contracts</title>
<updated>2026-02-07T18:27:54+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-02-07T18:27:54+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=97e21c8296ec5f91912d56980ebf3b18a1ca3507'/>
<id>urn:sha1:97e21c8296ec5f91912d56980ebf3b18a1ca3507</id>
<content type='text'>
</content>
</entry>
</feed>
