Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 30 additions & 14 deletions skills/delegation-and-review/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ treat every returned result as a claim until verified.
the wrong build while every request returns 200, which reads as a bug
in your own change. Defenses (pick one of the two, apply it fully —
what you persist differs by defense): (1) a unique fixed port per
worktree, run
worktree or independent session tree, run
with fallback disabled so a collision fails loud, the NUMBER
persisted and propagated to every session-local reference (proxy,
env, browser entry) — an explicit address-in-use bind error is the
Expand Down Expand Up @@ -98,20 +98,23 @@ treat every returned result as a claim until verified.
with flag and battery unchanged, and a second vendor's reproduced
failure inverted to a pass days later, strings unchanged). Date-stamp
every such measurement where it is recorded; at decision time, re-run
the probe — its route first verified per the labels rule below (an
the probe — its battery responses route-attributed per the labels
rule below, not just a preceding trivial check (an
unattributed answer measures an unknown model, not the slug's) —
and cite the fresh result's timestamp and configuration —
the fresh result informs the routing, it never replaces §2's edge
specification and proof gate for the work itself, and no measurement
pins the endpoint's behavior on the next request. Probe unavailable
or failing → the property is unknown: route as if unguarded and spec
or failing → the property is unknown: route as if the property were
absent (no edge guard, no latency class, no failure signature) and spec
the edge per §2. Done when the decision record cites the fresh probe
(timestamp + configuration, its route attributed per the labels
rule below) or the unknown-property fallback — an
undated behavioral claim about a hosted endpoint is expired on
arrival, and an unattributed probe never satisfies the citation.
✅ "re-ran the edge battery this session — the wrapper's route line
named the slug — cited its timestamp in the
named the slug as what answered each response — cited its timestamp
in the
routing note, and specced the edge in the packet anyway."
❌ "we already measured that model guarding this edge, so route the
edge-risky work to it" — any prior measurement reused for a routing
Expand All @@ -127,15 +130,25 @@ treat every returned result as a claim until verified.
— a model ANSWER to that prompt, AND the wrapper's own route report
naming this route as what ANSWERED (a banner echoing the requested
slug is configuration, not attribution) — wrapper banners,
usage text, diagnostics, or error pages are not answers. A wrapper
WITH an attribution channel whose report is missing, ambiguous, or
names a silent fallback leaves the route unverified — like an error
or a non-answer, do not dispatch dependent work on it
(§4's retry/escalation ladder governs). A wrapper with NO
attribution channel by design can only ever yield a
usage text, diagnostics, or error pages are not answers. Channel
presence is established, never assumed: the wrapper's docs or config
declaring a what-answered report, or a prior same-wrapper invocation
that emitted one, establishes the channel; NO-channel-by-design is
established only by that same evidence positively showing none
exists. Channel established but this invocation's report missing,
ambiguous, or naming a silent fallback → the route is unverified —
like an error or a non-answer, do not dispatch dependent work on it
(§4's retry/escalation ladder governs); channel presence UNKNOWN →
the same, fail closed. Only a wrapper positively established as
never emitting attribution yields the
reachability-only pass: the route stays unattributed — record that
limit wherever the pass is cited, and dependent dispatch on it
carries the recorded limitation, never a verified-route claim. A
carries the recorded limitation, never a verified-route claim.
✅ "wrapper docs define no route field and no invocation has ever
emitted one — recorded 'reachability-only, route unattributed' in
the dispatch note and proceeded on that recorded limit."
❌ "no route line this time — must not have a channel; dispatched"
(unknown channel presence is a block, not a downgrade). A
pass expires with the
session — a later session re-runs the probe before dispatching on
it (re-reading the lineup, per the volatile-lineups rule above, is
Expand Down Expand Up @@ -175,9 +188,12 @@ Every packet names:
SEARCH scope is then every surface that can produce that target:
literals and direct references, shared/global definitions, helpers
that construct or return it. Hunt generators per §3's miss-is-costly
loop — its finders quoted verbatim: "Run axis-diverse finders — by-
container, by-content, by-entity, by-time — one axis per finder so
blind spots don't line up", with dedup against everything surfaced
loop — its finders quoted verbatim: "Run axis-diverse finders —
by-container, by-content, by-entity,
by-time — one axis per finder so
blind spots don't line up", with its dedup clause verbatim — "Dedup
new findings against everything ever surfaced, including ones
already rejected: dedup against confirmed-only never converges" —
and its two-consecutive-empty-rounds stop rule — and at least one
producer/effect axis (what shared definitions and constructors can
produce this kind of output) MUST run before the loop may close: a
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,22 @@ applicability before deduplicating (Verify critics too; in-file
evidence overrides history, and an entry with no evidence binds
nothing. §3's canonical set still governs the audit loop itself ("Dedup
new findings against everything ever surfaced, including ones already
rejected").
rejected: dedup against confirmed-only never converges").

Write-back moves entries across categories: an OPEN finding whose fix
landed this round moves to PRIOR FIXES carrying the fix's correctness
evidence; an OPEN or UNRESOLVED item refuted this round moves to
evidence; an UNRESOLVED item confirmed this round moves to OPEN
FINDINGS (confirmed and fixed in the same round, straight to PRIOR
FIXES with the fix's evidence); an OPEN or UNRESOLVED item refuted
this round moves to
REFUTED FINDING-CLASSES carrying the counterexample; a PRIOR-FIXES
entry re-flagged this round with evidence the fix failed, regressed,
or left a residual spawns a NEW OPEN finding carrying that evidence,
the historical entry staying put with a pointer to it; everything else
stays where it is.
stays where it is. Write-backs of one campaign serialize: a round's
write-back completes before the next round dispatches; concurrent
writers over one ledger follow §4's edit-conflict rule (re-read,
re-anchor — never last-writer-wins).

**Two phases, two checks.** Dispatch-time (the §2 field's readiness):
the packet names the ledger path and campaign identifier, and the
Expand Down
7 changes: 6 additions & 1 deletion skills/operational-rigor/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,10 @@ When rigor conflicts with finishing sooner, rigor wins.
evidence of a property of a change (safe, correct, covered), trace
it through to its pass/fail oracle —
the assertions (or, for a linter or build job, its rule set and
inputs) inspected at the revision the cited run actually used, the
inputs) inspected at the revision the cited run actually used —
which must itself contain the change under review: a green run on a
revision without the change is evidence about that revision, never
the change — the
invocation path and setup that feed them, whether that path executed
in the cited run, and whether its assertions PASSED there with their
failure controlling the check's final status (a run is not a pass —
Expand Down Expand Up @@ -451,6 +454,8 @@ When rigor conflicts with finishing sooner, rigor wins.
whenever a new owed-line rule ships): the `AUTH:` line; the twin-search
line; the skipped-prescribed-follow-up naming; the `Decisions note:`
line; the compaction word-diff record (skill-authoring §7); the
dup-check result line (skill-authoring §5); the target-runtime line
of a skill review record (skill-authoring §6); the
residual-risk statement. For each
owed line that is missing, first confirm the underlying work actually
happened — if it did, add the line; if it did not, do the work now or
Expand Down
16 changes: 13 additions & 3 deletions skills/skill-authoring/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,14 @@ artifact-producing step.
and had been routing sessions into a degraded path. A negative about
a hosted model's BEHAVIOR is the one class a version pin cannot
hold — hosted endpoints drift behind unchanged strings; that class
follows delegation-and-review §1's pinned-string rule (date-stamp
the recorded claim; re-probe at decision time), not this protocol.
follows delegation-and-review §1's pinned-string rule, not this
protocol: date-stamp the recorded claim where written, and any
session acting on it — routing decision or not — re-probes at
decision time before repeating or relying on the negative, the
re-probe satisfied only under the pinned-string rule's own
attribution and unknown-property-fallback clauses (an unattributed
answer never satisfies it); on any wording disagreement, the
pinned-string rule wins.
Writing a tool-interface negative: pin
it to the version and probe it was observed on. Acting on one: read
its pin; the tool's version has changed, or the pin is missing →
Expand Down Expand Up @@ -216,7 +222,11 @@ artifact-producing step.
re-runs those searches against the pre-addition text (the file at the
revision the change branches from — never the edited working copy) and
reads at least one candidate of their own choosing — on empty
searches, one searched file in full; a standalone not-covered verdict
searches, one searched file in full; a batch landing multiple
additions — to one file or across files in the search set (targets,
siblings, routers/entry files) — also searches the merged result
across all added hunks (two additions can duplicate each other
while neither exists in any base); a standalone not-covered verdict
with no reviewer stays provisional in the report until a fresh-context
reader without the author's session confirms it there. A bare "not
covered" backed only by empty greps is the failure this rule exists to
Expand Down
Loading