Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the donna artifacts fetch and donna artifacts tmp CLI commands and deletes the supporting “workspace temp file” and artifact-extension plumbing, updating docs and release notes accordingly.
Changes:
- Removed
artifacts fetch/artifacts tmpcommands and their CLI types/errors/helpers. - Removed workspace temp directory utilities and related config/API surface (
tmp_dir,file_extension_for, fetch helpers). - Updated README and artifact usage documentation to describe direct file edits + validation flow.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates guidance away from tmp/fetch-edit-upload workflow toward direct file edits + validation. |
| donna/workspaces/worlds/python.py | Removes file_extension_for implementation now that fetch/tmp flows are gone. |
| donna/workspaces/worlds/filesystem.py | Removes file_extension_for implementation now that fetch/tmp flows are gone. |
| donna/workspaces/worlds/base.py | Removes the file_extension_for abstract method from the world interface. |
| donna/workspaces/tmp.py | Deletes workspace temp-file management module. |
| donna/workspaces/config.py | Removes tmp_dir from workspace config. |
| donna/workspaces/artifacts.py | Removes helper functions used by the removed fetch/tmp flow. |
| donna/machine/sessions.py | Stops clearing workspace tmp dir on session start/clear. |
| donna/context/artifacts.py | Removes artifact file_extension and fetch methods that backed the removed commands. |
| donna/cli/types.py | Removes OutputPathOption used by artifacts fetch. |
| donna/cli/errors.py | Removes InvalidSlugWithExtension used by artifacts tmp. |
| donna/cli/commands/artifacts.py | Removes fetch and tmp commands; updates artifacts command help text. |
| donna/artifacts/usage/cli.md | Removes documentation for artifacts fetch/tmp commands. |
| donna/artifacts/usage/artifacts.md | Removes references to artifacts tmp/fetch; clarifies source visibility wording. |
| changes/unreleased.md | Adds release note entry for the removed commands. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Removed `readonly` world-artifact mutability modeling from workspace config and world abstractions. | ||
| - Updated artifact and world usage specs to state that developers and external tools mutate world artifacts while Donna validates them. | ||
| - Removed `donna artifacts fetch` and `donna artifacts tmp` commands and all related code. |
There was a problem hiding this comment.
Config.tmp_dir was removed (see donna/workspaces/config.py), and BaseEntity forbids unknown fields; existing config.toml files that set tmp_dir will now fail validation at startup. Please add an explicit migration/breaking-change note here (or under "Breaking Changes") telling users to remove tmp_dir from their config and explaining that Donna no longer manages a workspace temp directory via config.
| @@ -97,7 +97,6 @@ class Config(BaseEntity): | |||
| _worlds_instances: list[BaseWorld] = pydantic.PrivateAttr(default_factory=list) | |||
| _sources_instances: list[SourceConfigValue] = pydantic.PrivateAttr(default_factory=list) | |||
|
|
|||
There was a problem hiding this comment.
Removing tmp_dir from Config will cause existing config.toml files that still include tmp_dir to fail validation because BaseEntity forbids extra fields. If this is intended, it should be treated as a breaking change (with explicit migration notes). If not intended, consider keeping tmp_dir as a deprecated/ignored field to preserve backward compatibility.
| # Deprecated: kept for backward compatibility with existing config files. | |
| tmp_dir: pathlib.Path | None = None |
No description provided.