Context
After unifying shared state and profile state into a single mechanism (PR #81), the Profile* naming no longer reflects the actual role of these types:
| Current Name |
Actual Role |
Proposed Name |
ProfileStore (trait) |
Raw async KV backend |
StorageBackend |
ProfileAccess (struct) |
Typed read/write layer |
PersistentStore |
ProfileKey (trait) |
Namespace definition |
PersistentKey |
ProfileOwner (enum) |
Internal addressing |
Keep (already internal) |
Why
ProfileAccess now serves both profile and shared state — the "Profile" prefix is misleading
access as a noun is vague; store better describes a typed KV read/write interface
Persistent* unifies the naming and contrasts naturally with State* (in-memory transient)
Scope
~15 non-test files reference these types. The rename is mechanical but touches multiple crates:
awaken-contract (trait definitions + re-exports)
awaken-runtime (ProfileAccess, ProfileKeyRegistry, PluginRegistrar)
awaken-stores (FileStore, InMemoryStore implementations)
awaken-ext-deferred-tools (caller)
- Documentation (ADR, book, reference)
Approach
- Rename at source, re-export old names as deprecated type aliases for one release cycle
- Update all internal usages
- Remove deprecated aliases in next breaking release
Context
After unifying shared state and profile state into a single mechanism (PR #81), the
Profile*naming no longer reflects the actual role of these types:ProfileStore(trait)StorageBackendProfileAccess(struct)PersistentStoreProfileKey(trait)PersistentKeyProfileOwner(enum)Why
ProfileAccessnow serves both profile and shared state — the "Profile" prefix is misleadingaccessas a noun is vague;storebetter describes a typed KV read/write interfacePersistent*unifies the naming and contrasts naturally withState*(in-memory transient)Scope
~15 non-test files reference these types. The rename is mechanical but touches multiple crates:
awaken-contract(trait definitions + re-exports)awaken-runtime(ProfileAccess, ProfileKeyRegistry, PluginRegistrar)awaken-stores(FileStore, InMemoryStore implementations)awaken-ext-deferred-tools(caller)Approach