docs(release): codify same-semver republish recovery + min-dependency-age handling + first-publish checklist#819
Conversation
…-age handling + first-publish checklist Owner directive after the v0.0.1-beta.10 cut (2026-07-17): two release patterns were proven live and need to be reachable before an agent defaults to an unwanted stable-channel semver bump. - Same-semver republish (partial-publish recovery): JSR version immutability binds only published members; a failed/skipped member can still publish at the same semver via fix-forward + tag fast-forward + publish.yml re-dispatch. Cites the beta.10 precedent (33/70 members published, mcp/cli recovered without a version bump — runs 29558968037 -> 29562537123). - Minimum-dependency-age at release time: Deno 2.9's ~24h default rejects same-day publishes; the harness pins --minimum-dependency-age=0 and keeps fresh-plugin resolution in one Deno process (child deno x re-exec drops the flag) — #813 + #817. User-facing 24h window tracked in #818. - First-publish checklist: manual README/tagline/license/exports/docs-site/live-validation checks until #811/#812's publish-readiness automation lands. Regenerated the .claude mirror via agentic:sync-claude; docs:links, sync-claude:check, and fmt all green on touched files.
|
@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment iterations=100 use harness SKILL
Act as a cheap-and-quick documentation accuracy evaluator. Do not edit source, documentation,
Keep the iteration budget small. Prefer one to three decisive manual checks over broad exploration, |
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/29566797252 |
…VAL FAIL_FIX Proves: preflight-vs-publish outcomes are no longer conflated (33 published / mcp failed / cli skipped, separate from the unauthenticated 10-failed/25-skipped graph preflight); byte-identity of already-published members is now a MANDATORY precondition for any tag move, with beta.10 recast honestly as a non-byte-identical move (6 plugins changed) that JSR's skip-existing/fill-unpublished behavior papered over, not a safe precedent; first-publish live-validation wording now matches #808/#809 (in-tree maintainer CLI against a real scaffolded app) with an explicit note that #812's canary channel changes this to canary-published surface + pinned prod E2E verdict. Cures findings 1-3 of .llm/runs/beta10-cli--orchestrator/slices/819-relskill-eval/evaluate.md. Finding 4 (non-blocking, #812 merge-conflict guidance) is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017LHrkXyMzsQwb9bqr82EFK
|
@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment iterations=100 use harness SKILL
Act as a cheap-and-quick documentation accuracy evaluator. Do not edit source, documentation,
Keep the iteration budget small. Prefer one to three decisive manual checks over broad exploration, |
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/29567679980 |
…very doctrine Proves both streams coexist in netscript-release: #812's canary-first mandatory flow (canary pair precondition, publish:readiness, exact-version resolution bullets) AND the FAIL_FIX-corrected recovery doctrine (preflight/publish outcome separation, MANDATORY byte-identity tag-move precondition with beta.10 recast as non-compliant, min-dependency-age forensics, first-publish checklist). First-publish canary wording is now present-tense since #812 is merged. .claude mirror regenerated via agentic:sync-claude, not hand-resolved. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017LHrkXyMzsQwb9bqr82EFK
|
@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment iterations=100 use harness SKILL
Act as a cheap-and-quick documentation accuracy evaluator. Do not edit source, documentation,
Keep the iteration budget small. Prefer one to three decisive manual checks over broad exploration, |
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/29567998698 |
Summary
Codifies two release patterns that were proven live during the v0.0.1-beta.10 cut (2026-07-17) into
the
netscript-releaseskill source, per owner directive: future agents must reach for these beforedefaulting to an unwanted stable-channel semver bump.
What changed
.agents/skills/netscript-release/SKILL.md(source) +.claude/skills/netscript-release/SKILL.md(regenerated mirror via
deno task agentic:sync-claude), additive only:binds only to published members; a failed/skipped member can still publish at the exact same
semver, and workspace
deno publishskips already-registered versions on the members thatalready succeeded. Recovery is fix-forward → tag fast-forward (only when every already-published
member is byte-identical across the move) → re-dispatch
publish.ymlwith thetagworkflow_dispatchinput → the completion pair must go green on the re-dispatched run. Semverbump is documented as the fallback, only when already-published content changed.
2.9's ~24h default rejects same-day publishes; the harness pins
--minimum-dependency-age=0on published-JSR invocations, and a second fix keeps fresh-pluginresolution in one Deno process (
deno x's internal child-process re-exec drops the flag — thebeta.10 double-failure). References the user-facing 24h window tracked in cli: fresh projects hit Deno's 24h minimum-dependency-age wall for every jsr:@netscript/* resolution in the first day after a release #818.
publish.yml, butREADME production standard, tagline cap, license/exports, docs-site coverage, and live tool
validation are still manual until release: canary publish channel — mandatory authenticated pre-publish gate with post-canary live production CI, + publish-readiness automation #811/feat(release): add mandatory canary publish gate #812's
publish-readiness.tscanary-channel automationlands.
Evidence (verified against live GitHub Actions runs before writing)
publish.ymlrun29558968037:33 members published, 10 failed on transient
invalidBearerToken,@netscript/mcpfailed on theregistry-rejected text import (fix(mcp): registry-safe README embedding — JSR rejects text-import attributes #810), 26 more skipped as dependents (
@netscript/cliamong them).8a8a9537(fix(mcp): registry-safe README embedding — JSR rejects text-import attributes #810), tag fast-forwarded froma5adb706, re-dispatched viaworkflow_dispatch(tag=v0.0.1-beta.10, no new Release) →29562537123green,mcpandclipublishing for the first time, all 33 prior members loggingSkipping, already published.2a1c8ed9) pinned the flag,e2e-cli-prodrun29564434302still failed;fix(e2e): bypass Deno 2.9 x flag loss for fresh plugin releases #817 (
aa14e452) fixed thedeno xchild-process flag loss →29566090314green.first-publish-checklist automation citation.
Gates run
deno task docs:links— OK, 0 broken links/anchors/orphans.deno task agentic:sync-claudethendeno task agentic:sync-claude:check— OK, mirrorbyte-identical to source.
deno fmt --checkon both touched files — clean.Scope note
Documentation-only change to skill guidance text; no
packages/**/plugins/**source touched, perthe CLAUDE.md documentation-authoring exception. Not merging — leaving at
status:impl-evalforowner/evaluator review.