Conversation
keenvc
added a commit
to keenvc/firstmate
that referenced
this pull request
Sep 20, 2026
…e ship definition of done
This was referenced Sep 30, 2026
Closed
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.
What
The ship definition of done now requires a before/after evidence pair captured with one stated methodology, and the before is captured at reproduction time, before any fix, for any change with an observable surface.
The requirement is stated once, in its single owner
bin/fm-dod-lib.sh, and rendered into every ship mode's Definition of done (no-mistakes, direct-PR, local-only), so every worker receives it in its brief and every promoted scout receives the same contract.bin/fm-dod-lib.sh- owner: newfm_dod_evidence_pairblock, emitted into all modes after theDelivery contract:line; header documents the new ownership; the mode-specific heredocs no longer duplicate the# Definition of done/Delivery contract:header lines.AGENTS.md(section 7, Validate) - one-line cross-reference to the owner.docs/architecture.md- the maintainer-architecture owner sentence now names the evidence-pair scope.A change with no visible surface uses the same discipline with measured numbers or before/after output instead of screenshots; when nothing observable can move, the worker says so and names what was verified instead.
Why
An after-only check cannot catch a measurement that is wrong in both directions: the same wrong ruler applied twice shows no movement. A before/after pair taken with one stated methodology can, because a broken measurement becomes visible in the delta instead of passing in both directions.
This is the gap behind recent fleet failures where an after-check passed while the defect was still on screen - a notice that painted in the DOM but never composited, rows counted in the viewport instead of inside the grid container, and fixes that passed their own checks while the screen stayed broken.
Scope decisions
phi-safe-evidenceis the fleet's instance of that path). No skill name or host is hardcoded into firstmate's generic contract.Evidence
This is a documentation/process change with no browser surface, so per the rule it states what was verified instead:
tests/fm-brief.test.sh- newtest_ship_dod_requires_evidence_pairscaffolds all three ship modes and asserts the rendered DoD carries the requirement (one methodology, before-at-reproduction, non-UI measured/output pairs, never a public host). Full file: 26ok, exit 0.bin/fm-lint.sh- exit 0 (ShellCheck 0.11.0).bin/fm-doc-audience-check.sh-ok surfaces=102 local_links=426.bin/fm-ensure-agents-md.sh .- unchanged.