docs(ultraplan-local): add Handover 7 + doc-consistency pins for /ultracontinue
Adds Handover 7 (.session-state.local.json) section to HANDOVER-CONTRACTS.md documenting the multi-session-resume contract: - Producers: ultraexecute Phase 8/2.55/4 + helper command + future graceful-handoff v2.2 + pre-compact-flush refresh - Consumer: /ultracontinue (read-only) - Schema v1: schema_version, project, next_session_brief_path, next_session_label, status (5-value enum), updated_at - Forward-compat: unknown top-level keys silently tolerated (drift-WARN) - Path: .claude/projects/<project>/.session-state.local.json (gitignored) - Failure modes mapped to validator error codes Also updates the validator → handover map and Versioning + Stability tables to include Handover 7. Extends tests/lib/doc-consistency.test.mjs with three new pins: 1. HANDOVER-CONTRACTS.md contains Handover 7 section 2. session-state-validator.mjs exposes the standard CLI shim 3. CLAUDE.md mentions /ultracontinue-local Adds the /ultracontinue-local row to the plugin CLAUDE.md commands table — minimum viable to keep the existing 'CLAUDE.md commands table mentions every commands/*.md file' iteration test green. Step 11 (Session 2b) will expand to full README + CLAUDE.md narrative documentation. Test suite: 182 → 185 (3 new doc-consistency pins, zero regressions). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
af67362c68
commit
5688512898
3 changed files with 97 additions and 0 deletions
|
|
@ -109,6 +109,19 @@ test('HANDOVER-CONTRACTS.md contains Handover 6 section', () => {
|
|||
);
|
||||
});
|
||||
|
||||
test('HANDOVER-CONTRACTS.md contains Handover 7 section (session-state)', () => {
|
||||
const text = read('docs/HANDOVER-CONTRACTS.md');
|
||||
assert.ok(
|
||||
text.includes('## Handover 7'),
|
||||
'docs/HANDOVER-CONTRACTS.md should document Handover 7 (.session-state.local.json) ' +
|
||||
'consumed by /ultracontinue',
|
||||
);
|
||||
assert.ok(
|
||||
text.includes('.session-state.local.json'),
|
||||
'Handover 7 section should name the artifact path',
|
||||
);
|
||||
});
|
||||
|
||||
test('review-validator has CLI shim', () => {
|
||||
const text = read('lib/validators/review-validator.mjs');
|
||||
assert.ok(
|
||||
|
|
@ -118,6 +131,24 @@ test('review-validator has CLI shim', () => {
|
|||
);
|
||||
});
|
||||
|
||||
test('session-state-validator has CLI shim', () => {
|
||||
const text = read('lib/validators/session-state-validator.mjs');
|
||||
assert.ok(
|
||||
text.includes('import.meta.url === '),
|
||||
'lib/validators/session-state-validator.mjs should expose the standard CLI shim ' +
|
||||
'(if (import.meta.url === `file://${process.argv[1]}`)) so /ultracontinue can call it from Bash',
|
||||
);
|
||||
});
|
||||
|
||||
test('CLAUDE.md mentions /ultracontinue-local command', () => {
|
||||
const md = read('CLAUDE.md');
|
||||
assert.ok(
|
||||
md.includes('/ultracontinue-local') || md.includes('ultracontinue-local'),
|
||||
'CLAUDE.md should document /ultracontinue-local in the Commands table ' +
|
||||
'(added in v3.3.0 alongside the new command file)',
|
||||
);
|
||||
});
|
||||
|
||||
test('rule-catalogue has exactly 12 entries', async () => {
|
||||
const mod = await import('../../lib/review/rule-catalogue.mjs');
|
||||
assert.strictEqual(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue