Skip to content

feat(skill-runtime): support digest node bundles - #112

Open
qinhan-lyu wants to merge 1 commit into
PhyAgentOS:devfrom
qinhan-lyu:feature/skill-runtime-node-bundles
Open

feat(skill-runtime): support digest node bundles#112
qinhan-lyu wants to merge 1 commit into
PhyAgentOS:devfrom
qinhan-lyu:feature/skill-runtime-node-bundles

Conversation

@qinhan-lyu

Copy link
Copy Markdown

Problem

Upstream dev can lock a Forge node only as a single-executable
executable_tar_gz archive. The RoboDojo G05 Skill needs two independently
versioned multi-file node bundles and must verify the exact installed payload.

What / Fix

Add an optional digest form to a Skill node lock. For digest-locked bundles,
the installer verifies the embedded node-manifest.json (node id, artifact id,
version, digest and host) and resolves entrypoints from that manifest. The CLI
and environment builder handle both lock forms while the legacy
executable_tar_gz behaviour stays unchanged.

Verification

  • python -m compileall -q PhyAgentOS passed.
  • pytest -q tests/test_environment_injection.py tests/test_manager_flow_running.py tests/test_startup_timeout.py passed: 19 tests.
  • A targeted synthetic digest-bundle install check passed: manifest validation,
    installation, load_entrypoints() and executable lookup.
  • tests/test_forge_task_tool_serialization.py was not run locally because the
    local pytest environment lacks pytest-asyncio; repository CI is still pending.
  • No GPU, Isaac Sim, Agent or evaluation run was performed.

Allow Skill manifests to pin multi-file Forge node bundles by the
digest of their embedded node-manifest.json. The installer verifies
node_id, artifact_id, version, digest and host, then exposes the
manifest entrypoints. Existing executable_tar_gz locks are unchanged.

The RoboDojo G05 Skill needs both the gateway and bench_endpoint
entrypoints from one digest-pinned bundle.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants