docs(agents): give findings a home, and say which one - #477
Merged
Merged
Conversation
A finding that lives only in a reply is gone at the end of the session. That has cost real work here twice: a 465-artifact measurement that cancelled a planned fix existed only in chat, and a handoff document pointed at a scratch directory that did not outlive the session. Three kinds of finding, three homes: a behaviour-changing rule goes in this file, work goes in an open issue, and a measured dead end goes in an issue closed on arrival under the new `measured-not-planned` label. The third is the one that pays. A measurement that CANCELS work is worth as much as one that starts it and evaporates faster, because nobody files "we checked and it does not matter" — so the next person re-derives it. #476 is the worked example. Every filing carries a trigger phrased as a condition, not a date, and the revisit is a step in the release flow rather than a habit nobody has. Also records two mechanics that silently do nothing: `Closes #N` is inert when merging into `dev` because GitHub honours it only on the default branch, and an empty `gh` result can be a GraphQL EOF rather than an absence. Plus the zsh `PIPESTATUS` trap, filed with the disk-full family it belongs to — the exit code is real, it is just measuring `tail`. Refs: #476
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs only. No code, no artifacts.
Why
A finding that lives only in a reply is gone at the end of the session. That has cost real work here twice:
What it says
Three kinds of finding, three homes:
AGENTS.mdmeasured-not-plannedThe third row is the one people skip and the one that pays. A measurement that cancels work is worth as much as one that starts it, and it evaporates faster — nobody files "we checked and it does not matter", so the next person smells the same thing and re-derives it. #476 is the worked example: two plausible
check_stubdefects, both measured, both left alone, numbers on the record.Filing rules: numbers not adjectives; every finding carries a trigger phrased as a condition, not a date; say what was rejected and why; search before creating.
Revisit is a step, not a habit — before opening a
release/v*PR, list themeasured-not-plannedissues and re-check their triggers. That puts it next to the existing pre-release Dependabot check (RED LINE #10) rather than relying on someone remembering.Two mechanics that silently do nothing
Closes #Nin a PR body is inert when merging intodev. GitHub honours closing keywords only on merges into the default branch, and ours ismain. validate: нет ни одного правила для NFR (50 из 79 PRD без секции, никто не возразил) #449 and validate: нет правила «каждый Requirement в SPEC имеет Scenario» — инвариант держит только TDD-потребитель #450 stayed open after [PROB-105] The SPEC validator passed empty templates and blocked real specs #472 merged, with no error anywhere. Convention recorded: close by hand at dev-merge, naming the merge commit.ghresult is not proof of absence. A GraphQLEOFprints nothing and can exit through a pipe as success. Hit while verifying the new label — the listing came back empty and the label was in fact applied.Plus the zsh
PIPESTATUStrap, filed into the existing disk-full family in Parallel agents and the build directory:${PIPESTATUS[0]}is a bashism that expands to empty in zsh, so a guard printsexit=and reads as fine. Same shape aspassed=0 failed=0on a full disk — the number is real, it is just measuringtail.Infrastructure
Label
measured-not-plannedcreated and applied to #476, so the convention is a command (gh issue list --state closed --label measured-not-planned) rather than a good intention.