refactor: radical project simplification (YAGNI/KISS/DRY)#200
refactor: radical project simplification (YAGNI/KISS/DRY)#200themoriarti wants to merge 2 commits into
Conversation
- Removed docs/ directory (40+ redundant files) - Purged unverified backends: crun, runc, proxmox-vm - Rewrote build.zig to focus exclusively on Proxmox LXC - Consolidated all documentation into a single README.md - Removed legacy plugin system and unused scripts - Simplified core types and configuration logic
|
You have run out of free Bugbot PR reviews for this billing cycle. This will reset on March 27. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
- OCI bundle: parse mount options and capabilities from config.json - Remove excessive debug output from create command - Clean up router: remove unused config_module import - ArrayListUnmanaged fix for Zig 0.15.1 in oci-spec-zig - Update VERSION, changelog, release notes Made-with: Cursor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Free Tier Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Capability HashMap keys leak on deduplication and cleanup
- The deduplication map now stores capability slices from parsed JSON directly instead of allocating duplicate key strings, eliminating both duplicate-insert and cleanup key leaks.
Or push these changes by commenting:
@cursor push 81c117529c
Preview (81c117529c)
diff --git a/deps/oci-spec-zig/src/runtime/bundle.zig b/deps/oci-spec-zig/src/runtime/bundle.zig
--- a/deps/oci-spec-zig/src/runtime/bundle.zig
+++ b/deps/oci-spec-zig/src/runtime/bundle.zig
@@ -206,7 +206,7 @@
if (entry.value_ptr.* == .array) {
for (entry.value_ptr.*.array.items) |cap_item| {
if (cap_item == .string) {
- _ = try cap_set.put(try self.allocator.dupe(u8, cap_item.string), {});
+ _ = try cap_set.put(cap_item.string, {});
}
}
}| try parts.append(self.allocator, cap_name.*); | ||
| } | ||
| bundle_config.capabilities = try std.mem.join(self.allocator, ",", parts.items); | ||
| } |
There was a problem hiding this comment.
Capability HashMap keys leak on deduplication and cleanup
Medium Severity
The capability deduplication logic dupes each capability string before inserting into cap_set, but StringHashMap.deinit() only frees internal storage, not the key strings. All duped key strings leak. Additionally, when put encounters a duplicate key, it keeps the existing key and silently discards the newly duped string, leaking it immediately.



Note
Medium Risk
Medium risk due to a major
build.zigsimplification (removing feature-flag/libcrun-ABI wiring) and behavior changes in OCI→LXC translation via newly-parsed mount options/capabilities. Large-scale deletion of docs/policy files may also break expected release/compliance workflows.Overview
Project simplification: Removes the Docker build/compose setup,
Makefile, build logs, changelog/policy files (e.g.CHANGELOG.md,SECURITY.md,CONTRIBUTING.md,CODEOWNERS), and most content underdocs/, while updatingREADME.mdand addingRELEASE_NOTES_v0.7.6.mdplus a new roadmap/code-improvement plan.Build + OCI parsing changes: Rewrites
build.zigto a minimal module-wiring build (adds only basicenable_zfs/enable_proxmox_lxcoptions, drops pkg-config checks, libcrun ABI vendoring/linking, and related flags/includes) and bumpsVERSIONto0.7.6. Updatesdeps/oci-spec-zigbundle parsing to convert OCI mountoptionsarrays andprocess.capabilitiessets into comma-separated strings for downstream LXC config generation.Written by Cursor Bugbot for commit 543f8fe. This will update automatically on new commits. Configure here.