fix(mcp): registry-safe README embedding — JSR rejects text-import attributes#810
Conversation
|
[PHASE: PLAN] Registry-safe publish plan locked at Locked decisions
Next
|
|
@openhands-agent model=openrouter/qwen/qwen3.7-max provider=openrouter effort=xhigh output=pr-comment use harness SKILL
Act as the separate formal PLAN-EVAL session for run Read Write the completed verdict to OUTPUT CONTRACT (mandatory — verdict first)
|
OpenHands Agent — Agent failedOPENHANDS_VERDICT: NONE Model: OpenHands Agent SummaryThe agent run failed before producing a summary. This is a workflow failure, not a task verdict. Diagnostics
See the uploaded Actions artifact for bootstrap.log and agent.log when present. Run: https://github.com/rickylabs/netscript/actions/runs/29559553914 |
Historical lineage — this is the SECOND time this defect shipped (supervisor note)
Consequences encoded in this PR (verify at review):
Follow-up (separate issue, beta.11): a 🤖 Generated with Claude Code |
|
[PHASE: PLAN-EVAL] [VERDICT: PASS] Separate local Claude Code + OpenRouter/Qwen session Artifact: Next
OPENHANDS_VERDICT: PASS |
|
Owner correction to my lineage note above (supersedes point 1): the preflight ban on import attributes is conditional, not permanent — it carries an explicit sunset criterion: lift only when denoland/deno#35546 is fixed, merged, AND released, and the fix is verified by a green authenticated canary publish of a text-import probe. Encode that sunset condition (with the upstream issue link) directly in the preflight check's message and the release-skill prose, so lifting it later is a deliberate, evidence-backed act rather than drift in either direction. 🤖 Generated with Claude Code |
|
[PHASE: IMPL] S2 generated publish assets and the complete publish-surface sweep landed at Scope
Evidence
Reconcile
|
|
[PHASE: IMPL] S3 registry-failing release preflight and corrected guidance landed at Scope
Evidence
Reconcile
|
|
[PHASE: IMPL-EVAL] [VERDICT: FAIL_FIX ADDRESSED] Commit Evidence: scanner tests 7/7 PASS; seeded import attribute exits 1 with the required sunset message; agentic skill sync check PASS; drift.md now explicitly records the PLAN-EVAL fallback lane. Awaiting separate evaluator recheck. |
IMPL-EVAL — cycle 2 PASS (supervisor-dispatched; Claude · Fable 5 · low,
|
|
[PHASE: IMPL] CI guard classification fix landed at
Evidence: guard test 1/1 PASS; |
|
[PHASE: IMPL-EVAL] [VERDICT: PASS] Separate local Claude Code + OpenRouter/Qwen session Evidence: MCP tests 45/45; scanner tests 7/7; release-cut tests 6/6; freshness and preflight green plus seeded-red proofs; MCP publish dry-run; changed-file quality scan; architecture check; skill mirror sync; release-cut regeneration/staging and CI freshness integration. Artifact: The PR remains draft at OPENHANDS_VERDICT: PASS |
|
[PHASE: IMPL-EVAL] [VERDICT: PASS] Follow-up in the same separate Qwen evaluator session The blanket generated-file allowance was removed. Only the Updated artifact: The PR remains draft at OPENHANDS_VERDICT: PASS |
|
Upstream loop closed: root cause filed against the registry as jsr-io/jsr#1478 (server-side analyzer builds its graph with 🤖 Generated with Claude Code |
Summary
JSR rejected
@netscript/mcp@0.0.1-beta.10while buildingcli.tsbecause the registry does not supportwith { type: "text" }, even though localdeno publish --dry-runpasses. This draft replaces publishable import attributes with checked-in generated constants, keeps those constants fresh through release cuts and CI, and hardens release preflight against the registry-only failure class.Publish evidence:
publish.ymlrun29558968037failed@netscript/mcp@0.0.1-beta.10atfile:///cli.ts:18:27withThe import attribute type of "text" is unsupported; 33 siblings published and@netscript/cliwas dependency-skipped.Scope
Slices
1934f357, PLAN-EVALb55681807c17a6d1ad0e5d54, owner correction03a1111f169e2544,594f42406de08672,17d287dc,6258cf71Definition of Done
with { type: ... }import attribute remains in publishablepackages/**orplugins/**source.Validation
f03ae1dd-da69-406a-b725-f3bf391255a8.12b534fe-2771-462a-b012-c61c91968f2aafter its release-cut drift finding was fixed.e12ca085-a89a-4bc7-b144-5482f8b4289f; artifact.llm/runs/fix-mcp-readme-text-import--beta10-jsr-hotfix/evaluate.md.publish:dry-run— PASS.release:preflight— PASS on the fixed tree; seeded import attribute exits 1 with the conditional upstream/canary sunset criterion.check:publish-assets— PASS on the fixed tree; seeded stale output exits 1 and names the stale file.arch:check— PASS with baseline warnings only.Harness
.llm/runs/fix-mcp-readme-text-import--beta10-jsr-hotfix/status:impl-evalper the hotfix handoff constraint.Integration with #812
PR #812 composes this PR's canonical
release:preflighttask intopublish:readiness; it does not duplicate the import-attribute scanner. The #812 tests seed the task boundary and preserve this PR's sunset criterion: lift the ban only after denoland/deno#35546 is fixed, merged, and released in the pinned Deno version and an authenticated canary text-import probe is green.Drift / Debt
drift.md; the successful formal verdict used the canonical local Qwen route.