Shadow v1.5.15 — the "one engine, three verticals" release
Bundles the 2026-07-06 evening → 2026-07-07 morning autonomous shipping burst. Delivers the strategic claim from docs/strategy/roadmap-2026-2028.md: banking + trading share one attestation key, one signing payload, one MCP tool namespace, one SBOM manifest.
v1.5.15 (2026-07-07) — Trader-pack MCP tool + Ed25519 on trading verdicts
shadow_size_position= 8th MCP tool. Bank analysts inside Cursor / Claude Desktop / OpenCode can size trades from natural language: "Size a $10k long on this thesis, medium vol, 55% p_win, 4%/2% avg win/loss." Returns a signed, Kelly-cap-respecting, drawdown-adjusted position in <5ms. Never emits a direction (FinPos Contract #1 — Judge owns direction).POST /api/deliberatewith{"mode": "trading", "trade": {...}}— dispatch to trader-pack Risk Sizer before banking-mode validation. Same endpoint, two verticals.- Ed25519 attestation on trading verdicts — same signing key + payload format as banking (
modelId = "shadow/trader-pack-risk-sizer@v0.2"). Bank counsel who reads a banking attestation reads a trading attestation with zero context switch. - Cross-language contract — 7 pure-JS tests parallel to Orallexa
tests/test_risk_sizer_contract.py. Any drift breaks both sides.
v1.5.14 (2026-07-06) — Persona professionalization
Every loan-council voice rationale now speaks in the register of a real Fed / CFPB examiner. Compliance cites Reg B §1002.6 + CFPB Circular 2022-03. Risk cites SR 26-2 materiality + effective challenge. Fair Lending cites the FFIEC three-step. Customer Advocate cites CFPB Bulletin 2024-09. Macro Contrarian cites historical stress episodes (2008 CMBS, 2020 SVB, 2023 Signature).
v1.5.13 (2026-07-06) — POST /api/spatial-render for Flow ingestion
3D scene descriptor with 4 render modes (full / reduced / focus / tethered) that any WebXR client can consume. Powers the Ambient Council HUD demo path. Layout math server-side so bandwidth-constrained mobile / XREAL clients don't have to.
v1.5.12 (2026-07-06) — Batch attestation + GET /api/mcp-manifest SBOM
lib/attestation-batch.js— batch Ed25519 signing over a SHA-256 root hash of concatenated per-decision hashes. SIEM verifies O(1) instead of O(N). Closes the Holistic AI Guardian Agents throughput gap.GET /api/mcp-manifest— 8 MCP tools published as an SBOM with per-tool + envelope SHA-256 hashes. Bank counsel pinsmanifest_hash_sha256in procurement contracts. Closes the Comply.ai MCP-native discoverability gap.
Why one bundle?
Because to procurement, this is one story: cross-vertical + tamper-evident + discoverable. Splitting it into 4 tiny releases dilutes the pitch. The v1.5.12 → v1.5.15 chain proves shipping velocity on a compressed timeline.
Tests
706/707 → 727/728 (+21 across the burst, zero regressions on banking tests, 1 skipped is OCR live smoke on billing envelope). GitHub Actions CI green throughout.
Cross-vertical evidence chain
- Bank pitch shows
POST /api/deliberatewith loan council + risk council + attestation. - Trading desk pitch shows
POST /api/deliberatewithmode=trading+ Risk Sizer + attestation. - Same key, same payload, same MCP surface. If the bank believes the audit chain, the trading desk gets it for free.
Upstream refs
- FinPos: arXiv 2510.27251
- Orallexa v1.2.0
engine/risk_sizer.py(Python counterpart oflib/personas/trader-pack/risk-sizer.js) - CFPB Circular 2022-03; Reg B §1002.6; FFIEC three-step; SR 26-2
🤖 Generated with Claude Code