Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/release-notes/v0.1.1-beta.16.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Shibumi v0.1.1-beta.16.5

## Highlights

- **Native Omarchy bar sections preserved.** All six native sections, native center placement, and explicit widget moves survive bar/profile and CLI deactivate/activate round trips, and the host's fixed-edge contract is supplied. Tray-drawer entries are retained and disclosed; use the stock Omarchy bar for their drawer presentation. Omarchy 4.0.5 is admitted as the stable reference; the forward compatibility reference moves to Omarchy `246f33a2`.
- **Plugin catalog isolates malformed rows.** A malformed third-party manifest no longer disables the whole catalog or all widget actions. Affected rows keep their native information, catalog failures carry diagnostics in Control Center, status, and Health, and development-directory symlinks resolve through the canonical metadata path. Retained layouts survive CLI round trips.
- **Media animation at a fraction of the cost.** One bounded 40 ms step clock per Media surface drives marquee, Muse rotation, and pulse, and pause easing is preserved. In 480 private renderer sessions against Beta 16.4, playing-state process CPU fell by about 19% in the Default style and about 51% in the Full style (median of paired five-second windows, lower in every pair). Paused and focus behaviour are unchanged within measurement resolution.
- **Cava 1.0 smoothing restored.** The spectrum keeps its earlier dynamics on cava 1.0 (`noise_reduction = 35`, shared by widget and panel), compared on real music against the previous cava 0.10.7 setting.
- **Lifecycle and CLI diagnostics.** Stock picker actions recover when routing is absent, uninstall reports leftovers, plugin-specific admission and menu-parse errors are named, shell handoffs are bounded with an owned-process fallback, and network traffic is requested only while its presentation is visible.

Source installation remains the supported route; OPR packaging is planned, not AUR publication.

## Install and update

For a new source installation, use the published release tag:

```bash
sudo pacman -S --needed python jq curl networkmanager power-profiles-daemon upower xdg-utils libnotify wl-clipboard ttf-material-symbols-variable ttf-jetbrains-mono-nerd-basic noto-fonts-cjk adwaita-fonts
git clone https://github.com/HANCORE-linux/Shibumi-Shell.git
cd Shibumi-Shell
git checkout v0.1.1-beta.16.5
./scripts/shibumi-suite install --yes
```

Update an admitted Beta.16.4 installation from its existing checkout:

```bash
git fetch --tags
git checkout v0.1.1-beta.16.5
./scripts/shibumi-suite update --dry-run
./scripts/shibumi-suite update --yes
./scripts/shibumi-suite status
```

The exact Beta.16.4 tag (`64b9369`) and its main integration merge (`aec6c0a`) are admitted predecessors. Older supported identities retain their exact revision and payload checks; an arbitrary checkout with the same version is not admitted. Do not install or update from `main`, or delete lifecycle state to bypass admission. See the [installation and recovery guide](https://github.com/HANCORE-linux/Shibumi-Shell/blob/v0.1.1-beta.16.5/docs/install.md). AUR publication remains deferred.

## Validation

The Media figures above come from a software-rendered fixture with a synthetic spectrum; they describe the tested renderer scenarios, not GPU smoothness or real-cava CPU. Live validation ran on Omarchy 4.0.4 / Quickshell 0.3.1 and on Omarchy 4.0.6 / Quickshell 0.3.2, including the real-music smoothing comparison. The third validation host covered an earlier candidate only.

## Known points

- The Default-style marquee commits two frames per scroll step while text scrolls (about 250 commits for 125 steps in five seconds). There is no visible effect and the cost stays well below Beta 16.4; a layer-free marquee is planned for 0.2.0.
- Notch can still oscillate at DPR 1.6.
- Notification focus remains limited when the sender does not provide a supported application identity.
- If Memory Sweep loses its service owner, the authorization dialog may disappear without a result; avoid restarting Sweep during an owner change.
- Before downgrading: Beta 15.4 and older cannot read V1 `order.parked` and reset V1 order, roles, and splits even with `--keep-settings`. Keep complete settings and recovery backups; see the installation guide.
5 changes: 4 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,13 @@ SHIBUMI_INSTALLED_SOURCE_OMARCHY_PATH=/tmp/omarchy-installed-source-v4.0.4 \
./tests/omarchy-installed-source-parity-contract-regression.sh
SHIBUMI_AGENTS_OMARCHY_PATH=/tmp/omarchy-v4.0.0 \
./tests/omarchy-agents-contract-regression.sh
SHIBUMI_FORWARD_COMPAT_OMARCHY_PATH=/tmp/omarchy-forward-compat-4c1b4cb3 \
SHIBUMI_FORWARD_COMPAT_OMARCHY_PATH=/tmp/omarchy-forward-compat-246f33a2 \
./tests/omarchy-forward-compat-contract-regression.sh
```

The forward reference is exactly `246f33a2fef66411c990860d88e0823ae83987fc`;
its admission does not transfer fixture evidence to a live or differently packaged host.

Live acceptance must record what was actually exercised and must not claim unavailable hardware, credentials, multi-monitor, nested-compositor, or clean-chroot evidence as passed. Physical hardware gates require raw setup details, relevant command output, screenshots or video, and sanitized logs; fixtures cannot replace them.

## Change delivery approvals
Expand Down
8 changes: 8 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,14 @@ the saved preference.
Normal uninstall removes canonical and legacy settings. `--keep-settings`
retains the complete canonical State entry, including unknown fields and deep
settings, dormant while its plugin payload is absent. Reinstall reuses it.
Managed CLI deactivation also retains the Shibumi layout in that entry's
`shibumiRetainedLayout` sibling, shared with `uninstall --keep-settings`.
Activation consumes it before shell start, preserving placement/order/entry
settings except foreign widgets no longer placed in the freshly read native
layout. Suite widgets intentionally removed by deactivation are restored;
deferred tray data and `--keep-layout` policy are unchanged. The continuity
manager's two-owner layout/center-anchor profiles remain a separate journaled
mechanism; this fix does not migrate or merge those profile stores.

## Design Rules

Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## [0.1.1-beta.16.5] - 2026-10-22

### Highlights

- **Native Omarchy bar sections preserved.** All six sections, native center placement, and explicit widget moves survive bar/profile and CLI round trips; the host's fixed-edge contract is supplied. Tray-drawer entries are retained and disclosed; use the stock Omarchy bar for their drawer presentation.
- **Resilient plugin catalog.** Malformed third-party manifests no longer disable the whole catalog or all widget actions. Affected rows retain native information, failures carry diagnostics, development-directory symlinks resolve canonically, and retained layouts survive CLI round trips.
- **Lower-cost Media animation.** One bounded 40 ms step clock per surface drives marquee, Muse rotation, and pulse while preserving pause easing.
- **Cava 1.0 smoothing restored.** Widget and panel share `noise_reduction = 35`, compared on real music against the previous cava 0.10.7 setting.
- **Lifecycle and CLI diagnostics.** Picker routing recovers, uninstall reports leftovers, admission and menu-parse errors are named, shell handoffs are bounded with an owned-process fallback, and network traffic is requested only while visible.

Omarchy 4.0.5 is admitted as the stable reference; the forward compatibility reference moves to `246f33a2`. Source installation remains the supported route; OPR packaging is planned, not AUR publication.

### Validation

In 480 private renderer sessions against Beta 16.4, playing-state process CPU fell by about **19% for Default** and **51% for Full** (median of paired five-second windows, lower in every pair). The figures come from a software-rendered fixture with a synthetic spectrum, not GPU smoothness or real-cava CPU. Paused and focus behaviour are unchanged within measurement resolution. Live validation ran on Omarchy 4.0.4 / Quickshell 0.3.1 and Omarchy 4.0.6 / Quickshell 0.3.2, including the real-music smoothing comparison; the third host covered an earlier candidate only.

### Known points

- The Default-style marquee commits two frames per scroll step while text scrolls (about 250 commits for 125 steps in five seconds). There is no visible effect and the cost stays well below Beta 16.4; a layer-free marquee is planned for 0.2.0.
- Notch can still oscillate at DPR 1.6.
- Notification focus remains limited when the sender does not provide a supported application identity.
- If Memory Sweep loses its service owner, the authorization dialog may disappear without a result; avoid restarting Sweep during an owner change.
- Beta 15.4 and older cannot read V1 `order.parked` and reset V1 order, roles, and splits even with `--keep-settings`. Keep complete settings and recovery backups before downgrading.

## [0.1.1-beta.16.4] - 2026-10-14

### Highlights
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ process.</sub></p>
[Documentation](docs/README.md) ·
[Release status](docs/release-readiness.md)

`0.1.1-beta.16.4` is the target GitHub prerelease. See the
[release notes](.github/release-notes/v0.1.1-beta.16.4.md) for changes. Before using an older version, read the
`0.1.1-beta.16.5` is the target GitHub prerelease. See the
[release notes](.github/release-notes/v0.1.1-beta.16.5.md) for changes. Before using an older version, read the
[backup and downgrade warning](docs/install.md#backup-before-downgrade).
The current pinned host contracts use Omarchy and Omarchy Settings `4.0.4-1`
(source tag `v4.0.4`, revision `c668141e`) with Quickshell `0.3.1-1`; the
Expand Down Expand Up @@ -68,22 +68,23 @@ for the latest validated host versions.
sudo pacman -S --needed python jq curl networkmanager power-profiles-daemon upower xdg-utils libnotify wl-clipboard ttf-material-symbols-variable ttf-jetbrains-mono-nerd-basic noto-fonts-cjk adwaita-fonts
git clone https://github.com/HANCORE-linux/Shibumi-Shell.git
cd Shibumi-Shell
git checkout v0.1.1-beta.16.4
git checkout v0.1.1-beta.16.5
./scripts/shibumi-suite install --yes
```

Run the Pacman line yourself; it installs the runtime commands and fonts and
is the only step that needs `sudo`. The Shibumi suite never calls Pacman: it
runs as the desktop user and writes only user-scoped plugin state.

Update an admitted Beta.16.3 source installation to Beta.16.4.
Exact predecessor identities, not a version range, govern admission; see the
[update guide](docs/install.md#update).
Update an admitted Beta.16.4 source installation to Beta.16.5.
The exact Beta.16.4 tag (`64b9369`) and its main integration merge (`aec6c0a`)
are admitted predecessors. Exact identities, not a version range, govern
admission; see the [update guide](docs/install.md#update).

```sh
cd Shibumi-Shell
git fetch --tags
git checkout v0.1.1-beta.16.4
git checkout v0.1.1-beta.16.5
./scripts/shibumi-suite update --dry-run
./scripts/shibumi-suite update --yes
./scripts/shibumi-suite status
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.1-beta.16.4
0.1.1-beta.16.5
2 changes: 1 addition & 1 deletion contracts/backend-boundary-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@
{"value":"omarchy-powerprofiles-list","count":1,"category":"omarchyBackend","owner":"hancore.shibumi.power-state","capability":"power-profile","backend":"omarchy.power","removalStep":"Step 6","reason":"Remove the Omarchy power-profile helper after the public API is authoritative."},
{"value":"omarchy-restart-shell","count":1,"category":"omarchyAction","owner":"quattro.host","capability":"bar-host-routing"},
{"value":"omarchy-screenrecord-filename","count":1,"category":"omarchyBackend","owner":"hancore.shibumi.status","capability":"recording-voxtype","backend":"omarchy.recording","removalStep":"Step 8","reason":"Move recording state from the host file contract to a typed Shibumi status interface."},
{"value":"omarchy-shell","count":6,"category":"hostIntegration","owner":"quattro.host","capability":"bar-host-routing"},
{"value":"omarchy-shell","count":4,"category":"hostIntegration","owner":"quattro.host","capability":"bar-host-routing"},
{"value":"omarchy-system-lock","count":1,"category":"omarchyAction","owner":"quattro.host","capability":"idle-policy"},
{"value":"omarchy-system-reboot","count":1,"category":"omarchyAction","owner":"quattro.host","capability":"bar-host-routing"},
{"value":"omarchy-system-shutdown","count":1,"category":"omarchyAction","owner":"quattro.host","capability":"bar-host-routing"},
Expand Down
41 changes: 41 additions & 0 deletions contracts/baselines/omarchy-forward-compat-246f33a2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"schemaVersion": 2,
"id": "forward-compat-246f33a2",
"profile": "forward-compat",
"repository": "https://github.com/basecamp/omarchy",
"sourceRevision": "246f33a2fef66411c990860d88e0823ae83987fc",
"provenance": {
"kind": "git",
"revision": "246f33a2fef66411c990860d88e0823ae83987fc"
},
"quickshellPackage": {
"name": "quickshell",
"version": "0.3.1-1"
},
"subtrees": [
{
"path": "shell",
"entryPolicy": "regular-files",
"entryCount": 280,
"inventorySha256": "7b74cb58d74ccf15d4854192eb93adcd0843888d22442b8f701a9f3d17da4999",
"structureSha256": "5d6e82d9a6c943061594fc07b8f1d2027642723edd4ef551629c0ca6879a4a97",
"contentSha256": "5e89a2f3aa010b045dc74124e512bdbaa7c9aa6b26d7e0c93f1a01df7faf20de"
},
{
"path": "bin",
"entryPolicy": "regular-files",
"entryCount": 530,
"inventorySha256": "4aba7916dbbcb5af3ffb12a3a41d5b36a26fe1b5d311bd9cac8f28327c29f0a6",
"structureSha256": "87ded0646ac4b8cd142adf298939c2214f8687e2ed46520d9f7ca8f52bbaf183",
"contentSha256": "8230ea725f12838c10ea0413e7cc37053cb63bd9fb8ff6e87b982ff112e08992"
},
{
"path": "config",
"entryPolicy": "regular-files",
"entryCount": 81,
"inventorySha256": "64d4f49e87d6df1ca98e2cc338fe426697d3cb8ef00e0aeb76145caab6a09d9f",
"structureSha256": "eb517680186410f36423ccd319b69fdaedd8910749e52e34e48cf2d7dc7dce58",
"contentSha256": "ae0e2b426d39a417b1d65812b3c74ecbc9302c9baf82791d3548d17254211904"
}
]
}
41 changes: 41 additions & 0 deletions contracts/baselines/omarchy-installed-source-parity-v4.0.5.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"schemaVersion": 2,
"id": "installed-source-parity-v4.0.5",
"profile": "installed-source-parity",
"repository": "https://github.com/basecamp/omarchy",
"sourceRevision": "94a8fbc2d67eec5673c7f16b8c5e8a9c8452ffdc",
"provenance": {
"kind": "git",
"revision": "94a8fbc2d67eec5673c7f16b8c5e8a9c8452ffdc"
},
"quickshellPackage": {
"name": "quickshell",
"version": "0.3.1-1"
},
"subtrees": [
{
"path": "shell",
"entryPolicy": "regular-files",
"entryCount": 222,
"inventorySha256": "be094886de039e6569034aebe40777521b799df2f4d4cf006e90655cadf0fb63",
"structureSha256": "beb84ff10f06fe0ae77660bf28f235fffeed89094de9e07b76cabd80b0e6dc66",
"contentSha256": "ab2a5ea1ade0c4d90b39e10ef061d20929defcaee1bba755adaeab41aa56daef"
},
{
"path": "bin",
"entryPolicy": "regular-files",
"entryCount": 449,
"inventorySha256": "2ebcf2fe4f323438858510c6cbfed017aa1646d3728d2a2686f8257b55b4d730",
"structureSha256": "107b94159d2f7ceabbf72f57be22522ebf5a080145d9b1cc59bc463299bfa8b0",
"contentSha256": "ac53e850b1cc9b0467ef96f905651841282aaded842c9bb856af3fb01e693254"
},
{
"path": "config",
"entryPolicy": "regular-files",
"entryCount": 75,
"inventorySha256": "33995e20ae22ffef7a5710c859a5f5577429aae2ecc0976d1b7978838d4277fa",
"structureSha256": "0d2f5855e27b9bada33e17730c99a99fa6d5e4bd971cef722c0ec7d50c4e467f",
"contentSha256": "adb203e2024c62c397b77fd9b30627f41675f0fd6e1525ba3634061088cf036a"
}
]
}
63 changes: 63 additions & 0 deletions contracts/lifecycle-predecessors-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1003,9 +1003,72 @@
],
"settingsStorageVersion": 1,
"sourceRevisions": [
"64b9369559b0de2ffdc1faf1c563326c8173035c",
"aec6c0a3266d71f6a5f9cfa17562d8bec0ce9b17",
"package:0.1.1-beta.16.4"
],
"suiteVersion": "0.1.1-beta.16.4"
},
{
"id": "public-beta.16.5",
"payloadDigest": "a090b82858c554f02d44030755f779b2827ae51e55bca750b7163d5b330472dd",
"pluginDigests": {
"hancore.shibumi.bar": "4fbf8b05f754888ca694181835f7b5f7f4ec0ca6e0ef87e24075f00b8dfb2c93",
"hancore.shibumi.state": "eb06588ec365763f2eb207e133b8614e9fcd5f2d2d14598700df9ff91d03a272",
"hancore.shibumi.control-center": "078c0cc95304da956b2487953dd6703425517875178fd890cbb2a384b662e521",
"hancore.shibumi.reactor": "034024058bfc164b43689ce868ab55a501b9b27fec1e1a7377d15c607f8a8a4e",
"hancore.shibumi.telemetry": "dbb2fc5cad623e27c25bc54998a0e3fab1eef7c0fd9e5fe957ae84cf6656cbbf",
"hancore.shibumi.power-state": "eec80b1275ad4cef63660ea8487d93fcdafcbc4f90dc0f53b4f6a8ce68a795ae",
"hancore.shibumi.workspaces": "2b7c665af4b6fb5b5709506c025853c828ae9ee15465b09eabc067ac935b07d9",
"hancore.shibumi.update-center": "4fcbf87694c0eb6a9e29968ada4cfb41d2e62f533e0004f2d0193ef437a2098d",
"hancore.shibumi.status": "4f1f4f5c37a4a21feb03871661ba8b2c20ef30feaf95d9bf08f55c02432aab65",
"hancore.shibumi.memory": "e45fbe5e731deef60649e10fcca2a8cd46126522b5affc8d70cc3451f12f4884",
"hancore.shibumi.cpu": "e80b98005b0ca1ee138bfbffae88408a8041cf0e2be20c22447ba1a89ac2781c",
"hancore.shibumi.audio": "ce37cb6379109a7a676219c087bf5c4aa2e3c7677a26d87efcf4d98cd3765f1f",
"hancore.shibumi.ai": "4d524454454e780ee0451b7852bc46b09fe03386d6333cd4518ceb5a2a8f19cb",
"hancore.shibumi.center": "41d066b47852d46d7a8dcc95d4a33a70c5533fd344f8cca72dc7787c512c4fa0",
"hancore.shibumi.media": "e2e5a12b492443a836ce2e5b6c352e68be0d7779f8bc462d89ea30d792aaf928",
"hancore.shibumi.quick-access": "d7216bd8a0c27c60cd4eee5eb435ea19953d09f77cdddad625cd5016388c8eed",
"hancore.shibumi.network": "5a160456da8b0f820be9401b8b82a772e972ae585cf74656032eae6f7fa8809b",
"hancore.shibumi.battery": "30fea24997abc41d2c872c7e57605bd69fdba11673f92a5419137634b1a412c0",
"hancore.shibumi.brightness": "c80758354909b827826d118305442bd9baf14f8759f19a0283278a8fef586a0c",
"hancore.shibumi.power-profile": "45c6e54a508e8d08893998b64476e5b86a84bf0af6a7887e3eda901332ac09dc",
"hancore.shibumi.bluetooth": "87afd5e85b9746b83ee5a808277a05cb4255a0f612ae75c13c93ce06eaff620a",
"hancore.shibumi.temperature": "511e3e65bbe89592153bd2f2418946b146327655f2cf9384decaae023835a0b9",
"hancore.shibumi.gpu": "079058e91a30478fa85a42893138c7b315679aabd367df225cd16723d59ad5c5",
"hancore.shibumi.storage": "e60caae691648bfd9bf0b41164d644dfdfa904fec8da43ae59f4145c1d99d6d5"
},
"pluginIds": [
"hancore.shibumi.bar",
"hancore.shibumi.state",
"hancore.shibumi.control-center",
"hancore.shibumi.reactor",
"hancore.shibumi.telemetry",
"hancore.shibumi.power-state",
"hancore.shibumi.workspaces",
"hancore.shibumi.update-center",
"hancore.shibumi.status",
"hancore.shibumi.memory",
"hancore.shibumi.cpu",
"hancore.shibumi.audio",
"hancore.shibumi.ai",
"hancore.shibumi.center",
"hancore.shibumi.media",
"hancore.shibumi.quick-access",
"hancore.shibumi.network",
"hancore.shibumi.battery",
"hancore.shibumi.brightness",
"hancore.shibumi.power-profile",
"hancore.shibumi.bluetooth",
"hancore.shibumi.temperature",
"hancore.shibumi.gpu",
"hancore.shibumi.storage"
],
"settingsStorageVersion": 1,
"sourceRevisions": [
"package:0.1.1-beta.16.5"
],
"suiteVersion": "0.1.1-beta.16.5"
}
]
}
2 changes: 1 addition & 1 deletion contracts/plugin-suite-v1.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"schemaVersion": 1,
"suiteId": "hancore.shibumi",
"suiteVersion": "0.1.1-beta.16.4",
"suiteVersion": "0.1.1-beta.16.5",
"settingsStorageVersion": 1,
"hostContract": "contracts/host-facade-v1.json",
"retiredPlugins": [
Expand Down
Loading
Loading