Repository navigation
refactor: expose the architecture-assets validator as a callable core - #1787
Conversation
Apply the maintainer-approved second validator extraction without changing mutation scope or thresholds. Preserve the filesystem CLI and its findings, repair and containment contracts; strengthen the measured behavioral survivors. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
✅ Deploy Preview for endusers ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Maintainer-delegated P3 disposition: exact head 2d5b8b9 implements only the expressly approved second validator extraction in issue1759. Reviewed the semantic move, unchanged filesystem CLI/root/repair/diagnostic contracts and symlink containment; all 35 behaviorally distinguishable survivors from the initial campaign were killed. The eight remaining equivalents are individually documented, not suppressed. Full local required coverage, all six lint gates, scoped mutation and build pass. The maintainer authorized this bounded PR and its normal exact-head protected queue submission once fresh gates pass. Agent inspection is not independent human approval. No blanket rollout, policy change or protection bypass. |
|
Infrastructure retry on the unchanged head: the first End-to-end tests job hit its 15-minute job budget after browser/dependency installation consumed about 12 minutes. The site built successfully, but only about 2.5 minutes remained for browser tests before cancellation; the log reports no assertion failure. Required Validate/Lint, CodeQL, DCO, scoped Mutation testing and End-to-end coverage are green. Rerunning only the cancelled browser job, not changing tests, timeouts or protections. Queue submission still waits for the real End-to-end tests result. |
|
The unchanged-head browser-job retry passed. Fresh Validate repository, Lint repository, End-to-end tests, End-to-end coverage, Mutation testing, CodeQL and DCO gates are green. Submitting exact approved head 2d5b8b9 to the normal protected merge queue, independently of unrelated PRs and without changing any gate or protection. |
Summary
Fixes #1759.
Implements the maintainer's explicitly approved, single additional validator
extraction after the accepted awards pilot. This is not a repository-wide
rollout or a change to mutation policy.
scripts/lib/validate-architecture-assets.mjs, exportingvalidateArchitectureAssets(root, shouldFix = false)and returning{ issues, fixed, assetCount }. Findings, repairs and root-derived state areinvocation-local.
behavior, diagnostic ordering, repair messages, asset counts and existing
success text. There is no JSON input interface to introduce or alter.
retain real subprocess CLI contracts, and update the existing shared-extension
consumer check to the new production module.
supported font formats, quality-check scope, valid XML attribute whitespace,
incomplete dimensions, remediation diagnostics, warning severities and size
boundaries, post-edit diagnostics, and the absence of unwanted file writes.
No mutation glob, workflow, threshold, dependency, fixture-build policy or
private runner bridge changes. Source-text/meta-tests were not added.
Verification
On the integrated base containing the other approved P2/P3 merges:
containment cases.
npm run test:unit:coverage:checkpasses with 100% source lines and regions.npm run buildpass.npm run test:mutation -- --mutate scripts/lib/validate-architecture-assets.mjs --concurrency 2passes with the existing break threshold of 83 unchanged.
All 35 behaviorally distinguishable survivors were killed. The remaining eight
were individually reviewed as equivalent for the existing public behavior:
three unused exemption-description strings; the quality argument on a
font-only allowlist that cannot reach SVG validation; two explicit
utf8encodings changed to the identical default encoding; and the
missing/otherroot-kind strings changed to another value handled by the same nondirectory
skip. No suppressions or threshold reductions were used to hide them.
This is a scoped core result, not a replacement full-tree mutation baseline.
The historical CLI text, including its existing
--fixsuccess wording, isintentionally unchanged.
Authorization
The maintainer approved this exact new PR and its normal protected merge as
part of the designated P2/P3 work. Agent inspection is not independent human
approval. Submit the exact validated head through the existing queue without
bypassing required checks or waiting for unrelated PRs.