Skip to content

config/state split: agent homes do not belong in ~/.config/deva #518

Description

@lroolle

Description

~/.config/deva/<agent> doubles as agent home (default_config_home_for_agent, deva.sh:381) while deva.sh:4141 blanket-mounts ~/.config/deva into every container. Same host files end up visible at two container paths. Agent homes are state, not config.

Type

  • Enhancement

Details

Today both mechanisms fire at once: config-root mode rehomes ~/.config/deva/claude/.claude to container $HOME/.claude, and the blanket mount exposes the same files under ~/.config/deva/claude/ inside the container. Agent writes through one alias, tools read the other. It also makes ~/.config/deva impossible to treat as pure deva config for wholesale mounting.

Proposed contract:

Migration: accept the old layout one release with a deprecation warning, then drop. Settle this before the bun port hardens the current layout.

Related Files

  • deva.sh (default_config_home_for_agent, resolve_config_base, blanket mount at 4141)
  • docs, README

Test Plan

  • scripts/test-mount-shape.sh: no target mounted twice under any config mode
  • old layout triggers deprecation warning, still works for one release
  • new layout resolves agent home from ~/.local/share/deva/

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions