distribution: align Material source ownership

This commit is contained in:
aphrody-dev committed 2026-10-13 20:17:57 +02:00
1 parent 3fb464e7ae
commit 93d500888b
5 files changed
+73 -17

No files matched your search

+14
View File
@@ -1,5 +1,19 @@
# Project decisions and session evidence
## Material source and checkout alignment — 2026-10-13
- Advanced Bun OS's Material export pin from `1e65a503` to the current owner
revision `e858361d`. The canonical M3 package is `393d3970`; both its nested
and top-level theme references resolve to the same `aphrody-m3-os-themes`
commit `27b36bd3`. The source lock now records 84 mounts, 77 unique
repository/revision pairs and 75 gitlinks.
- `runtimeCheckout()` now prefers the workspace path when a stale configured
alias resolves to that same physical checkout; a distinct explicit checkout
still wins. The full Windows plan resolves `C:\src\bun` and Material at
`e858361d`.
- The distribution plan validated all 84 source entries. Native Bun typecheck
passed on 91 files, lint and format passed. No tests or builds were run.
## Shared quality owner, 2026-10-13
- Bun Libraries commit 89731c4 aligns its check/lint/format runner with the
+9
View File
@@ -12,6 +12,15 @@
- [x] Configure shared Cargo build and install destinations and ignore rules.
- [x] Preserve first-party attribution and imported licenses/notices.
## Material source ownership follow-up — 2026-10-13
- [x] Advance the exported Material pin to the current `os` owner revision and
synchronize both M3 references to the single `aphrody-m3-os-themes` owner.
- [x] Resolve equivalent stale machine aliases to the selected workspace Bun
checkout while preserving explicit per-build checkout configuration.
- [x] Validate the source graph through the distribution plan and run native
Bun typecheck, lint and format gates.
## Integrated Craft fonts and shared quality — 2026-10-13
- [x] Integrate `craft-fonts` and its licensed assets into the Bun OS Cargo workspace; preserve the source repository and publish its `os` integration commit `f1bfd5fd75f24619cad085230c7290f17ee7821e`.
+19 -10
View File
@@ -25,15 +25,15 @@ libm3 and WASM adapter; it retains its web package submodules. Linux, WSL,
WSLg, the WSL kernel, COSMIC and official APT remain distinct sources with
their own histories and licenses.
The final source lock contains **83 mounts, 77 repository/revision pairs and
74 gitlinks across nine roots**. The original four-root audit had 78 mounts
and 71 pairs. Different revisions of libcosmic/iced/icons remain separate
mounts; deduplication does not collapse version-specific topology.
The source lock now contains **84 mounts, 77 repository/revision pairs and
75 gitlinks across nine roots**. The initial consolidated lock had 83 mounts,
77 pairs and 74 gitlinks. Different revisions of libcosmic/iced/icons remain
separate mounts; deduplication does not collapse version-specific topology.
| Root | Locked revision |
| --- | --- |
| Bun | c209b95eb0dcc964745f4684f127abb83cbe2697 |
| Material/os | 1e65a503420e4a8962b8ceaa18819eedbc280454 |
| Material/os | e858361dfd2597b067eea56d471ff4caab7442f8 |
| COSMIC epoch | cfa498958dc8aeac73aa911cbd318c01e47ac957 |
| libcosmic/os | 7f715bc5d2d383a070fd8c760aa52c5627df96b6 |
| Linux aphrody-bun | 47f637c546bf4bb274c7149815ed66d748e4f325 |
@@ -42,6 +42,14 @@ mounts; deduplication does not collapse version-specific topology.
| WSL kernel aphrody-wsl-6.18 | e5043002ed6f0b0eb17a0fb9efafa794045853ed |
| APT main | 745fc126218c7cb3df48b22bbc7c7098fa2f7966 |
The follow-up pin advances Material to its current owner revision. Its M3
package is `393d397037dace7a13eb2bee29e43a3a67d176f8`; the top-level and nested
M3 theme references both resolve to `aphrody-labs/aphrody-m3-os-themes` at
`27b36bd34253da5010ec2855403852ba6e97d6e6`. The Bun OS plan validates all 84
locked mounts. Its Windows runtime build path now resolves through the selected
workspace checkout (`C:\\src\\bun`) when the machine alias points to the same
physical repository; explicit per-build checkout configuration remains first.
The APT GitHub mirror used initially was archived. The owner fork was then
fast-forwarded from official live Salsa main, normally pushed and checked by
remote ref. That Git source is distinct from Ubuntu's authenticated apt 3.2.0
@@ -89,9 +97,10 @@ References: [source lock](../sources.lock.json),
4.62 s. The independent no_std libm3 gate passed in 0.47 s. Complete metadata
resolves 217 packages and one local token 1.4.4 owner; the earlier filtered
graph had 197 packages. No unit tests or displayed GUI were run.
7. Final Material/os consolidation **1e65a503420e4a8962b8ceaa18819eedbc280454**
was normally pushed and independently verified by remote ref. The OS lock
now pins it. It contains the 79-source-hash native consolidation receipt.
7. Material/os consolidation **1e65a503420e4a8962b8ceaa18819eedbc280454**
was normally pushed and independently verified by remote ref. It contains
the 79-source-hash native consolidation receipt. The source lock has since
advanced to `e858361dfd2597b067eea56d471ff4caab7442f8`.
The public scalar WASM remains the exact earlier ce47e503 artifact; no fresh
scalar artifact from 1e65a503 is claimed.
8. Three unqualified Aphrody consumer manifest changes were reverted exactly.
@@ -214,8 +223,8 @@ Gzip and bounded Zstandard use runtime APIs. XZ/bzip2 require an explicitly
selected native 7-Zip executable, including the actual APT .tar.xz inspection.
That external decoder remains part of the source-inspection dependency contract.
The final build uses the current 1e65a503 Material source lock and app catalog;
its native version, source/DLL conversions and WinGet validation passed.
The qualified APT build used the then-current 1e65a503 Material source lock and
app catalog; its native version, source/DLL conversions and WinGet validation passed.
It supersedes the earlier 994dd5f2 artifact. Conditional R2 publication created
one content-addressed object. Public HTTPS retrieval returned HTTP 200,
171469824 bytes and the exact SHA256, with an immutable one-year cache policy.
+19 -5
View File
@@ -83,7 +83,7 @@
{
"id": "material",
"repository": "aphrody-labs/material",
"revision": "1e65a503420e4a8962b8ceaa18819eedbc280454",
"revision": "e858361dfd2597b067eea56d471ff4caab7442f8",
"mount": "sources/material",
"gitlinks": [
{
@@ -114,7 +114,7 @@
{
"path": "packages/m3",
"repository": "aphrody-labs/aphrody-m3",
"revision": "b6e01a8df4da20314757c5505b224f553c68483d"
"revision": "393d397037dace7a13eb2bee29e43a3a67d176f8"
},
{
"path": "packages/m3-ai",
@@ -204,7 +204,7 @@
{
"path": "packages/m3-os-themes",
"repository": "aphrody-labs/aphrody-m3-os-themes",
"revision": "a218bd6db5327603e503d46ebe1ee6804959c351"
"revision": "27b36bd34253da5010ec2855403852ba6e97d6e6"
},
{
"path": "packages/m3-primitives",
@@ -272,7 +272,7 @@
{
"id": "material/packages/m3",
"repository": "aphrody-labs/aphrody-m3",
"revision": "b6e01a8df4da20314757c5505b224f553c68483d",
"revision": "393d397037dace7a13eb2bee29e43a3a67d176f8",
"mount": "sources/material/packages/m3",
"parent": "material",
"submodulePath": "packages/m3",
@@ -296,9 +296,23 @@
"path": "forks/material-web",
"repository": "aphrody-labs/material-web",
"revision": "a06811ee5dad1a670d99e5faf14cdf7082a70a10"
},
{
"path": "packages/m3-os-themes",
"repository": "aphrody-labs/aphrody-m3-os-themes",
"revision": "27b36bd34253da5010ec2855403852ba6e97d6e6"
}
]
},
{
"id": "material/packages/m3/packages/m3-os-themes",
"repository": "aphrody-labs/aphrody-m3-os-themes",
"revision": "27b36bd34253da5010ec2855403852ba6e97d6e6",
"mount": "sources/material/packages/m3/packages/m3-os-themes",
"parent": "material/packages/m3",
"submodulePath": "packages/m3-os-themes",
"gitlinks": []
},
{
"id": "material/packages/m3/forks/fonts",
"repository": "aphrody-labs/fonts",
@@ -491,7 +505,7 @@
{
"id": "material/packages/m3-os-themes",
"repository": "aphrody-labs/aphrody-m3-os-themes",
"revision": "a218bd6db5327603e503d46ebe1ee6804959c351",
"revision": "27b36bd34253da5010ec2855403852ba6e97d6e6",
"mount": "sources/material/packages/m3-os-themes",
"parent": "material",
"submodulePath": "packages/m3-os-themes",
+12 -2
View File
@@ -2,7 +2,7 @@ import { exportPinnedSources, type SourceExportOptions } from "../factory/source
import { hashStream } from "@aphrody/bun-workspace/hash";
import { runProcess } from "@aphrody/bun-workspace/process";
import { mkdir, lstat, copyFile, open, unlink, cp } from "node:fs/promises";
import { existsSync } from "node:fs";
import { existsSync, realpathSync } from "node:fs";
import { dirname, join, resolve, relative, isAbsolute } from "node:path";
import { sourceIntegrity } from "../container/source-integrity.ts";
import { inspectLinuxABI } from "./elf.ts";
@@ -18,13 +18,23 @@ export function materialCheckout(config: Config = {}): string {
return checkout;
}
export function runtimeCheckout(config: Config = {}): string {
const configured = config.checkouts?.bun ?? Bun.env.APHRODY_BUN_CHECKOUT;
const explicitCheckout = config.checkouts?.bun;
const configured = explicitCheckout ?? Bun.env.APHRODY_BUN_CHECKOUT;
const workspaceCheckout = resolve(packageRoot, "../bun");
if (configured) {
const root = resolve(configured);
if (!existsSync(join(root, "scripts/build.ts")))
throw new Error("Configured Bun checkout has no native build owner");
if (!explicitCheckout && existsSync(join(workspaceCheckout, "scripts/build.ts"))) {
try {
if (realpathSync.native(root) === realpathSync.native(workspaceCheckout)) return workspaceCheckout;
} catch {
// Keep the explicit checkout when its physical path cannot be resolved.
}
}
return root;
}
if (existsSync(join(workspaceCheckout, "scripts/build.ts"))) return workspaceCheckout;
let root = dirname(process.execPath);
for (let depth = 0; depth < 8; depth++) {
if (existsSync(join(root, "scripts/build.ts")) && existsSync(join(root, "src/runtime/Cargo.toml"))) return root;