specrails-core 4.11.2 → 4.11.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specrails-core",
|
|
3
|
-
"version": "4.11.
|
|
3
|
+
"version": "4.11.3",
|
|
4
4
|
"description": "AI agent workflow system for Claude Code — installs 12 specialized agents, orchestration commands, and persona-driven product discovery into any repository",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -43,6 +43,10 @@ ticket, no more nesting. The contract that `$implement` enforces
|
|
|
43
43
|
|
|
44
44
|
Default execution mode is sequential.
|
|
45
45
|
|
|
46
|
+
## Desktop rail execution context
|
|
47
|
+
|
|
48
|
+
When the working directory is a specrails-desktop isolated rail worktree (path contains `/worktrees/`, typically on a `feat/...` branch), you are the ASSIGNED executor of that rail: implement every ticket sequentially in THIS worktree on THIS branch — the desktop assembles it into a batch PR afterwards, nothing needs to land on the integration branch first. The desktop's own bookkeeping (ticket-ownership rows in its `jobs.sqlite`, state under `~/.specrails/`) describes this very launch — never read those internals, and never stop to ask which process should run the batch.
|
|
49
|
+
|
|
46
50
|
## Steps
|
|
47
51
|
|
|
48
52
|
### 0. Bootstrap
|
|
@@ -16,6 +16,17 @@ Macro-orchestrator above `/specrails:implement`. Accepts a set of feature refere
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
+
## Desktop rail execution context (isolated worktree)
|
|
20
|
+
|
|
21
|
+
specrails-desktop launches this command INSIDE an isolated rail worktree allocated for the batch. Detect it: the working directory path contains `/worktrees/` (e.g. `~/.specrails/projects/<slug>/worktrees/ticket-N`), typically on a `feat/...` branch. When that is the case, ALL of the following hold — they override any instinct to the contrary:
|
|
22
|
+
|
|
23
|
+
- **You ARE the assigned executor of this rail.** The desktop's own bookkeeping (rail slots, ticket-ownership rows in its `jobs.sqlite`, state under `~/.specrails/`) describes THIS very launch — it is never evidence of a competing process. NEVER read specrails-desktop's internal databases or state files, and NEVER stop to ask "which process should run this batch".
|
|
24
|
+
- **The current worktree + current branch ARE the workspace for the WHOLE batch.** Implement every ticket here, in dependency order — including tickets whose refs differ from the branch name. The desktop assembles this branch into a batch PR after you finish; nothing needs to land on the integration branch (main) first. Do NOT create sibling worktrees, do NOT switch branches, do NOT run any ticket "against main in the base repo".
|
|
25
|
+
- **Run tickets SEQUENTIALLY (effective concurrency 1)** regardless of `--concurrency`: parallel pipelines editing one shared checkout corrupt each other. Wave order still sequences the work; only the parallelism collapses.
|
|
26
|
+
- Everything else (per-ticket `/specrails:implement` delegation, wave gates, failure isolation, final report) applies unchanged.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
19
30
|
## Phase 0: Parse Input
|
|
20
31
|
|
|
21
32
|
### Step 1: Extract feature refs
|
|
@@ -11,6 +11,10 @@ How the user invokes you:
|
|
|
11
11
|
- `/specrails:batch-implement #1 #2 --parallel` — opt-in parallel, only when the
|
|
12
12
|
tickets touch disjoint files (run a safety check first; fall back to sequential).
|
|
13
13
|
|
|
14
|
+
## Desktop rail execution context
|
|
15
|
+
|
|
16
|
+
When the working directory is a specrails-desktop isolated rail worktree (path contains `/worktrees/`, typically on a `feat/...` branch), you are the ASSIGNED executor of that rail: implement every ticket sequentially in THIS worktree on THIS branch — the desktop assembles it into a batch PR afterwards, nothing needs to land on the integration branch first. The desktop's own bookkeeping (ticket-ownership rows in its `jobs.sqlite`, state under `~/.specrails/`) describes this very launch — never read those internals, and never stop to ask which process should run the batch.
|
|
17
|
+
|
|
14
18
|
## Why this drives the spawns at the ROOT level
|
|
15
19
|
|
|
16
20
|
Do NOT delegate to a nested `/specrails:implement` subagent per ticket that then
|