Skip to content

fix(evidence): retain portable truthful action rows - #10

Merged
mattebad merged 5 commits into
mainfrom
recovery/rec-f08
Sep 13, 2026
Merged

mattebad merged 5 commits into
mainfrom
recovery/rec-f08

Conversation

@mattebad

@mattebad mattebad commented Sep 13, 2026

Copy link
Copy Markdown
Owner

Stack and scope

REC-F08 only. Base branch is recovery/rec-f05 (PR #7), not main: this reuses its verified SQLite constructor-failure cleanup rather than duplicating that fix. Original selected origin/main baseline: d150b78. Merge ordering remains an external decision; orchestrator will not merge.

  • Share portable filename normalization for new session/workflow/capture components. Validate before capture/device work, write ordinary validated PNG bytes, and retain original semantic labels in structured events.
  • Deduplicate canonical action rows, preserve larger explicit attempt counts, retain failed/unknown outcomes, and reject missing executable identities rather than silently reporting zero.
  • Separate transport_attempted_count from semantic_completed_count. Screenshots do not prove completion; unknown outcomes remain blocked in wrapper and session summaries with identical retry denied.
  • Preserve startup recovery input counts while representing its canonical action once. Retained historical paths are read/reported, never rewritten.
  • Preserve runtime budgets, registration/eligibility gates, production state, and retained evidence.

Authorized fixture copies

The user explicitly authorized exact copies of the two captures required by existing World tests. Originals remain untouched. No assertions were weakened or new skips added.

  • tests/fixtures/world_map/world-hud-1a2d8f02.png: SHA-256 1a2d8f02e0eb87b789bf12a8cd42a345d8e05246ff5e48c0f7dd3bea1f105b76
  • tests/fixtures/world_map/search-menu-cfa92c70.png: SHA-256 cfa92c7082b740c9622e32eeeb47daeba187b5ce7c3554ab31b6fd5a7ee06268

Windows/Linux CI installs Tesseract for these offline image replays. One unrelated pre-existing private-capture skip remains: test_retained_native_close_roi_matches_independent_button_measurement.

Verification (Python 3.12, offline)

  • Required F08 modules plus tests.test_development_session after semantic identity correction: 108 tests, OK with the same existing skip.
  • python scripts/check.py: 298 passed (selected static suite, not comprehensive).
  • Existing affected CI unittest selection: 114 passed.
  • Python compileall and staged/committed PR diff whitespace checks: passed.
  • API smoke: colon/traversal labels create ordinary non-ADS files with exact PNG bytes; duplicate action yields one row/two explicit attempts/zero completions until confirmed reconciliation; missing executable identity is rejected.
  • Follow-up a6be3d5: semantic accounting rejects identity-less canonical/dispatch/reconciliation rows while explicitly ignoring non-action events. Regression verifies malformed rows cannot silently reduce semantic totals.

No BlueStacks/ADB/native/device operation or live acceptance occurred. These are offline recovery changes, not route readiness or permission to retry.

@mattebad
mattebad changed the base branch from recovery/rec-f05 to main September 13, 2026 03:41
@mattebad
mattebad merged commit b65a967 into main Sep 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant