ci: run native OpenSpec and local link validation in verify (WealthLedger/specs#2)
npm run validate: toolchain check, openspec schema validate, openspec validate --all --strict, lychee --offline --include-fragments for root *.md and openspec/specs. CI verify installs the pinned CLI and sha256-pinned lychee and runs it. Closes #2
This commit was merged in pull request #73.
This commit is contained in:
@@ -18,14 +18,18 @@ OpenSpec применяется после явного решения Change Ow
|
||||
Для native validation из этого репозитория:
|
||||
|
||||
```bash
|
||||
npm run check:openspec
|
||||
openspec schema validate wealth-ledger-sdd --verbose
|
||||
openspec schema validate wealth-ledger-sdd-v2 --verbose
|
||||
openspec status --change <change> --store wealth-ledger-specs
|
||||
openspec validate <change> --type change --strict --store wealth-ledger-specs
|
||||
openspec validate --specs --strict --store wealth-ledger-specs
|
||||
npm run validate
|
||||
```
|
||||
|
||||
Одна команда, её же вызывает CI `verify`: `check:openspec` (Node, версия CLI,
|
||||
store), `openspec schema validate` (все schemas), `openspec validate --all --strict`
|
||||
(specs и active changes) и [lychee](https://lychee.cli.rs/) 0.24.2 `--offline
|
||||
--include-fragments` для относительных ссылок и anchors в корневых `*.md`
|
||||
(включая `AI_INDEX`) и `openspec/specs`. Архивы и внешние URL не проверяются.
|
||||
В чистой среде один раз: `openspec store register .`; lychee ставится
|
||||
отдельно (например, `brew install lychee`). Для отдельного change:
|
||||
`openspec status --change <change> --store wealth-ledger-specs`.
|
||||
|
||||
OpenSpec CLI ставится глобально и не закрепляется в `package.json`: его транзитивная
|
||||
зависимость `braces` имеет advisory без исправления в 3.x. Ожидаемая версия хранится
|
||||
в `openspec/.cli-version`; `npm run check:openspec` проверяет Node из `.nvmrc`, версию
|
||||
@@ -36,8 +40,8 @@ Node задаётся собственной `.nvmrc`; после `nvm use --sil
|
||||
`npm run verify` локально проверяет whitespace в незакоммиченном diff; CI `verify`
|
||||
выполняет тот же `git diff --check` по коммитам PR (merge-base→head) или push
|
||||
(before→after, для новой ветки — последний коммит). Это структурная проверка
|
||||
whitespace, не semantic spec validation. OpenSpec validation остаётся отдельной
|
||||
проверкой при изменениях требований. История релизов — [CHANGELOG](CHANGELOG.md).
|
||||
whitespace. Ни whitespace, ни structural validation не заменяют semantic review.
|
||||
История релизов — [CHANGELOG](CHANGELOG.md).
|
||||
|
||||
## Релизы
|
||||
|
||||
|
||||
Reference in New Issue
Block a user