V48 (specification-implementation): Artifact storage providers; remov… #1350
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: Bitcode Canon Quality | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| bitcode-spec-basics: | |
| name: Bitcode Spec Basics | |
| runs-on: ubuntu-latest | |
| container: | |
| image: node:22-bookworm | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Validate active canon and draft posture | |
| run: | | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V28" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V28 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V28 --draft-target V29 | |
| node scripts/check-bitcode-spec-family.mjs --version V28 --mode promoted --current-target V28 | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode draft --current-target V28 | |
| elif [ "$POINTER" = "V29" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V29 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V29 --draft-target V30 | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode promoted --current-target V29 | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29 | |
| elif [ "$POINTER" = "V30" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V30 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V30 --draft-target V31 | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode promoted --current-target V30 | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode draft --current-target V30 | |
| elif [ "$POINTER" = "V31" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V31 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V31 --draft-target V32 | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode promoted --current-target V31 | |
| if [ -f BITCODE_SPEC_V32.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode draft --current-target V31 | |
| fi | |
| elif [ "$POINTER" = "V32" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V32 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V32 --draft-target V33 | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode promoted --current-target V32 | |
| if [ -f BITCODE_SPEC_V33.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode draft --current-target V32 | |
| fi | |
| elif [ "$POINTER" = "V33" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V33 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V33 --draft-target V34 | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode promoted --current-target V33 | |
| if [ -f BITCODE_SPEC_V34.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode draft --current-target V33 | |
| fi | |
| elif [ "$POINTER" = "V34" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V34 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V34 --draft-target V35 | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode promoted --current-target V34 | |
| if [ -f BITCODE_SPEC_V35.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode draft --current-target V34 | |
| fi | |
| elif [ "$POINTER" = "V35" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V35 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V35 --draft-target V36 | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode promoted --current-target V35 | |
| if [ -f BITCODE_SPEC_V36.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V36 --mode draft --current-target V35 | |
| node scripts/check-v36-gate1-exchange-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v36-gate2-exchange-activity-book-market-master-detail.mjs ]; then | |
| node scripts/check-v36-gate2-exchange-activity-book-market-master-detail.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate3-exchange-intent-order-contracts.mjs ]; then | |
| node scripts/check-v36-gate3-exchange-intent-order-contracts.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate4-exchange-rights-transfer-review.mjs ]; then | |
| node scripts/check-v36-gate4-exchange-rights-transfer-review.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate5-exchange-pricing-quote.mjs ]; then | |
| node scripts/check-v36-gate5-exchange-pricing-quote.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate6-exchange-settlement-reconciliation.mjs ]; then | |
| node scripts/check-v36-gate6-exchange-settlement-reconciliation.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate7-exchange-dispute-repair-revenue-route.mjs ]; then | |
| node scripts/check-v36-gate7-exchange-dispute-repair-revenue-route.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate8-exchange-ux-proof.mjs ]; then | |
| node scripts/check-v36-gate8-exchange-ux-proof.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate9-exchange-rehearsal.mjs ]; then | |
| node scripts/check-v36-gate9-exchange-rehearsal.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v36-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v36-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V36" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V36 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V36 --draft-target V37 | |
| node scripts/check-bitcode-spec-family.mjs --version V36 --mode promoted --current-target V36 | |
| node scripts/check-v36-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| if [ -f BITCODE_SPEC_V37.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V37 --mode draft --current-target V36 | |
| node scripts/check-v37-gate1-conversations-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v37-gate2-conversation-session-route-history-contracts.mjs ]; then | |
| node scripts/check-v37-gate2-conversation-session-route-history-contracts.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate3-conversation-stream-event-contracts.mjs ]; then | |
| node scripts/check-v37-gate3-conversation-stream-event-contracts.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate4-conversation-writing-workspace.mjs ]; then | |
| node scripts/check-v37-gate4-conversation-writing-workspace.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate5-conversation-source-selector.mjs ]; then | |
| node scripts/check-v37-gate5-conversation-source-selector.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate6-conversation-terminal-handoff.mjs ]; then | |
| node scripts/check-v37-gate6-conversation-terminal-handoff.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs ]; then | |
| node scripts/check-v37-gate7-conversation-persistence-privacy-redaction.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs ]; then | |
| node scripts/check-v37-gate8-conversation-telemetry-proof-hooks.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate9-conversation-rehearsal.mjs ]; then | |
| node scripts/check-v37-gate9-conversation-rehearsal.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v37-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v37-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V37" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V37 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V37 --draft-target V38 | |
| node scripts/check-bitcode-spec-family.mjs --version V37 --mode promoted --current-target V37 | |
| node scripts/check-v37-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| if [ -f BITCODE_SPEC_V38.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V38 --mode draft --current-target V37 | |
| node scripts/check-v38-gate1-inference-stack-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v38-gate2-inference-surface-inventory.mjs ]; then | |
| node scripts/check-v38-gate2-inference-surface-inventory.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v38-gate3-ptrr-failsafe-thricified-stack.mjs ]; then | |
| node scripts/check-v38-gate3-ptrr-failsafe-thricified-stack.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v38-gate4-prompt-benchmark-report.mjs ]; then | |
| node scripts/check-v38-gate4-prompt-benchmark-report.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v38-gate5-inference-telemetry-disclosure-report.mjs ]; then | |
| node scripts/check-v38-gate5-inference-telemetry-disclosure-report.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v38-gate6-read-need-comprehension-inference-hardening.mjs ]; then | |
| node scripts/check-v38-gate6-read-need-comprehension-inference-hardening.mjs --skip-branch-check --skip-package-tests # check:v38-gate6 | |
| fi | |
| if [ -f scripts/check-v38-gate7-read-fits-finding-search-embeddings.mjs ]; then | |
| node scripts/check-v38-gate7-read-fits-finding-search-embeddings.mjs --skip-branch-check --skip-package-tests # check:v38-gate7 | |
| fi | |
| if [ -f scripts/check-v38-gate8-assetpack-synthesis-economic-traceability.mjs ]; then | |
| node scripts/check-v38-gate8-assetpack-synthesis-economic-traceability.mjs --skip-branch-check --skip-package-tests # check:v38-gate8 | |
| fi | |
| if [ -f scripts/check-v38-gate9-conversation-tool-prompt-inference-parity.mjs ]; then | |
| node scripts/check-v38-gate9-conversation-tool-prompt-inference-parity.mjs --skip-branch-check --skip-package-tests # check:v38-gate9 | |
| fi | |
| if [ -f scripts/check-v38-gate10-local-staging-inference-depository-search-rehearsal.mjs ]; then | |
| node scripts/check-v38-gate10-local-staging-inference-depository-search-rehearsal.mjs --skip-branch-check --skip-package-tests # check:v38-gate10 | |
| fi | |
| if [ -f scripts/check-v38-gate11-promotion-readiness.mjs ]; then | |
| node scripts/check-v38-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests # check:v38-gate11 | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V38" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V38 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V38 --draft-target V39 | |
| node scripts/check-bitcode-spec-family.mjs --version V38 --mode promoted --current-target V38 | |
| node scripts/check-v38-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V39.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V39 --mode draft --current-target V38 | |
| node scripts/check-v39-gate1-commercial-reading-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v39-gate2-depository-supply-indexing.mjs ]; then | |
| node scripts/check-v39-gate2-depository-supply-indexing.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v39-gate3-enterprise-reading-ux-state.mjs ]; then | |
| node scripts/check-v39-gate3-enterprise-reading-ux-state.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v39-gate4-read-need-review-resynthesis.mjs ]; then | |
| node scripts/check-v39-gate4-read-need-review-resynthesis.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v39-gate5-read-fits-finding-runtime.mjs ]; then | |
| node scripts/check-v39-gate5-read-fits-finding-runtime.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v39-gate6-assetpack-preview-quote-boundary.mjs ]; then | |
| node scripts/check-v39-gate6-assetpack-preview-quote-boundary.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v39-gate7-settlement-rights-delivery.mjs ]; then | |
| node scripts/check-v39-gate7-settlement-rights-delivery.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v39-gate8-operational-telemetry-repair-readback.mjs ]; then | |
| node scripts/check-v39-gate8-operational-telemetry-repair-readback.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v39-gate9-interface-conversation-product-parity.mjs ]; then | |
| node scripts/check-v39-gate9-interface-conversation-product-parity.mjs --skip-branch-check --skip-package-tests --skip-interface-tests | |
| fi | |
| if [ -f scripts/check-v39-gate10-local-staging-reading-rehearsal.mjs ]; then | |
| node scripts/check-v39-gate10-local-staging-reading-rehearsal.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v39-gate11-promotion-readiness.mjs ]; then | |
| node scripts/check-v39-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V39" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V39 --mode promoted --current-target V39 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V39 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V39 --draft-target V40 | |
| node scripts/check-v39-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V40.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V40 --mode draft --current-target V39 | |
| node scripts/check-v40-gate1-testing-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v40-gate2-test-inventory-coverage-matrix.mjs ]; then | |
| node scripts/check-v40-gate2-test-inventory-coverage-matrix.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v40-gate3-unit-coverage.mjs ]; then | |
| node scripts/check-v40-gate3-unit-coverage.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v40-gate4-api-integration-contracts.mjs ]; then | |
| node scripts/check-v40-gate4-api-integration-contracts.mjs --skip-branch-check --skip-integration-tests | |
| fi | |
| if [ -f scripts/check-v40-gate5-reading-pipeline-integration.mjs ]; then | |
| node scripts/check-v40-gate5-reading-pipeline-integration.mjs --skip-branch-check --skip-integration-tests | |
| fi | |
| if [ -f scripts/check-v40-gate6-conversation-terminal-integration.mjs ]; then | |
| node scripts/check-v40-gate6-conversation-terminal-integration.mjs --skip-branch-check --skip-integration-tests | |
| fi | |
| if [ -f scripts/check-v40-gate7-browser-e2e-visual-proof.mjs ]; then | |
| node scripts/check-v40-gate7-browser-e2e-visual-proof.mjs --skip-branch-check --skip-browser-tests | |
| fi | |
| if [ -f scripts/check-v40-gate8-ledger-storage-sync.mjs ]; then | |
| node scripts/check-v40-gate8-ledger-storage-sync.mjs --skip-branch-check --skip-integration-tests | |
| fi | |
| if [ -f scripts/check-v40-gate9-local-staging-rehearsal-automation.mjs ]; then | |
| node scripts/check-v40-gate9-local-staging-rehearsal-automation.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v40-gate10-prompt-benchmark-smoke-v41-readiness.mjs ]; then | |
| node scripts/check-v40-gate10-prompt-benchmark-smoke-v41-readiness.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v40-gate11-promotion-readiness.mjs ]; then | |
| node scripts/check-v40-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V40" ]; then | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V40 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V40 --draft-target V41 | |
| node scripts/check-bitcode-spec-family.mjs --version V40 --mode promoted --current-target V40 | |
| node scripts/check-v40-gate11-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V41.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V41 --mode draft --current-target V40 | |
| node scripts/check-v41-gate1-prompt-program-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v41-gate2-promptpart-prompt-inventory.mjs ]; then | |
| node scripts/check-v41-gate2-promptpart-prompt-inventory.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate3-registry-interpolation-contracts.mjs ]; then | |
| node scripts/check-v41-gate3-registry-interpolation-contracts.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate4-reading-prompt-benchmark-baselines.mjs ]; then | |
| node scripts/check-v41-gate4-reading-prompt-benchmark-baselines.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate5-readneed-prompt-hardening.mjs ]; then | |
| node scripts/check-v41-gate5-readneed-prompt-hardening.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate6-readfitsfinding-prompt-hardening.mjs ]; then | |
| node scripts/check-v41-gate6-readfitsfinding-prompt-hardening.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate7-conversation-tool-interface-prompt-rewrite.mjs ]; then | |
| node scripts/check-v41-gate7-conversation-tool-interface-prompt-rewrite.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate8-prompt-program-benchmark-report.mjs ]; then | |
| node scripts/check-v41-gate8-prompt-program-benchmark-report.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v41-gate9-promotion-readiness.mjs ]; then | |
| node scripts/check-v41-gate9-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V41" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V41 --mode promoted --current-target V41 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V41 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V41 --draft-target V42 | |
| node scripts/check-v41-gate9-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V42.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V42 --mode draft --current-target V41 | |
| node scripts/check-v42-gate1-mvp-experience-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v42-gate2-depositing-shortest-path.mjs ]; then | |
| node scripts/check-v42-gate2-depositing-shortest-path.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v42-gate3-reading-shortest-path-state-machine.mjs ]; then | |
| node scripts/check-v42-gate3-reading-shortest-path-state-machine.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v42-gate4-readneed-review-resynthesis-product-closure.mjs ]; then | |
| node scripts/check-v42-gate4-readneed-review-resynthesis-product-closure.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v42-gate5-readfitsfinding-preview-quote.mjs ]; then | |
| node scripts/check-v42-gate5-readfitsfinding-preview-quote.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v42-gate6-settlement-rights-delivery.mjs ]; then | |
| node scripts/check-v42-gate6-settlement-rights-delivery.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v42-gate7-ai-reading-demonstration.mjs ]; then | |
| node scripts/check-v42-gate7-ai-reading-demonstration.mjs --skip-branch-check --skip-package-tests --skip-demonstration-tests | |
| fi | |
| if [ -f scripts/check-v42-gate8-local-staging-mvp-rehearsal.mjs ]; then | |
| node scripts/check-v42-gate8-local-staging-mvp-rehearsal.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v42-gate9-promotion-readiness.mjs ]; then | |
| node scripts/check-v42-gate9-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V42" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V42 --mode promoted --current-target V42 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V42 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V42 --draft-target V43 | |
| node scripts/check-v42-gate9-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V43.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode draft --current-target V42 | |
| node scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs --skip-branch-check | |
| if [ -f scripts/check-v43-gate2-route-vocabulary-inventory.mjs ]; then | |
| node scripts/check-v43-gate2-route-vocabulary-inventory.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v43-gate3-packs-activity-master-detail.mjs ]; then | |
| node scripts/check-v43-gate3-packs-activity-master-detail.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v43-gate4-read-route-five-step-ux.mjs ]; then | |
| node scripts/check-v43-gate4-read-route-five-step-ux.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v43-gate5-deposit-route-options.mjs ]; then | |
| node scripts/check-v43-gate5-deposit-route-options.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v43-gate6-deposit-policy-compensation.mjs ]; then | |
| node scripts/check-v43-gate6-deposit-policy-compensation.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v43-gate7-deposit-option-admission.mjs ]; then | |
| node scripts/check-v43-gate7-deposit-option-admission.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v43-gate8-route-ux-product-excellence.mjs ]; then | |
| node scripts/check-v43-gate8-route-ux-product-excellence.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v43-gate9-cross-route-rehearsal-telemetry-repair.mjs ]; then | |
| node scripts/check-v43-gate9-cross-route-rehearsal-telemetry-repair.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v43-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V43" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode promoted --current-target V43 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V43 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V43 --draft-target V44 | |
| node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V44.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V44 --mode draft --current-target V43 | |
| node scripts/check-v44-gate1-scaled-economy-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v44-gate2-economic-domain-model.mjs ]; then | |
| node scripts/check-v44-gate2-economic-domain-model.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate3-packs-portfolio-market-intelligence.mjs ]; then | |
| node scripts/check-v44-gate3-packs-portfolio-market-intelligence.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate4-reading-budget-quote-policy.mjs ]; then | |
| node scripts/check-v44-gate4-reading-budget-quote-policy.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate5-depositor-earnings-supply-opportunities.mjs ]; then | |
| node scripts/check-v44-gate5-depositor-earnings-supply-opportunities.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate6-btd-btc-compensation-statements.mjs ]; then | |
| node scripts/check-v44-gate6-btd-btc-compensation-statements.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate7-organization-policy-wallet-authority.mjs ]; then | |
| node scripts/check-v44-gate7-organization-policy-wallet-authority.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate8-enterprise-product-ux.mjs ]; then | |
| node scripts/check-v44-gate8-enterprise-product-ux.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate9-scaled-network-rehearsal.mjs ]; then | |
| node scripts/check-v44-gate9-scaled-network-rehearsal.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v44-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v44-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V44" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V44 --mode promoted --current-target V44 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V44 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V44 --draft-target V45 | |
| node scripts/check-v44-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V45.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V45 --mode draft --current-target V44 | |
| if [ -f scripts/check-v45-gate16-proof-families-generated-artifacts.mjs ]; then | |
| node scripts/check-v45-gate16-proof-families-generated-artifacts.mjs --skip-branch-check --skip-package-tests # check:v45-gate16 | |
| fi | |
| if [ -f scripts/check-v45-gate17-source-safe-e2e-rehearsal.mjs ]; then | |
| node scripts/check-v45-gate17-source-safe-e2e-rehearsal.mjs --skip-branch-check --skip-package-tests --skip-operator-dry-run # check:v45-gate17 | |
| fi | |
| if [ -f scripts/check-v45-gate18-promotion-readiness.mjs ]; then | |
| node scripts/check-v45-gate18-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests # check:v45-gate18 | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V45" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V45 --mode promoted --current-target V45 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V45 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V45 --draft-target V46 | |
| node scripts/check-v45-gate18-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ ! -f BITCODE_SPEC_V46.md ] && [ -f scripts/check-v45-gate19-promotion-addendum.mjs ]; then | |
| node scripts/check-v45-gate19-promotion-addendum.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f BITCODE_SPEC_V46.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V46 --mode draft --current-target V45 | |
| if [ -f scripts/check-v46-gate1-commercial-protocol-comprehension-roadmap.mjs ]; then | |
| node scripts/check-v46-gate1-commercial-protocol-comprehension-roadmap.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v46-gate2-protocol-comprehension-object-model.mjs ]; then | |
| node scripts/check-v46-gate2-protocol-comprehension-object-model.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate3-public-operator-claim-boundaries.mjs ]; then | |
| node scripts/check-v46-gate3-public-operator-claim-boundaries.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate4-product-route-comprehension-readback.mjs ]; then | |
| node scripts/check-v46-gate4-product-route-comprehension-readback.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate5-interface-claim-contracts.mjs ]; then | |
| node scripts/check-v46-gate5-interface-claim-contracts.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate6-proof-readback-operator-explanation.mjs ]; then | |
| node scripts/check-v46-gate6-proof-readback-operator-explanation.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate7-local-interface-comprehension-rehearsal.mjs ]; then | |
| node scripts/check-v46-gate7-local-interface-comprehension-rehearsal.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v46-gate8-promotion-readiness.mjs ]; then | |
| node scripts/check-v46-gate8-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V46" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V46 --mode promoted --current-target V46 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V46 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V46 --draft-target V47 | |
| node scripts/check-v46-gate8-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V47.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V47 --mode draft --current-target V46 | |
| if [ -f scripts/check-v47-gate1-scope-measurement-launch-freeze.mjs ]; then | |
| node scripts/check-v47-gate1-scope-measurement-launch-freeze.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v47-gate2-feature-excess-alignment-audit.mjs ]; then | |
| node scripts/check-v47-gate2-feature-excess-alignment-audit.mjs --skip-branch-check --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate3-seller-buyer-state-machine-law.mjs ]; then | |
| node scripts/check-v47-gate3-seller-buyer-state-machine-law.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate4-depositor-website-completion.mjs ]; then | |
| node scripts/check-v47-gate4-depositor-website-completion.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate5-reader-website-completion.mjs ]; then | |
| node scripts/check-v47-gate5-reader-website-completion.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate6-packs-auxillaries-commercial-dashboard.mjs ]; then | |
| node scripts/check-v47-gate6-packs-auxillaries-commercial-dashboard.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate7-e2e-ip-selling-buying-tests.mjs ]; then | |
| node scripts/check-v47-gate7-e2e-ip-selling-buying-tests.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v47-gate8-landing-public-launch-messaging.mjs ]; then | |
| node scripts/check-v47-gate8-landing-public-launch-messaging.mjs --skip-branch-check --skip-package-tests --skip-uapi-tests | |
| fi | |
| if [ -f scripts/check-v47-gate9-staging-testnet-deployment-rehearsal.mjs ]; then | |
| node scripts/check-v47-gate9-staging-testnet-deployment-rehearsal.mjs --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v47-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v47-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| if [ -f scripts/check-v47-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v47-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| fi | |
| fi | |
| elif [ "$POINTER" = "V47" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V47 --mode promoted --current-target V47 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V47 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V47 --draft-target V48 | |
| node scripts/check-v47-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| if [ -f BITCODE_SPEC_V48.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V48 --mode draft --current-target V47 | |
| fi | |
| else | |
| echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2 | |
| exit 1 | |
| fi | |
| bitcode-demonstration-mvp: | |
| name: Bitcode Demonstration MVP | |
| runs-on: ubuntu-latest | |
| needs: bitcode-spec-basics | |
| container: | |
| image: node:22-bookworm | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run V28 protocol-demonstration MVP QA | |
| run: npm --prefix protocol-demonstration run test:v28-mvp-qa | |
| bitcode-spec-commit-conformance: | |
| name: Bitcode Spec Commit Conformance | |
| runs-on: ubuntu-latest | |
| needs: bitcode-spec-basics | |
| container: | |
| image: node:22-bookworm | |
| env: | |
| SPEC_TITLE: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || github.event.head_commit.message }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Run strict conformance for spec-title changes | |
| run: | | |
| case "$SPEC_TITLE" in | |
| spec:\ V29*|spec:\ v29*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V29" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode promoted --current-target V29 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V29 --mode draft --current-target V28 | |
| fi | |
| ;; | |
| spec:\ V30*|spec:\ v30*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V30" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode promoted --current-target V30 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V30 --mode draft --current-target V29 | |
| fi | |
| ;; | |
| spec:\ V31*|spec:\ v31*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V31" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode promoted --current-target V31 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode draft --current-target V30 | |
| fi | |
| ;; | |
| spec:\ V32*|spec:\ v32*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V32" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode promoted --current-target V32 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode draft --current-target V31 | |
| fi | |
| ;; | |
| spec:\ V33*|spec:\ v33*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V33" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode promoted --current-target V33 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode draft --current-target V32 | |
| fi | |
| ;; | |
| spec:\ V34*|spec:\ v34*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V34" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode promoted --current-target V34 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode draft --current-target V33 | |
| fi | |
| ;; | |
| spec:\ V35*|spec:\ v35*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V35" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode promoted --current-target V35 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode draft --current-target V34 | |
| fi | |
| ;; | |
| spec:\ V36*|spec:\ v36*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V36" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V36 --mode promoted --current-target V36 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V36 --mode draft --current-target V35 | |
| fi | |
| ;; | |
| spec:\ V37*|spec:\ v37*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V37" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V37 --mode promoted --current-target V37 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V37 --mode draft --current-target V36 | |
| fi | |
| ;; | |
| spec:\ V38*|spec:\ v38*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V38" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V38 --mode promoted --current-target V38 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V38 --mode draft --current-target V37 | |
| fi | |
| ;; | |
| spec:\ V39*|spec:\ v39*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V39" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V39 --mode promoted --current-target V39 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V39 --mode draft --current-target V38 | |
| fi | |
| ;; | |
| spec:\ V40*|spec:\ v40*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V40" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V40 --mode promoted --current-target V40 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V40 --mode draft --current-target V39 | |
| fi | |
| ;; | |
| spec:\ V41*|spec:\ v41*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V41" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V41 --mode promoted --current-target V41 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V41 --mode draft --current-target V40 | |
| fi | |
| ;; | |
| spec:\ V42*|spec:\ v42*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V42" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V42 --mode promoted --current-target V42 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V42 --mode draft --current-target V41 | |
| fi | |
| ;; | |
| spec:\ V43*|spec:\ v43*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V43" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode promoted --current-target V43 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode draft --current-target V42 | |
| fi | |
| ;; | |
| spec:\ V44*|spec:\ v44*) | |
| node scripts/check-bitcode-spec-family.mjs --version V44 --mode draft --current-target V43 | |
| ;; | |
| spec:\ V45*|spec:\ v45*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V45" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V45 --mode promoted --current-target V45 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V45 --mode draft --current-target V44 | |
| fi | |
| ;; | |
| spec:\ V46*|spec:\ v46*) | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V46" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V46 --mode promoted --current-target V46 | |
| else | |
| node scripts/check-bitcode-spec-family.mjs --version V46 --mode draft --current-target V45 | |
| fi | |
| ;; | |
| *) | |
| echo "Skipping strict spec-title conformance; title is not a V29/V30/V31/V32/V33/V34/V35/V36/V37/V38/V39/V40/V41/V42/V43/V44/V45/V46 spec change." | |
| ;; | |
| esac |