ADR-0076 剩余工作的 framework 侧切片:D12 诚实能力 + A1.5 消费方收窄 + D7 指标追踪 (#2462) #1083
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Spec Liveness Check | |
| # For a metadata-driven platform the spec is the product surface — a parsed-but- | |
| # unenforced property is a silent no-op (and, for security props, false compliance). | |
| # This gate reads the metadata-type registry (the authorable types) and requires every | |
| # property of a GOVERNED type to declare a liveness status with evidence in | |
| # packages/spec/liveness/<type>.json. A new unclassified property fails the check (the | |
| # ratchet: no new undeclared surface). See packages/spec/liveness/README.md. | |
| # | |
| # ADR-0054 (prove-it-runs): bound high-risk 'live' properties must carry a `proof` | |
| # pointing to a dogfood test that declares the matching `@proof:` tag. The gate also | |
| # triggers on packages/dogfood/** so deleting/renaming a proof re-runs this check and | |
| # the dangling reference is caught (the proof files live outside packages/spec/). | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| paths: | |
| - 'packages/spec/**' | |
| - 'packages/dogfood/**' | |
| permissions: | |
| contents: read | |
| jobs: | |
| liveness: | |
| name: Spec property liveness | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| - name: Enable Corepack | |
| run: corepack enable | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check spec liveness | |
| run: pnpm --filter @objectstack/spec check:liveness |