Skip to content

feat: integrate Krylov inference and interactive CKKS Pages lab - #2

Merged
aliaslany merged 2 commits into
mainfrom
feat/krylov-pages-demo
Oct 10, 2026
Merged

aliaslany merged 2 commits into
mainfrom
feat/krylov-pages-demo

Conversation

@aliaslany

@aliaslany aliaslany commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

What does this PR do?

Add a runnable Krylov inference application and interactive GitHub Pages lab to PrivnetAI. The client compiles graph-dependent Chebyshev feature blocks; a polynomial evaluator can then process encrypted columns without receiving the graph.

  • Implement the published PrivNet-Krylov method independently in NumPy and JavaScript, with pinned attribution to Ehsan Hakimian and Chiman Soltanian. The upstream repository has no license file, so its code, models and benchmark artifacts are not vendored.
  • Add a Python CLI with plaintext and optional TenSEAL CKKS execution, bounded fixture import/export, and a serialized evaluator context that excludes the client's secret key.
  • Add graph inspection, degree/feature controls, local JSON import, diagnostics/export and genuine node-seal WebAssembly CKKS execution. The browser defaults to explicit plaintext mode; custom uploads remain local and encrypted execution uses the bundled fixture.
  • Add a locked Vite build, production browser tests, focused application checks and GitHub's supported Pages artifact/deployment workflow.

This is a separate shallow spectral architecture alongside the existing GCN. The new synthetic graph/model uses all nodes during fitting, so accuracy is illustrative training accuracy. Both local demo roles share one process/browser; an independently assessed security level, post-quantum protocol, malicious-server integrity and encrypted training are not claimed.

Validation

  • 43 new Python tests passed, including independent polynomial oracles, input bounds, CLI/fixture behavior, real CKKS fidelity, secret-free server decryption failure and rejection of secret-bearing evaluator contexts.
  • Full Python suite: 50 passed, 1 failed. The unchanged legacy failure is TestEncryptionShim.test_linear_operations, already diagnosed in the research archive as unscaled weight rounding.
  • 10 JavaScript tests passed, including actual WASM CKKS at degrees 0, 2 and 4 and zero-weight encrypted circuits.
  • 5 production Playwright checks passed: /PrivnetAI/ asset path, graph controls, local/malformed upload, safe rendering and export, real CKKS/current-model synchronization, and mobile layout.
  • Frozen npm ci and production build passed. Default real-CKKS demo runs matched every plaintext prediction with maximum logit error approximately 7.2e-6; these are small demonstration measurements, not upstream benchmark reproductions.

Initial live demo: https://aliaslany.github.io/PrivnetAI/
The live site's plaintext controls, actual CKKS computation and JSON export were verified. It deployed successfully from the generated gh-pages branch. The Krylov Python and browser CI jobs also passed on GitHub.

Ongoing updates use the Pages workflow after this PR merges into main. Before using it, select GitHub Actions in Pages settings and permit main in the github-pages environment's deployment branch policies. GitHub returned HTTP 403 when this integration attempted those settings changes. This does not block using the already published demo; exact steps are recorded in docs/krylov.md.

Checklist:

  • My code follows the project style
  • I’ve tested this locally
  • I linked any related Issue — N/A; no related issue was provided
  • I’ve documented my changes if needed

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T13:23:49.705728Z 29f7d5c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@aliaslany
aliaslany merged commit 810583d into main Oct 10, 2026
2 of 4 checks passed
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