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]

Reply via email to