Skip to content

fix: bump default QoS version to 0.12.0#408

Merged
prasanna-anchorage merged 3 commits into
mainfrom
copilot/update-default-qos-value
Jul 8, 2026
Merged

fix: bump default QoS version to 0.12.0#408
prasanna-anchorage merged 3 commits into
mainfrom
copilot/update-default-qos-value

Conversation

Copilot AI commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

TVC rejected new deployments using the v2026.2.6 QoS version — it is no longer supported. This PR moves the default to qos 0.12.0 (Turnkey's current versioning scheme), pinned to the exact commit tagged qos_core-v0.12.0/qos_client-v0.12.0/etc. in tkhq/qos.

Originally this bumped to a guessed main-branch commit from the v2026.6.11 timeframe (see review discussion below) without a validated PCR match. That's now replaced with a tag-verified rev, confirmed against a live attestation.

Changes

  • .github/workflows/tvc-deploy.yml — update workflow_dispatch input default and the QOS_VERSION env fallback to 0.12.0
  • .github/workflows/stagex.yml — update hardcoded qos_version in the deployment-details generation step to 0.12.0
  • tools/tvc-deploy/src/main.rs — update usage string and unwrap_or default in deploy() to 0.12.0
  • src/Cargo.toml — update # qos-deployment-rev marker and surrounding comment to 4371d44e672a1322d15ef929cfd32169ebb0bd0f (the commit tagged qos_core-v0.12.0 etc. in tkhq/qos)
  • docs/wallet-integration/hosted/getting-started.mdx — update TVC version and qos commit link used for PCR allowlist derivation

Validation

Reproduced the enclave build at 4371d44e672a1322d15ef929cfd32169ebb0bd0f via scripts/extract-nitro-pcrs.sh --rev 4371d44e672a1322d15ef929cfd32169ebb0bd0f --expected-kernel-hash <hash>. eif_build's BootMeasurement output shows PCR0 and PCR1 both matching the expected hash from a live attestation, confirming this is the correct deployment rev for qos 0.12.0.

TVC no longer supports v2026.2.6 for new deployments. Update the
default QoS version to v2026.6.11 in all deployment scripts and tools,
and update the corresponding qos deployment rev and PCR references.

Closes #407
Copilot AI changed the title [WIP] Update default QoS value to v2026.6.11 fix: bump default QoS version to v2026.6.11 Jul 3, 2026
@mintlify

mintlify Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
visualsign-parser 🟢 Ready View Preview Jul 3, 2026, 3:57 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

## PCR allowlist values

The PCRs are determined by the qos enclave runtime version Turnkey has deployed (currently TVC `v2026.2.6`, qos commit [`d866f2c6cbc58cc08c24eab4828f0824ad16a226`](https://github.com/tkhq/qos/commit/d866f2c6cbc58cc08c24eab4828f0824ad16a226)). You can reproduce them locally from that qos rev — never trust an externally supplied PCR file without verifying it.
The PCRs are determined by the qos enclave runtime version Turnkey has deployed (currently TVC `v2026.6.11`, qos commit [`3e4d73c4d2b9bb270c457bf7eae2e76a7f420998`](https://github.com/tkhq/qos/commit/3e4d73c4d2b9bb270c457bf7eae2e76a7f420998)). You can reproduce them locally from that qos rev — never trust an externally supplied PCR file without verifying it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

were you able to follow the instructions on https://github.com/tkhq/qos/#reproducing-builds
to get the correct hash for PCR0 and PCR1 for this release? it should be 68acd956f0b441884248d404cc86122f8235cde197c49a3d9dcf8254167516b59fb98e1c61ea32561a6d495513cb2a01

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes — since your comment, the target moved from v2026.6.11 to qos 0.12.0, pinned to 4371d44e672a1322d15ef929cfd32169ebb0bd0f (the commit tagged qos_core-v0.12.0 etc. in tkhq/qos, not a timeframe guess). Followed the tkhq/qos reproducing-builds instructions via scripts/extract-nitro-pcrs.sh --rev 4371d44e672a1322d15ef929cfd32169ebb0bd0f --expected-kernel-hash <hash> — eif_build's BootMeasurement output shows PCR0 and PCR1 both matching the expected hash from a live attestation, so this rev is confirmed correct for 0.12.0. Note this is a different rev than the v2026.6.11 one your 68acd956... hash was for, since the target version itself changed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manually validated as well: rebuilt at 4371d44e672a1322d15ef929cfd32169ebb0bd0f and confirmed PCR0/PCR1 against the expected hash — matches. Also worth noting: PR #411 picked up a fix for the dead skopeo digest and a fetch-by-SHA issue in extract-nitro-pcrs.sh (quay.io had GC'd the pinned skopeo manifest), which is what was blocking a clean end-to-end run of the script itself; the PCR measurement from eif_build was unaffected by that and matched independently before and after.

Validated against a live attestation: rev 4371d44e672a1322d15ef929cfd32169ebb0bd0f
(the commit tagged qos_core-v0.12.0 etc. in tkhq/qos) reproduces the expected
PCR0/PCR1 via scripts/extract-nitro-pcrs.sh --expected-kernel-hash.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repository’s default TVC/QoS deployment version references across CI workflows, the tools/tvc-deploy helper, and the PCR allowlist documentation/marker. However, the implemented version bump in code/docs is to 0.12.0, which does not match the PR title/description’s stated target of v2026.6.11 (and the referenced qos commit SHA), so the “source of truth” for the intended deployment version needs to be reconciled.

Changes:

  • Bump default qos_version/QOS_VERSION used by TVC deploy workflows and the deploy helper from v2026.2.6 to 0.12.0.
  • Update the # qos-deployment-rev = ... marker in src/Cargo.toml and the matching docs snippet to a new qos commit.
  • Update hosted wallet integration docs to reference the new TVC/QoS version and commit for PCR allowlist derivation.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/tvc-deploy.yml Updates workflow_dispatch default and QOS_VERSION fallback to the new default QoS/TVC version string.
.github/workflows/stagex.yml Updates the hardcoded qos_version included in generated deployment details.
tools/tvc-deploy/src/main.rs Updates CLI usage text and deploy()’s default --qos-version fallback.
src/Cargo.toml Updates the qos-deployment-rev marker comment/commit reference used for PCR reproduction.
docs/wallet-integration/hosted/getting-started.mdx Updates the documented TVC/QoS version + commit and the marker snippet for PCR allowlist guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 36 to +39
qos_version:
description: "QOS version"
required: false
default: "v2026.2.6"
default: "0.12.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the PR title/description to match — this now targets qos 0.12.0 (pinned to 4371d44e672a1322d15ef929cfd32169ebb0bd0f, the commit tagged qos_core-v0.12.0 etc. in tkhq/qos) rather than v2026.6.11. Reproduced the build at that rev via scripts/extract-nitro-pcrs.sh --rev 4371d44e672a1322d15ef929cfd32169ebb0bd0f --expected-kernel-hash <hash> and confirmed PCR0/PCR1 match a live attestation, so this is a validated rev rather than the original timeframe guess.

Comment thread src/Cargo.toml
Comment on lines +50 to +53
# match. The deployment rev currently tracks TVC 0.12.0:
# https://github.com/tkhq/qos/commit/4371d44e672a1322d15ef929cfd32169ebb0bd0f
# scripts/extract-nitro-pcrs.sh reads the marker line below to reproduce them.
# qos-deployment-rev = d866f2c6cbc58cc08c24eab4828f0824ad16a226
# qos-deployment-rev = 4371d44e672a1322d15ef929cfd32169ebb0bd0f

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same reconciliation as the tvc-deploy.yml thread: the target is now qos 0.12.0 at 4371d44e672a1322d15ef929cfd32169ebb0bd0f (tagged qos_core-v0.12.0 etc.), not v2026.6.11/3e4d73c4d2b9bb270c457bf7eae2e76a7f420998. PR title/description updated to match. This rev's PCR0/PCR1 are validated against a live attestation — see the reply on the tvc-deploy.yml thread for the exact command.

@shahan-khatchadourian-anchorage shahan-khatchadourian-anchorage changed the title fix: bump default QoS version to v2026.6.11 fix: bump default QoS version to 0.12.0 Jul 7, 2026
@shahan-khatchadourian-anchorage

Copy link
Copy Markdown
Contributor

Ready for re-review @prasanna-anchorage. Thanks

@shahan-khatchadourian-anchorage

Copy link
Copy Markdown
Contributor

TVC version 0.12.0 has been verified with a successful deployment.

@prasanna-anchorage prasanna-anchorage merged commit b1ba3c2 into main Jul 8, 2026
11 checks passed
@prasanna-anchorage prasanna-anchorage deleted the copilot/update-default-qos-value branch July 8, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(bug)TVC deployment QoS version not supported

4 participants