tidaldb/.sdlc/features/p1-briefing-ux-reason-labels/manifest.yaml
jordan cc0b894480 sdlc: accept the schema_version 3 -> 4 migration
`sdlc` 0.5.1 rewrites every feature manifest on read - `sdlc state` alone did
this - so the migration cannot be avoided, only recorded. It is idempotent:
repeated reads produce no further churn (verified by checksum).

What schema 4 drops, so it is findable later:
- feature-level `id` (now derived from `slug`) and `updated_at`.
- per-task history: `created_at` is re-stamped with the migration instant and
  `completed_at` is nulled, so task timing before 2026-08-16 is not recoverable
  from these files.
- m9-community-profile-sync additionally loses 18 phase-history and artifact
  timestamps (`entered`/`exited`/`approved_at`, 2026-03-04).

The pre-migration record is this commit's parent:
  git show HEAD~1:.sdlc/features/m9-community-profile-sync/manifest.yaml

Committed separately from any state transition so the loss is one reviewable
diff rather than noise inside a feature change. `.sdlc/` is CLI-owned; nothing
here was hand-edited.
2026-08-16 12:39:22 -06:00

165 lines
4.8 KiB
YAML

slug: p1-briefing-ux-reason-labels
title: Briefing UX & Reason Labels
description: Card UI spec with reasons taxonomy and source exposure rules — users see why each item was surfaced
phase: released
created_at: 2026-03-03T06:30:00.900430Z
updated_at: 2026-03-04T06:49:21.172572Z
artifacts:
- artifact_type: spec
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/spec.md
created_at: 2026-03-04T06:25:40.402584Z
approved_at: 2026-03-04T06:25:43.261685Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: design
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/design.md
created_at: 2026-03-04T06:26:10.987455Z
approved_at: 2026-03-04T06:26:14.555167Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: tasks
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/tasks.md
created_at: 2026-03-04T06:26:27.069487Z
approved_at: 2026-03-04T06:26:30.181786Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: qa_plan
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/qa-plan.md
created_at: 2026-03-04T06:26:44.666456Z
approved_at: 2026-03-04T06:26:47.885568Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: review
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/review.md
created_at: 2026-03-04T06:47:07.544289Z
approved_at: 2026-03-04T06:47:13.205712Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: audit
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/audit.md
created_at: 2026-03-04T06:47:40.494686Z
approved_at: 2026-03-04T06:47:43.588967Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: qa_results
status: approved
path: .sdlc/features/p1-briefing-ux-reason-labels/qa-results.md
created_at: 2026-03-04T06:49:11.379613Z
approved_at: 2026-03-04T06:49:14.601159Z
rejected_at: null
rejection_reason: null
approved_by: null
tasks:
- id: T1
title: Core types and module scaffold (ReasonCode, ReasonLabel, select_top_reasons)
description: null
status: completed
created_at: 2026-03-04T06:27:07.926857Z
started_at: null
completed_at: 2026-03-04T06:27:29.828328Z
blocker: null
depends_on: []
- id: T2
title: Populate signal_snapshot during ProfileExecutor scoring
description: null
status: completed
created_at: 2026-03-04T06:27:08.368533Z
started_at: null
completed_at: 2026-03-04T06:29:26.304101Z
blocker: null
depends_on: []
- id: T3
title: Tag candidate-generation reasons in RETRIEVE pipeline
description: null
status: completed
created_at: 2026-03-04T06:27:09.258540Z
started_at: null
completed_at: 2026-03-04T06:30:45.239666Z
blocker: null
depends_on: []
- id: T4
title: Tag scoring-stage reasons (sort-mode, social proof, quality gate)
description: null
status: completed
created_at: 2026-03-04T06:27:09.665590Z
started_at: null
completed_at: 2026-03-04T06:30:45.399892Z
blocker: null
depends_on: []
- id: T5
title: Tag search-method reasons in SEARCH pipeline (BM25/ANN)
description: null
status: completed
created_at: 2026-03-04T06:27:10.594006Z
started_at: null
completed_at: 2026-03-04T06:31:45.268560Z
blocker: null
depends_on: []
- id: T6
title: Final API surface polish and result assembly
description: null
status: completed
created_at: 2026-03-04T06:27:11.122877Z
started_at: null
completed_at: 2026-03-04T06:32:00.769625Z
blocker: null
depends_on: []
- id: T7
title: Integration tests (p1_reason_labels.rs)
description: null
status: completed
created_at: 2026-03-04T06:27:11.591781Z
started_at: null
completed_at: 2026-03-04T06:46:05.850747Z
blocker: null
depends_on: []
comments: []
next_comment_seq: 0
blockers: []
phase_history:
- phase: draft
entered: 2026-03-03T06:30:00.900430Z
exited: 2026-03-04T06:25:43.262321Z
- phase: specified
entered: 2026-03-04T06:25:43.262321Z
exited: 2026-03-04T06:26:47.886167Z
- phase: planned
entered: 2026-03-04T06:26:47.886167Z
exited: 2026-03-04T06:27:20.220749Z
- phase: ready
entered: 2026-03-04T06:27:20.220749Z
exited: 2026-03-04T06:27:26.040230Z
- phase: implementation
entered: 2026-03-04T06:27:26.040230Z
exited: 2026-03-04T06:47:13.207699Z
- phase: review
entered: 2026-03-04T06:47:13.207699Z
exited: 2026-03-04T06:47:40.495458Z
- phase: audit
entered: 2026-03-04T06:47:40.495458Z
exited: 2026-03-04T06:47:43.590873Z
- phase: qa
entered: 2026-03-04T06:47:43.590873Z
exited: 2026-03-04T06:49:14.603039Z
- phase: merge
entered: 2026-03-04T06:49:14.603039Z
exited: 2026-03-04T06:49:21.172572Z
- phase: released
entered: 2026-03-04T06:49:21.172572Z
exited: null
dependencies: []
archived: false
schema_version: 4