Appendix A. Status Enums¶
Purpose¶
Centralize machine-readable status value sets used across baseline/cache/report contracts.
Public surface¶
- Baseline statuses:
codeclone/baseline.py:BaselineStatus - Cache statuses:
codeclone/cache.py:CacheStatus - Exit categories:
codeclone/contracts.py:ExitCode
Data model¶
BaselineStatus¶
okmissingtoo_largeinvalid_jsoninvalid_typemissing_fieldsmismatch_schema_versionmismatch_fingerprint_versionmismatch_python_versiongenerator_mismatchintegrity_missingintegrity_failed
Baseline untrusted set¶
Defined by BASELINE_UNTRUSTED_STATUSES.
CacheStatus¶
okmissingtoo_largeunreadableinvalid_jsoninvalid_typeversion_mismatchpython_tag_mismatchmismatch_fingerprint_versionanalysis_profile_mismatchintegrity_failed
ExitCode¶
0success2contract error3gating failure5internal error
Contracts¶
- Status values are serialized into report metadata (
baseline_status,cache_status). - CLI branches by enum values, not UI text.
Refs:
codeclone/_cli_meta.py:ReportMetacodeclone/cli.py:_main_impl
Locked by tests¶
tests/test_baseline.py::test_coerce_baseline_statustests/test_cache.py::test_cache_version_mismatch_warnstests/test_cli_unit.py::test_cli_help_text_consistency
Non-guarantees¶
- Human-readable status messages can change while enum values stay stable.