feat: design system + adaptive app shell, vault-sealing ingest CLI, localhost companion & guided onboarding (ADRs 050–057)#4
Closed
stuinfla wants to merge 5 commits into
Conversation
- ADR-050 design system, 051 adaptive shell, 052 proof-trace UX, 053 witness-chained provenance, 054 realtime WebGL twin (supersedes 015 render), 055 external literature verifier (extends 006/008), 056 Cognitum Seed KB, 057 privacy-tiered model routing (Connected vs Sealed, local-only egress gate) - README index now covers 045-049 + 050-057; documents the 037-044 gap - 4 UI direction mockups + chosen hybrid + design README
Parses FHIR/Apple via tested importers -> seals ProvRecords into the encrypted PersistentVaultStore -> proves ciphertext-at-rest -> emits a gitignored dossier.json for the UI. Passphrase via env/prompt only. 5/5 tests pass under --features persist; clippy -D warnings clean.
- hybrid.html/js/css driven by compose_score_json/bioage_json/timeline_json/ focus_json/analyze_json over a dossier (synthetic default; ./private or ?dossier= for real) - new per-concept loop: enumerate codes -> resolve range (own -> NHANES fallback -> abstain) -> analyze_json, rendering grounded proof-trail cards over an arbitrary panel - Sealed/private banner + on-device marker; gitignore ui/private/
… CSRF hardening - helix-ingest serve: loopback-only companion (static UI + vault/import/connector API) - adaptive ingest auto-detects FHIR / CLAW-envelope / Apple; unknown fails loudly (422) - CLAW-envelope adapter reaches into nested fhirData, unique wrapper-derived ids - id-collision fix in helix-connect (unique fallback id: code+measured_at) - CSRF / DNS-rebinding guard: Host must be loopback + Origin must be local, pre-routing - Apple Health local-push connector (POST /health/ingest, HAE subset) - tests green under --features persist; clippy -D warnings clean
…re-over-time - 3-stage onboarding wizard (Alex demo -> make-it-mine -> load-now / keep-fresh) - per-concept results grouped into filterable clinical panels; in-range collapses to a dense table - score-over-time trajectory chart (composite 0-100; per-domain history honestly omitted) - private/on-device banner shown when a real dossier is present
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
This PR builds on the already-merged vault + demo-persona foundation (PRs #1–#3) and delivers the design system, guided onboarding, localhost companion, and adaptive ingest layer. It is five focused commits on top of current
main.1. Architecture — ADRs 050–057 + reconciliation (
docs/adr,docs/design)Eight new Architecture Decision Records, plus reconciliation notes threaded into ADR-015 and ADR-021 and a refreshed index (045–057 all listed):
Plus four UI direction mockups (
docs/design/mockups): A — Clinical Aurora, B — Bio-Instrument, C — Living Twin, and the chosen Final Hybrid that the shipping UI is built from.2. Vault-sealing ingest CLI (
crates/helix-ingest)A native CLI that parses input, then seals it into the encrypted disk-backed vault (Argon2 + ChaCha20-Poly1305 via
helix-vault). Round-trips parse → seal → reopen, emits a re-parseable dossier, and rejects wrong passphrases. Ciphertext-at-rest verified (payload keys absent from disk).3. Hybrid UI wired to live WASM (
ui/)The Final Hybrid mockup turned into a working surface: wired to the live WASM core with per-concept grounded answers.
4. Localhost companion server + adaptive multi-format ingest + CSRF hardening (
crates/helix-ingest/src/serve)5. Guided onboarding wizard + filterable clinical panels + score-over-time (
ui/)ui/onboarding.js).Safety & quality
cargo test -p helix-ingest --features persist→ 21 passed, 0 failed (unit +ingest+serveintegration suites).cargo build --workspacefinishes clean.cargo clippy -p helix-ingest --features persist --all-targets -- -D warnings→ 0 warnings.Notes for reviewers
All five commits cherry-picked cleanly onto current
main(the earlier vault/ADR/persona work is already merged via PRs #1–#3; this branch adds only the new work). The ADR index lists 045–057, and the rootCargo.tomlkeeps all existing members pluscrates/helix-ingest.🤖 Generated with Claude Code