<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu, branch makima/task-task-13e825e8-13e825e8</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-13e825e8-13e825e8</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-13e825e8-13e825e8'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-01-19T21:47:12+00:00</updated>
<entry>
<title>Task completion checkpoint</title>
<updated>2026-01-19T21:47:12+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-19T21:47:12+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=11ee4be7fb3b337626cfc1fa264220df2b91191a'/>
<id>urn:sha1:11ee4be7fb3b337626cfc1fa264220df2b91191a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update login page theme to match makima.jp visual design</title>
<updated>2026-01-19T21:43:06+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-19T21:43:06+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=1a8c9b8f18424081544aaf47a85983b02b194c9d'/>
<id>urn:sha1:1a8c9b8f18424081544aaf47a85983b02b194c9d</id>
<content type='text'>
Replace generic zinc Tailwind colors with the blue-themed colors used
throughout makima.jp:
- Form container now uses panel class with blue borders
- Input fields use bg-[#0f1c2f] and border-[#2f476d] colors
- Labels updated to text-[#9bc3ff] (text-secondary)
- Mode switcher tabs use blue accents instead of white
- Submit button styled with blue primary (#0f3c78) background
- Headings use text-[#f0f5ff] for consistency
- Auth not configured message also themed

Co-Authored-By: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add interactive TUI browser for tasks, contracts, and files (makima view) (#7)</title>
<updated>2026-01-19T13:47:32+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-19T13:47:32+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=0833fb1f30c0c3b920157deb882e0e902c3af02a'/>
<id>urn:sha1:0833fb1f30c0c3b920157deb882e0e902c3af02a</id>
<content type='text'>
* feat(tui): Implement fuzzy search with real-time filtering and highlighting

Adds comprehensive fuzzy search functionality to the TUI browser:

## Fuzzy Matching (fuzzy.rs)
- FuzzyMatcher wrapper using SkimMatcherV2 from fuzzy-matcher crate
- fuzzy_match() returns score and matched character indices
- fuzzy_match_all() supports multi-term search (space-separated)
- Recency-aware scoring to boost recent items in results
- Unit tests for all matching scenarios

## App State (app.rs)
- FilteredItem struct with index, score, and matched_indices
- apply_filter() uses fuzzy matching with score-based sorting
- match_count() and has_no_matches() helper methods
- Results sorted by match score (highest first)

## List View (list_view.rs)
- Highlighted matched characters in search results
- Yellow bold styling for matched chars
- Status icons with color coding

## Search Input (search_input.rs)
- Real-time match count display (X/Y matches)
- Visual feedback for no matches (red border)
- Placeholder text when search is empty
- Active search mode indication (yellow border)

## Event Handling (event.rs)
- Arrow key navigation while in search mode
- Ctrl+K/J for vim-style navigation during search
- Delete key support alongside backspace
- Ctrl+U to clear search query
- Tab toggles preview while searching
- Escape clears search and exits search mode

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

* Task completion checkpoint

* [WIP] Heartbeat checkpoint - 2026-01-19 11:20:34 UTC

* Task completion checkpoint

* [WIP] Heartbeat checkpoint - 2026-01-19 11:31:19 UTC

* Task completion checkpoint

* [WIP] Heartbeat checkpoint - 2026-01-19 11:39:07 UTC

* fix(tui): Fix module exports and main binary integration

- Update mod.rs to properly export app, event, fuzzy, and ui modules
- Add run() function for TUI entry point
- Fix run_view() to use ViewCommand enum instead of ViewArgs
- Fix event handling to use poll_event and handle_key_event

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>Make sure tasks can continue</title>
<updated>2026-01-19T02:26:09+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-19T02:26:09+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=786510379bed060db2b3742b7dfca671552d2c34'/>
<id>urn:sha1:786510379bed060db2b3742b7dfca671552d2c34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use formatting in question in output</title>
<updated>2026-01-19T00:14:29+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T23:42:27+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=b64eddc8c2f250cdcbacae18cce107bf4c86f9f4'/>
<id>urn:sha1:b64eddc8c2f250cdcbacae18cce107bf4c86f9f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up mesh page (#6)</title>
<updated>2026-01-18T19:55:37+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T19:55:37+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=b3eb58d50eea5b235a1c33d5c8787dc81064c46b'/>
<id>urn:sha1:b3eb58d50eea5b235a1c33d5c8787dc81064c46b</id>
<content type='text'>
* Filter mesh page task list to show only supervisor tasks

- Add `isSupervisor` filter to rootTasks filter in TaskList component
- Only supervisor tasks will appear in the mesh page task list
- Regular tasks are now hidden from the main view
- Update empty state messages to reflect supervisor-only filtering
- When clicking a supervisor task, its detail still shows orchestrated tasks

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

* Add supervisor task button to workflow board contract cards

- Add supervisorTaskId field to ContractSummary type in backend and frontend
- Update SQL queries in repository.rs to include supervisor_task_id
- Add navigation button (▶) to WorkflowContractCard that links to /mesh/{supervisorTaskId}
- Button only shows when contract has a supervisorTaskId
- Button has tooltip "Open Supervisor Task" and stops propagation to avoid triggering card click

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

* Add full task page navigation button to TaskTree rows

Add a hover-visible arrow icon (↗) to each task row in the TaskTree
component that links to the full task page (/tasks/{taskId}). The button:
- Appears on hover using opacity transition
- Stops event propagation to avoid triggering parent onSelect
- Matches existing hover styling patterns with the #75aafc color scheme

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 pushed heartbeats and multi-question select</title>
<updated>2026-01-18T18:55:04+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T18:55:04+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=9dbc2c3199047609a9f8496fec07ecdb10aee73d'/>
<id>urn:sha1:9dbc2c3199047609a9f8496fec07ecdb10aee73d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix: Find alternate daemon</title>
<updated>2026-01-18T18:35:44+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T18:35:44+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=273da072fa0573c935798dc723ed79fd71ab037a'/>
<id>urn:sha1:273da072fa0573c935798dc723ed79fd71ab037a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Improve Mesh Tab: Organize by contract with status filter (#5)</title>
<updated>2026-01-18T18:02:08+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T18:02:08+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=e0da93a20a965125ba4cbb46e3e0e179f06c2a08'/>
<id>urn:sha1:e0da93a20a965125ba4cbb46e3e0e179f06c2a08</id>
<content type='text'>
* Add status filter toggle to Mesh Tab TaskList component

Add a filter toggle at the top of the TaskList that allows filtering by
contract status (All, Active, Completed, Archive) with Active as the default.

Changes:
- Backend: Add contract_status field to TaskSummary struct in models.rs
- Backend: Update all SQL queries returning TaskSummary to include
  c.status as contract_status from the contracts table join
- Frontend: Add contractStatus to TaskSummary TypeScript type
- Frontend: Add useState for statusFilter with 'active' as default
- Frontend: Add filter button group in header area next to '+ New Task'
- Frontend: Update groupedTasks useMemo to filter based on contract status
- Frontend: Update empty state message to reflect current filter

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

* Task completion checkpoint

* feat(mesh): show all contract tasks for supervisor tasks

When viewing a supervisor task (task.isSupervisor === true), the
TaskDetail component now shows all tasks in the contract instead
of showing the subtasks tree.

Changes:
- Add contractTasks prop to TaskDetailProps for passing contract tasks
- Add displayTasks computed value that uses contractTasks for supervisors
- Change section header from "Subtasks" to "Contract Tasks" for supervisors
- Hide the "+ Add Subtask" button for supervisor tasks
- Update empty state message for supervisors
- Fetch contract tasks in mesh.tsx when viewing a supervisor task
- Filter out the supervisor itself from the contract tasks list

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

* Task completion checkpoint

* Task completion checkpoint

---------

Co-authored-by: Claude Opus 4.5 &lt;noreply@anthropic.com&gt;</content>
</entry>
<entry>
<title>Add React Native mobile app for Makima (#3)</title>
<updated>2026-01-18T17:44:50+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-18T17:44:50+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=869f21ee2efaefed6a5aa4fbd417c25df8dec02a'/>
<id>urn:sha1:869f21ee2efaefed6a5aa4fbd417c25df8dec02a</id>
<content type='text'>
* [WIP] Heartbeat checkpoint - 2026-01-18 02:58:27 UTC

* feat(mobile): complete mobile app integration and verification

- Add ThemeColors type export to Colors.ts for type safety
- Export SUPABASE_URL from supabase.ts and use environment variables
- Update .env.example with correct default URLs
- Add comprehensive README.md with setup instructions

Verified:
- TypeScript compiles without errors
- App exports successfully for iOS and Android
- All screens accessible (login, dashboard, tasks, settings, task detail)
- Auth flow working with Zustand store and Supabase

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

* Task completion checkpoint

---------

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