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
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
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
Details
Old:
deva-lroolle-deploydock..i47b207..va3797701..credentials-file-fb38c4e0-claudeNew:
deva--claude--auth-file-test-creds--lroolle-deploydock..5a8cfebaFields:
deva--<agent>--<auth_tag>--<slug>..<shape_hash>auth-file-<stem>,api-key-<last4>,auth-default--field separator distinguishes fields from slug hyphensAlso: normalize short_hash to SHA-256 (drop cksum fallback that produced non-hex output).
Related Files
Test Plan
bash scripts/test-container-slug.shpasses (59 unit + integration tests)bash scripts/test-mount-shape.shpasses (regression)bash scripts/test-codex-browser-shape.shpasses (regression)deva.sh claude --debug --dry-runshows new formatdeva.sh codex --debug --dry-runshows different container name than claudedeva.sh claude --auth-with <file> --debug --dry-runshows auth-file-