luigidemasi opened a new issue, #91: URL: https://github.com/apache/camel-kit/issues/91
> Imported from [luigidemasi/camel-kit#217](https://github.com/luigidemasi/camel-kit/issues/217), opened by [luigidemasi](https://github.com/luigidemasi) on 2026-09-08. > Closed by [luigidemasi/camel-kit#218](https://github.com/luigidemasi/camel-kit/pull/218), merged on 2026-09-08. --- ## Description `camel-kit ship` keeps its run records, evidence logs, Pi session transcripts, the staged Execute workspace and the private validation catalog repository under a user-level state directory: `CAMEL_KIT_SHIP_STATE_HOME` when set, otherwise `$XDG_STATE_HOME/camel-kit/ship` or `~/.local/state/camel-kit/ship`. That puts every project's runs in one global place, away from the project they belong to, and it cannot be used from a coding harness whose sandbox only allows writes under the current workspace. The controller also rejects any state directory inside the project (`state-project-overlap`), so the environment variable cannot move the state into the workspace today. ## Expected Behavior - By default, Ship stores its state under `<project>/.camel-kit/ship/state/`, where `<project>` is the current directory (or `--project-dir`). - `CAMEL_KIT_SHIP_STATE_HOME` still overrides the location. The `XDG_STATE_HOME` and `~/.local/state` fallbacks are removed. - `.camel-kit/ship/` is a reserved, controller-owned subtree: the Ship tree policy denies it, so it is never copied into the staged workspace, never part of the staleness digests and never published. Any other location inside the project is still rejected as a state directory with `state-project-overlap`. - The state directory contains a `.gitignore` that ignores its own content, so run records, transcripts and evidence are not committed by accident. - The private catalog repository used for validation still defaults to a subdirectory of the state directory, so it moves with it; `--maven-repository` still overrides it. - `--status`, `--resume` and `--abort` resolve run IDs against the project's state directory. - `docs/commands.md`, `docs/architecture.md` and `CHANGELOG.md` describe the new default and the migration note below. ## Compatibility - Runs started under the previous default are not found at the new location. To finish one, set `CAMEL_KIT_SHIP_STATE_HOME` to the old path. - The tree policy schema changes, so project snapshots recorded before the change fail their staleness check and the affected stage restarts on resume. ## Additional Context - Website impact: required (Ship page and command reference). - Related: luigidemasi/camel-kit#149 (controller-owned Ship workflow). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
