Date: 2026-03-13
This document describes an older remote-observer harness.
It is still useful as setup history, but it does not describe the current OsLib public API surface. In particular, it still references osconfig.json, remote observer topology files, and older cloud-root resolution behavior that no longer belongs to Os itself.
The 3.5.0 package line named OneDrive, GoogleDrive, and Dropbox. The current configured-root contract also recognizes ICloudDrive.
For JsonPit, the canonical item identifier is now Id. Legacy files that still contain Name without Id are normalized internally to Id, and the framework drops the legacy Name field while still allowing Name as an application-defined custom field.
The current setup is now config-driven.
- Local cloud provider roots use
osconfig.json5. - Remote observer topology uses
remote-test-config.json. - Remote cloud roots are read from the remote machine's own
osconfig.json5over ssh.
So the answer is:
- local cloud root:
~/.config/RAIkeep/osconfig.json5on macOS and Linux - remote ssh target:
~/.config/RAIkeep/remote-test-config.json - remote Google Drive root: taken from Mzansi's
~/.config/RAIkeep/osconfig.json5
OsLib resolves local cloud roots through Os.Config and osconfig.json.
Default config location:
- macOS / Linux:
~/.config/RAIkeep/osconfig.json - Windows:
%APPDATA%\RAIkeep\osconfig.json
For the current remote tests, the important local config value is usually:
cloud.googledrive
Example:
{
"cloud": {
"googledrive": "/Users/rsb/Library/CloudStorage/GoogleDrive-.../My Drive/"
}
}If this entry is missing, OsLib may still discover the local Google Drive root automatically. But for stable test behavior, explicit config is better.
The current remote Google Drive sync tests use a dedicated remote test config file.
Default location:
- macOS / Linux:
~/.config/RAIkeep/remote-test-config.json - Windows:
%APPDATA%\RAIkeep\remote-test-config.json
Minimal current example:
{
"observers": {
"mzansi": {
"sshTarget": "rsb@Mzansi"
}
},
"apis": {},
"scenarios": {}
}This is consumed by the reusable OsLib helper RemoteCloudSyncProbe.TryCreate(...).
For the current Google Drive remote-sync tests:
Nkosikasiruns the test.- OsLib resolves the local Google Drive root from
osconfig.jsonor provider discovery. - OsLib reads
remote-test-config.jsonto know how to reachMzansivia ssh. - OsLib reads Mzansi's
~/.config/RAIkeep/osconfig.jsonover ssh to determine the remote Google Drive root. - The test writes locally on
Nkosikasi. - The remote observer polls the synced filesystem on
Mzansiover ssh.
Make sure your local Google Drive root is either:
- correctly discoverable by OsLib
- or explicitly configured in
~/.config/RAIkeep/osconfig.json
Recommended explicit config:
{
"cloud": {
"googledrive": "/Users/RSB/Library/CloudStorage/GoogleDrive-.../My Drive/"
}
}From a shell on Nkosikasi, this should work without interactive surprises:
ssh rsb@Mzansi "printf ready"Expected output:
ready
If that does not work cleanly, the tests will skip or fail before any cloud sync logic is exercised.
Recommended minimal file on Nkosikasi:
{
"observers": {
"mzansi": {
"sshTarget": "rsb@Mzansi"
}
},
"apis": {},
"scenarios": {}
}From Nkosikasi, manually inspect the remote config:
ssh rsb@Mzansi "cat ~/.config/RAIkeep/osconfig.json"Make sure cloud.googledrive exists there and points at the synced root that should be observed on Mzansi.
Before debugging the full test, verify these three things manually.
Run any OsLib cloud-related test or inspect the effective config to ensure Google Drive is found locally.
ssh rsb@Mzansi "printf ready"ssh rsb@Mzansi "test -f ~/.config/RAIkeep/osconfig.json && printf ready || printf missing"Use the cloud.googledrive value from the remote osconfig.json, then check that path explicitly if needed.
Currently these tests use the remote Mzansi setup:
OsLib/OsLib.Tests/GoogleDriveRemoteSyncTests.csJsonPit/JsonPit.Tests/GoogleDriveRemoteSyncTests.cs
Both currently target:
- Google Drive only
Nkosikasias the writer/test runnerMzansias the remote observer over ssh
The simplest current real remote-sync debugger entry point is:
TextFile_CreateUpdateDelete_PropagatesToMzansiOverGoogleDrive
in:
OsLib/OsLib.Tests/GoogleDriveRemoteSyncTests.cs
That test already performs real ssh-backed remote checks through OsLib abstractions.
Remote observer details are intentionally not stored in osconfig.json.
Right now:
- provider roots are stored in each machine's
osconfig.json - remote observer connection details are stored in
remote-test-config.json
That keeps machine-local runtime config separate from remote test topology.
The reusable remote-test configuration model now exists.
For now, the authoritative setup is:
- local provider roots in
osconfig.json - remote observer ssh targets in
remote-test-config.json - remote provider roots in the remote machine's own
osconfig.json
cat ~/.config/RAIkeep/remote-test-config.json
ssh rsb@Mzansi "printf ready"
ssh rsb@Mzansi "cat ~/.config/RAIkeep/osconfig.json"If SSH prints ready and the remote osconfig.json contains a valid cloud.googledrive, the current config-driven remote Google Drive tests have the minimum setup they need.