Skip to content

feat: enforce 32-character minimum for description field in uploads

DALIBOINA SATISH requested to merge description into develop

feat: Make description field mandatory with 32-character minimum requirement

CHANGES:

  1. Description Field Validation

    • Changed description from optional to mandatory field
    • Enforced minimum 32-character requirement
    • Added double-layer validation (CLI + API)
  2. CLI User Experience Improvements

    • Added prompt loop until valid description provided
    • Shows character count feedback: "️ Description too short (X/32 characters)"
    • Provides helpful suggestion for better descriptions
    • Clear error messages with requirements
  3. API-Level Validation

    • Returns "Description is required for upload" if empty
    • Returns "Description must be at least 32 characters (currently X characters)" if too short
    • Prevents uploads without valid description metadata
  4. Test Coverage

    • Updated all existing tests with 32+ character descriptions
    • Added test_finalize_upload_missing_description() - validates empty rejection
    • Added test_finalize_upload_short_description() - validates length requirement
    • All 36 tests passing

IMPACT:

  • Users must provide meaningful descriptions (32+ chars) for uploads
  • Better data quality with minimum description length
  • Clear user guidance during upload process
  • No uploads proceed without proper description

BREAKING CHANGES:

  • Existing scripts must include descriptions with minimum 32 characters
  • Uploads with shorter descriptions will fail with clear error messages

FILES MODIFIED:

  • src/corpus_client_cli/upload.py (description validation logic)
  • tests/test_async_logic.py (updated tests with new validation)
  • After image
Edited by DALIBOINA SATISH

Merge request reports

Loading