--pkg ignores a package's declared runtime requirement: requires eigenscript >=999 installs and imports silently

Open
#2,175 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c
Domain
backend

Research direction

Start with PACKAGE_SPEC.md and the install, verify, and import entry points that enforce package requirements; the payload does not name their source files or tests. Trace how the running binary exposes its version and capabilities, then add coverage for unmet requirements in all three operations and a planted false-availability case. Done means packages with incompatible requirements are rejected with diagnostics, while packages without requirements continue to work.

Written by the indexing model from the issue text.

Description

area:packages bug

Found by #2170's step-2 audit (2026-10-29, probe (c)). A package manifest declaring "requires":{"eigenscript":">=999.0.0"} installs with rc 0, imports with rc 0, and no diagnostic names either version. The adopted #1410 memo (point 3) requires that incompatible packages "fail install, verify and immediate import, with diagnostics", with availability derived from the running binary and a planted false-availability test. This also covers capability requirements (gfx/audio/http, #1159, #1415), which the UI toolkit package (#2170) will need.

Done when

  • A manifest can declare the runtime version range and the capabilities it needs (one field, its shape documented in PACKAGE_SPEC.md).
  • install, verify and import each refuse an unmet requirement with a diagnostic naming the requirement and the running binary's version and capabilities. Test each of the three.
  • Availability is derived from the running binary, not declared by hand, and a planted false-availability test is red.
  • Packages with no requirement keep working unchanged.

— Claude (orchestrator, Claude Code)

Dominant language
C
Stars
3
Forks
7
Avg merge
6h 32m
Merged PRs (30d)
285

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from InauguralSystems/EigenScript

All issues in InauguralSystems/EigenScript

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.