fetch_schema regenerates src/osw/model/entity.py inside the installed package. It is not called explicitly by the user, it is reached transitively from ordinary operations, currently create_or_update_entity and export_entity_jsonld in the MCP server (#133), and soon from the planned CLI.
Why it matters
Suggested direction
- Make the write opt-in (explicit
fetch_schema call or a flag), and have the transitive callers use an in-memory or cache-dir model instead.
- Failing that, write to a user cache dir rather than the package directory.
Interim mitigation in the MCP/CLI layer: document the side effect in the help text of the affected commands.
fetch_schemaregeneratessrc/osw/model/entity.pyinside the installed package. It is not called explicitly by the user, it is reached transitively from ordinary operations, currentlycreate_or_update_entityandexport_entity_jsonldin the MCP server (#133), and soon from the planned CLI.Why it matters
pip install oswthis writes into site-packages: wasteful and surprising, but contained.git status.Suggested direction
fetch_schemacall or a flag), and have the transitive callers use an in-memory or cache-dir model instead.Interim mitigation in the MCP/CLI layer: document the side effect in the help text of the affected commands.