v1.20.1
frontend-production-engineer v1.20.1
A checkpoint release. No domain is added, and the router still carries
twenty-one. Twelve repairs, against seven items of the battery, in the operating
doctrine and in five of the twenty-one integrated domains.
Repaired
- 11 —
degradation-and-health-checks: thenext.config.tssample read
process.env.GIT_SHA!forgenerateBuildId. The domain 02 gate fails a
non-null!on a value that can be absent, and an unset variable is exactly
that. OnebuildIdconstant now feedsdeploymentIdandgenerateBuildId,
which is also what the checklist of the file asks for. - 11 —
route-protection-and-permissions: thesafeNextguard read
process.env.APP_ORIGIN!before it parsed the redirect target. It reads the
variable and returns/where no origin is configured, which is the same
refusal the two string tests above it perform.type-modeling-and-narrowing
states the rule as "NEVER reach for!", and two Correct samples held one. - 8 —
error-capture-and-reporting: the Wrong pair for an event handler
said that a rejected promise sends no report. Four sections later the same
file states thatSentry.initinstalls anunhandledrejectionhandler, which
sends one. The Failure now names the failure that the sample does produce: no
boundary renders, nothing on the screen states that the export failed, and the
event that reaches the tracker names no control. - 12 —
locale-routing-and-catalogs: the Wrong sample for a cookie-only
locale readcookies()with noawait. That is the Next 15 form, and it was
the only synchronous read of a dynamic API left inreferences/. The pair
teaches the cookie, and it carried a second unstated defect that domain 01
blocks on. - 31 —
network-mocks-and-contract-tests: the mock-socket test asserted on
anunknownFrameCounterafter a frame whose type is known and whose payload
fails the parse. Domain 08 owns that counter and calls it the dropped frame,
inlive-events-and-cache-mergeand in the 08 to 21 row ofSKILL.md. The
identifier and the fix cell of the symptom table take that term. - 31 —
end-to-end-journeys-and-flake-control: one sentence used "image"
for a screenshot and for a container image. The checklist of the same file
already writes "container image", so the sentence takes both terms apart. - 9 —
network-mocks-and-contract-testsand
view-transitions-and-animation-libraries: two checklist items opened with
"Does any". A reviewer with no real backend, and a reviewer with no
<ViewTransition>call, cannot tick either box, so a pass reads as a failure.
Both ask about every one, which is the form that every other item in both
files uses. - 30 —
bidirectional-layout-and-scripts: one row of the mirror table wrote
"Neither one" over a list of three elements. It states "None of them". - 32 —
bidirectional-layout-and-scripts,locale-formatting-and-calendars,
andlocale-routing-and-catalogs: the first verification step read
cat package.json | rg '...'. Every other file writesrg -n '...' package.jsonor anode -pread. The three files of domain 19 were the only
ones with the pipe. - 30 —
SKILL.md: one condition of the definition of done ran to twenty-six
words, in the report block of domain 19. ASD-STE100 holds a descriptive
sentence to twenty-five. The locale route that the build reports as dynamic is
its own condition, which is the same split that 1.17.1 made for domain 14. - 32 —
README.md,AGENTS.md, andGEMINI.md: 1.20.0 inserted the domain
21 paragraph above the domain 20 paragraph and relabelled the older one "the
next part". Nothing follows the newest part, and domain 20 landed one release
before domain 21. The two paragraphs swap back, and the sentence that closes
the section moves with them. - 30 —
README.md,AGENTS.md, andGEMINI.md: the sentence that closed
the domain 21 paragraph ran to twenty-seven words. It is two sentences.
The router table carries the same sixty-four rows and the same trigger
vocabulary. Every row resolves to a file on disk, and no file in references/
is an orphan. The frontmatter description is unchanged, and it holds its 1006
characters of the 1024 that the platform allows. The definition of done names
the failure condition of all seven landed blocking domains, and the conflict
rule and the invocation order are unchanged.
SKILL.md is 180232 bytes after this release, against the 188416 that
docs-integrity allows.
Domains affected
24 agent-operating-doctrine— the gate conditions ofSKILL.md, the README,
AGENTS.md, andGEMINI.md.07 authentication-and-authorization—route-protection-and-permissions.14 motion-and-interaction—view-transitions-and-animation-libraries.19 internationalization-and-rtl—locale-routing-and-catalogs,
locale-formatting-and-calendars, andbidirectional-layout-and-scripts.20 testing-and-quality—network-mocks-and-contract-testsand
end-to-end-journeys-and-flake-control.21 observability-and-resilience—error-capture-and-reportingand
degradation-and-health-checks.
The version moves from 1.20.0 to 1.20.1. This run adds no domain, so the router
still carries twenty-one and the minor number stays at 20. This run changed nine
reference files and four files outside references/, so the patch number moves
by one.
Limits
- The ASD-STE100 approved-vocabulary list is not in this repository, and this
run did no web research. The language pass therefore tested the rules that the
repository can decide by itself: sentence length, one instruction in one
sentence, voice, tense, the-ingform as a noun, noun clusters, articles,
paragraph length, and warning placement. Vocabulary approval is untested, and
phrasal-verb approval with it. - The router rows, the trigger groups of the Cursor rule, and the frontmatter
descriptionare enumerations of Technical Names. The sentence-length rule
does not shape them, and this run applied it to none of them. - The repository holds two spellings for two different things, and this run kept
both. The verb isoptimise, and the Next.js image optimizer keeps itsz.
Prose sayssanitiser, and an API name sayssanitize.standardised
describes a team, anddrf-standardized-errorsnames a package. - No TypeScript compiler and no Node runtime for this stack are installed on the
machine that ran this checkpoint. Every code sample was read against the
pinned versions, and none was compiled. The two!repairs rest on the rule
that an unset environment variable isundefined, and theawait cookies()
repair on the Next 16 rule that every dynamic API returns a promise. - Ten reference files had never met this battery, because domains 19, 20, and 21
landed after the 1.17.1 checkpoint. Seven of the twelve repairs sit entirely
in those ten files, and one more reaches into them. - Fifty-four reference files met the battery at an earlier checkpoint, and two
of them carry a repair here. This run tested the rest with the mechanical
sweep alone: the router
resolution, the orphan search, the hyperlink and marker searches, the Next 15
idioms, the pair and checklist polarity, therg --files-without-match
convention, the seam resolution, the invisible-character scan, the dialect
count, and every language rule above. - This run added no material, so it opened no forward seam. Every seam that it
changed points at a file that exists today. The seams to domain 22
build-deploy-and-runtime-opsand domain 23analytics-privacy-and-consent
are written as named domains in prose, and neither is integrated. - No sibling material moved, and no statement about
secure-code-auditor,
django-api-contract,django-async-jobs,django-performance-optimizer,
django-migration-safety,django-test-auditor, ordjango-release-readiness
changed.