Skip to content

fix: align bundled health identity with product version - #71

Merged
daniele21 merged 1 commit into
devfrom
fix/real-env-gui-bootstrap-diagnostics
Sep 17, 2026
Merged

daniele21 merged 1 commit into
devfrom
fix/real-env-gui-bootstrap-diagnostics

Conversation

@daniele21

Copy link
Copy Markdown
Owner

Outcome

Make the packaged macOS runtime expose the product bundle version in /health, so target-Mac REAL_ENVIRONMENT server discovery validates the same application identity that the artifact manifest and Info.plist use.

Root cause

The failed physical run on dev@4746d8a83b01c9b2db67a463860e693cb52d5470 reached a clean exact artifact and launched the packaged process, but real_environment_smoke.py reported packaged app loopback server not found twice. The discovery owner compares the bundle Info.plist version with /health.app_version.

Those values came from different version owners:

  • root VERSION / Info.plist product version: 0.2.0;
  • Python distribution local-asr-server version: 0.1.0;
  • get_app_version() exposed the Python package version even inside the frozen .app.

A healthy packaged server was therefore eligible to be rejected as the wrong app identity.

Change

  • centralize Info.plist reading in app_identity.py;
  • when frozen/bundled, use CFBundleShortVersionString (fallback CFBundleVersion) as application runtime version;
  • keep Python package metadata as the non-bundled/dev version owner;
  • add regression coverage proving a bundled 0.2.0 app does not expose the independent 0.1.0 Python package version.

No capture, UI, persistence, network, cloud, or user-data behavior changes.

Axes

  • PRODUCT: PRODUCT_NONE
  • DELIVERY: INTEGRATION
  • VALIDATION: selector-owned; runtime identity / packaged-app boundary should validate at the repository-selected strength
  • EXECUTION: REMOTE_AUTOMATED for deterministic gates; target-Mac REAL_ENVIRONMENT rerun remains required after integration

Follow-up

If deterministic validation passes, merge to dev, refresh the exact candidate, then rerun LOCAL REAL_ENVIRONMENT once. The local wrapper must also collect the canonical evidence directory by the manifest/source revision rather than assuming a full-SHA directory name.

@daniele21
daniele21 merged commit aeb449b into dev Sep 17, 2026
7 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