rainskills 0.1.0-rc.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/LICENSE +201 -0
- package/README.md +374 -0
- package/bin/rainskills.js +71 -0
- package/install.sh +1919 -0
- package/package.json +55 -0
- package/rainbond-app-assistant/SKILL.md +1319 -0
- package/rainbond-app-assistant/evals/01-linked-topology-missing.expected.yaml +21 -0
- package/rainbond-app-assistant/evals/01-linked-topology-missing.response.md +53 -0
- package/rainbond-app-assistant/evals/02-linked-topology-building.expected.yaml +19 -0
- package/rainbond-app-assistant/evals/02-linked-topology-building.response.md +53 -0
- package/rainbond-app-assistant/evals/03-runtime-healthy-delivery-unknown.expected.yaml +19 -0
- package/rainbond-app-assistant/evals/03-runtime-healthy-delivery-unknown.response.md +53 -0
- package/rainbond-app-assistant/evals/04-delivered-stop-without-promotion.expected.yaml +21 -0
- package/rainbond-app-assistant/evals/04-delivered-stop-without-promotion.response.md +58 -0
- package/rainbond-app-assistant/evals/05-delivered-explicit-dev-to-test.expected.yaml +21 -0
- package/rainbond-app-assistant/evals/05-delivered-explicit-dev-to-test.response.md +80 -0
- package/rainbond-app-assistant/evals/06-manual-validation-stop.expected.yaml +16 -0
- package/rainbond-app-assistant/evals/06-manual-validation-stop.response.md +58 -0
- package/rainbond-app-assistant/evals/07-cluster-capacity-blocked.expected.yaml +15 -0
- package/rainbond-app-assistant/evals/07-cluster-capacity-blocked.response.md +53 -0
- package/rainbond-app-assistant/evals/08-code-build-handoff-stop.expected.yaml +21 -0
- package/rainbond-app-assistant/evals/08-code-build-handoff-stop.response.md +56 -0
- package/rainbond-app-assistant/evals/09-source-backed-failure-no-fallback.expected.yaml +22 -0
- package/rainbond-app-assistant/evals/09-source-backed-failure-no-fallback.response.md +56 -0
- package/rainbond-app-assistant/evals/10-identity-ambiguous-stop.expected.yaml +21 -0
- package/rainbond-app-assistant/evals/10-identity-ambiguous-stop.response.md +45 -0
- package/rainbond-app-assistant/evals/11-delivered-with-proxy-and-local-binding.expected.yaml +28 -0
- package/rainbond-app-assistant/evals/11-delivered-with-proxy-and-local-binding.response.md +64 -0
- package/rainbond-app-assistant/evals/12-complex-suite-needs-descriptor-stop.expected.yaml +24 -0
- package/rainbond-app-assistant/evals/12-complex-suite-needs-descriptor-stop.response.md +45 -0
- package/rainbond-app-assistant/evals/13-explicit-git-url-locks-source.expected.yaml +28 -0
- package/rainbond-app-assistant/evals/13-explicit-git-url-locks-source.response.md +53 -0
- package/rainbond-app-assistant/evals/14-strategy-switch-cleans-residue.expected.yaml +22 -0
- package/rainbond-app-assistant/evals/14-strategy-switch-cleans-residue.response.md +53 -0
- package/rainbond-app-assistant/evals/15-turn-discipline-reuse-alias.expected.yaml +23 -0
- package/rainbond-app-assistant/evals/15-turn-discipline-reuse-alias.response.md +53 -0
- package/rainbond-app-assistant/schemas/app-assistant-result.schema.yaml +279 -0
- package/rainbond-app-assistant/scripts/run_app_assistant_evals.py +80 -0
- package/rainbond-app-assistant/scripts/validate_app_assistant_output.py +935 -0
- package/rainbond-app-version-assistant/SKILL.md +444 -0
- package/rainbond-delivery-verifier/SKILL.md +372 -0
- package/rainbond-delivery-verifier/evals/01-delivered-verified.expected.yaml +19 -0
- package/rainbond-delivery-verifier/evals/01-delivered-verified.response.md +31 -0
- package/rainbond-delivery-verifier/evals/02-delivered-manual-validation.expected.yaml +19 -0
- package/rainbond-delivery-verifier/evals/02-delivered-manual-validation.response.md +31 -0
- package/rainbond-delivery-verifier/evals/03-partially-delivered-building.expected.yaml +20 -0
- package/rainbond-delivery-verifier/evals/03-partially-delivered-building.response.md +31 -0
- package/rainbond-delivery-verifier/evals/04-blocked-capacity.expected.yaml +18 -0
- package/rainbond-delivery-verifier/evals/04-blocked-capacity.response.md +31 -0
- package/rainbond-delivery-verifier/evals/05-blocked-no-usable-url.expected.yaml +20 -0
- package/rainbond-delivery-verifier/evals/05-blocked-no-usable-url.response.md +31 -0
- package/rainbond-delivery-verifier/evals/06-blocked-runtime-unhealthy.expected.yaml +19 -0
- package/rainbond-delivery-verifier/evals/06-blocked-runtime-unhealthy.response.md +31 -0
- package/rainbond-delivery-verifier/schemas/delivery-verification-result.schema.yaml +84 -0
- package/rainbond-delivery-verifier/scripts/run_delivery_verifier_evals.py +78 -0
- package/rainbond-delivery-verifier/scripts/validate_delivery_verifier_output.py +728 -0
- package/rainbond-env-sync/SKILL.md +496 -0
- package/rainbond-fullstack-bootstrap/SKILL.md +262 -0
- package/rainbond-fullstack-bootstrap/evals/01-reuse-only.expected.yaml +27 -0
- package/rainbond-fullstack-bootstrap/evals/01-reuse-only.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/01-reuse-only.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/02-deferred-dependency.expected.yaml +27 -0
- package/rainbond-fullstack-bootstrap/evals/02-deferred-dependency.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/02-deferred-dependency.response.md +44 -0
- package/rainbond-fullstack-bootstrap/evals/03-capacity-blocked.expected.yaml +26 -0
- package/rainbond-fullstack-bootstrap/evals/03-capacity-blocked.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/03-capacity-blocked.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/04-template-skip.expected.yaml +31 -0
- package/rainbond-fullstack-bootstrap/evals/04-template-skip.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/04-template-skip.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/05-source-ambiguity-stop.expected.yaml +33 -0
- package/rainbond-fullstack-bootstrap/evals/05-source-ambiguity-stop.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/05-source-ambiguity-stop.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/06-external-artifact-unreachable.expected.yaml +23 -0
- package/rainbond-fullstack-bootstrap/evals/06-external-artifact-unreachable.response.md +39 -0
- package/rainbond-fullstack-bootstrap/evals/07-provider-connection-contract.expected.yaml +29 -0
- package/rainbond-fullstack-bootstrap/evals/07-provider-connection-contract.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/08-explicit-dependency-after-manual-components.expected.yaml +30 -0
- package/rainbond-fullstack-bootstrap/evals/08-explicit-dependency-after-manual-components.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/08-explicit-dependency-after-manual-components.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/09-inferred-provider-consumer-gate.expected.yaml +32 -0
- package/rainbond-fullstack-bootstrap/evals/09-inferred-provider-consumer-gate.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/09-inferred-provider-consumer-gate.response.md +41 -0
- package/rainbond-fullstack-bootstrap/evals/10-compose-service-name-not-hostname.expected.yaml +34 -0
- package/rainbond-fullstack-bootstrap/evals/10-compose-service-name-not-hostname.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/10-compose-service-name-not-hostname.response.md +43 -0
- package/rainbond-fullstack-bootstrap/evals/11-reverse-proxy-not-dropped.expected.yaml +46 -0
- package/rainbond-fullstack-bootstrap/evals/11-reverse-proxy-not-dropped.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/11-reverse-proxy-not-dropped.response.md +48 -0
- package/rainbond-fullstack-bootstrap/evals/12-optional-services-disclose-not-deploy.expected.yaml +43 -0
- package/rainbond-fullstack-bootstrap/evals/12-optional-services-disclose-not-deploy.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/12-optional-services-disclose-not-deploy.response.md +63 -0
- package/rainbond-fullstack-bootstrap/evals/13-env-reference-dependency-completeness.expected.yaml +47 -0
- package/rainbond-fullstack-bootstrap/evals/13-env-reference-dependency-completeness.prompt.md +1 -0
- package/rainbond-fullstack-bootstrap/evals/13-env-reference-dependency-completeness.response.md +60 -0
- package/rainbond-fullstack-bootstrap/modules/10-context-loading.md +157 -0
- package/rainbond-fullstack-bootstrap/modules/20-scope-and-boundaries.md +105 -0
- package/rainbond-fullstack-bootstrap/modules/30-creation-rules.md +337 -0
- package/rainbond-fullstack-bootstrap/modules/40-source-and-package-rules.md +245 -0
- package/rainbond-fullstack-bootstrap/modules/50-workflow-and-convergence.md +198 -0
- package/rainbond-fullstack-bootstrap/modules/60-verification-and-handoffs.md +143 -0
- package/rainbond-fullstack-bootstrap/modules/70-output-contract.md +152 -0
- package/rainbond-fullstack-bootstrap/references/manifest-v1-reference.md +150 -0
- package/rainbond-fullstack-bootstrap/references/quick-reference.md +101 -0
- package/rainbond-fullstack-bootstrap/references/source-build-parameter-guide.md +264 -0
- package/rainbond-fullstack-bootstrap/references/sql-init-recipe.md +83 -0
- package/rainbond-fullstack-bootstrap/schemas/bootstrap-result.schema.yaml +217 -0
- package/rainbond-fullstack-bootstrap/scripts/run_bootstrap_evals.py +74 -0
- package/rainbond-fullstack-bootstrap/scripts/validate_bootstrap_output.py +615 -0
- package/rainbond-fullstack-troubleshooter/SKILL.md +870 -0
- package/rainbond-fullstack-troubleshooter/evals/01-source-build-failed.expected.yaml +29 -0
- package/rainbond-fullstack-troubleshooter/evals/01-source-build-failed.response.md +55 -0
- package/rainbond-fullstack-troubleshooter/evals/02-source-build-still-running.expected.yaml +20 -0
- package/rainbond-fullstack-troubleshooter/evals/02-source-build-still-running.response.md +53 -0
- package/rainbond-fullstack-troubleshooter/evals/03-dependency-missing.expected.yaml +21 -0
- package/rainbond-fullstack-troubleshooter/evals/03-dependency-missing.response.md +59 -0
- package/rainbond-fullstack-troubleshooter/evals/04-wrong-connection-values.expected.yaml +19 -0
- package/rainbond-fullstack-troubleshooter/evals/04-wrong-connection-values.response.md +58 -0
- package/rainbond-fullstack-troubleshooter/evals/05-env-naming-incompatibility.expected.yaml +18 -0
- package/rainbond-fullstack-troubleshooter/evals/05-env-naming-incompatibility.response.md +59 -0
- package/rainbond-fullstack-troubleshooter/evals/06-frontend-access-path-issue.expected.yaml +21 -0
- package/rainbond-fullstack-troubleshooter/evals/06-frontend-access-path-issue.response.md +56 -0
- package/rainbond-fullstack-troubleshooter/evals/07-cluster-capacity-blocked.expected.yaml +20 -0
- package/rainbond-fullstack-troubleshooter/evals/07-cluster-capacity-blocked.response.md +57 -0
- package/rainbond-fullstack-troubleshooter/evals/08-code-or-build-handoff-needed.expected.yaml +21 -0
- package/rainbond-fullstack-troubleshooter/evals/08-code-or-build-handoff-needed.response.md +55 -0
- package/rainbond-fullstack-troubleshooter/evals/09-external-artifact-unreachable.expected.yaml +28 -0
- package/rainbond-fullstack-troubleshooter/evals/09-external-artifact-unreachable.response.md +53 -0
- package/rainbond-fullstack-troubleshooter/schemas/troubleshoot-result.schema.yaml +217 -0
- package/rainbond-fullstack-troubleshooter/scripts/run_troubleshooter_evals.py +80 -0
- package/rainbond-fullstack-troubleshooter/scripts/validate_troubleshoot_output.py +789 -0
- package/rainbond-project-init/SKILL.md +1001 -0
- package/rainbond-template-installer/SKILL.md +410 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
case: linked-topology-missing
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: source_app_delivery
|
|
5
|
+
AppAssistantResult.execution_path.requested_kind: source
|
|
6
|
+
AppAssistantResult.execution_path.resolved_kind: source
|
|
7
|
+
AppAssistantResult.orchestration_state: linked-and-topology-missing
|
|
8
|
+
AppAssistantResult.runtime_state.phase: topology_missing
|
|
9
|
+
AppAssistantResult.delivery_state: null
|
|
10
|
+
AppAssistantResult.promotion_result: null
|
|
11
|
+
AppAssistantResult.next_action: run bootstrap
|
|
12
|
+
contains:
|
|
13
|
+
AppAssistantResult.actions_performed:
|
|
14
|
+
- skill: rainbond-fullstack-bootstrap
|
|
15
|
+
status: pending
|
|
16
|
+
details: Selected as the next safe step because the linked source app still has no established topology.
|
|
17
|
+
prose_contains:
|
|
18
|
+
- linked-and-topology-missing
|
|
19
|
+
- topology_missing
|
|
20
|
+
- bootstrap is required
|
|
21
|
+
- run bootstrap
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-topology-missing` for the `preview` environment with team `demo-team`, region `cn`, app `orders-app`, and app_id `app-201`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved local binding and current project intent. `rainbond-fullstack-bootstrap` was selected as the next safe step because the linked source app still has no established topology.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status null, api/service status waiting, frontend-access status null, overall status topology_missing.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
The linked source app has no established topology yet, so bootstrap is required before runtime or delivery evidence can exist.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
run bootstrap
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: orders-app
|
|
24
|
+
app_id: app-201
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: local_preference
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-topology-missing
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: topology_missing
|
|
39
|
+
db_status: null
|
|
40
|
+
api_status: waiting
|
|
41
|
+
frontend_status: null
|
|
42
|
+
blocker: The linked source app has no established topology yet, so bootstrap is required before runtime or delivery evidence can exist.
|
|
43
|
+
delivery_state: null
|
|
44
|
+
promotion_result: null
|
|
45
|
+
actions_performed:
|
|
46
|
+
- skill: inspection-only
|
|
47
|
+
status: completed
|
|
48
|
+
details: Resolved the linked source app identity and current project intent from local binding plus current MCP truth.
|
|
49
|
+
- skill: rainbond-fullstack-bootstrap
|
|
50
|
+
status: pending
|
|
51
|
+
details: Selected as the next safe step because the linked source app still has no established topology.
|
|
52
|
+
next_action: run bootstrap
|
|
53
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
case: linked-topology-building
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: source_app_delivery
|
|
5
|
+
AppAssistantResult.orchestration_state: linked-and-topology-building
|
|
6
|
+
AppAssistantResult.runtime_state.phase: topology_building
|
|
7
|
+
AppAssistantResult.delivery_state: null
|
|
8
|
+
AppAssistantResult.promotion_result: null
|
|
9
|
+
AppAssistantResult.next_action: run troubleshooter
|
|
10
|
+
contains:
|
|
11
|
+
AppAssistantResult.actions_performed:
|
|
12
|
+
- skill: rainbond-fullstack-troubleshooter
|
|
13
|
+
status: pending
|
|
14
|
+
details: Selected because topology exists but source-backed components are still converging.
|
|
15
|
+
prose_contains:
|
|
16
|
+
- linked-and-topology-building
|
|
17
|
+
- topology_building
|
|
18
|
+
- Source-backed components are still building
|
|
19
|
+
- run troubleshooter
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-topology-building` for the `preview` environment with team `demo-team`, region `cn`, app `inventory-app`, and app_id `app-202`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state and kept the source path intact. `rainbond-fullstack-troubleshooter` was selected because topology exists but source-backed components are still converging.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status building, frontend-access status waiting, overall status topology_building.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
Source-backed components are still building and need bounded convergence inspection before delivery verification is safe.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
run troubleshooter
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: inventory-app
|
|
24
|
+
app_id: app-202
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: local_preference
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-topology-building
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: topology_building
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: building
|
|
41
|
+
frontend_status: waiting
|
|
42
|
+
blocker: Source-backed components are still building and need bounded convergence inspection before delivery verification is safe.
|
|
43
|
+
delivery_state: null
|
|
44
|
+
promotion_result: null
|
|
45
|
+
actions_performed:
|
|
46
|
+
- skill: inspection-only
|
|
47
|
+
status: completed
|
|
48
|
+
details: Resolved the linked source app state from current MCP truth without changing the source-backed path.
|
|
49
|
+
- skill: rainbond-fullstack-troubleshooter
|
|
50
|
+
status: pending
|
|
51
|
+
details: Selected because topology exists but source-backed components are still converging.
|
|
52
|
+
next_action: run troubleshooter
|
|
53
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
case: runtime-healthy-delivery-unknown
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: source_app_delivery
|
|
5
|
+
AppAssistantResult.orchestration_state: linked-and-needs-delivery-verification
|
|
6
|
+
AppAssistantResult.runtime_state.phase: runtime_healthy
|
|
7
|
+
AppAssistantResult.delivery_state: null
|
|
8
|
+
AppAssistantResult.promotion_result: null
|
|
9
|
+
AppAssistantResult.next_action: run delivery verifier
|
|
10
|
+
contains:
|
|
11
|
+
AppAssistantResult.actions_performed:
|
|
12
|
+
- skill: rainbond-delivery-verifier
|
|
13
|
+
status: pending
|
|
14
|
+
details: Selected because runtime is healthy but delivery acceptance is still unknown.
|
|
15
|
+
prose_contains:
|
|
16
|
+
- linked-and-needs-delivery-verification
|
|
17
|
+
- runtime_healthy
|
|
18
|
+
- delivery acceptance is still unknown
|
|
19
|
+
- run delivery verifier
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-needs-delivery-verification` for the `preview` environment with team `demo-team`, region `cn`, app `billing-app`, and app_id `app-203`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state and confirmed runtime convergence. `rainbond-delivery-verifier` was selected because delivery acceptance is still unknown.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status running, overall status runtime_healthy.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
No Rainbond-side blocker is currently dominant inside runtime; delivery acceptance is still unknown until delivery-verifier runs.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
run delivery verifier
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: billing-app
|
|
24
|
+
app_id: app-203
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: explicit
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-needs-delivery-verification
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: runtime_healthy
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: running
|
|
42
|
+
blocker: null
|
|
43
|
+
delivery_state: null
|
|
44
|
+
promotion_result: null
|
|
45
|
+
actions_performed:
|
|
46
|
+
- skill: inspection-only
|
|
47
|
+
status: completed
|
|
48
|
+
details: Confirmed runtime convergence for the linked source app from current MCP truth.
|
|
49
|
+
- skill: rainbond-delivery-verifier
|
|
50
|
+
status: pending
|
|
51
|
+
details: Selected because runtime is healthy but delivery acceptance is still unknown.
|
|
52
|
+
next_action: run delivery verifier
|
|
53
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
case: delivered-stop-without-promotion
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: source_app_delivery
|
|
5
|
+
AppAssistantResult.orchestration_state: linked-and-delivered
|
|
6
|
+
AppAssistantResult.runtime_state.phase: runtime_healthy
|
|
7
|
+
AppAssistantResult.delivery_state.status: delivered
|
|
8
|
+
AppAssistantResult.delivery_state.preferred_access_url: https://demo-team-cn.rainbond.me/payments-app
|
|
9
|
+
AppAssistantResult.delivery_state.verification_mode: verified
|
|
10
|
+
AppAssistantResult.promotion_result: null
|
|
11
|
+
AppAssistantResult.next_action: stop
|
|
12
|
+
contains:
|
|
13
|
+
AppAssistantResult.actions_performed:
|
|
14
|
+
- skill: rainbond-delivery-verifier
|
|
15
|
+
status: completed
|
|
16
|
+
details: Verified the source app is delivered and resolved the preferred_access_url.
|
|
17
|
+
prose_contains:
|
|
18
|
+
- linked-and-delivered
|
|
19
|
+
- delivery status delivered
|
|
20
|
+
- promotion was not requested
|
|
21
|
+
- stop
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-delivered` for the `preview` environment with team `demo-team`, region `cn`, app `payments-app`, and app_id `app-204`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state and completed `rainbond-delivery-verifier`. Promotion was not requested, so the single-entry orchestration stopped at the delivered source app boundary.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status running, overall status runtime_healthy, delivery status delivered.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
No blocking issue remains for the source app. delivery_state is delivered and promotion was not requested.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
stop
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: payments-app
|
|
24
|
+
app_id: app-204
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: local_preference
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-delivered
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: runtime_healthy
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: running
|
|
42
|
+
blocker: null
|
|
43
|
+
delivery_state:
|
|
44
|
+
status: delivered
|
|
45
|
+
preferred_access_url: https://demo-team-cn.rainbond.me/payments-app
|
|
46
|
+
verification_mode: verified
|
|
47
|
+
blocker: null
|
|
48
|
+
verifier_next_action: stop
|
|
49
|
+
promotion_result: null
|
|
50
|
+
actions_performed:
|
|
51
|
+
- skill: inspection-only
|
|
52
|
+
status: completed
|
|
53
|
+
details: Confirmed the linked source app identity and final delivery gate conditions.
|
|
54
|
+
- skill: rainbond-delivery-verifier
|
|
55
|
+
status: completed
|
|
56
|
+
details: Verified the source app is delivered and resolved the preferred_access_url.
|
|
57
|
+
next_action: stop
|
|
58
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
case: delivered-explicit-dev-to-test
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: dev_to_test_promotion
|
|
5
|
+
AppAssistantResult.delivery_state.status: delivered
|
|
6
|
+
AppAssistantResult.delivery_state.preferred_access_url: https://demo-team-cn.rainbond.me/orders-app
|
|
7
|
+
AppAssistantResult.promotion_result.status: testing_app_verified
|
|
8
|
+
AppAssistantResult.promotion_result.snapshot.version_id: ver-20260423-01
|
|
9
|
+
AppAssistantResult.promotion_result.testing_app.app_name: orders-app-test
|
|
10
|
+
AppAssistantResult.promotion_result.testing_delivery_state.status: delivered
|
|
11
|
+
AppAssistantResult.next_action: stop after reporting testing app verification for orders-app-test
|
|
12
|
+
contains:
|
|
13
|
+
AppAssistantResult.actions_performed:
|
|
14
|
+
- skill: rainbond-app-version-assistant
|
|
15
|
+
status: completed
|
|
16
|
+
details: Created snapshot ver-20260423-01 and provisioned testing app orders-app-test because the user explicitly requested dev-to-test promotion.
|
|
17
|
+
prose_contains:
|
|
18
|
+
- linked-and-promotion-complete
|
|
19
|
+
- dev-to-test mainline
|
|
20
|
+
- orders-app-test
|
|
21
|
+
- promotion_result to enter
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-promotion-complete` for the `preview` environment with team `demo-team`, region `cn`, app `orders-app`, and app_id `app-205`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state, completed `rainbond-delivery-verifier`, then entered `rainbond-app-version-assistant` because the user explicitly requested the dev-to-test mainline. A second `rainbond-delivery-verifier` run verified the created testing app.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status running, overall status runtime_healthy, delivery status delivered, testing app `orders-app-test` verification status delivered.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
No blocking issue remains. The explicit dev-to-test request allowed promotion_result to enter after the source app was delivered.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
stop after reporting testing app verification for orders-app-test
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: orders-app
|
|
24
|
+
app_id: app-205
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: explicit
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: dev_to_test_promotion
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-promotion-complete
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: runtime_healthy
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: running
|
|
42
|
+
blocker: null
|
|
43
|
+
delivery_state:
|
|
44
|
+
status: delivered
|
|
45
|
+
preferred_access_url: https://demo-team-cn.rainbond.me/orders-app
|
|
46
|
+
verification_mode: verified
|
|
47
|
+
blocker: null
|
|
48
|
+
verifier_next_action: stop
|
|
49
|
+
promotion_result:
|
|
50
|
+
status: testing_app_verified
|
|
51
|
+
snapshot:
|
|
52
|
+
version_id: ver-20260423-01
|
|
53
|
+
version: v1.0.0-test
|
|
54
|
+
alias: dev-to-test-smoke
|
|
55
|
+
testing_app:
|
|
56
|
+
team_name: demo-team
|
|
57
|
+
region_name: cn
|
|
58
|
+
app_name: orders-app-test
|
|
59
|
+
app_id: app-test-205
|
|
60
|
+
testing_delivery_state:
|
|
61
|
+
status: delivered
|
|
62
|
+
preferred_access_url: https://demo-team-cn.rainbond.me/orders-app-test
|
|
63
|
+
verification_mode: verified
|
|
64
|
+
blocker: null
|
|
65
|
+
verifier_next_action: stop
|
|
66
|
+
actions_performed:
|
|
67
|
+
- skill: inspection-only
|
|
68
|
+
status: completed
|
|
69
|
+
details: Confirmed the linked source app identity and explicit dev-to-test intent.
|
|
70
|
+
- skill: rainbond-delivery-verifier
|
|
71
|
+
status: completed
|
|
72
|
+
details: Verified the source app is delivered and unlocked the promotion gate.
|
|
73
|
+
- skill: rainbond-app-version-assistant
|
|
74
|
+
status: completed
|
|
75
|
+
details: Created snapshot ver-20260423-01 and provisioned testing app orders-app-test because the user explicitly requested dev-to-test promotion.
|
|
76
|
+
- skill: rainbond-delivery-verifier
|
|
77
|
+
status: completed
|
|
78
|
+
details: Verified the created testing app orders-app-test is delivered.
|
|
79
|
+
next_action: stop after reporting testing app verification for orders-app-test
|
|
80
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
case: manual-validation-stop
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.request_intent: dev_to_test_promotion
|
|
5
|
+
AppAssistantResult.orchestration_state: linked-and-needs-manual-url-validation
|
|
6
|
+
AppAssistantResult.delivery_state.status: delivered-but-needs-manual-validation
|
|
7
|
+
AppAssistantResult.delivery_state.verification_mode: inferred
|
|
8
|
+
AppAssistantResult.delivery_state.verifier_next_action: manual_url_validation
|
|
9
|
+
AppAssistantResult.promotion_result: null
|
|
10
|
+
AppAssistantResult.next_action: stop and validate URL manually
|
|
11
|
+
prose_contains:
|
|
12
|
+
- delivered-but-needs-manual-validation
|
|
13
|
+
- promotion was not entered
|
|
14
|
+
- manual URL validation
|
|
15
|
+
prose_not_contains:
|
|
16
|
+
- rainbond-app-version-assistant
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-needs-manual-url-validation` for the `preview` environment with team `demo-team`, region `cn`, app `manual-check-app`, and app_id `app-206`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state and completed `rainbond-delivery-verifier`. The user asked for the dev-to-test mainline, but the source app only reached manual URL validation, so promotion was not entered.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status running, overall status runtime_healthy, delivery status delivered-but-needs-manual-validation.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
No Rainbond-side runtime blocker remains, but the current source app still requires manual URL validation before promotion can be considered.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
stop and validate URL manually
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: manual-check-app
|
|
24
|
+
app_id: app-206
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: explicit
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: dev_to_test_promotion
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-needs-manual-url-validation
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: runtime_healthy
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: running
|
|
42
|
+
blocker: null
|
|
43
|
+
delivery_state:
|
|
44
|
+
status: delivered-but-needs-manual-validation
|
|
45
|
+
preferred_access_url: https://demo-team-cn.rainbond.me/manual-check-app
|
|
46
|
+
verification_mode: inferred
|
|
47
|
+
blocker: null
|
|
48
|
+
verifier_next_action: manual_url_validation
|
|
49
|
+
promotion_result: null
|
|
50
|
+
actions_performed:
|
|
51
|
+
- skill: inspection-only
|
|
52
|
+
status: completed
|
|
53
|
+
details: Confirmed the linked source app identity and explicit dev-to-test intent.
|
|
54
|
+
- skill: rainbond-delivery-verifier
|
|
55
|
+
status: completed
|
|
56
|
+
details: Verified runtime convergence, but the source app still needs manual URL validation before any promotion gate can open.
|
|
57
|
+
next_action: stop and validate URL manually
|
|
58
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
case: cluster-capacity-blocked
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.orchestration_state: linked-and-cluster-capacity-blocked
|
|
5
|
+
AppAssistantResult.runtime_state.phase: capacity_blocked
|
|
6
|
+
AppAssistantResult.delivery_state: null
|
|
7
|
+
AppAssistantResult.promotion_result: null
|
|
8
|
+
AppAssistantResult.next_action: fix cluster capacity first
|
|
9
|
+
prose_contains:
|
|
10
|
+
- linked-and-cluster-capacity-blocked
|
|
11
|
+
- capacity_blocked
|
|
12
|
+
- unschedulable
|
|
13
|
+
- fix cluster capacity first
|
|
14
|
+
prose_not_contains:
|
|
15
|
+
- run delivery verifier
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-cluster-capacity-blocked` for the `preview` environment with team `demo-team`, region `cn`, app `ops-dashboard`, and app_id `app-207`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run resolved the linked source app state and current MCP/runtime evidence. `rainbond-fullstack-troubleshooter` was not entered because the dominant blocker is active cluster capacity shortage.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status capacity-blocked, overall status capacity_blocked.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
The web component is unschedulable because cluster CPU is exhausted, so delivery verification is not a safe next action.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
fix cluster capacity first
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: ops-dashboard
|
|
24
|
+
app_id: app-207
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: local_preference
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-cluster-capacity-blocked
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: capacity_blocked
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: capacity-blocked
|
|
42
|
+
blocker: The web component is unschedulable because cluster CPU is exhausted, so delivery verification is not a safe next action.
|
|
43
|
+
delivery_state: null
|
|
44
|
+
promotion_result: null
|
|
45
|
+
actions_performed:
|
|
46
|
+
- skill: inspection-only
|
|
47
|
+
status: completed
|
|
48
|
+
details: Confirmed the linked source app identity and active capacity blocker from current MCP truth.
|
|
49
|
+
- skill: rainbond-fullstack-troubleshooter
|
|
50
|
+
status: skipped
|
|
51
|
+
details: Deferred because active cluster capacity shortage must be fixed before bounded runtime repair can continue.
|
|
52
|
+
next_action: fix cluster capacity first
|
|
53
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
case: code-build-handoff-stop
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.orchestration_state: linked-and-needs-code-build-handoff
|
|
5
|
+
AppAssistantResult.runtime_state.phase: code_or_build_handoff_needed
|
|
6
|
+
AppAssistantResult.delivery_state: null
|
|
7
|
+
AppAssistantResult.promotion_result: null
|
|
8
|
+
AppAssistantResult.next_action: handoff to code/build agent
|
|
9
|
+
contains:
|
|
10
|
+
AppAssistantResult.actions_performed:
|
|
11
|
+
- skill: rainbond-fullstack-troubleshooter
|
|
12
|
+
status: completed
|
|
13
|
+
details: Confirmed the frontend access-path issue belongs to source/build remediation rather than Rainbond-side repair.
|
|
14
|
+
prose_contains:
|
|
15
|
+
- linked-and-needs-code-build-handoff
|
|
16
|
+
- code_or_build_handoff_needed
|
|
17
|
+
- localhost
|
|
18
|
+
- handoff to code/build agent
|
|
19
|
+
prose_not_contains:
|
|
20
|
+
- go test
|
|
21
|
+
- git push
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
### Project State
|
|
2
|
+
The project is `linked-and-needs-code-build-handoff` for the `preview` environment with team `demo-team`, region `cn`, app `frontend-console`, and app_id `app-208`.
|
|
3
|
+
|
|
4
|
+
### Actions Performed
|
|
5
|
+
This run completed `rainbond-fullstack-troubleshooter` and confirmed the remaining issue belongs to source/build remediation. `rainbond-delivery-verifier` was skipped because the current blocker is a frontend build/access-path problem.
|
|
6
|
+
|
|
7
|
+
### Current Health
|
|
8
|
+
db status running, api/service status running, frontend-access status abnormal, overall status code_or_build_handoff_needed.
|
|
9
|
+
|
|
10
|
+
### Blocking Issue
|
|
11
|
+
The frontend build output still points to localhost, so the current source app requires source/build configuration changes before delivery verification can succeed.
|
|
12
|
+
|
|
13
|
+
### Next Step
|
|
14
|
+
handoff to code/build agent
|
|
15
|
+
|
|
16
|
+
### Structured Output
|
|
17
|
+
```yaml
|
|
18
|
+
AppAssistantResult:
|
|
19
|
+
project:
|
|
20
|
+
identity:
|
|
21
|
+
team_name: demo-team
|
|
22
|
+
region_name: cn
|
|
23
|
+
app_name: frontend-console
|
|
24
|
+
app_id: app-208
|
|
25
|
+
linked: true
|
|
26
|
+
selected_environment: preview
|
|
27
|
+
environment:
|
|
28
|
+
name: preview
|
|
29
|
+
source: local_preference
|
|
30
|
+
env_delta_present: true
|
|
31
|
+
secrets_provided: true
|
|
32
|
+
request_intent: source_app_delivery
|
|
33
|
+
execution_path:
|
|
34
|
+
requested_kind: source
|
|
35
|
+
resolved_kind: source
|
|
36
|
+
orchestration_state: linked-and-needs-code-build-handoff
|
|
37
|
+
runtime_state:
|
|
38
|
+
phase: code_or_build_handoff_needed
|
|
39
|
+
db_status: running
|
|
40
|
+
api_status: running
|
|
41
|
+
frontend_status: abnormal
|
|
42
|
+
blocker: The frontend build output still points to localhost, so the current source app requires source/build configuration changes before delivery verification can succeed.
|
|
43
|
+
delivery_state: null
|
|
44
|
+
promotion_result: null
|
|
45
|
+
actions_performed:
|
|
46
|
+
- skill: inspection-only
|
|
47
|
+
status: completed
|
|
48
|
+
details: Confirmed the linked source app identity and bounded repair scope.
|
|
49
|
+
- skill: rainbond-fullstack-troubleshooter
|
|
50
|
+
status: completed
|
|
51
|
+
details: Confirmed the frontend access-path issue belongs to source/build remediation rather than Rainbond-side repair.
|
|
52
|
+
- skill: rainbond-delivery-verifier
|
|
53
|
+
status: skipped
|
|
54
|
+
details: Deferred because delivery verification is not valid before code/build remediation.
|
|
55
|
+
next_action: handoff to code/build agent
|
|
56
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
case: source-backed-failure-no-fallback
|
|
2
|
+
assert:
|
|
3
|
+
equal:
|
|
4
|
+
AppAssistantResult.execution_path.requested_kind: source
|
|
5
|
+
AppAssistantResult.execution_path.resolved_kind: source
|
|
6
|
+
AppAssistantResult.orchestration_state: linked-and-source-build-failed
|
|
7
|
+
AppAssistantResult.runtime_state.phase: source_build_failed
|
|
8
|
+
AppAssistantResult.delivery_state: null
|
|
9
|
+
AppAssistantResult.promotion_result: null
|
|
10
|
+
AppAssistantResult.next_action: run troubleshooter on the same source path
|
|
11
|
+
contains:
|
|
12
|
+
AppAssistantResult.actions_performed:
|
|
13
|
+
- skill: rainbond-fullstack-bootstrap
|
|
14
|
+
status: stopped
|
|
15
|
+
details: Source-backed bootstrap stopped after the source build failed and did not switch to package upload, image creation, or template install.
|
|
16
|
+
prose_contains:
|
|
17
|
+
- source-backed path intact
|
|
18
|
+
- did not switch to package upload, image creation, or template install
|
|
19
|
+
- same source path
|
|
20
|
+
prose_not_contains:
|
|
21
|
+
- fallback to package
|
|
22
|
+
- switched to image
|