Summary
Allow rudi install to accept an exact public HTTPS GitHub tree URL for a
RUDI-compatible stack directory, pin the source to an immutable commit, and
install the stack together with its declared operator skill.
Evidence
- Implementation is complete in an isolated worktree based on current
origin/main.
- Full CLI suite: 716/716 passed across 43 suites.
- Isolated stack-plus-operator integration: 1/1 passed.
- Build, package dry-run, changed-source debt scans, and
git diff --check
passed.
- Fresh-context independent review reported no blocking findings after
remediation.
- A live public rejection smoke failed closed before mutation when the source
lacked the required operator-skill path contract.
Affected Area
- Public GitHub tree parsing, ref resolution, and bounded subtree download
- Core resolver, installer transaction, and provenance lock
rudi install and external-source update behavior
- Native operator-skill projection, MCP activation policy, help, tests, and
generated CLI bundle
Invariants
- Accept exact public HTTPS
github.com/<owner>/<repo>/tree/<ref>/<path> input
only; reject credentials, foreign hosts, query/fragment data, traversal,
symlinks, submodules, ambiguous refs, and incomplete downloads.
- Resolve mutable refs to one full commit SHA before installation.
- Require a canonical RUDI stack manifest and explicit
related.operatorSkillPath containing SKILL.md.
- Install the stack and operator from the same pinned snapshot transactionally;
preserve the prior install and lock on failure.
- Suppress downloaded dependency/build/index execution unless the user gives
explicit script authorization.
- Remove stale MCP index entries whenever activation is deferred or fails.
- Preserve existing Registry and
npm: install behavior.
- Require the explicit GitHub tree URL plus
--force to replace a pinned
external source.
Risk Tier
High. This introduces a software supply-chain input boundary and durable
source provenance. The implementation fails closed, bounds remote traversal,
pins immutable source, verifies installed content and modes, and prevents
implicit downloaded-code execution.
SWE Checklist
Full checklist: docs/swe-compliance/2026-08-29-github-tree-install.md
Acceptance Criteria
- Exact compatible public GitHub tree URLs resolve and install at a pinned SHA.
- The declared operator skill installs from that same SHA and projects safely.
- Invalid, ambiguous, oversized, incomplete, or unsafe source content fails
before a partial install becomes active.
- Existing installs and locks roll back on stack/operator validation failure.
- Downloaded code does not build, install Python requirements, or enter the MCP
tool index without explicit authorization.
- Lock verification detects content and executable-mode tampering.
- Pinned external packages are not silently updated through Registry update
flows.
- Targeted tests, full suite, deterministic build, debt scan, package boundary,
isolated smoke, CI, and independent review are green.
Notes / Out Of Scope
- Private repository authentication and non-GitHub hosts
- Repository-root shorthand and arbitrary non-RUDI repositories
- Publishing a new public fixture or changing the Registry contract
- CLI release, deployment, or installing the candidate on user machines
- Worktree deletion or cleanup without a separate closeout and approval gate
Summary
Allow
rudi installto accept an exact public HTTPS GitHub tree URL for aRUDI-compatible stack directory, pin the source to an immutable commit, and
install the stack together with its declared operator skill.
Evidence
origin/main.git diff --checkpassed.
remediation.
lacked the required operator-skill path contract.
Affected Area
rudi installand external-source update behaviorgenerated CLI bundle
Invariants
github.com/<owner>/<repo>/tree/<ref>/<path>inputonly; reject credentials, foreign hosts, query/fragment data, traversal,
symlinks, submodules, ambiguous refs, and incomplete downloads.
related.operatorSkillPathcontainingSKILL.md.preserve the prior install and lock on failure.
explicit script authorization.
npm:install behavior.--forceto replace a pinnedexternal source.
Risk Tier
High. This introduces a software supply-chain input boundary and durable
source provenance. The implementation fails closed, bounds remote traversal,
pins immutable source, verifies installed content and modes, and prevents
implicit downloaded-code execution.
SWE Checklist
process gap for some independent-review remediations
Full checklist:
docs/swe-compliance/2026-08-29-github-tree-install.mdAcceptance Criteria
before a partial install becomes active.
tool index without explicit authorization.
flows.
isolated smoke, CI, and independent review are green.
Notes / Out Of Scope