Summary
Claude's review of base-cli identified two confirmed correctness bugs, one runtime-permission issue, test-fixture behavior that can invalidate realistic command tests, documentation gaps, duplicated security/dependency logic, portability/performance concerns, and several framework-scope decisions.
Correctness and security
Tests and documentation
Cleanup and maintainability
Portability and performance
Framework scope and adoption
The review found the core lifecycle, context, logging, output, and redaction machinery solid; this issue tracks the remaining correctness, extraction, and adoption work.
Summary
Claude's review of
base-cliidentified two confirmed correctness bugs, one runtime-permission issue, test-fixture behavior that can invalidate realistic command tests, documentation gaps, duplicated security/dependency logic, portability/performance concerns, and several framework-scope decisions.Correctness and security
lib/python/base_cli/__init__.pyso an unrelated ancestorVERSIONfile cannot override the installed package version. Preserve checkout behavior and add an installed/nested-project regression test.app.py: accept onlyNoneor an integer/ExitCode, and raise a clear framework error for invalid values. Cover both command wrappers andrun_app().0700, including when created under a permissive umask. Add permission tests.Tests and documentation
base_cli.testing.invoke(cwd=...)change the process working directory as well as the framework override, restoring it reliably afterward. TestPath.cwd()and relative file access.docs/local-config.mdanddocs/cache-ownership-and-layout.md, or restore the missing documentation.Cleanup and maintainability
_require_yaml()helper.0600, then replace the duplicated write/chmod patterns.Portability and performance
msvcrtfallback or document the concurrency limitation explicitly.prune_log_files, which rescans the full historical run tree on every invocation.Framework scope and adoption
command_protocolshould support downstream record schemas via a public registration API, or be documented as Base-specific.ide_schema.py, IDE config/export behavior, and_BASE_DISPLAY_COMMANDSif this package is intended to be generic.NO_COLORand explicit opt-out.The review found the core lifecycle, context, logging, output, and redaction machinery solid; this issue tracks the remaining correctness, extraction, and adoption work.