<feed xmlns='http://www.w3.org/2005/Atom'>
<title>soryu/makima/frontend/tsconfig.tsbuildinfo, branch makima/task-task-fee9930d-fee9930d</title>
<subtitle>soryu-co/soryu mirror</subtitle>
<id>http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-fee9930d-fee9930d</id>
<link rel='self' href='http://src.eirin.xyz/soryu/atom?h=makima%2Ftask-task-fee9930d-fee9930d'/>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/'/>
<updated>2026-01-25T02:19:42+00:00</updated>
<entry>
<title>Move files tab and file pages to be accessible via contracts (#28)</title>
<updated>2026-01-25T02:19:42+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-25T02:19:42+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=03ab90836707954277597dc21fd8035019d8e221'/>
<id>urn:sha1:03ab90836707954277597dc21fd8035019d8e221</id>
<content type='text'>
* feat: remove Files from top-level navigation

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

* feat: update file links to use contract-scoped routes

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

* feat: add contract context to FileDetail component

- Add contractId, contractName, and onContractClick props to FileDetailProps
- Update breadcrumb navigation to show contract name with path separator
  when viewing file within a contract context
- Fall back to "Back to list" when no contract context is provided
- This enables the FileDetail component to be used within the
  /contracts/:contractId/files/:fileId route

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

* feat: update routes to nest files under contracts

- Add react-router-dom for client-side routing
- Create ContractList component to list all contracts
- Create ContractDetail component with tabs (overview, files, tasks, repos)
- Create FileDetail component to view individual files
- Configure routes:
  - /contracts - list all contracts
  - /contracts/:id - view contract details with Files tab
  - /contracts/:contractId/files/:fileId - view file in contract context
- Remove standalone file routes (/files, /files/:id)

Files are now only accessible through their parent contract.

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

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* Task completion checkpoint

* feat: Add contract-scoped file route /contracts/:id/files/:fileId

- Create ContractFilePage component for viewing files within contract context
- Add route for /contracts/:id/files/:fileId in main.tsx
- Update handleFileSelect in contracts.tsx to navigate to contract-scoped file URL
- File viewer now has "Back to Contract" navigation instead of standalone /files

This allows files accessed from a contract to maintain context and return
to the contract page when going back.

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>
<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>Fix right-click context menu on contracts and board pages (#9)</title>
<updated>2026-01-19T19:44:16+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-19T19:44:16+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=7d5af3d817cf8aa62c9ee12b7f78a17730182e1d'/>
<id>urn:sha1:7d5af3d817cf8aa62c9ee12b7f78a17730182e1d</id>
<content type='text'>
* Add right-click context menu for contracts on contracts and board pages

Implement a reusable ContractContextMenu component that provides:
- Mark as Complete/Active/Archive status actions (conditionally shown)
- Go to Supervisor Task link (when supervisor exists)
- Delete action with confirmation

Integrate context menu into:
- ContractList.tsx on the contracts page
- WorkflowBoard on the workflow/board page via PhaseColumn and WorkflowContractCard

Features match ElementContextMenu patterns:
- Fixed positioning with z-50
- Click outside and Escape key close handlers
- Viewport overflow prevention
- Dark theme colors (#0a1628, #0d1b2d, #75aafc, #9bc3ff)

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

* [WIP] Heartbeat checkpoint - 2026-01-19 19:30:52 UTC

---------

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>Add autopilot panel and retry system</title>
<updated>2026-01-17T05:38:07+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-16T19:50:27+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=75d9644d44ba998a32ed14c072e883a75145ab72'/>
<id>urn:sha1:75d9644d44ba998a32ed14c072e883a75145ab72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixup: use default api.makima.jp URL and fix default branch detection</title>
<updated>2026-01-16T12:23:49+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-16T12:23:49+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=205ab8a223ddf6591a3e8bfc9108506502977c11'/>
<id>urn:sha1:205ab8a223ddf6591a3e8bfc9108506502977c11</id>
<content type='text'>
Also add checkpointing/history
</content>
</entry>
<entry>
<title>Automatically derive repo URL and add notifications for input</title>
<updated>2026-01-15T03:26:28+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-15T03:26:28+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=eeafe072bc6bb81459f7d087b48fc921afe9cc11'/>
<id>urn:sha1:eeafe072bc6bb81459f7d087b48fc921afe9cc11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip - contract system</title>
<updated>2026-01-15T01:30:02+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-11T05:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=8e90252284bb069994c708badcc6d113d6d32f94'/>
<id>urn:sha1:8e90252284bb069994c708badcc6d113d6d32f94</id>
<content type='text'>
</content>
</entry>
<entry>
<title> Contract system</title>
<updated>2026-01-15T00:21:16+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-11T05:52:14+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=87044a747b47bd83249d61a45842c7f7b2eae56d'/>
<id>urn:sha1:87044a747b47bd83249d61a45842c7f7b2eae56d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial Control system</title>
<updated>2026-01-11T03:01:13+00:00</updated>
<author>
<name>soryu</name>
<email>soryu@soryu.co</email>
</author>
<published>2026-01-06T04:08:11+00:00</published>
<link rel='alternate' type='text/html' href='http://src.eirin.xyz/soryu/commit/?id=8b17a175c3e7e27b789812eba4e3cd760beadb10'/>
<id>urn:sha1:8b17a175c3e7e27b789812eba4e3cd760beadb10</id>
<content type='text'>
</content>
</entry>
</feed>
