V48 Gate 3 (specification-implementation): Deposit systems MVP — SynthesizeAssetPacks SDIVF correctness #1019
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 Gate Quality | |
| on: | |
| push: | |
| branches: | |
| - "v*/gate-*" | |
| - "version/**" | |
| pull_request: | |
| branches: | |
| - "version/**" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| gate-quality: | |
| name: Gate Quality | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "24" | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Validate gate pull request title | |
| if: github.event_name == 'pull_request' | |
| env: | |
| PR_BASE_REF: ${{ github.base_ref }} | |
| PR_HEAD_REF: ${{ github.head_ref }} | |
| PR_TITLE: ${{ github.event.pull_request.title }} | |
| run: | | |
| if [[ "$PR_BASE_REF" == version/* && "$PR_HEAD_REF" =~ ^v([0-9]+)/gate-([0-9]+)- ]]; then | |
| expected_version="V${BASH_REMATCH[1]}" | |
| expected_gate="${BASH_REMATCH[2]}" | |
| title_re="^${expected_version}[[:space:]]+Gate[[:space:]]+${expected_gate}([[:space:]]\((specification-only|implementation-only|specification-implementation)\))?:[[:space:]].+" | |
| if [[ ! "$PR_TITLE" =~ $title_re ]]; then | |
| echo "Gate pull request titles must begin with: ${expected_version} Gate ${expected_gate}: or ${expected_version} Gate ${expected_gate} (specification-only|implementation-only|specification-implementation):" | |
| echo "Observed: ${PR_TITLE}" | |
| exit 1 | |
| fi | |
| fi | |
| - name: Validate draft canon posture | |
| run: | | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V28" ]; then | |
| 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 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V28 --draft-target V29 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V28 | |
| node scripts/check-v29-gate1-objectives-and-gating.mjs --skip-branch-check | |
| node scripts/check-v29-gate2-terminal-transaction-read-models.mjs --skip-branch-check | |
| node scripts/check-v29-gate3-wallet-signer-btc-operations.mjs --skip-branch-check | |
| node scripts/check-v29-gate4-reading-pipeline-observability.mjs --skip-branch-check | |
| node scripts/check-v29-gate5-assetpack-disclosure-rights.mjs --skip-branch-check | |
| node scripts/check-v29-gate6-settlement-reconciliation-repair.mjs --skip-branch-check | |
| node scripts/check-v29-gate7-organization-permission-authority.mjs --skip-branch-check | |
| node scripts/check-v29-gate8-demonstration-origin-formalization.mjs --skip-branch-check | |
| node scripts/check-v29-gate9-terminal-ux-browser-proof.mjs --skip-branch-check | |
| node scripts/check-v29-gate10-local-staging-promotion-readiness.mjs --skip-branch-check | |
| elif [ "$POINTER" = "V29" ]; then | |
| 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 | |
| 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-v29-gate10-local-staging-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| node scripts/check-v30-gate1-roadmap-and-gating.mjs --skip-branch-check | |
| node scripts/check-v30-gate2-protocol-package-api-boundaries.mjs --skip-branch-check | |
| node scripts/check-v30-gate3-bitcoin-taproot-psbt-fee-rigor.mjs --skip-branch-check | |
| node scripts/check-v30-gate4-btd-assetpack-mint-read-receipts.mjs --skip-branch-check | |
| node scripts/check-v30-gate5-testnet-ledger-projection-hardening.mjs --skip-branch-check | |
| node scripts/check-v30-gate6-source-to-shares-proof-cleanup.mjs --skip-branch-check | |
| node scripts/check-v30-gate7-bridge-readiness-research-boundaries.mjs --skip-branch-check | |
| node scripts/check-v30-gate8-protocol-telemetry-proof-hooks.mjs --skip-branch-check | |
| node scripts/check-v30-gate9-interface-integration-regression-proof.mjs --skip-branch-check | |
| node scripts/check-v30-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V30" ]; then | |
| 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 | |
| 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-v30-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| node scripts/check-v31-gate1-spec-roadmap-opening.mjs --skip-branch-check | |
| node scripts/check-v31-gate2-auxillaries-package-route-contracts.mjs --skip-branch-check | |
| node scripts/check-v31-gate3-profile-account-state.mjs --skip-branch-check | |
| node scripts/check-v31-gate4-connects-provider-readiness.mjs --skip-branch-check | |
| node scripts/check-v31-gate5-wallet-btd-pane-readiness.mjs --skip-branch-check | |
| node scripts/check-v31-gate6-organization-team-role-policy-authority.mjs --skip-branch-check | |
| node scripts/check-v31-gate7-interfaces-pane-admission-cross-surface-contracts.mjs --skip-branch-check | |
| node scripts/check-v31-gate8-auxillaries-ux-accessibility-responsive-proof.mjs --skip-branch-check | |
| node scripts/check-v31-gate9-auxillaries-telemetry-proof-recovery-runs.mjs --skip-branch-check | |
| node scripts/check-v31-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V31" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V31 --mode promoted --current-target V31 | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode draft --current-target V31 | |
| 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-v31-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| node scripts/check-v32-gate1-provation-roadmap-opening.mjs --skip-branch-check | |
| node scripts/check-v32-gate2-proof-matrix-inventory.mjs --skip-branch-check | |
| node scripts/check-v32-gate3-deterministic-replay-artifact-stability.mjs --skip-branch-check | |
| node scripts/check-v32-gate4-reading-pipeline-proof-coverage.mjs --skip-branch-check | |
| node scripts/check-v32-gate5-ledger-btd-settlement-failure-states.mjs --skip-branch-check | |
| node scripts/check-v32-gate6-interface-contract-regression-suites.mjs --skip-branch-check | |
| node scripts/check-v32-gate7-browser-accessibility-responsive-visual-proof.mjs --skip-branch-check | |
| node scripts/check-v32-gate8-testnet-mainnet-readiness-rehearsal.mjs --skip-branch-check | |
| node scripts/check-v32-gate9-promotion-proof-generation-hardening.mjs --skip-branch-check | |
| node scripts/check-v32-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V32" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V32 --mode promoted --current-target V32 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V32 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V32 --draft-target V33 | |
| if [ -f BITCODE_SPEC_V33.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode draft --current-target V32 | |
| fi | |
| node scripts/check-v32-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| node scripts/check-v33-gate1-interface-roadmap-opening.mjs --skip-branch-check | |
| node scripts/check-v33-gate2-interface-contract-catalog.mjs --skip-branch-check | |
| node scripts/check-v33-gate3-mcp-api-tool-contracts.mjs --skip-branch-check | |
| node scripts/check-v33-gate4-chatgpt-app-action-contracts.mjs --skip-branch-check | |
| node scripts/check-v33-gate5-interface-authorization-policy.mjs --skip-branch-check | |
| node scripts/check-v33-gate6-read-license-assetpack-rights-contracts.mjs --skip-branch-check | |
| node scripts/check-v33-gate7-api-schema-compatibility-matrix.mjs --skip-branch-check | |
| node scripts/check-v33-gate8-interface-telemetry-proof-hooks.mjs --skip-branch-check | |
| node scripts/check-v33-gate9-interface-consumer-ux-regression-proof.mjs --skip-branch-check | |
| node scripts/check-v33-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V33" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V33 --mode promoted --current-target V33 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V33 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V33 --draft-target V34 | |
| if [ -f BITCODE_SPEC_V34.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode draft --current-target V33 | |
| fi | |
| node scripts/check-v33-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| node scripts/check-v34-gate1-deployment-roadmap-opening.mjs --skip-branch-check | |
| node scripts/check-v34-gate2-host-capability-environment-lanes.mjs --skip-branch-check | |
| node scripts/check-v34-gate3-distributed-execution-runtime-contracts.mjs --skip-branch-check | |
| node scripts/check-v34-gate4-deployment-storage-posture.mjs --skip-branch-check | |
| node scripts/check-v34-gate5-secret-rotation-boundary-operations.mjs --skip-branch-check | |
| node scripts/check-v34-gate6-migration-cicd-approval-gates.mjs --skip-branch-check | |
| node scripts/check-v34-gate7-runtime-observers-broadcasters-repair-jobs.mjs --skip-branch-check | |
| node scripts/check-v34-gate8-rollback-upgrade-data-repair-playbooks.mjs --skip-branch-check | |
| node scripts/check-v34-gate9-local-staging-testnet-deployment-rehearsal.mjs --skip-branch-check | |
| node scripts/check-v34-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V34" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V34 --mode promoted --current-target V34 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V34 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V34 --draft-target V35 | |
| if [ -f BITCODE_SPEC_V35.md ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode draft --current-target V34 | |
| node scripts/check-v35-gate1-telemetry-docs-roadmap-opening.mjs --skip-branch-check | |
| if [ -f scripts/check-v35-gate2-documentation-surface-catalog.mjs ]; then | |
| node scripts/check-v35-gate2-documentation-surface-catalog.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate3-telemetry-taxonomy-event-schema-redaction.mjs ]; then | |
| node scripts/check-v35-gate3-telemetry-taxonomy-event-schema-redaction.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate4-public-docs-usage-guides.mjs ]; then | |
| node scripts/check-v35-gate4-public-docs-usage-guides.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate5-dashboards-alerts-runbooks-incident-escalation.mjs ]; then | |
| node scripts/check-v35-gate5-dashboards-alerts-runbooks-incident-escalation.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate6-documentation-qa-alignment-proofs.mjs ]; then | |
| node scripts/check-v35-gate6-documentation-qa-alignment-proofs.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate7-developer-operator-testnet-rollout-guides.mjs ]; then | |
| node scripts/check-v35-gate7-developer-operator-testnet-rollout-guides.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate8-telemetry-documentation-interface-integration.mjs ]; then | |
| node scripts/check-v35-gate8-telemetry-documentation-interface-integration.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate9-local-staging-telemetry-documentation-rehearsal.mjs ]; then | |
| node scripts/check-v35-gate9-local-staging-telemetry-documentation-rehearsal.mjs --skip-branch-check | |
| fi | |
| if [ -f scripts/check-v35-gate10-promotion-readiness.mjs ]; then | |
| node scripts/check-v35-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| fi | |
| fi | |
| node scripts/check-v34-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V35" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V35 --mode promoted --current-target V35 | |
| 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-v35-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| 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-spec-family.mjs --version V36 --mode promoted --current-target V36 | |
| 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-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-spec-family.mjs --version V37 --mode promoted --current-target V37 | |
| 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-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-spec-family.mjs --version V38 --mode promoted --current-target V38 | |
| 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-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-spec-family.mjs --version V40 --mode promoted --current-target V40 | |
| 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-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 | |
| - name: Validate source casing and imports | |
| run: | | |
| bash scripts/find-uppercase-raw-promptparts.sh | |
| bash scripts/check-import-casing.sh | |
| - name: Type-check gate packages | |
| run: | | |
| pnpm --filter @bitcode/btd typecheck | |
| pnpm --filter @bitcode/api build | |
| pnpm --dir packages/executions-mcp/src/mcp-server run type-check | |
| pnpm --dir packages/chatgptapp exec tsc --noEmit --pretty false | |
| pnpm --filter @bitcode/pipeline-asset-pack typecheck | |
| pnpm --filter @bitcode/pipeline-hosts typecheck | |
| pnpm --filter @bitcode/protocol typecheck | |
| - name: Test gate packages | |
| run: | | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V41" ] || [ "$POINTER" = "V42" ] || [ "$POINTER" = "V43" ] || [ "$POINTER" = "V44" ] || [ "$POINTER" = "V45" ]; then | |
| if [ "$POINTER" = "V41" ]; then | |
| node scripts/check-v42-gate9-promotion-readiness.mjs --skip-branch-check | |
| elif [ "$POINTER" = "V42" ]; then | |
| node scripts/check-v42-gate9-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V43" ]; then | |
| node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| elif [ "$POINTER" = "V44" ]; then | |
| node scripts/check-v44-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check | |
| else | |
| 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 ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 BITCODE_SPEC_V46.md ] && [ -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 | |
| if [ "$POINTER" = "V43" ] && [ -f scripts/check-v44-gate1-scaled-economy-roadmap-opening.mjs ]; then | |
| node scripts/check-v44-gate1-scaled-economy-roadmap-opening.mjs --skip-branch-check | |
| fi | |
| if [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 [ "$POINTER" = "V43" ] && [ -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 | |
| if [ "$POINTER" = "V44" ] && [ -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 [ "$POINTER" = "V44" ] && [ -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 [ "$POINTER" = "V44" ] && [ -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 | |
| if [ "$POINTER" = "V42" ]; then | |
| if [ -f scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs ]; then | |
| node scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs --skip-branch-check | |
| fi | |
| 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 | |
| pnpm --filter @bitcode/protocol test | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --passWithNoTests --forceExit | |
| pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --passWithNoTests --forceExit | |
| exit 0 | |
| fi | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/btc-fee-operation.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/btd.test.ts --runInBand --forceExit | |
| if [ -f packages/btd/__tests__/asset-pack-economic-traceability.test.ts ]; then | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/asset-pack-economic-traceability.test.ts --runInBand --forceExit | |
| fi | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/v32-ledger-btd-settlement-failure-states.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/source-to-shares.test.ts __tests__/reconciliation.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/v32-interface-contract-regression.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/interface-contract-catalog.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/mcp-tool-contract.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/chatgpt-app-action-contract.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/interface-authorization-policy.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/read-license-assetpack-rights-contract.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/api-schema-compatibility-matrix.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/interface-telemetry-proof-hook.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/interface-consumer-ux-regression-proof.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-host-capability-catalog.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-storage-posture.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/secret-rotation-plan.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/migration-approval-gate.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/runtime-observer-repair-job.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/rollback-upgrade-repair-playbook.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-readiness-rehearsal.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/deployment-promotion-readiness-report.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runTestsByPath __tests__/v32-testnet-mainnet-readiness-rehearsal.test.ts --runInBand --forceExit | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v32-promotion-proof-generation.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-documentation-surface-catalog.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-telemetry-taxonomy-catalog.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-public-docs-usage-guide-catalog.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-operator-runbook-catalog.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-docs-qa-alignment-report.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-testnet-rollout-readiness-guide.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-telemetry-documentation-interface-integration.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-local-staging-telemetry-documentation-rehearsal.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v35-promotion-readiness.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-activity-book.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-intent-order-contracts.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-rights-transfer-review.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-pricing-quote.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-settlement-reconciliation.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-dispute-repair-revenue-route.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-ux-proof.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-exchange-rehearsal.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v36-promotion-readiness.test.js | |
| pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/btd-crypto.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/routes/__tests__/auxillaries-contract.test.ts --runInBand --forceExit | |
| pnpm --dir packages/executions-mcp/src/mcp-server run test:mcp -- --runTestsByPath src/__tests__/unit/auth.test.ts --runInBand --forceExit | |
| pnpm --dir packages/executions-mcp/src/mcp-server run test:mcp -- --runTestsByPath src/__tests__/unit/mcp-tool-contract.test.ts src/__tests__/unit/pipeline-ingress-contract.test.ts --runInBand --forceExit | |
| pnpm --dir packages/chatgptapp exec jest --runTestsByPath src/__tests__/chatgpt-action-contract.test.ts src/__tests__/tools.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --runTestsByPath src/__tests__/asset-pack-harness.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --runTestsByPath src/__tests__/distributed-execution-runtime-receipt.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-pipeline-integration-coverage.test.ts src/__tests__/reading-pipeline-observability.test.ts src/__tests__/reading-pipeline-contract.test.ts src/__tests__/v32-reading-pipeline-proof-coverage.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/asset-pack-disclosure.test.ts src/__tests__/postprocess.test.ts src/__tests__/read-need.test.ts src/__tests__/read-need-review-resynthesis.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/asset-pack-preview-boundary.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/asset-pack-settlement-rights-delivery.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-operational-telemetry-repair-readback.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --runTestsByPath src/__tests__/reading-interface-product-parity.test.ts --runInBand --forceExit | |
| pnpm --filter @bitcode/api exec jest --config jest.config.cjs --runTestsByPath src/conversations/__tests__/stream-events.test.ts src/conversations/__tests__/privacy.test.ts src/conversations/__tests__/telemetry.test.ts --runInBand --forceExit | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/conversation-telemetry-proof-hooks.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/conversation-rehearsal.test.js | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v37-promotion-readiness.test.js | |
| if [ -f packages/protocol/test/v38-inference-surface-inventory.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-inference-surface-inventory.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-ptrr-failsafe-thricified-stack.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-ptrr-failsafe-thricified-stack.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-prompt-benchmark-report.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-prompt-benchmark-report.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-inference-telemetry-disclosure-report.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-inference-telemetry-disclosure-report.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-read-need-comprehension-inference-hardening.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-read-need-comprehension-inference-hardening.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-read-fits-finding-search-embeddings.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-read-fits-finding-search-embeddings.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-assetpack-synthesis-economic-traceability.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-assetpack-synthesis-economic-traceability.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-conversation-tool-prompt-inference-parity.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-conversation-tool-prompt-inference-parity.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-local-staging-inference-depository-search-rehearsal.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-local-staging-inference-depository-search-rehearsal.test.js | |
| fi | |
| if [ -f packages/protocol/test/v38-promotion-readiness.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v38-promotion-readiness.test.js | |
| fi | |
| if [ -f packages/protocol/test/v39-interface-conversation-product-parity.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v39-interface-conversation-product-parity.test.js | |
| fi | |
| if [ -f packages/protocol/test/v39-local-staging-reading-rehearsal.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v39-local-staging-reading-rehearsal.test.js | |
| fi | |
| if [ -f packages/protocol/test/v39-promotion-readiness.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v39-promotion-readiness.test.js | |
| fi | |
| if [ -f packages/protocol/test/v40-conversation-terminal-integration.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v40-conversation-terminal-integration.test.js | |
| fi | |
| if [ -f packages/protocol/test/v40-ledger-storage-sync.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v40-ledger-storage-sync.test.js | |
| fi | |
| if [ -f packages/protocol/test/v40-local-staging-rehearsal-automation.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v40-local-staging-rehearsal-automation.test.js | |
| fi | |
| if [ -f packages/protocol/test/v40-prompt-benchmark-smoke-v41-readiness.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v40-prompt-benchmark-smoke-v41-readiness.test.js | |
| fi | |
| if [ -f packages/protocol/test/v40-promotion-readiness.test.js ]; then | |
| pnpm --dir packages/protocol exec node --test --test-force-exit test/v40-promotion-readiness.test.js | |
| fi | |
| pnpm --filter @bitcode/protocol test | |
| - name: Test staged Reading route and Terminal harness contracts | |
| run: | | |
| pnpm --dir uapi exec jest --runTestsByPath \ | |
| tests/userDataRoute.test.ts \ | |
| tests/auxillariesWalletPane.test.tsx \ | |
| tests/auxillariesContent.access.test.tsx \ | |
| tests/auxillariesWorkspacePanels.access.test.tsx \ | |
| tests/auxillariesWorkspacePanels.test.tsx \ | |
| tests/api/auxillariesGithubConnectionRoute.test.ts \ | |
| tests/api/vcsRoutes.test.ts \ | |
| tests/api/conversationSessionRouteHistory.test.ts \ | |
| tests/api/conversationSessionRouteHistoryContract.test.ts \ | |
| tests/api/conversationStreamEventContract.test.ts \ | |
| tests/conversationStreamPipelineLog.test.tsx \ | |
| tests/conversationTerminalIntegrationCoverage.test.tsx \ | |
| tests/conversationTerminalHandoff.test.tsx \ | |
| tests/api/conversationPersistencePrivacyRedaction.test.ts \ | |
| tests/conversationPersistencePrivacyPanel.test.tsx \ | |
| tests/api/conversationTelemetryProofHooks.test.ts \ | |
| tests/conversationTelemetryProofPanel.test.tsx \ | |
| tests/api/conversationRehearsal.test.ts \ | |
| tests/api/conversationReadingInterfaceParity.test.ts \ | |
| tests/conversationRehearsalPanel.test.tsx \ | |
| tests/conversationSourceSelector.test.tsx \ | |
| tests/conversationWritingWorkspace.test.tsx \ | |
| tests/auxillariesExternalsPane.test.tsx \ | |
| tests/profileStep.test.tsx \ | |
| tests/api/readReviewRoute.test.ts \ | |
| tests/api/readReviewProtocolParity.test.ts \ | |
| tests/api/pipelineHarnessRoute.test.ts \ | |
| tests/terminalPipelineHarnessClient.test.ts \ | |
| tests/terminalEnterpriseReadingUxState.test.ts \ | |
| tests/terminalDepositReadWorkbench.test.ts \ | |
| tests/terminalTransactionQuery.test.ts \ | |
| tests/terminalTransactionReadModel.test.ts \ | |
| tests/exchangePageClient.test.tsx \ | |
| tests/exchangeTerminalHandoff.test.ts \ | |
| tests/terminalProtocolProjection.test.ts \ | |
| tests/terminalInterfaceIntegrationRegression.test.ts \ | |
| tests/terminalWalletBtcOperation.test.ts \ | |
| tests/terminalJournalReconciliation.test.ts \ | |
| tests/bitcodeLedgerStorageSync.test.ts \ | |
| tests/terminalOrganizationAuthority.test.ts \ | |
| tests/protocolCommercialBoundary.test.ts \ | |
| tests/terminalTransactionDetailCards.test.tsx \ | |
| tests/terminalTransactionDetailSnapshot.test.ts \ | |
| tests/terminalUxBrowserProof.test.tsx \ | |
| tests/bitcodeBrowserProof.test.ts \ | |
| tests/bitcodeBrowserAccessibilityResponsiveProof.test.ts \ | |
| tests/readingOperationalTelemetryPipelineLog.test.tsx \ | |
| tests/pipelineExecutionLogHeader.test.tsx \ | |
| --runInBand | |
| - name: Install Terminal browser proof browser | |
| if: vars.BITCODE_ENABLE_GATE_BROWSER_PROOF == '1' | |
| run: pnpm --dir uapi exec playwright install chromium --with-deps | |
| - name: Browser proof Terminal cockpit | |
| if: vars.BITCODE_ENABLE_GATE_BROWSER_PROOF == '1' | |
| run: pnpm --dir uapi run test:e2e:terminal-ux | |
| - name: Browser proof Terminal and Auxillaries responsive accessibility | |
| if: vars.BITCODE_ENABLE_GATE_BROWSER_PROOF == '1' | |
| run: pnpm --dir uapi run test:e2e:v32-browser-proof | |
| - name: Browser proof product surfaces | |
| if: vars.BITCODE_ENABLE_GATE_BROWSER_PROOF == '1' | |
| run: pnpm --dir uapi run test:e2e:browser-proof | |
| - name: Test pipeline readback verifier | |
| run: pnpm test:qa:v28:pipeline-readback | |
| - name: Test protocol demonstration | |
| run: npm --prefix protocol-demonstration run test:v28-mvp-qa | |
| - name: Check diff hygiene | |
| run: git diff --check |