feat(transport): derive native sidecar window secrets by nicksavov · Pull Request #206 · draftyak/draftyak · GitHub
Skip to content

feat(transport): derive native sidecar window secrets - #206

Merged
nicksavov merged 1 commit into
m1bfrom
m1b-278-sidecar-current
Oct 22, 2026
Merged

nicksavov merged 1 commit into
m1bfrom
m1b-278-sidecar-current

Conversation

@nicksavov

@nicksavov nicksavov commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Implements M1b.5: derive sidecar pid and sec from exactly 16 bootstrap bytes using fixed HKDF-SHA-256 labels, empty salt and 16-byte outputs. Results have canonical base64url, redacted diagnostics and best-effort owned-buffer erasure. Bootstrap provenance stays with the native caller; derivation grants no authority.

Adds only approved exact hkdf =0.13.0 with defaults disabled. All 152 existing lock tuples and WebSocket exports/pins remain; no store backend, policy allowance or new RustCrypto generation is added.

Commands run and results, from the checkout root:

  • cargo test --locked --offline --manifest-path crates/Cargo.toml -p draftyak-transport: 67 passed. The same command with --test sidecar: 7 passed, including both committed anchors and 23 independent Node inputs.
  • cargo fmt --all --manifest-path crates/Cargo.toml --check: passed.
  • cargo clippy --locked --offline --manifest-path crates/Cargo.toml --workspace --all-targets -- -D warnings: passed with default features.
  • cargo-deny --locked --offline --manifest-path crates/Cargo.toml --config crates/deny.toml --workspace --format json --color never check --show-stats --deny warnings: passed under default and --all-features metadata selection. The paired checks adding --audit-compatible-output advisories also passed: four checks, zero errors/warnings, RustSec 4b587f00996ebe5c05a73eaef105ef241e876414 confirmed before and after audit. No all-feature compilation.
  • pnpm install --frozen-lockfile --offline --ignore-scripts, pnpm guard --commits origin/m1b..HEAD and git diff --check origin/m1b..HEAD: passed.

Ten semantic guard mutations apply to the unchanged implementation; two current manifest-pin mutations failed at the intended assertions. Restored checks passed. Graph metadata contains 153 packages; HKDF/HMAC requested features are empty, with no optional KDF.

Current CI: full and Windows jobs succeeded, while cheap failed in the unchanged SDK stdio-discovery test. That failure still blocks required/review; its cause and owning disposition are pending. No skipped or failed job is claimed as a pass. DCO remains due at milestone sign-off.

Not run: native stores, a real supervisor or hands-on platform checks. Those belong to later owning items. Erasure excludes borrowed storage, library internals and compiler copies.

Decisions/handoffs: exact HKDF admission only; no additional owner decision for this scope. M1.21 sidecar specification/vectors and M1b.1 are merged; M4 supplies genuine bootstrap provenance later. Claims, confirmation and capabilities are outside this API. Carried minors: none applicable.

Self-check

Only the eight M1b.5 paths change on the merged backlog. Fixed length/algorithm/labels, canonical outputs, typed errors, redaction and live-buffer erasure have positive/refusal controls. Dependency admission adds no advisory or graph exception. Current-head required CI, independent review and actual merge remain pending.

@nicksavov

Copy link
Copy Markdown
Contributor Author

@nicksavov
nicksavov force-pushed the m1b-278-sidecar-current branch from 1194d79 to 2c873a3 Compare October 22, 2026 06:36
@nicksavov

Copy link
Copy Markdown
Contributor Author

Rebased onto m1b at 7d0ec7b; no other change.

@nicksavov

Copy link
Copy Markdown
Contributor Author

@nicksavov
nicksavov merged commit d903b56 into m1b Oct 22, 2026
7 of 8 checks passed
@nicksavov
nicksavov deleted the m1b-278-sidecar-current branch October 22, 2026 06:49
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