symposium sync --workspace
Updates .symposium/config.toml to reflect the current workspace dependencies.
Flow
-
Check
Cargo.lockmtime — compare the mtime ofCargo.lockagainst the cached value (stored in the global cache directory). If unchanged, skip the rest — there’s nothing to do. -
Read workspace dependencies — run
cargo metadatato get the full dependency list for the workspace. -
Load plugin sources — read the user config’s
[[plugin-source]]entries and load their plugin manifests. For git sources, fetch/update as needed. -
Match extensions to dependencies — for each plugin, evaluate skill group crate predicates and individual skill
cratesfrontmatter against the workspace dependencies. Also discover available workflows. -
Merge with existing config — load the current
.symposium/config.tomland reconcile:- New extensions: add entries with the resolved
sync-defaultvalue (from project config if set, else user config). - Removed dependencies: remove entries for extensions whose crate predicates no longer match.
- Existing entries: preserve the user’s on/off choices.
- New extensions: add entries with the resolved
-
Write config — write the updated
.symposium/config.toml. -
Cache mtime — store the current
Cargo.lockmtime so future runs can skip work if nothing changed.