orchestrix-skills 0.2.0 → 0.3.0

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": "orchestrix-skills",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Capability-first AI development skill graph — Anthropic-native skills that run in any agent runtime.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -4,7 +4,7 @@ description: Use when a goal must be delivered end-to-end by composing skills, w
4
4
  license: MIT
5
5
  allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Task]
6
6
  metadata:
7
- version: 2
7
+ version: 3
8
8
  contract:
9
9
  inputs: [intent, constraints?]
10
10
  reads: [skill-registry, taste/*]
@@ -46,9 +46,20 @@ no step above intent.
46
46
  the same turn, for speed. Keep dependent steps sequential. NEVER fire-and-forget
47
47
  a background subagent and end the turn waiting to be woken — run foreground and
48
48
  await; there is no reliable async wake.
49
- 5. **Verify (gate).** Run the skill's `verify`. If it fails, re-dispatch the
50
- **same** skill with the failure as feedback (see Rework). If it passes,
51
- continue.
49
+ 5. **Verify (gate) — executable, not prose.** Prove the skill's `verify` with a
50
+ REAL command you run yourself via Bash, and capture the proof:
51
+
52
+ ```
53
+ .orchestrate/verify/step-<n>-attempt-<k>.log ← exact command + exit code + output tail
54
+ ```
55
+
56
+ The command comes from the step's nature (test runner, build, `git fsck`,
57
+ `test -f`, a curl against the running app …) — pick the one that would FAIL
58
+ if the claim were false. The subagent's own success report is NOT
59
+ verification. A prose-only verify is acceptable only when no command can
60
+ prove the claim (e.g. judging tone) — say so in the log file. If verify
61
+ fails, re-dispatch the **same** skill with the failure as feedback (see
62
+ Rework). If it passes, continue.
52
63
  6. **Accept (gate).** Apply the rule below. Then continue — do not pause to ask
53
64
  "should I keep going?" mid-run.
54
65
  7. **Repeat** 3–6 until the intent is fulfilled.
@@ -66,12 +77,19 @@ no step above intent.
66
77
 
67
78
  You are the teeth. The fields are only data; you enforce them.
68
79
 
69
- ## Rework is a loop, not a skill
80
+ ## Rework is a loop, not a skill — and the loop is BOUNDED
70
81
 
71
82
  A failed `verify` or a `changes_requested` review is not a separate "fix" step.
72
83
  Re-dispatch the same skill with the feedback as an input (e.g. `qa_feedback`).
73
84
  Same capability, new input.
74
85
 
86
+ **Hard cap: 3 attempts per step.** If a step's verify still fails on attempt 3,
87
+ STOP the run — do not burn a 4th attempt. Write a `gate` event to the ledger
88
+ (`{"e":"gate","kind":"rework_exhausted","question":"step <n> (<skill>) failed 3
89
+ attempts: <one-line why>"}`), summarize the three failures for the human, and
90
+ report AWAIT. A step that cannot pass its own verify after three tries needs a
91
+ human decision (wrong approach, wrong spec, or wrong verify), not more tokens.
92
+
75
93
  ## Metabolism
76
94
 
77
95
  When the human corrects something at final acceptance ("not on-brand", "wrong
@@ -97,8 +115,9 @@ Events and when to write them:
97
115
  | `run_end` | at delivery or abandonment | `{"e":"run_end","run":"...","result":"delivered\|paused\|abandoned","ts":"..."}` |
98
116
 
99
117
  A step recorded `done` is done — do not re-dispatch it. `evidence` on a `done`
100
- step is required (the verify output file or a one-line result); a `done` with no
101
- evidence is a false claim.
118
+ step is required and should be the step's verify log path
119
+ (`.orchestrate/verify/step-<n>-attempt-<k>.log`); a `done` with no evidence is
120
+ a false claim.
102
121
 
103
122
  ## Context discipline (stay lean)
104
123
 
@@ -117,4 +136,6 @@ evidence is a false claim.
117
136
  - Re-dispatching a step the ledger already marks done
118
137
  - Dispatching a step without first writing its `dispatched` ledger line
119
138
  - Ending a run without a `run_end` ledger line
139
+ - Marking a step done on the subagent's say-so, without your own verify command
140
+ - A 4th rework attempt on the same step (cap is 3 — stop and gate)
120
141
  - Marking the run complete without every step's `verify` evidence