Skip to content

Redesign container slug naming format #313

@lroolle

Description

@lroolle

Description

Container names are unreadable and leak implementation details (separate image/volume/config hashes).
Redesign to put semantic fields first: agent, auth, then workspace slug with one unified shape hash.

Type

  • Bug fix
  • New feature
  • Enhancement
  • Documentation

Details

Old: deva-lroolle-deploydock..i47b207..va3797701..credentials-file-fb38c4e0-claude
New: deva--claude--auth-file-test-creds--lroolle-deploydock..5a8cfeba

Fields: deva--<agent>--<auth_tag>--<slug>..<shape_hash>

  • Agent always in name (no more shared containers across agents)
  • Auth tag is human-readable: auth-file-<stem>, api-key-<last4>, auth-default
  • One unified shape hash replaces ..i/..v/..c suffixes
  • -- field separator distinguishes fields from slug hyphens
  • Backward-compatible regex matches both old and new format

Also: normalize short_hash to SHA-256 (drop cksum fallback that produced non-hex output).

Related Files

  • deva.sh (slug generation, container name construction, lookup regex)
  • scripts/test-container-slug.sh (new test coverage)

Test Plan

  • bash scripts/test-container-slug.sh passes (59 unit + integration tests)
  • bash scripts/test-mount-shape.sh passes (regression)
  • bash scripts/test-codex-browser-shape.sh passes (regression)
  • deva.sh claude --debug --dry-run shows new format
  • deva.sh codex --debug --dry-run shows different container name than claude
  • deva.sh claude --auth-with <file> --debug --dry-run shows auth-file-

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions