Agents Builders

Task CLI show and stale

Archived
task-cli-visibility-stale

Created

Jun 24, 02:39

Started

Jun 24, 02:39

Completed

Jun 24, 03:35

DevOps handoff

Type

Feature

Shape

backend

Worktree Slug

task-cli-visibility-stale

Repositories

mcritchie-studio

Release Train

Branch

feat/task-cli-visibility-stale

Local URL

QA URL

Production URL

tooling

Acceptance Criteria

  • task show --json dumps full devops data
  • show --verbose prints acceptance agent_context claim PR
  • stale check flags branch already on origin/main

Expected Test Plan

  • unit

Checks Run

  • [unit] StaleCheck.branch_for resolves devops.branch / feat-slug
  • [unit] StaleCheck.status maps on_main/not_merged/no_branch/terminal
  • [integration] show --json emits valid JSON of fetched data
  • [integration] show --verbose prints acceptance bullets + agent_context
  • [integration] show default stays terse (count, not bullets)
  • [integration] stale flags branch already on origin/main (real git repo)
  • [integration] stale reports not-yet-merged branch as active
  • [integration] stale degrades cleanly when branch absent

Agent Context

Two bin/task ergonomics wins. (A) VISIBILITY: print_task (bin/task ~L307-312) shows only 'acceptance: N item(s)'. Add --json (dump the already-fetched api(:get,/tasks/:slug) data) and --verbose (print acceptance bullets + agent_context + claim state + pr_url). (B) STALE WAR: a check (bin/task stale <slug> or a show flag) that detects when feat/<slug>'s commits are already on origin/main (fixed out-of-band) via git merge-base --is-ancestor and suggests archiving — caught fix-dor-check-release-cut-base manually this session. Tests.

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.

  1. Created Designed
    F Flareon
    Flareon
    Model
    Duration
    Tokens
    Cost
    Completed Jun 24, 02:39 · 3 days ago
    api
  2. Designed Building
    F Flareon
    Flareon
    Model
    claude-opus-4-8
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 24, 02:39
    Completed Jun 24, 02:39 · 3 days ago
    cli
  3. Building Submitted
    F Flareon
    Flareon
    Model
    claude-opus-4-8
    Duration
    17 minutes
    Tokens
    Cost
    Started Jun 24, 02:39
    Completed Jun 24, 02:56 · 3 days ago
    cli
  4. Submitted Reviewed
    C Carl
    Carl primary
    A Alex
    Alex light
    Model
    claude-opus-4-8
    Duration
    27 minutes
    Tokens
    36,147,172
    Cost
    ~$24.95
    Started Jun 24, 02:56
    Completed Jun 24, 03:24 · 3 days ago
    cli
  5. Reviewed Assembled
    S Steffon
    Steffon
    Model
    Duration
    under a minute
    Tokens
    Cost
    Started Jun 24, 03:24
    Completed Jun 24, 03:24 · 3 days ago
  6. Assembled Shipped
    A Avi
    Avi
    Model
    Duration
    11 minutes
    Tokens
    Cost
    Started Jun 24, 03:24
    Completed Jun 24, 03:35 · 3 days ago
  7. Shipped Archived
    1
    159aaa24-5db3-4c44-aa05-25c79d2902cd
    Model
    claude-opus-4-8
    Duration
    about 14 hours
    Tokens
    Cost
    Started Jun 24, 03:35
    Completed Jun 24, 17:38 · 3 days ago
    cli

Conversation

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

Comment avi 3 days ago

2-senior review (carl heavy adversarial + alex-docs light). BOTH APPROVE. Carl probed degenerate inputs (empty devops/nil fields/non-git dir → graceful, exit 0), confirmed no injection (array-form git, dash/metachar branch → invalid ref → :no_branch), clean pure-lib/bin split mirroring claim_lease.rb, never false-flags stale on a git error; 36 tests 0 failures. alex-docs: --verbose well-organized, stale message actionable, bin/task help updated. NON-BLOCKING follow-up nits: (1) zero-unique-commit feat branch off main reads :on_main (advisory only; add a >=1-commit-beyond-fork guard); (2) tighten the stale_check comment (it catches branch-merged-but-task-not-advanced, not designed-with-no-branch); (3) show --json with no slug treats --json as slug -> 404.

Sealed-bid sizing

Edit →

Alex (PM)

Avi (PO)

Dev

Actual