rdmbair15m5-changelog-20260922-0437-task-20260904-11-ecs0releasetools-p1
rdmbair15m5-changelog-20260922-0437-task-20260904-11-ecs0releasetools-p1
Created and verified the new non-Swift release engineering toolkit at ~/dev/lib/ECS0ReleaseTools (bare repo git.ecs0.net:git/lib/ECS0ReleaseTools.git) extracted from RTTy's release machinery, providing App Intents metadata processing with empty-output failure gates, HTML5 docs/status validator, release safety gates (Universal2/minos/codesign), and window-scoped screenshot capture without modifying RTTy binaries.
Scope & Repositories Touched
rdmsm4x:~/dev/lib/ECS0ReleaseTools(new canonical repo)rdmbair15m5:~/dev/lib/ECS0ReleaseTools(local clone)git.ecs0.net:git/lib/ECS0ReleaseTools.git(canonical bare git repository)rdmsm4x:~/dev/issues(ticket tracking for TASK-20260904-11)
Summary of Changes
- Repository Setup:
- Initialized bare repository
git.ecs0.net:git/lib/ECS0ReleaseTools.gitonrdmsm4x. - Cloned to
rdmsm4x:~/dev/lib/ECS0ReleaseToolsandrdmbair15m5:~/dev/lib/ECS0ReleaseToolswithoriginandfleetremotes.
- Initialized bare repository
- App Intents Metadata Extraction Tool
(
bin/extract_app_intents_metadata.zsh):- Resolves App Intents compilation intermediates
(
.SwiftFileList,*primary.swiftconstvalues) under.build. - Executes Xcode's
appintentsmetadataprocessorto compileMetadata.appintents/extract.actionsdata. - Enforces apps/CLAUDE.md §2: strictly fails (exit code 1) if
Metadata.appintents/extract.actionsdatais missing or 0 bytes, eliminating the family-wide silent failure where apps ship without Apple Intelligence metadata.
- Resolves App Intents compilation intermediates
(
- Docs / Status Dashboard Validator
(
bin/validate_docs.py):- Enforces apps/CLAUDE.md §10 guidelines for generated HTML5 status dashboards.
- Validates that dashboard files are 100% self-contained (forbids
external
<link rel="stylesheet">,<script src="...">, or remote fonts). - Enforces required section headings (
Current boundary,Milestone status,Release readiness) and canonical status vocabulary (SHIPPED,RELEASE_CANDIDATE,IN_DEVELOPMENT,PROTOTYPE, etc.).
- Release Safety Primitives
(
bin/release_safety_gates.zsh):- Artifact-level verification gates:
gate-universal(verifies Universal2 Mach-O architectures usinglipo -archs),gate-deployment-target(verifies deployment target version fromotool -lheaders against maximum allowable OS targets),gate-codesign(verifies valid code signatures and entitlements viacodesign -dvvv), andverify-bundle(end-to-end bundle verification).
- Artifact-level verification gates:
- Window-Scoped Capture
(
bin/capture_window_screenshot.zsh):- Enforces screenshot capture scoped strictly to target window IDs via
screencapture -l <CGWindowID>. - Strictly forbids
-Rcoordinate-based capture which risks leaking overlapping applications, credentials, or private user data. - Provides native Swift window list inspection and resolution via
CGWindowListCopyWindowInfo.
- Enforces screenshot capture scoped strictly to target window IDs via
- Verification Suite
(
test/test_release_tools.zsh):- Automated 17-assertion verification suite covering all 4 tools, argument parsing, error exits, empty-output gates, dashboard validation rules, and Universal2 checking.
Verification Evidence
test/test_release_tools.zshexecuted onrdmbair15m5: 17 tests passed, 0 failed.test/test_release_tools.zshexecuted onrdmsm4x: 17 tests passed, 0 failed.- Working trees on both
rdmbair15m5andrdmsm4xare clean. - Zero modifications made to
apps/RTTyor its build artifacts.
Git Hashes & Remotes
ECS0ReleaseTools: commit681ff3eon branchmain.- Remotes:
origin(git.ecs0.net:git/lib/ECS0ReleaseTools.git),fleet(git.ecs0.net:git/lib/ECS0ReleaseTools.git).
Rollback & Undo
- Delete or archive
~/dev/lib/ECS0ReleaseToolsonrdmsm4xandrdmbair15m5. - Remove bare repository
git.ecs0.net:git/lib/ECS0ReleaseTools.gitif desired.