Skip to content

Commit 0d74876

Browse files
NathanFlurryclaude
andcommitted
chore: update progress for US-056
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent afdce2a commit 0d74876

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

progress.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2721,3 +2721,16 @@ PRD: ralph/kernel-hardening (46 stories)
27212721
- Drop cleanup for Option<OwnedIsolate> needs .take() instead of direct drop
27222722
- Pre-existing SIGSEGV on V8 teardown when multiple V8 test suites (snapshot, execution, bridge) run in same process — individual test suites all pass
27232723
---
2724+
2725+
## 2026-03-19 - US-056
2726+
- Added eager snapshot warm-up on module load
2727+
- composeBridgeCodeForWarmup() in execution-driver.ts produces default bridge code (timingMitigation='none', default budgets)
2728+
- V8RuntimeOptions.warmupBridgeCode allows callers to specify bridge code for pre-warming
2729+
- runtime.ts sends WarmSnapshot after authenticate() unless SECURE_EXEC_NO_SNAPSHOT_WARMUP=1
2730+
- getSharedV8Runtime() passes composeBridgeCodeForWarmup() to createV8Runtime()
2731+
- composeBridgeCodeForWarmup exported from @secure-exec/node package index
2732+
- Files changed: packages/secure-exec-v8/src/runtime.ts, packages/secure-exec-node/src/execution-driver.ts, packages/secure-exec-node/src/index.ts
2733+
- **Learnings for future iterations:**
2734+
- Bridge code composition depends on imports from both @secure-exec/core and @secure-exec/node — can't live in @secure-exec/v8 (wrong dependency direction)
2735+
- warmupBridgeCode is passed as option to createV8Runtime() to avoid circular deps between @secure-exec/v8 and @secure-exec/node
2736+
---

scripts/ralph/prd.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -949,8 +949,8 @@
949949
"Tests pass"
950950
],
951951
"priority": 56,
952-
"passes": false,
953-
"notes": "Spec: docs-internal/specs/v8-startup-snapshot.md. composeBridgeCodeForWarmup uses timingMitigation='none' and default maxTimers/maxHandles/cwd/payloadLimit. Fire-and-forget — host does not wait for response."
952+
"passes": true,
953+
"notes": "Spec: docs-internal/specs/v8-startup-snapshot.md. composeBridgeCodeForWarmup uses timingMitigation='none' and default maxTimers/maxHandles/cwd/payloadLimit. Fire-and-forget — host does not wait for response. warmupBridgeCode passed via V8RuntimeOptions; runtime.ts sends WarmSnapshot after authenticate() unless SECURE_EXEC_NO_SNAPSHOT_WARMUP=1."
954954
},
955955
{
956956
"id": "US-057",

0 commit comments

Comments
 (0)