apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/deadpool.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: c61320de78b6e7862621945c0a564f1e creationTimestamp: "2026-05-15T03:31:56Z" generation: 8 labels: branch: main build: "27" context: release created-by-lighthouse: "true" event-GUID: 9dbd7cfe-500e-11f1-87b9-3810645d0544 lighthouse.jenkins-x.io/baseSHA: 8f76081d2f844b2e8e5da3abdde07b92edb45808 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1778815916733" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: pitaltrade-deadpool-main-release-g7wqq lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 8f76081d2f844b2e8e5da3abdde07b92edb45808 lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: deadpool lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: pitaltrade-deadpool-main-release-dxmtg-from-build-pack-pod provider: github repository: deadpool tekton.dev/pipeline: pitaltrade-deadpool-main-release-dxmtg managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.18 operation: Update time: "2026-05-15T03:40:11Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:completedTimestamp: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:status: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-05-15T03:40:53Z" name: greencapitaltrade-deadpool-main-27 namespace: jx resourceVersion: "20674691" uid: 6859453e-86a0-4819-a183-2fef34a969c9 spec: baseSHA: 8f76081d2f844b2e8e5da3abdde07b92edb45808 batchPipelineActivity: {} build: "27" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/deadpool/main/27.log completedTimestamp: "2026-05-15T03:40:46Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: deadpool gitUrl: https://github.com/greencapitaltrade/deadpool.git lastCommitMessage: | feat: VoltCred BLE Option-B server-command signer + dispatch dual-path Builds the 92+N byte capability-token command frame that the firmware-side verifier (wasp/a7677s-firmware/auth/command_auth.c) accepts, allocates strictly-increasing per-device nonces via an atomic Redis Lua script, and wires the Terra dispatch path to switch between legacy 11+N and Option-B 92+N frames per device based on Bifrost flags. * iot-common/server_cmd_signer.rs: pure frame builder + nonce algorithm + env-var-loaded signing key. 19 unit tests cover frame layout, signature verify/tamper, params bounds, nonce monotonicity, Lua-script integrity. * iot-common/bifrost.rs: 3 new JSON-RPC client methods (get_server_token_id, get_server_token_install_state, uses_option_b_auth) wired to the same Bifrost endpoints introduced in greencapitaltrade/bifrost#136. * iot-consumer/protocols/mod.rs: DispatchOutcome::{Queued,WaitingForToken} trait return; Terra adapter holds commands when a device is flagged for Option B but hasn't yet confirmed server-token install, otherwise signs+queues the 92+N frame. Bifrost endpoint errors fall back to legacy so this PR is safe to land before #136 ships. * iot-consumer/processor.rs: marks held commands with status "waiting_for_token"; Bifrost re-queues automatically when the install bit flips. * Cargo.toml: enable redis `script` feature for atomic nonce allocation. Closes #31 (Deadpool side; Bifrost #136 is the runtime gate). Co-Authored-By: Claude Opus 4.7 lastCommitSHA: 02f6a2aa1e0707ea87f33dddedcef16222405058 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/deadpool/main releaseNotesURL: https://github.com/greencapitaltrade/deadpool/releases/tag/v0.46.1 startedTimestamp: "2026-05-15T03:31:56Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-05-15T03:40:46Z" name: from build pack startedTimestamp: "2026-05-15T03:32:28Z" status: Succeeded steps: - completedTimestamp: "2026-05-15T03:32:29Z" name: Git Clone startedTimestamp: "2026-05-15T03:32:28Z" status: Succeeded - completedTimestamp: "2026-05-15T03:32:33Z" name: Next Version startedTimestamp: "2026-05-15T03:32:32Z" status: Succeeded - completedTimestamp: "2026-05-15T03:33:30Z" name: Jx Variables startedTimestamp: "2026-05-15T03:33:17Z" status: Succeeded - completedTimestamp: "2026-05-15T03:39:48Z" name: Build Cargo Install startedTimestamp: "2026-05-15T03:33:39Z" status: Succeeded - completedTimestamp: "2026-05-15T03:39:51Z" name: Check Registry startedTimestamp: "2026-05-15T03:39:49Z" status: Succeeded - completedTimestamp: "2026-05-15T03:39:53Z" name: Build Server Image startedTimestamp: "2026-05-15T03:39:52Z" status: Succeeded - completedTimestamp: "2026-05-15T03:39:54Z" name: Build Consumer Image startedTimestamp: "2026-05-15T03:39:53Z" status: Succeeded - completedTimestamp: "2026-05-15T03:39:57Z" name: Build Mqtt Image startedTimestamp: "2026-05-15T03:39:55Z" status: Succeeded - completedTimestamp: "2026-05-15T03:40:11Z" name: Promote Changelog startedTimestamp: "2026-05-15T03:39:57Z" status: Succeeded - completedTimestamp: "2026-05-15T03:40:16Z" name: Promote Helm Release startedTimestamp: "2026-05-15T03:40:11Z" status: Succeeded - completedTimestamp: "2026-05-15T03:40:46Z" name: Promote Jx Promote startedTimestamp: "2026-05-15T03:40:14Z" status: Succeeded - kind: Promote promote: environment: staging pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/3869 startedTimestamp: "2026-05-15T03:40:30Z" status: Succeeded startedTimestamp: "2026-05-15T03:40:30Z" status: Succeeded - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/3870 startedTimestamp: "2026-05-15T03:40:43Z" status: Succeeded startedTimestamp: "2026-05-15T03:40:43Z" status: Succeeded version: 0.46.1 status: {}