V43 Canonical Promotion: Product Routes And Agentic Depositing #1
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: V43 Canon Promotion | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| types: | |
| - opened | |
| - synchronize | |
| - reopened | |
| - ready_for_review | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: write | |
| pull-requests: read | |
| jobs: | |
| promote-v43: | |
| name: V43 Promotion Validation | |
| if: >- | |
| ${{ | |
| github.event_name == 'workflow_dispatch' || | |
| ( | |
| github.event.pull_request.base.ref == 'main' && | |
| github.event.pull_request.head.ref == 'version/v43' && | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| ) | |
| }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout version branch | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.ref || github.ref_name }} | |
| token: ${{ github.token }} | |
| fetch-depth: 0 | |
| - 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 V43 promotion readiness | |
| run: | | |
| POINTER="$(cat BITCODE_SPEC.txt)" | |
| if [ "$POINTER" = "V42" ]; then | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode draft --current-target V42 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V42 --draft-target V43 | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V42 | |
| node scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs --skip-branch-check | |
| node scripts/check-v43-gate2-route-vocabulary-inventory.mjs --skip-branch-check | |
| node scripts/check-v43-gate3-packs-activity-master-detail.mjs --skip-branch-check --skip-uapi-tests | |
| node scripts/check-v43-gate4-read-route-five-step-ux.mjs --skip-branch-check --skip-uapi-tests | |
| node scripts/check-v43-gate5-deposit-route-options.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| node scripts/check-v43-gate6-deposit-policy-compensation.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| node scripts/check-v43-gate7-deposit-option-admission.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| node scripts/check-v43-gate8-route-ux-product-excellence.mjs --skip-branch-check --skip-uapi-tests | |
| node scripts/check-v43-gate9-cross-route-rehearsal-telemetry-repair.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests | |
| node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests | |
| node scripts/promote-bitcode-canon.mjs --version V43 --commit HEAD --dry-run | |
| 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 | |
| else | |
| echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2 | |
| exit 1 | |
| fi | |
| pnpm --filter @bitcode/protocol typecheck | |
| pnpm --filter @bitcode/protocol test | |
| pnpm --filter @bitcode/btd typecheck | |
| pnpm --filter @bitcode/btd test | |
| npm --prefix protocol-demonstration test | |
| npm --prefix protocol-demonstration run test:v28-mvp-qa | |
| pnpm --filter @bitcode/pipeline-asset-pack typecheck | |
| pnpm --filter @bitcode/pipeline-hosts typecheck | |
| 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 | |
| git diff --check | |
| - name: Promote V43 canon files | |
| if: >- | |
| ${{ | |
| github.event_name == 'pull_request' && | |
| github.event.pull_request.head.ref == 'version/v43' | |
| }} | |
| env: | |
| HEAD_BRANCH: ${{ github.event.pull_request.head.ref }} | |
| run: | | |
| if [ "$(cat BITCODE_SPEC.txt)" = "V43" ]; then | |
| echo "BITCODE_SPEC.txt already points to V43." | |
| exit 0 | |
| fi | |
| PROOF_SOURCE_COMMIT="$(git rev-parse HEAD)" | |
| node scripts/prepare-bitcode-spec-family-promotion.mjs --version V43 --commit "$PROOF_SOURCE_COMMIT" | |
| node scripts/prepare-bitcode-runtime-canon-promotion.mjs --version V43 --next-draft V44 | |
| printf "V43\n" > BITCODE_SPEC.txt | |
| node scripts/generate-bitcode-proven.mjs --version V43 --commit "$PROOF_SOURCE_COMMIT" --worktree-state clean --output BITCODE_SPEC_V43_PROVEN.md --allow-dirty | |
| node scripts/generate-bitcode-proven.mjs --version V43 --commit "$PROOF_SOURCE_COMMIT" --worktree-state clean --output BITCODE_SPEC_V43_PROVEN.md --check --allow-dirty | |
| node scripts/check-bitcode-canonical-inputs.mjs --current-target V43 | |
| node scripts/check-bitcode-spec-family.mjs --version V43 --mode promoted --current-target V43 | |
| node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V43 --draft-target V44 | |
| git diff --check | |
| git config user.name "github-actions[bot]" | |
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |
| git add \ | |
| BITCODE_SPEC.txt \ | |
| BITCODE_SPEC_V43.md \ | |
| BITCODE_SPEC_V43_DELTA.md \ | |
| BITCODE_SPEC_V43_NOTES.md \ | |
| BITCODE_SPEC_V43_PARITY_MATRIX.md \ | |
| BITCODE_SPEC_V43_PROVEN.md \ | |
| protocol-demonstration/src/canon-posture.js \ | |
| protocol-demonstration/README.md \ | |
| packages/protocol/src/canon-posture.js \ | |
| packages/protocol/data/state.json \ | |
| packages/protocol/README.md \ | |
| .bitcode | |
| git commit -m "Promote Bitcode canon to V43" | |
| git push origin "HEAD:$HEAD_BRANCH" |