Implement researched Guix package outcome for #383: [Guix packaging] Grippy Socks #689
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#689
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 #383 ([Guix packaging] Grippy Socks).
The host-validated research finding follows:
Canonical upstream is the author mirror https://github.com/CruiserOne/Daedalus at tag v3.5, fixed commit 32af46ddf22e53c9bfd7bd7eacca1e249c60a5e8 (tag resolves to that commit); official source archive https://www.astrolog.org/labyrnth/daedalus/dae35zip.zip has SHA-256 19ec305be102c8425d8a0d16475ba1ba9b7b04e3bd58c341525b808d81f364b0. The official Daedalus 3.5 documentation identifies GRIPSOX.DS as the Grippy Socks script, dates 3.5 to 2024-10-31, and says the distribution includes complete C++ source and a Unix Makefile; the Makefile builds with g++ and -lm, while util.h documents the command-line Unix mode obtained by disabling WIN. The source headers and retained license.htm identify Walter D. Pullen and GPL-2.0-or-later; all shipped Grippy Socks content is from this one fixed upstream origin. The script has no external file references or separately fetched dependencies: its map/bitmap content is embedded in gripsox.ds, and the package should install only that script, the rebuilt engine, and upstream license/author documentation, with no fonts, tiles, sounds, submodules, language registries, updater, telemetry, runtime download, or network path. There is no same-project package in the local channel or audit files. tay/packages/dragonslayer.scm is a distinct Daedalus-script package with issue #681 runtime contract/evidence; it shares the engine but installs dragon.ds, so grippy-socks is a separately justified variant, not a duplicate. Deliver tay/packages/grippy-socks.scm with gnu-build-system/git-fetch at the fixed commit (the existing Daedalus precedent records the matching Git checkout hash base32 0fdzx2zzqbd3p99yljksmbh0s3mbzzmq2dq42a9yz5rfkn9gjy2r), no configure phase, and native gcc-toolchain plus bash-minimal/coreutils-minimal for the wrapper. Apply the proven Unix patches: disable WIN and PC, use unsigned int for the bitmap dword on LP64, and add the Linux-sized-delete compatibility definition; build with upstream make daedalus. Install the engine privately under libexec and a package-owned grippy-socks launcher that uses a state directory only for ordinary interactive play, never writes the store, and supports exactly --smoke. That mode must load the installed gripsox.ds and perform a deterministic normal movement/interaction through the command-line engine before printing the declared marker. Research could not run Guix because the host explicitly provides no daemon; this is an authoritative metadata assessment, not package proof. Delivery acceptance: preflight package load/parser, guix lint -L . grippy-socks with no package-specific findings, offline guix build -L . --no-grafts --no-substitutes grippy-socks, upstream has no test target so run the bounded wrapper smoke, then guix build -L . --no-grafts --no-substitutes --check grippy-socks. The isolated proof must use fresh HOME/XDG directories, empty PATH and proxy-disabled network, bounded-validation with util-linux unshare --user --map-root-user --net --fork, assert stdout GRIPPY_SOCKS_SMOKE_OK plus a visible Grippy Socks start/gameplay line, verify no files appear in HOME/XDG/work, compare the output NAR hash before/after, and assert the installed tree is non-writable; capture the screenshot at .goocastle/evidence/issue-383.png. Retain license.htm and the upstream author notices in share/doc/grippy-socks.
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.
Imported from GitHub issue/PR. Originally posted by htayj on 2026-09-05T05:38:24Z.
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:
(no failure evidence retained)
Imported from GitHub comment. Originally posted by htayj on 2026-09-05T06:06:22Z.
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: sh .goocastle/capture-guix-package-screenshot.sh
Exit status: 1
Final failure lines:
[stderr] Workflow phase "runtime-screenshot" failed Caused by: Invalid runtime evidence: capture stdout must end with the GOOCASTLE_RUNTIME_ASSERTION_V1 line
Imported from GitHub comment. Originally posted by htayj on 2026-09-05T06:29:06Z.
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: sh .goocastle/capture-guix-package-screenshot.sh
Exit status: 1
Final failure lines:
[stderr] Workflow phase "runtime-screenshot" failed Caused by: Invalid runtime evidence: capture stdout must contain the standalone runtime marker "GRIPPY_SOCKS_SMOKE_OK" emitted by the packaged runtime subject
Imported from GitHub comment. Originally posted by htayj on 2026-09-05T07:10:00Z.
Goocastle verified runtime evidence.
Runtime receipt
grippy-sockssafe-package-proof["node","/opt/goocastle/bin/guix-package-proof.mjs","--package-name","grippy-socks","--module-path","tay/packages/grippy-socks.scm","--runtime-json","{"executable":"grippy-socks","invocation":{"file":"grippy-socks","args":["--smoke"]},"successMarker":"GRIPPY_SOCKS_SMOKE_OK"}"]runtime-screenshot["sh",".goocastle/capture-guix-package-screenshot.sh"]/gnu/store/0xbf4haxvsb3x4qfkx239z6gf81qr4pv-grippy-socks-3.5/bin/grippy-socks["/gnu/store/0xbf4haxvsb3x4qfkx239z6gf81qr4pv-grippy-socks-3.5/bin/grippy-socks","--smoke"]["grippy-socks","--smoke"]GRIPPY_SOCKS_SMOKE_OK.goocastle/runtime-evidence-contracts.json (issue #689, SHA-256 c4c3269bbca6b0b7dff2a11c4ebd809c616a53de5b585b70fa32e65dfee3eade).goocastle/evidence/issue-689.png4a3d78a5853afe7410c441d9c43f7927b7ed890123aa24454e28670c369d4f464247cc3758862127b6941ce4d2d4900a2134494355557 bytes / pngImported from GitHub comment. Originally posted by htayj on 2026-09-05T07:57:32Z.
Completed by Goocastle
Imported from GitHub comment. Originally posted by htayj on 2026-09-05T07:57:36Z.