From 464905b597a98bc09b269936c2b35a27ec46fdce Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 07 Jul 2026 12:57:56 +0800
Subject: [PATCH] docs: record 8.3.6 release gate evidence

---
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/APP_STORE_UPLOAD_BLOCKER.md                                 |   79 +++++++++++++++++++
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Upload/README.md                                            |    5 +
 C2.builds/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt                                                       |    1 
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png |    0 
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/QA_RELEASE_EVIDENCE.md                                      |   61 +++++++++++++++
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/RELEASE_MANIFEST.md                                         |   60 +++++++++++++++
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg            |    0 
 C2.builds/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg                     |    0 
 K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt                                              |    2 
 9 files changed, 208 insertions(+), 0 deletions(-)

diff --git a/C2.builds/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg b/C2.builds/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg
new file mode 100644
index 0000000..e7f83db
--- /dev/null
+++ b/C2.builds/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg
Binary files differ
diff --git a/C2.builds/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt b/C2.builds/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt
new file mode 100644
index 0000000..d196c0b
--- /dev/null
+++ b/C2.builds/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt
@@ -0,0 +1 @@
+6b899e1961ac203a777f7d285eaaed0fb14e5c4a4e9cec6500f779cda7a3333e  Archive/TagLauncher-8.3.6-build20260707.1242.dmg
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/APP_STORE_UPLOAD_BLOCKER.md" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/APP_STORE_UPLOAD_BLOCKER.md"
new file mode 100644
index 0000000..9f21af3
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/APP_STORE_UPLOAD_BLOCKER.md"
@@ -0,0 +1,79 @@
+# TagLauncher 8.3.6 App Store Upload Blocker
+
+Date: 2026-07-07
+
+## Blocker
+
+The App Store Connect upload `.pkg` cannot be generated on this Mac because the required company signing identities and provisioning profile are not available locally.
+
+Required for upload:
+
+- `3rd Party Mac Developer Application: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)`
+- `3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)`
+- Mac App Store provisioning profile for `CR3J54M8BQ.com.taglauncher.app`
+
+Observed local keychain identities:
+
+```text
+PrivateVoice Local Code Signing
+Apple Development: junfeng zhang (9MYR6D5R5U)
+```
+
+Observed provisioning profile directory:
+
+```text
+~/Library/MobileDevice/Provisioning Profiles
+```
+
+No local `.provisionprofile` files were found there during this release gate.
+
+## Important Constraint
+
+Do not sign the App Store upload package with `Apple Development: junfeng zhang (9MYR6D5R5U)` or any personal development identity. That would produce the wrong distribution artifact and is not acceptable for ASC submission.
+
+## Completed Anyway
+
+- Source code is frozen at `d76f5d61a7463dee1600d6b40eb85cabfa75a914`.
+- Version/build metadata is `8.3.6 (20260707.1242)`.
+- Local ad-hoc QA app and local rollback DMG were generated and verified.
+
+## Resume Condition
+
+After the company certificates and provisioning profile are installed, regenerate the App Store upload package from the frozen source commit using the company identities, then run PKG preflight:
+
+```bash
+cd /Users/ar/Projects/Taglauncher/03-O/C1.source
+APP_STORE=1 \
+APP_BUILD=20260707.1242 \
+CODESIGN_IDENTITY="3rd Party Mac Developer Application: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)" \
+bash build.sh
+```
+
+Before final App Store signing, the Mac App Store provisioning profile for `CR3J54M8BQ.com.taglauncher.app` must be embedded into the app bundle and the app must then be signed with the company application identity. The current `build.sh` does not automatically embed a provisioning profile, so the resume step must either update the script to do this or perform the profile copy before the final codesign:
+
+```bash
+cp "/path/to/TagLauncher Mac App Store.provisionprofile" \
+  build/TagLauncher.app/Contents/embedded.provisionprofile
+
+codesign --force --deep \
+  --sign "3rd Party Mac Developer Application: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)" \
+  --entitlements Apptag/TagLauncher.entitlements \
+  build/TagLauncher.app
+```
+
+Then create the ASC upload package with the company installer identity:
+
+```bash
+productbuild \
+  --component build/TagLauncher.app /Applications \
+  --sign "3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)" \
+  /Users/ar/Projects/Taglauncher/03-O/K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Upload/TagLauncher-8.3.6-build20260707.1242.pkg
+```
+
+Required preflight after package generation:
+
+```bash
+pkgutil --check-signature /Users/ar/Projects/Taglauncher/03-O/K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Upload/TagLauncher-8.3.6-build20260707.1242.pkg
+pkgutil --expand-full /Users/ar/Projects/Taglauncher/03-O/K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Upload/TagLauncher-8.3.6-build20260707.1242.pkg /Users/ar/Projects/Taglauncher/03-O/K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Preflight/expanded
+codesign --verify --deep --strict --verbose=2 /Users/ar/Projects/Taglauncher/03-O/K3.运营与发布资料/Release/AppStore-8.3.6-20260707.1242/Preflight/expanded/com.taglauncher.app.pkg/Payload/TagLauncher.app
+```
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg"
new file mode 100644
index 0000000..e7f83db
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Archive/TagLauncher-8.3.6-build20260707.1242.dmg"
Binary files differ
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png"
new file mode 100644
index 0000000..4bd6bc8
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png"
Binary files differ
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA_RELEASE_EVIDENCE.md" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA_RELEASE_EVIDENCE.md"
new file mode 100644
index 0000000..271f1c6
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/QA_RELEASE_EVIDENCE.md"
@@ -0,0 +1,61 @@
+# TagLauncher 8.3.6 QA Release Evidence
+
+Date: 2026-07-07
+Build: `8.3.6 (20260707.1242)`
+Source freeze commit: `d76f5d61a7463dee1600d6b40eb85cabfa75a914`
+
+## User-Facing Requirement
+
+The Settings fixed Pro status / guidance row must no longer have an outer rounded rectangle frame.
+
+## Visual Smoke
+
+Evidence screenshot:
+
+- `QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png`
+
+Result:
+
+- PASS: the Settings window opens from the built app.
+- PASS: the About tab shows the fixed Pro status row in the same position.
+- PASS: the row has no outer rounded rectangle background or border.
+- PASS: identity text, unlock button, restore purchase button, tab layout, and app version display remain visible.
+
+## Automated / Static QA
+
+Passed:
+
+```bash
+bash Scripts/pro_feature_gate_qa.sh
+bash Scripts/pro_localization_qa.sh
+bash Scripts/pro_theme_preview_countdown_qa.sh
+bash Scripts/macos14_availability_typecheck_qa.sh
+bash Scripts/pro_custom_hotkeys_qa.sh
+bash Scripts/pro_display_mode_preview_qa.sh
+bash Scripts/pro_custom_container_quota_qa.sh
+bash Scripts/quick_search_launch_contract_qa.sh
+bash Scripts/windowserver_event_safety_qa.sh
+bash Scripts/theme_settings_qa.sh
+bash Scripts/settings_language_title_qa.sh
+bash Scripts/app_ordering_data_qa.sh
+bash Scripts/pro_notes_quota_qa.sh
+bash Scripts/pro_tag_custom_color_qa.sh
+bash Scripts/appgrid_startup_loading_qa.sh
+bash Scripts/quick_search_system_app_qa.sh
+bash Scripts/url_scheme_activation_qa.sh
+bash Scripts/usage_tips_qa.sh
+bash Scripts/tag_editor_mouse_event_qa.sh
+bash Scripts/macos14_build_metadata_qa.sh build/TagLauncher.app
+codesign --verify --deep --strict --verbose=2 build/TagLauncher.app
+hdiutil verify build/TagLauncher.dmg
+```
+
+Non-PASS items:
+
+- `bash Scripts/quick_search_app_name_qa.sh`: script returned `SKIP Sunlogin wrapper app not installed at /Applications/贝锐向日葵被控.app`.
+- `bash Scripts/window_logic_qa.sh`: script returned `FAIL: cliclick is required for window-position click checks.`
+
+## Release Gate Conclusion
+
+- Local QA app / DMG: PASS for the scoped UI change.
+- App Store upload package: BLOCKED by missing company signing materials; see `APP_STORE_UPLOAD_BLOCKER.md`.
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/RELEASE_MANIFEST.md" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/RELEASE_MANIFEST.md"
new file mode 100644
index 0000000..2e55404
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/RELEASE_MANIFEST.md"
@@ -0,0 +1,60 @@
+# TagLauncher 8.3.6 Release Manifest
+
+Date: 2026-07-07
+
+## Version
+
+- Version: `8.3.6`
+- Build: `20260707.1242`
+- Source freeze commit: `d76f5d61a7463dee1600d6b40eb85cabfa75a914`
+- Branch: `codex/slim-migration-taglauncher2`
+- CODEGRAPH: checked and updated for the Settings fixed Pro header visual contract and Pro feature QA coverage.
+- codebase-memory: not applicable for this release gate; current project handoff uses `CODEGRAPH.md` as the maintained engineering map.
+
+## Release Scope
+
+- Removed the outer rounded rectangle background and border from the fixed Pro status / guidance row under the Settings tab bar.
+- Kept all Pro entitlement, purchase, restore, tab placement, and localization behavior unchanged.
+- Fixed two build-gate blockers found during release validation:
+  - Split `ContentView.body` observer chains to avoid Swift compiler type-check timeout.
+  - Removed invalid `AppTransaction.revocationDate` access; `AppTransaction` in the current StoreKit SDK exposes original app purchase metadata but no revocation date.
+
+## Artifacts
+
+- Local QA DMG: `Archive/TagLauncher-8.3.6-build20260707.1242.dmg`
+- Visual QA screenshot: `QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png`
+- Hash file: `SHA256SUMS.txt`
+- App Store upload package: blocked; see `APP_STORE_UPLOAD_BLOCKER.md`
+
+## Build Commands
+
+```bash
+cd /Users/ar/Projects/Taglauncher/03-O/C1.source
+APP_BUILD=20260707.1242 bash build.sh
+bash make_dmg.sh
+```
+
+## Verification Summary
+
+Passed:
+
+- `bash Scripts/pro_feature_gate_qa.sh`
+- `bash Scripts/pro_localization_qa.sh`
+- `bash Scripts/pro_theme_preview_countdown_qa.sh`
+- `bash Scripts/macos14_availability_typecheck_qa.sh`
+- `bash Scripts/macos14_build_metadata_qa.sh build/TagLauncher.app`
+- `codesign --verify --deep --strict --verbose=2 build/TagLauncher.app`
+- `hdiutil verify build/TagLauncher.dmg`
+
+Partial / blocked:
+
+- `bash Scripts/quick_search_app_name_qa.sh`: skipped because the Sunlogin wrapper fixture app is not installed on this Mac.
+- `bash Scripts/window_logic_qa.sh`: blocked because `cliclick` is not installed.
+- App Store `.pkg`: blocked because the company Mac App Store signing identities and provisioning profile are not present locally.
+
+## Hashes
+
+```text
+6b899e1961ac203a777f7d285eaaed0fb14e5c4a4e9cec6500f779cda7a3333e  Archive/TagLauncher-8.3.6-build20260707.1242.dmg
+c49127307de06d4be71536502bfdaece185bd0196a668f74e9c7fb55d60a6f8f  QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png
+```
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt"
new file mode 100644
index 0000000..4c82266
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/SHA256SUMS.txt"
@@ -0,0 +1,2 @@
+6b899e1961ac203a777f7d285eaaed0fb14e5c4a4e9cec6500f779cda7a3333e  Archive/TagLauncher-8.3.6-build20260707.1242.dmg
+c49127307de06d4be71536502bfdaece185bd0196a668f74e9c7fb55d60a6f8f  QA/taglauncher-8.3.6-settings-about-no-pro-header-frame.png
diff --git "a/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Upload/README.md" "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Upload/README.md"
new file mode 100644
index 0000000..77fb42f
--- /dev/null
+++ "b/K3.\350\277\220\350\220\245\344\270\216\345\217\221\345\270\203\350\265\204\346\226\231/Release/AppStore-8.3.6-20260707.1242/Upload/README.md"
@@ -0,0 +1,5 @@
+# Upload
+
+No App Store Connect `.pkg` is present in this directory.
+
+Reason: the required company Mac App Store signing identities and provisioning profile for `Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` are not installed on this Mac. Do not place a package signed with a personal Apple Development identity here.

--
Gitblit v1.9.3