@rune-kit/rune 2.30.2 → 2.30.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +6 -2
- package/package.json +1 -1
- package/skills/cook/SKILL.md +1 -0
- package/skills/docs-seeker/SKILL.md +1 -0
- package/skills/launch/SKILL.md +1 -0
- package/skills/rescue/SKILL.md +1 -0
- package/skills/scout/SKILL.md +1 -0
- package/skills/team/SKILL.md +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rune",
|
|
3
|
-
"version": "2.30.
|
|
3
|
+
"version": "2.30.3",
|
|
4
4
|
"description": "66-skill engineering mesh with Codex-native skills, subagents, synchronous lifecycle hooks, security gates, MCP-aware workflows, and project memory.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Rune Contributors"
|
package/README.md
CHANGED
|
@@ -103,11 +103,15 @@ Plus **9 domain packs** (product, sales, data-science, support, growth, media, p
|
|
|
103
103
|
|
|
104
104
|
---
|
|
105
105
|
|
|
106
|
-
## What's New (v2.30.
|
|
106
|
+
## What's New (v2.30.3 — Say What You Mean)
|
|
107
|
+
|
|
108
|
+
> **v2.30.3 (2026-07-29):** Claude Code 2.1.218 changed `context: fork` to run **in the background by default** (`opt out with background: false`), and six Rune skills were relying on the old default without saying so — `cook`, `team`, `launch`, `rescue` (every L1 orchestrator), plus `scout` and `docs-seeker`. A background fork reports back as a task notification instead of returning in-line, which silently breaks any caller that needs the result: `cook` waiting on `scout` is exactly that shape, and it fails looking like the sub-step did nothing. All six now declare `background: false`, and `validate-skills.js` fails on any fork skill that leaves it unstated — writing that gate is what surfaced four of the six. Measured honestly: on 2.1.220 in headless mode a 12-second fork returned in-line either way, so this removes a dependency on an unstated default the vendor has announced changing, rather than fixing a reproduced break. 1,653 tests.
|
|
109
|
+
|
|
110
|
+
### Previous (v2.30.2 — Blocked, With a Reason)
|
|
107
111
|
|
|
108
112
|
> **v2.30.2 (2026-07-29):** Finishes the hook I/O sweep, plus the fault that sweep uncovered. Claude Code shows the model **only stderr** for an exit-2 block, and `pre-tool-guard` explained itself on stdout — so a blocked read surfaced as `hook error: […]: No stderr output`. The block worked; the model just never learned why, and could only guess whether to stop or route around it. New `emitBlock()` writes the reason to stderr (Claude Code) and the envelope to stdout (Codex), then exits 2 — verified end-to-end by the model quoting the reason back. Three hooks v2.30.1 missed are also fixed: `quarantine` hand-built its envelope and shipped it with `process.stdout.write` right before `process.exit(0)`, while `auto-format` and `typecheck` printed bare `console.log` with no envelope at all (unflushed on Claude Code, rejected outright by Codex). Two new repo-wide gate tests — no hook writes stdout directly, no hook reads stdin asynchronously — so a new hook cannot reintroduce either. 1,651 tests.
|
|
109
113
|
|
|
110
|
-
|
|
114
|
+
#### Earlier (v2.30.1 — Hooks That Land)
|
|
111
115
|
|
|
112
116
|
> **v2.30.1 (2026-07-29):** Five hooks had been running, exiting 0, and reaching nobody — nothing logged an error, so the hook layer looked healthy while contributing nothing. Two independent faults, each fatal on its own: **`process.stdout.write` from an exit handler is not guaranteed to reach a piped stdout** (most hooks emit via `captureConsole`, which flushes on exit — the envelope was built, "written", and lost; now `fs.writeSync(1, …)`), and **a hook that collects stdin with an async listener has its stdout discarded by Claude Code** even when the write is synchronous (new `hooks/lib/hook-stdin.cjs` reads with `readFileSync(0)`; `intent-router`, `context-watch`, `metrics-collector`, `pre-tool-guard`, `quarantine` converted). Both isolated by differential test — identical hooks, one variable at a time — and confirmed by the model quoting hook-injected context back. Separately, `intent-router` never had an index to read: `skill-index.json` is emitted at build time and Claude Code doesn't compile, so all five candidate paths were missing and it exited silently on every prompt since it shipped. New `scripts/build-skill-index.js` generates it at the plugin root with a `--check` staleness gate in CI. It was also registered `"async": true`, which drops `additionalContext` outright. 1,649 tests.
|
|
113
117
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rune-kit/rune",
|
|
3
|
-
"version": "2.30.
|
|
3
|
+
"version": "2.30.3",
|
|
4
4
|
"description": "66-skill mesh for AI coding assistants — native lifecycle hooks for Claude Code and Codex, 5-layer architecture, 248 connections + 45 signals, and a 13-platform compiler.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/skills/cook/SKILL.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: cook
|
|
3
3
|
description: "Feature implementation orchestrator. ALWAYS use this skill for ANY code change — implement, build, add feature, create, fix bug, or any task that modifies source code. This is the default route for 70% of all requests. Runs full TDD cycle: understand → plan → test → implement → quality → verify → commit."
|
|
4
4
|
context: fork
|
|
5
|
+
background: false
|
|
5
6
|
agent: general-purpose
|
|
6
7
|
metadata:
|
|
7
8
|
author: runedev
|
package/skills/launch/SKILL.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: launch
|
|
3
3
|
description: "Deploy + marketing orchestrator. Use when user says 'launch', 'ship to production', 'deploy and announce', or 'go live'. Runs the full pipeline — pre-flight tests, deployment, live verification, marketing asset creation, and announcement."
|
|
4
4
|
context: fork
|
|
5
|
+
background: false
|
|
5
6
|
agent: general-purpose
|
|
6
7
|
disable-model-invocation: true
|
|
7
8
|
metadata:
|
package/skills/rescue/SKILL.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: rescue
|
|
3
3
|
description: "Legacy refactoring orchestrator. Use when user says 'refactor', 'modernize', 'clean up this mess', 'rescue', or when dealing with old/messy/legacy code. Multi-session workflow — autopsy, safety net, incremental surgery, progress tracking."
|
|
4
4
|
context: fork
|
|
5
|
+
background: false
|
|
5
6
|
agent: general-purpose
|
|
6
7
|
metadata:
|
|
7
8
|
author: runedev
|
package/skills/scout/SKILL.md
CHANGED
|
@@ -3,6 +3,7 @@ name: scout
|
|
|
3
3
|
description: "Fast codebase scanner. Use when any skill needs codebase context. Finds files, patterns, dependencies, project structure. Pure read-only — never modifies files."
|
|
4
4
|
context: fork
|
|
5
5
|
agent: general-purpose
|
|
6
|
+
background: false
|
|
6
7
|
model: haiku
|
|
7
8
|
metadata:
|
|
8
9
|
author: runedev
|
package/skills/team/SKILL.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: team
|
|
3
3
|
description: "Multi-agent meta-orchestrator. Use when task spans 5+ files or 3+ modules, or when user says 'parallel', 'split this up', 'do all of these'. Decomposes large tasks into parallel workstreams, assigns to isolated cook instances, coordinates merging."
|
|
4
4
|
context: fork
|
|
5
|
+
background: false
|
|
5
6
|
agent: general-purpose
|
|
6
7
|
metadata:
|
|
7
8
|
author: runedev
|