devrites 7.3.8 → 7.3.9
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/CHANGELOG.md +6 -0
- package/README.md +1 -1
- package/engine/internal/lib/continuation.go +32 -3
- package/engine/internal/lib/frontier.go +17 -3
- package/engine/internal/lib/next.go +1 -0
- package/pack/.claude/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/.claude/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/claude/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/claude/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/codex/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/codex/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/devin/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/devin/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/dsh/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/dsh/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/omp/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/omp/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/pack/generated/pi/skills/rite-autocomplete/reference/loop.md +3 -3
- package/pack/generated/pi/skills/rite-autocomplete/reference/stop-conditions.md +4 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to DevRites are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and DevRites adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are generated automatically by [semantic-release](https://semantic-release.gitbook.io/) from Conventional Commits on `main`.
|
|
4
4
|
|
|
5
|
+
## [7.3.9](https://github.com/ViktorsBaikers/DevRites/compare/v7.3.8...v7.3.9) (2026-11-10)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
* **devrites:** keep parallel autocomplete running past a source GO ([#212](https://github.com/ViktorsBaikers/DevRites/issues/212)) ([8dd7ab3](https://github.com/ViktorsBaikers/DevRites/commit/8dd7ab34a3d5ced36a7adb9ea4f2036db4116dcb))
|
|
10
|
+
|
|
5
11
|
## [7.3.8](https://github.com/ViktorsBaikers/DevRites/compare/v7.3.7...v7.3.8) (2026-11-09)
|
|
6
12
|
|
|
7
13
|
### Fixed
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ history can't lose it. After you clear the conversation, switch hosts, or hand
|
|
|
31
31
|
the feature to another engineer, the next session reads the same plan,
|
|
32
32
|
decisions, and evidence before it continues.
|
|
33
33
|
|
|
34
|
-
**Status:** [`v7.3.
|
|
34
|
+
**Status:** [`v7.3.9`](https://github.com/ViktorsBaikers/DevRites/releases/tag/v7.3.9): see [`CHANGELOG.md`](CHANGELOG.md) for release notes.
|
|
35
35
|
|
|
36
36
|
This is the latest published release; `main` may contain unreleased work.
|
|
37
37
|
|
|
@@ -58,7 +58,11 @@ func RunCheckContinuation(root string, args []string, stdout, stderr io.Writer)
|
|
|
58
58
|
return 2
|
|
59
59
|
}
|
|
60
60
|
if mode && frontierGlobalPriority(slug, frontier) || !mode && !verdict.Required && len(frontier) > 0 && frontier[0] == "frontier: actionable" {
|
|
61
|
-
|
|
61
|
+
reason := "global frontier requires native preparation, authority review, or selection; Git stays unauthorized"
|
|
62
|
+
if mode && frontierHasBatch(frontier) {
|
|
63
|
+
reason = "a source GO does not end autocomplete; run every launch command and every picks writer this turn; do not ask; Git stays unauthorized"
|
|
64
|
+
}
|
|
65
|
+
verdict = continuationVerdict{Required: true, Invoke: "/rite-autocomplete", Source: slug, Reason: reason}
|
|
62
66
|
} else if mode && frontierSourcePreparationWait(slug, frontier) {
|
|
63
67
|
verdict = continuationVerdict{Reason: frontierInheritedPreparationWait}
|
|
64
68
|
} else if mode && !verdict.Required {
|
|
@@ -67,13 +71,37 @@ func RunCheckContinuation(root string, args []string, stdout, stderr io.Writer)
|
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
|
-
writeContinuation(stdout, verdict)
|
|
74
|
+
writeContinuation(stdout, verdict, frontier)
|
|
71
75
|
for _, line := range frontier {
|
|
72
76
|
fmt.Fprintln(stdout, line)
|
|
73
77
|
}
|
|
74
78
|
return 0
|
|
75
79
|
}
|
|
76
80
|
|
|
81
|
+
// frontierHasBatch reports a capped same-turn batch: planning commands and/or
|
|
82
|
+
// admitted slice writers. The controller invoke stays /rite-autocomplete.
|
|
83
|
+
func frontierHasBatch(lines []string) bool {
|
|
84
|
+
for _, line := range lines {
|
|
85
|
+
if strings.HasPrefix(line, "frontier-concurrent: ") || strings.HasPrefix(line, "frontier-picks: ") {
|
|
86
|
+
return true
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return false
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
func writeFrontierBatch(stdout io.Writer, lines []string) {
|
|
93
|
+
for _, line := range lines {
|
|
94
|
+
if cmd, ok := strings.CutPrefix(line, "frontier-concurrent: "); ok && cmd != "" {
|
|
95
|
+
fmt.Fprintf(stdout, "launch: %s\n", cmd)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
for _, line := range lines {
|
|
99
|
+
if picks, ok := strings.CutPrefix(line, "frontier-picks: "); ok && picks != "" {
|
|
100
|
+
fmt.Fprintf(stdout, "picks: %s\n", picks)
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
77
105
|
func classifyContinuation(root, slug string) (continuationVerdict, error) {
|
|
78
106
|
featureDir, err := devritespaths.ExistingFeatureDirChecked(root, slug)
|
|
79
107
|
if err != nil {
|
|
@@ -246,11 +274,12 @@ func continuationArguments(command workflow.Command, args []string, slug string)
|
|
|
246
274
|
return badArgs()
|
|
247
275
|
}
|
|
248
276
|
|
|
249
|
-
func writeContinuation(stdout io.Writer, verdict continuationVerdict) {
|
|
277
|
+
func writeContinuation(stdout io.Writer, verdict continuationVerdict, frontier []string) {
|
|
250
278
|
if verdict.Required {
|
|
251
279
|
fmt.Fprintln(stdout, "continuation: required")
|
|
252
280
|
fmt.Fprintf(stdout, "invoke: %s\n", verdict.Invoke)
|
|
253
281
|
fmt.Fprintf(stdout, "source: %s\n", verdict.Source)
|
|
282
|
+
writeFrontierBatch(stdout, frontier)
|
|
254
283
|
} else {
|
|
255
284
|
fmt.Fprintln(stdout, "continuation: clear")
|
|
256
285
|
}
|
|
@@ -429,7 +429,7 @@ func FrontierLines(root, slug string) ([]string, error) {
|
|
|
429
429
|
}
|
|
430
430
|
if mode && action == "prepare" {
|
|
431
431
|
if cmd, ok := planningCursorCommand(reason); ok {
|
|
432
|
-
concurrent = append(concurrent, cmd)
|
|
432
|
+
concurrent = append(concurrent, commandWithWorkspace(cmd, name))
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
lines = append(lines, fmt.Sprintf("frontier-workspace: %s location=%s action=%s reason=%s", name, n.location, action, reason))
|
|
@@ -625,6 +625,20 @@ func agentOwnedPlanningCursor(n *frontierWorkspace) bool {
|
|
|
625
625
|
return preparationPhase(workflow.ForAction(n.next).Verb)
|
|
626
626
|
}
|
|
627
627
|
|
|
628
|
+
// commandWithWorkspace names the workspace on a phase command that omitted it.
|
|
629
|
+
// `/rite-vet` cannot be launched; `/rite-vet <slug>` can.
|
|
630
|
+
func commandWithWorkspace(cmd, slug string) string {
|
|
631
|
+
if slug == "" {
|
|
632
|
+
return cmd
|
|
633
|
+
}
|
|
634
|
+
for _, field := range strings.Fields(cmd) {
|
|
635
|
+
if field == slug {
|
|
636
|
+
return cmd
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
return cmd + " " + slug
|
|
640
|
+
}
|
|
641
|
+
|
|
628
642
|
func planningCursorCommand(reason string) (string, bool) {
|
|
629
643
|
const prefix = "native internal phase cursor: "
|
|
630
644
|
if !strings.HasPrefix(reason, prefix) {
|
|
@@ -740,10 +754,10 @@ func frontierLocal(root, controller string, n *frontierWorkspace, candidates *[]
|
|
|
740
754
|
if frontierSpecTarget(n) != "" {
|
|
741
755
|
return "complete", "native next Spec cursor recorded", nil
|
|
742
756
|
}
|
|
743
|
-
if
|
|
757
|
+
if invoke, internal, err := internalPhaseEdge(n.next, n.slug); err != nil {
|
|
744
758
|
return "", "", err
|
|
745
759
|
} else if internal && (n.status == "running" || n.agentOwnedPlanning) {
|
|
746
|
-
return "prepare", "native internal phase cursor: " + n.
|
|
760
|
+
return "prepare", "native internal phase cursor: " + commandWithWorkspace(invoke, n.slug), nil
|
|
747
761
|
}
|
|
748
762
|
if command := workflow.ForAction(n.next); command.Verb == "ship" {
|
|
749
763
|
fields := strings.Fields(n.next)
|
|
@@ -44,9 +44,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
44
44
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
45
45
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
46
46
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
47
|
-
Resolve ranked
|
|
48
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
49
|
-
|
|
47
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
48
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
49
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
50
50
|
|
|
51
51
|
## Early preparation admission
|
|
52
52
|
|
|
@@ -33,10 +33,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
33
33
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
34
34
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
35
35
|
when no question cursor is set, no blocking or escalating question is open,
|
|
36
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
37
|
-
|
|
38
|
-
`frontier-concurrent:`
|
|
39
|
-
|
|
36
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
37
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
38
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
39
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
40
40
|
|
|
41
41
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
42
42
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](skill://rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](skill://devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
|
@@ -46,9 +46,9 @@ admission and the global pass below; local readiness is insufficient. Count ever
|
|
|
46
46
|
Explicit activation resets only activation-local counters, not durable recovery.
|
|
47
47
|
Pass resolved `--parallel N` to [Build](../../rite-build/reference/output.md#caller-owned-continuation).
|
|
48
48
|
Legacy or invented execution ceilings never stop this controller; human limits bind.
|
|
49
|
-
Resolve ranked
|
|
50
|
-
a user handoff. Escalating, irreversible-risk, access, unrecommended blocking
|
|
51
|
-
|
|
49
|
+
Resolve ranked picks via `devrites-engine state resolve`, not
|
|
50
|
+
a user handoff. Escalating, irreversible-risk, access, and unrecommended blocking
|
|
51
|
+
picks pause that source only. A Seal GO does not end the run.
|
|
52
52
|
|
|
53
53
|
## Early preparation admission
|
|
54
54
|
|
|
@@ -35,10 +35,10 @@ Autocomplete. Source human/Ship holds remain binding, while independent
|
|
|
35
35
|
authorized planning can continue. `clear` is reply permission, not Ship approval.
|
|
36
36
|
In autocomplete mode, `blocked` or `awaiting_human` is agent-owned recovery
|
|
37
37
|
when no question cursor is set, no blocking or escalating question is open,
|
|
38
|
-
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet.
|
|
39
|
-
|
|
40
|
-
`frontier-concurrent:`
|
|
41
|
-
|
|
38
|
+
and `next_action` is Spec, Clarify, Temper, Define, Plan, or Vet. A GO, Ship,
|
|
39
|
+
Build, question, or blocking hold binds that source only and does not end the run.
|
|
40
|
+
Before any reply, start every `frontier-concurrent:` command and every
|
|
41
|
+
`frontier-picks` writer, at most the cap. Ask only when both are empty.
|
|
42
42
|
|
|
43
43
|
A preparation refusal routes native work or a narrow disclosed scheduling
|
|
44
44
|
deferral under the [global pass](../../devrites-lib/reference/parallel-workspaces.md#continuous-global-frontier).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devrites",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.9",
|
|
4
4
|
"description": "DevRites: a disciplined senior-engineer workflow pack for Claude Code, Codex, omp, pi, and Devin CLI",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://github.com/ViktorsBaikers/DevRites#readme",
|