mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #136] [MERGED] refactor(snapshot): always use direct OverlayBD packaging #203
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#203
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/136
Author: @Hygge-Gezelligheid
Created: 8/7/2026
Status: ✅ Merged
Merged: 8/12/2026
Merged by: @yingdi-shan
Base:
main← Head:remove-direct-overlaybd-option📝 Commits (1)
82749b4refactor(snapshot): always use direct OverlayBD packaging📊 Changes
12 files changed (+46 additions, -276 deletions)
View changed files
📝
CLAUDE.md(+1 -1)📝
config/default.toml(+2 -7)📝
docs/src/configuration/reference.md(+1 -2)📝
docs/src/internals/architecture.md(+1 -1)📝
docs/src/internals/persistence-artifact-inventory.md(+2 -3)📝
docs/src/internals/sandbox-testing.md(+4 -3)📝
src/cfg.rs(+3 -19)📝
src/sandbox/firecracker/instance.rs(+4 -19)📝
src/sandbox/firecracker/overlaybd_snapshot.rs(+0 -136)📝
src/sandbox/firecracker/sandbox.rs(+17 -40)📝
src/setup/deps.rs(+0 -1)📝
tests/integration/fc.rs(+11 -44)📄 Description
What
Remove the
memory_snapshot.direct_overlaybdoption and always package memory snapshots through the direct OverlayBD path.mem.binpath and its dedicated tests.Why
The direct OverlayBD path is already the default and is the path used by dirty-page tracking. Keeping an option for the legacy path adds configuration and branching without a current need. Making the direct path unconditional simplifies the snapshot flow and removes the unused implementation.
Related issue
Follow-up to #134.
Scope and non-goals
Included:
direct_overlaybdoption and legacy snapshot branch.Not included:
track_dirty_pagesbehavior or its default.Design and behavior changes
Memory snapshot capture now always creates a state-only Firecracker snapshot, queries dirty or present memory ranges, reads the selected pages, and writes the OverlayBD memory layer directly. It no longer creates an intermediate
mem.binfile.With
track_dirty_pages=false, page selection keeps the existing mincore-based behavior. With it enabled, Firecracker uses KVM dirty-page tracking. Both modes use the same direct packaging path.Compatibility and operations
memory_snapshot.direct_overlaybdandAGENTENV_MEMORY_SNAPSHOT_DIRECT_OVERLAYBDare removed. Existingdirect_overlaybd=falseentries are ignored by the current configuration parser, and snapshots use the direct path.mem.binartifact is no longer produced.Validation
make fmtmake clippymake test-unitmake -C services test(required whenservices/changes)maketargetCommands and results:
Skipped checks and reasons:
make -C services test: noservices/changes.Risks and reviewer notes
Deployments that explicitly set
direct_overlaybd=falsewill use direct packaging after upgrading. The most important review points are the unconditional capture flow insrc/sandbox/firecracker/sandbox.rsand the removal of the legacy helpers and integration test.Checklist
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.