Files
dl-organizer/CHANGELOG.md
T
6f0df5a774 release: v0.2.0 repository hygiene, CI, and docs sync
Stop tracking personal workflow artifacts at repo root, add CI and MIT
license, align README and agent skills with artifacts/ defaults, and
enable Ruff in dev/CI so releases are verifiable without local-only runs.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 15:32:03 +08:00

6.5 KiB
Raw Blame History

Changelog

0.2.0 — 2026-06-01

Repository hygiene and release discipline

  • Stopped tracking personal workflow artifacts at repository root (~34 MB); expanded .gitignore for legacy root CSV/JSON patterns.
  • Added GitHub Actions workflow running uv run pytest -q on Python 3.103.12.
  • Added MIT LICENSE, CONTRIBUTING.md (semver policy), and packaging metadata in pyproject.toml (version 0.2.0).
  • Synced README and skills/vlm-library-workflow/ to artifacts/ defaults and the full review-planapply-review cycle.
  • Standardized executor.py imports to vlm.*; added Ruff and pytest-cov to [dev] optional dependencies.
  • Verification: uv run pytest -q517 passed.

2026-05-21

Functional code simplification

  • Removed unused src/vlm/exceptions.py and consolidated plan summary helpers (preferred_plan_summary everywhere).
  • Extracted CLI implementations to cli_helpers.py and commands/ (review_plan, report, quarantine_cmd, state_cmd, config_cmd); cli.py is now Click registration and thin delegation.
  • Moved textual out of [dev] optional deps (install via [tui] or [dev,tui]).
  • Archived superseded review/audit markdown under docs/archive/2026-pre-baseline/.
  • Fixed series parser empty title when the only title token is a quality tag (e.g. UHD S01E01.mp4).
  • Verification: pytest -q517 passed.

2026-04-07

Review-plan Safety & Validation Hardening

  • Made vlm review-plan --tui a true optional runtime boundary by lazy-loading the Textual UI and guarding Textual imports.
  • Hardened execution safety so move/rename operations validate both source and destination against library_root, while unsupported quarantine operations fail per-operation without aborting later work.
  • Removed silent duplicate-resolution fallback: unresolved by_quality groups and unsupported strategies now surface as explicit manual-review outcomes.
  • Canonicalized duplicate path matching so duplicate analysis joins stay stable across path-format differences.
  • Defined scanner behavior for non-zero find exits: keep partial stdout with a warning, or return an empty deterministic result if no paths were emitted.
  • Moved plan loading onto a validated typed ExecutionPlan boundary in the I/O layer.
  • Updated repository review artifacts and documentation to reflect the new baseline.
  • Verification: pytest -q507 passed.

2026-04-02

Schema Validation & Deterministic Planning

  • Added runtime validation for identities.json, analysis.json, and plan.json on load/save.
  • Plan generation now records environment-derived checks in validation_snapshot metadata, keeping logical plan output reproducible.
  • Added targeted regression tests for plan round-trip validation and invalid-schema rejection.
  • Verified the affected workflows with uv run pytest tests/test_io.py tests/test_planner.py.

Logic Optimization & Human-in-the-Loop

  • Human-in-the-Loop Workflow Completion:

    • Added vlm apply-review command to sync modifications from plan_manual_review.csv back to plan.json.
    • Implemented apply_review_to_plan in src/vlm/planner.py to allow manual rejection/modification of high-risk operations via CSV.
  • Scanner Robustness & Environment Awareness:

    • Added proactive ffprobe availability check at the start of vlm scan.
    • Implemented graceful degradation: if ffprobe is missing, the scanner automatically falls back to file-only metadata mode with a clear warning, instead of failing per-file.
  • Parser Enhancements:

    • Improved src/vlm/parser.py to better handle release group tags ([Group], (Group), Group_Subs).
    • Added support for hyphenated episode numbering (e.g., Name - 01) common in Anime, defaulting to Season 1 with reduced confidence.
    • Refined release group removal to be more robust against various bracket styles.
  • CLI & UX:

    • vlm review-plan now prints a plan overview plus a structured high-risk operation preview in terminal output.
    • Added --preview-limit and --show-all to control review-plan preview verbosity.
    • Added shared plan rendering helpers so review-plan and execute reuse the same summary fallback behavior.
    • Added vlm apply-review to the main CLI group.

2026-02-16

Artifact Path Governance

  • Changed default workflow artifact outputs from repository root to artifacts/:
    • artifacts/inventory.csv
    • artifacts/identities.json
    • artifacts/analysis.json
    • artifacts/plan.json
    • artifacts/plan_manual_review.csv
  • Added workspace_dir to configuration (~/.vlm/config.yaml) to customize default artifact directory.
  • Stage-A compatibility: when a command uses default input path and only legacy root artifact exists, CLI now prints a migration warning and falls back to the legacy file.
  • Added ignore rules for generated artifact directories in .gitignore (artifacts/, runs/).
  • Removed temporary process document ARTIFACTS_REFACTOR_PLAN_2026-02-16.md; CHANGELOG.md remains the canonical change record.

Refactor Results

  • Modularized CLI command implementations:

    • Added src/vlm/commands/parse.py
    • Added src/vlm/commands/enrich.py
    • Added src/vlm/commands/execute.py
    • Refactored src/vlm/cli.py to delegate parse, enrich, execute, and rollback to command modules
  • Unified I/O layer for JSON handling:

    • Added load_json_file, save_json_file, save_analysis_json in src/vlm/io.py
    • Updated analyze/enrich paths to use unified I/O entry points
  • Parser/config consistency improvements:

    • Added shared DEFAULT_VIDEO_EXTENSIONS in src/vlm/config.py
    • Updated src/vlm/parser.py to use the shared config constant instead of local hardcoded defaults
  • Execution reliability hardening:

    • Updated src/vlm/executor.py transaction logging to fail gracefully when ~/.vlm is not writable (warn + continue)
  • Test stability improvements:

    • Standardized test timestamps to timezone-aware UTC (datetime.now(timezone.utc))
    • Added missing timezone imports where required

Verification

  • Full test suite passed after refactor:
    • 477 passed

Documentation Sync

  • Updated repository documentation set to match the refactor baseline:
    • Core docs: README.md, AGENTS.md, CLAUDE.md, GEMINI.md
    • Skill docs: skills/vlm-library-workflow/SKILL.md and all references under skills/vlm-library-workflow/references/
    • Legacy review/plan docs now explicitly marked as historical snapshots and redirected to CHANGELOG.md as the current source of truth