Repository navigation
Pass a loose end's subject and flag one already closed - #1286
Conversation
The response is forwarded unchanged (declaration_id parsers see the same JSON) except for a trailing instruction appended only when subject_state is "settled", so the agent checks the remote before treating a closed issue as unfinished. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
022ef50 to
89d88d5
Compare
PR Summary by QodoPass loose-end subjects and flag already-closed issues
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1.
|
Appending prose after the JSON broke clients parsing declaration_id; guidance now lands as a field instead. subject now goes through McpToolArguments.OptionalString so a wrong-typed value is a field error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What & why
The server half, kurrent-io/kcap-server#2215, lets
POST /api/loose-ends/declaretake an optionalsubject(an issue key:PROJ-123,#123,owner/repo#123or a GitHub issue URL) and returns the recordedsubjectand asubject_state(open/settled/unknown). This exposessubjectondeclare_loose_endand, when the server reports the subject already settled, appends an instruction telling the agent to check the remote before treating the loose end as unfinished.Verification
Unit tests in
McpWorkItemsServerTests:BuildDeclareLooseEndBodycopies an optionalsubjectinto the request body, the same way it already copiestext.FormatDeclareLooseEndResultleaves the server's JSON unchanged foropen/absentsubject_state, and appends the "already closed" guidance only when it issettled.declare_loose_endtool schema pin now includessubjectalongsidetext/session_id.Ran
dotnet run --no-build --project test/Capacitor.Cli.Tests.Unit/Capacitor.Cli.Tests.Unit.csproj -- --treenode-filter "/*/*/McpWorkItemsServerTests/*": 102 passed, 0 failed.🤖 Generated with Claude Code