-
Notifications
You must be signed in to change notification settings - Fork 1
harvest(install-graph, narrowed): graduate the local-LLM sovereignty substrate accelerator → main #6123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
harvest(install-graph, narrowed): graduate the local-LLM sovereignty substrate accelerator → main #6123
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
c5fba70
accelerator(charter): kick off the PR-less git-monster accelerator (l…
4176b79
accelerator(event-store): Action Items 1+2 — substrate-grounding + gi…
ffc4766
accelerator(event-store): wire the two-layer-razor + past-as-generato…
0428bbd
accelerator: be good to our host — today's forgiveness-budget is GitH…
c1dd8bb
accelerator(Action Item 3): move-next harness + STAGED self-triggerin…
ccd2f6a
accelerator(move-next): add structured key logging (surfaces agent + …
9cbe399
accelerator(move-next): append cycle event (agent=otto)
claude 5488209
accelerator(move-next): swap placeholder ULID -> canonical Zeta-ID ke…
bf01567
accelerator: add reusable account-free local-LLM primitive (CYOA sele…
claude f65d2a3
accelerator(local-llm): add seed option for DST-deterministic local-m…
claude 99aaf39
accelerator: make small local-LLM a CORE install.sh primitive (declar…
claude c8d69c6
accelerator(local-llm): float ollama latest + real-model install.sh v…
claude 0a53afe
accelerator(local-llm): fix ollama linux asset — .tar.zst (zstd), not…
claude 45222e2
backlog(B-0940): evaluate Ubuntu support value — NixOS primary, Ubunt…
claude cdea2ab
backlog(B-0940): sharpen — NixOS declarative-by-construction (boots r…
claude 6136737
accelerator(ci): Ubuntu docker install.sh test (sibling to nixos) + z…
claude 9c86089
accelerator(apt): declare .NET native runtime deps (libicu74 etc.) — …
claude fbbf7f7
ci(docker-nixos): also trigger on accelerator branch (off-leash NixOS…
claude b4539b6
backlog(B-0941): NixOS-native ollama — close the hole in the shield (…
claude 1f904aa
fix(B-0941): NixOS-native ollama via nix + nixos test ASSERTS local-L…
claude f82bd8a
fix(B-0941): nix-env-first + surface nix stderr (diagnose the suppres…
claude 22871ef
fix(B-0941): nix profile install --priority 6 (resolve coreutils file…
claude df24f22
fix(B-0941): nix BUILD + symlink (no profile mutation) — sidestep the…
claude 38e2ceb
diag(B-0941): surface /tmp/ollama.log on daemon-unreachable (the inst…
claude 6f377b9
fix(B-0941): LD_LIBRARY_PATH-clean ollama wrapper (diagnosed glibc sy…
claude 3e155d0
fix(local-llm): set-e gracefulness (mget + nix build) + nix GC-root v…
claude 0ab7e04
harvest(install-graph, narrowed): graduate the local-LLM sovereignty …
claude df7e24b
fix(local-llm): loopback-host guard — close CodeQL file-data->outboun…
claude ebb809f
fix(harvest): commit stranded install-graph review fixes
claude 9c2eee0
fix(harvest): role-ref attribution + Ubuntu test covers main PRs (Cop…
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| # Accelerator — local-LLM entropy-lever validation (off-leash, accelerator branch). | ||
| # | ||
| # Proves the claim: a BARE runner + `install.sh` ⇒ working local-LLM substrate | ||
| # (operator 2026-05-30 "install.sh is our biggest lever against entropy"). Runs the | ||
| # real install graph, asserts the pinned model actually landed + serves, and runs | ||
| # a REAL (not mocked) selection through the local model. This is the gate that | ||
| # graduates the local-LLM core primitive from off-leash (accelerator) to main. | ||
| # | ||
| # Pushing this workflow / any local-LLM file to the accelerator branch triggers it. | ||
| # Heavy (full install + ~400MB model pull); concurrency cancels superseded runs. | ||
|
|
||
| name: accelerator-local-llm-validate | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: [accelerator/pr-less-git-monster] | ||
| paths: | ||
| - "tools/setup/manifests/local-llm" | ||
| - "tools/setup/common/local-llm.sh" | ||
| - "tools/setup/linux.sh" | ||
| - "tools/setup/macos.sh" | ||
| - "tools/setup/manifests/brew" | ||
| - "tools/accelerator/local-llm.ts" | ||
| - "tools/accelerator/validate-local-llm.ts" | ||
| - ".github/workflows/accelerator-local-llm-validate.yml" | ||
|
|
||
| concurrency: | ||
| group: accelerator-local-llm-validate-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| validate-linux: | ||
| runs-on: ubuntu-24.04 | ||
| timeout-minutes: 25 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
||
| - name: Setup bun | ||
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | ||
|
|
||
| - name: Run install.sh (the entropy lever — bare runner → substrate) | ||
| env: | ||
| # Authenticated mise (per the mise.sh fix) so the toolchain install | ||
| # doesn't hit the unauthenticated GitHub rate limit. | ||
| MISE_GITHUB_TOKEN: ${{ github.token }} | ||
| run: ./tools/setup/install.sh | ||
|
|
||
| - name: Ensure ollama on PATH + daemon serving | ||
| run: | | ||
| echo "$HOME/.local/bin" >> "$GITHUB_PATH" | ||
| export PATH="$HOME/.local/bin:$PATH" | ||
| command -v ollama | ||
| if ! curl -fsS http://127.0.0.1:11434/api/version >/dev/null 2>&1; then | ||
| (ollama serve >/dev/null 2>&1 &) | ||
| for _ in $(seq 1 30); do | ||
| curl -fsS http://127.0.0.1:11434/api/version >/dev/null 2>&1 && break | ||
| sleep 1 | ||
| done | ||
| fi | ||
| curl -fsS http://127.0.0.1:11434/api/version | ||
|
|
||
| - name: Assert the pinned model landed (declarative manifest) | ||
| run: | | ||
| export PATH="$HOME/.local/bin:$PATH" | ||
| MODEL=$(grep -E '^model' tools/setup/manifests/local-llm | awk '{print $2}') | ||
| echo "expected model: $MODEL" | ||
| ollama list | ||
| ollama list | awk 'NR>1 {print $1}' | grep -qx "$MODEL" | ||
|
|
||
| - name: Mock-backed primitive tests (logic; run anywhere) | ||
| run: bun test tools/accelerator/local-llm.test.ts | ||
|
|
||
| - name: REAL local-LLM validation (entropy-lever end-to-end) | ||
| run: | | ||
| export PATH="$HOME/.local/bin:$PATH" | ||
| bun tools/accelerator/validate-local-llm.ts --root "$PWD" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| # .github/workflows/docker-ubuntu-install-sh-test.yml | ||
| # | ||
| # Docker-based install.sh test on Ubuntu — sibling to docker-nixos-install-sh-test | ||
| # (operator 2026-05-30: "center our docker tests around ubuntu and nixos and have | ||
| # tests for both with install.sh"). The Dockerfile IS the test: it runs install.sh | ||
| # on a bare ubuntu image and validates the core local-LLM primitive (ollama + | ||
| # pinned model + real chooseIndex probe). A failing install.sh / assert fails the | ||
| # build, which fails this job. | ||
| # | ||
| # Off-leash on the accelerator branch (operator: "accelerator is for off-leash | ||
| # testing; once we get it right, main becomes off-leash too"). This is the gate | ||
| # that guards graduating the local-LLM install primitive to main. | ||
| # | ||
| # FIRST CUT uses a direct `docker build` (vs the nixos TS driver) for simplicity. | ||
| # FOLLOW-UP (the operator's GHA-cache point): consolidate both OS tests onto a shared TS | ||
| # driver + buildx `cache-from/to: type=gha` so the heavy install (1.2GB ollama + | ||
| # toolchain) bakes once and iteration runs inside the cached image. | ||
|
AceHack marked this conversation as resolved.
|
||
| # | ||
| # Security: no github.event.* values interpolated into run: lines. | ||
|
|
||
| name: docker-ubuntu-install-sh-test | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: [accelerator/pr-less-git-monster] | ||
| paths: | ||
| - "tools/ci/dockerfiles/ubuntu-install-sh-test/**" | ||
| - "tools/setup/**" | ||
| - "tools/accelerator/local-llm.ts" | ||
| - "tools/accelerator/validate-local-llm.ts" | ||
| - ".mise.toml" | ||
| - ".dockerignore" | ||
| - ".github/workflows/docker-ubuntu-install-sh-test.yml" | ||
| # Run on PRs to main too — after harvest the install-graph lives on main, so a | ||
| # PR touching it must be Ubuntu-tested (mirrors docker-nixos-install-sh-test). | ||
| # The shield must cover main, not just the accelerator branch: a test that only | ||
| # fires off-leash is a hole that reads as covered. | ||
| pull_request: | ||
| types: [opened, reopened, synchronize, ready_for_review] | ||
| paths: | ||
| - "tools/ci/dockerfiles/ubuntu-install-sh-test/**" | ||
| - "tools/setup/**" | ||
| - "tools/accelerator/local-llm.ts" | ||
| - "tools/accelerator/validate-local-llm.ts" | ||
| - ".mise.toml" | ||
| - ".dockerignore" | ||
| - ".github/workflows/docker-ubuntu-install-sh-test.yml" | ||
|
|
||
|
AceHack marked this conversation as resolved.
|
||
| concurrency: | ||
| group: docker-ubuntu-install-sh-test-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| docker-ubuntu-test: | ||
| name: docker-ubuntu-install-sh-test | ||
| runs-on: ubuntu-24.04 | ||
| # Cold build: full install.sh (mise toolchain + lean + jars) + ollama 1.2GB + | ||
| # 398MB model pull. Generous bound for the first uncached run. | ||
| timeout-minutes: 40 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | ||
|
|
||
| - name: docker build (the test — install.sh + local-LLM validation inside) | ||
| run: | | ||
| docker build \ | ||
| -f tools/ci/dockerfiles/ubuntu-install-sh-test/Dockerfile \ | ||
| -t zeta-ubuntu-install-sh-test \ | ||
| . | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
88 changes: 88 additions & 0 deletions
88
...evaluate-ubuntu-support-value-nixos-primary-community-reach-aaron-2026-05-30.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| --- | ||
| id: B-0940 | ||
| priority: P2 | ||
| status: open | ||
| title: Evaluate what Ubuntu support brings us — NixOS is primary; Ubuntu's value is community/contributor reach | ||
| tier: strategic-evaluation | ||
| ask: Aaron 2026-05-30 | ||
| created: 2026-05-30 | ||
| last_updated: 2026-05-30 | ||
| decomposition: leaf | ||
| composes_with: | ||
| - tools/setup/install.sh | ||
| - .github/workflows/docker-nixos-install-sh-test.yml | ||
| - .claude/rules/dv2-data-split-discipline-activated.md | ||
| tags: [install-sh, nixos, ubuntu, ci, docker, three-way-parity, strategic] | ||
| type: evaluation | ||
| --- | ||
|
|
||
| # B-0940 — Evaluate what Ubuntu support brings us (NixOS primary) | ||
|
|
||
| ## Origin | ||
|
|
||
| Aaron 2026-05-30 (during the Docker Ubuntu+NixOS test build): *"i would also say | ||
| nixos is our primary we should put on backlog and evaluate what ubuntu is bringing | ||
| us, the community of ubuntu is really why i'm thinking ubuntu matters."* | ||
|
|
||
| ## The question | ||
|
|
||
| **NixOS is the primary target — declarative BY CONSTRUCTION.** Aaron 2026-05-30 | ||
| (the deeper rationale): *"nix is what boots the usb/iso our real hardware boots | ||
| cause it's declarative. ubuntu is not on its dependency management — we use | ||
| install.sh to make ubuntu work like nixos with declarative dependencies."* | ||
|
|
||
| This is the load-bearing distinction: | ||
|
|
||
| - **NixOS** boots the **real hardware** (the USB/ISO that boots actual machines) | ||
| *because* the whole system — OS config + dependency closure — is declarative and | ||
| reproducible by construction. No bridge needed; declarativeness is native. | ||
| - **Ubuntu** is **imperative** in its dependency management (apt, ad-hoc installs). | ||
| It has no native declarative-deps property. | ||
| - **`install.sh` + the declarative manifests** (manifests/local-llm, .mise.toml, | ||
| manifests/apt/brew, …) are the **bridge that retrofits NixOS-like declarative | ||
| dependencies ONTO Ubuntu** — i.e. install.sh's job on Ubuntu is literally "make | ||
| Ubuntu behave like NixOS." That's the entropy-lever framing applied to a | ||
| non-declarative base OS. | ||
|
|
||
| So NixOS is primary not just by preference but by *kind*: it IS the declarative | ||
| substrate; Ubuntu is made to *act* declarative via install.sh. The cost of Ubuntu | ||
| is maintaining that simulation layer (the install.sh Ubuntu path + apt deps + | ||
| floating-binary installs); the value is what the next paragraph weighs. | ||
|
|
||
| **Ubuntu's value is community/contributor reach**, not technical superiority. | ||
| Aaron's framing: Ubuntu matters because of its *community* — contributor | ||
| familiarity, the default-mental-model for most devs, GitHub-hosted runner | ||
| ubiquity (ubuntu-latest is the CI default), and the volume of Ubuntu-targeting | ||
| prior art. The question is whether that reach justifies Ubuntu as a *first-class* | ||
| install/CI target or whether it's community-convenience only. | ||
|
|
||
| ## What to evaluate | ||
|
|
||
| - **Contributor reach**: how many would-be contributors are Ubuntu-default vs | ||
| willing to use NixOS? Does first-class Ubuntu lower the contribution barrier | ||
| enough to matter? | ||
| - **CI ubiquity**: `ubuntu-24.04` is the default GH-hosted runner; NixOS in CI is | ||
| container/QEMU-mediated. What does dropping/keeping Ubuntu cost in CI surface? | ||
| - **Maintenance cost** of the Ubuntu path: the `apt` manifest, the floating-binary | ||
| installs (e.g. the ollama `.tar.zst` linux install in `common/local-llm.sh`), | ||
| and the non-reproducibility vs NixOS's pinned closure. | ||
| - **Decision**: Ubuntu stays first-class (community justifies it) OR Ubuntu becomes | ||
| community-convenience-only (best-effort, NixOS is the supported/reproducible | ||
| path) OR some tiered support level. | ||
|
|
||
| ## Acceptance | ||
|
|
||
| 1. A short decision doc (in `docs/research/` or as this row's Resolution) weighing | ||
| Ubuntu's community-reach value against its maintenance + non-reproducibility | ||
| cost, with NixOS established as primary. | ||
| 2. A clear support-tier statement for Ubuntu (first-class / community-convenience / | ||
| tiered) that the install-graph + CI strategy follow. | ||
|
|
||
| ## Notes | ||
|
|
||
| Surfaced alongside the Docker Ubuntu+NixOS install.sh test pair (both OSes run | ||
| install.sh in containers; per Aaron's "center our docker tests around ubuntu and | ||
| nixos"). This row is the *strategic* counterpart: building the Ubuntu test does not | ||
| by itself decide Ubuntu's long-term support tier — this row does. NixOS-primary is | ||
| the standing default; Ubuntu is retained pending this evaluation because of its | ||
| community reach. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.