re-render tool-builder bundles with fixed runwhen-platform-mcp renderer

- Regenerated SKILL_TEMPLATE.md for all three tool-builder bundles
  (stg-workspace-smoke, system-info-check, system-info-check-bash) — the
  previous versions had 8 leading spaces on every line because the renderer's
  textwrap.dedent didn't work against column-0 injected tables. Fixed on the
  MCP side; these are the corresponding refreshed outputs.
- Gave system-info-check and system-info-check-bash distinct baseNames
  (`sys-info-py` and `sys-info-bash`). Both previously truncated to
  `system-info-che` under the default 15-char baseName rule and collided
  in workspace-builder — the two SLXs would have shared the same computed
  name so only one (or neither) ever showed up.
- Also picks up the resource_path YAML-quoting change (single-quoted only
  when strictly required — no longer force-double-quoted).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
stewartshea
2026-07-07 00:35:51 -04:00
parent b401b3e3ec
commit db6f6f291b
8 changed files with 146 additions and 155 deletions
@@ -1,80 +1,77 @@
# Staging Workspace Smoke Check
# Staging Workspace Smoke Check
Verify tool-builder runtime can execute a simple custom task against the stg-test workspace.
Verify tool-builder runtime can execute a simple custom task against the stg-test workspace.
**Bundle:** `stg-workspace-smoke` · **Task title:** `Run staging workspace smoke check` ·
**Runtime:** tool-builder (python)
**Bundle:** `stg-workspace-smoke` · **Task title:** `Run staging workspace smoke check` ·
**Runtime:** tool-builder (python)
> **Review artifact:** See `raw_script.py` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.py` file instead.
> **Review artifact:** See `raw_script.py` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.py` file instead.
## When this SLX gets created
## When this SLX gets created
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-stg-smoke`
- **Qualifiers:** `workspace`
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-stg-smoke`
- **Qualifiers:** `workspace`
## What this SLX does
## What this SLX does
The task runs a python script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.py` in this directory for review.
The task runs a python script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.py` in this directory for review.
### Environment variables
### Environment variables
| Name | Value | Notes |
| Name | Value | Notes |
|---|---|---|
| _(none)_ | | |
### Secrets (names only — values live in RunWhen workspace secrets)
### Secrets (names only — values live in RunWhen workspace secrets)
| Name | Required |
| Name | Required |
|---|---|
| _(none)_ | no |
### Runtime variables (user-supplied at run time)
### Runtime variables (user-supplied at run time)
| Name | Default | Description |
| Name | Default | Description |
|---|---|---|
| _(none)_ | | |
## Operational metadata
## Operational metadata
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `logs-bulk`
- **Owners:** shea@runwhen.com
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `logs-bulk`
- **Owners:** shea@runwhen.com
## Provenance
## Provenance
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Source workspace: `stg-test`
- Generated at: `2026-07-07T03:52:40Z`
- Generated at: `2026-07-07T04:35:06Z`
## Deploying this codecollection
## Deploying this codecollection
Add to your runwhen-local runner `workspaceInfo.yaml`:
Add to your runwhen-local runner `workspaceInfo.yaml`:
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
Then reconcile (Flux example):
Then reconcile (Flux example):
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
@@ -17,7 +17,7 @@ spec:
Verify tool-builder runtime can execute a simple custom task against the stg-test workspace.
additionalContext:
qualified_name: "{{ match_resource.qualified_name }}"
resourcePath: "custom/workspace/stg-test"
resourcePath: custom/workspace/stg-test
hierarchy: [platform, workspace]
tags:
- name: platform
@@ -1,80 +1,77 @@
# System Info Check (Bash)
# System Info Check (Bash)
The runner should report hostname and disk space when queried.
The runner should report hostname and disk space when queried.
**Bundle:** `system-info-check-bash` · **Task title:** `Run system info check (bash)` ·
**Runtime:** tool-builder (bash)
**Bundle:** `system-info-check-bash` · **Task title:** `Run system info check (bash)` ·
**Runtime:** tool-builder (bash)
> **Review artifact:** See `raw_script.sh` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.sh` file instead.
> **Review artifact:** See `raw_script.sh` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.sh` file instead.
## When this SLX gets created
## When this SLX gets created
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-system-info-che`
- **Qualifiers:** `workspace`
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-sys-info-bash`
- **Qualifiers:** `workspace`
## What this SLX does
## What this SLX does
The task runs a bash script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.sh` in this directory for review.
The task runs a bash script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.sh` in this directory for review.
### Environment variables
### Environment variables
| Name | Value | Notes |
| Name | Value | Notes |
|---|---|---|
| _(none)_ | | |
### Secrets (names only — values live in RunWhen workspace secrets)
### Secrets (names only — values live in RunWhen workspace secrets)
| Name | Required |
| Name | Required |
|---|---|
| _(none)_ | no |
### Runtime variables (user-supplied at run time)
### Runtime variables (user-supplied at run time)
| Name | Default | Description |
| Name | Default | Description |
|---|---|---|
| _(none)_ | | |
## Operational metadata
## Operational metadata
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `config`
- **Owners:** shea@runwhen.com
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `config`
- **Owners:** shea@runwhen.com
## Provenance
## Provenance
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Source workspace: `stg-test`
- Generated at: `2026-07-07T03:52:40Z`
- Generated at: `2026-07-07T04:35:06Z`
## Deploying this codecollection
## Deploying this codecollection
Add to your runwhen-local runner `workspaceInfo.yaml`:
Add to your runwhen-local runner `workspaceInfo.yaml`:
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
Then reconcile (Flux example):
Then reconcile (Flux example):
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
@@ -12,7 +12,7 @@ spec:
- name
mode: substring
slxs:
- baseName: system-info-che
- baseName: sys-info-bash
qualifiers:
- workspace
baseTemplateName: system-info-check-bash
@@ -17,7 +17,7 @@ spec:
The runner should report hostname and disk space when queried.
additionalContext:
qualified_name: "{{ match_resource.qualified_name }}"
resourcePath: "custom/workspace/stg-test"
resourcePath: custom/workspace/stg-test
hierarchy: [platform, workspace]
tags:
- name: platform
@@ -1,80 +1,77 @@
# System Info Check
# System Info Check
The runner should report its kernel and system information when queried.
The runner should report its kernel and system information when queried.
**Bundle:** `system-info-check` · **Task title:** `Run system info check` ·
**Runtime:** tool-builder (python)
**Bundle:** `system-info-check` · **Task title:** `Run system info check` ·
**Runtime:** tool-builder (python)
> **Review artifact:** See `raw_script.py` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.py` file instead.
> **Review artifact:** See `raw_script.py` in this directory
> for the decoded script content that reviewers and automated systems should
> inspect. Do **not** parse the base64-encoded `GEN_CMD` in the TaskSet template
> for review purposes — use this SKILL_TEMPLATE.md and the accompanying
> `raw_script.py` file instead.
## When this SLX gets created
## When this SLX gets created
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-system-info-che`
- **Qualifiers:** `workspace`
- **Platform:** `runwhen` — workspace-builder matches RunWhen platform resources
- **Resource types:** `workspace`
- **Match rules (plain English):**
- matches every resource (pattern `.+` on name)
- **Expected cardinality:** one SLX per matched resource, named `<qualifiers>-sys-info-py`
- **Qualifiers:** `workspace`
## What this SLX does
## What this SLX does
The task runs a python script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.py` in this directory for review.
The task runs a python script via the shared `tool-builder` codebundle in
`rw-generic-codecollection`. The workspace-builder renders the TaskSet template with
a base64-encoded `GEN_CMD` at deploy time; the decoded script is available in
`raw_script.py` in this directory for review.
### Environment variables
### Environment variables
| Name | Value | Notes |
| Name | Value | Notes |
|---|---|---|
| _(none)_ | | |
### Secrets (names only — values live in RunWhen workspace secrets)
### Secrets (names only — values live in RunWhen workspace secrets)
| Name | Required |
| Name | Required |
|---|---|
| _(none)_ | no |
### Runtime variables (user-supplied at run time)
### Runtime variables (user-supplied at run time)
| Name | Default | Description |
| Name | Default | Description |
|---|---|---|
| _(none)_ | | |
## Operational metadata
## Operational metadata
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `config`
- **Owners:** shea@runwhen.com
- **Timeout:** 300s
- **Access:** `read-only` · **Data:** `config`
- **Owners:** shea@runwhen.com
## Provenance
## Provenance
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Generated by `runwhen-platform-mcp` `render_codecollection_skill` v0.0.0-dev
- Source workspace: `stg-test`
- Generated at: `2026-07-07T03:52:40Z`
- Generated at: `2026-07-07T04:35:06Z`
## Deploying this codecollection
## Deploying this codecollection
Add to your runwhen-local runner `workspaceInfo.yaml`:
Add to your runwhen-local runner `workspaceInfo.yaml`:
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
```yaml
codeCollections:
- repoURL: https://<host>/<org>/<your-private-codecollection>.git
ref: main
```
Then reconcile (Flux example):
Then reconcile (Flux example):
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
```bash
flux reconcile hr runwhen-local -n <runner-namespace> --with-source
```
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
> **Requires runwhen-local with `platform: runwhen` support** (RW-1355). Until that
> release lands, generation rules using `platform: runwhen` will not render SLXs.
@@ -12,7 +12,7 @@ spec:
- name
mode: substring
slxs:
- baseName: system-info-che
- baseName: sys-info-py
qualifiers:
- workspace
baseTemplateName: system-info-check
@@ -17,7 +17,7 @@ spec:
The runner should report its kernel and system information when queried.
additionalContext:
qualified_name: "{{ match_resource.qualified_name }}"
resourcePath: "custom/workspace/stg-test"
resourcePath: custom/workspace/stg-test
hierarchy: [platform, workspace]
tags:
- name: platform