Skip to content

feat(deps): generated Trust Task specs at their latest versions - #512

Draft
stormer78 wants to merge 1 commit into
mainfrom
feat/trust-tasks-build-latest
Draft

stormer78 wants to merge 1 commit into
mainfrom
feat/trust-tasks-build-latest

Conversation

@stormer78

Copy link
Copy Markdown
Contributor

Summary

  • Generated specs. openvtc-core/build.rs runs trust-tasks-build 0.1.2 over openvtc-core/trust-tasks.toml / trust-tasks.lock and the vendored bundles in openvtc-core/trust-tasks/, producing openvtc_core::specs. trust-tasks-rs 0.35.3 is used as the runtime only (default-features = false); the deprecated prebuilt trust_tasks_rs::specs modules are no longer used. trust-tasks check passes on the 41 pins.
  • Latest version of every task, including joins (manifest/0.4, submit/0.3), vta/witness/list/0.2, vtc/rooms/offers/list/0.4, git-ns view/0.6 / drift/resolve/0.4 / repo/create/0.4 / right/{grant,revoke}/0.4, persona/profile/compose/1.1, persona/attribute/promote/1.1 and vtc/vetting/vetters/resend/0.2.
  • openvtc_core::vta_task::call sends a generated payload through VtaClient::dispatch_trust_task. It's used where vta-sdk's typed method is pinned to an older version (witness, persona).
  • Fallbacks removed: join manifest/0.3/0.2 + submit/0.2, and room key-package 0.1. The VTI stack (VTA/VTC) is moving to the latest versions. A pending join saved by an earlier build still loads (v0_3/v0_2 read as 0.4).
  • Deps: affinidi-tdk 0.33, affinidi-messaging-sdk 0.41, test mediator 0.46, didwebvh-rs 0.8.2.

⚠️ Draft: blocked on VTI release

This branch does not build from crates.io yet. vta-sdk 0.73 is still on trust-tasks 0.34, so the dependency graph splits. It needs:

  1. vta-sdk / vta-service / vti-vetting-pcs released on trust-tasks 0.35. If VTI lands on different tdk / messaging-sdk lines, the pins here follow.
  2. The VTA/VTC serving the versions above. The MockVta must serve vta/witness/list/0.2 for witness_e2e::a_lost_witnessing_is_rebuilt_from_the_vtas_list.
  3. Later: when vta-sdk's vetting model moves off the 0.2-shaped manifest, vetting::protocol::Manifest and its scoped #[allow(deprecated)] follow.

Test plan

Run against the VTI chore/trust-tasks-rs-0.35 worktree, patched in through --config only. The committed Cargo.lock resolves from crates.io.

  • cargo clippy --all-targets --all-features -D warnings (workspace + dev-overrides)
  • cargo doc with -D warnings, cargo fmt --check
  • cargo test --workspace -- --include-ignored: 2183 pass, 1 fails (a_lost_witnessing_is_rebuilt_from_the_vtas_list, MockVta lacks witness/list 0.2)
  • CI green once VTI releases

Pre-merge checklist (vti-stack-development-guide)

  • No new reqwest::Client::new() / bare fetch(); all clients have finite timeouts (R1.2). New vta_task::call sites pass explicit 30s timeouts
  • No lock held across a network await (R1.3)
  • No local state committed before its remote effect, or the flow is resumable with an idempotency key (R2.1)
  • Every retry is bounded + backed off; non-idempotent ops are not blind-retried (R1.4). Version-fallback retries removed; witness list paging follows next_cursor
  • Accept/poll/listen loops survive transient errors (R1.5)
  • Acks/deletes happen only after durable handoff (R1.6)
  • New/changed wire types: camelCase, deny_unknown_fields where security-relevant, schema registered, all consumers (incl. JS) updated (R3.*). Types generated from the published specs
  • Config absence = most restrictive; fail-closed if enforcement can't start (R5.*)
  • Logs/status claim only what was verified; background-job failures are surfaced (R6.*). An unsupported-version refusal is reported as such (R6.4)
  • "Process dies on the next line" answered for every mutation touched (R2.1)
  • Deviations from this guide flagged explicitly with rule numbers. None

openvtc-core generates its spec types with trust-tasks-build from pinned,
vendored bundles (trust-tasks.toml/.lock) instead of trust-tasks-rs's
deprecated prebuilt modules; trust-tasks-rs 0.35 is the runtime only.

Every task is sent at its latest version. Tasks whose version differs from
vta-sdk's typed client go through openvtc_core::vta_task::call. The join
manifest 0.3/0.2 + submit 0.2 fallback and the key-package 0.1 fallback
are removed: the VTI stack moves to the current versions.

Builds once VTI releases vta-sdk/vta-service/vti-vetting-pcs on
trust-tasks 0.35.

Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
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.

1 participant