feat(resources): align built-in provider components - #422
Merged
schickling-assistant merged 3 commits intoSep 2, 2026
Merged
Conversation
agent-identity: dev3.direct.omp.536sbpvb agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.0.11 agent-runtime: OMP 18.0.11 tooling-profile: dotfiles@000f2b3
schickling-assistant
marked this pull request as ready for review
September 2, 2026 16:42
agent-identity: dev3.direct.omp.536sbpvb agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.0.11 agent-runtime: OMP 18.0.11 tooling-profile: dotfiles@000f2b3
agent-identity: dev3.direct.omp.536sbpvb agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.0.11 agent-runtime: OMP 18.0.11 tooling-profile: dotfiles@000f2b3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The built-in GitHub PR, GitHub Issue, PTY, and Vista components did not implement the resource contracts used by current catalogs. GitHub identities and observations were incomplete, while PTY and Vista still pinned resource identity in host capability configuration instead of deriving it from each canonical URI.
The live catalog still contains the retired
runtime { argv ... }profile grammar. Raw-preimage snapshot/apply parsed that incumbent through the full current catalog schema, making the invalid declaration impossible to capture and atomically replace.Goal
Make the four built-in WASI components the authoritative provider implementation for dynamic GitHub, PTY, and Vista resources, and let raw-preimage transactions safely migrate the legacy live catalog to those typed component profiles.
Decisions
ghexecutable; retain the token only in a sensitive host header.Verification
nix develop -c cargo test --test catalog_apply raw_preimage— 7 passed, 0 failed; covers legacyargvcapture/repair plus malformed envelopes, effective PTY-root changes, hard links, wrong CAS, mutable-state preservation, and resume.nix develop -c cargo test -p st2-resource-providers --lib— 24 passed, 0 failed, 2 subprocess fixture helpers ignored.nix develop -c cargo check --workspace --all-targets --all-featurespassed in the earlier provider validation.nix build .#checks.x86_64-linux.wasip2-resource-providers --no-linkpassed in the earlier provider validation; it runs both GitHub component integration tests and the supervisor/provider E2E suites with all four built components.nix flake checkpassed in the earlier provider validation: all 22 x86_64-linux checks.Complexity
No new dependency. The narrow envelope parser reuses the catalog node semantics without admitting legacy profile data. The additional process ownership code is required to enforce bounded credential discovery without leaking tokens or child processes.
Concerns
The GitHub modules resolve authentication when the module is constructed. A missing credential keeps public Issue reads anonymous, while authenticated PR reads fail through the existing typed error path.
Friction & bottlenecks
Follow-ups
The consuming catalog change must pin commit
66e7751until the PR merges, then advance its lock back tomain. No manually maintained fixed-output hash is required: st2 packages Rust dependencies directly fromCargo.lock, and the downstream source is a flake input.References
Downstream catalog migration follows in the dependent dotfiles stack.
Posted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimetooling_profile