@lifeaitools/rdc-skills 0.24.37 → 0.24.39
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/.claude/settings.json +15 -15
- package/.claude-plugin/marketplace.json +21 -21
- package/.claude-plugin/plugin.json +1371 -1371
- package/.github/workflows/publish.yml +34 -34
- package/.github/workflows/self-test.yml +58 -58
- package/CHANGELOG.md +310 -310
- package/LICENSE +21 -21
- package/MANIFEST.md +221 -221
- package/README.md +377 -377
- package/README.sandbox.md +3 -3
- package/assets/watcher/viewer.html +164 -164
- package/bin/rdc-skills-mcp.mjs +316 -316
- package/commands/build.md +183 -183
- package/commands/collab.md +180 -180
- package/commands/deploy.md +152 -152
- package/commands/design.md +31 -31
- package/commands/edit.md +28 -28
- package/commands/fixit.md +124 -124
- package/commands/handoff.md +173 -173
- package/commands/help.md +95 -95
- package/commands/overnight.md +220 -220
- package/commands/plan.md +158 -158
- package/commands/preplan.md +131 -131
- package/commands/prototype.md +145 -145
- package/commands/release.md +49 -49
- package/commands/report.md +99 -99
- package/commands/review.md +120 -120
- package/commands/self-test.md +113 -113
- package/commands/status.md +86 -86
- package/commands/watch.md +98 -98
- package/commands/workitems.md +137 -137
- package/git-sha.json +1 -1
- package/guides/agent-bootstrap.md +295 -295
- package/guides/agents/backend.md +104 -104
- package/guides/agents/content.md +94 -94
- package/guides/agents/cs2.md +56 -56
- package/guides/agents/data.md +87 -87
- package/guides/agents/design.md +77 -77
- package/guides/agents/frontend.md +92 -92
- package/guides/agents/infrastructure.md +81 -81
- package/guides/agents/setup.md +281 -281
- package/guides/agents/verify.md +151 -151
- package/guides/agents/viz.md +106 -106
- package/guides/backend.md +146 -146
- package/guides/content.md +147 -147
- package/guides/cs2.md +190 -190
- package/guides/data.md +123 -123
- package/guides/design.md +116 -116
- package/guides/engineering-behavior.md +43 -43
- package/guides/escalation-protocol.md +125 -125
- package/guides/frontend.md +151 -151
- package/guides/history-md-spec.md +297 -297
- package/guides/infrastructure.md +179 -179
- package/guides/lessons-learned-spec.md +153 -153
- package/guides/output-contract.md +108 -108
- package/guides/publish-md-spec.md +289 -289
- package/guides/rdc-skills-startup.md +30 -30
- package/guides/verify.md +11 -11
- package/hooks/check-cwd.js +31 -31
- package/hooks/check-rdc-environment.js +164 -164
- package/hooks/check-services.js +6 -6
- package/hooks/check-stale-work-items.js +19 -19
- package/hooks/foreground-process-gate.js +128 -128
- package/hooks/gate-watchdog-selfcheck.js +257 -257
- package/hooks/hook-logger.js +25 -25
- package/hooks/lib/run-evidence-gate.mjs +241 -241
- package/hooks/no-stop-open-epics.js +127 -127
- package/hooks/post-tool-batch-gate.js +203 -203
- package/hooks/post-work-check.js +21 -21
- package/hooks/postcompact-log.js +13 -13
- package/hooks/precompact-log.js +13 -13
- package/hooks/rate-limit-retry.js +46 -46
- package/hooks/rdc-invocation-marker.js +157 -157
- package/hooks/rdc-output-contract-gate.js +94 -94
- package/hooks/require-work-item-on-commit.js +294 -294
- package/hooks/restart-brief.js +19 -19
- package/hooks/run-hidden-hook.ps1 +47 -47
- package/hooks/task-completed-gate.js +274 -274
- package/hooks/work-item-exit-gate.js +944 -944
- package/lib/catalog.mjs +236 -236
- package/lib/cloud-rewrite.mjs +155 -155
- package/package.json +56 -56
- package/rules/work-items-rpc.md +520 -520
- package/scaffold/templates/HISTORY.md.template +39 -39
- package/scaffold/templates/PUBLISH.md.template +21 -21
- package/scaffold/templates/brochure-studio-default.html +70 -70
- package/scripts/acceptance.mjs +502 -502
- package/scripts/fixtures/guides/bad-guide.md +15 -15
- package/scripts/fixtures/guides-clean/good-guide.md +16 -16
- package/scripts/install-rdc-skills.js +1289 -1289
- package/scripts/install.ps1 +202 -202
- package/scripts/install.sh +132 -132
- package/scripts/lib/assertions.mjs +287 -287
- package/scripts/lib/manifest-schema.mjs +754 -754
- package/scripts/lib/runner.mjs +465 -465
- package/scripts/lib/sandbox.mjs +435 -435
- package/scripts/prepack.mjs +32 -32
- package/scripts/rdc-brochure.mjs +464 -464
- package/scripts/rdc-design-cli.mjs +134 -134
- package/scripts/rebuild-mcp.mjs +107 -107
- package/scripts/self-test.mjs +1460 -1460
- package/scripts/stamp-git-sha.mjs +29 -29
- package/scripts/test-guide-validator.mjs +196 -196
- package/scripts/test-rdc-hooks.mjs +145 -145
- package/scripts/uninstall.ps1 +77 -77
- package/scripts/uninstall.sh +69 -69
- package/scripts/update.ps1 +43 -43
- package/scripts/update.sh +43 -43
- package/scripts/validate-place-histories.js +461 -461
- package/scripts/validate-publish-manifests.js +424 -424
- package/scripts/watch-init.mjs +100 -100
- package/skills/brochure/SKILL.md +107 -107
- package/skills/build/SKILL.md +563 -554
- package/skills/channel-formatter/SKILL.md +533 -533
- package/skills/co-develop/SKILL.md +196 -196
- package/skills/collab/SKILL.md +239 -239
- package/skills/convert/SKILL.md +140 -140
- package/skills/deploy/SKILL.md +541 -541
- package/skills/design/SKILL.md +211 -211
- package/skills/design/reference/ownership.md +16 -16
- package/skills/design/reference/rampa.md +92 -92
- package/skills/design/reference/studio-model.md +153 -153
- package/skills/edit/SKILL.md +98 -98
- package/skills/fixit/SKILL.md +165 -165
- package/skills/fs-mcp/SKILL.md +148 -148
- package/skills/handoff/SKILL.md +236 -200
- package/skills/help/SKILL.md +143 -143
- package/skills/housekeeping/SKILL.md +189 -189
- package/skills/lifeai-brochure-author/SKILL.md +340 -340
- package/skills/overnight/SKILL.md +251 -251
- package/skills/plan/SKILL.md +345 -314
- package/skills/preplan/SKILL.md +90 -90
- package/skills/prototype/SKILL.md +150 -150
- package/skills/rdc-brochurify/SKILL.md +245 -245
- package/skills/rdc-extract-verifier-rules/SKILL.md +191 -191
- package/skills/release/SKILL.md +140 -140
- package/skills/report/SKILL.md +100 -100
- package/skills/review/SKILL.md +152 -152
- package/skills/rpms-filemap/SKILL.cloud.md +111 -111
- package/skills/rpms-filemap/SKILL.md +111 -111
- package/skills/self-test/SKILL.md +132 -132
- package/skills/status/SKILL.md +99 -99
- package/skills/terminal-config/SKILL.md +62 -62
- package/skills/tests/MATRIX.md +54 -54
- package/skills/tests/README.md +47 -47
- package/skills/tests/rdc-brochure.test.json +34 -34
- package/skills/tests/rdc-build.test.json +36 -36
- package/skills/tests/rdc-channel-formatter.test.json +45 -45
- package/skills/tests/rdc-co-develop.test.json +29 -29
- package/skills/tests/rdc-collab.test.json +29 -29
- package/skills/tests/rdc-convert.test.json +35 -35
- package/skills/tests/rdc-deploy.test.json +30 -30
- package/skills/tests/rdc-design.test.json +27 -27
- package/skills/tests/rdc-edit.test.json +29 -29
- package/skills/tests/rdc-fixit.test.json +36 -36
- package/skills/tests/rdc-fs-mcp.test.json +36 -36
- package/skills/tests/rdc-handoff.test.json +28 -28
- package/skills/tests/rdc-help.test.json +29 -29
- package/skills/tests/rdc-housekeeping.test.json +31 -31
- package/skills/tests/rdc-lifeai-brochure-author.test.json +35 -35
- package/skills/tests/rdc-overnight.test.json +37 -37
- package/skills/tests/rdc-plan.test.json +27 -27
- package/skills/tests/rdc-preplan.test.json +31 -31
- package/skills/tests/rdc-prototype.test.json +28 -28
- package/skills/tests/rdc-rdc-brochurify.test.json +23 -23
- package/skills/tests/rdc-rdc-extract-verifier-rules.test.json +34 -34
- package/skills/tests/rdc-release.test.json +29 -29
- package/skills/tests/rdc-report.test.json +28 -28
- package/skills/tests/rdc-review.test.json +29 -29
- package/skills/tests/rdc-rpms-filemap.test.json +28 -28
- package/skills/tests/rdc-self-test.test.json +24 -24
- package/skills/tests/rdc-status.test.json +29 -29
- package/skills/tests/rdc-terminal-config.test.json +29 -29
- package/skills/tests/rdc-watch.test.json +24 -24
- package/skills/tests/rdc-workitems.test.json +27 -27
- package/skills/watch/SKILL.md +97 -97
- package/skills/workitems/SKILL.md +151 -151
- package/tests/acceptance.test.mjs +59 -59
- package/tests/channel-formatter.contract.test.mjs +251 -251
- package/tests/curl-surface.test.mjs +289 -289
- package/tests/harness-gates.test.mjs +325 -325
- package/tests/help-surface.test.mjs +61 -61
- package/tests/install-rdc-skills.test.mjs +49 -49
- package/tests/manifest-contract-fields.test.mjs +78 -78
- package/tests/mcp.test.mjs +271 -271
- package/tests/require-work-item-on-commit.test.mjs +162 -162
- package/tests/run-evidence-gate.test.mjs +82 -82
- package/tests/skill-test-matrix.test.mjs +66 -66
- package/tests/validate-skills.js +27 -27
- package/tests/work-item-exit-gate-l2.test.mjs +368 -368
- package/tests/work-item-exit-gate-l3.test.mjs +197 -197
package/skills/tests/MATRIX.md
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
# RDC Skill Test Suite Matrix
|
|
2
|
-
|
|
3
|
-
Current coverage: 30 manifests for 30 skill directories.
|
|
4
|
-
|
|
5
|
-
The manifest layer verifies each skill can be started from a realistic caller prompt in an isolated `RDC_TEST=1` sandbox. The acceptance harness can run either Claude (`--engine claude`) or Codex (`--engine codex`) against the same manifests and records the engine stream, extracted tool calls, stdout/stderr artifacts, rendered assistant output, failures, lessons learned, and next build optimizations under `.rdc/reports/`.
|
|
6
|
-
|
|
7
|
-
`rdc:channel-formatter` currently has the strongest content acceptance fixture: it asserts source-grounded social-pack output, forbidden-claim absence, and observable corpus or web-search tool routing. `rdc:help` asserts the public MCP/curl caller surface and structured `format:"json"` discovery path. `rdc:self-test` validates the test-tier/evidence language. Planning/reporting skills (`rdc:preplan`, `rdc:plan`, `rdc:handoff`, `rdc:prototype`, `rdc:review`, `rdc:report`) assert their required artifacts and safety boundaries. Operational/content skills (`rdc:brochure`, `rdc:convert`, `lifeai-brochure-author`, `rdc:build`, `rdc:fixit`, `rdc:fs-mcp`, `rdc:workitems`) assert artifact paths, dispatch gates, scoped commits, filesystem boundaries, and sandboxed work-item behavior. Coordination/design/maintenance skills (`rdc:co-develop`, `rdc:collab`, `rdc:design`, `rdc:extract-verifier-rules`, `rdc:housekeeping`, `rdc:overnight`, `rdc:rpms-filemap`) assert relay safety, token/reference use, verifier corpus safety, maintenance/reporting, unattended sentinel behavior, and canonical file-map rules. All manifests now include a deeper acceptance block beyond the basic executable smoke fixture.
|
|
8
|
-
|
|
9
|
-
| Skill | Manifest | Fixture prompt class | Assertions | Acceptance depth |
|
|
10
|
-
|---|---|---|---|---|
|
|
11
|
-
| `rdc:brochure` | `rdc-brochure.test.json` | HTML-to-PDF brochure fixture | `exit_code`, `stdout_contains` | PDF artifact, page/size/source output, and no upload/deploy/source-modification checks |
|
|
12
|
-
| `rdc:build` | `rdc-build.test.json` | Unattended build from sandbox label | `commits_made`, `exit_code`, `stdout_contains` | Dispatch guide, code-review, validator, sandbox, and no-push/no-skip checks |
|
|
13
|
-
| `rdc:channel-formatter` | `rdc-channel-formatter.test.json` | Long article to social content pack | `exit_code`, `stdout_contains` | Output contains, output not contains, tool-call routing |
|
|
14
|
-
| `rdc:co-develop` | `rdc-co-develop.test.json` | Coordination status | `commits_made`, `exit_code`, `stdout_contains` | codevelop status, sandbox skip, no chitchat/live-send negative checks |
|
|
15
|
-
| `rdc:collab` | `rdc-collab.test.json` | Claude session relay fixture | `commits_made`, `exit_code`, `stdout_contains` | chitchat/SSE session handling, sandbox skip, and no-reply/no-push negative checks |
|
|
16
|
-
| `rdc:convert` | `rdc-convert.test.json` | Markdown-to-Word conversion fixture | `exit_code`, `stdout_contains` | build-corpus command surface, Word/Markdown flags, and no-GUI/global-install/commit checks |
|
|
17
|
-
| `rdc:deploy` | `rdc-deploy.test.json` | Deployment diagnosis | `commits_made`, `exit_code`, `stdout_contains` | Read-only diagnose output and destructive deploy/DNS negative checks |
|
|
18
|
-
| `rdc:edit` | `rdc-edit.test.json` | Local editor launch | `exit_code`, `stdout_contains` | Resolved target, editor host URL, and no-unknown-target negative checks |
|
|
19
|
-
| `rdc:design` | `rdc-design.test.json` | Studio palette audit | `exit_code`, `stdout_contains` | Studio/token/Rampa references and external-write negative checks |
|
|
20
|
-
| `rdc:fixit` | `rdc-fixit.test.json` | Tiny sandbox typo fix | `commits_made`, `exit_code`, `stdout_contains` | Scope, code-review, specific-file staging, and broad-add negative checks |
|
|
21
|
-
| `rdc:fs-mcp` | `rdc-fs-mcp.test.json` | File-system bridge read fixture | `commits_made`, `exit_code`, `stdout_contains` | Local-vs-MCP access boundary, live FS, no-preview/no-overwrite checks, and read-tool routing |
|
|
22
|
-
| `rdc:handoff` | `rdc-handoff.test.json` | Stub work handoff | `exit_code`, `stdout_contains` | Plan path, DoD, work-item handoff, and placeholder negative checks |
|
|
23
|
-
| `rdc:help` | `rdc-help.test.json` | Help menu rendering | `commits_made`, `exit_code`, `stdout_contains` | MCP/curl output, structured JSON fetch, dev-endpoint negative checks |
|
|
24
|
-
| `rdc:housekeeping` | `rdc-housekeeping.test.json` | Read-only housekeeping audit | `commits_made`, `exit_code`, `stdout_contains` | PUBLISH/CLAUDE/orphan/report checks and no-fix/no-Coolify-write negative checks |
|
|
25
|
-
| `lifeai-brochure-author` | `rdc-lifeai-brochure-author.test.json` | JSX compliance review fixture | `exit_code`, `stdout_contains` | brochure-kit component guidance and raw HTML/style/token negative checks |
|
|
26
|
-
| `rdc:overnight` | `rdc-overnight.test.json` | Label-based overnight queue drain | `exit_code`, `stdout_contains` | overnight sentinel, clauth preflight, full chain, and no-wide-add/no-lock-left negative checks |
|
|
27
|
-
| `rdc:plan` | `rdc-plan.test.json` | Health-endpoint planning prompt | `exit_code`, `stdout_contains` | Design-decision, decomposition-matrix, work-package, and coarse-check negative checks |
|
|
28
|
-
| `rdc:preplan` | `rdc-preplan.test.json` | Rate-limiter research prompt | `commits_made`, `exit_code`, `stdout_contains` | Research artifact, comparison, unknowns, recommendation, and research-tool routing checks |
|
|
29
|
-
| `rdc:prototype` | `rdc-prototype.test.json` | Tiny component prototype prompt | `exit_code`, `stdout_contains` | Local TSX prototype artifact, registry, test-mode, and production-write negative checks |
|
|
30
|
-
| `rdc:brochurify` | `rdc-rdc-brochurify.test.json` | Read-only markdown Brochurify fixture | `exit_code`, `stdout_contains` | Sandbox output and no-follow-up negative checks |
|
|
31
|
-
| `rdc:extract-verifier-rules` | `rdc-rdc-extract-verifier-rules.test.json` | Enhancement-log verifier fixture | `exit_code`, `stdout_contains` | Candidate, false-positive, known-good, recall, and no-auto-merge/PR negative checks |
|
|
32
|
-
| `rdc:release` | `rdc-release.test.json` | Dry-run package release | `commits_made`, `exit_code`, `stdout_contains` | Dry-run release checklist and force/bypass negative checks |
|
|
33
|
-
| `rdc:report` | `rdc-report.test.json` | Unattended report generation | `exit_code`, `stdout_contains` | Report status block, counts, next recommendation, and dump/push negative checks |
|
|
34
|
-
| `rdc:review` | `rdc-review.test.json` | Unattended review gate | `exit_code`, `stdout_contains` | Code-review, verify, fresh-evidence, tsc, and forbidden-build negative checks |
|
|
35
|
-
| `rdc:rpms-filemap` | `rdc-rpms-filemap.test.json` | Canonical location lookup | `commits_made`, `exit_code`, `stdout_contains` | Rule #1, context door, one-home rules, and no-hand-edit/second-home negative checks |
|
|
36
|
-
| `rdc:self-test` | `rdc-self-test.test.json` | Strict self-test prompt | `commits_made`, `exit_code`, `stdout_contains` | Strict validation evidence, hook/guide checks, and no-relaxed-linter negative check |
|
|
37
|
-
| `rdc:status` | `rdc-status.test.json` | Read-only status snapshot | `commits_made`, `exit_code`, `stdout_contains` | Read-only status output and raw-MCP/write negative checks |
|
|
38
|
-
| `rdc:terminal-config` | `rdc-terminal-config.test.json` | Hidden-window launch policy audit | `commits_made`, `exit_code`, `stdout_contains` | Hidden-window output and focus/collapse API negative checks |
|
|
39
|
-
| `rdc:watch` | `rdc-watch.test.json` | Watcher initialization prompt | `exit_code`, `stdout_contains` | Test-mode no-open output, tool-call routing, and focus-event negative checks |
|
|
40
|
-
| `rdc:workitems` | `rdc-workitems.test.json` | Work-item epic listing | `commits_made`, `exit_code`, `stdout_contains` | Read-only epics query, sandbox, and work-item write negative checks |
|
|
41
|
-
|
|
42
|
-
## What The Tests Accomplish
|
|
43
|
-
|
|
44
|
-
- Verify every installed RDC skill has at least one executable caller-facing prompt.
|
|
45
|
-
- Exercise the `RDC_TEST=1` sandbox contract so build tests do not publish, deploy, or mutate production services.
|
|
46
|
-
- Capture observed engine events and extracted tool calls for periodic inspection.
|
|
47
|
-
- Preserve stdout, stderr, and rendered assistant output as report artifacts.
|
|
48
|
-
- Make content-producing skills eligible for deeper source-fidelity checks through the optional `acceptance` block.
|
|
49
|
-
|
|
50
|
-
## Next Coverage Upgrades
|
|
51
|
-
|
|
52
|
-
- Run full scheduled Claude and Codex sweeps regularly, not only changed-skill acceptance, so transcripts and lessons stay fresh.
|
|
53
|
-
- Add richer artifact-content checks for output-producing skills (`rdc:brochure`, `rdc:convert`, `rdc:prototype`, `rdc:report`).
|
|
54
|
-
- Promote recurring transcript review findings into manifest assertions instead of relying on human inspection.
|
|
1
|
+
# RDC Skill Test Suite Matrix
|
|
2
|
+
|
|
3
|
+
Current coverage: 30 manifests for 30 skill directories.
|
|
4
|
+
|
|
5
|
+
The manifest layer verifies each skill can be started from a realistic caller prompt in an isolated `RDC_TEST=1` sandbox. The acceptance harness can run either Claude (`--engine claude`) or Codex (`--engine codex`) against the same manifests and records the engine stream, extracted tool calls, stdout/stderr artifacts, rendered assistant output, failures, lessons learned, and next build optimizations under `.rdc/reports/`.
|
|
6
|
+
|
|
7
|
+
`rdc:channel-formatter` currently has the strongest content acceptance fixture: it asserts source-grounded social-pack output, forbidden-claim absence, and observable corpus or web-search tool routing. `rdc:help` asserts the public MCP/curl caller surface and structured `format:"json"` discovery path. `rdc:self-test` validates the test-tier/evidence language. Planning/reporting skills (`rdc:preplan`, `rdc:plan`, `rdc:handoff`, `rdc:prototype`, `rdc:review`, `rdc:report`) assert their required artifacts and safety boundaries. Operational/content skills (`rdc:brochure`, `rdc:convert`, `lifeai-brochure-author`, `rdc:build`, `rdc:fixit`, `rdc:fs-mcp`, `rdc:workitems`) assert artifact paths, dispatch gates, scoped commits, filesystem boundaries, and sandboxed work-item behavior. Coordination/design/maintenance skills (`rdc:co-develop`, `rdc:collab`, `rdc:design`, `rdc:extract-verifier-rules`, `rdc:housekeeping`, `rdc:overnight`, `rdc:rpms-filemap`) assert relay safety, token/reference use, verifier corpus safety, maintenance/reporting, unattended sentinel behavior, and canonical file-map rules. All manifests now include a deeper acceptance block beyond the basic executable smoke fixture.
|
|
8
|
+
|
|
9
|
+
| Skill | Manifest | Fixture prompt class | Assertions | Acceptance depth |
|
|
10
|
+
|---|---|---|---|---|
|
|
11
|
+
| `rdc:brochure` | `rdc-brochure.test.json` | HTML-to-PDF brochure fixture | `exit_code`, `stdout_contains` | PDF artifact, page/size/source output, and no upload/deploy/source-modification checks |
|
|
12
|
+
| `rdc:build` | `rdc-build.test.json` | Unattended build from sandbox label | `commits_made`, `exit_code`, `stdout_contains` | Dispatch guide, code-review, validator, sandbox, and no-push/no-skip checks |
|
|
13
|
+
| `rdc:channel-formatter` | `rdc-channel-formatter.test.json` | Long article to social content pack | `exit_code`, `stdout_contains` | Output contains, output not contains, tool-call routing |
|
|
14
|
+
| `rdc:co-develop` | `rdc-co-develop.test.json` | Coordination status | `commits_made`, `exit_code`, `stdout_contains` | codevelop status, sandbox skip, no chitchat/live-send negative checks |
|
|
15
|
+
| `rdc:collab` | `rdc-collab.test.json` | Claude session relay fixture | `commits_made`, `exit_code`, `stdout_contains` | chitchat/SSE session handling, sandbox skip, and no-reply/no-push negative checks |
|
|
16
|
+
| `rdc:convert` | `rdc-convert.test.json` | Markdown-to-Word conversion fixture | `exit_code`, `stdout_contains` | build-corpus command surface, Word/Markdown flags, and no-GUI/global-install/commit checks |
|
|
17
|
+
| `rdc:deploy` | `rdc-deploy.test.json` | Deployment diagnosis | `commits_made`, `exit_code`, `stdout_contains` | Read-only diagnose output and destructive deploy/DNS negative checks |
|
|
18
|
+
| `rdc:edit` | `rdc-edit.test.json` | Local editor launch | `exit_code`, `stdout_contains` | Resolved target, editor host URL, and no-unknown-target negative checks |
|
|
19
|
+
| `rdc:design` | `rdc-design.test.json` | Studio palette audit | `exit_code`, `stdout_contains` | Studio/token/Rampa references and external-write negative checks |
|
|
20
|
+
| `rdc:fixit` | `rdc-fixit.test.json` | Tiny sandbox typo fix | `commits_made`, `exit_code`, `stdout_contains` | Scope, code-review, specific-file staging, and broad-add negative checks |
|
|
21
|
+
| `rdc:fs-mcp` | `rdc-fs-mcp.test.json` | File-system bridge read fixture | `commits_made`, `exit_code`, `stdout_contains` | Local-vs-MCP access boundary, live FS, no-preview/no-overwrite checks, and read-tool routing |
|
|
22
|
+
| `rdc:handoff` | `rdc-handoff.test.json` | Stub work handoff | `exit_code`, `stdout_contains` | Plan path, DoD, work-item handoff, and placeholder negative checks |
|
|
23
|
+
| `rdc:help` | `rdc-help.test.json` | Help menu rendering | `commits_made`, `exit_code`, `stdout_contains` | MCP/curl output, structured JSON fetch, dev-endpoint negative checks |
|
|
24
|
+
| `rdc:housekeeping` | `rdc-housekeeping.test.json` | Read-only housekeeping audit | `commits_made`, `exit_code`, `stdout_contains` | PUBLISH/CLAUDE/orphan/report checks and no-fix/no-Coolify-write negative checks |
|
|
25
|
+
| `lifeai-brochure-author` | `rdc-lifeai-brochure-author.test.json` | JSX compliance review fixture | `exit_code`, `stdout_contains` | brochure-kit component guidance and raw HTML/style/token negative checks |
|
|
26
|
+
| `rdc:overnight` | `rdc-overnight.test.json` | Label-based overnight queue drain | `exit_code`, `stdout_contains` | overnight sentinel, clauth preflight, full chain, and no-wide-add/no-lock-left negative checks |
|
|
27
|
+
| `rdc:plan` | `rdc-plan.test.json` | Health-endpoint planning prompt | `exit_code`, `stdout_contains` | Design-decision, decomposition-matrix, work-package, and coarse-check negative checks |
|
|
28
|
+
| `rdc:preplan` | `rdc-preplan.test.json` | Rate-limiter research prompt | `commits_made`, `exit_code`, `stdout_contains` | Research artifact, comparison, unknowns, recommendation, and research-tool routing checks |
|
|
29
|
+
| `rdc:prototype` | `rdc-prototype.test.json` | Tiny component prototype prompt | `exit_code`, `stdout_contains` | Local TSX prototype artifact, registry, test-mode, and production-write negative checks |
|
|
30
|
+
| `rdc:brochurify` | `rdc-rdc-brochurify.test.json` | Read-only markdown Brochurify fixture | `exit_code`, `stdout_contains` | Sandbox output and no-follow-up negative checks |
|
|
31
|
+
| `rdc:extract-verifier-rules` | `rdc-rdc-extract-verifier-rules.test.json` | Enhancement-log verifier fixture | `exit_code`, `stdout_contains` | Candidate, false-positive, known-good, recall, and no-auto-merge/PR negative checks |
|
|
32
|
+
| `rdc:release` | `rdc-release.test.json` | Dry-run package release | `commits_made`, `exit_code`, `stdout_contains` | Dry-run release checklist and force/bypass negative checks |
|
|
33
|
+
| `rdc:report` | `rdc-report.test.json` | Unattended report generation | `exit_code`, `stdout_contains` | Report status block, counts, next recommendation, and dump/push negative checks |
|
|
34
|
+
| `rdc:review` | `rdc-review.test.json` | Unattended review gate | `exit_code`, `stdout_contains` | Code-review, verify, fresh-evidence, tsc, and forbidden-build negative checks |
|
|
35
|
+
| `rdc:rpms-filemap` | `rdc-rpms-filemap.test.json` | Canonical location lookup | `commits_made`, `exit_code`, `stdout_contains` | Rule #1, context door, one-home rules, and no-hand-edit/second-home negative checks |
|
|
36
|
+
| `rdc:self-test` | `rdc-self-test.test.json` | Strict self-test prompt | `commits_made`, `exit_code`, `stdout_contains` | Strict validation evidence, hook/guide checks, and no-relaxed-linter negative check |
|
|
37
|
+
| `rdc:status` | `rdc-status.test.json` | Read-only status snapshot | `commits_made`, `exit_code`, `stdout_contains` | Read-only status output and raw-MCP/write negative checks |
|
|
38
|
+
| `rdc:terminal-config` | `rdc-terminal-config.test.json` | Hidden-window launch policy audit | `commits_made`, `exit_code`, `stdout_contains` | Hidden-window output and focus/collapse API negative checks |
|
|
39
|
+
| `rdc:watch` | `rdc-watch.test.json` | Watcher initialization prompt | `exit_code`, `stdout_contains` | Test-mode no-open output, tool-call routing, and focus-event negative checks |
|
|
40
|
+
| `rdc:workitems` | `rdc-workitems.test.json` | Work-item epic listing | `commits_made`, `exit_code`, `stdout_contains` | Read-only epics query, sandbox, and work-item write negative checks |
|
|
41
|
+
|
|
42
|
+
## What The Tests Accomplish
|
|
43
|
+
|
|
44
|
+
- Verify every installed RDC skill has at least one executable caller-facing prompt.
|
|
45
|
+
- Exercise the `RDC_TEST=1` sandbox contract so build tests do not publish, deploy, or mutate production services.
|
|
46
|
+
- Capture observed engine events and extracted tool calls for periodic inspection.
|
|
47
|
+
- Preserve stdout, stderr, and rendered assistant output as report artifacts.
|
|
48
|
+
- Make content-producing skills eligible for deeper source-fidelity checks through the optional `acceptance` block.
|
|
49
|
+
|
|
50
|
+
## Next Coverage Upgrades
|
|
51
|
+
|
|
52
|
+
- Run full scheduled Claude and Codex sweeps regularly, not only changed-skill acceptance, so transcripts and lessons stay fresh.
|
|
53
|
+
- Add richer artifact-content checks for output-producing skills (`rdc:brochure`, `rdc:convert`, `rdc:prototype`, `rdc:report`).
|
|
54
|
+
- Promote recurring transcript review findings into manifest assertions instead of relying on human inspection.
|
package/skills/tests/README.md
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# Tier 2 Test Manifests
|
|
2
|
-
|
|
3
|
-
Each RDC skill directory has a colocated test manifest at `skills/tests/rdc-<name>.test.json`.
|
|
4
|
-
There are currently 30 manifests for 30 skill directories. These drive the Tier 2
|
|
5
|
-
behavioral runner and the build acceptance harness for both Claude and Codex.
|
|
6
|
-
|
|
7
|
-
See `MATRIX.md` for the current skill-by-skill coverage table.
|
|
8
|
-
|
|
9
|
-
## Schema
|
|
10
|
-
|
|
11
|
-
See `../../scripts/lib/manifest-schema.mjs` — the `validateManifest` function
|
|
12
|
-
is the source of truth. Top-level fields:
|
|
13
|
-
|
|
14
|
-
- `manifest_version` (int) — currently 1
|
|
15
|
-
- `skill` (string) — `rdc:<name>`
|
|
16
|
-
- `description` (string) — what this test verifies
|
|
17
|
-
- `fixture` (object) — prompt, precondition files, env vars
|
|
18
|
-
- `assertions` (object) — what to check after the skill runs
|
|
19
|
-
- `acceptance` (object, optional) — assistant output and recorded tool-call assertions
|
|
20
|
-
- `teardown` (object) — cleanup policy
|
|
21
|
-
|
|
22
|
-
`acceptance` supports:
|
|
23
|
-
|
|
24
|
-
- `output_contains` — strings that must appear in the rendered assistant output
|
|
25
|
-
- `output_not_contains` — strings that must not appear in the rendered assistant output
|
|
26
|
-
- `tool_calls_include_any` — at least one recorded tool call with a listed name
|
|
27
|
-
- `tool_calls_include_all` — all listed tool-call names must be recorded
|
|
28
|
-
- `tool_calls_argument_matches` — tool-call argument regex matchers for source/corpus/tool routing checks
|
|
29
|
-
|
|
30
|
-
## Authoring a manifest
|
|
31
|
-
|
|
32
|
-
1. Start from an existing manifest in this dir
|
|
33
|
-
2. Set `fixture.env.RDC_TEST = "1"` (required — sandbox contract)
|
|
34
|
-
3. Write assertions tight enough to catch real regressions but not flaky
|
|
35
|
-
4. Run `node scripts/acceptance.mjs --skill rdc:<name>` to capture the Claude transcript, tool calls, and lessons learned
|
|
36
|
-
5. When Codex behavior matters, also run `node scripts/acceptance.mjs --engine codex --skill rdc:<name>` against the same manifest
|
|
37
|
-
6. Commit manifest + any skill changes together
|
|
38
|
-
|
|
39
|
-
For content-producing skills, include both positive and negative output checks.
|
|
40
|
-
Use `stdout_contains` for expected channel-native structure and source facts;
|
|
41
|
-
use `stdout_not_contains` for source-fidelity violations or explicitly forbidden
|
|
42
|
-
claims.
|
|
43
|
-
|
|
44
|
-
## Adding a new skill
|
|
45
|
-
|
|
46
|
-
New skills MUST ship with a manifest. Tier 2 CI will block tag push if a
|
|
47
|
-
new skill lands without one.
|
|
1
|
+
# Tier 2 Test Manifests
|
|
2
|
+
|
|
3
|
+
Each RDC skill directory has a colocated test manifest at `skills/tests/rdc-<name>.test.json`.
|
|
4
|
+
There are currently 30 manifests for 30 skill directories. These drive the Tier 2
|
|
5
|
+
behavioral runner and the build acceptance harness for both Claude and Codex.
|
|
6
|
+
|
|
7
|
+
See `MATRIX.md` for the current skill-by-skill coverage table.
|
|
8
|
+
|
|
9
|
+
## Schema
|
|
10
|
+
|
|
11
|
+
See `../../scripts/lib/manifest-schema.mjs` — the `validateManifest` function
|
|
12
|
+
is the source of truth. Top-level fields:
|
|
13
|
+
|
|
14
|
+
- `manifest_version` (int) — currently 1
|
|
15
|
+
- `skill` (string) — `rdc:<name>`
|
|
16
|
+
- `description` (string) — what this test verifies
|
|
17
|
+
- `fixture` (object) — prompt, precondition files, env vars
|
|
18
|
+
- `assertions` (object) — what to check after the skill runs
|
|
19
|
+
- `acceptance` (object, optional) — assistant output and recorded tool-call assertions
|
|
20
|
+
- `teardown` (object) — cleanup policy
|
|
21
|
+
|
|
22
|
+
`acceptance` supports:
|
|
23
|
+
|
|
24
|
+
- `output_contains` — strings that must appear in the rendered assistant output
|
|
25
|
+
- `output_not_contains` — strings that must not appear in the rendered assistant output
|
|
26
|
+
- `tool_calls_include_any` — at least one recorded tool call with a listed name
|
|
27
|
+
- `tool_calls_include_all` — all listed tool-call names must be recorded
|
|
28
|
+
- `tool_calls_argument_matches` — tool-call argument regex matchers for source/corpus/tool routing checks
|
|
29
|
+
|
|
30
|
+
## Authoring a manifest
|
|
31
|
+
|
|
32
|
+
1. Start from an existing manifest in this dir
|
|
33
|
+
2. Set `fixture.env.RDC_TEST = "1"` (required — sandbox contract)
|
|
34
|
+
3. Write assertions tight enough to catch real regressions but not flaky
|
|
35
|
+
4. Run `node scripts/acceptance.mjs --skill rdc:<name>` to capture the Claude transcript, tool calls, and lessons learned
|
|
36
|
+
5. When Codex behavior matters, also run `node scripts/acceptance.mjs --engine codex --skill rdc:<name>` against the same manifest
|
|
37
|
+
6. Commit manifest + any skill changes together
|
|
38
|
+
|
|
39
|
+
For content-producing skills, include both positive and negative output checks.
|
|
40
|
+
Use `stdout_contains` for expected channel-native structure and source facts;
|
|
41
|
+
use `stdout_not_contains` for source-fidelity violations or explicitly forbidden
|
|
42
|
+
claims.
|
|
43
|
+
|
|
44
|
+
## Adding a new skill
|
|
45
|
+
|
|
46
|
+
New skills MUST ship with a manifest. Tier 2 CI will block tag push if a
|
|
47
|
+
new skill lands without one.
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 1,
|
|
3
|
-
"skill": "rdc:brochure",
|
|
4
|
-
"description": "Brochure renders a small HTML fixture to a PDF artifact under RDC_TEST without modifying source inputs.",
|
|
5
|
-
"fixture": {
|
|
6
|
-
"prompt": "rdc:brochure docs/source/brochure-fixture.html --out .rdc/reports/brochure-fixture.pdf --format Letter",
|
|
7
|
-
"precondition_files": [
|
|
8
|
-
{
|
|
9
|
-
"path": "docs/source/brochure-fixture.html",
|
|
10
|
-
"content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Fixture Brochure</title><style>@page{size:Letter;margin:0.75in}body{font-family:serif}h1{color:#234}</style></head><body><h1>Fixture Brochure</h1><p>This is a tiny print-ready brochure fixture for RDC skill acceptance.</p></body></html>"
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"env": { "RDC_TEST": "1" }
|
|
14
|
-
},
|
|
15
|
-
"assertions": {
|
|
16
|
-
"exit_code": 0,
|
|
17
|
-
"stdout_contains": ["PDF", "page"]
|
|
18
|
-
},
|
|
19
|
-
"acceptance": {
|
|
20
|
-
"output_contains": [
|
|
21
|
-
"PDF",
|
|
22
|
-
"page",
|
|
23
|
-
"KB",
|
|
24
|
-
".rdc/reports/brochure-fixture.pdf"
|
|
25
|
-
],
|
|
26
|
-
"output_not_contains": [
|
|
27
|
-
"upload",
|
|
28
|
-
"deploy",
|
|
29
|
-
"git push",
|
|
30
|
-
"modify source"
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
"teardown": { "reset_branch": true }
|
|
34
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 1,
|
|
3
|
+
"skill": "rdc:brochure",
|
|
4
|
+
"description": "Brochure renders a small HTML fixture to a PDF artifact under RDC_TEST without modifying source inputs.",
|
|
5
|
+
"fixture": {
|
|
6
|
+
"prompt": "rdc:brochure docs/source/brochure-fixture.html --out .rdc/reports/brochure-fixture.pdf --format Letter",
|
|
7
|
+
"precondition_files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "docs/source/brochure-fixture.html",
|
|
10
|
+
"content": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Fixture Brochure</title><style>@page{size:Letter;margin:0.75in}body{font-family:serif}h1{color:#234}</style></head><body><h1>Fixture Brochure</h1><p>This is a tiny print-ready brochure fixture for RDC skill acceptance.</p></body></html>"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"env": { "RDC_TEST": "1" }
|
|
14
|
+
},
|
|
15
|
+
"assertions": {
|
|
16
|
+
"exit_code": 0,
|
|
17
|
+
"stdout_contains": ["PDF", "page"]
|
|
18
|
+
},
|
|
19
|
+
"acceptance": {
|
|
20
|
+
"output_contains": [
|
|
21
|
+
"PDF",
|
|
22
|
+
"page",
|
|
23
|
+
"KB",
|
|
24
|
+
".rdc/reports/brochure-fixture.pdf"
|
|
25
|
+
],
|
|
26
|
+
"output_not_contains": [
|
|
27
|
+
"upload",
|
|
28
|
+
"deploy",
|
|
29
|
+
"git push",
|
|
30
|
+
"modify source"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"teardown": { "reset_branch": true }
|
|
34
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 1,
|
|
3
|
-
"skill": "rdc:build",
|
|
4
|
-
"description": "Build dispatches typed agents against a seeded epic; local commits allowed, push short-circuited under RDC_TEST.",
|
|
5
|
-
"fixture": {
|
|
6
|
-
"prompt": "rdc:build label=self-test-sandbox --unattended",
|
|
7
|
-
"precondition_files": [
|
|
8
|
-
{
|
|
9
|
-
"path": ".rdc/epics/self-test-sandbox.md",
|
|
10
|
-
"content": "# Epic: self-test sandbox\n\nTrivial epic used only by the Tier 2 runner. One task: touch `sandbox.txt` with a single line.\n\n## Tasks\n- [ ] Write 'hello from sandbox' to `sandbox.txt`\n"
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"env": { "RDC_TEST": "1" },
|
|
14
|
-
"slow": true
|
|
15
|
-
},
|
|
16
|
-
"assertions": {
|
|
17
|
-
"exit_code": 0,
|
|
18
|
-
"commits_made": { "min": 0 },
|
|
19
|
-
"stdout_contains": ["RDC Build"]
|
|
20
|
-
},
|
|
21
|
-
"acceptance": {
|
|
22
|
-
"output_contains": [
|
|
23
|
-
"RDC_TEST",
|
|
24
|
-
"sandbox",
|
|
25
|
-
"review",
|
|
26
|
-
"validator"
|
|
27
|
-
],
|
|
28
|
-
"output_not_contains": [
|
|
29
|
-
"git push origin",
|
|
30
|
-
"raw MCP",
|
|
31
|
-
"dispatch without",
|
|
32
|
-
"skip validation"
|
|
33
|
-
]
|
|
34
|
-
},
|
|
35
|
-
"teardown": { "reset_branch": true }
|
|
36
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 1,
|
|
3
|
+
"skill": "rdc:build",
|
|
4
|
+
"description": "Build dispatches typed agents against a seeded epic; local commits allowed, push short-circuited under RDC_TEST.",
|
|
5
|
+
"fixture": {
|
|
6
|
+
"prompt": "rdc:build label=self-test-sandbox --unattended",
|
|
7
|
+
"precondition_files": [
|
|
8
|
+
{
|
|
9
|
+
"path": ".rdc/epics/self-test-sandbox.md",
|
|
10
|
+
"content": "# Epic: self-test sandbox\n\nTrivial epic used only by the Tier 2 runner. One task: touch `sandbox.txt` with a single line.\n\n## Tasks\n- [ ] Write 'hello from sandbox' to `sandbox.txt`\n"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"env": { "RDC_TEST": "1" },
|
|
14
|
+
"slow": true
|
|
15
|
+
},
|
|
16
|
+
"assertions": {
|
|
17
|
+
"exit_code": 0,
|
|
18
|
+
"commits_made": { "min": 0 },
|
|
19
|
+
"stdout_contains": ["RDC Build"]
|
|
20
|
+
},
|
|
21
|
+
"acceptance": {
|
|
22
|
+
"output_contains": [
|
|
23
|
+
"RDC_TEST",
|
|
24
|
+
"sandbox",
|
|
25
|
+
"review",
|
|
26
|
+
"validator"
|
|
27
|
+
],
|
|
28
|
+
"output_not_contains": [
|
|
29
|
+
"git push origin",
|
|
30
|
+
"raw MCP",
|
|
31
|
+
"dispatch without",
|
|
32
|
+
"skip validation"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"teardown": { "reset_branch": true }
|
|
36
|
+
}
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 1,
|
|
3
|
-
"skill": "rdc:channel-formatter",
|
|
4
|
-
"description": "Channel formatter turns a long article into a social content pack in RDC_TEST mode without fabricating source claims.",
|
|
5
|
-
"fixture": {
|
|
6
|
-
"prompt": "rdc:channel-formatter social-pack docs/source/channel-formatter-long-article.md",
|
|
7
|
-
"precondition_files": [
|
|
8
|
-
{
|
|
9
|
-
"path": "docs/source/channel-formatter-long-article.md",
|
|
10
|
-
"content": "# Wetland Finance Article\n\nA 2026 field note from the finance team says the pilot restored 42 acres of riparian habitat, reduced annual irrigation demand by 18 percent, and produced three investor update themes: patient capital, measurable ecological return, and community operating discipline.\n\nThis is intentionally thin. Before writing, consult available corpus context for regenerative finance / wetland finance language. Use an explicit corpus-path search of `C:/Dev/local-corpus` or `H:/My Drive/global-corpus`; if neither path has support, keep claims limited to the source.\n\nThe absent-topic list below is a private guardrail only. Do not repeat these terms in assumptions, notes, caveats, headings, summaries, or public-facing output.\n\nThe source does not mention carbon credits, tokenization, celebrity partners, guaranteed returns, quarterly earnings, fund cycles, verification status, portfolio management, or governance structures."
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"env": { "RDC_TEST": "1" }
|
|
14
|
-
},
|
|
15
|
-
"assertions": {
|
|
16
|
-
"exit_code": 0,
|
|
17
|
-
"stdout_contains": ["LinkedIn", "Twitter/X", "Slack", "42 acres", "18 percent"]
|
|
18
|
-
},
|
|
19
|
-
"acceptance": {
|
|
20
|
-
"output_contains": ["LinkedIn", "Twitter/X", "Slack", "42 acres", "18%"],
|
|
21
|
-
"output_not_contains": [
|
|
22
|
-
"carbon credits",
|
|
23
|
-
"tokenization",
|
|
24
|
-
"celebrity partners",
|
|
25
|
-
"guaranteed returns",
|
|
26
|
-
"pro forma",
|
|
27
|
-
"offsets",
|
|
28
|
-
"governance",
|
|
29
|
-
"quarterly",
|
|
30
|
-
"verified",
|
|
31
|
-
"fund cycle",
|
|
32
|
-
"fund-cycle",
|
|
33
|
-
"portfolio manager",
|
|
34
|
-
"portfolio management"
|
|
35
|
-
],
|
|
36
|
-
"tool_calls_include_any": ["Grep", "Glob", "WebSearch"],
|
|
37
|
-
"tool_calls_argument_matches": [
|
|
38
|
-
{
|
|
39
|
-
"tools": ["Grep", "Glob", "WebSearch"],
|
|
40
|
-
"pattern": "global-corpus|local-corpus|CORPUS_ROOT|LOCAL_CORPUS_ROOT|web"
|
|
41
|
-
}
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
"teardown": { "reset_branch": true }
|
|
45
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 1,
|
|
3
|
+
"skill": "rdc:channel-formatter",
|
|
4
|
+
"description": "Channel formatter turns a long article into a social content pack in RDC_TEST mode without fabricating source claims.",
|
|
5
|
+
"fixture": {
|
|
6
|
+
"prompt": "rdc:channel-formatter social-pack docs/source/channel-formatter-long-article.md",
|
|
7
|
+
"precondition_files": [
|
|
8
|
+
{
|
|
9
|
+
"path": "docs/source/channel-formatter-long-article.md",
|
|
10
|
+
"content": "# Wetland Finance Article\n\nA 2026 field note from the finance team says the pilot restored 42 acres of riparian habitat, reduced annual irrigation demand by 18 percent, and produced three investor update themes: patient capital, measurable ecological return, and community operating discipline.\n\nThis is intentionally thin. Before writing, consult available corpus context for regenerative finance / wetland finance language. Use an explicit corpus-path search of `C:/Dev/local-corpus` or `H:/My Drive/global-corpus`; if neither path has support, keep claims limited to the source.\n\nThe absent-topic list below is a private guardrail only. Do not repeat these terms in assumptions, notes, caveats, headings, summaries, or public-facing output.\n\nThe source does not mention carbon credits, tokenization, celebrity partners, guaranteed returns, quarterly earnings, fund cycles, verification status, portfolio management, or governance structures."
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"env": { "RDC_TEST": "1" }
|
|
14
|
+
},
|
|
15
|
+
"assertions": {
|
|
16
|
+
"exit_code": 0,
|
|
17
|
+
"stdout_contains": ["LinkedIn", "Twitter/X", "Slack", "42 acres", "18 percent"]
|
|
18
|
+
},
|
|
19
|
+
"acceptance": {
|
|
20
|
+
"output_contains": ["LinkedIn", "Twitter/X", "Slack", "42 acres", "18%"],
|
|
21
|
+
"output_not_contains": [
|
|
22
|
+
"carbon credits",
|
|
23
|
+
"tokenization",
|
|
24
|
+
"celebrity partners",
|
|
25
|
+
"guaranteed returns",
|
|
26
|
+
"pro forma",
|
|
27
|
+
"offsets",
|
|
28
|
+
"governance",
|
|
29
|
+
"quarterly",
|
|
30
|
+
"verified",
|
|
31
|
+
"fund cycle",
|
|
32
|
+
"fund-cycle",
|
|
33
|
+
"portfolio manager",
|
|
34
|
+
"portfolio management"
|
|
35
|
+
],
|
|
36
|
+
"tool_calls_include_any": ["Grep", "Glob", "WebSearch"],
|
|
37
|
+
"tool_calls_argument_matches": [
|
|
38
|
+
{
|
|
39
|
+
"tools": ["Grep", "Glob", "WebSearch"],
|
|
40
|
+
"pattern": "global-corpus|local-corpus|CORPUS_ROOT|LOCAL_CORPUS_ROOT|web"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"teardown": { "reset_branch": true }
|
|
45
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 1,
|
|
3
|
-
"skill": "rdc:co-develop",
|
|
4
|
-
"description": "Co-develop status/list path is caller-safe under RDC_TEST and does not send a peer message.",
|
|
5
|
-
"fixture": {
|
|
6
|
-
"prompt": "rdc:co-develop status",
|
|
7
|
-
"env": { "RDC_TEST": "1" }
|
|
8
|
-
},
|
|
9
|
-
"assertions": {
|
|
10
|
-
"exit_code": 0,
|
|
11
|
-
"commits_made": { "min": 0 },
|
|
12
|
-
"stdout_contains": ["co-develop"]
|
|
13
|
-
},
|
|
14
|
-
"acceptance": {
|
|
15
|
-
"output_contains": [
|
|
16
|
-
"co-develop",
|
|
17
|
-
"status",
|
|
18
|
-
"RDC_TEST",
|
|
19
|
-
"skipped"
|
|
20
|
-
],
|
|
21
|
-
"output_not_contains": [
|
|
22
|
-
"chitchat_",
|
|
23
|
-
"send a live turn",
|
|
24
|
-
"raw MCP",
|
|
25
|
-
"git push"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"teardown": { "reset_branch": true }
|
|
29
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 1,
|
|
3
|
+
"skill": "rdc:co-develop",
|
|
4
|
+
"description": "Co-develop status/list path is caller-safe under RDC_TEST and does not send a peer message.",
|
|
5
|
+
"fixture": {
|
|
6
|
+
"prompt": "rdc:co-develop status",
|
|
7
|
+
"env": { "RDC_TEST": "1" }
|
|
8
|
+
},
|
|
9
|
+
"assertions": {
|
|
10
|
+
"exit_code": 0,
|
|
11
|
+
"commits_made": { "min": 0 },
|
|
12
|
+
"stdout_contains": ["co-develop"]
|
|
13
|
+
},
|
|
14
|
+
"acceptance": {
|
|
15
|
+
"output_contains": [
|
|
16
|
+
"co-develop",
|
|
17
|
+
"status",
|
|
18
|
+
"RDC_TEST",
|
|
19
|
+
"skipped"
|
|
20
|
+
],
|
|
21
|
+
"output_not_contains": [
|
|
22
|
+
"chitchat_",
|
|
23
|
+
"send a live turn",
|
|
24
|
+
"raw MCP",
|
|
25
|
+
"git push"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"teardown": { "reset_branch": true }
|
|
29
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"manifest_version": 1,
|
|
3
|
-
"skill": "rdc:collab",
|
|
4
|
-
"description": "Collab validates the missing/fixture session path without mutating git under RDC_TEST.",
|
|
5
|
-
"fixture": {
|
|
6
|
-
"prompt": "rdc:collab --session self-test-fixture",
|
|
7
|
-
"env": { "RDC_TEST": "1" }
|
|
8
|
-
},
|
|
9
|
-
"assertions": {
|
|
10
|
-
"exit_code": 0,
|
|
11
|
-
"commits_made": { "min": 0 },
|
|
12
|
-
"stdout_contains": ["rdc:collab"]
|
|
13
|
-
},
|
|
14
|
-
"acceptance": {
|
|
15
|
-
"output_contains": [
|
|
16
|
-
"session",
|
|
17
|
-
"chitchat",
|
|
18
|
-
"blocked",
|
|
19
|
-
"CodeFlow"
|
|
20
|
-
],
|
|
21
|
-
"output_not_contains": [
|
|
22
|
-
"chitchat_reply",
|
|
23
|
-
"git push",
|
|
24
|
-
"curl exit 28 is failure",
|
|
25
|
-
"raw MCP"
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"teardown": { "reset_branch": true }
|
|
29
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"manifest_version": 1,
|
|
3
|
+
"skill": "rdc:collab",
|
|
4
|
+
"description": "Collab validates the missing/fixture session path without mutating git under RDC_TEST.",
|
|
5
|
+
"fixture": {
|
|
6
|
+
"prompt": "rdc:collab --session self-test-fixture",
|
|
7
|
+
"env": { "RDC_TEST": "1" }
|
|
8
|
+
},
|
|
9
|
+
"assertions": {
|
|
10
|
+
"exit_code": 0,
|
|
11
|
+
"commits_made": { "min": 0 },
|
|
12
|
+
"stdout_contains": ["rdc:collab"]
|
|
13
|
+
},
|
|
14
|
+
"acceptance": {
|
|
15
|
+
"output_contains": [
|
|
16
|
+
"session",
|
|
17
|
+
"chitchat",
|
|
18
|
+
"blocked",
|
|
19
|
+
"CodeFlow"
|
|
20
|
+
],
|
|
21
|
+
"output_not_contains": [
|
|
22
|
+
"chitchat_reply",
|
|
23
|
+
"git push",
|
|
24
|
+
"curl exit 28 is failure",
|
|
25
|
+
"raw MCP"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"teardown": { "reset_branch": true }
|
|
29
|
+
}
|