@oevery/rsp 3.1.1 → 3.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/README.md +4 -3
- package/README.zh-CN.md +3 -2
- package/dist/{chunk-WJXKLLIF.mjs → chunk-7HXQNBIG.mjs} +447 -734
- package/dist/{chunk-3Z4IO2TD.mjs → chunk-QM2UVPQK.mjs} +47 -30
- package/dist/{chunk-MUNLLVVH.mjs → chunk-TSUDEX5Y.mjs} +1205 -117
- package/dist/cli.mjs +5336 -3045
- package/dist/entry-GIDNR7CJ.mjs +1846 -0
- package/dist/{entry-KAWA2AS4.mjs → entry-YAW3PYFA.mjs} +4 -4
- package/package.json +12 -7
- package/rules/rsp-rules.md +30 -58
- package/skills/rsp/SKILL.md +28 -45
- package/skills/rsp/references/control-outcome.md +31 -0
- package/skills/rsp/references/durable-review.md +23 -4
- package/skills/rsp/references/focus-continuation.md +9 -0
- package/skills/rsp/references/implementation-evidence.md +12 -0
- package/skills/rsp/references/managed-routing.md +23 -18
- package/skills/rsp/references/response-language.md +11 -0
- package/skills/rsp/references/setup-repair.md +3 -3
- package/skills/rsp-commit/SKILL.md +26 -9
- package/skills/rsp-design/SKILL.md +1 -1
- package/skills/rsp-diagnose/SKILL.md +4 -2
- package/skills/rsp-implement/SKILL.md +18 -6
- package/skills/rsp-manage/SKILL.md +61 -37
- package/skills/rsp-manage/references/closeout.md +13 -0
- package/skills/rsp-manage/references/delegation.md +47 -0
- package/skills/rsp-manage/references/interruption-recovery.md +19 -0
- package/skills/rsp-manage/references/review-convergence.md +9 -0
- package/skills/rsp-release-docs/SKILL.md +15 -13
- package/skills/rsp-release-docs/references/publication-lifecycle.md +4 -0
- package/skills/rsp-resolve-findings/SKILL.md +3 -3
- package/skills/rsp-review/SKILL.md +10 -36
- package/skills/rsp-review/references/code-review.md +15 -0
- package/skills/rsp-review/references/document-review.md +15 -0
- package/skills/rsp-shape/SKILL.md +14 -4
- package/skills/rsp-shape/references/deep-clarification.md +2 -0
- package/skills/rsp-structural-audit/SKILL.md +1 -1
- package/skills/rsp-tdd/SKILL.md +11 -3
- package/skills/rsp-verify/SKILL.md +40 -0
- package/dist/entry-IPHJBI53.mjs +0 -882
- package/skills/rsp/references/release-operations.md +0 -9
|
@@ -2,39 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
Load this reference only for a requested completion or continuation that is not a report-only review or release operation and is either explicitly managed or has effective `manage.activation: auto` in status. Missing configuration preserves `explicit` activation with `local` closeout compatibility. Invalid configuration fails closed as `explicit` plus `manual` and must remain visible.
|
|
4
4
|
|
|
5
|
-
## PREFLIGHT —
|
|
5
|
+
## OWNER PREFLIGHT — Core resolves the owner without execution
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Use this route after Core has preserved the fixed-scope Review, release, isolated Design, and settled direct-work exceptions. Here fixed-scope Review means the explicit report-only fixed-scope change review. Under `manage.activation: explicit`, consider Manage only for an explicitly managed request. Under `manage.activation: auto`, qualify only from an observable coordination obligation; task size, file count, and elapsed effort are not substitutes.
|
|
8
|
+
The tiny settled-work exceptions remain direct when the concrete session task is already clear and no sufficient ready WorkOwner exists. A Manage decline for that case reports the complete small-work exclusion and performs no Manage handoff or worker delegation; it does not manufacture a Change merely to satisfy controller entry.
|
|
9
|
+
|
|
10
|
+
Treat the requested goal and independently allowed planning and product mutations as a transient authority envelope. Automatic activation grants controller selection only and never adds planning or product-mutation authority. Core resolves the smallest sufficient owner before testing Manage eligibility, without dispatching work or mutating product state.
|
|
8
11
|
|
|
9
12
|
Before focusing, dispatching, or mutating a different WorkRef, inspect dirty paths and the diff against the prior owner's declared and observed product or durable-truth paths. Overlap never changes owner implicitly: continue the same open WorkRef, explicitly reopen its archived acceptance when authorized and applicable, use an explicitly authorized integration owner, or stop for boundary resolution. Disjoint authorized work may proceed without staging or a forced commit; insufficient ownership evidence stops the transition.
|
|
10
13
|
|
|
11
|
-
-
|
|
12
|
-
- Return tiny settled work to direct engineering without a synthetic Change or controller artifact.
|
|
13
|
-
- For clear non-trivial work with no sufficient ready owner, an explicit managed request authorizes only in-scope RSP planning artifacts unless the user requests no edits. Under automatic activation, route to Shape only when the current request or nearer authority independently permits those artifacts; configuration alone never does. Then re-read status/readiness and re-evaluate without another authorization round.
|
|
14
|
-
- If repository evidence leaves a material product, acceptance, public-interface, scope, mutation-authority, external-action, or human choice, Shape returns the single highest-impact owner decision and creates no implementation or controller artifact.
|
|
14
|
+
Core derives one ownership `ControlOutcome`. `WorkOwner` means the selected shape-ready Change or shallow Group. When one unambiguous ready WorkOwner exists, Core proceeds to QUALIFY. Missing or non-ready ownership uses `RouteDisposition: shape` only when the current request or nearer authority independently permits in-scope RSP planning artifacts; configuration alone never does. Shape returns the ready WorkOwner to Core, which re-reads status and freshly derives ownership, route, and qualification without another authorization round. A material product or authority decision stops with `StopDisposition: ask-owner` and names its `DecisionOwner`. An invalid WorkRef, topology, dirty-path, route, scope, or authority boundary stops with `StopDisposition: reroute` rather than converting it into a product question.
|
|
15
15
|
|
|
16
|
-
A prior direct report, design, tiny, or small route is not sticky. Before later-turn mutation, rederive from the now-authorized objective and prospective work. Material expansion into cross-module implementation, multiple acceptance surfaces, repeated production-path correction, real-host validation, bounded review convergence, lifecycle delivery, or a clear ready successor requires Core to establish or reuse the smallest sufficient WorkRef and rerun
|
|
16
|
+
A prior direct report, design, tiny, or small route is not sticky. Before later-turn mutation, rederive from the now-authorized objective and prospective work. Material expansion into cross-module implementation, multiple acceptance surfaces, repeated production-path correction, real-host validation, bounded review convergence, lifecycle delivery, or a clear ready successor requires Core to establish or reuse the smallest sufficient WorkRef and rerun owner preflight plus fresh Manage qualification before mutation. Unchanged tiny/small follow-ups remain direct; elapsed time and message count alone never trigger escalation.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Owner preflight creates no Task, Blocker, worker task, frontier, ticket, run record, or synthetic WorkRef. Manage has no pre-owner Intake and never creates, focuses, or reshapes the durable owner.
|
|
19
19
|
|
|
20
20
|
## QUALIFY — select or decline Manage
|
|
21
21
|
|
|
22
|
-
Select `rsp-manage` only for one selected ready Change or shallow Group that qualifies through at least one independent path: genuinely independent slices, interruption recovery,
|
|
22
|
+
Select `rsp-manage` only for one selected ready Change or shallow Group that qualifies through at least one independent path: genuinely independent slices, interruption recovery, distinct execution and acceptance owners, real-host, provider, or hardware verification, bounded finding convergence, managed lifecycle coordination, a clear ready successor, or prospective execution that contains more than one bounded phase or authority surface. A Change with one of these coordination obligations does not also need parallelizable slices. Derive the signal before dispatch from the authorized objective and expected phases; elapsed wall-clock minutes are never qualification evidence.
|
|
23
|
+
|
|
24
|
+
A Group qualifies when it has at least two ready children, or when the continuation qualifies through prospective signals or recovery.
|
|
25
|
+
|
|
26
|
+
Multiple files, Specs, product presentation, public documentation, or verification files do not by themselves qualify Manage. Under automatic activation, a hard near-miss remains direct when it has one owner, one writer, one execution phase, one integrated check, no recovery, no independent acceptance obligation, and no ready successor. Do not manufacture a second phase, worker, or acceptance surface from file layout.
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
Substantial sequential work remains selected when a real multi-phase or authority obligation exists, such as implementation followed by independently owned acceptance, bounded review convergence, real-host verification, lifecycle closeout, or a ready successor. Sequential dispatch does not erase that coordination signal. Without such a signal, decline Manage and continue the ordinary Core or Discipline route. Worker-only work remains ineligible. Readiness alone does not qualify work without a requested completion or continuation, and automatic routing remains bounded by the requested goal.
|
|
25
29
|
|
|
26
|
-
Make the route observable
|
|
30
|
+
Make the route observable inside the single outer `ControlOutcome`: report `selected` with the decisive qualification signal, or `declined` with the complete direct-work exclusion and exact Core or Discipline action. Selection transfers current-phase control from Core to Manage; it does not imply worker delegation. The outer mode is `solo` before or without any worker, `delegated` when one worker participates, or `coordinated` when multiple workers participate or acceptance requires a separate verifier. Manage independently derives `DispatchDisposition: none | preferred | required` after selection. If dispatch applies, retain the strategy only as nested technical evidence and report the concrete overlap or isolation evidence that makes execution sequential or parallel. Selection, decline, dispatch disposition, and strategy reasoning remain transient and create no controller state.
|
|
27
31
|
|
|
28
|
-
##
|
|
32
|
+
## HANDOFF AND RETURN — bound selected execution
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
Core and this reference solely own initial qualification and the `selected | declined` route result. Core hands selected Manage the goal, WorkRef, authority envelope, decisive qualification evidence, closeout ceiling, and exact return boundaries as transient control data. Manage validates the current owner, authority, baseline, observed execution location, conflicting resources, acceptance surfaces, and diff drift, then chooses the smallest safe strategy; it never repeats direct-versus-managed eligibility. Selected execution remains wholly owned by `rsp-manage`.
|
|
31
35
|
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
36
|
+
- Ordinary Fix, Verify, Review, or Resolve Findings receipts remain inside Manage for fresh same-goal revalidation.
|
|
37
|
+
- A clear in-scope ready successor under the unchanged owner topology and authority may continue inside the same managed goal.
|
|
38
|
+
- Owner identity, topology, requested route, behavior, acceptance, public interface, scope, mutation authority, or external-action authority changes return evidence to Core for fresh ownership and routing.
|
|
39
|
+
- Shape is entered only through Core when durable owner refinement is independently authorized.
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
The managed goal envelope and returned control objects remain transient.
|
|
37
42
|
|
|
38
43
|
## Dormant closeout fail-safe
|
|
39
44
|
|
|
40
|
-
If Manage was declined, unavailable, or unselected, every `manage.closeout` preset is dormant: ordinary Core may report readiness and the explicit next lifecycle or Git action, but configuration executes neither archive nor commit. Readiness, an earlier managed run, or project policy never substitutes for current selection and qualification. After selection, stop using this reference for execution detail; `rsp-manage` solely owns interruption and resume, convergence
|
|
45
|
+
If Manage was declined, unavailable, or unselected, every `manage.closeout` preset is dormant: ordinary Core may report readiness and the explicit next lifecycle or Git action, but configuration executes neither archive nor commit. Readiness, an earlier managed run, or project policy never substitutes for current selection and qualification. After selection, stop using this reference for execution detail; `rsp-manage` solely owns same-goal revalidation, interruption and resume, review convergence, acceptance, lifecycle closeout, commit eligibility and orchestration, and all corresponding authority stops. Exact staging, message construction, local commit execution, and post-commit observation remain owned by `rsp-commit`.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Response and artifact language
|
|
2
|
+
|
|
3
|
+
Load this reference when the current action needs language selection beyond the Core routing summary.
|
|
4
|
+
|
|
5
|
+
Response prose is user/session-owned. Precedence: explicit current response-language instruction → user or host personal instructions → conversation language. Project `.rsp/config.yaml` never selects response language. Use natural-language narration for progress, phases, control results, receipts, stop reasons, and handoffs. Preserve an exact machine value unchanged only as a secondary parenthesized or code-formatted value.
|
|
6
|
+
|
|
7
|
+
Durable artifact prose is repository-owned. For a new authorized artifact: explicit artifact language → configured effective artifact language → artifact-scoped project instructions → conversation language. Existing artifacts retain their established language unless translation is explicitly authorized; configuration changes never rewrite them.
|
|
8
|
+
|
|
9
|
+
Commit-message prose: explicit current instruction → configured effective commit language → nearest repository authority → clear recent non-merge history.
|
|
10
|
+
|
|
11
|
+
Preserve canonical headings, paths, commands, identifiers, WorkRefs, Conventional Commit types and scopes, trailers, severity labels, and machine values. Language and locale never rename or translate an existing WorkRef. Persistent prose belongs to the domain, system, user, or operator; mention AI or agents only when they are actual product actors or constraints.
|
|
@@ -4,8 +4,8 @@ Load this reference only before initializing, auditing, migrating, or repairing
|
|
|
4
4
|
|
|
5
5
|
1. Initialize with `npx -y @oevery/rsp init [--agents-mode managed|print] [--with-project-setup]`.
|
|
6
6
|
2. `--with-project-setup` creates and focuses `changes/project-setup.md`. Without it, create that Change only when explicit bootstrap tracking is still needed.
|
|
7
|
-
3. Put project-wide boundaries in `.rsp/specs/design.md`, use
|
|
8
|
-
4. Diagnose with `npx -y @oevery/rsp doctor`. Apply only deterministic repairs with `doctor --fix` or `rsp update`; `fixed` entries are real filesystem mutations, while an empty list means nothing changed.
|
|
7
|
+
3. Put project-wide boundaries in `.rsp/specs/design.md`, use `rsp specs` for direct current-file navigation and bounded literal discovery, put cohesive reusable facts in the smallest domain Spec, and keep stable operating instructions in the nearest project-owned `AGENTS.md` outside its managed block.
|
|
8
|
+
4. Diagnose with `npx -y @oevery/rsp doctor`. Apply only deterministic repository repairs with `doctor --fix` or `rsp update`; `fixed` entries are real filesystem mutations, while an empty list means nothing changed.
|
|
9
9
|
5. Do not use repair commands to decide stale focus, semantic durable updates, or archive readiness.
|
|
10
10
|
|
|
11
|
-
For manual audit, require `.rsp/`, managed roots, and nested Spec parents to be real directories. Require the project `AGENTS.md`, managed markers, fallback/config files,
|
|
11
|
+
For manual audit, require `.rsp/`, managed roots, and nested Spec parents to be real directories. Require the project `AGENTS.md`, managed markers, fallback/config files, `specs/design.md`, placeholders, and any reserved generated-index compatibility path to be regular files. Confirm the managed block, direct Specs query, configured Decision Record exclusion, valid group briefs and direct children, supported path depth, and focus markers matching executable Changes. Symlinks, special files, incomplete inspection, unrecognized reserved indexes, and file/directory identity collisions fail closed. Fresh initialization and Spec creation never generate indexes. `rsp update` removes only a root `INDEX.md` or any `00-index.md` with exact generated Specs metadata, using complete preflight, quarantine, direct-query postcheck, and rollback; owner-controlled reserved content is preserved for explicit review.
|
|
@@ -1,21 +1,34 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rsp-commit
|
|
3
|
-
description: Create one authorized, exact-scope local commit for
|
|
3
|
+
description: Create one authorized, exact-scope local commit for a Core- or Manage-derived direct, Change, Group, or release boundary with a repository-consistent structured message.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
7
|
-
version: "2026.
|
|
7
|
+
version: "2026.08.17.1"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# RSP Commit
|
|
11
11
|
|
|
12
|
-
Create one reviewable local commit after Core or qualified Manage has already derived
|
|
12
|
+
Create one reviewable local commit after Core or qualified Manage has already derived one transient Commit envelope. Skill availability grants none of its facts. The envelope contains exactly one owner variant, exact allowed paths, fresh decisive verification, current commit authority, and lifecycle evidence only when the owner variant requires it.
|
|
13
|
+
|
|
14
|
+
Accept exactly one owner variant:
|
|
15
|
+
|
|
16
|
+
| Owner | Required identity and evidence | RSP metadata |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| `direct` | a concise owner summary for one confirmed direct Tiny/Small boundary | none |
|
|
19
|
+
| `change` | one real WorkRef and its applicable checkpoint or lifecycle evidence | `RSP-WorkRef` |
|
|
20
|
+
| `group` | one integration-coupled wave or Group closeout, its Group ref, included WorkRefs, and applicable lifecycle evidence | `RSP-Group` and included `RSP-WorkRef` values |
|
|
21
|
+
| `release` | one confirmed release identity and release-boundary evidence | only real included WorkRefs, when supplied |
|
|
22
|
+
|
|
23
|
+
A direct owner is a transient Git delivery boundary, not a durable RSP WorkOwner. Never require it to create a Change, invent a WorkRef, or supply lifecycle evidence.
|
|
24
|
+
|
|
25
|
+
Follow Core's response-versus-artifact language boundary for all user-visible control narration; when the response language differs, keep exact canonical values only as secondary parenthesized or code-formatted tokens.
|
|
13
26
|
|
|
14
27
|
## Audit the envelope
|
|
15
28
|
|
|
16
|
-
Read nearest project authority
|
|
29
|
+
Read nearest project authority and the selected owner evidence: the supplied direct outcome summary, relevant open Change, Group Brief and children, archive, or confirmed release boundary. Then inspect `git status`, staged, unstaged, and untracked paths, the cached diff, and recent non-merge commit messages. Recheck supplied verification and any applicable lifecycle facts against current repository state. For a terminal Change or Group child, inspect its open or archived Verify section and stop before staging when a Task or Required Verify item remains incomplete or a blocker remains active. Legacy unclassified Verify items are Required. Optional coverage warnings do not block a terminal commit, but include a material omission in the commit body when it affects review. A checkpoint commit remains explicitly non-terminal and does not claim completed acceptance.
|
|
17
30
|
|
|
18
|
-
Stop without staging when the owner, allowed paths, commit authority, verification, lifecycle
|
|
31
|
+
Stop without staging when the owner variant, its required identity, allowed paths, commit authority, verification, applicable lifecycle evidence, or logical boundary is missing, ambiguous, stale, or conflicts with unrelated work. A missing WorkRef or lifecycle state is not a defect for a valid direct owner. Refuse an active merge, cherry-pick, revert, rebase, mail-apply, or sequencer operation before commit execution. Stop when an allowed path contains mixed owned and unrelated changes that cannot be staged without guessing. Never infer archive, Group closeout, commit, cross-branch integration, push, tag, publication, approval, amend, rebase, force-push, or history-rewrite authority.
|
|
19
32
|
|
|
20
33
|
## Derive the message
|
|
21
34
|
|
|
@@ -23,13 +36,15 @@ Choose subject and body prose language from explicit current commit-language ins
|
|
|
23
36
|
|
|
24
37
|
Use the repository's established Conventional Commit form when present. Derive type and scope from the owned outcome and repository history, not from the conversation. Keep the subject concise and imperative or otherwise repository-consistent.
|
|
25
38
|
|
|
26
|
-
|
|
39
|
+
Describe the accepted diff as a reader who did not see the working session. Omit rejected session-only alternatives, corrections, and temporary attempts that never entered the authoritative baseline. Such an alternative is not an omission: do not name or paraphrase it as a `without X`, `did not add X`, or `did not use X` compliance claim. Name a removal, exclusion, failed external action, compatibility boundary, migration, safety rule, audit fact, or requested comparison when it is a real owned change or material review fact.
|
|
40
|
+
|
|
41
|
+
A tiny, mechanical, or direct `Tiny` or `Small` boundary may be subject-only when that subject fully explains it. For a non-trivial Change, integration wave, Group closeout, or release commit, add two to four concise bullets covering:
|
|
27
42
|
|
|
28
43
|
- the observable outcome;
|
|
29
44
|
- material behavior or compatibility boundaries; and
|
|
30
45
|
- an important omission or risk when one affects review.
|
|
31
46
|
|
|
32
|
-
Do not copy file lists, command transcripts, routine verification output, execution chronology, or the full Change
|
|
47
|
+
Do not copy file lists, command transcripts, routine verification output, execution chronology, or the full Change or archive. Project trailers from the selected owner variant: add one `RSP-WorkRef:` per real included WorkRef and `RSP-Group:` only when the Group is the owner. A direct or release owner with no included WorkRefs emits no RSP trailer. Add authoritative external references already owned by the work and `BREAKING CHANGE:` only for an actual breaking change. Never invent a WorkRef, Group, issue, co-author, sign-off, breaking change, or AI attribution.
|
|
33
48
|
|
|
34
49
|
Project every owned issue relationship as a non-closing `Issue: <canonical-url>` reference when proportionate. Only a terminal commit whose selected Change acceptance is complete may additionally use a provider-supported closing keyword for an explicit `relation: closes`. Checkpoints, `relation: relates`, ambiguous Change or Group ownership, and unresolved provider or repository identity emit no closing keyword. When safe shorthand cannot be resolved, keep only the canonical URL; never infer an issue from changed files or mutate the external tracker.
|
|
35
50
|
|
|
@@ -39,8 +54,10 @@ Stage only the explicit allowed paths. Re-read `git status --short`, inspect the
|
|
|
39
54
|
|
|
40
55
|
Transport a structured multiline message with actual line breaks or a safely prepared message file. Do not rely on ordinary quoted `\n` escape sequences as portable newlines; a host shell may pass those characters through literally.
|
|
41
56
|
|
|
42
|
-
|
|
57
|
+
When the packaged CLI is available, use `rsp commit --message-file <path> [--json]` for the exact local execution step. The command reads the prepared message file, rejects unintended literal `\n` sequences, and invokes `git commit --cleanup=verbatim -F -` through Node's direct child-process API. It operates only on the existing staged boundary; it never stages paths itself.
|
|
58
|
+
|
|
59
|
+
Create one local commit with the prepared subject, optional body, and trailers. Do not cherry-pick, clean another checkout, push, tag, publish, amend, rebase, or force-push. Afterward observe exact before and after `HEAD`, the raw complete committed message, committed paths, remaining worktree paths, and remote refs when required. Confirm that committed paths equal the reviewed staged boundary. Compare the observed stored message with the prepared message exactly, allowing only one terminal LF difference in either direction for Git's message-file boundary. A successful commit is still a post-commit mismatch when either paths or message differ; report the complete observed receipt and stop without inferring amend or second-commit authority. If the command is unavailable, use a safely prepared message file with a direct non-shell Git invocation and retain the same preflight and post-commit checks.
|
|
43
60
|
|
|
44
61
|
## Return the receipt
|
|
45
62
|
|
|
46
|
-
Return the commit SHA, owner and included WorkRefs
|
|
63
|
+
Return before and after `HEAD`, the commit SHA, owner kind and identity, included WorkRefs when present, the complete stored message with parsed subject/body/trailers, committed paths, remaining worktree paths, and explicit omissions. Report a stop before staging, commit failure, receipt-observation failure, or post-commit path or message mismatch truthfully; never silently amend or create a second commit to repair the first. An available Commit Skill that rejects an invalid envelope returns that stop; manual fallback is only for capability unavailability.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rsp-design
|
|
3
|
-
description: Resolve one material domain-model, module
|
|
3
|
+
description: Resolve one material domain-model, module or seam, or evidence-seeking design question before a Change or for an explicit or focused RSP Change without implementing production behavior or writing durable project truth.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
@@ -4,14 +4,14 @@ description: Diagnose one selected RSP Change when a reproducible or materially
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
7
|
-
version: "2026.
|
|
7
|
+
version: "2026.08.21.1"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# RSP Diagnose
|
|
11
11
|
|
|
12
12
|
Establish a confirmed cause before correction. Keep the selected Change as owner and return investigation evidence to it.
|
|
13
13
|
|
|
14
|
-
Follow Core's response-versus-artifact language boundary.
|
|
14
|
+
Follow Core's response-versus-artifact language boundary for all user-visible control narration; when the response language differs, keep exact canonical values only as secondary parenthesized or code-formatted tokens.
|
|
15
15
|
|
|
16
16
|
## Establish bounds
|
|
17
17
|
|
|
@@ -41,6 +41,8 @@ Return:
|
|
|
41
41
|
- investigation mutations, if explicitly authorized;
|
|
42
42
|
- exactly one next action.
|
|
43
43
|
|
|
44
|
+
The result expresses only whether the cause was confirmed. When Manage invoked the diagnosis, report any owner, scope, or authority change separately in the impact boundary; never combine it with the result value or wrap it in a second universal worker schema.
|
|
45
|
+
|
|
44
46
|
For `confirmed`, name one correction entrypoint owned by the same Change; do not apply it. For `unresolved`, name the next discriminating check or blocker. Update that Change's Tasks, Verify, or Blockers only with authority and observed facts. Preserve unrelated work and never infer Git, delivery, publication, or approval authority.
|
|
45
47
|
|
|
46
48
|
When correction, further discrimination, or other work remains, use Core's compact continuation fields in order: `WorkRef`, `Authority`, `Current state`, `Changed artifacts`, `Fresh verification`, `Blockers`, and `Next action`. Put the result, reproduction limit, cause or hypotheses, decisive evidence, and impact boundary in `Current state`; put authorized investigation mutations in `Changed artifacts`. Reopen authority pointers, inspect drift, and refresh decisive evidence before resuming. This response is not durable truth or a second state store; persist it only with explicit path authority.
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rsp-implement
|
|
3
|
-
description: Implement exactly one selected, ready RSP Change within explicit mutation authority. Use when the user asks to implement or fix tracked work and requires code
|
|
3
|
+
description: Implement exactly one selected, ready RSP Change within explicit mutation authority. Use when the user asks to implement or fix tracked work and requires code and tests plus truthful Tasks, Blockers, and fresh verification evidence; never infer Git, publication, review, TDD, or diagnosis authority.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
7
|
-
version: "2026.
|
|
7
|
+
version: "2026.08.23.1"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# RSP Implement
|
|
11
11
|
|
|
12
12
|
Implement one selected Change and return facts.
|
|
13
13
|
|
|
14
|
+
Follow Core's response-versus-artifact language boundary for all user-visible control narration; when the response language differs, keep exact canonical values only as secondary parenthesized or code-formatted tokens.
|
|
15
|
+
|
|
14
16
|
## Select and inspect
|
|
15
17
|
|
|
16
18
|
Require an explicit WorkRef or one unambiguous focus marker. A Group Brief is context, not executable work. Stop when selection, readiness, product authority, acceptance, or required decisions are unresolved.
|
|
17
19
|
|
|
18
|
-
Read nearest instructions, Core or fallback, Change and Brief, relevant Specs and decisions,
|
|
20
|
+
Read nearest instructions, Core or fallback, Change and Brief, relevant Specs and decisions, current checkout, then the smallest owning code and test chain. Use normal repository discovery; do not guess owners. Operate only in the execution location actually supplied by the host; Implement never selects or migrates execution environments.
|
|
19
21
|
|
|
20
22
|
## Preserve authority
|
|
21
23
|
|
|
@@ -23,6 +25,12 @@ Identify outcome, owners, verification, and pre-existing work. Modify only Chang
|
|
|
23
25
|
|
|
24
26
|
Git delivery, publication, deployment, approval, and out-of-scope deletion require separate explicit authority. For conflicts, inspect base/ours/theirs, preserve unrelated work, resolve only evidenced scope, rerun checks, and stop before staging, continuing, aborting, or committing. Verify named findings first.
|
|
25
27
|
|
|
28
|
+
## Admit boundaries and permanent tests
|
|
29
|
+
|
|
30
|
+
Before adding a validator, fallback, defensive copy, capability, state machine, compatibility path, or public option, identify its current producer, production consumer, actual trust or lifecycle transition, and material consequence. A typed same-process value, imagined future caller, or test/document-only consumer does not establish a production boundary. Keep an explicitly required seam, but otherwise do not create one when this evidence is missing.
|
|
31
|
+
|
|
32
|
+
Before creating or extending a permanent test, identify the observable consequence, one distinct plausible regression in the owning production seam, why existing evidence misses it, and the maintenance cost. Prefer an existing test, type or static check, build, or acceptance check when it already owns the risk. When the requested behavior belongs to a consumer and downstream adapters or forwarding hops already have owners and coverage, exercise the consumer through those existing seams to the observable consequence. A nearest-spy, emitted-message, shared-constant, or forwarding assertion that only re-proves the downstream hop is not sufficient, even when added to an existing test file. Do not add one test per touched file, wrapper, forwarding hop, branch, or shared constant. Multiple nearby tests remain justified when each protects an independent consequence.
|
|
33
|
+
|
|
26
34
|
## Classify implementation evidence
|
|
27
35
|
|
|
28
36
|
Apply these routes in order before mutation and after failure:
|
|
@@ -39,14 +47,18 @@ Implement the smallest complete slice. Update Tasks after outcomes exist; keep u
|
|
|
39
47
|
|
|
40
48
|
After final mutation, run required Change checks and narrower risk checks. Fresh verification is required, but a new test is only one evidence option; prefer the cheapest decisive existing test, static check, build, or acceptance evidence. Record command, scope, result, and omissions. Prior runs are stale; failed or unavailable verification cannot support completion. Rerun after relevant edits.
|
|
41
49
|
|
|
42
|
-
Keep a new test only when it protects observable behavior or a real boundary, adds distinct future confidence, avoids duplicate or implementation-detail coverage, and has proportionate maintenance cost. Otherwise remove the disposable test, fixture, and helper before completion, then use smallest sufficient final evidence. User, Change, and project retention requirements remain authoritative.
|
|
50
|
+
Keep a new or extended test only when it still satisfies the admission evidence, protects observable behavior or a real boundary, adds distinct future confidence, avoids duplicate or implementation-detail coverage, and has proportionate maintenance cost. Otherwise remove the disposable test, fixture, and helper before completion, then use smallest sufficient final evidence. User, Change, and project retention requirements remain authoritative.
|
|
51
|
+
|
|
52
|
+
Before returning, reread changed comments, test names, documentation, and handoff prose from the accepted result and each surface's authoritative baseline. Build the final handoff only from the accepted Change, actual changed paths, final verification, material omissions or risks, executed external actions, and pre-existing user work that must be attributed. A rejected session-only alternative, correction, or temporary attempt is not an omission or boundary: do not name it, paraphrase it, or turn it into an unrequested `did not add` or `did not use` compliance claim.
|
|
53
|
+
|
|
54
|
+
Preserve a negative fact when a reader without the session needs it to understand an actual baseline removal, safety or compatibility boundary, migration, audit result, failed external action, unresolved risk, or explicitly requested comparison. Preserve required facts and pre-existing user work; never change executable behavior, public contracts, tests, snapshots, or diagnostics merely to clean wording.
|
|
43
55
|
|
|
44
|
-
Record concise fresh evidence when Change Verify owns it.
|
|
56
|
+
Record concise fresh evidence when Change Verify owns it.
|
|
45
57
|
|
|
46
58
|
## Return ownership
|
|
47
59
|
|
|
48
60
|
Report whether the Change is completed, partial, blocked before implementation, verification-failed, verification-unavailable, or verification-blocked. Use failed for an exercised defect; use unavailable when a missing tool, dependency, service, credential, or environment prevents execution. Use blocked only when scoped checks pass but a required gate fails solely from a confirmed pre-existing or out-of-scope baseline defect; never waive affected gates.
|
|
49
61
|
|
|
50
|
-
When work remains,
|
|
62
|
+
When work remains, return `WorkRef`, `Authority`, `Current state`, `Changed artifacts`, `Fresh verification`, `Blockers`, and `Next action`. They are not durable truth; persistence requires explicit path authority.
|
|
51
63
|
|
|
52
64
|
Claim completion only when required Tasks and checks pass and no blocker remains. Do not claim review, archive, Git delivery, or release unless separately performed with explicit authority.
|
|
@@ -4,74 +4,98 @@ description: Coordinate one eligible long-running, recovery, or multi-slice RSP
|
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
7
|
-
version: "2026.
|
|
7
|
+
version: "2026.08.22.3"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# RSP Manage
|
|
11
11
|
|
|
12
|
-
Manage one
|
|
12
|
+
Manage one requested goal selected by Core from an explicit request or effective `manage.activation: auto`. Enter only with one selected shape-ready Change or shallow Group plus the goal, WorkRef, authority envelope, decisive qualification evidence, closeout ceiling, and return boundaries. Manage owns same-goal coordination, evidence acceptance, review convergence, lifecycle closeout, and eligible Commit orchestration. Exact Git procedure remains owned by `rsp-commit`. Keep artifacts durable and process data transient. Automatic activation grants selection, not mutation.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Follow Core's response-versus-artifact language boundary for all user-visible control narration; when the response language differs, keep exact canonical values only as secondary parenthesized or code-formatted tokens.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Validate the selected goal
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- the complete owning Change, or the Group Brief and its children;
|
|
20
|
-
- relevant Specs and Decisions;
|
|
21
|
-
- the authority envelope, `rsp status --json`, and the current worktree.
|
|
18
|
+
Core owns initial Manage qualification and the `selected | declined` route result. Manage never creates, focuses, reshapes, or requalifies a durable owner. Before mutation, reread the selected Change or Group, relevant Specs and Decisions, authority envelope, `rsp status --json`, current checkout, and decisive evidence.
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
Stop and return to Core when the handoff is incomplete or a true owner, WorkRef topology, route, declared behavior, acceptance, interface, scope, mutation-authority, or external-action-authority boundary changed. Otherwise continue the selected goal without repeating qualification. Use only the execution location and worker capabilities supplied by the host; never infer isolation, identity, or completion.
|
|
24
21
|
|
|
25
|
-
|
|
22
|
+
Return one bounded managed phase result for Core's outer `ControlOutcome`:
|
|
26
23
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
24
|
+
- `solo`: no worker participates, including a bounded local Discipline action;
|
|
25
|
+
- `delegated`: one worker participates;
|
|
26
|
+
- `coordinated`: multiple workers participate or acceptance requires a separate verifier.
|
|
30
27
|
|
|
31
|
-
|
|
28
|
+
Mode describes observed participation, not a host lifecycle model.
|
|
32
29
|
|
|
33
|
-
|
|
30
|
+
## Choose the smallest execution strategy
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
Use only as much coordination as the current evidence requires:
|
|
36
33
|
|
|
37
|
-
|
|
34
|
+
- `control-action`: one Manager-owned control-plane action;
|
|
35
|
+
- `longitudinal`: compatible successive work through one worker when the host supports continuation;
|
|
36
|
+
- `sequential`: ordered work with shared seams, writers, or verification resources;
|
|
37
|
+
- `parallel-wave`: independent slices with disjoint mutation and verification resources;
|
|
38
|
+
- `read-only-fan-out`: independent evidence gathering;
|
|
39
|
+
- `bounded-correction`: an evidenced same-scope correction;
|
|
40
|
+
- `independent-verify`: acceptance requires a different worker from the accepted implementation worker.
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
These names explain Manager strategy only. They are not runtime states, persisted objects, or proof that dispatch occurred.
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
Derive `DispatchDisposition` after selection:
|
|
42
45
|
|
|
43
|
-
|
|
46
|
+
| Value | Use when | If unavailable |
|
|
47
|
+
| --- | --- | --- |
|
|
48
|
+
| `none` | No useful or required worker seam exists. | Run the bounded local Discipline. |
|
|
49
|
+
| `preferred` | Delegation improves focus or continuity without creating an acceptance obligation. | Continue locally within the same owner and authority. |
|
|
50
|
+
| `required` | The request or declared acceptance requires delegated work or a separate verifier. | Stop `capability-unavailable`; acceptance remains `incomplete`. |
|
|
44
51
|
|
|
45
|
-
|
|
52
|
+
`required` remains fail-closed for the current phase. Invoke an actual host worker capability before worker-owned work; never perform the assigned work locally and simulate worker participation or a worker result. If the host cannot start or attribute the required worker, stop before worker-owned mutation and keep acceptance incomplete. Convenience, cost, or local capability never downgrades it.
|
|
46
53
|
|
|
47
|
-
|
|
54
|
+
## Resolve the frontier
|
|
48
55
|
|
|
49
|
-
|
|
56
|
+
Classify new unknowns in fail-closed order: `out-of-goal` → `owner-decision` → `fog` → `evidence-needed` → `executable`.
|
|
50
57
|
|
|
51
|
-
|
|
58
|
+
- `out-of-goal`: stop `reroute`.
|
|
59
|
+
- `owner-decision`: ask the `DecisionOwner` one highest-impact question; stop `ask-owner`.
|
|
60
|
+
- `fog`: create no synthetic work or mutation; stop `return-to-shape`.
|
|
61
|
+
- `evidence-needed`: collect one bounded factual answer without crossing an earlier boundary.
|
|
62
|
+
- `executable`: choose one Discipline only after ownership, authority, and required evidence are settled.
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
Use Core's canonical stop vocabulary. No stop permits another dispatch, product mutation, lifecycle closeout, or Git action before its resume rule succeeds.
|
|
54
65
|
|
|
55
|
-
|
|
66
|
+
## Load worker delegation conditionally
|
|
56
67
|
|
|
57
|
-
|
|
68
|
+
For `DispatchDisposition: none`, do not read worker delegation procedure or claim worker participation; invoke the bounded local Discipline. For `preferred | required`, read [delegation and host evidence](references/delegation.md) before preparing a worker task or accepting a worker result.
|
|
58
69
|
|
|
59
|
-
|
|
70
|
+
Derive `AcceptanceDisposition` independently:
|
|
60
71
|
|
|
61
|
-
|
|
72
|
+
```text
|
|
73
|
+
accepted required Discipline results + fresh declared verification → evidence-complete
|
|
74
|
+
evidence-complete + clean fixed-scope review → review-clean
|
|
75
|
+
```
|
|
62
76
|
|
|
63
|
-
|
|
77
|
+
Every missing, invalid, unavailable, or boundary-changing required result keeps acceptance `incomplete`. Implementation verification, fixed-scope review, and the durable writeback decision remain separate gates.
|
|
64
78
|
|
|
65
|
-
|
|
79
|
+
## Dispatch and convergence
|
|
66
80
|
|
|
67
|
-
|
|
81
|
+
Dispatch only for `preferred | required`; `none` invokes the local Discipline without synthetic delegation. Claim worker participation or counts only from host observations. If the host cannot start or attribute a required worker, stop before worker-owned mutation and keep acceptance incomplete.
|
|
68
82
|
|
|
69
|
-
|
|
83
|
+
For a Group, dispatch only children in the current `plan.waves` wave. Keep shared writers, generated artifacts, test runners, browsers, Brokers, provider sessions, hardware, and other conflicting resources sequential unless the host and checkout evidence establish safe isolation. Delegation never implies concurrency. Run lane-local checks first, then at most one affected integration gate.
|
|
70
84
|
|
|
71
|
-
|
|
85
|
+
Do not impose a whole-run dispatch quota. Skip optional Diagnose or Inspect work unless it materially reduces uncertainty. Required independent Verify remains a separate obligation.
|
|
72
86
|
|
|
73
|
-
|
|
87
|
+
## Continue and load low-frequency branches
|
|
74
88
|
|
|
75
|
-
|
|
89
|
+
After inspecting changed paths, local diff, and declared verification, continue only while goal, WorkRef topology, route, behavior, acceptance, interface, scope, and authority remain unchanged. Return changed boundaries to Core.
|
|
76
90
|
|
|
77
|
-
|
|
91
|
+
Load a low-frequency procedure only after its branch trigger is established:
|
|
92
|
+
|
|
93
|
+
- Read [interruption and recovery](references/interruption-recovery.md) only for a progress or status inquiry, explicit pause, environment or verification stop, or resume.
|
|
94
|
+
- Read [managed review convergence](references/review-convergence.md) only after an evidenced same-scope correction is needed or a fixed-scope review returns Findings.
|
|
95
|
+
- Read [lifecycle and delivery closeout](references/closeout.md) only when closeout becomes eligible from a valid selected handoff and `AcceptanceDisposition: review-clean`, for an authorized recovery checkpoint, or for an explicit push request. Before `review-clean`, every `manage.closeout` preset remains dormant.
|
|
96
|
+
|
|
97
|
+
If none of these triggers applies, do not read their references.
|
|
98
|
+
|
|
99
|
+
Persist only accepted Tasks, decisive Verify evidence, and real Blockers; never transient coordination or acceptance process. Focus Capsules remain recovery pointers, never worker coordination or authority.
|
|
100
|
+
|
|
101
|
+
Stop on missing authority, unavailable capability, failed verification, drift, unsafe replay, or limits. When work remains, return `WorkRef, Authority, Current state, Changed artifacts, Fresh verification, Blockers, and Next action`. Do not claim review, archive, Commit, push, publication, deployment, approval, or human acceptance without its owning authority and evidence.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Lifecycle and delivery closeout
|
|
2
|
+
|
|
3
|
+
Load this reference when closeout begins and `CloseoutEligibility` must be derived, when an explicitly authorized recovery checkpoint is being considered, or when the user explicitly requests push. The main Skill must first establish a valid selected handoff and retain its incomplete-or-drifted fail-safe.
|
|
4
|
+
|
|
5
|
+
Derive `CloseoutEligibility` independently; it is exactly `not-eligible`, `lifecycle-ready`, or `local-commit-ready`. Before deriving a ready value, run `rsp ready <change-work-ref> --json` for every terminal Change and require `completionGate: pass` plus `archiveReady: yes`. Only that machine gate, `AcceptanceDisposition: review-clean`, fresh owner, authority, exact diff, and decisive Required verification evidence can derive a ready value. Optional coverage warnings remain in the Receipt but do not block. Any other acceptance state derives `CloseoutEligibility: not-eligible`; neither archive nor commit runs. Human acceptance remains separate and unperformed unless the declared acceptance contract and current authority explicitly establish it.
|
|
6
|
+
|
|
7
|
+
Valid selected handoff only: effective `manage.closeout` is an automatic grant ceiling narrowed by nearer restrictions and host enforcement. `manual` grants neither automatic archive nor commit. `lifecycle` grants lifecycle closeout after Manage-owned clean fixed-scope change review and a complete durable writeback decision but no Git action. `local` automatically grants lifecycle closeout and, for one eligible terminal non-small clean exact owned boundary, exactly one local Commit route without another user request. Separately justified recovery checkpoints remain possible within the same ceiling. Explicit current-turn authority may allow a local action not automated by the preset; denial wins.
|
|
8
|
+
|
|
9
|
+
When granted, close lifecycle before any commit. Change: after Manage-owned clean fixed-scope change review and the durable writeback decision run `rsp archive <change-work-ref>` and inspect the complete lifecycle diff. For shallow Group: review, decide durable writeback, and archive each child independently; rederive completion, then when all children plus Group gate pass run `rsp group close <group>`; inspect the complete lifecycle diff after each mutation. This includes terminal owners. Require proven review/clean-boundaries.
|
|
10
|
+
|
|
11
|
+
Decide commit eligibility separately. Under `local` or explicit commit authority, downstream work may justify one recovery checkpoint: give `rsp-commit` the WorkOwner, paths, evidence, lifecycle state, and authority, then derive status from its receipt. Terminal small owners default to no commit. After lifecycle closeout, a qualified `local` terminal non-small Change or Group with known owner and paths, fresh decisive verification, clean exact boundary, and no nearer denial routes exactly once to `rsp-commit`; do not require the user to repeat `commit`. An ambiguous, mixed, stale, or denied boundary stops without staging. Apply the same owner envelope to explicitly authorized Group/release commits. If Commit is unavailable, return `StopDisposition: capability-unavailable` to Core for its bounded manual Commit fallback; Manage does not stage or commit. Archive grants no Git or publication authority.
|
|
12
|
+
|
|
13
|
+
Push is opt-in only when user explicitly mentions push and remote, branch, and Group or goal milestone are unambiguous or accepted. Push there, or earlier only for required remote CI, recovery, or collaboration. Never force-push, infer push from commit authority, or push a protected or ambiguous branch. Failure preserves local commits and stops at remote boundary. Return to Core before a separate release operation and dedicated release commit.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Delegation and host evidence
|
|
2
|
+
|
|
3
|
+
Load this reference only after Manage derives `DispatchDisposition: preferred | required` and before preparing a worker task or accepting a worker result.
|
|
4
|
+
|
|
5
|
+
## Delegate one bounded task
|
|
6
|
+
|
|
7
|
+
Send one independently executable vertical slice. Start by telling the recipient that it is the already-dispatched Discipline worker for this assignment: it executes the bounded task directly and must not rerun parent Manage routing or require another worker. A delegated task includes only what the worker needs to act safely:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Work: <exact WorkRef>
|
|
11
|
+
Objective: <one bounded objective>
|
|
12
|
+
Authority: <exact owner sections or paths>
|
|
13
|
+
Read: <allowed read boundary>
|
|
14
|
+
Write: <allowed write boundary>
|
|
15
|
+
Verify: <required verification boundary>
|
|
16
|
+
Known facts: <only decisive current facts>
|
|
17
|
+
Prohibited actions: <explicit denials>
|
|
18
|
+
Stop conditions: <when to return without continuing>
|
|
19
|
+
Replay caution: <only when repeating effects may be unsafe>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Omit empty optional fields. Do not attach host lifecycle schemas, correlation identifiers, JSON transport contracts, evaluator instructions, token targets, or acceptance fields. Workers receive no implied focus, lifecycle, Git, publication, deployment, approval, or nested-delegation authority. Nested delegation is prohibited unless the task explicitly grants a bounded descendant role and the parent remains responsible for its work and result.
|
|
23
|
+
|
|
24
|
+
Resume the same compatible worker only when the host makes that possible and the goal, role, authority, writer boundary, strategy, and evidence remain valid. Otherwise send a complete fresh task. A concise continuation may state changed facts, but never relies on hidden inheritance for authority or safety.
|
|
25
|
+
|
|
26
|
+
Each delegated Discipline owns its own result:
|
|
27
|
+
|
|
28
|
+
- **Diagnose:** `rsp-diagnose`; `confirmed | unresolved` with cause evidence and scope impact.
|
|
29
|
+
- **Inspect:** Manager-only read-only evidence packet.
|
|
30
|
+
- **Fix:** `rsp-implement`; `changed | no-change` with changed paths, verification, omissions, and any scope issue.
|
|
31
|
+
- **Verify:** `rsp-verify`; `pass | fail | unavailable` with named checks, evidence delta, omissions, and any scope issue.
|
|
32
|
+
|
|
33
|
+
Fixed-scope review remains owned by `rsp-review`. Manage adds no universal worker receipt and never asks a worker to report host identity, independence, admission, settlement, release, evidence validity, or acceptance.
|
|
34
|
+
|
|
35
|
+
## Validate results and host facts
|
|
36
|
+
|
|
37
|
+
Treat three evidence sources separately:
|
|
38
|
+
|
|
39
|
+
- the worker-authored Discipline result states what the worker did and observed;
|
|
40
|
+
- host observations, when available, establish dispatch, attribution, activity, cancellation, completion, and whether different workers participated;
|
|
41
|
+
- Manager validates authority, actual changed paths, local diff, declared verification, omissions, and current acceptance.
|
|
42
|
+
|
|
43
|
+
Host facts are capabilities and observations, not RSP domain objects. Missing observations remain unavailable rather than inferred from prose, handles, elapsed time, topology, or successful tests. A worker never self-certifies identity, independence, resource release, evidence validity, or acceptance.
|
|
44
|
+
|
|
45
|
+
For required delegation, Manage must have an attributable worker-authored result that covers the assigned boundary. For required independent Verify, the host must establish that the accepted Fix and Verify came from different workers. If either condition cannot be established, acceptance remains `incomplete`. Manager must not author, repair, reconstruct, or substitute the missing worker result.
|
|
46
|
+
|
|
47
|
+
Inspect actual paths, diff, commands, outcomes, and omissions before accepting a result. A host-reported completion, a valid transport shape, successful integration tests, or absence of an error never substitutes for this validation.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Interruption and recovery
|
|
2
|
+
|
|
3
|
+
Load this reference only for a progress or status inquiry, explicit pause, an environment or verification stop, or resume from continuation pointers.
|
|
4
|
+
|
|
5
|
+
Reread the complete owner and authority only on a real invalidation, recovery, cross-session continuation, or closeout boundary.
|
|
6
|
+
|
|
7
|
+
Treat a status inquiry as an update, not a stop signal. Report current evidence and continuing intent, then continue while authority, verification, and blockers permit it. Host liveness signals and elapsed time do not change a Discipline result or justify cancelling healthy work.
|
|
8
|
+
|
|
9
|
+
For an explicit pause, use the host's available interruption mechanism and confirm active workers or owned background processes have stopped before acknowledging the pause. Cancelling the caller's wait does not itself stop accepted work. Until stop is observed, do not start conflicting mutation or verification. A terminal message or partial output does not prove that owned work has ended.
|
|
10
|
+
|
|
11
|
+
Preserve the focused owner and focused WorkRef during ordinary pause or blockers. Only an explicit release or unfocus request, archive, or another authorized lifecycle action changes selection. Update the Change only with accepted outcomes, decisive verification, and durable blockers.
|
|
12
|
+
|
|
13
|
+
Manager may atomically replace the focused marker's optional Focus Capsule at a meaningful checkpoint. A valid v1 capsule contains one version declaration, exactly one single-line `Current`, `Evidence`, and `Next`, and at most one single-line `Resume check`. Exclude worker identities, host handles, machine-specific paths, raw messages, retry chronology, topology, authority, acceptance, logs, diffs, and duplicated Tasks. The capsule is a recovery pointer, never worker coordination, authority, or acceptance.
|
|
14
|
+
|
|
15
|
+
On resume, inspect actual effects before repeating work. An idempotent action may repeat after boundary inspection; an action requiring inspection must first check its prior effects; a non-repeatable action stops for recovery or owner input. Resume a compatible worker only when the host supports it and current authority, scope, writer boundary, strategy, and evidence still match. Otherwise send a complete fresh task.
|
|
16
|
+
|
|
17
|
+
For cross-session or cross-device recovery, distrust transient worker and liveness claims. Reread current authority, focused owner, status, checkout diff, dirty paths, blockers, execution location, and decisive evidence before mutation or delegation. Validate the selected handoff again, revalidate required verification, and re-establish any host evidence needed for worker attribution or independent verification. Host completion without an attributable required worker result keeps acceptance incomplete. Current authority always wins.
|
|
18
|
+
|
|
19
|
+
If incomplete archived child acceptance belongs to a closed Group, recovery requires separate explicit lifecycle authority for `rsp group reopen <group> --reason <text>` before `rsp reopen <group>/<child>`. Restore neither children nor dependents implicitly.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Managed review convergence
|
|
2
|
+
|
|
3
|
+
Load this reference only after an evidenced same-scope correction is needed, a fixed-scope re-review returns Findings, or an accepted in-scope Finding may require another bounded Resolve Findings pass.
|
|
4
|
+
|
|
5
|
+
An evidenced same-scope failure permits at most three worker correction passes by default. Stop earlier on repeated evidence, non-convergence, changed scope or authority, unsafe replay, unavailable capability, or unverifiable correction. Required independent Verify remains a separate obligation.
|
|
6
|
+
|
|
7
|
+
After fixed-scope re-review, Manage correlates the report with the selected Change, original authority, fresh verification, and transient pass count. An `accepted` Finding starts another Resolve Findings pass without asking the user to continue only when it remains inside the original behavior, acceptance, paths, mutation authority, and declared verification scope. Resolve Findings never self-loops.
|
|
8
|
+
|
|
9
|
+
Allow at most three Resolve Findings passes per Change, separate from the worker retry limit. Stop when the same Finding remains after two completed corrections. Also stop for `needs-clarification`; a material product, interface, or scope change; new mutation or external authority; an additional real-host, provider, or network run outside existing verification authority; or failed or unavailable decisive verification. Return one owner input. Treat an eligible in-scope Finding as `correction-needed`, not an external blocker. Keep counts and correction chronology transient.
|