Skip to content

feat(skills): require 5 RISA + 2 WILD floor in wild-risa-balance#37

Merged
naimkatiman merged 4 commits intomainfrom
feat/wild-risa-floor
Apr 28, 2026
Merged

feat(skills): require 5 RISA + 2 WILD floor in wild-risa-balance#37
naimkatiman merged 4 commits intomainfrom
feat/wild-risa-floor

Conversation

@naimkatiman
Copy link
Copy Markdown
Owner

Summary

Follow-up to PR #35. Tightens the recommendation-block contract for wild-risa-balance so every list emitted under the skill ships at least 7 items (exactly 2 WILD + at least 5 RISA), and locks the contract via a CI assertion + a downstream cross-reference.

Operator feedback after #35 merged: the loose prose ("1-2 bold items" / "the safe items") let lists degrade into flat 2+2 blocks where the bold and safe items competed equally and the bold ones lost by default. The 7-item floor restores the original intent — a real WILD/RISA contrast, not a flat menu.

Commits

  1. feat(skills): require 5 RISA + 2 WILD floor in wild-risa-balance — How-to-Apply prose rewritten with explicit count floors; example expanded from 2+2 to 2+5 with annotated headers; plugin mirror updated.
  2. docs(plans): record 7-item floor amendment for wild-risa-balance — plan doc now carries the amendment so it stays the source of truth.
  3. feat(ci): lock 2 WILD + 5 RISA floor literal via docs-substring assertion — new wild-risa-floor.test.mts + 2 new entries in the docs-substring inventory; both mirrors guarded.
  4. docs(skills): cross-reference wild-risa-balance floor in proceed-with-the-recommendation — the execution arm now flags blocks that arrive shorter than 7 instead of walking them silently.

Test plan

  • node bin/check-skill-mirror.mjs — 13 pairs match
  • node bin/check-docs-substrings.mjs — 74 assertions (was 72) all pass
  • node bin/check-skill-tiers.mjs — 13 sources tier-tagged
  • npm test — 242 tests pass, 0 fail
  • Reviewer spot-checks the new "Upstream block-shape contract" note in Phase 1 of the proceed skill reads cleanly
  • Reviewer confirms the plan-doc amendment captures the rationale for future readers

Tightens the recommendation-block contract so every list emitted under
this skill ships at least 7 items (exactly 2 WILD + at least 5 RISA).
Pre-existing prose ("1-2 bold items" / "the safe items") was loose
enough that lists could degrade to flat 2+2 blocks where the bold and
safe items competed equally and the bold ones lost by default.

- skills/wild-risa-balance.md: How-to-Apply rewritten with explicit
  count floors; example expanded from 2+2 to 2+5 with annotated headers
- plugins/continuous-improvement/skills/wild-risa-balance/SKILL.md: same
  edit mirrored so check-skill-mirror stays green
Captures the post-merge tightening of the recommendation contract so the
plan doc remains the source of truth for the skill: 2 WILD + 5 RISA = 7
items minimum, with the file list and verification steps for the
follow-up PR.
…tion

Adds a wild-risa-floor test asserting that both the source skill and the
plugin mirror contain the literal "2 WILD + 5 RISA = 7 items minimum",
plus matching entries in the docs-substring inventory so the standalone
lint catches drift before the broader test suite runs.

- src/test/wild-risa-floor.test.mts: new test with two mirror checks
- src/bin/check-docs-substrings.mts: 2 inventory entries appended
- bin/, test/: regenerated build outputs (npm run build)

The pair guards against future edits silently dropping the floor and
re-degrading recommendation lists to flat 2+2 blocks.
…-the-recommendation

Adds an "Upstream block-shape contract" line to Phase 1 (Pre-Flight) so
the execution arm knows the expected block size when wild-risa-balance
is upstream: 2 WILD + at least 5 RISA = 7 items minimum. Short or
wrong-split blocks now get flagged to the user as a one-line note before
the walk begins, rather than being walked silently.

Mirrored into the plugin SKILL.md so check-skill-mirror stays green.
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a 7-item floor requirement for recommendation lists, mandating exactly 2 WILD items and at least 5 RISA items to prevent list degradation. The changes include documentation updates, cross-references in the execution skill, and new CI tests. A bug was identified in the repository root path calculation in the TypeScript test file.

import { fileURLToPath } from "node:url";

const __dirname = fileURLToPath(new URL(".", import.meta.url));
const REPO_ROOT = join(__dirname, "..");
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The REPO_ROOT calculation is incorrect for a file located in src/test/. Since the skills/ and plugins/ directories are at the repository root, you need to go up two levels from this file's directory to reach the root.

const REPO_ROOT = join(__dirname, "..", "..");

@naimkatiman naimkatiman merged commit c2337bf into main Apr 28, 2026
4 checks passed
@naimkatiman naimkatiman deleted the feat/wild-risa-floor branch April 28, 2026 11:14
naimkatiman added a commit that referenced this pull request Apr 28, 2026
Resolves conflicts in bin/check-docs-substrings.mjs and
src/bin/check-docs-substrings.mts by keeping both the P-MAG
literal-lock block (this branch) and the WILD/RISA floor
literal-lock block (#37, just merged to main).

Verified locally:
- node bin/check-docs-substrings.mjs: 80/80 pass
- node bin/check-skill-tiers.mjs: 13 tiered skills
- node bin/check-skill-mirror.mjs: 13 pairs match
- node --test test/past-mistake-gate.test.mjs: 8/8 pass
- node --test test/wild-risa-floor.test.mjs: 4/4 pass
- node --test test/skill-tiers.test.mjs: 17/17 pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant