Skip to content

chore(deps): update Silo fork to AetherEngine 7.1.0 - #1

Merged
Quick104 merged 6 commits into
mainfrom
codex/silo-ass-subtitle-routing
Sep 17, 2026
Merged

Quick104 merged 6 commits into
mainfrom
codex/silo-ass-subtitle-routing

Conversation

@Quick104

@Quick104 Quick104 commented Sep 17, 2026

Copy link
Copy Markdown

Summary

Silo's pinned fork was based on AetherEngine 6.67.2 and missed later seek, subtitle, HDR, and audio-session fixes. Import upstream 7.1.0 while preserving Silo's subtitle behavior.

What changed

  • Import upstream tag 7.1.0 (2119d9f9e6655e3b94328207d4587261e80d69a2), including FFmpegBuild 3.3.0 and the iOS 18 / tvOS 18 / macOS 15 platform floors.
  • Retain complete native subtitle renditions, nativeTimelineOffsetSeconds, and raw primary ASS events with normalized secondary and software PiP subtitles. Packaged HLS retains native text renditions for PiP and AirPlay.
  • Use upstream's host-requested native item handover, which now includes Silo's earlier fixes.
  • Import the release as a single commit to preserve fork history without importing upstream metadata rejected by the local privacy hook. The merge of fork main preserves the identical tested source tree.

The companion app update is silo-apple#298. The app pins eabce40de1d59c1c03696d99de688730904979da. This PR's merge commit has the same tree as that revision.

Test plan

  • swift test: 632 XCTest tests, one skipped, zero failures; 2,991 Swift Testing tests passed.
  • Documentation link checker passed.
  • Silo iOS and tvOS simulator builds, signed tvOS device build/profile validation, and macOS build passed.
  • Silo focused playback/subtitle suites: 173 iOS and 165 tvOS tests, two optional fixture tests skipped per platform, zero failures.
  • Physical Apple TV 4K (3rd generation), tvOS 26.6: signed app installed, launched, and running process verified. The user tested a Dolby Vision Profile 7 movie and accepted the build after Silo exposed the engine-reported Profile 8.1 conversion. The full codec, subtitle, PiP, and AirPlay matrix has not been exercised on hardware.

Checklist

  • CHANGELOG.md updated with the imported release notes and retained subtitle fixes
  • Commit messages follow Conventional Commits
  • Playback fixes remain in the engine
  • Public API changes are intentional and documented

Note

Update Silo fork to AetherEngine 7.1.0 with new DV routing, TLS trust, and VOD packet cache

  • Raises deployment targets to iOS 18, tvOS 18, and macOS 15, and updates FFmpegBuild from 3.0.x to 3.3.x in Package.swift
  • Adds Dolby Vision base-layer-only routing, RPU profile correction for contradicted Profile 5 records, and Profile 8 packaging that retains DV configuration on non-DV displays in CodecRoutePolicy.swift and DolbyVisionRecordAudit.swift
  • Adds EngineTLS.serverTrustEvaluator so host apps can accept self-signed or custom-trust HTTPS origins, with relay fallback for refused origins in EngineTLS.swift and HLSOriginRelay.swift
  • Adds a disk-backed software VOD packet cache with read-ahead, coverage tracking, and seek-window admission in SoftwarePacketDiskFIFO.swift and SoftwarePacketReadAhead.swift
  • Replaces fixed-latency live outage closing with cadence-aware decisions that consider consumer buffer depth and delivery intervals in VideoSegmentProvider.swift and LiveWindow.swift
  • Risk: Package.swift now requires iOS 18+/tvOS 18+/macOS 15+ and FFmpegBuild 3.3.x; consumers on older platforms or the 3.0.x dependency line will fail to resolve. The AV1 VTCapabilityProbe no longer guards on OS availability, and SampleBufferRenderer always targets AVSampleBufferVideoRenderer instead of conditionally using the display layer.

Macroscope summarized 84a3dfa.

AI Disclosure

  • Harness: Codex desktop agent harness
  • Tool(s): Codex for implementation, validation, and PR preparation; repository-managed GitHub reviewers include Codex, CodeRabbit, Macroscope, and Greptile.
  • Model(s): OpenAI gpt-6-astra for this contribution. GitHub review services did not report exact model identifiers.
  • Involvement: AI-assisted; human playback verification on Apple TV.
  • Adversarial review: Compared the fork delta with upstream 7.1.0 and inspected retained subtitle routing, asynchronous selection ownership, and timeline handling. Merging fork main exposed conflicting code and a duplicated helper; these were resolved by preserving the tested import tree. Verified the final tree exactly equals the app-pinned revision. This was an integration review, not an exhaustive audit of all upstream changes.

Quick104 and others added 6 commits September 4, 2026 11:41
…replacement

The AE#158 handover that keeps a PiP window alive across a native->native
load() was gated on pictureInPictureActive alone. A host that mounts the
engine's own AVPlayerLayer takes the nil-item gap on every next-episode
transition, and on tvOS that gap can leave the layer black while the
successor's audio and clock run.

prepareForItemReplacement() arms a one-shot request that the next load()
consumes; stop() cancels it and a non-native outgoing session ignores it.
When the item is kept, NativeAVPlayerHost.prepareForItemHandover() retires
the outgoing session's publishers before the engine subscribes for the
successor, so the previous episode's EOF, readiness, rate and clock are not
replayed. Main-actor hops queued by the outgoing item's KVO now drop on the
session guard instead of writing into the successor.

Silo-Server port of the fix first shipped from blurbery/AetherEngine
653be63, re-implemented against 6.67.2.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The bypass callsite never read pendingInPlaceItemHandover, so a PiP or
host-requested handover across a native->native remote-HLS load still
dropped the item to nil before the successor attached.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Import upstream 7.1.0 (2119d9f) and retain Silo native subtitle completion, source timeline offsets, and primary ASS rendering patches. Host-requested item handover is now provided upstream.

The resulting tree matches the tested upstream-plus-subtitle-patches tree e16086442d9d43cb41330819ae7a38589a15ae81. Preserve existing fork history without importing upstream commit metadata rejected by the local privacy hook.
Fork main is already an ancestor of upstream 7.1.0. Keep the tested imported tree, including its later seek-axis fixes, when joining the histories.

@greptile-apps greptile-apps 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.

Quick104 has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 218 files, which is 118 over the limit of 100.

To get a review, reduce the PR to 100 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: e10542f0-efc1-4cb2-a44d-15f3cf3b7b0b

📥 Commits

Reviewing files that changed from the base of the PR and between ab94a81 and 84a3dfa.

⛔ Files ignored due to path filters (1)
  • Package.resolved is excluded by !**/Package.resolved
📒 Files selected for processing (218)
  • .github/FUNDING.yml
  • .github/workflows/beta-sdk-watch.yml
  • .github/workflows/ci.yml
  • .github/workflows/used-by-add.yml
  • .github/workflows/used-by-label.yml
  • .gitignore
  • .swiftpm/xcode/xcshareddata/xcschemes/AetherEngineTests.xcscheme
  • CHANGELOG.md
  • CONTRIBUTING.md
  • Examples/DemoPlayerMac/Package.swift
  • Examples/DemoPlayerMac/Sources/DemoPlayerMac/DemoPlayerApp.swift
  • Examples/README.md
  • Package.swift
  • README.md
  • Scripts/test-h264-partial-composition-controls.sh
  • Scripts/test-h264-partial-composition-runtime.sh
  • Scripts/test-h264-partial-composition.sh
  • Scripts/test-software-packet-coverage.sh
  • Scripts/test-software-packet-disk-fifo.sh
  • Scripts/test-software-packet-read-ahead.sh
  • Scripts/test-software-read-admission.sh
  • Scripts/test-software-stored-packet.sh
  • Scripts/test-software-video-packet-coverage.sh
  • Scripts/tests/H264PartialCompositionRuntimeStandalone.swift
  • Scripts/tests/H264PartialCompositionStandalone.swift
  • Scripts/tests/SoftwarePacketCoverageStandalone.swift
  • Scripts/tests/SoftwarePacketDiskFIFOStandalone.swift
  • Scripts/tests/SoftwarePacketReadAheadStandalone.swift
  • Scripts/tests/SoftwareReadAdmissionStandalone.swift
  • Scripts/tests/SoftwareStoredPacketStandalone.swift
  • Scripts/tests/SoftwareVideoPacketCoverageStandalone.swift
  • Scripts/tests/make-partial-ctts-fixture.rb
  • Sources/AetherEngine/AetherEngine+AudioDelay.swift
  • Sources/AetherEngine/AetherEngine+Diagnostics.swift
  • Sources/AetherEngine/AetherEngine+Live.swift
  • Sources/AetherEngine/AetherEngine+LiveSubtitleRenditions.swift
  • Sources/AetherEngine/AetherEngine+Loading.swift
  • Sources/AetherEngine/AetherEngine+Probe.swift
  • Sources/AetherEngine/AetherEngine+ReloadWithOptions.swift
  • Sources/AetherEngine/AetherEngine+SubtitleOCR.swift
  • Sources/AetherEngine/AetherEngine+Subtitles.swift
  • Sources/AetherEngine/AetherEngine.swift
  • Sources/AetherEngine/Audio/AudioOutput.swift
  • Sources/AetherEngine/Audio/Tap/AudioTapHLSFetcher.swift
  • Sources/AetherEngine/Decoder/ColorDescription.swift
  • Sources/AetherEngine/Decoder/DeinterlaceFilter.swift
  • Sources/AetherEngine/Decoder/HardwareVideoDecoder.swift
  • Sources/AetherEngine/Decoder/SoftwareVideoDecoder.swift
  • Sources/AetherEngine/Decoder/VideoDecoderTypes.swift
  • Sources/AetherEngine/Decoder/VideoRoutingPolicy.swift
  • Sources/AetherEngine/Demuxer/AVIOReader.swift
  • Sources/AetherEngine/Demuxer/CustomIOReaderBridge.swift
  • Sources/AetherEngine/Demuxer/Demuxer.swift
  • Sources/AetherEngine/Demuxer/HeldSourceConnection.swift
  • Sources/AetherEngine/Demuxer/LiveReopenAlignment.swift
  • Sources/AetherEngine/Demuxer/OriginRequestBudget.swift
  • Sources/AetherEngine/Demuxer/VFWDecodeOrderPTSRepair.swift
  • Sources/AetherEngine/Diagnostics/LiveTelemetry.swift
  • Sources/AetherEngine/Diagnostics/LiveTelemetrySampler.swift
  • Sources/AetherEngine/Diagnostics/LogRedaction.swift
  • Sources/AetherEngine/Diagnostics/QoSClassName.swift
  • Sources/AetherEngine/Disc/BDTitleSelector.swift
  • Sources/AetherEngine/Disc/DVDIFOParser.swift
  • Sources/AetherEngine/Disc/DiscInspector.swift
  • Sources/AetherEngine/Disc/DiscMetadata.swift
  • Sources/AetherEngine/Disc/DiscReader.swift
  • Sources/AetherEngine/Disc/MPLSParser.swift
  • Sources/AetherEngine/Display/DisplayCriteriaController.swift
  • Sources/AetherEngine/FrameExtractor/FrameDecodeContext.swift
  • Sources/AetherEngine/FrameExtractor/HDRToneMapper.swift
  • Sources/AetherEngine/IO/HLSIngest/HLSCarriageProbe.swift
  • Sources/AetherEngine/IO/HLSIngest/HLSLiveIngestReader.swift
  • Sources/AetherEngine/IO/HLSIngest/HLSPlaylistTracker.swift
  • Sources/AetherEngine/IO/HLSIngest/HLSVODIngestReader.swift
  • Sources/AetherEngine/IO/HTTPDiscIOReader.swift
  • Sources/AetherEngine/Native/NativeAVPlayerHost.swift
  • Sources/AetherEngine/Native/RemoteHLSSubtitleProvider.swift
  • Sources/AetherEngine/Native/RemoteHLSSubtitleProxy.swift
  • Sources/AetherEngine/Native/SeekWindow.swift
  • Sources/AetherEngine/Native/SoftwareBufferFrontier.swift
  • Sources/AetherEngine/Native/SoftwarePacketCoverage.swift
  • Sources/AetherEngine/Native/SoftwarePacketDiskFIFO.swift
  • Sources/AetherEngine/Native/SoftwarePacketReadAhead.swift
  • Sources/AetherEngine/Native/SoftwarePlaybackHost.swift
  • Sources/AetherEngine/Native/SoftwareReadAdmission.swift
  • Sources/AetherEngine/Native/SoftwareStoredPacket+FFmpeg.swift
  • Sources/AetherEngine/Native/SoftwareStoredPacket.swift
  • Sources/AetherEngine/Native/SoftwareVideoPacketCoverage.swift
  • Sources/AetherEngine/Network/EngineTLS.swift
  • Sources/AetherEngine/Network/HLSLocalServer.swift
  • Sources/AetherEngine/Network/HLSOriginRelay.swift
  • Sources/AetherEngine/Network/TransportSecurityFailure.swift
  • Sources/AetherEngine/PlaybackErrorInfo.swift
  • Sources/AetherEngine/PlayerState.swift
  • Sources/AetherEngine/Renderer/SampleBufferRenderer.swift
  • Sources/AetherEngine/SubtitleSessionCarryover.swift
  • Sources/AetherEngine/Subtitles/ExternalSubtitleTrack.swift
  • Sources/AetherEngine/Subtitles/NativeSubtitleCueStore.swift
  • Sources/AetherEngine/Subtitles/SoftwarePiPASSSubtitles.swift
  • Sources/AetherEngine/Subtitles/SubtitleDrainStopReason.swift
  • Sources/AetherEngine/Subtitles/SubtitleForwardPrefetcher.swift
  • Sources/AetherEngine/Video/AudioLanguageMap.swift
  • Sources/AetherEngine/Video/CodecRoutePolicy.swift
  • Sources/AetherEngine/Video/DolbyVisionRecordAudit.swift
  • Sources/AetherEngine/Video/EpochAxisTable.swift
  • Sources/AetherEngine/Video/H264CompositionOffsetRepair.swift
  • Sources/AetherEngine/Video/H264MatroskaSlotPermutation.swift
  • Sources/AetherEngine/Video/H264PartialCompositionRepair.swift
  • Sources/AetherEngine/Video/H264PartialCompositionRepairSession.swift
  • Sources/AetherEngine/Video/HLSSegmentProducer.swift
  • Sources/AetherEngine/Video/HLSVideoEngine+AudioRoute.swift
  • Sources/AetherEngine/Video/HLSVideoEngine+LiveReopen.swift
  • Sources/AetherEngine/Video/HLSVideoEngine.swift
  • Sources/AetherEngine/Video/Issue65LivelockBreakers.swift
  • Sources/AetherEngine/Video/LiveWindow.swift
  • Sources/AetherEngine/Video/NoCutStallWatchdog.swift
  • Sources/AetherEngine/Video/VTCapabilityProbe.swift
  • Sources/AetherEngine/Video/VideoSegmentProvider.swift
  • Sources/AetherEngine/View/AetherPlayerView.swift
  • Sources/aetherctl/DiscInspect.swift
  • Sources/aetherctl/LiveCmd.swift
  • Sources/aetherctl/LiveFixture.swift
  • Sources/aetherctl/LiveSpoolIO.swift
  • Sources/aetherctl/PlaybackCmd.swift
  • Sources/aetherctl/SeekTest.swift
  • Sources/aetherctl/SegVerify.swift
  • Sources/aetherctl/Serve.swift
  • Sources/aetherctl/main.swift
  • Tests/AetherEngineTests/ASSSubtitlePresentationTests.swift
  • Tests/AetherEngineTests/AVFoundationOffMainTests.swift
  • Tests/AetherEngineTests/ChannelLayoutOrderTests.swift
  • Tests/AetherEngineTests/ColorDescriptionTests.swift
  • Tests/AetherEngineTests/DVDIFOParserTests.swift
  • Tests/AetherEngineTests/DiscTrackLanguageTests.swift
  • Tests/AetherEngineTests/DisplayCapabilitiesTests.swift
  • Tests/AetherEngineTests/DisplayFlushOpTests.swift
  • Tests/AetherEngineTests/DocumentedConstantsTests.swift
  • Tests/AetherEngineTests/DolbyVisionBaseLayerTests.swift
  • Tests/AetherEngineTests/DolbyVisionRecordAuditTests.swift
  • Tests/AetherEngineTests/EngineTLSHandshakeTests.swift
  • Tests/AetherEngineTests/EngineTLSTests.swift
  • Tests/AetherEngineTests/EpochAxisTableTests.swift
  • Tests/AetherEngineTests/FLVFormatChainTests.swift
  • Tests/AetherEngineTests/HLSOriginRelayTests.swift
  • Tests/AetherEngineTests/HLSPlaylistTrackerTests.swift
  • Tests/AetherEngineTests/HostPauseBeforeFirstRollTests.swift
  • Tests/AetherEngineTests/ISO9660Fixture.swift
  • Tests/AetherEngineTests/Issue177IngestPrefetchTests.swift
  • Tests/AetherEngineTests/Issue177SARLatchTests.swift
  • Tests/AetherEngineTests/Issue240SideReaderLinkPriorityTests.swift
  • Tests/AetherEngineTests/Issue254OffMainRepositionTests.swift
  • Tests/AetherEngineTests/Issue298SoftwareSurfaceTests.swift
  • Tests/AetherEngineTests/Issue303SoftwareReadAheadTests.swift
  • Tests/AetherEngineTests/Issue311SoftwareFrameTimesTests.swift
  • Tests/AetherEngineTests/Issue314FrameTimeSequenceTests.swift
  • Tests/AetherEngineTests/Issue316BypassExternalSubtitleTests.swift
  • Tests/AetherEngineTests/Issue353SoftwareDisplaySizeTests.swift
  • Tests/AetherEngineTests/Issue357SubtitleDeliveryTests.swift
  • Tests/AetherEngineTests/Issue377HeldConnectionTests.swift
  • Tests/AetherEngineTests/Issue407CadenceTests.swift
  • Tests/AetherEngineTests/Issue418ReaimedGateAxisTests.swift
  • Tests/AetherEngineTests/Issue440LiveJoinRollTests.swift
  • Tests/AetherEngineTests/Issue444LiveResumePolicyTests.swift
  • Tests/AetherEngineTests/Issue446JoinThatNeverCutTests.swift
  • Tests/AetherEngineTests/Issue446OutageCloseDeadlineTests.swift
  • Tests/AetherEngineTests/Issue446OutageEndlistTests.swift
  • Tests/AetherEngineTests/Issue447SubtitleTargetDurationSealTests.swift
  • Tests/AetherEngineTests/Issue448EpochSeamTests.swift
  • Tests/AetherEngineTests/Issue455ForcedDVRouteTests.swift
  • Tests/AetherEngineTests/Issue458AudioLanguageMetadataTests.swift
  • Tests/AetherEngineTests/Issue459AcceptanceProvesPanelTests.swift
  • Tests/AetherEngineTests/Issue459DolbyVisionLabelDetailTests.swift
  • Tests/AetherEngineTests/Issue459MasterFirstRoutingTests.swift
  • Tests/AetherEngineTests/Issue459PanelProofDuringPlaybackTests.swift
  • Tests/AetherEngineTests/Issue460LiveCustomReopenTests.swift
  • Tests/AetherEngineTests/Issue460ReloadWithOptionsTests.swift
  • Tests/AetherEngineTests/Issue464ReloadPreservesSessionTests.swift
  • Tests/AetherEngineTests/Issue481LandingAxisTests.swift
  • Tests/AetherEngineTests/Issue489SoftwareHostGravityTests.swift
  • Tests/AetherEngineTests/Issue491SeekWindowTests.swift
  • Tests/AetherEngineTests/Issue491StaleSeekReferenceTests.swift
  • Tests/AetherEngineTests/Issue492ParkedFeedEpochTests.swift
  • Tests/AetherEngineTests/Issue493HostDisplayAssertionTests.swift
  • Tests/AetherEngineTests/Issue496PrefetchCancelReasonTests.swift
  • Tests/AetherEngineTests/Issue509LiveJoinNearPTSWrapTests.swift
  • Tests/AetherEngineTests/Issue511MatroskaCodingOrderTests.swift
  • Tests/AetherEngineTests/Issue514AverageBitrateTests.swift
  • Tests/AetherEngineTests/Issue515LoopbackDolbyVisionLabelTests.swift
  • Tests/AetherEngineTests/Issue519ReadAheadQoSTests.swift
  • Tests/AetherEngineTests/Issue520ConsumerDepthTests.swift
  • Tests/AetherEngineTests/Issue523SourceCadenceLatenessTests.swift
  • Tests/AetherEngineTests/Issue526ReloadRefusalIsSpokenTests.swift
  • Tests/AetherEngineTests/Issue536SurfaceFallbackTests.swift
  • Tests/AetherEngineTests/Issue538AudioSessionTransitionOrderTests.swift
  • Tests/AetherEngineTests/Issue65LivelockTests.swift
  • Tests/AetherEngineTests/LiveTelemetrySamplerTests.swift
  • Tests/AetherEngineTests/LiveWindowTests.swift
  • Tests/AetherEngineTests/LogRedactionTests.swift
  • Tests/AetherEngineTests/MPLSParserTests.swift
  • Tests/AetherEngineTests/NativeSubtitleCueStoreTests.swift
  • Tests/AetherEngineTests/PanelReadoutLineTests.swift
  • Tests/AetherEngineTests/PiPItemHandoverTests.swift
  • Tests/AetherEngineTests/PublicAPIDocumentationTests.swift
  • Tests/AetherEngineTests/RateLimitedSourceReviveTests.swift
  • Tests/AetherEngineTests/RemoteHLSSubtitleProxyTests.swift
  • Tests/AetherEngineTests/RestartTimelineContinuityTests.swift
  • Tests/AetherEngineTests/Sodalite104LiveEdgeCadenceTests.swift
  • Tests/AetherEngineTests/Sodalite104SoftwareLiveLandingTests.swift
  • Tests/AetherEngineTests/SoftwarePacketReadAheadParkTests.swift
  • Tests/AetherEngineTests/SubtitleRenditionPlaylistTests.swift
  • Tests/AetherEngineTests/TransportSecurityFailureTests.swift
  • Tests/AetherEngineTests/VFWDecodeOrderPTSRepairTests.swift
  • Tests/AetherEngineTests/WMAAudioRouteTests.swift
  • docs/api.md
  • docs/architecture.md
  • docs/cli.md
  • docs/formats.md
  • docs/partial-composition-regression.md

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


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.

@macroscopeapp

macroscopeapp Bot commented Sep 17, 2026

Copy link
Copy Markdown

Macroscope skipped reviewing this pull request. Per-review cost limit exceeded (workspace setting).

This review would cost an estimated $29.09, which exceeds your per-review limit of $10.00.

The top 3 files driving up this estimate:

File Diff Size Estimate
CHANGELOG.md 97.83KB $2.45
Sources/AetherEngine/AetherEngine.swift 66.60KB $1.67
docs/api.md 47.55KB $1.19

Tip

To get this pull request reviewed, you can:

  1. Comment @macroscope-app on this PR to request a manual review (monthly spend limits still apply).
  2. Exclude the file(s) above from review by adding a pattern to your .macroscope/ignore.md — note that creating this file replaces Macroscope's built-in default ignores rather than extending them.
  3. Raise your cost limit in your workspace billing settings.

Turn off this reminder going forward

@macroscopeapp

macroscopeapp Bot commented Sep 17, 2026

Copy link
Copy Markdown

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is substantially broader than a dependency bump: it changes supported platforms, playback pipelines, live buffering, subtitles, Dolby Vision, network transport, and public APIs, while adding certificate-trust and origin-relay behavior. The security-sensitive networking changes and the breadth of production runtime impact warrant human review.

Not approved because:

  • Per-review cost limit exceeded (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings, or comment @macroscope-app review this PR to bypass the limit and review now. You can add or adjust custom eligibility rules. Learn more.

@Quick104
Quick104 merged commit 64320dd into main Sep 17, 2026
10 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