summaryrefslogtreecommitdiff
path: root/makima/src/server/openapi.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-05-08 11:29:20 +0100
committersoryu <soryu@soryu.co>2026-05-08 11:29:20 +0100
commitb5811ad26a94f48ddab45251e44861f5595a7b95 (patch)
treeaab8268536bd63d1751d923562dfb214946652e7 /makima/src/server/openapi.rs
parent928598b1b8399a95918dc1b315274a9d175eb8d9 (diff)
downloadsoryu-unified-contracts-backbone.tar.gz
soryu-unified-contracts-backbone.zip
feat(directives): unified contracts surface — backboneunified-contracts-backbone
This is the backbone PR for the unified directive workflow. A directive holds a sequence of contracts; each contract is a spec body whose execution drives tasks in the directive's shared worktree. Lifecycle (Lock & Start, queue scheduler, drag-reorder) lands in follow-ups. What's in this PR: - Migration adds `position` (queue order) and `merge_mode` (shared|own_pr) columns to directive_documents. The actual table rename is deferred — the legacy `contracts` table from the old contracts system still exists, and the rename collision waits for Phase 5 to drop legacy contracts. - Repository: list orders by position; create assigns next-position; update accepts merge_mode; new reorder_directive_document_position shifts siblings inside a transaction. - HTTP: endpoints aliased under /api/v1/directives/{id}/contracts and /api/v1/contracts/{id}/... with a new /contracts/{id}/reorder. - Frontend: api types renamed `DirectiveContract*` (avoiding the legacy `Contract` type collision); document-directives.tsx imports via aliases so the rest of the file is untouched. Internal struct + table names stay `DirectiveDocument` / `directive_documents` until the legacy contracts cleanup. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'makima/src/server/openapi.rs')
-rw-r--r--makima/src/server/openapi.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/makima/src/server/openapi.rs b/makima/src/server/openapi.rs
index ad7837a..7ddaf1b 100644
--- a/makima/src/server/openapi.rs
+++ b/makima/src/server/openapi.rs
@@ -116,13 +116,14 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
directives::list_directive_tasks,
directives::cleanup_directive,
directives::create_pr,
- // Directive document endpoints
+ // Contract (directive document) endpoints
directive_documents::list_documents,
directive_documents::create_document,
directive_documents::get_document,
directive_documents::update_document,
directive_documents::ship_document,
directive_documents::archive_document,
+ directive_documents::reorder_contract,
directive_documents::list_document_tasks,
// Order endpoints
orders::list_orders,
@@ -226,11 +227,12 @@ use crate::server::messages::{ApiError, AudioEncoding, StartMessage, StopMessage
CreateDirectiveStepRequest,
UpdateDirectiveStepRequest,
CleanupResponse,
- // Directive document schemas
+ // Contract (directive document) schemas
DirectiveDocument,
directive_documents::CreateDirectiveDocumentRequest,
directive_documents::UpdateDirectiveDocumentRequest,
directive_documents::ShipDirectiveDocumentRequest,
+ directive_documents::ReorderDirectiveDocumentRequest,
directive_documents::DocumentTasksResponse,
// Order schemas
Order,