Skip to content

fix(release): reject real RC duplicates without stale Spotlight false positives - #714

Merged
100yenadmin merged 7 commits into
evaos/beta-rc-20260612from
codex/v2136-precanary-stale-spotlight
Jul 15, 2026
Merged

fix(release): reject real RC duplicates without stale Spotlight false positives#714
100yenadmin merged 7 commits into
evaos/beta-rc-20260612from
codex/v2136-precanary-stale-spotlight

Conversation

@100yenadmin

@100yenadmin 100yenadmin commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • ignore only definitively removed Spotlight bundle paths during Workbench pre-canary inventory
  • retain existing and uninspectable registered paths fail-closed, and scan the runner temp tree for real leftover app bundles
  • preserve the pre-canary exit code while logging only bounded, redacted failed check code, status, and message fields
  • add regression coverage for deleted Spotlight entries, not-a-directory entries, real duplicates, ordering/deduplication, and workflow diagnostics

Release context

RC run 29431909791 reached the installed Workbench pre-canary and exited 2 with its report hidden by set -e. The workflow had extracted and removed temporary Workbench app bundles immediately before inventory. Exact-head evaluation reproduced duplicate_registered_workbench_app from a nonexistent Spotlight path.

The signed/notarized beta.2 tag and draft remain immutable and unpublished. If this source change lands, beta.2 is superseded for distribution and the release lane must build, sign, notarize, register, and canary a fresh immutable candidate from the merge SHA. Publication remains fail-closed.

Validation

  • 103 focused tests passed across prepareEvaosDesktopBridgeResource.test.ts and evaosBetaReleaseGate.test.ts
  • actionlint passed with only SC2086 and SC2009 pre-existing informational rules ignored
  • oxfmt check and git diff --check passed
  • Python source parse and YAML parse passed
  • Codex review clean: no accepted or actionable findings

Scope boundaries

Changed paths are limited to the RC workflow, the vendored Workbench pre-canary implementation, and its focused unit test. No packages/mac-access, packages/mac-connector-core, docs/evaos/mac-access, identity, customer, staging, tag, release asset, or publication state is changed.

Summary by CodeRabbit

  • Bug Fixes

    • Improved desktop pre-canary inventory checks by excluding confirmed-missing paths while retaining paths that cannot be verified.
    • Enhanced failure handling to preserve the original failure status and prevent sensitive details from appearing in reports or logs.
  • Tests

    • Added coverage for sanitized pre-canary reports, exit-code preservation, inventory filtering, duplicate detection, and permission-related scenarios.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7981d6bc-9574-40ec-bce3-76f60272a832

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The pre-canary workflow now sanitizes failure reports while preserving original exit codes. Desktop inventory gathering filters missing Spotlight results and retains paths whose existence cannot be verified, with tests covering report sanitization, duplicates, removals, and permission errors.

Changes

Pre-canary integrity

Layer / File(s) Summary
Sanitized pre-canary reporting
.github/workflows/..., tests/unit/process/...
The workflow captures pre-canary failures, sanitizes check output, emits safe error summaries, preserves the original exit code, copies the report artifact, and tests malformed and sensitive report content.
Inventory path validation
resources/evaos-beta/bridge/src/..., tests/unit/process/...
Inventory gathering discards definitively missing paths, retains unverifiable paths fail-closed, and tests duplicate detection and permission-boundary behavior.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Workflow
  participant DesktopBridge
  participant Sanitizer
  participant Artifact
  Workflow->>DesktopBridge: run pre-canary and capture exit status
  DesktopBridge-->>Workflow: qa-report.json and exit code
  Workflow->>Sanitizer: sanitize failing and warning checks
  Sanitizer-->>Workflow: sanitized summary
  Workflow->>Artifact: copy report and return original exit code
Loading

Possibly related PRs

Suggested labels: bug, evaos, public-beta, area:release

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the change well, but it omits several required template sections like Linked Work, Type of Change, and PR Lifecycle. Add the missing template sections, especially Linked Work, Type of Change, PR Lifecycle, and Release Notes And Proof details.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the RC duplicate-handling and Spotlight false-positive fixes in this PR.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/v2136-precanary-stale-spotlight

Comment @coderabbitai help to get the list of available commands.

@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

evaOS review status: stale head

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: 74eceb5b360a962cdc697f1024205f593291e93a
Updated: 2026-07-15T16:43:35.271Z

evaOS review stopped because this queued head is no longer the live PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #714

Details: live=7c1c50299fcb375c5ca081eeca1094ac6a3574c8

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 74eceb5b36

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/evaos-beta-rc-canary.yml
@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

evaOS review status: stale head

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: 7c1c50299fcb375c5ca081eeca1094ac6a3574c8
Updated: 2026-07-15T16:48:23.233Z

evaOS review stopped because this queued head is no longer the live PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #714

Details: live=3f83db2688d35debdae380e9b212e957bcaf54a1

@100yenadmin

Copy link
Copy Markdown
Owner Author

Exact-head checkpoint: 3f83db2 on base f7780d8. Focused tests, lint, formatting, workflow validation, final Codex review, and the blockers-only adversarial delta review are clean. Earlier findings on malformed-report logging, report-message redaction, exit-code preservation, and uninspectable duplicate coverage are fixed at this head.

@coderabbitai review
@codex review

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

@100yenadmin Thanks for the update on the exact-head checkpoint. I'll kick off a fresh review of the current state.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

evaOS review status: stale head

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: 3f83db2688d35debdae380e9b212e957bcaf54a1
Updated: 2026-07-15T16:59:41.103Z

evaOS review stopped because this queued head is no longer the live PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #714

Details: Superseded by a newer PR head.

@coderabbitai coderabbitai Bot added area:release Packaging, signing, updater, rollback bug Something isn't working evaos evaOS public beta R&D work public-beta Blocks or contributes to the public beta gate labels Jul 15, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/evaos-beta-rc-canary.yml:
- Around line 697-699: The sanitizer logging loop in
.github/workflows/evaos-beta-rc-canary.yml lines 697-699 must cap emitted
sanitized checks at a fixed limit and write only one omission notice when
additional checks are suppressed. Update the related test setup and assertions
in tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts lines 300-325 to
provide more checks than the limit and verify the exact bounded output count and
omission behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ccea117b-7fcc-4154-b7e1-907db452cbb8

📥 Commits

Reviewing files that changed from the base of the PR and between f7780d8 and 3f83db2.

📒 Files selected for processing (3)
  • .github/workflows/evaos-beta-rc-canary.yml
  • resources/evaos-beta/bridge/src/evaos_desktop_bridge/pre_canary.py
  • tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts
📜 Review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: Build Test (macos-arm64)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{js,jsx,ts,tsx}: Name utility files using camelCase, such as formatDate.ts.
Prefix unused parameters with _.
Format code with Oxfmt using Prettier-compatible rules: inline single-element arrays that fit on one line, require trailing commas in multiline arrays and objects, and use single quotes for strings.

Files:

  • tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Use strict TypeScript; do not use any and do not leave implicit returns.
Use the path aliases @/*, @process/*, and @renderer/*.
Prefer type over interface according to the Oxlint configuration.
Write code comments in English and use JSDoc for public functions.

Files:

  • tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts
**/*.{test,spec}.{js,jsx,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use Vitest 4 for tests and maintain at least 80% coverage.

Files:

  • tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts
🔇 Additional comments (2)
tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts (1)

687-687: LGTM!

Also applies to: 696-732

resources/evaos-beta/bridge/src/evaos_desktop_bridge/pre_canary.py (1)

263-273: LGTM!

Also applies to: 420-429

Comment thread .github/workflows/evaos-beta-rc-canary.yml Outdated
@100yenadmin

Copy link
Copy Markdown
Owner Author

Superseding exact head: 1f82d4b. This closes the current review thread by making --canary-artifact-root additive to the environment/default baseline and fixes the Python 3.12 PermissionError crash while retaining uninspectable registrations fail-closed. Focused Vitest: 29/29. Direct Python 3.12 fail-closed reproduction: passed. Formatting, lint, and diff checks: passed.

@coderabbitai review
@codex review

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

@100yenadmin Thanks for the update. I'll kick off a fresh review of the current head (1f82d4b), covering the --canary-artifact-root additive change and the Python 3.12 PermissionError fix while retaining fail-closed behavior for uninspectable registrations.

✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

evaOS review status: stale head

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: 1f82d4b3750dc2f41f454eb5edf6d88fa370e4f1
Updated: 2026-07-15T17:03:26.652Z

evaOS review stopped because this queued head is no longer the live PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #714

@100yenadmin

Copy link
Copy Markdown
Owner Author

Final blocker-fix head: b2182ab. Uninspectable artifact-only bundles now remain as path evidence and fail stale-app checks; sanitizer output is bounded to 20 fixed check lines plus one fixed omission notice. Focused suite: 103/103. Direct Python 3.12 registered-plus-artifact PermissionError proof: passed. Both actionable review threads are replied to and resolved.

@codex review

@evaos-code-review-bot

evaos-code-review-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown

evaOS review status: completed

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: b2182ab75ac2e79e9ea8ecc8391a114d7b44475d
Updated: 2026-07-15T17:08:58.951Z

evaOS review completed for this PR head.

Automation note: agents should wait for this comment to reach completed, stale_head, closed_or_merged_before_review, skipped, or failed before treating evaOS review as settled for this head. provider_deferred means evaOS still intends to retry.

PR URL: #714

Review URL: #714 (review)

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: b2182ab75a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@evaos-code-review-bot evaos-code-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Walkthrough

PR: #714 - fix(release): reject real RC duplicates without stale Spotlight false positives
Head: b2182ab75ac2e79e9ea8ecc8391a114d7b44475d into evaos/beta-rc-20260612. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).

Estimated review effort: 1/5 (~14 min)

Changed Files

File Status Churn Purpose Risk
.github/workflows/evaos-beta-rc-canary.yml modified +55/-1 Changed file Moderate: validated P2 finding
tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts modified +130/-0 Test coverage Moderate: validated P3 finding

Review Signal

Validated inline findings: 3 (P0: 0, P1: 0, P2: 2, P3: 1).
Dropped findings before posting: 0. High-severity findings: 0.

Risk Taxonomy

  • CI/build: 1
  • Data loss: 1
  • Release regression: 1

Validation and Proof

2 required validation/proof recommendation(s) selected from changed files.

  • required: TypeScript/web build or CI proof - Runtime TypeScript/web files or package/config files changed. Proof: npm run build; typecheck; focused Vitest; green GitHub check.
  • required: CI/release smoke proof - CI, release, launchd, or package metadata changed. Proof: green GitHub check; release-status; coverage-audit; rollback note.
    Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
    Profile validation hints: Do not ask for broad local suites when remote CI or fast-smoke proof is the right gate.
    Profile proof expectations: Look for focused app smoke, packaged resource checks, or CI artifact proof when relevant.

Related Context

Related issues/PRs: none detected from PR metadata.
Suggested labels: tests.
Suggested reviewers: none from current metadata.

Review Settings Preview

  • Profile: assertive
  • Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
  • Path instructions: apps/eva-desktop-mac/** - Check macOS identity, helper path, TCC identity, and packaged resource shape risk.
  • Path instructions: scripts/** - Treat release, packaging, and artifact-shape changes as high risk.
  • Label suggestions: workbench, macos, regression-hardening
  • Reviewer suggestions: none
  • Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
  • Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks

Pre-merge checklist

  • Inline comments target current RIGHT-side diff lines.
  • No secret-like content survived into posted inline comments.
  • REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
  • Required behavior proof is present or not applicable.
  • Labels and reviewers are suggestions only; the bot did not auto-apply them.

Comment thread .github/workflows/evaos-beta-rc-canary.yml
Comment thread .github/workflows/evaos-beta-rc-canary.yml
Comment thread tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts

@100yenadmin 100yenadmin left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact-head review findings have been dispositioned with fail-closed runtime and CI evidence; no additional source change is required.

Comment thread tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts
@100yenadmin
100yenadmin merged commit 282dc29 into evaos/beta-rc-20260612 Jul 15, 2026
12 checks passed
@100yenadmin

Copy link
Copy Markdown
Owner Author

v2.1.36 to Mac Access canonical handoff

Exact lineage

PR #714 changed only:

  • .github/workflows/evaos-beta-rc-canary.yml
  • resources/evaos-beta/bridge/src/evaos_desktop_bridge/pre_canary.py
  • tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts

It did not change Mac Access packages, identities, pairing, connector APIs, selected-binding schemas, or receipt schemas.

Contracts Mac Access must inherit

Connector/candidate:

  • Diagnostics: evaos.desktop_bridge.diagnostics.v1
  • Candidate: evaos.workbench.bridge_candidate.v1
  • Service: evaos-desktop-bridge-connector
  • Authenticated endpoints: GET /v1/diagnostics, POST /v1/commands, POST /v1/canary/mac-control
  • Current release ownership remains bundle com.evaos.workbench, app /Applications/evaOS Workbench.app, connector owner com.electricsheep.evaos-desktop-bridge, classification workbench_bundle.
  • Candidate proof binds exact source commit/SHA, source owner/path/status, app version/build, packaged Python executable, bridge entrypoint, and typed app/manifest paths.
  • customerMacControlStart remains local-Workbench-only. Remote clients cannot start or restart control.
  • Mutating commands remain gated by approval, transaction/generation, kill switch, and takeover state; authority is rechecked immediately before mutation.

Selected binding and execution authority:

  • Required schema: evaos.mac_control_runtime_contract.v2; v1 is compatibility-only and cannot authorize v2 binding fields.
  • launch_mode must be mac_control_tools; supported runtimes are openclaw and hermes.
  • Exact binding fields include customer_vm_id, binding_id, canonical positive-decimal binding_version, and canonical future UTC binding_expires_at.
  • Scope must exactly match the selected customer/runtime/VM; grant must be active; device and connector credential must be present.
  • Connector URL is constrained to plain HTTP, numeric IP, port 8765, no credentials/query/fragment, with command endpoint exactly /v1/commands.
  • Session, callback, HTTP, WebSocket, and cookie authority may never outlive the selected binding.
  • Broker request signing is version 2 with the exact-body lowercase SHA-256 and fixed canonical signature-input order.
  • Caller-supplied broker/Mac-control headers are stripped before server-owned values are injected.
  • Execution context schema is evaos.mac_control_execution_context.v1: Ed25519 over exact decoded canonical payload bytes, exact key-id match, fields schema_version,key_id,runtime,customer_id,customer_vm_id,binding_id,binding_version,issued_at,expires_at,context_id, fresh 128-bit context_id, maximum HTTP lifetime 60 seconds and never beyond binding/session authority, fresh context per backend WebSocket dial, and fail-closed behavior for v1, unsupported runtime, missing/mismatched scope, or expired authority.
  • ws-proxy 06cb5fdc933072a299119ba0bc69ccc475b9e9dd additionally host-scopes runtime cookies and clamps cookie expiry to claims/binding authority.

Runtime receipt/public proof:

  • Runtime route: authenticated POST /api/v1/evaos/mac-control/runtime-receipt
  • Request: evaos.mac_control.canary_request.v1
  • Private receipt: evaos.mac_control.runtime_receipt.v1
  • Private envelope: evaos.mac_control.runtime_receipt_envelope.v1
  • Bundle: evaos.mac_control.runtime_receipt_bundle.v2
  • Public attestation: evaos.mac_control.public_runtime_attestation.v1
  • Public envelope: evaos.mac_control.public_runtime_attestation_envelope.v1
  • Public signature namespace: evaos-mac-control-public-attestation-v1
  • Required proof kind: selected_binding_direct_mac_control
  • Expected direct proof: runtime openclaw, tool customer_mac.desktop_hotkey, outcome succeeded, controlState=ready_unchanged, auditRecorded=true.
  • Authority signatures, key IDs, freshness, selected binding, and exact candidate commit/SHA/version/build must all match.
  • Replay identifiers are burned before mutation; replay fails closed.
  • Private receipt material must never enter public or persisted proof. Public proof contains only safe hashes/references and rejects URLs, IPs, paths, customer/VM/binding identifiers, connector credentials, and raw execution context.
  • Public proof must be canonical, signed under the exact namespace/key, GitHub-run-bound, within authority, and at most one hour old.

Current proof state

  • PR fix(release): reject real RC duplicates without stale Spotlight false positives #714 exact-head CI run 29434862830: green.
  • Raw suite: 301 files passed, 1 skipped; 2,818 tests passed, 6 skipped.
  • CodeRabbit approved; Codex reported no major issues; evaOS review completed.
  • All 5/5 review threads are resolved; pagination was complete.
  • Exact-merge functional-smoke run 29435613225: completed successfully on 282dc29ac05e581010f1ab76f89518e4d80cabfb.
  • Canonical GUI and ws-proxy refs still point to the exact SHAs above.

Still unproven:

  • Signed/notarized installed .3 candidate from 282dc29ac05e581010f1ab76f89518e4d80cabfb
  • RC pass for that exact artifact
  • Isolated-staging enrollment, selected-binding callback, and signed direct-control receipt
  • Pristine Apple Silicon onboarding without preinstalled Python or Tailscale
  • Live Mac-control canaries
  • Public assets, update metadata, and distribution verification

The superseded .2 artifact is not publishable. Publication remains fail-closed.

Refresh decision

#699/#707 may safely refresh or rebase from 282dc29ac05e581010f1ab76f89518e4d80cabfb; #714 did not alter the inherited contracts above. Do not merge either source-changing Mac Access lane into canonical beta while the immutable v2.1.36 .3 release candidate is being proven. Canonical-beta merge remains frozen until v2.1.36 distribution is complete or explicitly superseded.

@100yenadmin

Copy link
Copy Markdown
Owner Author

v2.1.36 beta.3 local-finalization proof (publication remains fail-closed):

  • Exact source/tag: 282dc29ac05e581010f1ab76f89518e4d80cabfb / evaos-beta-v2.1.36-evaos-beta.3
  • Functional Smoke: run 29435613225, success at exact source
  • Build and Release: run 29435963937, success, manual macos-arm64 build with local DMG finalization; tag/release/manifest jobs skipped as designed
  • Apple DMG notarization: 608be0f9-44ce-4633-9ce4-4aabaef67c34, Accepted
  • Final hashes:
    • DMG: 05857f1a63d26eecf36f55f0930e110407b5e32a9e237ffabc8cfa27d369984a
    • updater ZIP: 61791b1ce6a4e1c548846600569c33881a279518b02a710809b9ecfe675a183c
    • latest-arm64-mac.yml: f63b7cb335edc2b40d664ece03dad632e658e5cdd8bd814ac7792ddc00c46e95
  • Independently recomputed updater contract: both YAML SHA-512 entries equal Mx6HZqcf2IXj7pZciBQcQGzEHkUibl3p0m/eCBvhgL5NLd49+YwUfOWTHwGgAKWklx89tXcfy5DHRjJMwjiZrQ==, matching the untouched 387516062-byte updater ZIP.
  • Final DMG, mounted-DMG app, and updater-ZIP app separately pass codesign, stapler, and Gatekeeper. Both apps are com.evaos.workbench version/build 2.1.36, URL scheme evaos-workbench, exact bridge source 282dc29ac05e581010f1ab76f89518e4d80cabfb, CDHash d8f2770d2f98c6fe274cf9f4ac97f9cefee5c82a, with bundled Python 3.12.13, arm64 verifier/Python helpers, and isolated PyObjC imports passing.
  • Immutable lightweight tag points directly to the exact source commit.
  • Draft prerelease RE_kwDOSthnRM4VIuc9 is targeted at the exact source and has exactly the DMG, updater ZIP, and ZIP-derived updater metadata pending trusted-manifest registration.
  • Both publication variables are false. This is artifact proof only, not public distribution or customer/runtime readiness.

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

Labels

area:release Packaging, signing, updater, rollback bug Something isn't working evaos evaOS public beta R&D work public-beta Blocks or contributes to the public beta gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant