Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
76ce624
feat(notifications): add local and remote notification management
CoderGamester Jan 13, 2026
8cdc99a
docs: AGETNS.md and README.md files updated to match the latest proje…
CoderGamester Jan 14, 2026
e10e039
chore: add license meta file
CoderGamester Jan 14, 2026
ffeb579
refactor(gestures): modernize system using EnhancedTouch API
CoderGamester Jan 14, 2026
d72da54
chore: sync Unity-regenerated .meta files
CoderGamester Apr 22, 2026
8086853
docs: add CLAUDE.md wrapper; align README with EnhancedTouch source
CoderGamester Apr 22, 2026
6d8ad44
chore: gitignore .audit-history.md (preventive)
CoderGamester May 4, 2026
fbc57aa
feat: v1.0.0 — Device subsystem, Haptics, audio session, full test suite
CoderGamester May 4, 2026
b0d7eb9
feat(editor): render Mobile Simulator inside the Game/Simulator view
CoderGamester May 11, 2026
e99d943
refactor(editor): per-target simulator routing + UX polish
CoderGamester May 11, 2026
77d188f
Remove standalone Explorer/Simulator windows, tabs, and ConnectivityS…
CoderGamester Jun 8, 2026
3f71456
refactor(editor): consolidate Mobile Services tooling into the Device…
CoderGamester Jun 8, 2026
e3a7a71
feat(editor): add Editor Simulator master switch to Device Simulator …
CoderGamester Jun 9, 2026
f61cff7
test(mobileservices): cover default ctors, builder setters, and notif…
CoderGamester Jun 9, 2026
620dc96
feat(editor): model real OS permission/ATT prompt lifecycle in simulator
CoderGamester Jun 19, 2026
3a4165e
feat(mobileservices): OS-native in-app review + localized MobileServi…
CoderGamester Jun 20, 2026
7deec32
fix(mobileservices): release 1.0.1 — notification persistence and Uni…
CoderGamester Jul 4, 2026
8974ce9
docs: version update
CoderGamester Jul 4, 2026
70ada61
fix: add missing noEngineReferences key
CoderGamester Jul 28, 2026
62b922d
docs: add Tests/ agent guide with shared ADMIT/RCR conventions
CoderGamester Aug 2, 2026
8082937
docs: add UNFALSIFIABLE exemption and per-class verdicts to RCR (shar…
CoderGamester Aug 2, 2026
f7a2e77
docs: add the A3-reject verdict class to the RCR exemption rules
CoderGamester Aug 2, 2026
c31728b
docs: record the first trustworthy coverage baseline (runtime 59.6%)
CoderGamester Aug 2, 2026
2eecf32
docs: add the A6 ENVIRONMENT admission criterion
CoderGamester Aug 2, 2026
77ee07b
test: RCR-backfill 87 mobileservices EditMode tests
CoderGamester Aug 2, 2026
f01f024
test: RCR-backfill 29 mobileservices PlayMode tests
CoderGamester Aug 3, 2026
1abafe2
fix(notifications): forward delivered/expired events instead of snaps…
CoderGamester Aug 3, 2026
c9d2b5c
test: verdict pass - delete 6 A3 tests, keep 1 unproven A5
CoderGamester Aug 3, 2026
0c2a56a
test: record observed RCR for the two event-forwarding tests
CoderGamester Aug 3, 2026
d7b1cc1
docs: record the verified coverage baseline and the OPEN rows the aud…
CoderGamester Aug 3, 2026
9b870e3
test: strengthen seven mobileservices tests and stop inheriting edito…
CoderGamester Aug 4, 2026
c39ee23
test: pin the low-power editor static in BatteryServiceTest, close th…
CoderGamester Aug 4, 2026
4373efb
docs: add CLOSED as a §13 state and require re-derivation to close a row
CoderGamester Aug 4, 2026
ab2a4d9
fix: drop obsolete FindObjectsSortMode overload
CoderGamester Aug 4, 2026
5e2913e
docs+test: Smoke RCR exemption, the three unannotated states, and the…
CoderGamester Aug 4, 2026
426af1e
docs: align XML doc comments with AGENTS.md §6.6
CoderGamester Aug 4, 2026
b133a6c
docs: drop the OverlayController comment, per AGENTS.md §6.6
CoderGamester Aug 4, 2026
67a4be1
docs: document the remaining public surface, per AGENTS.md §6.6
CoderGamester Aug 4, 2026
92fc37d
docs: refine Mobile Services 1.0.0 release changelog
CoderGamester Aug 4, 2026
ffb673e
docs: expand Mobile Services 1.0.0 feature inventory
CoderGamester Aug 4, 2026
0008b5a
ci: add release-preflight check for develop->master PRs
CoderGamester Aug 4, 2026
bd6c308
ci: add release-preflight check for develop->master PRs
CoderGamester Aug 4, 2026
377841e
fix: restore CRLF line endings in CHANGELOG.md
CoderGamester Aug 4, 2026
84c4e18
build: exclude .github/ from the published tarball
CoderGamester Aug 4, 2026
a25754f
ci: add release-preflight check for develop->master PRs
CoderGamester Aug 4, 2026
a0a4ab5
ci: update release-preflight check
CoderGamester Aug 5, 2026
9618a85
ci: update release-preflight check
CoderGamester Aug 5, 2026
94e401f
ci: update release-preflight check
CoderGamester Aug 5, 2026
cb482a4
docs: design sample-local build ownership
CoderGamester Aug 6, 2026
9baae9e
docs: define native build ownership
CoderGamester Aug 8, 2026
84373af
feat: consolidate mobile services for Unity 6
CoderGamester Aug 8, 2026
0613685
feat: centralize native sample build ownership
CoderGamester Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
130 changes: 130 additions & 0 deletions .github/workflows/release-preflight.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Release preflight — required status check for develop -> master PRs.
#
# Installed into each package repo by:
# release.py install-preflight <package>
#
# WHY THIS EXISTS
# These are solo repos: GitHub refuses to let a PR author review their own PR
# (HTTP 422 "Review cannot be requested from pull request author"), so a human
# review gate is unavailable. This gives a real blocking gate instead — the same
# package-local gates the release driver enforces, run before the merge rather
# than after it.
#
# THIS FILE MUST STAY OUT OF THE PUBLISHED TARBALL
# `.github/` IS packed by default — the published googlesheetimporter 0.7.2 asset
# still contains `package/.github/workflows/openai.yml`. Each package therefore
# lists `.github/` in its `.gitignore`, which Unity's packer uses as its
# pack-ignore list; git keeps tracking the file regardless, since .gitignore does
# not untrack existing paths. Measured on a real clone: 434 -> 433 entries,
# `.github` 1 -> 0, `Runtime` unchanged.
#
# Do NOT verify this on a copy with `.git` removed: the packer behaves differently
# without a repo and reports `.github` as excluded when it is not. `G24` also
# surfaces it as an unexpected added file if the ignore line is ever dropped.
#
# WHAT IT DOES NOT CHECK
# Only gates decidable from the package directory plus the base ref, so the check
# needs no token, no submodules and no network: G7 (bare SemVer), G8/G9 (CHANGELOG
# heading matches package.json and is newest+highest), G10 (date sane), G11
# (version advances past master), G15 (the PR touches both files). Remote-state
# gates (G0-G6, G12-G14) and the whole tarball chain (G20-G27) run locally in
# `release.py preflight` / `pack` before the PR is opened.

name: release-preflight

on:
pull_request:
branches: [master]
types: [opened, synchronize, reopened, closed]

permissions:
contents: read

concurrency:
group: release-preflight-${{ github.event.pull_request.number }}
cancel-in-progress: true

jobs:
preflight:
if: github.event.action != 'closed'
runs-on: ubuntu-latest
steps:
# `lfs: true` is load-bearing, not a nicety. The default (false) leaves every
# LFS-tracked file as a ~130-byte pointer stub, which would make G28 fail on
# every PR. With it on, G28 becomes a genuine check that the LFS objects are
# FETCHABLE from the remote — the exact failure that hit uiservice, where the
# working tree held stubs while the published 1.2.1 had real content.
- name: Check out the package
uses: actions/checkout@v7
with:
fetch-depth: 0
lfs: true
persist-credentials: false

# The gate logic is shared rather than vendored into six repos, so there is
# one source of truth. Pinning its full commit keeps an unchanged package PR
# reproducible when Frameworks/develop advances; the installer performs
# intentional snapshot updates across all package repositories.
- name: Check out the release tooling
uses: actions/checkout@v7
with:
repository: CoderGamester/Frameworks
# Immutable tooling snapshot. Update intentionally through
# `release.py install-preflight`, never by following a moving branch.
ref: be8c147f3d12d94a4055d556ffdc0a26e077e5ec
path: .release-tooling
sparse-checkout: .claude/skills/unity-package-release/scripts
persist-credentials: false

- name: Assert the release tooling checkout
run: |
test -f .release-tooling/.claude/skills/unity-package-release/scripts/release.py

- name: Set up Python
uses: actions/setup-python@v7
with:
python-version: "3.12"

- name: Preflight
run: |
python3 .release-tooling/.claude/skills/unity-package-release/scripts/release.py \
preflight-pr --path . --base "origin/${{ github.base_ref }}"

# GITHUB_TOKEN cannot dispatch into another repository. Add a fine-grained
# FRAMEWORKS_DISPATCH_TOKEN secret (Contents: read/write on Frameworks) to each
# package repository to activate this hand-off. A missing token is reported as
# a warning rather than turning an already-merged release PR red.
notify-release:
if: github.event.action == 'closed' && github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Notify the host release workflow
env:
DISPATCH_TOKEN: ${{ secrets.FRAMEWORKS_DISPATCH_TOKEN }}
PACKAGE_REPOSITORY: ${{ github.event.repository.name }}
run: |
if [ -z "$DISPATCH_TOKEN" ]; then
echo "::warning::FRAMEWORKS_DISPATCH_TOKEN is not configured; skipping host release notification."
exit 0
fi

case "$PACKAGE_REPOSITORY" in
Unity-GameData) package=gamedata ;;
Unity-GoogleSheet-Importer) package=googlesheetimporter ;;
Unity-MobileServices) package=mobileservices ;;
Unity-Services) package=services ;;
Statechart-HFSM) package=statechart ;;
Unity-UiService) package=uiservice ;;
*)
echo "::error::Unknown package repository: $PACKAGE_REPOSITORY"
exit 1
;;
esac

payload=$(printf '{"event_type":"upm-release","client_payload":{"package":"%s","phase":"status"}}' "$package")
curl --fail-with-body --location --request POST \
--url https://api.github.com/repos/CoderGamester/Frameworks/dispatches \
--header "Accept: application/vnd.github+json" \
--header "Authorization: Bearer $DISPATCH_TOKEN" \
--header "X-GitHub-Api-Version: 2022-11-28" \
--data "$payload"
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,9 @@ crashlytics-build.properties




# Tests audit history (unity-tests-audit skill -- local developer state, never committed)
.audit-history.md

# CI config: tracked in git, excluded from the published UPM tarball
.github/
Loading
Loading