The QA lane has never walked docs/qa/targets.md — 14 of 14 passes re-verified a shipped ticket, 9 of them documentation-only verdicts #280
Labels
No labels
agent
agent:ci
agent:done
agent:failed
agent:needs-input
agent:refined
agent:refining
agent:running
agent:shipped
agent:skip
autonomous
autopilot
driven
local
plan
proposal
qa
qa-gap
research
retro
ship
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeroen/cartopolis#280
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the 7-day retrospective on #279, reading every
qaticket the lane hasever filed.
What happens
docs/qa/targets.mdis a 16-row standing list of the functionality a playeractually meets — register and sign in, claim a house, walk and run, jump and fly,
sit on a bench, emotes, chat, proximity voice, block and report, delete account,
create and edit a prim, script a prim, touch and interact, export/import builds,
bookmarks and place pins, place photos.
Not one of those rows has ever been walked. Every QA ticket the lane has
filed, 14 of 14, is a re-verify of a recently shipped issue:
docs/qa/targets.mdAnd nine of those fourteen re-verified a "…: is it worth wiring in?" ticket —
#175, #176, #180, #186, #187, #192, #197, #199, #201 — whose entire deliverable
was a row in
docs/direction.mdand a file indocs/notes/. There is no playerjourney in a verdict. A tenth, #278, is a QA pass on
main is red on 9e5ed895, acompile fix to a test module.
What it costs, and it is not hypothetical
The QA lane's findings are the input to the retrospective's promotions, so what
QA is pointed at decides what gets built. Point it at prose and it finds prose:
11 of the 31 open
qa-gapissues are documentation-pointer defects — #240,#242, #244, #246, #247, #248, #250, #252, #253, #254, #256, every one of them a
note or a table row that names the wrong symbol or the wrong file. Each is
correct. None can be promoted, because none is something a player meets, and the
retrospective's own bar is "gaps whose success a machine can judge". They will
sit in the backlog for ever.
Meanwhile the simulator half of this codebase — accounts, prims, scripting, chat,
voice, ownership, the sit pose, driver mode — has had zero unattended
attention in the period, and every one of the 34 gaps filed is about a map data
layer.
Where the seam is
tools/autopilot.ts,generateQa(:876) andshippedRecently(:821).Two things put together produce the outcome:
returns. WithqaPerDay: 1the standing list below itis only reached on a day when every shipped ticket of the last week has already
been walked. In seven days that has never happened once.
shippedRecently()filters onagent:shippedand a 7-day cutoff and nothingelse. It cannot tell a merged data layer from a merged verdict, a merged
autopilot change or a merged red-
mainrepair — so those enter the QA queueahead of chat, voice and prim ownership.
What would fix it
Two independent changes, either of which helps and both of which are small:
shippedRecently()a player-facing test. The cheapest honest one isthe files the merge touched: a ticket whose diff is entirely
docs/,.md,tools/or.forgejo/shipped nothing a player can walk into, and the compareendpoint
shipReadyalready calls answers it. That drops all nine verdicttickets, the red-
mainrepairs and every autopilot change out of the queue.pass in N for
docs/qa/targets.md, so the standing list is reached whether ornot the lane shipped something yesterday.
Note the second alone is not enough while
qaPerDayis 1: a queue that always hasone fresh re-verify in it will still take every slot.
Related
qa-gapbacklog. This is the other end: whatgoes into it.
Filed by the 7-day retrospective (#279). Not labelled
autonomous— it editstools/autopilot.ts, which the fence refuses to land, and three finished branchesare already waiting for review.
alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281