Skip to content

feat: establish standalone Rstack Context runtime - #1

Draft
ScriptedAlchemy wants to merge 42 commits into
mainfrom
codex/extract-context
Draft

ScriptedAlchemy wants to merge 42 commits into
mainfrom
codex/extract-context

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Aug 14, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • make @rstackjs/context the standalone owner of its MCP server, producer adapters, store, and queries
  • expose runContextMcpServer() from @rstackjs/context/mcp; no package binary or rs mcp command is required
  • replace Rstack wrapper configs with native rslint.config.* and rstest.config.* discovery
  • upgrade to Rstest 0.12.1 and use its reusable instance API for related-test listing and execution
  • add the related_tests MCP preflight tool; unconfigured packages now fail before Rstest creation or run persistence
  • derive build config provenance from the native Rsbuild plugin context
  • replace the abandoned Rstack plugin SPI export with one @rstackjs/context/shared-config entry
  • use released @rsdoctor/agent-cli@0.1.2 and remove the pkg.pr.new dependency override

Architecture

Context no longer requires Rstack CLI runtime changes. Agent hosts import @rstackjs/context/mcp directly. Explicit lint and test captures use native tool configuration. Passive App and Lib build capture will compose through the shared-configuration design in Rstack RFC #504.

The shared-config export is intentionally release-gated. Rstack has merged the internal layer primitives in #503 and shared-input normalization in #505. App merging is open in #506. Public define.extends(), shared-layer loading, the remaining merge paths, and public type exports must land before the passive-build integration is released.

This direction supersedes the closed Rstack CLI drafts:

Agent workflow packaging remains separate in rstackjs/agent-skills#102.

Verification

  • pnpm install --frozen-lockfile
  • pnpm check
  • pnpm build
  • pnpm test — 185 passed
  • pnpm peers check
  • packed tarball manifest inspection — no binary and no rstack dependency
  • clean-consumer install and import of every public subpath
  • clean-consumer MCP stdio handshake — 16 tools, including related_tests and test_snapshot

Release gate

Keep this PR in draft until the complete public RFC #504 API can be tested end to end for both App and Lib layers. The standalone MCP, native Rslint/Rstest capture, Rsdoctor analysis, and immutable store do not depend on that gate.

@pkg-pr-new

pkg-pr-new Bot commented Aug 14, 2026 •

Copy link
Copy Markdown
npm i https://pkg.pr.new/rstackjs/context/@rstackjs/context@1

commit: 619cc51

ScriptedAlchemy and others added 13 commits August 14, 2026 23:50
The pkg.pr.new override never propagated to consumers, so downstream
installs resolved the published 0.1.1 whose omitted-section semantics
this package cannot ship against. Declaring the commit-pinned canary of
web-infra-dev/rsdoctor#1903 directly makes every install resolve the
build the tests certify. Swap for a release version once the PR ships.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Revert the URL dependency from c01fd3b: published previews must carry
ordinary semver dependencies because blockExoticSubdeps consumers reject
URL-resolved subdependencies (rstack-cli context-plugin-boundary design,
"Preview dependency policy" — adopting it broke rstack-cli installs with
ERR_PNPM_EXOTIC_SUBDEP). Local validation still resolves the pinned
canary of web-infra-dev/rsdoctor#1903, now commit-addressed instead of
floating on the PR ref; consumers on 0.1.1 fall back to the existing
zero-shape degraded reporting for omitted sections.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ScriptedAlchemy ScriptedAlchemy changed the title feat: establish standalone Rstack context runtime feat: establish standalone Rstack Context runtime Sep 24, 2026
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.

1 participant