Feature-230 time study: 13 ranked pipeline-efficiency changes #37

Open
opened 2026-08-14 13:01:43 +00:00 by jbr870 · 13 comments
Owner

Tracking issue for the thirteen ranked changes that came out of the feature-230 time study — a
minute-by-minute reconstruction of Verity issue #230 (release-notes page + unread indicator) from
first idea to v0.2.1 live in production, read off four Claude Code session transcripts and their
42 subagent logs.

The measurement

Calendar, idea → production 25h 37m (2026-08-13 10:10 → 2026-08-14 11:47 local)
Active session time on #230 13h 15m
Watching test suites 4h 04m — 31% of the feature
…of which 7 full Playwright runs 2h 29m, six returning an identical 469/3/0
Four fix rounds on one defect class 2h 21m, still deferred to verity#235
Blocked on a human ~2h 43m (1h 17m of it the UAT gate, working as designed)
Delivered 30 acceptance criteria, 86 files, 13,604 lines

Phase split: requirements + technical-plan 1h 31m · /develop 4h 17m · QA 4h 02m ·
/integrate 56m · UAT 1h 17m · /promote 42m.

The headline: QA cost as much as /develop did, and roughly a third of the whole feature was
spent waiting for suites that had already passed.

Scope of this programme

Items 1–13 of the study's ranked list. Deliberately excluded by the operator:

  • 14 — small-feature lane. Rejected on principle: for production-grade applications everything
    gets checked. Not filed.
  • 15/16/17 — accounting guidance and two "do not change" findings (keep QA; keep the lead's
    verify-don't-trust discipline). Recorded here as findings, not as work.

The ranked list

Ranked by expected saving. Items are independent — the ordering is the intended work order, not
a dependency chain, so nothing here is blocks-linked. Take them top down.

# Issue Change Est. saving
1 #38 /develop + QA: run the full browser suite at phase boundaries, not after every unit and every fix round ~2h
2 #39 /develop: dispatch work units by declared dependency, not in list order ~1h
3 #40 QA fix loop: stop patching after a second same-class re-validation finding ~45m
4 #41 /develop: scope the per-unit gate to the packages the unit touched ~40m
5 #42 requirements/technical-plan: one question round per phase, not four inside eight minutes ~30m
6 #43 QA: intra-run lane-ownership primitive, plus a void-vs-flaky triage rule ~20m + the false-alarm class
7 verity#237 (other forge) migration-concurrency teardown hook times out under load ~19m across 3 encounters
8 #44 wait-discipline: an idle signal is not completion — name the tree-state check 6 occurrences/run; harness defect
9 #45 Phase Outcomes: no supersede path when a posted outcome's premise turns out false ~25m rework + a false record
10 #46 wait-discipline: no retry/resume protocol for transient API errors or quota stalls ~9m attended; unbounded unattended
11 #47 release-pipeline-status.sh --ref returns a stale pipeline — a false green immediately before a production tag correctness — near-miss before a production tag
12 #48 /develop: validate against the real committed content, not only fixtures caught the one blocking defect all gates passed
13 #49 Baseline rule: a gate's output goes to a file and its exit code comes from the command, never a pipeline ~6m + the false-signal class

Recurrence note

Items 6 and 10 promote existing watchlist entries (RC-W17/RC-W18 and RC-W2) on a second independent
sighting. Item 8 corroborates the report-delivery friction already noted on #11. The rest are
first sightings from this run; several are structural defects in skill behaviour rather than
one-off adaptations, which is why they are filed rather than watchlisted.

Not filed but worth noting: this run also gave RC-W16 (no compaction protocol) a second
sighting — session e9274dc9 ran out of context and needed /compact mid-feature, between QA and
/integrate.

Source

Transcripts 915e1a6d, 6b82bebc, c045bb58, e9274dc9 in
~/.claude/projects/-home-jochem-Coding-verity-worktrees-slot4/ on jochems-forge.

Tracking issue for the thirteen ranked changes that came out of the **feature-230 time study** — a minute-by-minute reconstruction of Verity issue #230 (release-notes page + unread indicator) from first idea to `v0.2.1` live in production, read off four Claude Code session transcripts and their 42 subagent logs. ## The measurement | | | |---|---| | Calendar, idea → production | 25h 37m (2026-08-13 10:10 → 2026-08-14 11:47 local) | | Active session time on #230 | **13h 15m** | | Watching test suites | **4h 04m — 31% of the feature** | | …of which 7 full Playwright runs | 2h 29m, six returning an identical 469/3/0 | | Four fix rounds on one defect class | 2h 21m, still deferred to verity#235 | | Blocked on a human | ~2h 43m (1h 17m of it the UAT gate, working as designed) | | Delivered | 30 acceptance criteria, 86 files, 13,604 lines | Phase split: requirements + technical-plan 1h 31m · `/develop` 4h 17m · **QA 4h 02m** · `/integrate` 56m · UAT 1h 17m · `/promote` 42m. The headline: **QA cost as much as `/develop` did**, and roughly a third of the whole feature was spent waiting for suites that had already passed. ## Scope of this programme Items 1–13 of the study's ranked list. Deliberately **excluded** by the operator: - **14 — small-feature lane.** Rejected on principle: for production-grade applications everything gets checked. Not filed. - **15/16/17** — accounting guidance and two "do not change" findings (keep QA; keep the lead's verify-don't-trust discipline). Recorded here as findings, not as work. ## The ranked list Ranked by expected saving. Items are independent — the ordering is the intended **work order**, not a dependency chain, so nothing here is `blocks`-linked. Take them top down. | # | Issue | Change | Est. saving | |---|---|---|---| | 1 | #38 | /develop + QA: run the full browser suite at phase boundaries, not after every unit and every fix round | ~2h | | 2 | #39 | /develop: dispatch work units by declared dependency, not in list order | ~1h | | 3 | #40 | QA fix loop: stop patching after a second same-class re-validation finding | ~45m | | 4 | #41 | /develop: scope the per-unit gate to the packages the unit touched | ~40m | | 5 | #42 | requirements/technical-plan: one question round per phase, not four inside eight minutes | ~30m | | 6 | #43 | QA: intra-run lane-ownership primitive, plus a void-vs-flaky triage rule | ~20m + the false-alarm class | | 7 | [verity#237](https://gitlab.com/jbr870/verity/-/work_items/237) *(other forge)* | migration-concurrency teardown hook times out under load | ~19m across 3 encounters | | 8 | #44 | wait-discipline: an idle signal is not completion — name the tree-state check | 6 occurrences/run; harness defect | | 9 | #45 | Phase Outcomes: no supersede path when a posted outcome's premise turns out false | ~25m rework + a false record | | 10 | #46 | wait-discipline: no retry/resume protocol for transient API errors or quota stalls | ~9m attended; unbounded unattended | | 11 | #47 | release-pipeline-status.sh --ref returns a stale pipeline — a false green immediately before a production tag | correctness — near-miss before a production tag | | 12 | #48 | /develop: validate against the real committed content, not only fixtures | caught the one blocking defect all gates passed | | 13 | #49 | Baseline rule: a gate's output goes to a file and its exit code comes from the command, never a pipeline | ~6m + the false-signal class | ## Recurrence note Items 6 and 10 promote existing watchlist entries (RC-W17/RC-W18 and RC-W2) on a second independent sighting. Item 8 corroborates the report-delivery friction already noted on #11. The rest are first sightings from this run; several are structural defects in skill behaviour rather than one-off adaptations, which is why they are filed rather than watchlisted. Not filed but worth noting: this run also gave **RC-W16 (no compaction protocol)** a second sighting — session `e9274dc9` ran out of context and needed `/compact` mid-feature, between QA and `/integrate`. ## Source Transcripts `915e1a6d`, `6b82bebc`, `c045bb58`, `e9274dc9` in `~/.claude/projects/-home-jochem-Coding-verity-worktrees-slot4/` on `jochems-forge`.
Author
Owner

Linked: this issue is child #38 (recorded by the devwork pipeline).

Linked: this issue is **child** #38 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #39 (recorded by the devwork pipeline).

Linked: this issue is **child** #39 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #40 (recorded by the devwork pipeline).

Linked: this issue is **child** #40 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #41 (recorded by the devwork pipeline).

Linked: this issue is **child** #41 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #42 (recorded by the devwork pipeline).

Linked: this issue is **child** #42 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #43 (recorded by the devwork pipeline).

Linked: this issue is **child** #43 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #44 (recorded by the devwork pipeline).

Linked: this issue is **child** #44 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #45 (recorded by the devwork pipeline).

Linked: this issue is **child** #45 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #46 (recorded by the devwork pipeline).

Linked: this issue is **child** #46 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #47 (recorded by the devwork pipeline).

Linked: this issue is **child** #47 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #48 (recorded by the devwork pipeline).

Linked: this issue is **child** #48 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #49 (recorded by the devwork pipeline).

Linked: this issue is **child** #49 (recorded by the devwork pipeline).
Author
Owner

Linked: this issue is child #261 (recorded by the devwork pipeline).

Linked: this issue is **child** #261 (recorded by the devwork pipeline).
Sign in to join this conversation.
No description provided.