@lifeaitools/rdc-skills 0.30.1 → 0.30.2
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
|
@@ -127,11 +127,29 @@ is not helpful — it is what the format exists to remove.
|
|
|
127
127
|
**One block per point:**
|
|
128
128
|
|
|
129
129
|
```
|
|
130
|
-
POINT <n>: AGREE | AGREE-WITH-AMENDMENT | DISAGREE
|
|
130
|
+
POINT <n>: AGREE | AGREE-WITH-AMENDMENT | DISAGREE | UNKNOWN | DEFER
|
|
131
131
|
EDIT: <the exact section and change that SHOULD be made, or NONE — describe it, do not make it>
|
|
132
|
-
REASON: <one sentence —
|
|
132
|
+
REASON: <one sentence — required for AMENDMENT, DISAGREE, UNKNOWN and DEFER>
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
+
**`UNKNOWN` and `DEFER` are answers, not failures.** If you lack the evidence to
|
|
136
|
+
hold a position, say so. A three-value contract forces you to invent one, and an
|
|
137
|
+
invented position is indistinguishable from a settled one in the next round —
|
|
138
|
+
which is how a negotiation converges on something nobody checked. `UNKNOWN` = you
|
|
139
|
+
cannot determine it. `DEFER` = it is determinable but belongs to another owner or
|
|
140
|
+
another round.
|
|
141
|
+
|
|
142
|
+
**Always carry `AS_OF` and `PROBE_STATE`:**
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
AS_OF: <timestamp of your last observation of what you are describing>
|
|
146
|
+
PROBE_STATE: live | cached | absent
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
A claim with no as-of is a claim about an unknown moment. `live` = you probed it
|
|
150
|
+
this turn; `cached` = you are reporting an earlier observation; `absent` = you
|
|
151
|
+
could not observe it and are reasoning from something else. Say which.
|
|
152
|
+
|
|
135
153
|
**For a factual question rather than a proposal:**
|
|
136
154
|
|
|
137
155
|
```
|
|
@@ -147,6 +165,43 @@ OWNER: <who lands the resulting Decision or work item — exactly one agent>
|
|
|
147
165
|
BLOCKED: <what you cannot do from where you are, or NONE>
|
|
148
166
|
```
|
|
149
167
|
|
|
168
|
+
### 1b. A broken briefing is the HOST's defect. Report it; do not repair it.
|
|
169
|
+
|
|
170
|
+
**You are a guest in this workspace.** Checking that everything you were handed is
|
|
171
|
+
actually there is welcome — one quick pass, seconds, before you start reading. It
|
|
172
|
+
catches the host's mistakes early, which is worth doing.
|
|
173
|
+
|
|
174
|
+
**What is not yours is the RECOVERY.** If a path does not exist, a service is
|
|
175
|
+
down, or the tree is not in the state the dispatch claims — say so, in one line,
|
|
176
|
+
and stop. Do not go find the file. Do not search the filesystem, do not search git
|
|
177
|
+
objects, do not resolve which branch really has it, do not reconcile the
|
|
178
|
+
initiator's checkouts. Verifying takes seconds and helps; recovering takes minutes
|
|
179
|
+
and hides the defect.
|
|
180
|
+
|
|
181
|
+
This is not laziness, and it is the opposite of unhelpful. Measured 2026-08-15: a
|
|
182
|
+
peer was handed six paths, two of which did not exist where stated. It did
|
|
183
|
+
everything a capable agent would do — searched the tree, searched hidden files,
|
|
184
|
+
searched `git ls-tree` across refs, found the real versions in `origin/develop`
|
|
185
|
+
and a `v0.30.1` tag, read them from immutable git objects without touching either
|
|
186
|
+
worktree, and reported the mismatch precisely. **The answer was correct and it
|
|
187
|
+
cost 4m23s instead of 60s.** Worse, the initiator's two drifted checkouts stayed
|
|
188
|
+
drifted, because the peer had quietly worked around them — the defect was
|
|
189
|
+
absorbed instead of returned, so nothing got fixed and the next session hit it
|
|
190
|
+
again.
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
BLOCKED: path 3 does not exist: C:/path/as/given. Not searching — fix the briefing.
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
One line, immediately, before reading anything else. The host can fix a wrong path
|
|
197
|
+
in seconds; you cannot fix it at all, because you cannot know whether the path was
|
|
198
|
+
mistyped, the file was renamed, or their checkout is stale. **Guessing which,
|
|
199
|
+
correctly, still leaves their room broken.**
|
|
200
|
+
|
|
201
|
+
The same applies to a service the dispatch told you to use: if CodeFlow or an MCP
|
|
202
|
+
is unreachable, report it and stop. Do not restart it, do not route around it, do
|
|
203
|
+
not substitute a different tool and carry on as though nothing happened.
|
|
204
|
+
|
|
150
205
|
### 2. Declare `BLOCKED` loudly. Silence is the worst answer.
|
|
151
206
|
|
|
152
207
|
If you cannot write, cannot reach a service, or lack the credential — **say it in
|
package/skills/collab/SKILL.md
CHANGED
|
@@ -296,9 +296,22 @@ Two rules that override the table:
|
|
|
296
296
|
Every dispatch carries an explicit answer format. The contract is not politeness —
|
|
297
297
|
it is what makes the reply *checkable*.
|
|
298
298
|
|
|
299
|
-
**
|
|
300
|
-
|
|
301
|
-
|
|
299
|
+
**During a NEGOTIATION, the contract returns information — no field asks the peer
|
|
300
|
+
what it changed.** A `CHANGED: <file paths>` field invites both sides to mutate the
|
|
301
|
+
same artifact mid-argument, which is the v0.27.0 defect this version removes.
|
|
302
|
+
|
|
303
|
+
**This is not a read-only peer, and never say it is.** The constraint is
|
|
304
|
+
SINGLE-WRITER-PER-ARTIFACT (Step 4), not "the guest may not touch anything". A
|
|
305
|
+
peer that is the named writer for an artifact writes it — that is the whole
|
|
306
|
+
mechanism by which an agreed change gets made. What it must not do is edit the
|
|
307
|
+
artifact under negotiation while the negotiation is still open, or edit one it
|
|
308
|
+
does not own.
|
|
309
|
+
|
|
310
|
+
Telling a capable peer it is read-only when the workspace imposes no such rule is
|
|
311
|
+
an invented constraint, and inventing constraints on someone else's behalf costs
|
|
312
|
+
exactly what a wrong constraint always costs: work that could have been done in
|
|
313
|
+
the same turn gets deferred to another round, or gets done anyway and now
|
|
314
|
+
contradicts what you told them. In `delegate` mode the peer is expected to write.
|
|
302
315
|
|
|
303
316
|
**The contract — one block per open point:**
|
|
304
317
|
|
|
@@ -417,6 +430,16 @@ dispatch.
|
|
|
417
430
|
> Two active writers on one surface is forbidden — the same rule the fleet plans
|
|
418
431
|
> state as *"never run two active writers for one effect."*
|
|
419
432
|
|
|
433
|
+
> **The single-writer rule is a stopgap, and it is worth knowing what it stands
|
|
434
|
+
> in for.** Per-artifact version numbers solved this in the 1970s — VMS gave every
|
|
435
|
+
> file a generation (`FILE.TXT;1`, `;2`), so two writers produced two versions and
|
|
436
|
+
> the collision was *detected* instead of silently losing one. Git is that
|
|
437
|
+
> mechanism, better: content-addressed versions plus a merge base that says
|
|
438
|
+
> exactly where two lines of work diverged. A rule that forbids concurrent writing
|
|
439
|
+
> is a rule that declines to use it. Keep single-writer for now — it is cheap and
|
|
440
|
+
> it holds — but do not mistake it for the right answer to two agents on one file.
|
|
441
|
+
> GitHub already handles most of it.
|
|
442
|
+
|
|
420
443
|
**Scope ownership to a named effect or artifact, never to an agent in general** —
|
|
421
444
|
"Claude owns `fleet-throughput-remediation.md`", not "Claude is the writer".
|
|
422
445
|
Transfer is explicit and acknowledged; **silence never transfers ownership**. A
|