Skip to content

✨ - Support added screenshot evidence in progress assessments or report exact unsupported binary paths #760

Description

@efraespada

Is there an existing issue or feature request already for this?

  • I have searched the existing issues and feature requests.

Related closed report: #727. This example concerns a new supplemental PNG screenshot in the actual PR delta, rather than inherited production binaries excluded by choosing the native PR base. It also relates to #726. Please consolidate if this capability belongs in the same workstream; the added-image reproducer and diagnostic requirements should remain covered.

What area does this improvement affect?

Other — bounded progress evidence and diagnostics.

What actions does this improvement affect?

Commit, Issue, Pull Request.

Description of the idea or improvement

Please support an explicitly bounded, exact-source representation of supplemental image evidence in progress assessments, or give a precise unsupported-binary diagnostic listing each affected path and a supported way to retain that evidence. Do not treat metadata or a screenshot as proof that product tests executed, and do not silently ignore arbitrary binaries.

A screenshot from actual application dogfooding was added alongside text source, executed test receipts, hashes and a verification report. GitHub returned no textual patch for that one PNG. The commit action failed with nonretryable validation.evidence-unavailable, retained progress and advised splitting the work, without identifying the affected path. All textual patches were available. The underlying fail-closed decision is understandable; the missing capability and generic recovery guidance make ordinary human-review evidence unnecessarily disruptive.

Current limitations or challenges

Concrete consumer: vypdev/vaultstadio PR #122, issue #78.

  • Head: 5321a3b6596b2b73cb4a1cd6b5208c76d59edf2b.
  • Development base: 15574b973688b06715cb263c518a3b6eaa599617.
  • Failing run: https://github.com/vypdev/vaultstadio/actions/runs/40676625213, job 122776573964.
  • Action: vypdev/copilot@v3, resolved in that job to 39679e26a22b40a5a4a40e8f167f46273157182e.
  • Exactly one changed path lacks a patch: docs/development/verification/assets/transfer78-native-save.png, status added, additions/deletions/changes all zero. The original file is 244,037 bytes, SHA256 b715fdebce39f491419eee4a1295274d237fff05fa0ac5c95db0a23e29a9e962.
  • The image shows the final native candidate after a real Save File action; separate original/saved bytes and hashes, source-bound tests and GUI receipts establish the functional claims. The image is supplemental, not a replacement for those checks.

Read-only reproduction:

gh api 'repos/vypdev/vaultstadio/compare/15574b973688b06715cb263c518a3b6eaa599617...5321a3b6596b2b73cb4a1cd6b5208c76d59edf2b' \
  --jq '[.files[] | select(.patch == null) | {filename,status,sha,additions,deletions,changes}]'

The PR-files endpoint independently returned only that same missing PNG patch at the observed head. The final workaround removes the image from the base-to-head text diff while linking its immutable published evidence commit; both the original local screenshot and the published image/history are preserved. No consumer Copilot code, generated workflows, scanner rules, protection or fabricated status is changed.

Relevant log:

GitHub omitted a required file patch from the pinned comparison. Progress was not assessed and existing state was retained.
Impact: Progress was not assessed because GitHub omitted a required file patch.
Error code: validation.evidence-unavailable
Action: Inspect the exact base/head comparison manually or split the work into smaller reviewed changes with complete patches before a new assessment. Retrying the same commits cannot restore omitted evidence.

The log also correctly skips push Bugbot analysis because PR #122 owns review for that exact head; that review-ownership skip is separate from the progress evidence failure. The temporary base switch used for issue linking is also separate and is not reported as a defect here.

Expected impact

Repositories can retain useful screenshots for human review without an opaque permanently red progress job, while evidence integrity remains explicit. If added images cannot be assessed, users receive the exact path, capability limit and supported recovery instead of having to identify omitted patches manually.

Suggested acceptance includes image add/modify/delete/rename, real exact-SHA content and byte limits, provider/truncation failures, binary-versus-missing-text distinctions, mixed text/image changes, stale heads, and preservation of existing progress when evidence is inadequate. Functional correctness must never be inferred from zero line counters, blob metadata or an image alone.

Alternatives considered

Keep screenshot evidence in an immutable published evidence commit and link it from the text report, leaving the final comparison text-only. This is the applied consumer workaround, with no evidence loss. It should be documented if it remains the recommended supported approach.

A blanket binary ignore or metadata-only success is not requested. The broader mechanism may require type-aware evidence and an explicit unsupported result rather than image analysis; please choose the design that preserves the verification contract.

Version of copilot

vypdev/copilot@v3, exact resolved source 39679e26a22b40a5a4a40e8f167f46273157182e in the linked run.

Additional context or comments

The local clean consumer implementation passed 6,355 product executions and actual Web/macOS byte/hash journeys; final-ref CI remains independently required. Those successful tests do not make missing evidence acceptable. This feature request concerns how supplemental nontext evidence is represented and diagnosed, rather than weakening the assessment or requesting automatic approval.

Activity

  1. added
    enhancementNew feature or request
    priority: lowNot urgent, can be addressed later.
    featureLabel to manage feature branches
    on Oct 28, 2026
  2. added theissue type on Oct 28, 2026
  3. moved this to Todo in vypdevon Oct 28, 2026
  4. changed the title [-]Support added screenshot evidence in progress assessments or report exact unsupported binary paths[/-] [+]✨ - Support added screenshot evidence in progress assessments or report exact unsupported binary paths[/+] on Oct 28, 2026
  5. vypbot commented on Oct 28, 2026

    @vypbot
    Contributor

    Hi! I’m @vypbot, the Copilot assistant for this repository.

    I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.

    Try /copilot help to see the available commands, or mention @vypbot with your question.

  6. efraespada commented on Nov 4, 2026

    @efraespada
    MemberAuthor

    Additional reproducible occurrence in vypdev/ha-ui, with fourteen new original PNG visual-reference fixtures retained alongside their exact provenance and independent test evidence.

    Exact execution

    Observed result

    The job identifies tests/storybook/reference/ha-checkbox/dark-checked.png as the first binary/invalid-UTF-8 path and marks the complete 211-path progress inventory unreviewed, including ordinary TypeScript, configuration and documentation paths. It explicitly states no model assessment was made and retains existing progress. The diagnostic now does identify the first image, which is better than the original generic missing-patch symptom.

    Relevant output:

    Progress was not assessed: binary or invalid UTF-8 content cannot be assessed.
    Progress was not assessed because required binary or non-text contents cannot be reviewed.
    Unreviewed paths (211 total; 8 shown; complete inventory in run details)
    Error code: validation.evidence-unavailable
    Retryable: No
    Reference: ad7593bf-710a-4b06-bb95-626dbcb6f784
    

    Push Bugbot then skips only because PR 10 owns native review for this exact head. That ownership skip is separate from this progress-evidence failure; it does not establish a clean native review.

    Actual image/source evidence

    The first affected image is 2275 bytes, SHA-256 ab5851926a2867ac396f8227331612f43dbb013802ba4eb78afa6ceb851ba5b5. These are original screenshots of the actual public HA checkbox in a fictional isolated fixture, not generated substitutes or household records. All fourteen originals are retained in the consumer tree. The source-bound record at docs/evidence/ha-checkbox-reference.json identifies the public frontend bundles, upstream source/license reference, exact font bytes, states, geometry, screenshot identities and remaining limitations. tests/storybook/checkbox-visual.ts consumes those exact images and asserts their identities, dimensions and actual production-component styles; it does not treat hashes alone as semantic image review.

    Consumer evidence remains separate: 775 local source/browser tests, 100% supported coverage per module and globally, five reproducibly packed coordinates with four actual compiled framework consumers, 80 static locale/theme/width cases with automatic and independent accessibility scans, and fourteen measured visual states. None of these is offered as proof that Copilot has inspected the images. Hosted CI/native review are checked independently.

    Read-only reproduction

    gh run view 41845393681 --repo vypdev/ha-ui --job 126627438770 --log
    gh api 'repos/vypdev/ha-ui/contents/tests/storybook/reference/ha-checkbox/dark-checked.png?ref=64adc3a17935a1b0e8d5b77e907316abb1d3f9c6' --jq '{encoding,size,sha}'

    The fail-closed decision is understood. This strengthens the existing request for a supported, bounded image-evidence review/provenance route and precise distinction between unsupported binary paths and the text batch left unassessed. Please do not silently ignore arbitrary binaries or infer correctness from metadata/build success.

    No Copilot source, installed resources, validation policy, findings or progress labels were changed to work around it. The visual-reference fixtures remain retained while product work continues. No partial-feature merge or complete-capability acceptance is claimed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestfeatureLabel to manage feature branchespriority: lowNot urgent, can be addressed later.

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions