From 01e0f00bab9aa332ce50b2299b3dfb4893b42155 Mon Sep 17 00:00:00 2001 From: sdolbec Date: Tue, 27 Oct 2026 09:17:33 -0400 Subject: [PATCH] Freeze duplicate app copies: ownership table, FROZEN.md markers, CI guard One writable source of truth per app: the SDK/apps copies in this repo become frozen migration snapshots pointing at techmore/mseries-sdk-apps. Adds mseries/REPO-OWNERSHIP.md, FROZEN.md in 28 dirs, a path-filtered "Frozen paths guard" workflow (escape hatch: label allow-frozen-edit), and AGENTS.md/README pointers. No deletions, renames or moves. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/frozen-paths.yml | 34 ++++++++++ AGENTS.md | 5 ++ README.md | 4 ++ mseries/REPO-OWNERSHIP.md | 73 ++++++++++++++++++++++ mseries/battery/FROZEN.md | 12 ++++ mseries/ci/check_frozen.py | 61 ++++++++++++++++++ mseries/ci/frozen-paths.txt | 46 ++++++++++++++ mseries/ci/test_check_frozen.py | 21 +++++++ mseries/diskspace-app/FROZEN.md | 12 ++++ mseries/fleet-shepherd/FROZEN.md | 12 ++++ mseries/messages-mcp/FROZEN.md | 12 ++++ mseries/phone-setup/FROZEN.md | 12 ++++ mseries/polybagger-print-manager/FROZEN.md | 12 ++++ mseries/sdk-bench/FROZEN.md | 12 ++++ mseries/sdk-status-host/FROZEN.md | 12 ++++ mseries/sdk-tests/FROZEN.md | 12 ++++ mseries/updates-app/FROZEN.md | 12 ++++ rust/claude-pantheon-rs/FROZEN.md | 12 ++++ rust/granite-smoke/FROZEN.md | 12 ++++ rust/msdk-gtk/FROZEN.md | 12 ++++ rust/msdk/FROZEN.md | 12 ++++ rust/mseries-ai/FROZEN.md | 12 ++++ rust/mseries-apple-dev/FROZEN.md | 12 ++++ rust/mseries-broker/FROZEN.md | 12 ++++ rust/mseries-diskspace/FROZEN.md | 12 ++++ rust/mseries-dock/FROZEN.md | 12 ++++ rust/mseries-greeter/FROZEN.md | 12 ++++ rust/mseries-messages/FROZEN.md | 12 ++++ rust/mseries-pantheon-kit/FROZEN.md | 12 ++++ rust/mseries-power/FROZEN.md | 12 ++++ rust/mseries-reply/FROZEN.md | 12 ++++ rust/mseries-signal-import/FROZEN.md | 12 ++++ rust/mseries-system-monitor/FROZEN.md | 12 ++++ rust/mseries-update-core/FROZEN.md | 12 ++++ rust/mseries-updates/FROZEN.md | 12 ++++ 35 files changed, 580 insertions(+) create mode 100644 .github/workflows/frozen-paths.yml create mode 100644 mseries/REPO-OWNERSHIP.md create mode 100644 mseries/battery/FROZEN.md create mode 100644 mseries/ci/check_frozen.py create mode 100644 mseries/ci/frozen-paths.txt create mode 100644 mseries/ci/test_check_frozen.py create mode 100644 mseries/diskspace-app/FROZEN.md create mode 100644 mseries/fleet-shepherd/FROZEN.md create mode 100644 mseries/messages-mcp/FROZEN.md create mode 100644 mseries/phone-setup/FROZEN.md create mode 100644 mseries/polybagger-print-manager/FROZEN.md create mode 100644 mseries/sdk-bench/FROZEN.md create mode 100644 mseries/sdk-status-host/FROZEN.md create mode 100644 mseries/sdk-tests/FROZEN.md create mode 100644 mseries/updates-app/FROZEN.md create mode 100644 rust/claude-pantheon-rs/FROZEN.md create mode 100644 rust/granite-smoke/FROZEN.md create mode 100644 rust/msdk-gtk/FROZEN.md create mode 100644 rust/msdk/FROZEN.md create mode 100644 rust/mseries-ai/FROZEN.md create mode 100644 rust/mseries-apple-dev/FROZEN.md create mode 100644 rust/mseries-broker/FROZEN.md create mode 100644 rust/mseries-diskspace/FROZEN.md create mode 100644 rust/mseries-dock/FROZEN.md create mode 100644 rust/mseries-greeter/FROZEN.md create mode 100644 rust/mseries-messages/FROZEN.md create mode 100644 rust/mseries-pantheon-kit/FROZEN.md create mode 100644 rust/mseries-power/FROZEN.md create mode 100644 rust/mseries-reply/FROZEN.md create mode 100644 rust/mseries-signal-import/FROZEN.md create mode 100644 rust/mseries-system-monitor/FROZEN.md create mode 100644 rust/mseries-update-core/FROZEN.md create mode 100644 rust/mseries-updates/FROZEN.md diff --git a/.github/workflows/frozen-paths.yml b/.github/workflows/frozen-paths.yml new file mode 100644 index 000000000..8e9b48ecd --- /dev/null +++ b/.github/workflows/frozen-paths.yml @@ -0,0 +1,34 @@ +name: Frozen paths guard + +on: + pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] + paths: + - 'rust/**' + - 'mseries/**' + - '.github/workflows/frozen-paths.yml' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + guard: + name: Reject edits to frozen app copies + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v7 + with: + fetch-depth: 0 + - name: Guard tests + run: python3 -B -m unittest discover -s mseries/ci -p 'test_check_frozen.py' -v + - name: Check changed paths against mseries/ci/frozen-paths.txt + env: + BASE: ${{ github.event.pull_request.base.sha }} + HEAD: ${{ github.event.pull_request.head.sha }} + ALLOW: ${{ contains(github.event.pull_request.labels.*.name, 'allow-frozen-edit') && '--allow' || '' }} + run: python3 mseries/ci/check_frozen.py $ALLOW "$BASE" "$HEAD" diff --git a/AGENTS.md b/AGENTS.md index c07b4a759..d4856097a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,6 +24,11 @@ > reload or recovery from a confirmed panel defect, and state when code is installed but not yet loaded. Record the pin, > what you re-verified and what is still unverified in `mseries/OS9-HANDOFF.md`. +- **One source of truth per app:** SDK crates and apps (`rust/msdk*`, `rust/mseries-*` except the compositor, + `mseries/sdk-*`, `battery`, `phone-setup`, `polybagger-print-manager`, `messages-mcp` and more) are edited in + [techmore/mseries-sdk-apps](https://github.com/techmore/mseries-sdk-apps). The copies here are frozen snapshots + (`FROZEN.md` in each dir); CI rejects PR edits unless labeled `allow-frozen-edit`. Table and full list: + [mseries/REPO-OWNERSHIP.md](mseries/REPO-OWNERSHIP.md). - Keep `mseries/OS9-HANDOFF.md`, `mseries/ROADMAP.md`, and relevant public status pages current as work lands. Record concrete changes, commands, verification results, blockers, and the next task. diff --git a/README.md b/README.md index ca50a0c73..bfa3f6010 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # elementary OS for Apple Silicon (M-series) +> **Source of truth for apps:** the Rust Pantheon SDK and first-party apps are edited in +> [techmore/mseries-sdk-apps](https://github.com/techmore/mseries-sdk-apps); their copies here are frozen +> snapshots guarded by CI. See [mseries/REPO-OWNERSHIP.md](mseries/REPO-OWNERSHIP.md). + elementary OS 9 on an M1/M2-family Mac, alongside macOS: Asahi Alarm as the boot layer, elementary (Pantheon) as the system you use, installed with one command, full-disk encryption included. Modelled on [omarchy-mac](https://github.com/omarchy-mac/omarchy-mac), diff --git a/mseries/REPO-OWNERSHIP.md b/mseries/REPO-OWNERSHIP.md new file mode 100644 index 000000000..8dece4306 --- /dev/null +++ b/mseries/REPO-OWNERSHIP.md @@ -0,0 +1,73 @@ +# Repository ownership (phase 1: one writable source per app) + +Status 2026-10-27. Implements the first step of [REPOSITORY-TOPOLOGY.md](REPOSITORY-TOPOLOGY.md): +apps now live in [`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) +(compared at `origin/main` `40d4445c4414e83da5893500528e088ec599af30`). The OS repo still +holds older duplicate copies. Those are now **frozen migration snapshots**: nothing is +deleted, moved or archived, but PRs that edit them fail the `Frozen paths guard` CI check +(label `allow-frozen-edit` overrides). The guarded list is +[`ci/frozen-paths.txt`](ci/frozen-paths.txt); each frozen directory has a `FROZEN.md`. +Branch rules: [BRANCHING.md](BRANCHING.md). + +Method: real trees compared with `diff -rq` between `git archive origin/main` of the SDK repo +and this checkout (`dev` at `7478f2fe`). Phase 2 (kernel split) is owned by another session; +Kernel rows are only tagged. + +## Apps already owned by the SDK repo (frozen here) + +| Path in OS repo | SDK repo state | +| --- | --- | +| `rust/claude-pantheon-rs` | **Newer** in SDK (plugin registry; 6 files only in SDK, 7 changed) | +| `rust/mseries-messages` | **Newer** in SDK (Signal channel, `signal.rs`; 5 files changed) | +| `rust/mseries-pantheon-kit` | **Newer** in SDK (diff timeline, `timeline.rs`; `lib.rs` changed) | +| `mseries/battery` | One test file differs (`test_battery_enhance.py`); reconcile in SDK | +| `mseries/diskspace-app` | Identical except `test.sh` | +| `mseries/phone-setup` | Identical (SDK tree has a stray `__pycache__`; remove there) | +| `rust/granite-smoke`, `msdk`, `msdk-gtk`, `mseries-ai`, `mseries-apple-dev`, `mseries-broker`, `mseries-diskspace`, `mseries-dock`, `mseries-greeter`, `mseries-power`, `mseries-reply`, `mseries-signal-import`, `mseries-system-monitor`, `mseries-update-core`, `mseries-updates` | Identical | +| `mseries/sdk-tests`, `sdk-bench`, `sdk-status-host`, `messages-mcp`, `polybagger-print-manager`, `updates-app`, `fleet-shepherd` | Identical | +| Docs: `APP-BUILDING-GUIDE.md`, `DOCK-SDK-SPEC.md`, `RUST-PANTHEON-SDK.md`, `RUST-PANTHEON-CLIENTS.md`, `SDK-*.md` (13 files) | Identical (guarded by path; no banner added) | + +Caveats: `mseries-update-core` still bundles the OS-owned root helper with the app-facing +contract, and `mseries-power` backs the OS power policy. Both are frozen per the plan; use the +label for helper/policy changes until the contract split in REPOSITORY-TOPOLOGY.md lands. +Also identical but not frozen (decide in later phases): `BATTERY-ETA.md`, `BATTERY-PROFILER.md`, +`MESSAGES-PARITY.md`, `MESSAGING-STATUS.md`, `install-battery*.sh`, `install-phone-setup.sh`, +`install-messaging-bluez.sh`. + +## SDK-only (nothing to freeze here) + +`rust/mseries-image-studio`, `mseries/image-studio`, `rust/torrential`. In flight: Signal Pantheon as +`mseries/signal-pantheon` (SDK PR #14). SDK `rust/Cargo.toml` lists `mseries-image-studio` and +drops `pantheon-compositor`; the OS workspace keeps the compositor, so the two `Cargo.toml` / +`Cargo.lock` files are intentionally independent and not frozen. + +## Exists only in the OS repo: candidates to import (not imported now) + +| Path | Note | +| --- | --- | +| `mseries/claude-pantheon-native` | C/Meson client; SDK has the Rust `claude-pantheon-rs` only | +| `mseries/torrential-native`, `mseries/TORRENTIAL-PORT.md` | SDK imported `rust/torrential` with history (#15); confirm what native/port material is still needed | +| `mseries/signal-wingpanel`, `signal-launcher.sh`, `install-signal*.sh`, `SIGNAL-PANTHEON-DESIGN.md` | Signal Pantheon moves with SDK PR #14; deferred per MESSAGING-STATUS.md | +| `mseries/smart-reply`, `SMART-REPLY-DESIGN.md`, `install-smart-reply.sh` | Pairs with `rust/mseries-reply` | +| `mseries/tether`, `TETHER-CONTINUITY.md`, `omdrop*`, `orchard*`, `horizon-rdp`, `opencode-desktop` | Standalone apps; classification needs an owner decision | + +## Classification of the rest of `rust/` and `mseries/` + +| Class | Paths | +| --- | --- | +| OS (stays) | `rust/pantheon-compositor` (SDK keeps only the vendored protocol XML; its drift check treats this repo as source of truth), `pantheon-rust-compositor`, `gala-*`, `window-*`, `dock-*`, `docked-lid`, `quick-settings`, `panel*`, `wingpanel-tests`, `*-wingpanel` and `install-*wingpanel*` (clockright, codexbar, repobar, share-eyes, t3, troubleshooter), `codexbar*`, `repobar*`, `theme`, `desktop-notifications`, `dark-mode`, `display-*`, `brightness`, `keyboard-backlight`, `audio`, `airplay`, `power`, `touchid-settings`, `icloud-passwords`, `image-actions`, `screenshot-shelf`, `work-mode`, `ui-scale`, `netspeed`, `update`, `releases`, `release`, `debs`, `packages.arm64`, `patches`, `customizations`, `minimal-system`, `enhance*`, `user-enhance.sh`, `post-install.sh`, `validate.sh`, `ci`, remaining `install-*.sh`, `lib-*.sh`, `test-*`, `machine-lab`, `vms`, `muvm-source.sh`, `modrun.py`, `maintenance`, `procedures`, `tools` | +| Kernel (phase 2, other session) | `aurora`, `aurora-sep`, `aurora-touchid*`, `AURORA-SECOND-BOOT.md`, `boot`, `fairydust`, `hardware`, `lid-trace`, `KERNEL-*.md`, `check-kernel-config.py`, `test-kernel-config.py`, `install-initramfs-crossbar.sh`, `install-boot-isolation.sh`, `USB-C-DOCK-DP-ALT-MODE.md`, `FIRMWARE-WIFI.md`, `upstream`, `upstreams`, `upstream-audits`, `UPSTREAM-PINS.md` | +| Hub / docs | All other top-level `*.md` (ROADMAP, OS9-HANDOFF, BRANCHING, REPOSITORY-TOPOLOGY, PORT-MAP, audits, designs, runbooks), `receipts`, `benchmarks`, `local-ai`, `dictation`, `docs/` and the Pages site | + +The Kernel and OS lists are grouped by name and judgment, not by exhaustive file audit; items +that fall between classes should be settled in phase 2 or later. + +## Where to edit + +| You are changing | Edit in | +| --- | --- | +| Anything listed under "already owned by the SDK repo" | `techmore/mseries-sdk-apps` | +| Compositor, panel, installers, packaging, OS services | this repo | +| Kernel/boot | this repo until phase 2 lands | + +Cutover revision recorded in every `FROZEN.md`: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30`. diff --git a/mseries/battery/FROZEN.md b/mseries/battery/FROZEN.md new file mode 100644 index 000000000..2ab890df9 --- /dev/null +++ b/mseries/battery/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/battery`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: one test file (test_battery_enhance.py) differs; reconcile in the SDK repo +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/ci/check_frozen.py b/mseries/ci/check_frozen.py new file mode 100644 index 000000000..47788634a --- /dev/null +++ b/mseries/ci/check_frozen.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +"""Fail when a change touches a path whose source of truth moved to mseries-sdk-apps. + +Usage: check_frozen.py [--allow] BASE HEAD +Paths come from mseries/ci/frozen-paths.txt. FROZEN.md files are exempt. +--allow (the `allow-frozen-edit` label) reports the hits but exits 0. +""" +from pathlib import Path +import subprocess +import sys + +ROOT = Path(__file__).resolve().parents[2] +MANIFEST = ROOT / 'mseries/ci/frozen-paths.txt' + + +def frozen_paths(): + lines = (line.strip() for line in MANIFEST.read_text().splitlines()) + return [line.rstrip('/') for line in lines if line and not line.startswith('#')] + + +def is_frozen(path, frozen): + if path.rsplit('/', 1)[-1] == 'FROZEN.md': + return False + return any(path == f or path.startswith(f + '/') for f in frozen) + + +def hits(changed, frozen): + return sorted(p for p in changed if is_frozen(p, frozen)) + + +def changed_files(base, head): + # --no-renames lists both sides of a rename, so a move out of a frozen dir is caught. + out = subprocess.run( + ['git', 'diff', '--name-only', '--no-renames', f'{base}...{head}'], + cwd=ROOT, check=True, capture_output=True, text=True).stdout + return out.splitlines() + + +def main(argv): + allow = '--allow' in argv + args = [a for a in argv if a != '--allow'] + if len(args) != 2: + print(__doc__, file=sys.stderr) + return 2 + found = hits(changed_files(*args), frozen_paths()) + if not found: + print('No frozen paths modified.') + return 0 + print('Frozen paths modified (source of truth: techmore/mseries-sdk-apps):') + for path in found: + print(f' {path}') + if allow: + print('Label allow-frozen-edit is set; allowing.') + return 0 + print('::error::Edit these in techmore/mseries-sdk-apps, or add the ' + '`allow-frozen-edit` label to this PR. See mseries/REPO-OWNERSHIP.md.') + return 1 + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:])) diff --git a/mseries/ci/frozen-paths.txt b/mseries/ci/frozen-paths.txt new file mode 100644 index 000000000..333a84001 --- /dev/null +++ b/mseries/ci/frozen-paths.txt @@ -0,0 +1,46 @@ +# Paths whose writable source of truth is techmore/mseries-sdk-apps. +# One repo-relative path per line; a directory covers everything below it. +# See mseries/REPO-OWNERSHIP.md. FROZEN.md files are exempt from the guard. +rust/granite-smoke +rust/claude-pantheon-rs +rust/msdk +rust/msdk-gtk +rust/mseries-ai +rust/mseries-apple-dev +rust/mseries-broker +rust/mseries-diskspace +rust/mseries-dock +rust/mseries-greeter +rust/mseries-messages +rust/mseries-pantheon-kit +rust/mseries-power +rust/mseries-reply +rust/mseries-signal-import +rust/mseries-system-monitor +rust/mseries-update-core +rust/mseries-updates +mseries/sdk-tests +mseries/sdk-bench +mseries/sdk-status-host +mseries/phone-setup +mseries/battery +mseries/polybagger-print-manager +mseries/messages-mcp +mseries/diskspace-app +mseries/updates-app +mseries/fleet-shepherd +mseries/APP-BUILDING-GUIDE.md +mseries/DOCK-SDK-SPEC.md +mseries/RUST-PANTHEON-SDK.md +mseries/RUST-PANTHEON-CLIENTS.md +mseries/SDK-AGENT-SURFACE.md +mseries/SDK-AUDIT-2026-10-23.md +mseries/SDK-COMPATIBILITY.md +mseries/SDK-COMPLETION.md +mseries/SDK-CORNERS.md +mseries/SDK-DESIGN-LANGUAGE.md +mseries/SDK-GOLDEN-PATH.md +mseries/SDK-INTROSPECTION-AND-STREAMING.md +mseries/SDK-PARITY.md +mseries/SDK-RUNTIME-CONTRACT.md +mseries/SDK-USAGE-DATA.md diff --git a/mseries/ci/test_check_frozen.py b/mseries/ci/test_check_frozen.py new file mode 100644 index 000000000..633eb11d2 --- /dev/null +++ b/mseries/ci/test_check_frozen.py @@ -0,0 +1,21 @@ +import unittest + +import check_frozen as cf + +FROZEN = ['rust/msdk', 'mseries/SDK-PARITY.md'] + + +class FrozenTests(unittest.TestCase): + def test_hits_and_exemptions(self): + changed = ['rust/msdk/src/lib.rs', 'rust/msdk-gtk/a.rs', 'rust/msdk/FROZEN.md', + 'mseries/SDK-PARITY.md', 'mseries/ROADMAP.md'] + self.assertEqual(cf.hits(changed, FROZEN), + ['mseries/SDK-PARITY.md', 'rust/msdk/src/lib.rs']) + + def test_manifest_paths_exist(self): + for path in cf.frozen_paths(): + self.assertTrue((cf.ROOT / path).exists(), path) + + +if __name__ == '__main__': + unittest.main() diff --git a/mseries/diskspace-app/FROZEN.md b/mseries/diskspace-app/FROZEN.md new file mode 100644 index 000000000..21c3dcd8c --- /dev/null +++ b/mseries/diskspace-app/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/diskspace-app`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical except test.sh +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/fleet-shepherd/FROZEN.md b/mseries/fleet-shepherd/FROZEN.md new file mode 100644 index 000000000..9cc8feb8a --- /dev/null +++ b/mseries/fleet-shepherd/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/fleet-shepherd`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/messages-mcp/FROZEN.md b/mseries/messages-mcp/FROZEN.md new file mode 100644 index 000000000..1563d6c11 --- /dev/null +++ b/mseries/messages-mcp/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/messages-mcp`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/phone-setup/FROZEN.md b/mseries/phone-setup/FROZEN.md new file mode 100644 index 000000000..7a4db543c --- /dev/null +++ b/mseries/phone-setup/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/phone-setup`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical (SDK tree only adds a stray __pycache__) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/polybagger-print-manager/FROZEN.md b/mseries/polybagger-print-manager/FROZEN.md new file mode 100644 index 000000000..e63cec4bf --- /dev/null +++ b/mseries/polybagger-print-manager/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/polybagger-print-manager`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/sdk-bench/FROZEN.md b/mseries/sdk-bench/FROZEN.md new file mode 100644 index 000000000..42dbd18ab --- /dev/null +++ b/mseries/sdk-bench/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/sdk-bench`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/sdk-status-host/FROZEN.md b/mseries/sdk-status-host/FROZEN.md new file mode 100644 index 000000000..b44f70dd2 --- /dev/null +++ b/mseries/sdk-status-host/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/sdk-status-host`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/sdk-tests/FROZEN.md b/mseries/sdk-tests/FROZEN.md new file mode 100644 index 000000000..bba3db1da --- /dev/null +++ b/mseries/sdk-tests/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/sdk-tests`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/mseries/updates-app/FROZEN.md b/mseries/updates-app/FROZEN.md new file mode 100644 index 000000000..2b7136e8d --- /dev/null +++ b/mseries/updates-app/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `mseries/updates-app`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/claude-pantheon-rs/FROZEN.md b/rust/claude-pantheon-rs/FROZEN.md new file mode 100644 index 000000000..f979a6d5c --- /dev/null +++ b/rust/claude-pantheon-rs/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/claude-pantheon-rs`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: SDK is newer (plugin registry; 6 files only in SDK, 7 changed) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/granite-smoke/FROZEN.md b/rust/granite-smoke/FROZEN.md new file mode 100644 index 000000000..f5b3a35f3 --- /dev/null +++ b/rust/granite-smoke/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/granite-smoke`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/msdk-gtk/FROZEN.md b/rust/msdk-gtk/FROZEN.md new file mode 100644 index 000000000..1e0273758 --- /dev/null +++ b/rust/msdk-gtk/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/msdk-gtk`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/msdk/FROZEN.md b/rust/msdk/FROZEN.md new file mode 100644 index 000000000..b87ea76e8 --- /dev/null +++ b/rust/msdk/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/msdk`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-ai/FROZEN.md b/rust/mseries-ai/FROZEN.md new file mode 100644 index 000000000..f039e0a58 --- /dev/null +++ b/rust/mseries-ai/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-ai`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-apple-dev/FROZEN.md b/rust/mseries-apple-dev/FROZEN.md new file mode 100644 index 000000000..09a13bbee --- /dev/null +++ b/rust/mseries-apple-dev/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-apple-dev`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-broker/FROZEN.md b/rust/mseries-broker/FROZEN.md new file mode 100644 index 000000000..f0c5bba37 --- /dev/null +++ b/rust/mseries-broker/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-broker`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-diskspace/FROZEN.md b/rust/mseries-diskspace/FROZEN.md new file mode 100644 index 000000000..71903cccc --- /dev/null +++ b/rust/mseries-diskspace/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-diskspace`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-dock/FROZEN.md b/rust/mseries-dock/FROZEN.md new file mode 100644 index 000000000..ecced0450 --- /dev/null +++ b/rust/mseries-dock/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-dock`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-greeter/FROZEN.md b/rust/mseries-greeter/FROZEN.md new file mode 100644 index 000000000..b60f928aa --- /dev/null +++ b/rust/mseries-greeter/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-greeter`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-messages/FROZEN.md b/rust/mseries-messages/FROZEN.md new file mode 100644 index 000000000..05780acad --- /dev/null +++ b/rust/mseries-messages/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-messages`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: SDK is newer (Signal channel, signal.rs; 5 files changed) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-pantheon-kit/FROZEN.md b/rust/mseries-pantheon-kit/FROZEN.md new file mode 100644 index 000000000..4c9f63c13 --- /dev/null +++ b/rust/mseries-pantheon-kit/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-pantheon-kit`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: SDK is newer (diff timeline, timeline.rs; lib.rs changed) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-power/FROZEN.md b/rust/mseries-power/FROZEN.md new file mode 100644 index 000000000..8a795797f --- /dev/null +++ b/rust/mseries-power/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-power`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy (power policy stays OS-owned in behavior; coordinate contract changes) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-reply/FROZEN.md b/rust/mseries-reply/FROZEN.md new file mode 100644 index 000000000..952f39256 --- /dev/null +++ b/rust/mseries-reply/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-reply`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-signal-import/FROZEN.md b/rust/mseries-signal-import/FROZEN.md new file mode 100644 index 000000000..33ef68255 --- /dev/null +++ b/rust/mseries-signal-import/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-signal-import`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-system-monitor/FROZEN.md b/rust/mseries-system-monitor/FROZEN.md new file mode 100644 index 000000000..d7b882647 --- /dev/null +++ b/rust/mseries-system-monitor/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-system-monitor`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-update-core/FROZEN.md b/rust/mseries-update-core/FROZEN.md new file mode 100644 index 000000000..0210e6aeb --- /dev/null +++ b/rust/mseries-update-core/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-update-core`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy (the root helper is OS-owned; contract/helper split is still pending, so use the label for helper changes) +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md). diff --git a/rust/mseries-updates/FROZEN.md b/rust/mseries-updates/FROZEN.md new file mode 100644 index 000000000..25ebd397e --- /dev/null +++ b/rust/mseries-updates/FROZEN.md @@ -0,0 +1,12 @@ +# FROZEN: edit in mseries-sdk-apps + +The writable source of truth for this directory is +[`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) at `rust/mseries-updates`. +This copy is a frozen migration snapshot kept for rollback and reference +(see [REPOSITORY-TOPOLOGY.md](/mseries/REPOSITORY-TOPOLOGY.md), staged transition step 5). + +- Cutover revision: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30` (origin/main, 2026-10-27) +- State at cutover: identical to the SDK copy +- Make changes in `mseries-sdk-apps`, not here. A PR that edits this directory fails the + `Frozen paths guard` check unless it carries the `allow-frozen-edit` label. +- Nothing here has been deleted or moved. Ownership table: [REPO-OWNERSHIP.md](/mseries/REPO-OWNERSHIP.md).