Skip to content

setup-toolpath: digest-pinned prebuilt binary to replace the per-container compile #116

Description

@bdelanghe

Follow-up to #112. The SessionStart hook installs path via cargo install path-cli — registry-checksummed, but a real compile (heavy dep tree; minutes per fresh container, backgrounded so nothing waits). The ratchet is the bootstrap's own pattern: fetch a prebuilt binary from a pinned URL and refuse it unless it hashes to a digest recorded where it isn't fetched from (fetch_verified in .claude/README.md's canonical setup-script text).

Needs, in order:

  • A reachable release host. github.com/empathic/toolpath releases 403 through the session proxy (out of repo scope), and pathbase.dev/install.sh pipes unverified bytes — fine for laptops, not for this hook. Options: add the release host to the environment allowlist, or mirror the binary somewhere already reachable (bounded.tools is on the allowlist).
  • Capture the digest for a pinned version (now capturable live: the hook-built path 0.16.1 exists in-session to compare against a downloaded artifact).
  • Teach setup-toolpath.sh to try the pinned binary first, keeping cargo install as the fallback and the same quiet-exit posture. Pin + digest bump together, like the bootstrap's PIN pair.

Not urgent: the compile path works and is verified (#112). This trades minutes of per-container background compile for a pinned fetch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions