Summary
Make base_cli.App() use CliProfile.generic() when no profile is supplied.
Base already constructs and passes its explicit consumer profile, so this removes the last implicit Base behavior from the normal standalone entry point without changing Base's runtime contract.
Scope
- change the
App default profile to the generic profile;
- keep
CliProfile.legacy_base() available only as an explicitly named migration surface for the next extraction phase;
- update base-cli tests and documentation to make the default contract unambiguous;
- add regression coverage proving a default
App() does not discover base_manifest.yaml, read ~/.base.d, or write Base-owned cache/history state.
Out of scope
Acceptance criteria
App() behaves like CliProfile.generic() by default.
- Existing Base consumers continue to pass and use their explicit profile unchanged.
- Documentation no longer describes the implicit legacy Base profile as the normal standalone behavior.
- Base-cli and Base consumer tests pass.
Summary
Make
base_cli.App()useCliProfile.generic()when no profile is supplied.Base already constructs and passes its explicit consumer profile, so this removes the last implicit Base behavior from the normal standalone entry point without changing Base's runtime contract.
Scope
Appdefault profile to the generic profile;CliProfile.legacy_base()available only as an explicitly named migration surface for the next extraction phase;App()does not discoverbase_manifest.yaml, read~/.base.d, or write Base-owned cache/history state.Out of scope
Acceptance criteria
App()behaves likeCliProfile.generic()by default.