[P1] ZARA-019 — Make Nix/package entrypoints and dependency metadata reproducible #20

Closed
opened 2026-07-18 19:21:53 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-07-18 19:21:53 +00:00 (Migrated from github.com)

Problem

Build/runtime metadata disagrees:

  • setup.py omits runtime dependencies used by the agent, HTTP, memory, TTS, and tooling paths, and has no zara-wake entrypoint.
  • Package data rules do not reliably include top-level main.pl, kb/, and modules/ in a wheel.
  • wiki/install.org references requirements.txt, but that file does not exist.
  • The flake is hard-coded to x86_64-linux, has no checks output, and shell text claims nix run starts wake mode although the default app runs the CLI with no args.
  • AGENTS.md names spec_zara_inital_fixes.org and t/test_agent.py, neither of which exists on master.

Required fix

  • Decide and document the supported install surface: Nix is primary; Python metadata must either work or explicitly stop claiming support.
  • Align console scripts/apps, package data, runtime dependencies, docs, AGENTS commands, and default app behavior.
  • Add flake checks for syntax, pytest, and Prolog load tests.
  • Support standard Nix systems via eachSystem or document the intentional restriction.
  • Restore the missing authoritative spec or remove the false reference and replace it with the current roadmap.

Required tests

  • Build every flake package/app/check.
  • Test installed wrappers from their Nix store paths with temporary HOME and mocked hardware.
  • If Python packaging remains supported, build/install a wheel in an isolated Nix environment and load all resources.
  • Add scripts/test-packaging.sh.

Acceptance

  • Every documented command exists and behaves as documented.
  • nix flake check executes tests.
  • Installed wake/console/dictate/agent entrypoints locate main.pl and modules.

Branch

fix/zara-019-packaging-contract

Dependencies

ZARA-001, ZARA-002, ZARA-015, ZARA-016.

## Problem Build/runtime metadata disagrees: - `setup.py` omits runtime dependencies used by the agent, HTTP, memory, TTS, and tooling paths, and has no `zara-wake` entrypoint. - Package data rules do not reliably include top-level `main.pl`, `kb/`, and `modules/` in a wheel. - `wiki/install.org` references `requirements.txt`, but that file does not exist. - The flake is hard-coded to `x86_64-linux`, has no `checks` output, and shell text claims `nix run` starts wake mode although the default app runs the CLI with no args. - `AGENTS.md` names `spec_zara_inital_fixes.org` and `t/test_agent.py`, neither of which exists on `master`. ## Required fix - Decide and document the supported install surface: Nix is primary; Python metadata must either work or explicitly stop claiming support. - Align console scripts/apps, package data, runtime dependencies, docs, AGENTS commands, and default app behavior. - Add flake `checks` for syntax, pytest, and Prolog load tests. - Support standard Nix systems via `eachSystem` or document the intentional restriction. - Restore the missing authoritative spec or remove the false reference and replace it with the current roadmap. ## Required tests - Build every flake package/app/check. - Test installed wrappers from their Nix store paths with temporary HOME and mocked hardware. - If Python packaging remains supported, build/install a wheel in an isolated Nix environment and load all resources. - Add `scripts/test-packaging.sh`. ## Acceptance - Every documented command exists and behaves as documented. - `nix flake check` executes tests. - Installed wake/console/dictate/agent entrypoints locate `main.pl` and modules. ## Branch `fix/zara-019-packaging-contract` ## Dependencies ZARA-001, ZARA-002, ZARA-015, ZARA-016.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara#20
No description provided.