ticket: close typed relation metadata
This commit is contained in:
parent
2225311d0b
commit
0fef311f75
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
title: "Add non-hierarchical typed Ticket relations"
|
title: "Add non-hierarchical typed Ticket relations"
|
||||||
state: 'inprogress'
|
state: 'closed'
|
||||||
created_at: "2026-06-08T07:27:32Z"
|
created_at: "2026-06-08T07:27:32Z"
|
||||||
updated_at: '2026-06-09T06:28:28Z'
|
updated_at: '2026-06-09T06:31:17Z'
|
||||||
queued_by: "workspace-panel"
|
queued_by: "workspace-panel"
|
||||||
queued_at: "2026-06-09T02:27:31Z"
|
queued_at: "2026-06-09T02:27:31Z"
|
||||||
---
|
---
|
||||||
|
|
|
||||||
29
.yoi/tickets/20260608-072732-001/resolution.md
Normal file
29
.yoi/tickets/20260608-072732-001/resolution.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
Implemented, reviewed, merged, and validated.
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
- Added typed, durable, non-hierarchical Ticket relation metadata.
|
||||||
|
- Stored forward project-level relations as typed JSON artifacts at `.yoi/tickets/<ticket-id>/artifacts/relations.json`.
|
||||||
|
- Supported first-version relation kinds: `depends_on`, `blocks`, `related`, `supersedes`, and `duplicate_of`.
|
||||||
|
- Derived inverse views such as `blocked_by`, `dependency_of`, `superseded_by`, and `duplicated_by` from forward relations rather than storing inverse relation kinds.
|
||||||
|
- Added Ticket backend validation and `ticket doctor` diagnostics for relation artifacts, dangling references, self relations, duplicate relations, and bounded dependency/blocking cycles.
|
||||||
|
- Added TicketRelation LLM tools, CLI relation add/list surfaces, TicketShow/List relation metadata, and workspace panel unresolved blocker hints.
|
||||||
|
- Kept relation metadata distinct from OrchestrationPlan execution records and from Pod/session/worktree/runtime claims.
|
||||||
|
|
||||||
|
Implementation:
|
||||||
|
- Coder commit: `4601ad2 ticket: add typed relation metadata`
|
||||||
|
- Reviewer approved with no blocking findings.
|
||||||
|
- Merge commit: `2225311 merge: add typed ticket relation metadata`
|
||||||
|
|
||||||
|
Validation after merge:
|
||||||
|
- `cargo test -q -p ticket ticket_relations`
|
||||||
|
- `cargo test -q -p ticket queue_gate_rejects`
|
||||||
|
- `cargo test -q -p ticket doctor_validates_ticket_relations`
|
||||||
|
- `cargo test -q -p ticket ticket_relation_tools_record`
|
||||||
|
- `cargo test -q -p ticket ticket_tool_name_partitions_are_explicit`
|
||||||
|
- `cargo test -q -p yoi ticket_cli_records_lists_and_shows_relations`
|
||||||
|
- `cargo test -q -p tui workspace_panel_marks_ready_ticket_with_unresolved_relation_blocked`
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- `git diff --check`
|
||||||
|
- `cargo run -q -p yoi -- ticket doctor`
|
||||||
|
- `cargo check --workspace`
|
||||||
|
- `nix build .#yoi`
|
||||||
|
|
@ -353,4 +353,50 @@ Validation run from the worktree:
|
||||||
|
|
||||||
Residual risk: `TicketShow` tool description still summarizes the old output shape and does not mention relations, but the returned JSON and CLI display include relation metadata; this is documentation polish rather than a correctness blocker.
|
Residual risk: `TicketShow` tool description still summarizes the old output shape and does not mention relations, but the returned JSON and CLI display include relation metadata; this is documentation polish rather than a correctness blocker.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: state_changed author: hare at: 2026-06-09T06:31:17Z from: inprogress to: closed reason: closed field: state -->
|
||||||
|
|
||||||
|
## State changed
|
||||||
|
|
||||||
|
Ticket を closed にしました。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-06-09T06:31:17Z status: closed -->
|
||||||
|
|
||||||
|
## 完了
|
||||||
|
|
||||||
|
Implemented, reviewed, merged, and validated.
|
||||||
|
|
||||||
|
Summary:
|
||||||
|
- Added typed, durable, non-hierarchical Ticket relation metadata.
|
||||||
|
- Stored forward project-level relations as typed JSON artifacts at `.yoi/tickets/<ticket-id>/artifacts/relations.json`.
|
||||||
|
- Supported first-version relation kinds: `depends_on`, `blocks`, `related`, `supersedes`, and `duplicate_of`.
|
||||||
|
- Derived inverse views such as `blocked_by`, `dependency_of`, `superseded_by`, and `duplicated_by` from forward relations rather than storing inverse relation kinds.
|
||||||
|
- Added Ticket backend validation and `ticket doctor` diagnostics for relation artifacts, dangling references, self relations, duplicate relations, and bounded dependency/blocking cycles.
|
||||||
|
- Added TicketRelation LLM tools, CLI relation add/list surfaces, TicketShow/List relation metadata, and workspace panel unresolved blocker hints.
|
||||||
|
- Kept relation metadata distinct from OrchestrationPlan execution records and from Pod/session/worktree/runtime claims.
|
||||||
|
|
||||||
|
Implementation:
|
||||||
|
- Coder commit: `4601ad2 ticket: add typed relation metadata`
|
||||||
|
- Reviewer approved with no blocking findings.
|
||||||
|
- Merge commit: `2225311 merge: add typed ticket relation metadata`
|
||||||
|
|
||||||
|
Validation after merge:
|
||||||
|
- `cargo test -q -p ticket ticket_relations`
|
||||||
|
- `cargo test -q -p ticket queue_gate_rejects`
|
||||||
|
- `cargo test -q -p ticket doctor_validates_ticket_relations`
|
||||||
|
- `cargo test -q -p ticket ticket_relation_tools_record`
|
||||||
|
- `cargo test -q -p ticket ticket_tool_name_partitions_are_explicit`
|
||||||
|
- `cargo test -q -p yoi ticket_cli_records_lists_and_shows_relations`
|
||||||
|
- `cargo test -q -p tui workspace_panel_marks_ready_ticket_with_unresolved_relation_blocked`
|
||||||
|
- `cargo fmt --check`
|
||||||
|
- `git diff --check`
|
||||||
|
- `cargo run -q -p yoi -- ticket doctor`
|
||||||
|
- `cargo check --workspace`
|
||||||
|
- `nix build .#yoi`
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user