mirror of
https://github.com/saltbo/agent-kanban.git
synced 2026-09-19 09:01:47 +08:00
96fdd70d2c
* feat(api)!: redesign task resource operations
Publish the complete resource-oriented OpenAPI contract, enforce scope-based authorization at the HTTP boundary, and replace lifecycle command routes with Task PATCH and nested Claim/Event resources.
Add server-side Task CAS, migration coverage, updated Agent Skills, and browser/API regression tests.
BREAKING CHANGE: remove the legacy task lifecycle endpoints and move bounded waits to /tasks/{taskId}/events.
* refactor(tasks)!: make claims create-only
Remove Task Claim retrieval and deletion routes, the release scope, live deletion logic, and release workflow guidance.
Keep historical release records readable for migration and audit compatibility.
BREAKING CHANGE: remove GET and DELETE /tasks/{taskId}/claims/{claimId} and the task:release scope.
* test(ci): align actor and projection contracts
Cover machine and service Task Action writes and update Agent detail fixtures to the canonical assignedTo query and paged lowerCamelCase response.
* fix(api): preserve merge patch fields and consume browser pagination
* test(ui): include terminal pagination in agent task fixture
---------
Co-authored-by: jarvis <jarvis@agents.realmroot.dev>
32 lines
1.8 KiB
Gherkin
32 lines
1.8 KiB
Gherkin
Feature: Realmroot Resource Server
|
|
AK exposes Board and Task capabilities to Agents through Realmroot Toolbox.
|
|
|
|
@journey:resource-server/discovery @entrypoint:toolbox @proof:integration
|
|
Scenario: Publish protected-resource and OpenAPI discovery
|
|
When Realmroot discovers AK
|
|
Then AK publishes protected-resource metadata and its Toolbox OpenAPI document
|
|
|
|
@journey:resource-server/agent-skills @entrypoint:toolbox @proof:integration
|
|
Scenario: Publish installable Agent Skills
|
|
Given AK owns Agent-facing operating Skills
|
|
When Toolbox discovers Agent Skills at the AK Resource Server origin
|
|
Then AK publishes an Agent Skills Discovery version 0.2.0 index
|
|
And the index advertises every AK-owned Skill as a digest-verified archive
|
|
And each archive contains its Skill instructions and supporting files
|
|
|
|
@journey:resource-server/generic-operations @entrypoint:toolbox @proof:integration
|
|
Scenario: Use Toolbox generic resource operations
|
|
Given an authorized Realmroot actor
|
|
When the actor reads or writes an ordinary published Board, Task, Note, or Repository resource
|
|
Then Toolbox uses cursor collections, lowerCamelCase representations, and generic verb-first operations
|
|
And omitting API-Version selects the current v2 contract
|
|
And an explicit unsupported API-Version is rejected
|
|
And Board and Repository creation does not require an Idempotency-Key
|
|
And Task, Task Note, Agent, and Machine creation requires an RFC 8941 string Idempotency-Key
|
|
|
|
@journey:resource-server/workflow-commands @entrypoint:toolbox @proof:integration
|
|
Scenario: Publish only AK-specific resource-first commands
|
|
When Toolbox reads the AK OpenAPI document
|
|
Then wait has a stable resource-first command name
|
|
And ordinary CRUD does not create duplicate resource-first commands
|