Fleet changelogs · dev.ecs0.net
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

Summary of Changes

  1. Repository Setup:
    • Initialized bare repository git.ecs0.net:git/lib/ECS0ReleaseTools.git on rdmsm4x.
    • Cloned to rdmsm4x:~/dev/lib/ECS0ReleaseTools and rdmbair15m5:~/dev/lib/ECS0ReleaseTools with origin and fleet remotes.
  2. App Intents Metadata Extraction Tool (bin/extract_app_intents_metadata.zsh):
    • Resolves App Intents compilation intermediates (.SwiftFileList, *primary.swiftconstvalues) under .build.
    • Executes Xcode's appintentsmetadataprocessor to compile Metadata.appintents/extract.actionsdata.
    • Enforces apps/CLAUDE.md §2: strictly fails (exit code 1) if Metadata.appintents/extract.actionsdata is missing or 0 bytes, eliminating the family-wide silent failure where apps ship without Apple Intelligence metadata.
  3. 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.).
  4. Release Safety Primitives (bin/release_safety_gates.zsh):
    • Artifact-level verification gates: gate-universal (verifies Universal2 Mach-O architectures using lipo -archs), gate-deployment-target (verifies deployment target version from otool -l headers against maximum allowable OS targets), gate-codesign (verifies valid code signatures and entitlements via codesign -dvvv), and verify-bundle (end-to-end bundle verification).
  5. Window-Scoped Capture (bin/capture_window_screenshot.zsh):
    • Enforces screenshot capture scoped strictly to target window IDs via screencapture -l <CGWindowID>.
    • Strictly forbids -R coordinate-based capture which risks leaking overlapping applications, credentials, or private user data.
    • Provides native Swift window list inspection and resolution via CGWindowListCopyWindowInfo.
  6. 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

Git Hashes & Remotes

Rollback & Undo