From 06ecc09d353619303f9ed85d72c1409d02f41bd7 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Tue, 3 Nov 2026 06:50:42 +0300 Subject: [PATCH] chore: stop installing pinned OpenSpec CLI and drop strict validation (WealthLedger/specs#67) --- .gitea/workflows/verify.yml | 4 ++-- README.md | 16 ++++++++-------- package.json | 3 +-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/verify.yml b/.gitea/workflows/verify.yml index 6d57f80..2171b4d 100644 --- a/.gitea/workflows/verify.yml +++ b/.gitea/workflows/verify.yml @@ -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 diff --git a/README.md b/README.md index 00f3cf8..738eed8 100644 --- a/README.md +++ b/README.md @@ -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 --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` diff --git a/package.json b/package.json index 7d7efe0..09697bd 100644 --- a/package.json +++ b/package.json @@ -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",