feat(resolve): add runtime fetch schema and ResolveSkillURL (Phase 4 PR 1) - #2103
feat(resolve): add runtime fetch schema and ResolveSkillURL (Phase 4 PR 1)#2103ggallen wants to merge 1 commit into
Conversation
…PR 1) Add allow_runtime_fetch and max_runtime_fetches harness fields with validation, and export ResolveSkillURL for single-URL runtime skill resolution with SSRF protection, integrity verification, caching, and "runtime" audit logging. Includes Phase 3/4 implementation plan docs and cross-references from Phase 1/2 plans. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 12:12 AM UTC · Completed 12:23 AM UTC |
|
Review skipped — this PR is already closed. The Posted by fullsend pre-review check |
|
🤖 Finished Retro · ✅ Success · Started 12:12 AM UTC · Completed 12:17 AM UTC |
|
PR #2103 was a human-authored PR opened and closed within 26 seconds (likely reopened as PR #2104). The review agent was dispatched but correctly detected the closed state and skipped. This retro run itself is an example of unnecessary dispatch — no agent involvement, no review, no merge. All improvement opportunities identified are already covered by existing open issues:
No new proposals are warranted. The existing issues, once implemented, would prevent both the unnecessary review dispatch and this retro run from occurring. |
|
Review skipped — this PR is already closed. The Posted by fullsend post-review check |
Summary
allow_runtime_fetchandmax_runtime_fetchesfields to the harness schema with validation (negative max rejected, max without allow rejected, backward-compatible defaults)ResolveSkillURLininternal/resolve/for single-URL runtime skill resolution — reuses existing fetch/cache/integrity/SSRF infrastructure withFetchType: "runtime"audit loggingThis is PR 1 of 3 for Phase 4 (Runtime Dependency Loading) of ADR-0038. PR 2 adds the in-sandbox
fullsend-fetch-skillscript; PR 3 wires the runtime fetch handler intofullsend run.Test plan
make go-test— all pass (5 new harness validation tests, 9 newResolveSkillURLtests)make lint— cleanResolveSkillURLpaths: valid fetch, cache hit, hash mismatch, allowlist rejection, missing hash, non-HTTPS rejection, audit entry, offline miss/hit🤖 Generated with Claude Code