Implement researched Guix package outcome for #174: [Guix packaging] ulab-uiuc/LLMRouter #757
Labels
No labels
accessibility
bug
category:ai-tool
category:browser
category:command-line-tool
category:compiler-toolchain
category:desktop-application
category:developer-tool
category:editor-extension
category:emulator
category:font
category:game
category:input-accessibility
category:library-framework
category:mud-client
category:multimedia
category:networking-client
category:programming-language
category:roguelike
category:storage-media-tool
category:system-tool
category:terminal-application
complexity:high
complexity:low
complexity:medium
difficulty:blocked
difficulty:easy
difficulty:hard
difficulty:moderate
documentation
duplicate
enhancement
good first issue
gooflow:guix-package-high
gooflow:guix-package-moderate
gooflow:guix-package-quality-gates
gooflow:guix-research-disposition
gooflow:guix-runtime-evidence-refresh
help wanted
invalid
kind:disposition
kind:packaging
needs:license-investigation
priority:quick
question
ready-for-agent
state:available-elsewhere
state:blocked
state:deferred
state:out-of-scope
state:ready
state:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tay/guix-channel#757
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
This delivery ticket was created from research issue #174 ([Guix packaging] ulab-uiuc/LLMRouter).
The host-validated research finding follows:
Delivery is technically viable for a distinct, ordinary package named llmrouter; the existing channel artifact is only ulab-uiuc-llmrouter-source (source snapshot), not an equivalent installed package. Canonical origin: https://github.com/ulab-uiuc/LLMRouter at fixed revision 3dded2a139fb0c8a3de8f3fc4909e9d35e8f261c. Cloned checkout verified at that revision; recursive
git submodule statusreturned no submodules, so the single MIT origin is sufficient. LICENSE is the complete MIT grant at that revision and pyproject.toml declares license file LICENSE plus MIT classifier; upstream project version is 0.3.1 and distribution name is llmrouter-lib. No equivalent llmrouter package exists in the local guix/tay tree. Define the Guix package as llmrouter in (tay packages llmrouter) with pyproject-build-system and the fixed commit. Populate propagated inputs from all 20 runtime requirements in pyproject.toml, mapping to existing Guix python inputs and the locally defined python-litellm; exclude optional vLLM/openai extras, credentials, and provider/network access from build. Build metadata declares Python >=3.10 and setuptools>=61/wheel; no Guix daemon is available here, so source-buildability is assessed from that declared toolchain, not proven. The installed executable is llmrouter. Its offline deterministicllmrouter list-routerssubcommand imports the model registry and prints AVAILABLE ROUTERS plus router entries, without issuing provider requests or needing credentials; use it as the isolated meaningful runtime proof. Acceptance is guix lint, daemon-backed guix build, and the bounded-network-disabled screenshot proof asserting the exact marker.Acceptance criteria
Runtime evidence contract
Implementation workflow:
guix-package-quality-gatesReviewed contract file:
.goocastle/runtime-evidence-contracts.jsonRequired proof phase:
safe-package-proof; screenshot phase:runtime-screenshotEvidence adapter:
github-issue-commentCopy this reviewed contract into the named file before running the package proof workflow.
Goocastle blocked this ticket after the bounded repair budget was exhausted for the required command gate.
The failure receipt and task branch provenance remain preserved; inspect the branch and repair the failing gate before retrying.
Bounded failure evidence:
Failed command: node /opt/goocastle/bin/guix-package-proof.mjs '--package-name' llmrouter '--module-path' guix/tay/packages/llmrouter.scm '--runtime-json' '{"executable":"llmrouter","invocation":{"file":"llmrouter","args":["list-routers"]},"successMarker":"AVAILABLE ROUTERS"}'
Exit status: 1
Final failure lines:
[stderr] Guix package proof failed: target module is missing or not a regular file: /workspace/guix/tay/packages/llmrouter.scm
OMP work update: source implementation and dependency work are in progress, but this delivery is NOT proved or closed. Local one-core builds were externally terminated with SIGTERM under severe memory/swap pressure; the exact killer remains unconfirmed because /var/log/earlyoom.log requires sudo (noninteractive sudo was denied). Live earlyoom configuration and full swap make userspace memory protection the leading explanation, not a compiler error. The user chose to continue lighter issues first. No memory protection, vault state, host service or installed profile changes were made. Successful prerequisite builds do not substitute for this package’s full build/reproducibility/isolated runtime/screenshot acceptance.