Skip to content

Main-release foundation: identity hygiene, governance/support docs, runtime tracking - #81

Merged
frankea merged 2 commits into
mainfrom
chore/mainline-foundation
Jun 8, 2026
Merged

Main-release foundation: identity hygiene, governance/support docs, runtime tracking#81
frankea merged 2 commits into
mainfrom
chore/mainline-foundation

Conversation

@frankea

@frankea frankea commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Why

Now that the v1.0 milestone closed the upstream issue backlog, the next goal is making this fork the project people trust as the ongoing Whisky. A review flagged the two structural risks that actually archived the original — letting the bundled Wine runtime silently go stale, and a single-maintainer bus factor — as the things still unaddressed. This is the low-risk first pass at both, plus identity cleanup.

What's in here

Identity hygiene

  • Migrate 19 internal Logger subsystems and NotificationCenter names off the archived com.isaacmarovitz.Whisky namespace onto com.franke.Whisky. Each notification name is a single-source Notification.Name constant referenced symbolically, so posters and observers stay matched.
  • Repoint two in-app diagnostic "report here" URLs (WhiskyWineSetupDiagnostics, WinePrefixDiagnostics) from the read-only upstream to the fork's issue tracker.
  • Left the whisky-app/whisky#NNN code comments untouched — correct historical provenance.

Sustainability & intake docs

  • docs/GOVERNANCE.md — honest single-maintainer continuity stance.
  • docs/SUPPORT.md — where to file, what to expect, fork-vs-archived disambiguation.
  • docs/DEPENDENCIES.md — pinned Wine / DXVK / D3DMetal / DXMT runtime components, sources, and tracking cadence (incl. why DXVK 1.10.3 is correct rather than stale).

Runtime currency

  • .github/workflows/RuntimeTrack.yml — weekly poll that opens/updates a tracking issue when a bundled runtime component falls behind upstream. Triggered only by schedule/workflow_dispatch; the one external value (upstream release tag) flows through shell variables, never ${{ }} interpolation.
  • docs/ReleaseWorkflow.md — replaced the "Wine build is out of scope" line with a reproducible runtime-assembly procedure.
  • Bug-report template now confirms the reporter is on this fork, not the archived original.

Verification

  • xcodebuild -scheme Whisky -configuration Debug build → BUILD SUCCEEDED
  • swift test --package-path WhiskyKit → passing
  • swiftformat --lint → clean (pre-commit hook also passed)
  • grep -rn com.isaacmarovitz.Whisky / Whisky-App/Whisky/issues in Whisky/ + WhiskyKit/ → 0
  • Workflow + issue-template YAML validated

Not in this PR (follow-up passes)

High-CPU pipe-spin fix (upstream PR #1374 + #1305), DXMT graphics backend, in-app bottle migration wizard, app-target coverage CI job, localization dot-key cleanup.

…me tracking)

Identity hygiene: migrate 19 internal Logger subsystems and NotificationCenter
names off the archived com.isaacmarovitz.Whisky namespace onto com.franke.Whisky
(notification names are single-source constants, so posters/observers stay
matched), and repoint two in-app diagnostic report URLs to the fork's issue
tracker instead of the read-only upstream.

Sustainability/intake docs: add docs/GOVERNANCE.md (honest single-maintainer
continuity stance), docs/SUPPORT.md (where to file and what to expect), and
docs/DEPENDENCIES.md (pinned Wine/DXVK/D3DMetal/DXMT runtime components, their
upstream sources, and the tracking cadence).

Runtime currency: add the RuntimeTrack workflow that opens an issue when a
bundled runtime component falls behind upstream, and replace the 'Wine build is
out of scope' line in ReleaseWorkflow.md with a reproducible assembly procedure.

The bug-report template now confirms the reporter is running this fork rather
than the archived original that the default Homebrew cask installs.
Review follow-ups:
- CHANGELOG linked .planning/DEPENDENCIES.md; the file is at docs/DEPENDENCIES.md.
- RuntimeTrack.yml dropped 'gh issue create --label runtime' (the label may not exist, which aborts the step under set -euo pipefail), and latest_tag() now distinguishes an API error from 'no releases' so a transient failure no longer files a spurious drift issue.
- DEPENDENCIES.md no longer claims D3DMetal/GPTK is auto-polled (it has no GitHub release feed) — it's documented as manually tracked.
@frankea
frankea merged commit 44811c5 into main Jun 8, 2026
8 of 9 checks passed
@frankea
frankea deleted the chore/mainline-foundation branch June 8, 2026 20:12
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