Skip to content

Registered extension project_path is manifest-less for registry installs, so the extension can't boot #62

Description

@mthelm85

register_extension() defaults project_path to pkgdir(KaimonSlate). For a registry install (pkg> app add KaimonSlate) that's the depot package dir (~/.julia/packages/KaimonSlate/<slug>): it contains Project.toml and kaimon.toml, but no Manifest.toml, and Pkg write-protects it.

Kaimon spawns the extension with --project=<project_path>, and the boot script's Pkg.resolve() tries to repair the environment — but it can't write a manifest into the protected depot dir (SystemError: opening file ".../Project.toml": Permission denied when attempted manually), so using KaimonSlate fails to resolve the package's deps and the extension crash-loops.

This works for dev checkouts (instantiated project in place), but not for the documented app add install path.

Workaround that got me running: copy pkgdir(KaimonSlate) to a writable directory, Pkg.add("Kaimon") + Pkg.instantiate() there, and register_extension(force=true, project_path=<copy>).

Possible directions: have Kaimon materialize a managed, instantiated environment per extension (e.g. under its cache dir) with the extension package added to it, keeping kaimon.toml discovery at the package dir; or have register_extension() build such an env at registration time. Happy to contribute a PR once there's a preferred design.

Related: #61 fixes the same manifest problem for the Kaimon entry on the extension's load path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions