AletheiaFact / AletheiaFact/aletheia

INST-2 · Materialize stateHistory[] + stageDurations on the reviewTask

オープン
#2,492 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
backlog needs-migration performance server
主要言語
TypeScript
スター
55
フォーク
20
平均マージ
2日 6時間
マージ済み PR(30日)
2

説明

> Item derived from the fact-checking cycle analysis (**2026-07-03**). Production numbers (namespace `main`), unless noted.

### Finding (evidence)
Measuring time-per-stage today requires parsing **163 MB** of `histories` and rebuilding each task's timeline from `details.after.value` (a generic field, easy to get wrong — that's where the first pass went wrong).

### Action
A single `transitionState()` helper that, on transition, writes to `histories` (as today) **and** pushes to a typed `stateHistory[]` (`from` / `to` / `at` / `byUserId` / `byRole`) + recomputes `stageDurations` / `cycleMetrics`. Retroactive backfill already available (it's the reconstruction run during the analysis).

### Impact
Time-per-stage becomes a flat field; no future analysis needs to rebuild the timeline.

---
- **Priority:** 🔴 High · **Effort:** M (medium)
- **Dependencies:** requires migration/backfill (`needs-migration`). Wave 2, alongside INST-4.
- **Epic:** #2489

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

Start at the reviewTask transitionState() entry point and inspect how histories is currently written. Trace the existing reconstruction/backfill run for the fields, then verify that transitions produce stateHistory[], stageDurations, and cycleMetrics so future analysis no longer needs to rebuild the timeline.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
typescript
領域
backend
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。