mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-10-02 05:24:34 +08:00
* fix(archive): stop sending the archive skill to an uninstalled sync skill The archive skill always told the agent to run the `openspec-sync-specs` skill, even when that skill was not installed, so an agent following it stalled at the sync step. The archive command already chose between the sync workflow and an inline merge based on what was installed; the skill now does the same. Closes #1975 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * docs(skills): document archive sync fallback --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
792 B
TypeScript
23 lines
792 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import * as fs from 'node:fs';
|
|
import * as path from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
const SKILLS = fs.readFileSync(
|
|
path.join(REPO_ROOT, 'docs-lab', 'reference', 'skills.md'),
|
|
'utf-8'
|
|
);
|
|
const ARCHIVE_SECTION = SKILLS.split('## openspec-archive-change')[1].split(
|
|
'## openspec-new-change'
|
|
)[0];
|
|
|
|
describe('skills documentation', () => {
|
|
it('documents archive sync with and without the sync workflow (#1975)', () => {
|
|
expect(ARCHIVE_SECTION).toContain('When `openspec-sync-specs` is installed');
|
|
expect(ARCHIVE_SECTION).toContain(
|
|
'Otherwise, it merges the delta specs into the main specs itself.'
|
|
);
|
|
});
|
|
});
|