Skip to content

feat(manifest): a manifest cannot declare a minimum ncly core #484

Open

Description

@pascalandy

An extension can depend on a fix in the ncly core, but its manifest.toml cannot declare a minimum core version. The manifest declares only format_version and contract_version. A user who has an older core installs the extension and loses the guarantee without a warning.

Evidence

ncly-video-convert found this gap during batch 2 of Epic 15 (#455, #427). The extension is on template and SDK v0.26.1 (update commit bfe783d, PR pascalandy/ncly-video-convert#17). The fix of #468 (PR #471) needs the v0.26.1 SDK and the v0.26.1 core.

Host om1 (Linux). The same v0.26.1 extension and the same 20,000-file resistant worker under ncly video convert, then SIGTERM:

Core that runs the extension Stage entries left after TERM Signal to exit Answer Input and old output
v0.23.0 1 ~15.03 s TERMINATED unchanged
v0.26.0 1 ~15.03 s TERMINATED unchanged
v0.26.1 0 ~13.22 s TERMINATED unchanged

The answer is TERMINATED in every case, and the input and the old output stay safe. Only the cleanup guarantee depends on the core.

This is a different gap from #473, which is about a larger tree on a v0.26.1 core.

Candidate fixes

The owner chooses one. This issue does not choose.

  1. A manifest field that declares the minimum ncly core. Discovery or dispatch refuses, or warns, when the installed core is older.
  2. The Homebrew formula of the extension pins ncly ≥ v0.26.1, or the minimum that the extension declares.

Until a fix

ncly-video-convert v0.2.2 records the limit under Limits. in spec.md with a link to this issue: it requires Nicely ≥ v0.26.1 for the cleanup guarantee. Its README and release notes say the same. Nobody implements this issue during the batch 2 run.

by Opus-5.5 via Claude Code

Activity

  1. added
    1-needs-triageScope, approach, or direction needs evaluation
    2-type:featureNew or improved functionality; specification lives in the issue
    3-pty:p2Normal planned work; default when no priority is established
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-needs-triageScope, approach, or direction needs evaluation2-type:featureNew or improved functionality; specification lives in the issue3-pty:p2Normal planned work; default when no priority is established

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions