@@ -5,47 +5,35 @@ Keep this file limited to current operating rules. Remove stale content aggressi
55## Deployment Model (Read This First)
66
77```
8- shimmy-private/ ← THIS REPO — public-facing CLI/server product
9- airframe = { path = "../", optional = true }
10- ../ airframe/ ← PRIVATE sibling repo — GPU engine (NOT nested here)
8+ shimmy-private/ ← THIS REPO — public-facing CLI/server product (private working copy)
9+ public remote: shimmy.git ← https://github.com/Michael-A-Kuykendall/shimmy.git
10+ airframe = { version = "0.1" } ← PUBLIC crates.io dependency — no local path dep
1111```
1212
13- - ** Shimmy is the product.** Airframe is the private optional engine dependency.
14- - The ` airframe ` crate is OPTIONAL (` optional = true ` ). Default builds (` cargo build ` ) do not require it.
15- - ` cargo build --features airframe ` requires ` ../airframe ` to exist (private repo, not cloned by default).
16- - ** Cloning shimmy does NOT expose airframe source.** This is by design.
17- - Do NOT add ` airframe ` as a nested submodule inside this repo. It is a sibling path dep only.
13+ - ** Shimmy is the product.** Airframe is the GPU engine published on crates.io as ` airframe = "0.1" ` .
14+ - ` airframe ` is a crates.io dependency — no private path dep, no AIRFRAME_ACCESS_TOKEN, no cloning required.
15+ - ` cargo build ` (default, all features) works for anyone — airframe downloads from crates.io.
16+ - No submodules. No secrets needed for standard builds.
1817
1918## Feature Flags
2019
2120``` toml
22- default = [" huggingface" ] # crates.io-safe — no airframe required
23- airframe = [" dep:airframe" ] # optional; requires ../ airframe path dep (private )
24- gpu = [" airframe" , " huggingface" ]
21+ default = [" airframe " , " huggingface" ] # Full GPU build
22+ airframe = [" dep:airframe" ] # Airframe native GPU engine (crates.io: airframe = "0.1" )
23+ gpu = [" airframe" , " huggingface" ] # GPU-optimized build via Airframe
2524full = [" airframe" , " huggingface" , " mlx" ]
26- fast / coverage = [" huggingface" ] # CI-safe, no path deps
25+ fast / coverage = [" huggingface" ] # CI-safe, no GPU hardware required
2726# Deprecated stubs (llama.cpp removed in v2.0):
2827llama = [] llama-cuda = [] llama-vulkan = [] llama-opencl = []
2928```
3029
3130## Repository Push Policy
3231
33- - This repo's submodule checkout has ** ONE** remote: ` private ` → ` https://github.com/Michael-A-Kuykendall/shimmy-private.git `
34- - ** NO ` origin ` remote exists in the submodule context. Do not add one.**
35- - The standalone checkout at ` C:/Users/micha/repos/shimmy-private ` has ` origin ` → same URL.
36- - Push only when explicitly requested: ` git push private <branch> ` (submodule) or ` git push origin <branch> ` (standalone).
37- - Do not push to public shimmy without explicit user approval.
38-
39- ## CI Wire — AIRFRAME_ACCESS_TOKEN
40-
41- Confirmed wired in ` .github/workflows/release.yml ` and ` ci.yml ` :
42-
43- ``` yaml
44- - name : Checkout Airframe engine (private path dep)
45- run : git clone https://x-access-token:${{ secrets.AIRFRAME_ACCESS_TOKEN }}@github.com/Michael-A-Kuykendall/airframe.git ../airframe
46- ` ` `
47-
48- ` AIRFRAME_ACCESS_TOKEN` must be set in GitHub Secrets. **Do not print or expose this token.**
32+ - This repo has two remotes:
33+ - ` origin ` → ` https://github.com/Michael-A-Kuykendall/shimmy-private.git ` (private working repo)
34+ - ` public ` → ` https://github.com/Michael-A-Kuykendall/shimmy.git ` (public GitHub repo)
35+ - Push to ` public ` when releasing or making docs/CI changes visible to users.
36+ - Push only when explicitly requested by the user.
4937
5038## Test Failures
5139
@@ -56,14 +44,14 @@ Do not declare work complete while any test is red.
5644
5745## Architecture (v2.0)
5846
59- - Engine : wgpu/WebGPU WGSL pipeline via Airframe (private ). Replaces llama.cpp entirely.
47+ - Engine: wgpu/WebGPU WGSL pipeline via Airframe (crates.io: ` airframe = "0.1" ` ). Replaces llama.cpp entirely.
6048- Server: OpenAI-compatible (` /v1/chat/completions ` , ` /v1/completions ` ), Ollama-compat (` /api/generate ` , ` /api/tags ` ).
6149- No Python dependencies in the default build path.
6250- WGSL quant coverage: F32, F16, Q4_0, Q8_0, Q4_K(M/S), Q5_K(M/S), Q6_K.
6351
6452## What NOT To Do
6553
66- - Do NOT add an `airframe/` submodule inside this repo (was done by a previous AI session — removed) .
67- - Do NOT add an `origin` remote to the submodule checkout .
54+ - Do NOT add an ` airframe/ ` submodule inside this repo.
55+ - Do NOT add a local path dep to airframe — use ` airframe = { version = "0.1" } ` from crates.io .
6856- Do NOT mix console (` crates/console/ ` ) or vision feature work into runtime release changes.
6957- Do NOT push without explicit user request.
0 commit comments