release: freeze Nexus One AI 1.0.0-rc1
This commit is contained in:
1 parent
63acefd890
commit
4f1419ca93
152 files changed
+9445
-828
No files matched your search
@@ -0,0 +1,134 @@
|
||||
# Release Payload Inventory, Deduplication, and Media Sizing
|
||||
|
||||
**Status**: Repository-derived planning baseline; no build authority.
|
||||
**Observed source revision**: `bea082a2014a3edc31cb006108b952c8adbbc8bc` plus the uncommitted
|
||||
specification changes in this task.
|
||||
**Observed artifact fact**: `autoinstall/cezen-ai-ubuntu2204.iso` is 0 bytes and is not usable as a
|
||||
release or sizing baseline.
|
||||
|
||||
## Inventory Rules
|
||||
|
||||
Every payload object has one canonical inventory row containing object ID, class, immutable upstream
|
||||
identity, license, architecture, media type, compressed/download bytes, unpacked bytes, on-target
|
||||
bytes, digest, source URL/repository, included artifacts, activation profiles, dedup group, and evidence
|
||||
status. No bytes are counted from model names, tags, estimates, sparse files, or expected upstream size.
|
||||
|
||||
The release manifest is generated from the finalized inventory. The inventory is not reconstructed
|
||||
from an ISO after publication except as independent verification.
|
||||
|
||||
## Four-Artifact Boundary
|
||||
|
||||
| Artifact | Embedded boundary | Explicit exclusions | Current sizing state |
|
||||
|---|---|---|---|
|
||||
| Online Universal Server | Ubuntu boot/install base, network/preflight/acquisition client, trust roots, signed-index support, local recovery/help | Platform payload, optional/large models and mutable default-branch source | Current checked-in ISO is 0 bytes; no valid measured size |
|
||||
| Offline Workstation AMD64 | Ubuntu base, universal NVIDIA/CPU-adaptive platform superset, required packages/runtimes/images, local help/recovery, approved small starter models | AMD GPU/ROCm, ARM64 DGX Spark, large optional models, customer license/data | Candidate lists exist; no complete built payload or measured ISO |
|
||||
| Offline Server S/M AMD64 | Ubuntu base plus superset required for both S and M; selection restricted to `starter/basic`; small approved starter models only | Server L/Max selection and large models | No complete inventory/build/size evidence |
|
||||
| Offline Server L/Max AMD64 | Ubuntu base plus enterprise platform superset for L and Max; selection restricted to `pro/max`; only approved bootstrap/small validation models | Large L/Max models, which are separate signed packs | No complete inventory/build/size evidence; current roles do not yet prove a distinct payload |
|
||||
|
||||
Architecture is part of artifact identity. Any later Workstation ARM64 media has its own inventory and
|
||||
measurements while remaining the same commercial product category.
|
||||
|
||||
## Repository-Derived Candidate Inventory
|
||||
|
||||
### Common source and trust
|
||||
|
||||
- Exact platform source revision excluding `.git`, ISOs, offline output, user collateral and secrets.
|
||||
- Boot/autoinstall data, first-boot/browser setup, install orchestration and Ansible roles/playbooks.
|
||||
- Portal, backend, local documentation, recovery and diagnostic tooling.
|
||||
- License public key, artifact trust roots, manifest schemas, signature/revocation policy and SBOM.
|
||||
- Ubuntu installer/base identity and boot metadata.
|
||||
|
||||
### Current Workstation offline lists
|
||||
|
||||
- 26 non-comment APT package names.
|
||||
- 15 non-comment additional Python package requirements plus backend requirements and pinned
|
||||
`chromadb==0.5.23`.
|
||||
- Six container image names: Open WebUI, vLLM, DCGM exporter, Prometheus, node exporter and Grafana.
|
||||
- Miniconda, Ollama runtime, K3s, MinIO and `mc` binaries described by the current offline material.
|
||||
- Ollama `phi3:mini` and `nomic-embed-text` candidate pins plus the Hugging Face Phi-3 snapshot.
|
||||
|
||||
These are candidate inputs, not complete objects: several versions/tags, licenses, transitive packages,
|
||||
architectures and actual byte/digest inventories remain unresolved.
|
||||
|
||||
### Role matrix
|
||||
|
||||
| Role | Workstation adaptive | Server S | Server M | Server L | Server Max |
|
||||
|---|---|---|---|---|---|
|
||||
| Base, Docker, Ollama, vLLM, ChromaDB, monitoring, backend, ttyd, Nginx | Profile-dependent | Yes | Yes | Yes | Yes |
|
||||
| JupyterLab | Optional/profile | Optional | Yes | Yes | Yes |
|
||||
| K3s, MLflow, MinIO | Not enabled on low profiles; payload decision pending | No | Yes | Yes | Yes |
|
||||
| NVIDIA driver/runtime | Only on supported NVIDIA profile | Hardware-dependent | Hardware-dependent | Required profile decision | Required profile decision |
|
||||
| Large default model | Separate pack | Separate/not required | Separate pack | Separate pack | Separate pack |
|
||||
|
||||
The existing `entry`, `pro`, and `max` playbooks contain the same role set. Pro/Max differ primarily in
|
||||
model choice, tensor parallelism, quantization and hardware expectations. Because large models are now
|
||||
separate packs, current repository evidence does not yet prove that Offline Server L/Max needs a
|
||||
materially different boot payload from the Server M superset. The agreed separate L/Max artifact may
|
||||
still be justified by support boundary, validation, driver/runtime, capacity or enterprise policy,
|
||||
but that distinction must be explicit before implementation.
|
||||
|
||||
## Deduplication Policy
|
||||
|
||||
1. Every object is identified by SHA-256 of exact bytes. Identical digests share one dedup group.
|
||||
2. Within one artifact, store identical package/wheel/image/model/runtime objects once; manifests may
|
||||
reference the same object from multiple profiles/tiers.
|
||||
3. Container layers are deduplicated by compressed layer digest, not image tag.
|
||||
4. Python wheels and APT packages are deduplicated by exact file digest and architecture; different
|
||||
builds/architectures are distinct even when package/version text matches.
|
||||
5. Model weights are deduplicated only when exact object digests match. Similar model names or
|
||||
quantizations are distinct.
|
||||
6. Shared source, local help and portal/backend copies use one canonical payload object and explicit
|
||||
install destinations rather than duplicated archives.
|
||||
7. Deduplication across separately distributed ISOs does not reduce each customer's media size and is
|
||||
reported only as build-store efficiency, never as ISO byte reduction.
|
||||
8. Compression savings and filesystem sparse allocation are recorded separately from logical bytes.
|
||||
|
||||
## Measurement Worksheet
|
||||
|
||||
For each build candidate record exact bytes:
|
||||
|
||||
| Component class | Unique compressed bytes | ISO/on-media bytes | Unpacked target bytes | Staging bytes | Rollback bytes | Evidence |
|
||||
|---|---:|---:|---:|---:|---:|---|
|
||||
| Ubuntu boot/install base | TBD | TBD | TBD | TBD | N/A | Base ISO digest/signature required |
|
||||
| Platform source/config/help | TBD | TBD | TBD | TBD | TBD | Exact revision/archive digest |
|
||||
| APT packages/repository metadata | TBD | TBD | TBD | TBD | TBD | Resolved package manifest |
|
||||
| Python/Conda environments | TBD | TBD | TBD | TBD | TBD | Wheel/conda explicit lock |
|
||||
| Runtime binaries | TBD | TBD | TBD | TBD | TBD | Immutable URLs/digests/licenses |
|
||||
| Container layers | TBD | TBD | TBD | TBD | TBD | Digest/layer inventory |
|
||||
| Starter model objects | TBD | TBD | TBD | TBD | TBD | Exact model/layer inventory |
|
||||
| Trust/SBOM/provenance/manifests | TBD | TBD | TBD | TBD | TBD | Signed build output |
|
||||
| ISO filesystem/boot overhead | N/A | TBD | N/A | N/A | N/A | Final image measurement |
|
||||
|
||||
Totals MUST distinguish download/media bytes, target bytes, temporary staging, last-known-good
|
||||
rollback and operational free space. Target disk minimum is not the same as USB capacity.
|
||||
|
||||
## Media Capacity Rule
|
||||
|
||||
After final ISO bytes are measured, compute `required_flash_bytes = final_iso_bytes + tool/filesystem
|
||||
overhead`, then add at least 20% headroom. Publish the smallest commonly available USB capacity above
|
||||
that result. Recommend the next larger capacity when field reliability or signed forecast growth
|
||||
requires it. Record exact arithmetic and artifact digest.
|
||||
|
||||
Current 2–4 GB Online and 35–50 GB Workstation numbers remain labelled estimates only. Offline Server
|
||||
S/M and L/Max sizes remain unpublished until their resolved inventories are built and deduplicated.
|
||||
Large-model-pack media is sized independently from boot media.
|
||||
|
||||
## Evidence Gate
|
||||
|
||||
1. Resolve every input to immutable version/revision/digest, architecture and redistribution license.
|
||||
2. Produce SBOM and object inventory before assembly; verify every fetched byte.
|
||||
3. Fail the build for missing, extra, duplicate-path/different-digest or mutable-tag objects.
|
||||
4. Build from a clean staging host, record logical and physical bytes, and verify manifest totals.
|
||||
5. Extract the ISO independently and reconcile every embedded object to the signed inventory.
|
||||
6. Complete zero-network install and record actual peak target/staging/rollback disk usage.
|
||||
7. Repeat the build to assess reproducibility; unexplained digest differences block release.
|
||||
8. Product/delivery approve the L/Max split justification after comparing its resolved payload to M.
|
||||
|
||||
## Open Decisions
|
||||
|
||||
- Exact immutable Ubuntu, APT, Python/Conda, runtime, image and binary inputs/licenses.
|
||||
- Whether K3s/MinIO tooling belongs in Workstation media when disabled for lower profiles.
|
||||
- Small bootstrap-model boundary for Server S/M and L/Max.
|
||||
- Concrete platform difference justifying separate Offline Server L/Max media after large models are removed.
|
||||
- Compression format/level, reproducible timestamps/ordering, SBOM/provenance formats and build host.
|
||||
- Published USB capacities only after real artifact and flashing measurements.
|
||||
Reference in new issue
Block a user