finish the mode migration: brand.md/product.md become redirect stubs

Answering the obvious question the family-depth framing dodged: with
modes derived per task, files named for the old two-register taxonomy
had no architectural reason to exist. brand.md's surviving depth (lane
test + inverse test, reflex-reject lanes, color discipline, layout
moves, permissions) folds into new-work.md, where all of it belonged:
it is new-identity Persuade/Experience guidance. product.md's content
moves unchanged to operate.md, its true name. Both old files remain as
one-line redirect stubs because register: brand|product in existing
PRODUCT.md files and older links point there. All cross-references
retargeted (SKILL.md modes intro, context.mjs REGISTER hint, live.md,
typeset.md); 85 tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-07-11 17:35:28 -07:00
co-authored by Claude Fable 5
parent af8b814c99
commit 051f856113
113 changed files with 1121 additions and 1485 deletions
+1 -1
View File
@@ -839,7 +839,7 @@ describe('context.mjs CLI', () => {
const res = spawnSync(process.execPath, [SCRIPT_PATH], { cwd: scratch, encoding: 'utf8', env: { ...process.env, IMPECCABLE_NO_UPDATE_CHECK: '1' } });
assert.equal(res.status, 0);
assert.match(res.stdout, /REGISTER: `brand`/);
assert.match(res.stdout, /reference\/brand\.md/);
assert.match(res.stdout, /Derive the visitor's mode per SKILL\.md/);
});
it('falls back to a generic register directive when no register field is present', async () => {