Separate shared pstack workflows from harness and lane adapters - #33
Merged
Merged
Conversation
This was referenced Oct 6, 2026
OpenCode exposed parent and provider assumptions spread across setup, dispatch, and documentation. Keep one portable workflow tree while making its configuration and integration boundaries explicit. - Resolve harness paths, identity, native routes, and launch capabilities from a small metadata table and a shared read-only context command. - Share descriptor parsing, project scope resolution, and model refusal between configuration inspection and lane validation. - Isolate OpenCode lanes behind fresh deny-first agents, refuse unsupported efforts and model routers, and expose their lack of shell execution. - Preserve existing Claude, Codex, and gateway launch contracts, upstream skill bodies, and the independent OpenRouter history below this commit. - Consolidate current usage, ownership, attribution, and verification docs; delete seven duplicate or completed historical Markdown files. - Replace prose-mirroring tests with configuration, routing, worktree, and installed OpenCode permission checks; typecheck the shared scripts once. - Keep the installed live gate explicit and move older verification debt to GitHub Issues rather than retaining a repository ledger. Refs #3, #33, #34, #35, #36.
thisguymartin
force-pushed
the
feat/opencode-parent
branch
from
October 6, 2026 05:09
af98470 to
63e4b33
Compare
thisguymartin
marked this pull request as ready for review
October 6, 2026 05:25
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.
Refs #3, #34, #35. Historical installed-test debt is tracked in #36.
What changed
pstack-flex now treats the parent coding harness and the lane provider as separate inputs. One shared skill tree uses a small harness table, a shared configuration reader, and explicit provider launch boundaries. Adding a harness means adding metadata and its tool/instruction mapping, without copying skills or setup.
harnesses.tsowns native routing, paths, identity, session, and launch metadata.pstack-contextreads the selected configuration once; setup uses--paths-onlyso broken sheets can still be repaired.README-UPSTREAM.md,UPSTREAM-FLEX.md,docs/LANES.md,docs/USAGE.md,docs/gateway-model-probes.md, and both completeddocs/plans/documents. Durable verification debt moved to Issues.History is one commit,
63e4b337504abb5037c977917b731b2d3d11da09, afterb49b15d. Upstream and the independently merged OpenRouter work remain intact. PR base is nowmain.Verification
bash scripts/check.sh: 256 tests pass, strict typechecks pass, manifest/static checks pass, and both Claude plugin validators pass. GitHub CI also passes for this SHA: 254 tests pass and the two installed OpenCode tests are explicitly skipped because that CLI is absent.Behavior comparison: 36/36 existing non-OpenCode launch contracts are identical across parent/provider/access combinations against the rebased pre-cleanup feature. Six OpenCode cases intentionally change permissions and agent environment. This is a launch-contract comparison, not a substitute for live provider behavior.
Installed OpenCode permission checks passed on 1.18.9 and were rerun on 1.18.34: both modes deny shell/task/web/skill tools despite explicit ambient allows; read-only cannot edit; writers can edit inside the worktree and cannot write outside it. These use the actual CLI without model/network calls.
Interrogate completed with Fable 5.1, GPT-6 Astra, and Opus 5.5. Grok 4.7 was a named unavailable-CLI dropout. Consensus permission findings and substantive configuration/routing findings were fixed. Final frozen-SHA confirmation found no remaining substantive defect. Lead verdict.
Live evidence: Claude Code
Live evidence: Codex
Live evidence: OpenCode beta
Remaining required gate: opt-in/opt-out, actual setup writes and unchanged reruns, invalid-probe rollback, installed worktree scope behavior, native/external mixed panels, and affected background/cancellation flows in every parent. No merge, tag, release, or rollout until those pass. This PR remains draft.