|
| 1 | +# Repository ownership (phase 1: one writable source per app) |
| 2 | + |
| 3 | +Status 2026-10-27. Implements the first step of [REPOSITORY-TOPOLOGY.md](REPOSITORY-TOPOLOGY.md): |
| 4 | +apps now live in [`techmore/mseries-sdk-apps`](https://github.com/techmore/mseries-sdk-apps) |
| 5 | +(compared at `origin/main` `40d4445c4414e83da5893500528e088ec599af30`). The OS repo still |
| 6 | +holds older duplicate copies. Those are now **frozen migration snapshots**: nothing is |
| 7 | +deleted, moved or archived, but PRs that edit them fail the `Frozen paths guard` CI check |
| 8 | +(label `allow-frozen-edit` overrides). The guarded list is |
| 9 | +[`ci/frozen-paths.txt`](ci/frozen-paths.txt); each frozen directory has a `FROZEN.md`. |
| 10 | +Branch rules: [BRANCHING.md](BRANCHING.md). |
| 11 | + |
| 12 | +Method: real trees compared with `diff -rq` between `git archive origin/main` of the SDK repo |
| 13 | +and this checkout (`dev` at `7478f2fe`). Phase 2 (kernel split) is owned by another session; |
| 14 | +Kernel rows are only tagged. |
| 15 | + |
| 16 | +## Apps already owned by the SDK repo (frozen here) |
| 17 | + |
| 18 | +| Path in OS repo | SDK repo state | |
| 19 | +| --- | --- | |
| 20 | +| `rust/claude-pantheon-rs` | **Newer** in SDK (plugin registry; 6 files only in SDK, 7 changed) | |
| 21 | +| `rust/mseries-messages` | **Newer** in SDK (Signal channel, `signal.rs`; 5 files changed) | |
| 22 | +| `rust/mseries-pantheon-kit` | **Newer** in SDK (diff timeline, `timeline.rs`; `lib.rs` changed) | |
| 23 | +| `mseries/battery` | One test file differs (`test_battery_enhance.py`); reconcile in SDK | |
| 24 | +| `mseries/diskspace-app` | Identical except `test.sh` | |
| 25 | +| `mseries/phone-setup` | Identical (SDK tree has a stray `__pycache__`; remove there) | |
| 26 | +| `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 | |
| 27 | +| `mseries/sdk-tests`, `sdk-bench`, `sdk-status-host`, `messages-mcp`, `polybagger-print-manager`, `updates-app`, `fleet-shepherd` | Identical | |
| 28 | +| 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) | |
| 29 | + |
| 30 | +Caveats: `mseries-update-core` still bundles the OS-owned root helper with the app-facing |
| 31 | +contract, and `mseries-power` backs the OS power policy. Both are frozen per the plan; use the |
| 32 | +label for helper/policy changes until the contract split in REPOSITORY-TOPOLOGY.md lands. |
| 33 | +Also identical but not frozen (decide in later phases): `BATTERY-ETA.md`, `BATTERY-PROFILER.md`, |
| 34 | +`MESSAGES-PARITY.md`, `MESSAGING-STATUS.md`, `install-battery*.sh`, `install-phone-setup.sh`, |
| 35 | +`install-messaging-bluez.sh`. |
| 36 | + |
| 37 | +## SDK-only (nothing to freeze here) |
| 38 | + |
| 39 | +`rust/mseries-image-studio`, `mseries/image-studio`, `rust/torrential`. In flight: Signal Pantheon as |
| 40 | +`mseries/signal-pantheon` (SDK PR #14). SDK `rust/Cargo.toml` lists `mseries-image-studio` and |
| 41 | +drops `pantheon-compositor`; the OS workspace keeps the compositor, so the two `Cargo.toml` / |
| 42 | +`Cargo.lock` files are intentionally independent and not frozen. |
| 43 | + |
| 44 | +## Exists only in the OS repo: candidates to import (not imported now) |
| 45 | + |
| 46 | +| Path | Note | |
| 47 | +| --- | --- | |
| 48 | +| `mseries/claude-pantheon-native` | C/Meson client; SDK has the Rust `claude-pantheon-rs` only | |
| 49 | +| `mseries/torrential-native`, `mseries/TORRENTIAL-PORT.md` | SDK imported `rust/torrential` with history (#15); confirm what native/port material is still needed | |
| 50 | +| `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 | |
| 51 | +| `mseries/smart-reply`, `SMART-REPLY-DESIGN.md`, `install-smart-reply.sh` | Pairs with `rust/mseries-reply` | |
| 52 | +| `mseries/tether`, `TETHER-CONTINUITY.md`, `omdrop*`, `orchard*`, `horizon-rdp`, `opencode-desktop` | Standalone apps; classification needs an owner decision | |
| 53 | + |
| 54 | +## Classification of the rest of `rust/` and `mseries/` |
| 55 | + |
| 56 | +| Class | Paths | |
| 57 | +| --- | --- | |
| 58 | +| 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` | |
| 59 | +| 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` | |
| 60 | +| 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 | |
| 61 | + |
| 62 | +The Kernel and OS lists are grouped by name and judgment, not by exhaustive file audit; items |
| 63 | +that fall between classes should be settled in phase 2 or later. |
| 64 | + |
| 65 | +## Where to edit |
| 66 | + |
| 67 | +| You are changing | Edit in | |
| 68 | +| --- | --- | |
| 69 | +| Anything listed under "already owned by the SDK repo" | `techmore/mseries-sdk-apps` | |
| 70 | +| Compositor, panel, installers, packaging, OS services | this repo | |
| 71 | +| Kernel/boot | this repo until phase 2 lands | |
| 72 | + |
| 73 | +Cutover revision recorded in every `FROZEN.md`: `mseries-sdk-apps@40d4445c4414e83da5893500528e088ec599af30`. |
0 commit comments