native macOS codings agent orchestrator prowl.onev.cat

Avoid full workspace JSON decode in persistence normalizer master

RepositoryEntryNormalizer.normalize called ProjectWorkspace.load for every persisted entry to check if it should force kind to .plain. This performed synchronous Data(contentsOf:) + JSONDecoder.decode per entry on every save — wasteful when most entries are not workspaces. Replace with ProjectWorkspace.hasMetadata, a lightweight FileManager.fileExists check that only does a stat syscall.


+5 -1
2 changed files