tidaldb/.sdlc/features/pg1-instrumented-metrics/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.6 KiB
YAML

slug: pg1-instrumented-metrics
title: Instrumented Metrics Pipeline
description: Signal write rates, ranking latency p50/p99, personalization staleness, and feedback-loop latency all observable in production
phase: released
created_at: 2026-03-03T06:30:08.990467Z
updated_at: 2026-03-04T06:38:58.975310Z
artifacts:
- artifact_type: spec
status: approved
path: .sdlc/features/pg1-instrumented-metrics/spec.md
created_at: 2026-03-04T06:25:03.916582Z
approved_at: 2026-03-04T06:25:07.872447Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: design
status: approved
path: .sdlc/features/pg1-instrumented-metrics/design.md
created_at: 2026-03-04T06:25:39.569379Z
approved_at: 2026-03-04T06:25:42.567351Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: tasks
status: approved
path: .sdlc/features/pg1-instrumented-metrics/tasks.md
created_at: 2026-03-04T06:26:01.627817Z
approved_at: 2026-03-04T06:26:05.095340Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: qa_plan
status: approved
path: .sdlc/features/pg1-instrumented-metrics/qa-plan.md
created_at: 2026-03-04T06:26:22.914537Z
approved_at: 2026-03-04T06:26:25.925410Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: review
status: approved
path: .sdlc/features/pg1-instrumented-metrics/review.md
created_at: 2026-03-04T06:35:57.313743Z
approved_at: 2026-03-04T06:36:02.060619Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: audit
status: approved
path: .sdlc/features/pg1-instrumented-metrics/audit.md
created_at: 2026-03-04T06:36:23.188415Z
approved_at: 2026-03-04T06:36:26.536040Z
rejected_at: null
rejection_reason: null
approved_by: null
- artifact_type: qa_results
status: approved
path: .sdlc/features/pg1-instrumented-metrics/qa-results.md
created_at: 2026-03-04T06:38:48.462062Z
approved_at: 2026-03-04T06:38:53.032137Z
rejected_at: null
rejection_reason: null
approved_by: null
tasks:
- id: T1
title: Percentile methods on LatencyHistogram
description: null
status: completed
created_at: 2026-03-04T06:26:33.718281Z
started_at: null
completed_at: 2026-03-04T06:27:45.644868Z
blocker: null
depends_on: []
- id: T2
title: Per-signal-type write counters
description: null
status: completed
created_at: 2026-03-04T06:26:34.152429Z
started_at: null
completed_at: 2026-03-04T06:34:06.377941Z
blocker: null
depends_on: []
- id: T3
title: UserSignalTimestampMap
description: null
status: completed
created_at: 2026-03-04T06:26:34.601553Z
started_at: null
completed_at: 2026-03-04T06:34:06.833138Z
blocker: null
depends_on: []
- id: T4
title: Personalization staleness histogram
description: null
status: completed
created_at: 2026-03-04T06:26:35.043054Z
started_at: null
completed_at: 2026-03-04T06:34:07.255986Z
blocker: null
depends_on: []
- id: T5
title: Feedback-loop latency histogram
description: null
status: completed
created_at: 2026-03-04T06:26:35.951120Z
started_at: null
completed_at: 2026-03-04T06:34:07.728503Z
blocker: null
depends_on: []
- id: T6
title: /diagnostics JSON endpoint
description: null
status: completed
created_at: 2026-03-04T06:26:36.379601Z
started_at: null
completed_at: 2026-03-04T06:34:08.073Z
blocker: null
depends_on: []
- id: T7
title: Integration test
description: null
status: completed
created_at: 2026-03-04T06:26:36.551212Z
started_at: null
completed_at: 2026-03-04T06:35:25.344119Z
blocker: null
depends_on: []
comments: []
next_comment_seq: 0
blockers: []
phase_history:
- phase: draft
entered: 2026-03-03T06:30:08.990467Z
exited: 2026-03-04T06:25:07.873116Z
- phase: specified
entered: 2026-03-04T06:25:07.873116Z
exited: 2026-03-04T06:26:25.926430Z
- phase: planned
entered: 2026-03-04T06:26:25.926430Z
exited: 2026-03-04T06:26:44.492116Z
- phase: ready
entered: 2026-03-04T06:26:44.492116Z
exited: 2026-03-04T06:26:47.866600Z
- phase: implementation
entered: 2026-03-04T06:26:47.866600Z
exited: 2026-03-04T06:36:02.061645Z
- phase: review
entered: 2026-03-04T06:36:02.061645Z
exited: 2026-03-04T06:36:23.189199Z
- phase: audit
entered: 2026-03-04T06:36:23.189199Z
exited: 2026-03-04T06:36:26.536965Z
- phase: qa
entered: 2026-03-04T06:36:26.536965Z
exited: 2026-03-04T06:38:53.033071Z
- phase: merge
entered: 2026-03-04T06:38:53.033071Z
exited: 2026-03-04T06:38:58.975310Z
- phase: released
entered: 2026-03-04T06:38:58.975310Z
exited: null
dependencies: []
archived: false
schema_version: 4