Tracks Jira INT-430 (child of epic INT-310). Second discrete unit of cli-common; builds on #1 (ref grammar, merged in #2).
Scope
Out of scope (later INT-310 units)
Real OS backends + auto/env/config selection (PR4), ListBundle/DeleteBundle, SetBundle atomicity (PR3), Linux fail-closed (PR5), redaction (PR6), migration helpers (PR7).
Tracks Jira INT-430 (child of epic INT-310). Second discrete unit of
cli-common; builds on #1 (ref grammar, merged in #2).Scope
Store+Open(service string, opts *Options) (*Store, error)+(*Store).Close() error(*Store).Backend() (Backend, Source)reporting (required for laterconfig show, §1.6)Options:AllowedKeys []stringallowlist;Backendselector incl.BackendMemorybackendinterface; in-memory backend with no disk side effects (§2.1 test/CI backend)Get/Set/Delete/Exists(profile, key);SetOptwithOverwrite(§1.5)AllowedKeysenforcement onSet/Deletewith a clear allowed-set error (§1.5.2)<service>/<profile>/<key>→ServiceName+<profile>/<key>Item.Keymapping modeled internally so real backends slot in later (§1.3)Out of scope (later INT-310 units)
Real OS backends + auto/env/config selection (PR4),
ListBundle/DeleteBundle,SetBundleatomicity (PR3), Linux fail-closed (PR5), redaction (PR6), migration helpers (PR7).