Skip to content

feat(xtest): DSPX-2971?? Adds variant specifiers to sdk selection#441

Draft
dmihalcik-virtru wants to merge 6 commits intomainfrom
DSPX-2791-run-matrix
Draft

feat(xtest): DSPX-2971?? Adds variant specifiers to sdk selection#441
dmihalcik-virtru wants to merge 6 commits intomainfrom
DSPX-2791-run-matrix

Conversation

@dmihalcik-virtru
Copy link
Copy Markdown
Member

  • feat(xtest): add X-Wing hybrid PQ/T KEM (ML-KEM-768 + X25519) test support
  • feat(xtest): add PQC variant build and test infrastructure
  • feat(otdf-local): auto-generate temp keys for platform variants
  • fix swapped config filenames
  • fix(otdf-local): route status output to stderr so eval $(otdf-local env) works cleanly
  • adds configure options to otdf-local
  • removed duplicate code
  • fixup add secp+mlkem

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 29, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2dbc77b2-aa7b-4b16-a5ec-fc1c8284c042

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DSPX-2791-run-matrix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces support for Hybrid Post-Quantum/Traditional (HPQT) KEMs, specifically X-Wing, across the local development environment and integration tests. Key enhancements include a new configure command in otdf-local for managing feature flags, automated Keycloak TLS certificate generation, and a mechanism to build and test Go SDK variants against specific platform modules using go.work. The test suite is expanded with a PQC test matrix script and roundtrip tests for X-Wing. Review feedback suggests updating unreleased Go version defaults in the SDK installer, catching more specific exceptions during key generation, and improving the portability of the test matrix script by removing hardcoded directory paths.

Comment on lines +288 to +289
go_version = "1.25.0"
toolchain = "go1.25.8"
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.

high

The default go_version "1.25.0" and toolchain "go1.25.8" refer to an unreleased version of Go. This could lead to build failures if the platform's go.work file doesn't exist and these defaults are used. Consider updating these to a currently stable and released Go version, or implement a more robust way to determine a safe default.

Suggested change
go_version = "1.25.0"
toolchain = "go1.25.8"
go_version = "1.22.0"
toolchain = "go1.22.5"

)
if generated:
print_success("Generated missing temporary keys")
except Exception as e:
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.

medium

Catching a broad Exception can hide unexpected issues and make debugging harder. It's generally better to catch more specific exceptions (e.g., subprocess.CalledProcessError, FileNotFoundError, etc.) that you anticipate might occur during key generation. If you must catch Exception, consider logging the full traceback for better diagnostics.

Comment thread xtest/run-pqc-matrix.sh
Comment on lines +21 to +23
"${PQC_GEMINI_DIR:-$HOME/Documents/GitHub/post-quantum-hybrid-gemini-2026-03-dm/platform}"
"${PQC_ENHANCED_DIR:-$HOME/Documents/GitHub/post-quantum-enhanced-2026-03-dm/platform}"
"${PQC_CODEX_DIR:-$HOME/Documents/GitHub/post-quantum-hybrid-codex-2026-03-dm/platform}"
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.

medium

The default paths for PLATFORM_DIRS are hardcoded to specific directories within $HOME/Documents/GitHub/. While environment variables allow overriding, these defaults make the script less portable for other developers or CI/CD environments that might not have the same directory structure. Consider using more generic relative paths or providing clearer instructions on how to configure these paths for different setups.

@github-actions
Copy link
Copy Markdown

dmihalcik-virtru and others added 5 commits May 1, 2026 08:07
When using OTDF_LOCAL_PLATFORM_DIR to point at a fresh platform
checkout (e.g. PQC variant branches), the required KAS and Keycloak
TLS keys may not exist yet. This adds automatic key generation during
`otdf-local up` so variant backends work out of the box.

KAS keys are per-variant (in platform_dir), while Keycloak CA/TLS
keys are shared in xtest/tmp/keys/ and passed via KEYS_DIR env var
to docker compose.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nv) works cleanly

All diagnostic/status console output now goes to stderr. Machine-readable
data (JSON output, shell export lines) goes to stdout. Adds print_json()
helper using a stdout Console for use in env and ls --json commands.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Support building and testing multiple post-quantum platform variants
side by side. This enables comparing different X-Wing implementations
(e.g., from separate branches) by building variant-specific otdfctl
binaries and switching the platform backend at runtime.

- otdf-sdk-mgr: add `install variant` command that generates per-variant
  go.work files and builds otdfctl against a platform variant's modules
- otdf-local: enable OTDF_LOCAL_PLATFORM_DIR env var to override the
  auto-discovered platform directory
- Go SDK Makefile: add `build-variant` target using GOWORK env var
- xtest: extend --sdks to accept sdk:version qualifiers (e.g., go:gemini)
  for filtering specific SDK versions during test runs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

X-Test Failure Report

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented May 1, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

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