test: exclude generated website output from writer scans - #493
Merged
Conversation
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.
Summary
Fixes #487. Prune generated build, Docusaurus, dependency and cache directories before traversing writer-contract sources. Previously, a concurrent website build could remove a generated JavaScript bundle after the scan listed it, or bundled third-party code could trigger a false positive.
The executable/task and Markdown scans share this traversal. Maintained workflows, writer tools, website source and task files retain the existing forbidden-writer checks; maintained read errors still propagate.
Production-readiness scope
Regression coverage
Test Plan
Using Flutter 3.47.1 / Dart 3.13.1:
Review Notes
Draft only. Independent Astra-high review accepted the final candidate; final-head CI passed. This is not a mark-ready request.
High-risk regression review
codex-adversarial-writer493-final, session01a08638-bcde-7fd2-b9b4-0cd65ea0f82e; launcher verifiedgpt-6-astra/high.e64cfb0777b54a48a7a1facfd07e52abbf985a77/ecaa1233282f9dfdb7e2952e60c6e4281ea10e4d.if (true)fails the direct traversal fixture (8 entries instead of 5). Auditor verified the supplied mutation failure, scanner consumers, and all 474 tracked writer sources.Independent QA follow-up
The first Astra-high audit requested a traversal-level regression assertion (P2, no implementation defect/P1). The revised head adds that assertion before writer-path filtering. An actual mutation replacing the pre-descent pruning guard with
if (true)fails with all three generated fixture paths exposed (8 entries instead of 5); the guard was restored afterward.At revised head
e64cfb0777b54a48a7a1facfd07e52abbf985a77, all 33 affected tests pass with generated docs present, root analysis reports no issues, root formatting reports 591 files unchanged, and diff checks pass. The broader VM/Chrome/docs results above were run at the preceding implementation head; current-head CI passed; fresh independent Astra-high QA accepted the exact revised head. The follow-up changes only six lines of regression assertions. No mark-ready approval is requested.Final independent evidence
Auditor independently reran all 33 affected tests, targeted analysis, formatting, high-risk classification and diff checks, and verified the exact head/base plus zero unresolved threads. No blocking findings remain. Full CI run
34353399872completed successfully on the exact revised head; advisory run34353397347passed.The repository readiness evaluator reports
unverifiedPrerequisites(documented exit 2): the local evidence is internally consistent, but dedicated GitHub App publication, authenticated auditor boundary, protected-environment provenance and conditional ruleset enforcement are unavailable. This is not an operational merge-readiness attestation. No settings changes or mark-ready action were performed.Final CI verification
CI run 34353399872 completed successfully at
e64cfb0777b54a48a7a1facfd07e52abbf985a77: Linux VM/coverage and aggregate, macOS/Windows native tests, Chrome, both companion packages, native prompt parity, docs, analysis, and Web Chat Contract all passed. Advisory also passed. Final live GraphQL confirms the audited head/base, draft state and zero unresolved review threads. No mark-ready, merge or settings change was performed.