diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index d10d371de017744d0d0b0a4d7746c9490cee0593..d3b384d78c1bcca9bb2caaa588fff882c5620042 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -223,7 +223,9 @@ sdk("core") {
     "//sdk/fidl/fuchsia.wlan.service:fuchsia.wlan.service_sdk($fidl_toolchain)",
     "//sdk/lib/fidl/cpp:cpp_sdk",
     "//sdk/lib/svc:svc_sdk",
+    "//sdk/lib/sys/cpp:cpp_sdk",
     "//sdk/lib/ui/scenic/cpp:cpp_sdk",
+    "//sdk/lib/vfs/cpp:cpp_sdk",
     "//src/developer/debug/zxdb:zxdb_sdk($host_toolchain)",
     "//third_party/vulkan_loader_and_validation_layers/loader:loader_sdk",
     "//zircon/public/fidl/fuchsia-cobalt:fuchsia-cobalt_sdk($fidl_toolchain)",
diff --git a/sdk/core.api b/sdk/core.api
index d632e32bffdc476c4ccd608132e1b3eb0edb9ea7..eb9c30d2ce25c209a321bf7c7b61a15c8d0ce6d7 100644
--- a/sdk/core.api
+++ b/sdk/core.api
@@ -72,9 +72,11 @@ sdk://pkg/memfs
 sdk://pkg/scenic_cpp
 sdk://pkg/svc
 sdk://pkg/sync
+sdk://pkg/sys_cpp
 sdk://pkg/syslog
 sdk://pkg/sysroot
 sdk://pkg/trace-engine
+sdk://pkg/vfs_cpp
 sdk://pkg/vulkan
 sdk://pkg/vulkan_layers
 sdk://pkg/zx
diff --git a/sdk/lib/sys/cpp/BUILD.gn b/sdk/lib/sys/cpp/BUILD.gn
index 3fec66f116af8e05bd33a6be3e48af9db7a7a35a..8984c0f2a2cbbefd9a7bb06e0d5992427b8d91f4 100644
--- a/sdk/lib/sys/cpp/BUILD.gn
+++ b/sdk/lib/sys/cpp/BUILD.gn
@@ -5,9 +5,9 @@
 import("//build/cpp/sdk_source_set.gni")
 
 sdk_source_set("cpp") {
-  category = "internal"
+  category = "partner"
 
-  sdk_name = "component_cpp"
+  sdk_name = "sys_cpp"
 
   include_base = "//sdk"
   sources = [
diff --git a/sdk/lib/sys/cpp/sys_cpp.api b/sdk/lib/sys/cpp/sys_cpp.api
new file mode 100644
index 0000000000000000000000000000000000000000..b879bda47bc78957af3de25b751a3d4c9fdc5de0
--- /dev/null
+++ b/sdk/lib/sys/cpp/sys_cpp.api
@@ -0,0 +1,7 @@
+{
+  "pkg/sys_cpp/include/lib/sys/cpp/component_context.h": "ff4c4d1ce381efb0dc5dae5055662112",
+  "pkg/sys_cpp/include/lib/sys/cpp/file_descriptor.h": "58738a9a1ef1ac925ef71f6cce5aa125",
+  "pkg/sys_cpp/include/lib/sys/cpp/outgoing_directory.h": "775faaa854915512c5fb3bd4e7830ddd",
+  "pkg/sys_cpp/include/lib/sys/cpp/service_directory.h": "e75f61dbfa217e1ad6d0f566d1c697b4",
+  "pkg/sys_cpp/include/lib/sys/cpp/termination_reason.h": "dab213c57751fef9e454676a31c91d29"
+}
\ No newline at end of file
diff --git a/sdk/lib/vfs/cpp/BUILD.gn b/sdk/lib/vfs/cpp/BUILD.gn
index efb443fe752314497f1b087dcb705c1af2860c86..a0c3f57abd5fa1d2dafe6b66d8403c578bf3339c 100644
--- a/sdk/lib/vfs/cpp/BUILD.gn
+++ b/sdk/lib/vfs/cpp/BUILD.gn
@@ -9,7 +9,7 @@ import("//build/test/test_package.gni")
 import("//build/testing/environments.gni")
 
 sdk_source_set("cpp") {
-  category = "internal"
+  category = "partner"
 
   sdk_name = "vfs_cpp"
 
diff --git a/sdk/lib/vfs/cpp/pseudo_dir.cc b/sdk/lib/vfs/cpp/pseudo_dir.cc
index 0e0d8041a0dea113050684a0ea4ef71134afe889..1f1f075d3d38d121c7c1902b1e807fd791e5e443 100644
--- a/sdk/lib/vfs/cpp/pseudo_dir.cc
+++ b/sdk/lib/vfs/cpp/pseudo_dir.cc
@@ -10,7 +10,7 @@
 
 namespace vfs {
 
-PseudoDir::PseudoDir() = default;
+PseudoDir::PseudoDir() : next_node_id_(kDotId + 1) {}
 
 PseudoDir::~PseudoDir() = default;
 
diff --git a/sdk/lib/vfs/cpp/pseudo_dir.h b/sdk/lib/vfs/cpp/pseudo_dir.h
index 779ed0971e85cb381c722d8176ba965e47889d6b..b30cd5f6d9e4c91e3e30b287bf0153f6330f00f9 100644
--- a/sdk/lib/vfs/cpp/pseudo_dir.h
+++ b/sdk/lib/vfs/cpp/pseudo_dir.h
@@ -126,7 +126,7 @@ class PseudoDir : public vfs::internal::Directory {
 
   mutable std::mutex mutex_;
 
-  std::atomic_uint64_t next_node_id_ = 2; // which is kDotId +1
+  std::atomic_uint64_t next_node_id_;
 
   // for enumeration
   std::map<uint64_t, std::unique_ptr<Entry>> entries_by_id_
diff --git a/sdk/lib/vfs/cpp/vfs_cpp.api b/sdk/lib/vfs/cpp/vfs_cpp.api
new file mode 100644
index 0000000000000000000000000000000000000000..a41f5b17bd3f5ce631ea23f2235fe36702d1bfe8
--- /dev/null
+++ b/sdk/lib/vfs/cpp/vfs_cpp.api
@@ -0,0 +1,19 @@
+{
+  "pkg/vfs_cpp/include/lib/vfs/cpp/composed_service_dir.h": "628459256ecf7e4ae6db5d23f2041175",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/flags.h": "5a700c7864cd728ce3ffa6d4acd20df7",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/connection.h": "f58947278e1468543f0445e02fd1548f",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/directory.h": "b8d41e52de7e017b04f4e4b9c48b6648",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/directory_connection.h": "b53a64592784fdb51ac6a9d6ea1ee91d",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/dirent_filler.h": "44c99e0fd2c75a6666d84382922c3e67",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/file.h": "24d07b948b027a790483334bc81e4dbd",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/file_connection.h": "7ba00803dd0f4283f0812120be9b74b5",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/node.h": "622ae637eaf703b5218b28ac1c63f160",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/internal/node_connection.h": "ea05c0eb1c3950ca4425476b22e967d3",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/lazy_dir.h": "e565e4bdd078da1c76a035e8ca16eb38",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/node_kind.h": "2091ae012ff50b8c226b94218a923fee",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_dir.h": "b8ae9314ddec3648d295565bf0d6e89b",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_file.h": "ee6c095df60f847b368c5fb55c14fd43",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/remote_dir.h": "15b3a2fa5fd0195e5cff3070c51b78f0",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/service.h": "d7e9bae70e437a2d3794ea605bcd5fe7",
+  "pkg/vfs_cpp/include/lib/vfs/cpp/vmo_file.h": "c7c3fde60688fbb618770194d15541fe"
+}
\ No newline at end of file