Agents Builders

Testing phase timestamps

Submitted
testing-phase-timestamps
REVIEW STARTED

Open follow-up work before adding changes to this branch.

Review in progress

Do not interrupt the branch under review.

Review has started for this task. Keep this PR stable while reviewers work; capture new scope or fixes in a follow-up task instead of pushing another change here.

S Shannon Shannon primary C Carl Carl light
View PR Sign in to create follow-up

Created

Jul 08, 06:33

Started

Jul 08, 07:25

DevOps handoff

Type

Feature

Shape

ui+db

Worktree Slug

testing-phase-timestamps

Repositories

mcritchie-studio

Release Slug

Branch

feat/testing-phase-timestamps

QA URL

Production URL

observability telemetry devops

Acceptance Criteria

  • Registry of five task-owned testing phases
  • full-suite-check emits cert start/finish TaskEvents
  • bin/task stamps approval_approved_at on acceptance
  • Phase windows derive from durable TaskEvents
  • TaskTestingPhase materialized projection, recomputed idempotently
  • Per-phase durations on timeline and aggregate view
  • Backfill existing tasks from historical events

Expected Test Plan

  • [unit] phase-window rollup from TaskEvents, approval, CI
  • [component] timeline renders per-phase duration chips
  • [integration] cert events + approval + CI to projection
  • [e2e] aggregate per-phase latency view loads

Checks Run

  • [unit] TestingPhases projection (build/refresh/cached_or_built) + approval_approved_at stamp + TaskIntelligence#testing_phase_speed_series
  • [component] task-show 'Testing phases' card renders per-phase durations; /intelligence testing-phase-speed chart container present
  • [integration] real write paths (transitions, cert checkpoints, approval stamps) round-trip through the persisted projection
  • [e2e] Playwright happy path: task page phase card + /intelligence 'Testing phase speed' chart canvas
  • [full-suite@6114ae1c8299816075409e4e5f570543e166eb63] bin/rails db:test:prepare test test:system green
  • [rubocop@6114ae1c8299816075409e4e5f570543e166eb63] bin/rubocop clean

Agent Context

Observability layer for TESTING latency - the measure-first foundation before any pipeline reimagining. Endorsed with hardening (all folded in). PHASE SET (the five, TASK-OWNED, individual through reviewed; anchor every window on DURABLE events, never the session-bound token capture which taints under subagent fan-out): 1. Build - building transition to first cert start (implementation + directional testing; explicitly ABSORBS the build/implementation span so it is not left unnamed - often the fattest bar). 2. Local Certification - cert start to cert finish (full-suite-check + dor-check). NEEDS NEW STAMPS: no durable event exists today, so full-suite-check must emit a cert-started and a cert-finished TaskEvent (it already knows both moments). This is the fat bar we most want to see; without the stamp the dashboard has a hole exactly where the pain is. 3. CI - PR opened to all required GitHub checks green (derive from GitHub checks API timestamps). 4. Review - submitted to reviewed (derive from TaskEvents). 5. Operator Acceptance - approval_requested_at to approval_approved_at. NEEDS approval_approved_at: the requested timestamp exists but the approved one likely does not, so bin/task must stamp approval_approved_at on the approval transition. RULE: derive where the event exists (Build, CI, Review); add the two minimal durable stamps where it does not (cert start/finish TaskEvent; approval_approved_at). Not a stamping burden - the tool that owns each transition emits one line. PERSISTENCE (decision 1): model TaskTestingPhase on the existing Release::DurationCache pattern - a MATERIALIZED read-model projection recomputed idempotently from TaskEvents/approval/CI, never hand-maintained (drift-proof, backfillable, dashboard-queryable). Single-task timeline may derive-on-read; the aggregate view needs the materialized table. Anchor windows on durable TaskEvents, not token capture. MVP (decision 2): the five task-owned phases only. RELEASE-OWNED phases (QA, Production) are OUT of MVP and are RELEASE grain, not per-task - do NOT smear a shared release window onto each member task (double-counts). They land as a fast-follow, stamped on the Release, inherited by membership. SUCCESS SIGNAL: when Local Certification surfaces as the fat bar in the aggregate view, that is the data-backed mandate to move it to CI. DEFERRED (NOT this task; a data-driven follow-on program the phase data will justify): retire the local full-suite from the submitted gate and make CI-green authoritative (ci-scope-capture already ingests CI verdicts as gradeable evidence); shard the CI suite; impact-based test selection; ephemeral QA environments. Coordination: a separate tiny task caps full-suite-check parallel workers - reconcile the bin/full-suite-check diff. Rides the same telemetry substrate as the usage-accuracy epic (PR #455 shipped Phase 1; Phases 2-3 pending) but is independent and higher-leverage for this process pain.

Stage Timeline

Who handled each stage, the time it took (measured), and the model / tokens / cost reported (best-effort) — plus who's on it right now. means the agent didn't report that metric.

Sizing Avi · PO LARGE Dev LARGE Actual
  1. Created Designed
    C Chikorita
    Chikorita
    Model
    Duration
    Tokens
    Cost
    Completed Jul 08, 06:33 · about 6 hours ago
    api
  2. Designed Building
    C Chikorita
    Chikorita
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    107,885,940
    Cost
    ~$68.73
    Started Jul 08, 06:33
    Completed Jul 08, 07:25 · about 5 hours ago
    cli
  3. Building Submitted
    B Bayleef
    Bayleef
    Model
    claude-opus-4-8
    Duration
    about 1 hour
    Tokens
    121,813,518
    Cost
    ~$88.93
    Started Jul 08, 07:25
    Completed Jul 08, 08:17 · about 4 hours ago
    cli
  4. Submitting Review Activity
    S Shannon
    Shannon primary
    C Carl
    Carl light
    Model
    Duration
    Tokens
    Cost
    Started Jul 08, 12:12

Conversation

QA review feedback, agent handoffs, and follow-up notes for this task.

No task feedback has been recorded yet.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

LARGE

Dev

LARGE

Actual