chore: stop installing pinned OpenSpec CLI and drop strict validation (WealthLedger/specs#67)
Conventional commits / commits (pull_request) Successful in 9s
Specs security / security (pull_request) Successful in 6s
Specs verify / verify (pull_request) Successful in 9s

This commit is contained in:
2026-11-03 06:50:42 +03:00
parent da1f44ee9e
commit 06ecc09d35
3 changed files with 11 additions and 12 deletions
+2 -2
View File
@@ -37,9 +37,9 @@ jobs:
- uses: https://github.com/actions/setup-node@v4
with:
node-version-file: .nvmrc
- name: Install pinned OpenSpec CLI and lychee 0.24.2
- name: Install OpenSpec CLI and lychee 0.24.2
run: |
npm install -g "@fission-ai/openspec@$(cat openspec/.cli-version)"
npm install -g @fission-ai/openspec
openspec store register .
curl --fail --location --silent --show-error https://github.com/lycheeverse/lychee/releases/download/lychee-v0.24.2/lychee-x86_64-unknown-linux-gnu.tar.gz -o /tmp/lychee.tar.gz
echo '1f4e0ef7f6554a6ed33dd7ac144fb2e1bbed98598e7af973042fc5cd43951c9a /tmp/lychee.tar.gz' | sha256sum --check
+8 -8
View File
@@ -21,20 +21,20 @@ OpenSpec применяется после явного решения Change Ow
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
Одна команда, её же вызывает CI `verify`: `openspec schema validate` (все schemas),
`openspec validate --all` (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`, версию
CLI и доступность store, и при расхождении выводит команду исправления. Structural
validation не заменяет semantic verification и independent read-only review перед archive.
OpenSpec CLI ставится глобально (`npm install -g @fission-ai/openspec`) и не закрепляется
ни в `package.json` (его транзитивная зависимость `braces` имеет advisory без исправления
в 3.x), ни отдельным файлом версии: CI ставит актуальный выпуск. `validate` не использует
`--strict`: с 1.15 предупреждение о длинных требованиях (>500 символов) считается ошибкой
в strict-режиме. Structural validation не заменяет semantic verification и independent
read-only review перед archive.
Node задаётся собственной `.nvmrc`; после `nvm use --silent` выполните `npm ci`.
`npm run verify` локально проверяет whitespace в незакоммиченном diff; CI `verify`
+1 -2
View File
@@ -7,8 +7,7 @@
},
"scripts": {
"verify": "git diff --check",
"check:openspec": "node scripts/check-openspec.cjs",
"validate": "npm run check:openspec && openspec schema validate && openspec validate --all --strict --no-interactive --store wealth-ledger-specs && lychee --offline --include-fragments --no-progress './*.md' openspec/specs",
"validate": "openspec schema validate && openspec validate --all --no-interactive --store wealth-ledger-specs && lychee --offline --include-fragments --no-progress './*.md' openspec/specs",
"release:preview": "release-it --dry-run --ci",
"release:prepare": "release-it --ci",
"commitlint": "commitlint",