Skip to content

fix(tvos): validate and normalize exported IPA filename - #1354

Merged
9thLevelSoftware merged 2 commits into
mainfrom
fix/1288-tvos-export-artifact
Oct 26, 2026
Merged

9thLevelSoftware merged 2 commits into
mainfrom
fix/1288-tvos-export-artifact

Conversation

@9thLevelSoftware

Copy link
Copy Markdown
Owner

Release blocker correction for #1288

TV-only release run 40392894434 passed real simulator tests, signed archive, codesign and embedded TV-profile verification. Xcode export returned 0, but a hardcoded PhoenixTV.ipa lookup failed; upload was skipped. The exported name itself was not retained and is not claimed observed.

Discover exactly one root IPA, validate embedded bundle/platform/marketing/build metadata, then normalize its filename for the unchanged uploader. Missing/ambiguous/malformed/mismatched files still fail closed. No runtime, phone, version, signing, review or upload guards changed.

Parent spec review PASS: narrow two-file scope, no credential output, ambiguity and identity rejected before rename. Parent fresh verification: tooling61/61; version helper8/8; preflight1.0.8/code12; diff-check clean, on Python3.14.7. Independent quality review and exact-head required CI remain before merge. This PR does not claim TestFlight delivery. Physical hardware remains an explicitly disclosed beta test item.

Copilot AI balanced review requested due to automatic review settings October 26, 2026 21:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

Comment thread .github/scripts/tvos-release.py Outdated
Comment thread .github/scripts/tvos-release.py
Comment thread .github/scripts/tvos-tooling-tests.py Outdated
Comment thread .github/scripts/tvos-tooling-tests.py Outdated
@kilo-code-bot

kilo-code-bot Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (2 files)
  • .github/scripts/tvos-release.py
  • .github/scripts/tvos-tooling-tests.py
Previous Review Summary (commit 4ed66e9)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 4ed66e9)

Status: 4 Issues Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 1
SUGGESTION 3
Issue Details (click to expand)

WARNING

File Line Issue
.github/scripts/tvos-release.py 404 Destination-exists guard only fires for a case-variant export name and then aborts a release the replaced hardcoded check accepted; rename unconditionally instead

SUGGESTION

File Line Issue
.github/scripts/tvos-release.py 380 Symlink rejection branch is implemented but untested
.github/scripts/tvos-tooling-tests.py 173 Unnecessary getattr/callable/cast scaffolding plus unused typing import
.github/scripts/tvos-tooling-tests.py 217 Three assertions collapse into a single assertRaisesRegex
Files Reviewed (2 files)
  • .github/scripts/tvos-release.py - 2 issues
  • .github/scripts/tvos-tooling-tests.py - 2 issues

Fix these issues in Kilo Cloud


Reviewed by minimax-m3 · Input: 98.4K · Output: 49.1K · Cached: 1.1M

Review guidance: REVIEW.md from base branch main

@9thLevelSoftware

Copy link
Copy Markdown
Owner Author

Independent release-tooling review accepted at 04ba97dca91a9c5e2ba0fdb2cacceab759791ddc. Parent spec review PASS; separate quality/safety reviewer APPROVED. Parent executed tooling63/63, version8/8, preflight1.0.8 and diff checks. Required exact-head CI and TV native/UI/device CI are successful; no unresolved review threads. Only two Python tooling/test files differ from feature merge a923ef019c1d4ee43efb24b6029cc53c923d7c03: validate the unique exported IPA identity before normalizing its filename. Product source, signing/profile/review/upload safeguards and version are unchanged. The earlier signed export returned0 but the exact filename was not retained. This review does not claim an uploaded build or tester availability. Physical hardware and live cloud remain unverified beta items; phone iOS-native nonblocking baseline failures are not claimed fixed.

@9thLevelSoftware
9thLevelSoftware merged commit 622e603 into main Oct 26, 2026
13 checks passed
@9thLevelSoftware
9thLevelSoftware deleted the fix/1288-tvos-export-artifact branch October 26, 2026 21:55
@9thLevelSoftware

Copy link
Copy Markdown
Owner Author

Independent tvOS release attestation accepted for merge SHA 622e60332fd43b51a65d43e3f1e8f2e23e41cf78, source tree 62fb69ea644bbe0059c2e0dd237657b3fd728ac2. Separate parent spec/quality reviews accepted final tooling head 04ba97dca91a9c5e2ba0fdb2cacceab759791ddc; normal squash merge has exactly the reviewed tree. Review and exact-head CI evidence. Feature PR1352 merge a923ef019c1d4ee43efb24b6029cc53c923d7c03 is the direct parent; it contains version PR1349. Only two release Python files changed, no app runtime/version/signing configuration. Parent tooling63/version8 pass; required CI and TV native177/UI6/device CI pass. All four review threads resolved after a reproduced case-insensitive filename correction.

Authorized operation remains experimental TV_OS1.0.8 TestFlight only, preserving existing tester groups and phone signing. This is a recovery of failed export run40392894434, whose signed archive succeeded but upload was skipped. No physical Apple TV/Vitruvian or live cloud roundtrip proof, no certified emergency-stop claim, and no unrelated App Store/full-release approval. The pre-existing nonblocking iOS-native failures remain explicitly unverified/unfixed. Uploaded build processing and actual tester availability still require Apple readback.

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.

2 participants