ticket: close objective records

This commit is contained in:
Keisuke Hirata 2026-06-09 15:57:30 +09:00
parent be69a8b06f
commit 91c3763653
No known key found for this signature in database
3 changed files with 69 additions and 2 deletions

View File

@ -1,8 +1,8 @@
---
title: "Define Objective records for medium-term goals"
state: 'inprogress'
state: 'closed'
created_at: "2026-06-08T12:54:30Z"
updated_at: '2026-06-09T06:55:24Z'
updated_at: '2026-06-09T06:57:19Z'
queued_by: "workspace-panel"
queued_at: "2026-06-09T02:27:33Z"
---

View File

@ -0,0 +1,25 @@
Implemented, reviewed, merged, and validated.
Summary:
- Added first lightweight Objective project-record surface.
- Objective records live at `.yoi/objectives/<objective-id>/item.md` with path-derived opaque Objective IDs.
- Objective frontmatter includes `title`, `state: active|paused|done|archived`, `created_at`, `updated_at`, and `linked_tickets` using canonical Ticket IDs.
- Objective body includes required sections for goal, motivation/background, strategy/design direction, success criteria/exit conditions, and decision context.
- Added top-level `yoi objective` CLI: `create`, `list`, `show`, and `doctor`.
- Objective doctor validates malformed frontmatter/state/timestamps, missing required sections, unsafe IDs, and missing linked Ticket records.
- Objective-to-Ticket links are non-blocking context links and do not write Ticket relation metadata, drive Ticket state, or replace OrchestrationPlan execution records.
- Updated Intake/Orchestrator/work-item guidance to keep Objectives distinct from Tickets, TicketRelation metadata, OrchestrationPlan records, and Pod/session claims.
Implementation:
- Coder commit: `be12072 objective: add lightweight records`
- Reviewer approved with no blocking findings.
- Merge commit: `be69a8b merge: add objective records`
Validation after merge:
- `cargo test -p yoi objective_cli`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- objective doctor`
- `cargo run -q -p yoi -- ticket doctor`
- `cargo check --workspace`
- `nix build .#yoi`

View File

@ -286,4 +286,46 @@ Residual risks:
- Objective remains a minimal CLI/local-file surface; Panel display, Objective artifacts/threading, reverse Ticket display, and richer project-record abstractions are intentionally future work.
- Link validation is exact local backend existence validation rather than a separate Ticket-query API, which is consistent with the current flat local backend but should be revisited if Objective support moves into a shared library/provider boundary.
---
<!-- event: state_changed author: hare at: 2026-06-09T06:57:19Z from: inprogress to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-06-09T06:57:19Z status: closed -->
## 完了
Implemented, reviewed, merged, and validated.
Summary:
- Added first lightweight Objective project-record surface.
- Objective records live at `.yoi/objectives/<objective-id>/item.md` with path-derived opaque Objective IDs.
- Objective frontmatter includes `title`, `state: active|paused|done|archived`, `created_at`, `updated_at`, and `linked_tickets` using canonical Ticket IDs.
- Objective body includes required sections for goal, motivation/background, strategy/design direction, success criteria/exit conditions, and decision context.
- Added top-level `yoi objective` CLI: `create`, `list`, `show`, and `doctor`.
- Objective doctor validates malformed frontmatter/state/timestamps, missing required sections, unsafe IDs, and missing linked Ticket records.
- Objective-to-Ticket links are non-blocking context links and do not write Ticket relation metadata, drive Ticket state, or replace OrchestrationPlan execution records.
- Updated Intake/Orchestrator/work-item guidance to keep Objectives distinct from Tickets, TicketRelation metadata, OrchestrationPlan records, and Pod/session claims.
Implementation:
- Coder commit: `be12072 objective: add lightweight records`
- Reviewer approved with no blocking findings.
- Merge commit: `be69a8b merge: add objective records`
Validation after merge:
- `cargo test -p yoi objective_cli`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- objective doctor`
- `cargo run -q -p yoi -- ticket doctor`
- `cargo check --workspace`
- `nix build .#yoi`
---