Implement researched Guix package outcome for #404: [Guix packaging] Intelligence: Rae Lives #699
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#699
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 #404 ([Guix packaging] Intelligence: Rae Lives).
The host-validated research finding follows:
Canonical upstream is https://github.com/littleglassdiode/irl. Use the immutable current master revision 2085fa6f55abf53ea1a07bb348f99a720763bbbd (2014-03-05), version 0.0.1-0.20140305; the Guix recursive source hash of that tracked tree is 6nzbmi33qsircnv323vzf47kqxbtxknhybyjas5fv2m775d4ckga (git-archive SHA-256 f7ae3a6885fa00c676f9261ed1bde8d3de32ee5ce9ddd63a78eb179173335454). Upstream has an annotated 0.0.1 tag at 6819275b0b08f75315e6adea71d42b653e4aac51, but the selected revision is the later renamed-game tip; no newer release metadata was present. The local channel/audit set has no same-upstream or Rae Lives equivalent, so this is an ordinary delivery. The source is a small C99 ncurses terminal game: ldt.sh compiles every src/.c with gcc -Wall -std=c99 and links -lm -lncurses; there is no Makefile, configure step, language registry, or upstream test target. Implement tay/packages/raelives.scm, module (tay packages raelives), public package name raelives, with gnu-build-system, configure disabled, explicit compilation/linking from src/.c, native-input gcc-toolchain, and ncurses runtime/build input; do not run ldt.sh because its source-tree build stamps and unquoted command construction are not package-safe. Install the binary privately as /libexec/raelives, a /bin/raelives wrapper, and COPYING plus selected project documentation under share/doc/raelives. The only project origin is the repository (git submodule status is empty); all 14 C source/header files carry the same full MIT grant as COPYING, credited to Clayton G. Hobbs, and AUTHORS names Clayton G. Hobbs and TheDarklingWolf. No fonts, tiles, sounds, bundled libraries, registry downloads, updater, telemetry, or runtime network access are present. Do not install testmap: it is an unlicensed-looking fixture for the unfinished load path, and main.c never uses loadlevel; if it is ever shipped, obtain separate provenance first. The game has no implemented save/load (TODO line 1), persists no state, and accepts normal key input with Q to exit. The package wrapper must add an exact --smoke mode that creates a private temporary state/work directory below XDG_STATE_HOME or HOME, sets a fixed TERM and PTY size 24x80, launches the real /libexec/raelives, waits for the Rae/map screen, sends l to exercise a legal movement from the initial map position, verifies a post-move screen and clean Q exit, asserts the work directory has no store path, then prints exactly RAELIVES_RUNTIME_OK on stdout. No direct feasibility build was attempted because this phase is explicitly daemon-disabled; the authoritative build script and closure establish source-buildability, while later Guix build/lint/check and PTY artifact validation remain acceptance work. Planned acceptance: guix lint -L . raelives; guix build -L . --no-grafts raelives and --check; run any available upstream checks (none declared); and invoke the installed wrapper as raelives --smoke from fresh HOME/XDG_STATE_HOME, retaining .goocastle/evidence/issue-404.png and asserting the single-line marker plus no store writes.
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-09T03:41:36Z.
Goocastle verified runtime evidence.
Runtime receipt
raelivessafe-package-proof["node","/opt/goocastle/bin/guix-package-proof.mjs","--package-name","raelives","--module-path","tay/packages/raelives.scm","--runtime-json","{"executable":"raelives","invocation":{"file":"raelives","args":["--smoke"]},"successMarker":"RAELIVES_RUNTIME_OK"}"]runtime-screenshot["sh",".goocastle/capture-guix-package-screenshot.sh"]/gnu/store/5l27wjd5j9cbasqg548a3mw246ap2l60-raelives-0.0.1-0.20140305/bin/raelives["/gnu/store/5l27wjd5j9cbasqg548a3mw246ap2l60-raelives-0.0.1-0.20140305/bin/raelives","--smoke"]["raelives","--smoke"]RAELIVES_RUNTIME_OK.goocastle/runtime-evidence-contracts.json (issue #699, SHA-256 dba7939a029815e07226fa9c23f9a1a56be183e08d046c3a307707676d763a60).goocastle/evidence/issue-699.pngba942cba873a372ad6956073aa272e19ac43f1bef60ac0939c835663b0ef3c81dc984e1a24132c7e26f87376eca39d4f8bb62d5016145 bytes / pngImported from GitHub comment. Originally posted by htayj on 2026-09-09T05:57:45Z.
Completed by Goocastle
Imported from GitHub comment. Originally posted by htayj on 2026-09-09T05:57:49Z.