@oevery/rsp 3.2.0 → 4.0.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 +25 -17
- package/README.zh-CN.md +25 -17
- package/dist/chunk-HFSTLCCK.mjs +3968 -0
- package/dist/cli.mjs +3510 -2446
- package/dist/entry-RIJQ2X46.mjs +1932 -0
- package/package.json +32 -19
- package/skills/rsp/SKILL.md +42 -68
- package/skills/rsp/references/closeout.md +38 -0
- package/skills/rsp/references/context-migration.md +22 -0
- package/skills/rsp/references/control-outcome.md +5 -0
- package/skills/rsp/references/coordination-recovery.md +25 -0
- package/skills/rsp/references/coordination-review.md +15 -0
- package/skills/rsp/references/coordination.md +59 -0
- package/skills/rsp/references/durable-review.md +74 -9
- package/skills/rsp/references/focus-continuation.md +13 -0
- package/skills/rsp/references/groups-dependencies.md +6 -4
- package/skills/rsp/references/response-language.md +13 -0
- package/skills/rsp/references/setup-repair.md +37 -7
- package/skills/rsp/references/work-model.md +27 -0
- package/skills/rsp-commit/SKILL.md +82 -22
- package/skills/rsp-commit/references/message.md +34 -0
- package/skills/rsp-doc/SKILL.md +65 -0
- package/skills/rsp-doc/agents/openai.yaml +3 -0
- package/skills/rsp-doc/references/artifact-lenses.md +43 -0
- package/skills/rsp-doc/references/release-communication.md +39 -0
- package/skills/rsp-doc/references/skill-authoring.md +36 -0
- package/skills/rsp-implement/SKILL.md +62 -21
- package/skills/rsp-implement/references/diagnosis.md +10 -0
- package/skills/rsp-implement/references/finding-resolution.md +21 -0
- package/skills/rsp-implement/references/test-first.md +7 -0
- package/skills/rsp-review/SKILL.md +44 -46
- package/skills/rsp-review/references/code-review.md +23 -7
- package/skills/rsp-review/references/document-review.md +25 -8
- package/skills/rsp-review/references/release-communication.md +21 -0
- package/skills/{rsp-structural-audit/references/structural-lenses.md → rsp-review/references/structural-review.md} +5 -5
- package/skills/rsp-shape/SKILL.md +24 -45
- package/skills/rsp-shape/references/complex-shaping.md +3 -1
- package/skills/rsp-shape/references/deep-clarification.md +4 -4
- package/skills/rsp-shape/references/domain-modeling.md +13 -0
- package/skills/rsp-shape/references/module-seams.md +13 -0
- package/skills/rsp-shape/references/planning.md +42 -0
- package/skills/{rsp-design → rsp-shape}/references/reversible-exploration.md +2 -2
- package/skills/rsp-verify/SKILL.md +72 -0
- package/dist/chunk-JOMFFQRG.mjs +0 -99
- package/dist/chunk-JYDEJEM4.mjs +0 -358
- package/dist/chunk-SEGJLWRE.mjs +0 -1158
- package/dist/chunk-ZORUJTVS.mjs +0 -1967
- package/dist/entry-I22OUIW5.mjs +0 -888
- package/dist/entry-RG6HREUN.mjs +0 -174
- package/rules/rsp-rules.md +0 -47
- package/skills/rsp/references/managed-routing.md +0 -44
- package/skills/rsp/references/release-operations.md +0 -9
- package/skills/rsp-design/SKILL.md +0 -53
- package/skills/rsp-design/references/domain-modeling.md +0 -11
- package/skills/rsp-design/references/module-seams.md +0 -11
- package/skills/rsp-diagnose/SKILL.md +0 -46
- package/skills/rsp-manage/SKILL.md +0 -96
- package/skills/rsp-manage/references/closeout.md +0 -11
- package/skills/rsp-manage/references/interruption-recovery.md +0 -7
- package/skills/rsp-manage/references/review-convergence.md +0 -7
- package/skills/rsp-release-docs/SKILL.md +0 -77
- package/skills/rsp-release-docs/references/convention-discovery.md +0 -65
- package/skills/rsp-release-docs/references/evidence-and-surfaces.md +0 -21
- package/skills/rsp-release-docs/references/output-contracts.md +0 -97
- package/skills/rsp-release-docs/references/publication-lifecycle.md +0 -24
- package/skills/rsp-resolve-findings/SKILL.md +0 -61
- package/skills/rsp-structural-audit/SKILL.md +0 -71
- package/skills/rsp-tdd/SKILL.md +0 -48
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oevery/rsp",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "4.0.0",
|
|
5
5
|
"description": "RSP (Reliable Software Practice), a repository-native engineering workflow for humans and AI agents",
|
|
6
6
|
"author": "oevery",
|
|
7
7
|
"license": "MIT",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"bin/",
|
|
31
31
|
"dist/",
|
|
32
|
-
"rules/",
|
|
33
32
|
"skills/"
|
|
34
33
|
],
|
|
35
34
|
"engines": {
|
|
@@ -37,11 +36,10 @@
|
|
|
37
36
|
},
|
|
38
37
|
"scripts": {
|
|
39
38
|
"prepare": "pnpm run build",
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"release
|
|
44
|
-
"prepublishOnly": "pnpm run release:candidate-check",
|
|
39
|
+
"skills:security-check": "node scripts/skill-security-preflight.mjs",
|
|
40
|
+
"skills:package-check": "node scripts/skill-package-check.mjs",
|
|
41
|
+
"prepublishOnly": "pnpm run release:check",
|
|
42
|
+
"release": "release-it",
|
|
45
43
|
"build": "tsup",
|
|
46
44
|
"dev": "tsup --watch",
|
|
47
45
|
"docs:build": "vitepress build docs",
|
|
@@ -52,26 +50,41 @@
|
|
|
52
50
|
"lint": "eslint .",
|
|
53
51
|
"lint:fix": "eslint --fix .",
|
|
54
52
|
"typecheck": "tsc --noEmit",
|
|
55
|
-
"test": "
|
|
56
|
-
"test:
|
|
53
|
+
"test": "pnpm run build && pnpm run test:code",
|
|
54
|
+
"test:code": "vitest run --no-file-parallelism",
|
|
55
|
+
"test:diagnostics": "vitest run --config tests/diagnostics/vitest.config.ts",
|
|
56
|
+
"test:pack": "node tests/code/package/package-check.mjs",
|
|
57
|
+
"test:skills": "uv run --frozen --project tests/skills python tests/skills/evaluate.py",
|
|
58
|
+
"release:check": "pnpm run build && pnpm run typecheck && pnpm run lint && pnpm run test:code && pnpm run test:skills check && pnpm run skills:security-check && pnpm run docs:check"
|
|
57
59
|
},
|
|
58
60
|
"dependencies": {
|
|
59
61
|
"citty": "^0.2.2",
|
|
60
|
-
"
|
|
62
|
+
"hast-util-from-html": "^2.0.3",
|
|
63
|
+
"ink": "~8.0.0",
|
|
64
|
+
"mdast-util-from-markdown": "^2.1.0",
|
|
65
|
+
"mdast-util-frontmatter": "^2.0.1",
|
|
66
|
+
"mdast-util-gfm": "^3.1.0",
|
|
67
|
+
"micromark-extension-frontmatter": "^2.0.0",
|
|
68
|
+
"micromark-extension-gfm": "^3.0.0",
|
|
61
69
|
"picocolors": "^1.1.1",
|
|
62
|
-
"react": "~19.
|
|
63
|
-
"yaml": "^2.9.
|
|
70
|
+
"react": "~19.3.1",
|
|
71
|
+
"yaml": "^2.9.1"
|
|
64
72
|
},
|
|
65
73
|
"devDependencies": {
|
|
66
|
-
"@antfu/eslint-config": "^9.
|
|
74
|
+
"@antfu/eslint-config": "^9.5.1",
|
|
75
|
+
"@release-it/conventional-changelog": "12.0.2",
|
|
76
|
+
"@types/hast": "^3.0.5",
|
|
77
|
+
"@types/mdast": "^4.0.4",
|
|
67
78
|
"@types/node": "^22.20.1",
|
|
68
|
-
"@types/react": "19.
|
|
69
|
-
"eslint": "^10.
|
|
70
|
-
"ink-testing-library": "4.0.0",
|
|
71
|
-
"
|
|
79
|
+
"@types/react": "^19.3.0",
|
|
80
|
+
"eslint": "^10.13.0",
|
|
81
|
+
"ink-testing-library": "^4.0.0",
|
|
82
|
+
"release-it": "21.1.1",
|
|
83
|
+
"smol-toml": "^1.9.1",
|
|
84
|
+
"tsup": "^9.0.0",
|
|
72
85
|
"typescript": "^5.9.3",
|
|
73
86
|
"vitepress": "^1.6.4",
|
|
74
|
-
"vitest": "^
|
|
75
|
-
"wrangler": "^4.
|
|
87
|
+
"vitest": "^5.0.5",
|
|
88
|
+
"wrangler": "^4.151.3"
|
|
76
89
|
}
|
|
77
90
|
}
|
package/skills/rsp/SKILL.md
CHANGED
|
@@ -1,104 +1,78 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rsp
|
|
3
|
-
description:
|
|
3
|
+
description: Coordinate authorized direct, Change or Group work; select capabilities and accept results while executors load their methods. Retain recovery and evidence and prepare delivery without treating completion as closure.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
6
|
author: oevery
|
|
7
|
-
version: "2026.
|
|
7
|
+
version: "2026.10.22.4"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# RSP
|
|
10
|
+
# RSP Core
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Carry the authorized request through execution, applicable evidence and needed knowledge updates. Core owns the goal, boundary, capability selection, cross-capability decisions and result acceptance. Capabilities own their methods and may be invoked directly. Skills are the only workflow. A missing or unusable required Skill stops dependent work; report the incomplete installation without reading retired Rules or installing implicitly.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Select the work and responsibility
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Before mutation, read nearest instructions and relevant CONTEXT; establish intent, authority and the existing owner from evidence. Use known paths and discover missing context as needed. An explicit WorkRef wins; multiple focus markers alone do not block work. Preserve dirty work and its owner. Before switching owners, check overlapping product and knowledge paths; overlap transfers no authority.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
- **Direct:** a clear bounded request needing no durable continuity. Create no Change and run no tracking preflight merely to execute it.
|
|
19
|
+
- **Change:** one delivery/acceptance boundary needing sustained work or cross-session recovery. Read its six sections and relevant Specs; Focus is only a sparse recovery pointer.
|
|
20
|
+
- **Group:** independently acceptable/deliverable child Changes with dependencies or integration obligations. Read the Brief then select a child; the Brief is not executable work. File count, complexity and agent count alone do not create a Group.
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
Load the [work model](references/work-model.md) when tracked identities are missing from context; required tracking cannot be bypassed by relabelling work Direct. Use rsp status for needed owner, dependency or recovery facts, and JSON for exact dependency data. Required dependency checks and fresh archive readiness still apply.
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Use the CLI invocation selected by the project AGENTS entry: consumer projects pin an exact package in `.rsp/version`; an explicit `.rsp/source` selects the RSP development checkout's own built CLI. `rsp` in these Skills denotes that selection, never `@latest`, a version range, or an unverified global binary. Do not substitute a published package for source mode because version strings match. Only an authorized upgrade selects another exact package target and runs its `update` command for the complete environment; source-mode update retains the local source selection. Upgrade notices grant no migration authority. Resolve needed settings through the selected CLI's successful rsp config --json summary. Reuse it until relevant drift or recovery; raw YAML is diagnostic only. Projection failure blocks choices depending on unknown settings, while independent authorized work continues.
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
Select capabilities from their descriptions and the task contract. Executors load applicable methods and inspect sources; Core consults method details when needed for its own work or a concrete coordination question. Select the responsibility needed now:
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
- rsp-shape: bounded read-only design or authorized planning; reopen planning only for material unresolved choices.
|
|
29
|
+
- rsp-implement: diagnosis, authorized implementation or accepted-finding correction, including ordinary own checks.
|
|
30
|
+
- rsp-doc: substantive document/Skill writing, needed knowledge writeback and final Change reconciliation.
|
|
31
|
+
- rsp-verify: a requested declared-evidence result or a separately required verification obligation; ordinary implementation checks stay with Implement.
|
|
32
|
+
- rsp-review: fixed-scope read-only judgment or explicitly bounded structural discovery. Supporting checks remain within that review.
|
|
33
|
+
- rsp-commit: separately authorized exact local delivery; required for Git execution, with no Core substitute if unavailable.
|
|
27
34
|
|
|
28
|
-
-
|
|
29
|
-
- `direct`: one non-managed completion or continuation, one decisive verification, no WorkerEnvelope, and at most one Discipline executor.
|
|
30
|
-
- `managed`: one selected shape-ready owner and bounded goal handed to Manage; only this route composes worker lanes and review convergence.
|
|
31
|
-
- `shape`: unclear owned work returned to Shape.
|
|
32
|
-
- `stop`: no further action until one `StopDisposition` resume contract succeeds.
|
|
35
|
+
Continue authorized same-scope work without another continuation request. A phase, role or method change alone requires no tool call, worker, review or test run. Required review, independent execution and protected operations still apply. For ownerless release checks, establish the exact candidate, check contract, baseline and effects authority; invent no Change or Verify owner.
|
|
33
36
|
|
|
34
|
-
|
|
37
|
+
## Execute and reconcile evidence
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
Implement owns ordinary self-checks. Main-agent inspection can assess results, but an implementation participant cannot certify required independent review. Select extra Verify/Review only when requested, required or supported by concrete risk, not per task or per worker automatically.
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
Reuse traceable observations, checks and reviews while their target, acceptance boundary and relevant inputs still apply. Changed code, dependencies, configuration, tools or environment invalidate affected evidence; role changes and delivery-scope confirmation alone do not. Include excluded worktree inputs when assessing a staged slice, and recognize behavior changes in normative Specs or executable Skills even when stored as Markdown.
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
2. Route an explicit release-documentation, finalization, publication, or reconciliation operation to `rsp-release-docs` when available; otherwise read [release operations](references/release-operations.md) for the manual fallback. Do this before ordinary Change routing.
|
|
42
|
-
3. Route one explicit isolated material domain, module/seam, or evidence-seeking design question to installed `rsp-design`; never manually emulate it. Without a selected Change, use report-only Pre-Change Design for an already bounded question without inventing a WorkRef or artifact. Tracked Design returns to its selected WorkRef. Only when unavailable, its manual fallback stays with the same question and performs no implementation or durable-truth mutation.
|
|
43
|
-
4. Return tiny settled work directly only when it satisfies the complete small-work exclusion: one owner, one local seam, one mutation pass, one decisive check, no managed lifecycle coordination, and no ready successor. Report `RouteDisposition: direct`. Perform no Manage handoff or WorkerEnvelope, and rederive before further mutation if prospective work expands beyond any condition.
|
|
44
|
-
5. For every other requested completion or continuation, Core resolves whether one unambiguous shape-ready Change or shallow Group is the `WorkOwner`. Missing or non-ready ownership reports `RouteDisposition: shape`; Core invokes Shape only with independently granted planning-artifact authority, then re-reads status and freshly derives ownership and routing from the returned ready WorkOwner. Material product or authority questions stop for their `DecisionOwner`; invalid WorkOwner, topology, dirty-path, route, scope, or authority stops with `StopDisposition: reroute`.
|
|
45
|
-
6. With one ready owner, read [managed routing](references/managed-routing.md). It solely owns initial qualification and the `selected | declined` result: under `auto`, consider non-small completion or continuation; under `explicit`, qualify only an explicitly managed request. On selection, hand `rsp-manage` the goal, WorkRef, authority envelope, decisive qualification evidence, closeout ceiling, and return boundaries. Manage validates current handoff evidence without repeating eligibility. Once selected, Manage solely owns same-goal revalidation, interruption and resume, review convergence, acceptance, lifecycle closeout, and commit eligibility and orchestration; `rsp-commit` retains exact Git execution. Return to Core only for changed owner identity, topology, requested route, behavior, acceptance, public interface, scope, mutation authority, or external-action authority. Automatic activation selects a controller but grants no planning, product mutation, lifecycle, Git, or external authority.
|
|
46
|
-
7. If Manage is not selected, stop only when authority or selection is actually ambiguous, then return the one required input and its `DecisionOwner`. With no selected Change, name one ready WorkRef and direct focus action. Otherwise preserve ordinary routing under the clear ready WorkOwner and continue to Implementation evidence or the durable decision as applicable; `manage.activation: explicit` without an explicitly managed request is not itself a stop signal.
|
|
47
|
-
8. For incomplete implementation or stale, missing, or failed verification, use [Implementation evidence](#implementation-evidence). This is implementation verification.
|
|
48
|
-
9. When Tasks and required verification pass without blockers, perform the durable writeback decision. A fixed-scope change review remains a separate report-only gate: require it only when explicitly requested, required by nearer authority or risk, or needed for managed `review-clean`; do not impose it automatically on every tiny direct action. Do not infer a release operation from Change completion.
|
|
43
|
+
Check paths, diff, outcomes, omissions and evidence applicability. Reuse executor checks when applicable. Independent semantic review may use implementer test evidence; required independent execution must run. Keep commands, results, tested boundaries and decisive sources with their existing owner, including failures, unavailable checks and superseded results. Add no evidence ledger.
|
|
49
44
|
|
|
50
|
-
|
|
45
|
+
For required correction/re-review, load [review convergence](references/coordination-review.md). Batch compatible findings into one correction, run covering checks, then review finding resolution and new risks in the correction. Stop for changed scope/authority, unsafe replay, missing required capability, non-convergence or no new discriminating evidence. Required failures remain incomplete.
|
|
51
46
|
|
|
52
|
-
|
|
47
|
+
Dependent writes require successful prerequisites; observe each required result rather than relying on a batch's final exit status. Recover tool failures within unchanged authority, inspecting uncertain effects before safe replay. Named checks and Commit's one-attempt rule remain binding.
|
|
53
48
|
|
|
54
|
-
|
|
49
|
+
## Coordinate only when needed and allowed
|
|
55
50
|
|
|
56
|
-
|
|
57
|
-
- **TDD when justified:** use `rsp-tdd` only when test-first is explicitly required by the user, Change, or project instructions, or when a concrete changed risk makes a pre-mutation RED materially safer. Public contracts, persisted data, security or money, concurrency, complex transitions, and escaped defects qualify; mere testability or being a fix does not. Its manual fallback observes the focused RED, makes the minimum GREEN change, and refactors only while green.
|
|
58
|
-
- **Ordinary implementation by default:** use `rsp-implement`, or the equivalent bounded edit and verification, once the behavior, cause, and owner are sufficiently evidenced.
|
|
51
|
+
Work shape does not choose agent topology. Automatic delegation defaults off. An explicit worker request or binding independent-worker requirement permits that bounded dispatch; otherwise resolve workflow.delegation before automatic delegation. When auto is enabled, the user or main agent chooses zero, one or multiple execution workers. RSP has no worker-count tiers or maximum; host constraints still apply.
|
|
59
52
|
|
|
60
|
-
|
|
53
|
+
Load [worker coordination](references/coordination.md) for actual dispatch, dependencies/shared-resource arbitration or required independent workers. Keep tightly coupled work local; never simulate missing worker identity or independence. Workers do not delegate further by default. Main retains integration and result acceptance; child passes do not establish integration coverage.
|
|
61
54
|
|
|
62
|
-
|
|
55
|
+
Load [interruption recovery](references/coordination-recovery.md) for pause/resume or unsettled host effects, and [focus continuation](references/focus-continuation.md) for a recovery snapshot. Cross-session continuation refreshes current authority, owner, applicable status, Git index, dirty paths, evidence applicability and replay safety. Cancelling a wait does not stop workers or release resources.
|
|
63
56
|
|
|
64
|
-
|
|
57
|
+
## Maintain records and prepare delivery
|
|
65
58
|
|
|
66
|
-
|
|
59
|
+
During execution update Tasks/Verify directly for actual outcomes when scope, contract, design and knowledge remain accurate. Consolidate repeated conclusions for the same scope and candidate; retain distinct inputs, outcomes, material failures and evidence references. When changing Blockers, use the [shared work-model syntax](references/work-model.md). Passing checks or recovery alone adds no whole-document rewrite. Routine narration stays in the conversation; retained execution evidence stays with its existing owner. Focus is replaceable recovery guidance, never acceptance or authority.
|
|
67
60
|
|
|
68
|
-
|
|
61
|
+
Ordinary completion and checkpoint commits leave Change open; a generic commit request does not establish final delivery. At established final delivery or an explicit close request, load [delivery closeout](references/closeout.md). workflow.closeout is ask (default), auto or manual; no setting grants Git, push, publication, deployment, approval or human acceptance authority.
|
|
69
62
|
|
|
70
|
-
|
|
63
|
+
For necessary stable-knowledge updates, load [durable writeback](references/durable-review.md) to establish facts, update their owners and reconcile affected records. Final delivery or closure additionally requires whole-Change convergence and consistency checks. Reuse applicable evidence and fill missing or invalidated coverage and separately required review. Already-accurate records need no edit; current readiness is a lifecycle observation, not semantic acceptance.
|
|
71
64
|
|
|
72
|
-
|
|
65
|
+
Operate command-owned state through RSP commands. Persist only open and archived; derive readiness and routing. A complete Task list never closes work. Reopen is exceptional recovery requiring explicit authority: load [reopen recovery](references/reopen-recovery.md) only when actually needed.
|
|
73
66
|
|
|
74
|
-
|
|
67
|
+
Other conditional procedures:
|
|
75
68
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
69
|
+
- [Setup and repair](references/setup-repair.md) for initialization, audit or repair.
|
|
70
|
+
- [Groups and dependencies](references/groups-dependencies.md) for grouped work.
|
|
71
|
+
- [Context migration](references/context-migration.md) when a root/relevant legacy CONTEXT-MAP.md is found or migration requested; preserve context, discovery alone grants no migration.
|
|
72
|
+
- [Conflict handling](references/conflict-handling.md) for an intersecting Git operation.
|
|
80
73
|
|
|
81
|
-
##
|
|
74
|
+
## Return the result
|
|
82
75
|
|
|
83
|
-
|
|
76
|
+
Follow explicit response language, personal instructions, then conversation language. Existing artifacts retain their language; new artifacts follow explicit instruction, effective project settings, scoped instructions, then conversation language. Keep identifiers and machine values exact; load [language details](references/response-language.md) only for contested choices.
|
|
84
77
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
When accepted work remains, return a localized continuation with these semantic fields in order: `WorkRef`, `Authority`, `Current state`, `Changed artifacts`, `Fresh verification`, `Blockers`, `Next action`. Preserve technical values. The continuation points to existing owners, is not a second state store, and must not be persisted without explicit path authority. On resume, reopen its pointers, inspect drift, and refresh decisive evidence.
|
|
88
|
-
|
|
89
|
-
## Durable decision output
|
|
90
|
-
|
|
91
|
-
After loading [durable writeback decision](references/durable-review.md), choose current facts and rationale independently. Localize headings and labels, but preserve the canonical values below:
|
|
92
|
-
|
|
93
|
-
```md
|
|
94
|
-
## <localized Durable Decision heading>
|
|
95
|
-
- <localized Current facts label>: <No current-fact update needed | Update existing spec or scoped instruction | Create a new durable spec>
|
|
96
|
-
- <localized Current-fact target label>: <exact file path or N/A>
|
|
97
|
-
- <localized Facts to write label>: <durable facts or none>
|
|
98
|
-
- <localized Decision Record label>: <No Decision Record needed | Create or update a Decision Record>
|
|
99
|
-
- <localized Decision Record target label>: <exact file path or N/A>
|
|
100
|
-
- <localized Rationale to write label>: <lasting rationale or none>
|
|
101
|
-
- <localized Archive ready label>: <yes | no>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
Response-only Continuation and Durable Decision labels are not canonical artifact headings. In Chinese, for example, use `## 持久化决策`, `决策记录(Decision Record)`, and `可归档(Archive ready)`, not English labels alone. A required unwritten update or real blocker makes archive readiness `no`; CLI `archiveReady: judgment` is advisory, not approval.
|
|
78
|
+
Report the outcome, decisive evidence, material limits and needed next action. Distinguish observed effects, checks, review and acceptance; unverified claims stay unverified. Missing Required evidence blocks only dependent completion. No mandatory phase receipts or repeated logs. Load [control outcome](references/control-outcome.md) only for a consumer needing its technical rendering. For unfinished work retain only the owner, authority, evidence, blocker and safe continuation needed by the next actor.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Final delivery and lifecycle closeout
|
|
2
|
+
|
|
3
|
+
Load for an established final-delivery boundary, an explicit close request, or a delivery question requiring checkpoint classification. Ordinary completion never activates closeout. A generic commit request defaults to a checkpoint unless final delivery is already established; checkpoints keep Change open and require only the authorized slice and applicable evidence.
|
|
4
|
+
|
|
5
|
+
## Decide closure independently of Git
|
|
6
|
+
|
|
7
|
+
Use the validated workflow.closeout setting from rsp config --json:
|
|
8
|
+
|
|
9
|
+
- ask (default): prepare a concrete final boundary, applicable evidence and required knowledge/Change updates, then ask whether to close before terminal staging. Reuse explicit closure authority already granted; do not ask twice.
|
|
10
|
+
- auto: close eligible work at established final delivery without another closure request, subject to nearer denial.
|
|
11
|
+
- manual: close only on an explicit close request. Authorized final commits may leave work open and must report that fact.
|
|
12
|
+
|
|
13
|
+
Explicit refusal keeps work open. A decision to leave it open does not block an otherwise authorized commit. Neither policy, readiness nor archive grants Git authority. An explicit standalone close request can close eligible work without a commit. Do not interpret finishing implementation, a pass, a successor task or elapsed time as final delivery.
|
|
14
|
+
|
|
15
|
+
## Reconcile the final boundary
|
|
16
|
+
|
|
17
|
+
1. Confirm exact delivery scope and inspect existing evidence for that boundary.
|
|
18
|
+
2. Apply [durable writeback](durable-review.md): necessary stable knowledge first, final Change reconciliation second. These can be one operation with no edits when already current.
|
|
19
|
+
3. Fill missing or invalidated checks and separately required review. Reuse applicable results; ordinary record cleanup does not invalidate code tests. Changed normative contracts and executable Skills need affected checks/judgment. Fresh independent review is not a universal closeout prerequisite.
|
|
20
|
+
4. For each Change to close, obtain current rsp ready <work-ref> --json with completionGate: pass and archiveReady: yes. Also require accurate final records, completed or unnecessary knowledge updates, applicable Required evidence and every separately required review. Readiness alone does not establish semantic acceptance.
|
|
21
|
+
|
|
22
|
+
Missing Required evidence, active blockers or contradictory contracts prevent closure. Optional omissions remain visible. Fresh authority, owner and exact Git/lifecycle observations remain necessary even when tests are reused.
|
|
23
|
+
|
|
24
|
+
## Close only when authorized
|
|
25
|
+
|
|
26
|
+
Run rsp archive <work-ref>. Inspect the resulting archive and entire lifecycle diff, including Focus removal and cleanup warnings. Use the returned filename in the selected WorkRef's archive directory: .rsp/archives/ for an ungrouped Change, .rsp/archives/<group>/ for a child. Do not guess dates, suffixes or directories. Expand read-only discovery only for incomplete or contradictory output/effects; do not replay the mutation.
|
|
27
|
+
|
|
28
|
+
For a Group, archive eligible authorized children independently, reconcile the Brief and integrated evidence, then run rsp group close <group> after every child and Group gate passes. Request-only integration conditions must first be recorded in the Brief; child passes alone do not prove integration.
|
|
29
|
+
|
|
30
|
+
Never delete or copy lifecycle files to bypass commands. If archive succeeds but commit fails, report the archived, uncommitted state. Do not automatically reopen, rewrite history or repeat uncertain mutations.
|
|
31
|
+
|
|
32
|
+
## Route exact delivery separately
|
|
33
|
+
|
|
34
|
+
With explicit local commit authority, route to rsp-commit with the delivery kind (direct, change, integration, group or release), purpose (checkpoint or terminal), real owner/WorkRefs, exact paths, applicable verification and lifecycle evidence only when applicable. No transport schema or duplicate receipt is required.
|
|
35
|
+
|
|
36
|
+
Integration requires at least two real WorkRefs and one shared delivery boundary but creates no Group. Ambiguous, mixed, stale or denied boundaries stop before staging. Missing Commit capability has no Core fallback. Commit audits the exact index and owns Git execution.
|
|
37
|
+
|
|
38
|
+
Push requires explicit authority and an unambiguous remote, branch and milestone. Never infer it from commit or closure; no force push or automatic publication. Remote failure preserves local commits and stops at that boundary.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Context migration
|
|
2
|
+
|
|
3
|
+
Load when a legacy CONTEXT-MAP.md is found, CLI reports it, or the user requests context migration. This is a conditional Core method, not a separate Skill or a mandatory project phase. CONTEXT.md remains the target model for vocabulary, domain relationships, and navigation.
|
|
4
|
+
|
|
5
|
+
## Inspect without migrating
|
|
6
|
+
|
|
7
|
+
Read the relevant legacy map, existing root/local CONTEXT files, scoped instructions, and incoming references. File presence is a migration signal, not proof that its content is obsolete or that an existing CONTEXT already contains it. Resolve overlapping or contradictory definitions with their owner; do not choose a winner from the filename.
|
|
8
|
+
|
|
9
|
+
Without migration authority, preserve files and use the legacy content relevant to the current task alongside current context. Report the pending migration without repeatedly demanding it or blocking unrelated work. Stop only work that depends on an unresolved meaning or authority conflict. Do not follow unsafe or out-of-scope paths merely because a legacy map points to them.
|
|
10
|
+
|
|
11
|
+
## Migrate within explicit scope
|
|
12
|
+
|
|
13
|
+
Establish authorized source files, target owners, reference updates, and whether retiring the old file is included. Reuse the selected WorkRef when tracked; bounded direct migration needs no new work record.
|
|
14
|
+
|
|
15
|
+
1. Map useful terms, relationships, and navigation to their root/local CONTEXT owners. Keep contracts and operating rules with their existing Spec/AGENTS owners, using links instead of parallel definitions. Resolve material conflicts before changing their meaning.
|
|
16
|
+
2. Merge into existing context without overwriting unrelated content or renaming concepts for consistency alone. For substantial writing use Doc when available; otherwise preserve meaning and verify the reader's navigation directly. Doc supplies the writing method, not migration or deletion authority.
|
|
17
|
+
3. Update active references and entry instructions. Check both lost meaning and broken paths; historical snapshots need not be rewritten.
|
|
18
|
+
4. Retire the old map only after checking preserved meaning, active references, and explicit retirement authority. If any gate is missing, keep it and report the remaining work.
|
|
19
|
+
|
|
20
|
+
`rsp update` and `rsp doctor` only detect the root legacy path and provide guidance; they do not compare semantics, merge context, or retire project files. A successful command is not migration acceptance.
|
|
21
|
+
|
|
22
|
+
Return the source-to-owner result, changed files, checks, and unresolved conflicts or permissions. Migration completion derives from inspected documents and references, not a new marker or stored lifecycle state.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Optional control outcome
|
|
2
|
+
|
|
3
|
+
Load only when a real technical consumer needs Core's phase-result rendering. This is response-only, never persisted controller state or an inter-Skill protocol. Normal responses answer the current request with outcome, necessary evidence and material limits in the requested language, without a mandatory schema or duplicated evidence. Include a next action only when work or a user decision remains.
|
|
4
|
+
|
|
5
|
+
When a machine consumer needs it, preserve the established values mode: solo | delegated | coordinated and status: running | waiting | completed, with route, dispatch, acceptance and closeout nested. Solo means no worker participated; delegated one worker; coordinated multiple workers or a required separate verifier. Identity and independence come from host observations, never worker prose. A Change WorkOwner uses its WorkRef; a Group uses its Group reference. State is presentation, not lifecycle. Do not emit duplicate JSON by default or include raw worker messages, host events, retry chronology or unaccepted evidence.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Coordinated 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
|
+
Answer status inquiries with current evidence and continuing intent, then continue while authority, verification and blockers permit. Status inquiries do not pause work. Host liveness and elapsed time neither change a Discipline result nor justify cancelling healthy work.
|
|
8
|
+
|
|
9
|
+
For an explicit pause, interrupt through the host and confirm active workers or owned background processes have stopped before acknowledging it. Until then, start no conflicting mutation or verification. A cancelled wait, terminal message or partial output proves no stop.
|
|
10
|
+
|
|
11
|
+
Preserve the focused owner (`WorkOwner`) and focused child WorkRef when applicable 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
|
+
When work needs a durable recovery snapshot, a Focus Capsule needs inspection or replacement, or a portable continuation handoff is required, read [focus and continuation recovery](focus-continuation.md). Same-session worker continuation alone does not require that reference. The capsule is a recovery pointer, never worker coordination, authority or acceptance.
|
|
14
|
+
|
|
15
|
+
## Resume from effects, not tool status
|
|
16
|
+
|
|
17
|
+
On same-session resume, reopen pointers to authority and owned artifacts, inspect drift and replay safety, and reassess decisive evidence applicability; rerun only missing or invalidated checks, not merely because work resumed.
|
|
18
|
+
|
|
19
|
+
Inspect actual effects before replay. An idempotent action may repeat after boundary inspection. An inspection-dependent action must first check prior effects; a non-repeatable action stops for recovery or owner input. Exit codes or partial results do not prove that nothing happened. Unknown mutation blocks replay; safe read-only observation may continue.
|
|
20
|
+
|
|
21
|
+
A permitted method change preserves authority, owner, scope, baseline and required evidence. Named checks, provenance and required independence remain binding. Once effects and host facts are established, [worker coordination](coordination.md) owns reuse or fresh dispatch; preserve the existing correction-loop counts and accepted outcomes across recovery.
|
|
22
|
+
|
|
23
|
+
For cross-session or cross-device recovery, distrust transient worker and liveness claims. Before mutation or delegation, reread current authority, selected owner, applicable tracking status, Git index, checkout diff, dirty paths, conflicting resources, blockers and execution location. Revalidate the selected handoff, decisive evidence and required verification against those facts; re-establish coordination qualification and host evidence for worker attribution or independence. Host completion without an attributable required worker result keeps acceptance incomplete. Current authority always wins.
|
|
24
|
+
|
|
25
|
+
For incomplete archived acceptance, read [reopen recovery](reopen-recovery.md) before any lifecycle mutation. It requires separate explicit lifecycle authority and owns exact archive selection and the closed-Group-before-child sequence. Restore neither children nor dependents implicitly.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Core-owned correction and review convergence
|
|
2
|
+
|
|
3
|
+
Load for a required correction/re-review loop or an evidenced failure in already delegated work. Core coordinates the existing authorized request; loading this method grants no worker dispatch, automatic closeout or new worker authority. Direct capability use needs no full Core entry: when the request includes correction and review, its caller applies this same loop rather than starting a capability-local copy.
|
|
4
|
+
|
|
5
|
+
## One owner, bounded passes
|
|
6
|
+
|
|
7
|
+
Core retains the original scope, authority, comparison, required evidence and transient pass counts. Implement supplies one bounded correction with finding dispositions, changed paths, checks and limits. Review supplies a fresh fixed-scope judgment of the actual corrected target and its impact. Implement never certifies review-clean. Required independent Verify or Review still needs a distinct worker proved by host observations.
|
|
8
|
+
|
|
9
|
+
1. Correlate the returned result with the requested boundary and actual effects. An `accepted` finding can proceed only within existing correction authority; `rejected` needs evidence, and `needs-clarification` returns the material decision to its owner.
|
|
10
|
+
2. Batch compatible accepted findings into one Implement correction with affected checks; preserve separate owners and incompatible writer boundaries. Continue ordinary same-scope repair without asking the user to repeat permission. A capability transition creates no extra worker or test phase by itself.
|
|
11
|
+
3. Consume that result, preserve findings and limits, then obtain the required read-only Review of finding resolution and risks introduced by the fix diff. Unrelated improvements do not extend this loop. Reuse applicable test evidence, but never reuse an earlier review verdict for changed behavior. Continue only for remaining accepted findings with improving evidence; clean review is evidence for this boundary, not overall completion or delivery permission.
|
|
12
|
+
|
|
13
|
+
Only Core counts repeated cross-capability passes. Preserve the existing ceilings: at most three worker correction passes for an evidenced same-scope failure, and separately at most three finding-resolution passes per Change or bounded direct request. Stop when the same finding survives two completed corrections. Returning through a capability, resuming a worker or changing tools resets neither count. Counts and chronology stay transient; do not add a controller record.
|
|
14
|
+
|
|
15
|
+
Stop earlier for repeated evidence, non-convergence, changed scope/authority, unsafe or unknown effects, an unavailable required capability, unverifiable correction or missing decisive evidence. Seek owner input for a material product/interface choice or a real-host, provider or network run outside existing authority. Report the unresolved finding, gap or decision. Limits leave work incomplete; they waive no acceptance gate. Continue eligible in-scope corrections without another generic continuation request.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Worker delegation and resource evidence
|
|
2
|
+
|
|
3
|
+
Load for actual workers, dependencies/shared-resource arbitration or required independent acceptance. Work shape and worker count are independent. Explicit worker requests or binding worker requirements permit bounded dispatch; otherwise use the validated workflow.delegation setting (off by default, auto when enabled). Recovery and ordinary continuation do not enable delegation.
|
|
4
|
+
|
|
5
|
+
Core decides none, preferred or required from the actual obligation. Keep tightly coupled work local; prefer independently executable slices only when delegation is allowed. Required dispatch needs attributable host execution; required independence needs a distinct worker. The main agent or user chooses worker count without RSP tiers or limits; host resource limits still apply. No setting grants product, Git or lifecycle authority. Missing optional delegation falls back locally; missing required workers leave acceptance incomplete.
|
|
6
|
+
|
|
7
|
+
## Delegate one bounded task
|
|
8
|
+
|
|
9
|
+
For grouped or dependent work, use [groups and dependencies](groups-dependencies.md) and the current `rsp status --json` plan. Only children in the first non-empty `plan.waves` wave are eligible; a prerequisite in `plan.blocked` prevents dispatch. Recheck dependencies and integrated evidence before the next wave. Child passes alone do not satisfy Group integration.
|
|
10
|
+
|
|
11
|
+
Before parallel work, check write boundaries and shared resources: generated outputs, manifests/lockfiles, Git index, test services, databases, browsers and hardware. Different filenames prove neither interface compatibility nor isolation. Require host-proven isolation or run serially. Unknown required isolation blocks concurrency; otherwise safe serial work may continue.
|
|
12
|
+
|
|
13
|
+
Send one independently executable vertical slice. Tell the recipient it is already dispatched and must not rerun parent routing or delegate further. Include only what it needs to act safely:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
Work: <exact WorkRef>
|
|
17
|
+
Objective: <bounded outcome or review target and comparison>
|
|
18
|
+
Authority: <exact owner sections or paths>
|
|
19
|
+
Read: <needed sources and supporting references within the allowed boundary>
|
|
20
|
+
Write: <allowed write boundary>
|
|
21
|
+
Verify: <required verification boundary>
|
|
22
|
+
Known facts: <only decisive current facts>
|
|
23
|
+
Prohibited actions: <explicit denials>
|
|
24
|
+
Stop conditions: <when to return without continuing>
|
|
25
|
+
Replay caution: <only when repeating effects may be unsafe>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
For direct work, identify the bounded request instead of inventing a WorkRef. Supply source locations and decisive facts, not copied method bodies. Distinguish the review target from supporting references. Workers load their methods and inspect actual sources and applicable instructions; Core retains result validation.
|
|
29
|
+
|
|
30
|
+
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.
|
|
31
|
+
|
|
32
|
+
Reuse a host-resumable worker only while goal, role, authority, writer boundary and evidence remain compatible; otherwise send a complete fresh task. Pass changed facts explicitly, never hidden inheritance as authority. After interruption use [recovery](coordination-recovery.md) to inspect effects and re-establish host facts before dispatch.
|
|
33
|
+
|
|
34
|
+
Each delegated Discipline owns its own result:
|
|
35
|
+
|
|
36
|
+
- **Diagnose:** `rsp-implement` read-only diagnosis mode; `confirmed | unresolved` with cause evidence and scope impact.
|
|
37
|
+
- **Inspect:** Core-owned read-only evidence packet.
|
|
38
|
+
- **Fix:** `rsp-implement`; `changed | no-change` with changed paths, verification, omissions, and any scope issue.
|
|
39
|
+
- **Verify:** `rsp-verify`; `pass | fail | unavailable` with named checks, evidence delta, omissions, and any scope issue.
|
|
40
|
+
|
|
41
|
+
One worker may return both the Fix and ordinary Verify results for the same Change when independent verification is not required. The combined result is implementation evidence, not self-certified acceptance.
|
|
42
|
+
|
|
43
|
+
Fixed-scope review remains owned by `rsp-review`, including a required independent reviewer. Core adds no universal worker receipt and never asks a worker to self-report identity, independence, settlement, or acceptance.
|
|
44
|
+
|
|
45
|
+
## Validate results and host facts
|
|
46
|
+
|
|
47
|
+
Treat three evidence sources separately:
|
|
48
|
+
|
|
49
|
+
- the worker-authored Discipline result states what the worker did and observed;
|
|
50
|
+
- host observations, when available, establish dispatch, attribution, activity, cancellation, completion, and whether different workers participated;
|
|
51
|
+
- Core validates authority, actual changed paths, local diff, declared verification, omissions, and current acceptance.
|
|
52
|
+
|
|
53
|
+
Derive host facts from observations, not prose, handles, elapsed time, topology or passing tests. Missing observations remain unavailable. Host facts create no RSP domain objects. Workers cannot certify their own identity, independence, resource release, evidence validity or acceptance.
|
|
54
|
+
|
|
55
|
+
For required delegation, Core must have an attributable worker-authored result covering the assigned boundary. For required independent Verify or Review, host observations must establish distinct workers from the accepted implementation. If not, acceptance remains `incomplete`. Core cannot author or substitute the missing result.
|
|
56
|
+
|
|
57
|
+
When one worker owns Fix and ordinary checks, Core validates the result before deriving `evidence-complete`. Reuse applicable observations and checks; required Review still independently judges the actual target. Integration or changed inputs require affected checks. Archive and commit keep separate gates. Corrections return through [Core review convergence](coordination-review.md), not a worker-local loop.
|
|
58
|
+
|
|
59
|
+
Host completion, transport shape or passing tests alone cannot establish acceptance; use the actual result and host facts above.
|