Skip to content

feat(opencode): support V1 and V2 notifications in one plugin - #294

Merged
777genius merged 117 commits into
mainfrom
feat/opencode-v2-notifications
Oct 4, 2026
Merged

777genius merged 117 commits into
mainfrom
feat/opencode-v2-notifications

Conversation

@777genius

@777genius 777genius commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

OpenCode V1 and V2 expose different plugin APIs. One installed entry point selects the observer from the actual host for root-session completion, question, permission and error notifications. Installation preserves existing skills and MCP configuration. Persistent TUI/serve hosts are supported; one-shot opencode run delivery remains best effort because the host may exit before asynchronous delivery settles.

The original heads of #295, #298, #299, #300, #303 and #308 remain ancestors of this branch. Use a merge commit to preserve them. Installer dependencies 777genius/universal-agent-plugins#382 and #384 have merged.

Stock Windows V1 1.18.33 retains the accepted original-event-age limitation: a delayed completion may notify once and recur after the 24-hour claim lifetime. Other filters, provenance, deduplication and limits remain enforced.

Installed validation led to three bounded corrections: macOS process arguments could fill a 4096-byte buffer; V1 completion performed redundant asynchronous checks during shutdown; Windows toast initialization could stall while loading the WinRT assembly. Notification deadlines and shutdown fencing remain enforced. V1 completion uses the validated SDK snapshot and activation checks and displays the generic OpenCode title.

Validation:

  • Independent GPT-6.1 high reviews accepted the product changes, final aab8 tree, and the current-main installer integration. All nine CI workflows and all five native builds passed at aab8b46. All nine workflows and 32 checks also passed at 5be3ee0. Final head 9c44647 reconciles the subsequently merged platform release channels; all nine workflows, 32 checks and CodeRabbit passed on that exact head. Independent GPT-6.1 high review accepted its exact tree dde4a1ceb169e2b6d6a5c784711deb3f724c073c. The installer integration passed the two affected Go packages on an isolated HOST test project; canonical collector tests show old code RED and the corrected nine-case suite GREEN.
  • The final Gemini Windows G0 cancellation check initially failed without an AfterAgent event. One isolated rerun of that job passed on unchanged source; the original failure is retained and its cause remains unknown. Its fixture and workflow inputs match both the previously accepted head and main.
  • Installed business E2E passed 19 scenarios, 21 local TEST provider transactions and 14 independent desktop/webhook submissions per cell on Linux ARM64 V1/V2, Windows V1/V2 and a real local macOS ARM64 V1/V2 host. Source and supplier hashes remained unchanged. Windows V2 final custody run and Linux V2 run include the final rehash and quiet tail.
  • Linux AMD64 stock V1 1.18.33 and 1.18.34 TUI checks each submitted one desktop and one webhook notification and proved event-child closure. The one-shot RUN checks did not deliver before shutdown; their failures remain recorded under the documented best-effort limitation.
  • Focused V1 tests showed two old regressions failing and all 51 candidate tests passing. A genuine Windows toast diagnostic exited in 2.25 seconds without cancellation.

Native Intel macOS desktop E2E remains unproved: GitHub runners reported notification permission undetermined. Compiled native clock/ABI checks passed, but do not establish Intel desktop delivery. This implementation can merge behind explicit setup; it does not claim full per-target lifetime/clock/visible-banner qualification or authorize a cross-platform release.

The current-main merges preserve OpenCode managed policy state, Cursor bounded revocation and qualified platform release channels. Public released V1 support remains distinct from this unreleased dual-version candidate. E2E test corrections remove unsupported cancellation-count assumptions while preserving strict negative records, attempt limits, positive delivery counts, closure and silence checks. Historical failures are retained against their actual runs; prior E2E is not relabeled as execution of a later source head.

Refs #105
Related #301, #302, #309, #320

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 208 files, which is 58 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b0e6e99e-d9ab-4f50-af9f-688e27303c83
📥 Commits

Reviewing files that changed from the base of the PR and between 4f549c4 and 9c44647.

⛔ Files ignored due to path filters (3)
  • go.sum is excluded by !**/*.sum
  • internal/opencodeplugin/dist/agent-notifications.js is excluded by !**/dist/**
  • opencode-plugin/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (208)
  • .github/workflows/ci-ubuntu.yml
  • .github/workflows/opencode-clock-native-qualification.yml
  • .github/workflows/opencode-native-e2e.yml
  • .github/workflows/opencode-platform-clock-prequalification.yml
  • .github/workflows/release.yml
  • CHANGELOG.md
  • CLOCK-MATRIX-PORTS.md
  • E1-PORTS.md
  • E2-JS-PORTS.md
  • E2-PORTS.md
  • E2A-PORTS.md
  • README.md
  • bin/bootstrap.sh
  • bin/bootstrap_product_test.sh
  • bin/e2e_launchservices_macos_test.sh
  • cmd/claude-notifications/agent_notify_flow_e2e_test.go
  • cmd/claude-notifications/agent_notify_portable_test.go
  • cmd/claude-notifications/agent_notify_portable_uap_test.go
  • cmd/claude-notifications/config_command.go
  • cmd/claude-notifications/copilot_vscode_event_test.go
  • cmd/claude-notifications/gemini_event_test.go
  • cmd/claude-notifications/gemini_setup_test.go
  • cmd/claude-notifications/main.go
  • cmd/claude-notifications/managed_fixture_test.go
  • cmd/claude-notifications/managed_policy_command_test.go
  • cmd/claude-notifications/opencode_clock.go
  • cmd/claude-notifications/opencode_clock_linux_test.go
  • cmd/claude-notifications/opencode_event.go
  • cmd/claude-notifications/opencode_event_darwin.go
  • cmd/claude-notifications/opencode_event_entry_test.go
  • cmd/claude-notifications/opencode_event_held.go
  • cmd/claude-notifications/opencode_event_held_test.go
  • cmd/claude-notifications/opencode_event_linux.go
  • cmd/claude-notifications/opencode_event_other.go
  • cmd/claude-notifications/opencode_event_test.go
  • cmd/claude-notifications/opencode_event_windows.go
  • cmd/claude-notifications/opencode_runtime_entry.go
  • cmd/claude-notifications/opencode_runtime_entry_test.go
  • cmd/claude-notifications/opencode_runtime_profile.go
  • cmd/claude-notifications/opencode_runtime_profile_darwin.c
  • cmd/claude-notifications/opencode_runtime_profile_darwin.go
  • cmd/claude-notifications/opencode_runtime_profile_darwin.h
  • cmd/claude-notifications/opencode_runtime_profile_darwin_test.go
  • cmd/claude-notifications/opencode_runtime_profile_hold_linux.go
  • cmd/claude-notifications/opencode_runtime_profile_linux.go
  • cmd/claude-notifications/opencode_runtime_profile_linux_test.go
  • cmd/claude-notifications/opencode_runtime_profile_native_test.go
  • cmd/claude-notifications/opencode_runtime_profile_other.go
  • cmd/claude-notifications/opencode_runtime_profile_other_test.go
  • cmd/claude-notifications/opencode_runtime_profile_port.go
  • cmd/claude-notifications/opencode_runtime_profile_port_test.go
  • cmd/claude-notifications/opencode_runtime_profile_windows.go
  • cmd/claude-notifications/opencode_runtime_profile_windows_test.go
  • cmd/claude-notifications/opencode_setup.go
  • cmd/claude-notifications/opencode_trusted_lifetime.go
  • cmd/claude-notifications/opencode_trusted_lifetime_test.go
  • cmd/claude-notifications/opencode_trusted_profile.go
  • cmd/claude-notifications/opencode_trusted_profile_test.go
  • cmd/claude-notifications/opencode_trusted_rows.go
  • cmd/claude-notifications/setup_wizard_test.go
  • cmd/claude-notifications/writer_protocol_declaration_test.go
  • docs/INSTALLATION.md
  • docs/PLUGIN_COMPATIBILITY.md
  • docs/RELEASE.md
  • docs/opencode-notifications.md
  • docs/troubleshooting.md
  • go.mod
  • internal/agentnotify/journal/clock_darwin.go
  • internal/agentnotify/journal/clock_diagnostic_windows_test.go
  • internal/agentnotify/journal/clock_windows.go
  • internal/agentnotify/setupwizard/bootstrap_critical_test.go
  • internal/config/errors.go
  • internal/config/managed_opencode.go
  • internal/geminievent/consumer_test.go
  • internal/installruntime/local_opencode_protocol_integration_test.go
  • internal/installruntime/managed_policy_document_test.go
  • internal/installruntime/opencode_recovery_darwin_test.go
  • internal/installruntime/opencode_state.go
  • internal/installruntime/opencode_state_test.go
  • internal/installruntime/path_other.go
  • internal/installruntime/policy.go
  • internal/installruntime/recovery.go
  • internal/installruntime/recovery_test.go
  • internal/installruntime/reservation.go
  • internal/installruntime/transaction.go
  • internal/installruntime/writer.go
  • internal/notifier/delivery_process.go
  • internal/notifier/delivery_test.go
  • internal/notifier/delivery_toast.go
  • internal/notifier/delivery_toast_test.go
  • internal/notifier/delivery_toast_windows.go
  • internal/notifier/delivery_toast_windows_test.go
  • internal/opencodecodec/qualification_rows.go
  • internal/opencodecodec/trustedclock.go
  • internal/opencodecodec/trustedclock_test.go
  • internal/opencodeevent/admission.go
  • internal/opencodeevent/admission_darwin.go
  • internal/opencodeevent/admission_revision_test.go
  • internal/opencodeevent/admission_test.go
  • internal/opencodeevent/clockport.go
  • internal/opencodeevent/clockport_darwin.go
  • internal/opencodeevent/clockport_linux.go
  • internal/opencodeevent/clockport_native.go
  • internal/opencodeevent/clockport_other.go
  • internal/opencodeevent/clockport_other_test.go
  • internal/opencodeevent/clockport_test.go
  • internal/opencodeevent/clockport_windows.go
  • internal/opencodeevent/clockprotocol.go
  • internal/opencodeevent/clockprotocol_test.go
  • internal/opencodeevent/clockwall_filetime.go
  • internal/opencodeevent/clockwall_filetime_test.go
  • internal/opencodeevent/clockwall_native.go
  • internal/opencodeevent/clockwall_windows.go
  • internal/opencodeevent/clockwall_windows_test.go
  • internal/opencodeevent/composedconsumer.go
  • internal/opencodeevent/composedconsumer_test.go
  • internal/opencodeevent/entry.go
  • internal/opencodeevent/entry_test.go
  • internal/opencodeevent/nativedeadline.go
  • internal/opencodeevent/privatecodec.go
  • internal/opencodeevent/privatecodec_test.go
  • internal/opencodeevent/qualified_calibration_test.go
  • internal/opencodeevent/store.go
  • internal/opencodeevent/testdata/private/v1-permission_asked.json
  • internal/opencodeevent/testdata/private/v1-question_asked.json
  • internal/opencodeevent/testdata/private/v1-terminal_error.json
  • internal/opencodeevent/testdata/private/v1-turn_idle_verified.json
  • internal/opencodeevent/testdata/private/v2-permission_asked.json
  • internal/opencodeevent/testdata/private/v2-question_asked.json
  • internal/opencodeevent/testdata/private/v2-terminal_error.json
  • internal/opencodeevent/testdata/private/v2-turn_idle_verified.json
  • internal/opencodeevent/trustedclock.go
  • internal/opencodeinstall/native_darwin.go
  • internal/opencodeinstall/registration.go
  • internal/opencodeinstall/registration_test.go
  • internal/opencodeinstall/setup.go
  • internal/opencodeinstall/setup_test.go
  • internal/opencodeinstall/shortcut_windows.go
  • internal/opencodeinstall/shortcut_windows_test.go
  • internal/opencodeplugin/bundle.go
  • internal/opencodeplugin/registration_renderer_test.go
  • opencode-plugin/PLATFORM-CLOCKS.md
  • opencode-plugin/README.md
  • opencode-plugin/build.mjs
  • opencode-plugin/clock-cells.mjs
  • opencode-plugin/clock-qualification-data.mjs
  • opencode-plugin/composition-diagnostics.test.mts
  • opencode-plugin/darwin-clock.mjs
  • opencode-plugin/failure-reason.test.ts
  • opencode-plugin/fixtures/private-frame.json
  • opencode-plugin/ipc.mjs
  • opencode-plugin/linux-clock.mjs
  • opencode-plugin/linux-clock.test.mjs
  • opencode-plugin/native-clock-contract.mjs
  • opencode-plugin/native-clock-image.close.test.mts
  • opencode-plugin/native-clock-image.mjs
  • opencode-plugin/native-clock.test.mjs
  • opencode-plugin/native-observers.test.mjs
  • opencode-plugin/native-v1.mjs
  • opencode-plugin/native-v2.mjs
  • opencode-plugin/owned-host.mjs
  • opencode-plugin/package.json
  • opencode-plugin/platform-clock.mjs
  • opencode-plugin/plugin.mjs
  • opencode-plugin/plugin.test.mjs
  • opencode-plugin/prepared-delivery.mjs
  • opencode-plugin/prepared-delivery.test.mjs
  • opencode-plugin/private-display.test.ts
  • opencode-plugin/process-registry-diagnostics.test.mjs
  • opencode-plugin/process-registry.mjs
  • opencode-plugin/process-registry.test.mjs
  • opencode-plugin/profile-registry.test.mjs
  • opencode-plugin/protocol.mjs
  • opencode-plugin/protocol.test.mjs
  • opencode-plugin/tsconfig.json
  • opencode-plugin/vendor/universal-agent-plugins-opencode-events-0.3.0.tgz
  • opencode-plugin/verify-candidate.mjs
  • opencode-plugin/webhook-env.test.ts
  • opencode-plugin/windows-clock.mjs
  • scripts/acquire-opencode-native.py
  • scripts/opencode-clock-native-qualification.mjs
  • scripts/opencode-clock-native-qualification.py
  • scripts/opencode-dbus-capture.py
  • scripts/opencode-native-e2e.py
  • scripts/opencode-native-pins.json
  • scripts/opencode-platform-clock-prequalification.mjs
  • scripts/opencode-platform-clock-prequalification.py
  • scripts/opencode-semantic-e2e.py
  • scripts/testdata/opencode-clock-qualification/closed-inputs.json
  • scripts/testdata/opencode-clock-qualification/test_fixture.py
  • scripts/testdata/opencode-native-e2e/README.md
  • scripts/testdata/opencode-native-e2e/capture.mjs
  • scripts/testdata/opencode-native-e2e/ci_inputs.py
  • scripts/testdata/opencode-native-e2e/driver-contracts.json
  • scripts/testdata/opencode-native-e2e/host-pins.json
  • scripts/testdata/opencode-native-e2e/manifest.template.json
  • scripts/testdata/opencode-native-e2e/portable-capture.mjs
  • scripts/testdata/opencode-native-e2e/portable.py
  • scripts/testdata/opencode-native-e2e/portable_permission.py
  • scripts/testdata/opencode-native-e2e/provider.py
  • scripts/testdata/opencode-native-e2e/receiver.go
  • scripts/testdata/opencode-native-e2e/receiver_presentation_test.go
  • scripts/testdata/opencode-native-e2e/reviewed-host-custody.json
  • scripts/testdata/opencode-native-e2e/test_fixture.py
  • scripts/testdata/opencode-native-e2e/test_portable_collector.py
  • scripts/testdata/opencode-platform-clock-prequalification/README.md
  • scripts/testdata/opencode-platform-clock-prequalification/current-linux-amd64-primary.json
  • scripts/testdata/opencode-platform-clock-prequalification/test_fixture.py

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

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@777genius 777genius 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.

Local Claude Code review using Claude Opus 5.5 (claude-opus-5-5). Read-only source review at 0f1151d. 3 actionable findings; fixes and verification will follow. No publication or merge approval.

[P3] Other user docs still say V2 is unsupported

docs/INSTALLATION.md:7 ('V2 unsupported'), docs/troubleshooting.md:7-8 ('V2 is unsupported') and docs/PLUGIN_COMPATIBILITY.md:8-9 ('V2 is not supported') contradict the updated README and opencode-notifications.md. They also contradict the bootstrap, which now accepts V2 >= 2.0.0. A user following troubleshooting would be told that a host the installer accepts is unsupported.

Suggested fix: Update these three docs to match the candidate wording: tested on 1.18.33, 2.0.0 and 2.0.21, SDK publication pending.

Location: docs/INSTALLATION.md:7

Comment thread scripts/opencode-semantic-e2e.py Resolved
Comment thread opencode-plugin/README.md Resolved

@777genius 777genius 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.

Local Claude Code / Claude Opus 5.5 final follow-up at 2a15a95.

All actionable findings from the four review rounds are addressed (8 total across the two PRs). The final focused model review returned no remaining findings. This is technical code review, not publication or merge approval.

Maintainer verification: 69 SDK tests and typecheck, five plugin tests and bundle build pass. Before/after regressions distinguish all recovery and eviction fixes; the strengthened interruption test fails if its guard is removed. Native same-session recovery passed on 1.18.33, 2.0.0 and 2.0.21, including queue plus interrupt, dismiss, reject and provider failure. Actual private D-Bus calls remained generic, silent and action-free.

Provenance: extended recovery matrices ran at product 153cab3 / SDK b6f6c94; installed-artifact checks after the next eviction fix ran at 31bd651 / SDK 8e651b80. Final exact candidate 2a15a95 / SDK 27be62a68 passed installed completion on all three native versions and current-V2 managed reload. The extended matrices were not all rerun on final SHA. SDK tarball bytes match committed source and the product lock integrity.

Remaining release gates: SDK 0.2.0 registry publication with the exact integrity, a clean registry install reproducing the bundle, and remaining platform CI on final source. Product PR stays draft. No package published and no PR merged.

Add a bounded read-only clock helper and boot/domain-qualified samples for original native event admission. Preserve existing journal clock authority; Windows uses precise wall sampling without coarse fallback. Five-platform packaged qualification and notification admission integration remain pending.
@codecov

codecov Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 62.97919% with 676 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.87%. Comparing base (4f549c4) to head (9c44647).

Files with missing lines Patch % Lines
internal/config/managed_opencode.go 0.00% 153 Missing ⚠️
internal/installruntime/opencode_state.go 46.77% 57 Missing and 42 partials ⚠️
...de-notifications/opencode_runtime_profile_linux.go 0.00% 72 Missing ⚠️
...d/claude-notifications/opencode_runtime_profile.go 30.35% 37 Missing and 2 partials ⚠️
cmd/claude-notifications/opencode_event.go 38.46% 29 Missing and 3 partials ⚠️
internal/opencodeevent/admission.go 80.48% 18 Missing and 14 partials ⚠️
internal/opencodeevent/clockport_linux.go 0.00% 26 Missing ⚠️
internal/opencodeinstall/registration.go 36.58% 22 Missing and 4 partials ⚠️
.../claude-notifications/opencode_trusted_lifetime.go 37.14% 21 Missing and 1 partial ⚠️
internal/installruntime/transaction.go 66.12% 10 Missing and 11 partials ⚠️
... and 23 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #294      +/-   ##
==========================================
- Coverage   65.99%   65.87%   -0.13%     
==========================================
  Files         264      290      +26     
  Lines       30005    31779    +1774     
==========================================
+ Hits        19802    20933    +1131     
- Misses       7245     7778     +533     
- Partials     2958     3068     +110     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Retain clock/event capacity until actual child close, with bounded termination and controlled per-command environments. Verify Linux real-child lifecycle contracts; installed observer composition and other native platforms remain pending.
Compare the actual class90 boot identity ABI and precise counter against independent native calls. Retain the original whole-snapshot assertion and log bounded failure predicates without native identifiers.
Bind notification claims to the captured installation incarnation under component, policy and store leases. Retain canonical claims across clock discontinuities and restart, separate native read tolerance from total source uncertainty, and verify typed terminal identities before IO.
Bind QueryInterruptTimePrecise to the documented realtime API contract. Retain strict boot identity and VOID pointer-output checks; report contract loading and export availability independently.
Preserve original entry deadlines, strict private frame provenance, one shared admission handoff and actual parent/probe settlement. Keep clock rows and runtime observer authority unverified until native qualification. Candidate requires the reviewed three-token JS producer before deployment.
…line

Retain the immediate post-disposal snapshot and allow live total-count nonincrease only within the original absolute deadline. Preserve baseline, thresholds, production budgets and natural closure checks; document the changed TEST time boundary and ownership limitation.

Refs #105
…rtcuts

Preserve bounded native execution, isolate manual installed E2E routing, and verify current Windows clock lifetimes and missing Programs staging.

Refs #105
Related #301, #302, #309, #320
Regenerate the five paired clock roots and embed the current Windows binding cache. Give the hermetic D-Bus receiver its required capability reply before Notify.

The bundle has independently verified byte custody; the earlier auxiliary process-group cleanup failure remains recorded separately.

Refs #105
Related #301, #302, #309, #320
Accept the controlled session titles and optional question preview while rejecting unknown Notify payloads. Cover the receiver contract with real Notify behavior assertions.

Check LaunchServices for the controlled private stage instead of rejecting registration of the release fixture input. Keep published generation and disposable acquisition checks.

Refs #105
Related #301, #302, #309, #320
Preserve the merged Windows cache expiry fix and README preview updates while retaining the dependent OpenCode PR history.

Refs #105
Refs #320
Retain only known desktop and webhook failure reasons, and expose fixed composition stages through the existing diagnostics option. Revoke authority before invoking diagnostic callbacks. Successful delivery, claims, budgets and private data remain unchanged.

Validated focused consumer, Windows adapter and Node registry tests, preparation callback regression and TypeScript checking in an isolated hosted TEST checkout.

Refs #105
Refs #301
Refs #302
Refs #309
Refs #320
Regenerate the embedded plugin and the five existing algorithm roots from the reviewed diagnostics source. Keep reader descriptors, platform membership and physical clock bounds unchanged.

Captured and rendered with the existing generator; all five roots independently checked on GPT-6.1 high. Bundled once with the existing pinned offline toolchain in a hosted TEST checkout. Native qualification remains pending.

Refs #105
Refs #301
Refs #302
Refs #309
Refs #320
Refs #105

Preserve the dual API candidate and Windows V1 limitation while accepting current public product naming. OpenCode selected source and generated assets remain unchanged.
Use the strict SDK finalized completion snapshot with live native control and the original activation calibration. Keep attention, error and V2 preparation unchanged.

Refs #105
Replace the assembly load that stalls notification submission with the qualified ToastNotificationManager type preload. Preserve the original submission deadline and Show call.

Refs #105
Preserve the already merged Windows cache preparation and landing updates before the final OpenCode build and checks.

Refs #105

Refs #320
Bind the reviewed Darwin, V1 completion and Windows toast fixes to the existing clock catalog and bundled plugin. Reuse the exact generated outputs after the byte-identical main integration.

Refs #105

Refs #301

Refs #302

Refs #309

Refs #320
Preserve OpenCode managed policy state and Cursor bounded revocation in the shared installer.

Refs #105
Refs #301
Refs #302
Refs #309
Refs #320
Related #336
Remove unsupported cancellation cardinality assumptions while preserving strict negative records, shared attempt limits, positive delivery counts and the V2 quiet tail.

Refs #105
Refs #301
Refs #302
Refs #309
Refs #320
Preserve the platform release selection and the dual-version candidate installation requirements while integrating current main.

Refs #105
Refs #301
Refs #302
Refs #309
Refs #320
Related #337
@777genius
777genius marked this pull request as ready for review October 4, 2026 20:04
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@777genius
777genius merged commit fbb2bf2 into main Oct 4, 2026
37 of 38 checks passed
@777genius
777genius deleted the feat/opencode-v2-notifications branch October 4, 2026 20:37
777genius added a commit that referenced this pull request Oct 6, 2026
Reuse the original v1.48.0 binaries and sealed stock-host inputs for fresh finite primitive and installed business observations. Preserve full native qualification denials and skipped macOS channels. Retain the independently reviewed native Codex Stop and webhook receipt, including its original harness false negative.

Refs #105, #294, #337, #340, #341
777genius added a commit that referenced this pull request Oct 6, 2026
Preserve canonical LF source custody while checking the uniquely embedded CRLF bundle and exact installed rendering of immutable Windows artifacts. Retry only the two Windows cells and retain future binaries for the recovery window.

Refs #105, #294, #337, #340, #341
777genius added a commit that referenced this pull request Oct 6, 2026
Preserve release preparation ancestry and all legacy macOS versions atomically. Keep the unpublished v1.48.0 tag immutable after discovering the repeated-clock precision defect.

Refs #105, #294, #301, #302, #309, #320, #336, #337, #340, #341
777genius added a commit that referenced this pull request Oct 6, 2026
Publish qualified Linux amd64/arm64 and Windows amd64 channels for v1.48.1 after asset verification. Preserve the release PR histories and all five legacy main versions at 1.46.1. Both macOS source rows and GitHub Latest remain v1.46.1.

Refs #105, #294, #301, #302, #309, #320, #336, #337, #340, #341, #369, #370.
777genius added a commit that referenced this pull request Oct 7, 2026
Integrate current main and its notification budget precision fix. Preserve the Linux/Windows-only release topology, sealed stock-host qualification inputs, fourteen-day artifacts and partial promotion state. Retain approved managed routes only for ordinary existing release jobs.

Resolve duplicate admission test deadline helpers using the shared setup and per-command fixtures while preserving the exact retention boundary assertions. Keep the approved cold-start and inert notification fixtures unchanged.

Refs #105, #294, #301, #302, #309, #320, #336, #337, #340, #341, #369, #370, #382
777genius added a commit that referenced this pull request Oct 7, 2026
Route ordinary Linux CI through Ubicloud and ARM macOS CI through Namespace while retaining two Mac slots. Preserve Windows and Intel macOS runner contracts, frozen physical qualification, current release custody and original PR #378 ancestry.

Isolate desktop unit-test helpers and per-job Darwin Python caches. Stabilize test fixtures for cold process startup and inert macOS application launch without changing production execution deadlines.

Refs #105
Refs #294
Refs #301
Refs #302
Refs #309
Refs #320
Refs #336
Refs #337
Refs #340
Refs #341
Refs #369
Refs #370
Refs #382

Independent technical review accepted exact head 53b2982. All eight mandatory workflows passed on that head: Linux/macOS/Windows Go 1.25 and 1.26 CI, Swift tests, SDK blackbox, offline recovery, selector bootstrap, qualification candidates and landing verification. Six redundant native qualification workflows were cancelled outside migration proof scope and are not qualification passes. Current main signing custody and vendor test inputs were independently reviewed as compatible.
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