Expand concept system: modes, ratings, re-roll, breadth strategy

Catalog: mode-aligned staging surfaces (persuade/operate/read/experience),
star ratings on approvals feeding challenger draw weights, family
retirements, authoring strategy and territory guide, rework and breadth
authoring rounds, composition mining from rejected worlds.

Seed: six challengers (two per tier), --reroll chains, --mode staging
filter, rating-weighted draws. New-work: Present/visualize/re-roll flow,
image-gen requirement, register-neutral vocabulary.

Pipeline: per-mode staging prompts with split frames, hero-from-board
reference generation, render-safety guards. Labs: ratings UI, unrated
filter, mode chips, composition approve-guard.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-07-20 22:10:10 -07:00
co-authored by Claude Fable 5
parent 144cee5c36
commit 7557935fdb
55 changed files with 24574 additions and 24025 deletions
+34 -6
View File
@@ -95,6 +95,7 @@ describe('docs integrity', () => {
const shape = fs.readFileSync(path.join(ROOT, 'skill/reference/shape.md'), 'utf8');
const craft = fs.readFileSync(path.join(ROOT, 'skill/reference/craft.md'), 'utf8');
const skill = fs.readFileSync(path.join(ROOT, 'skill/SKILL.src.md'), 'utf8');
const buildFloor = fs.readFileSync(path.join(ROOT, 'skill/reference/build-floor.md'), 'utf8');
const document = fs.readFileSync(path.join(ROOT, 'skill/reference/document.md'), 'utf8');
const codex = fs.readFileSync(path.join(ROOT, 'skill/reference/codex.md'), 'utf8');
const typeset = fs.readFileSync(path.join(ROOT, 'skill/reference/typeset.md'), 'utf8');
@@ -108,17 +109,43 @@ describe('docs integrity', () => {
expect(newWork).toContain('Missing DESIGN.md does not route back to init');
expect(newWork).toContain('Shape or select the direction');
expect(newWork).toContain('concept-seed.mjs --scope direction');
expect(newWork).toContain('concept-seed.mjs --scope surface');
expect(newWork).toContain('Local extension inside stable authority: shape, do not seed');
expect(newWork).toContain('concept-seed.mjs --scope direction --mode');
expect(newWork).toContain('concept-seed.mjs --scope surface --mode');
expect(newWork).toContain('persuade, operate, read, or experience');
expect(skill).toContain('what the visitor\'s success looks like');
expect(skill).toContain('a docs index is Read, not Persuade');
expect(newWork).toContain('Local extension (B or C): inherit, do not reseed');
expect(newWork).toContain('Never run it for a local extension');
expect(newWork).toContain('Do not select a new world and its first surface concept in separate tournaments');
expect(newWork).toContain('do not reopen either half independently');
expect(newWork).toContain("audience's cultural home");
expect(newWork).toContain('category default and its predictable contrarian response');
expect(newWork).toContain('system leverage, and use of the medium');
expect(newWork).toContain('discard the source carrier, materials, and vocabulary unless product evidence earns them');
expect(newWork).toContain('.impeccable/surfaces/<target-slug>.md');
expect(newWork).toContain('DIRECTION CONTRACT');
expect(newWork).toContain('`THESIS`: the product-specific idea');
expect(newWork).toContain('`BAR-RAISER`: the product-native use');
expect(newWork).toContain('routine functional state alone does not clear the bar');
expect(newWork).toContain('non-routine bar-raiser');
expect(newWork).toContain('first-surface expression, bar-raiser, cross-surface consequence');
expect(newWork).toContain('veto rather than rationalize');
expect(newWork).toContain('every relationship it visualizes exists in product truth; resemblance is not evidence');
expect(newWork).toContain("removing its bar-raiser materially weakens the surface's central argument or use");
expect(newWork).toContain('on the primary device and within the real asset and tool budget');
expect(newWork).toContain('not a probable violation of the brief or audience');
expect(newWork).toContain('Passing some floors never rescues a failed one');
expect(newWork.match(/Apply the candidate floor/g)?.length).toBe(2);
expect(newWork).toContain('[codex.md](codex.md)');
expect(newWork).toContain('Commit before correcting');
expect(newWork).toContain('Judge candidates skin-blind');
expect(newWork).toContain('judge survivors skin-blind');
expect(newWork).toContain('Present, visualize, re-roll');
expect(newWork).toContain('When the harness can generate images');
expect(newWork).toContain('no image persists as a project file');
expect(newWork).toContain('eliminates every candidate presented so far');
expect(newWork).toContain('optional one-line steer');
expect(newWork).toContain('--from <key> --reroll <round>');
expect(newWork).toContain('ask what quality is missing before rolling a third time');
expect(newWork).not.toContain('palette.mjs');
expect(shape).toContain('follow [new-work.md](new-work.md)');
@@ -126,7 +153,8 @@ describe('docs integrity', () => {
expect(shape).toContain('shape never writes code or a direction contract');
expect(craft).toContain('deprecated alias');
expect(craft).toContain('adds no setup, interview, checkpoint, tool, or quality behavior');
expect(skill).toContain('Premium motion is not transform/opacity alone');
expect(skill).toContain('[reference/build-floor.md](reference/build-floor.md) immediately before editing UI');
expect(buildFloor).toContain('do not rely on transform/opacity alone');
expect(newWork).toContain('The old DESIGN.md and implementation are not authority');
expect(newWork).toContain('Do not offer replacement worlds unless the user asked for a redesign');
expect(document).toContain('Run **Select one direction**');
@@ -135,7 +163,7 @@ describe('docs integrity', () => {
expect(codex).toContain('Do not generate a palette artifact');
expect(typeset).toContain('route through [new-work.md](new-work.md)');
expect(skill).not.toContain('reference/finish.md');
expect(skill).toContain('manual scan only when no automatic detector is active');
expect(buildFloor).toContain('manual scan only when no automatic detector is active');
expect(context).toContain('renderLlmOnlySlopReview');
expect(context).toContain('automaticHookMode');
});