Purpose
Produce a small, reproducible real demo workload snapshot bundle from the existing WineBot harness for SemperSupra/desktop-ui-cv#29 (B2 grounding qualification holdout).
This is a capture/evidence task, not a model-evaluation task. Do not run KV-Ground or use candidate model output to choose/annotate targets.
Source authority
Pin/reconcile against WineBot commit:
7072813f8f888d95de1c8d4e94c6e40a6df1bf2f
Use the existing demo scripts and snap()/session artifact machinery unchanged where practical. If current main has moved, record the exact tested commit and reconcile semantic-equivalent snapshot labels before running; do not silently substitute a different workflow.
Observe / Discover
Before capture:
- verify WineBot runtime/API/container prerequisites and API credential availability without printing secrets;
- verify
fresh_session, init_session, screenshot capture, session artifact path, and CV sidecar status;
- record exact WineBot commit, Docker/runtime identity, host OS, screen resolution/scaling/theme, and whether CV enrichment is active;
- do not mutate
desktop-ui-cv grounding runtime or Model Foundry.
First capture slice
Run Customs Form and Notepad++ demos first.
Expected semantic snapshot labels from the pinned scripts:
demo/scripts/demo-customs-form.sh
amazon_return_page
acrobat_form_open
acrobat_filled_form
print_dialog
package_ready
demo/scripts/demo-notepadpp.sh
notepadpp_launched
notepadpp_save_dialog
notepadpp_file_verified
Do not add VLC/7-Zip merely to inflate sample count; their inspected scripts do not currently provide semantic snap() checkpoints. demo-cv-control.sh is an optional second increment only if the first eight snapshot states do not provide enough unique/query diversity.
Capture requirements
For every named snapshot retained:
- preserve the PNG exactly as captured;
- preserve source demo name + snapshot label + exact WineBot commit + session ID/reference;
- retain relevant
snapshots.jsonl, expected-state/expected-element evidence, session metadata, and CV enrichment references when available;
- do not publish screenshots or session artifacts merely to make them easier to access;
- treat screenshot/session material as private by default until a separate authority decision says otherwise.
Deduplicate before annotation
The existing demo/output/real-val-frames is not sufficient: 30 filenames collapse to only two unique Git blobs. It remains provenance/smoke evidence only.
After capture, use the desktop-ui-cv PR #30 inventory helper (or semantic equivalent at its exact reviewed head) to compute relative path, size, PNG dimensions, SHA-256, and duplicate groups:
validation/grounding_holdout/inventory_pngs.py
Run with duplicate failure enabled. Do not interpret filename count as sample count.
Handoff artifacts
Provide a private/local handoff containing:
- exact execution evidence (WineBot commit, commands, runtime/environment summary, PASS/FAIL per demo);
- candidate PNG directory or private artifact location;
- canonical candidate inventory JSON with SHA-256/dimensions/duplicate groups;
- retained semantic snapshot labels and any excluded/failed labels with reasons;
- provenance references to session metadata/annotation/CV files;
- confirmation that candidate model output was not used to select or annotate the holdout.
Do not commit captured screenshots to a public repository as part of this issue.
Verify / exit
PASS when:
- both primary demos execute sufficiently to produce the expected semantic states, or failures are explicitly evidenced;
- candidate assets are inventoried and deduplicated before annotation;
- at least several materially distinct unique states remain after dedupe;
- provenance is sufficient for
desktop-ui-cv#29 to create stable sample IDs and annotations;
- private handling is preserved;
- no model qualification has occurred yet.
If the primary demos cannot produce a sufficiently diverse unique seed, stop and report the evidence before adding another demo. The next candidate extension is demo-cv-control.sh, not arbitrary frame sampling.
Related consumer work: SemperSupra/desktop-ui-cv#29, draft PR SemperSupra/desktop-ui-cv#30.
Purpose
Produce a small, reproducible real demo workload snapshot bundle from the existing WineBot harness for
SemperSupra/desktop-ui-cv#29(B2 grounding qualification holdout).This is a capture/evidence task, not a model-evaluation task. Do not run KV-Ground or use candidate model output to choose/annotate targets.
Source authority
Pin/reconcile against WineBot commit:
7072813f8f888d95de1c8d4e94c6e40a6df1bf2fUse the existing demo scripts and
snap()/session artifact machinery unchanged where practical. If current main has moved, record the exact tested commit and reconcile semantic-equivalent snapshot labels before running; do not silently substitute a different workflow.Observe / Discover
Before capture:
fresh_session,init_session, screenshot capture, session artifact path, and CV sidecar status;desktop-ui-cvgrounding runtime or Model Foundry.First capture slice
Run Customs Form and Notepad++ demos first.
Expected semantic snapshot labels from the pinned scripts:
demo/scripts/demo-customs-form.shamazon_return_pageacrobat_form_openacrobat_filled_formprint_dialogpackage_readydemo/scripts/demo-notepadpp.shnotepadpp_launchednotepadpp_save_dialognotepadpp_file_verifiedDo not add VLC/7-Zip merely to inflate sample count; their inspected scripts do not currently provide semantic
snap()checkpoints.demo-cv-control.shis an optional second increment only if the first eight snapshot states do not provide enough unique/query diversity.Capture requirements
For every named snapshot retained:
snapshots.jsonl, expected-state/expected-element evidence, session metadata, and CV enrichment references when available;Deduplicate before annotation
The existing
demo/output/real-val-framesis not sufficient: 30 filenames collapse to only two unique Git blobs. It remains provenance/smoke evidence only.After capture, use the
desktop-ui-cvPR #30 inventory helper (or semantic equivalent at its exact reviewed head) to compute relative path, size, PNG dimensions, SHA-256, and duplicate groups:validation/grounding_holdout/inventory_pngs.pyRun with duplicate failure enabled. Do not interpret filename count as sample count.
Handoff artifacts
Provide a private/local handoff containing:
Do not commit captured screenshots to a public repository as part of this issue.
Verify / exit
PASS when:
desktop-ui-cv#29to create stable sample IDs and annotations;If the primary demos cannot produce a sufficiently diverse unique seed, stop and report the evidence before adding another demo. The next candidate extension is
demo-cv-control.sh, not arbitrary frame sampling.Related consumer work:
SemperSupra/desktop-ui-cv#29, draft PRSemperSupra/desktop-ui-cv#30.