Repository navigation
Conversation
Add a bounded tar.gz installer with contained library links, required-file verification, unchanged quarantine attributes and strict existing-signature checks. Stage identity-bound claims with the artifact and atomically exchange owned macOS installations, leaving failed installs and updates unchanged. Preserve sibling model caches on uninstall. This prepares the lifecycle-only port of NVIDIA/Personal-AI-Router@6d2d67f without its proxy plumbing. Co-authored-by: Terve <ntervalon@nvidia.com> Signed-off-by: Jared Ping <13906915+JaredP94@users.noreply.github.com>
Adapt the lifecycle-only manifest from NVIDIA/Personal-AI-Router@6d2d67f to the fork, pin b12171 and require its complete server library layout. Protect every audited listener control and port-changing preset, including vendor underscore spellings and inherited environment. Require the /props router identity for readiness and health. Document the unnotarized release, port 8082, retained cache and deferred routing/model integration. Co-authored-by: Terve <ntervalon@nvidia.com> Signed-off-by: Jared Ping <13906915+JaredP94@users.noreply.github.com>
Expose llama.cpp installation, runtime state and protected server launch settings without a proxy or model routing. Keep settings revision recovery and collision checks in Go, display the unnotarized build notice, and preserve atomic archive updates from desktop and TUI clients. Adapt the lifecycle-only scope from NVIDIA/Personal-AI-Router@6d2d67f and its follow-ups NVIDIA#153 and NVIDIA#186; the proxy and model hub remain deferred. Reject quarantined source archives without altering their attributes and extend fixture coverage. Co-authored-by: Terve <ntervalon@nvidia.com> Signed-off-by: Jared Ping <13906915+JaredP94@users.noreply.github.com>
The supported archive installer relies on macOS birth-time identities surviving staging-marker writes and directory exchange. Linux intentionally uses change time, so successful directory-claim fixtures cannot describe an install on that unsupported platform. Keep these rollback and cache-preserving uninstall tests in the native Darwin suite while retaining portable extraction, checksum and manifest coverage everywhere. CI exposed both misplaced fixtures; the native suite and cross-platform compilation now pass. Signed-off-by: Jared Ping <13906915+JaredP94@users.noreply.github.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Add llama.cpp as a PAIR-managed engine on macOS arm64: install, start/stop, runtime status, server port, launch arguments and environment. This is PR 1 of 4, adapting selected lifecycle concepts from NVIDIA/Personal-AI-Router@6d2d67f, with upstream author credit on each commit. NVIDIA#153 informs identity-bound installation/removal; NVIDIA#186 remains deferred.
The official b12171 archive is pinned to SHA-256
870ef967970fa18bbd31460bc5f7929bbb5f091359d8dc0f58e20133aa4b5fcd. The macOS build is not notarized, like PAIR itself; the engine lists and documentation say so. It does not serve requests through PAIR yet.Scope
/usr/bin/codesign --verify --strictusing argv. Never clear quarantine or re-sign.LLAMA_CACHEdirectory. Updating requires stopping the engine first; clients never uninstall it before an update.127.0.0.1:8082, collision/reservation checks,/propsJSONrole=routerreadiness, existing validated LAN-bind path, audited protected listener flags/environment and underscore aliases. Complete audit:services/nvpair-engine-manager/LLAMACPP.md.proxyPort=0), minimal desktop/TUI lifecycle list support and original repository-native icon. No load profiles.Validation
Local macOS arm64, fixture-only; no downloaded release executable run and no real engine installed:
nvpair-engine-manager,nvpair-ui-broker,nvpair-tui):gofmt -l,go vet ./...,GOOS=linux go vet ./...,GOOS=windows go vet ./...,go test -count=1 ./...— all pass (format output empty).desktop:npm ci --no-audit --no-fund;npm run -s typecheck,npm run -s lint(zero warnings),npm run -s test:unit(95 files / 944 tests),npm run -s dead-code:check,npm run -s service-contracts:write,npm run -s service-contracts:check— pass; generated API documentation unchanged.node scripts/spdx-headers.mjs: 0 missing;git diff --check: clean.pgrep -lf 'fake-engine|llama-server': no survivors.TestArchiveContainment,TestArchiveLimitsAndCancellation,TestArchiveChecksumMismatch,TestArchiveQuarantinePreservedAndRejected,TestArchiveQuarantinedSourceRejected,TestArchiveSignatureIntegrity,TestArchiveCodesignUnavailable,TestArchiveInstallRollback,TestArchiveExecutorInstallUpdateRollback,TestArchiveAtomicUpdate,TestArchiveUninstallPreservesModelCacheAndRequiresClaim,TestArchiveManifestValidation,TestLlamaProtectedLaunchInputs,TestLlamaReadinessIdentity,TestLlamaPortCollision, plus broker proxy-free settings/recovery and desktop/TUI lifecycle/update tests. Regression tests observed failing before fixes and passing afterward.7bbe62b3: Desktop checks, SPDX headers, Go modules (ubuntu-latest), and Cross-process tests (ubuntu-latest) all pass. The Go modules job includes the full engine-manager race suite and repeated downloader shutdown regressions.cross-process-ubuntu-latestfrom that final run into fresh directory/tmp/pair-llamacpp-final-artifact.6LBRgZ;python3 -I /tmp/pair-review/scripts/noskip.py /tmp/pair-llamacpp-final-artifact.6LBRgZ/cross-process.jsonlreports 123 pass, zero skips/failures.Risk
Other platforms are explicitly unsupported for this engine. Checksum and existing ad-hoc signature integrity do not establish publisher trust or notarization. Installation fails closed on quarantine, a broken signature or unavailable codesign. No quarantine attributes are removed, and no signatures are changed.
Packaged macOS arm64 live install/update/rollback and start/stop smoke checks remain the maintainer's pre-merge task; no live llama.cpp run is claimed. The two hosted macOS jobs also remain a pre-merge gate because no runner was acquired. Independent automated review could not complete (reviewer timeouts); local source/diff review and the checks above completed. This PR is not an inference or release certification.
Checklist
git commit -s), certifying the Developer Certificate of Origin.services/versions.json, and described user-visible changes above so they reach the release notes.