Commit Graph

  • 02e478a157 refactor(domain): freeze Movie and Episode, switch track collections to tuple main francwa 2026-05-21 13:40:22 +02:00
  • 3dc73a5214 feat(release): add fullwidth vertical bar | (U+FF5C) to separators francwa 2026-05-21 08:05:56 +02:00
  • 88f156b7a4 refactor(subtitles): rename SubtitleCandidate → SubtitleScanResult francwa 2026-05-21 08:05:46 +02:00
  • 5107cb32c0 feat(release): InspectedResult.recommended_action centralizes exclusion decision francwa 2026-05-21 07:54:17 +02:00
  • b7979c0f8b refactor(release): freeze ParsedRelease + enrich_from_probe returns new instance francwa 2026-05-21 07:51:49 +02:00
  • 9f1ce94690 refactor(application): inject kb/prober into resolve_destination use cases francwa 2026-05-21 07:46:13 +02:00
  • 5e0ed11672 refactor(release): rename ParsePath enum to TokenizationRoute francwa 2026-05-21 07:39:42 +02:00
  • 0246f85ef8 refactor(release): move codec mappings from code to YAML knowledge francwa 2026-05-21 07:37:42 +02:00
  • e62dc90bd1 refactor(release): make tech_string a derived property francwa 2026-05-21 07:33:53 +02:00
  • 688c37bbec docs(changelog): recap session 2026-05-20 tech-debt cleanup francwa 2026-05-20 23:57:06 +02:00
  • 757e4045ee refactor(release): ParsedRelease.media_type & parse_path are strict enums francwa 2026-05-20 23:52:30 +02:00
  • c3767aacb6 refactor(release): rename ParsedRelease.normalised → clean francwa 2026-05-20 23:50:05 +02:00
  • 5bcf22b408 refactor(shared): Language VO is strict; from_raw() factory for un-normalized input francwa 2026-05-20 23:48:30 +02:00
  • cfa9f54d9f refactor(shared): FilePath VO uses __post_init__ instead of custom __init__ francwa 2026-05-20 23:47:03 +02:00
  • f0aaf50c97 refactor(subtitles): RuleScope.level → RuleScopeLevel enum francwa 2026-05-20 23:46:22 +02:00
  • a09262b33f chore(settings): remove unused min_movie_size_bytes francwa 2026-05-20 23:41:41 +02:00
  • 9c7cd66d2b Merge branch 'refactor/flatten-shared-media' francwa 2026-05-20 23:35:52 +02:00
  • 83dbed887b refactor(domain): flatten shared/media package into single module francwa 2026-05-20 23:35:49 +02:00
  • 0c9489e16b Merge branch 'feat/parser-phase-d' francwa 2026-05-20 23:30:36 +02:00
  • 621bb96995 fix(release/parser): pre-strip apostrophes so titles like Don't parse cleanly francwa 2026-05-20 23:29:10 +02:00
  • 448ef3b79c fix(release/parser): recognize Sxx-yy season range as tv_complete francwa 2026-05-20 23:26:40 +02:00
  • b1c7f35ffb fix(release/parser): drop pure-punctuation TITLE tokens at assembly francwa 2026-05-20 23:24:40 +02:00
  • 5bbdc9081f fix(release/parser): collapse chained multi-episode markers to full range francwa 2026-05-20 23:23:08 +02:00
  • 5d7b214af2 Merge branch 'refactor/language-port' francwa 2026-05-20 23:20:18 +02:00
  • 18267d0165 refactor(language): LanguageRepository port + SubtitleKnowledgeBase wired to it francwa 2026-05-20 23:18:25 +02:00
  • 19fe8a519a Merge branch 'feat/release-inspect-orchestrator' francwa 2026-05-20 09:31:22 +02:00
  • a0d1846ff2 refactor(release): move detect_media_type & enrich_from_probe to application/release francwa 2026-05-20 09:29:58 +02:00
  • 0fb59a4581 feat(filesystem): wire inspect_release into resolve_destination francwa 2026-05-20 09:26:30 +02:00
  • e79ca462b8 fix(release): refresh tech_string after enrich_from_probe francwa 2026-05-20 09:26:09 +02:00
  • 03aa844d7d feat(release): inspect_release orchestrator + InspectedResult VO francwa 2026-05-20 09:15:29 +02:00
  • c303efea48 refactor(probe): consolidate full probe() into MediaProber port francwa 2026-05-20 09:11:24 +02:00
  • 5db350a1df Merge branch 'feat/release-parser-scoring' francwa 2026-05-20 08:47:38 +02:00
  • 12dc796ea2 docs(changelog): freeze confidence scoring + exclusion work block francwa 2026-05-20 08:47:29 +02:00
  • 9ddd85929e feat(release): pre-pipeline exclusion helpers francwa 2026-05-20 01:34:32 +02:00
  • ed7680b58f docs(changelog): log parse-confidence scoring + ParseReport tuple francwa 2026-05-20 01:21:47 +02:00
  • b4c9efd13b feat(release): parse_release returns (ParsedRelease, ParseReport) francwa 2026-05-20 01:21:30 +02:00
  • 98c688f29b feat(release): foundations for parse-confidence scoring francwa 2026-05-20 01:21:17 +02:00
  • fcd80763e2 Merge branch 'refactor/release-parser-v2' francwa 2026-05-20 01:08:20 +02:00
  • 629387591f docs(changelog): freeze release parser v2 work block (2026-05-20) francwa 2026-05-20 01:08:17 +02:00
  • 230a7ab88a docs(changelog): log SHITTY simplification + distributor split francwa 2026-05-20 01:03:52 +02:00
  • 3737f66851 refactor(release): simplify SHITTY to dict-driven token tagging francwa 2026-05-20 01:03:25 +02:00
  • fd3bd1ad8c feat(release): distinguish streaming distributors from sources francwa 2026-05-20 01:03:11 +02:00
  • 7dc7f0c241 feat(release): v2 enricher pass for audio/video-meta/edition/language francwa 2026-05-20 00:26:05 +02:00
  • 075a827b0e feat(release): wire v2 EASY path for known release groups francwa 2026-05-20 00:21:11 +02:00
  • a2c917618f feat(release): scaffold v2 parser package (annotate-based pipeline) francwa 2026-05-20 00:12:33 +02:00
  • 9f10f4e0ad Merge branch 'refactor/domain-release-knowledge' francwa 2026-05-19 22:05:36 +02:00
  • cd814c7922 docs(changelog): log refactor/domain-release-knowledge work block francwa 2026-05-19 22:05:29 +02:00
  • 6802933acd test(release): adapt suite to explicit ReleaseKnowledge injection francwa 2026-05-19 22:05:26 +02:00
  • bf37a9d09e refactor(release): thread ReleaseKnowledge through callers francwa 2026-05-19 22:05:19 +02:00
  • 4a74fff9cc refactor(release): purify domain — parse_release(name, kb) + ParsedRelease Option B francwa 2026-05-19 22:05:10 +02:00
  • c3a3cb50c9 refactor(release): introduce ReleaseKnowledge Protocol port + YamlReleaseKnowledge adapter francwa 2026-05-19 22:05:01 +02:00
  • 14941d47c0 Merge branch 'refactor/domain-io-extraction' francwa 2026-05-19 15:16:59 +02:00
  • df798f55cc refactor(subtitles): introduce SubtitleKnowledge Protocol port francwa 2026-05-19 15:15:43 +02:00
  • 535935cc73 docs(changelog): summarize refactor/domain-io-extraction work block francwa 2026-05-19 15:11:17 +02:00
  • 6e252d1e81 refactor(subtitles): inject default rules into SubtitleRuleSet.resolve() francwa 2026-05-19 15:10:06 +02:00
  • 903e9e7117 refactor(subtitles): move SubtitlePlacer to application layer francwa 2026-05-19 15:07:39 +02:00
  • 9556bf9e08 refactor(domain): strip live filesystem I/O from VOs and entities francwa 2026-05-19 14:58:59 +02:00
  • e6ee700825 refactor(subtitles): inject MediaProber/FilesystemScanner ports into domain services francwa 2026-05-19 14:52:24 +02:00
  • ced72547f7 refactor(knowledge): extract YAML loaders from domain to infrastructure francwa 2026-05-19 14:35:18 +02:00
  • f338b08706 refactor(release): type media_type/parse_path as true enums francwa 2026-05-19 14:21:27 +02:00
  • da484d7474 refactor(release): typed enums + __post_init__ validation on ParsedRelease francwa 2026-05-19 14:17:56 +02:00
  • 481eeb5afd refactor(domain): identity-based equality + dedup track helpers francwa 2026-05-19 14:17:47 +02:00
  • 7cd24f3a31 refactor(domain): freeze media track value objects francwa 2026-05-19 14:17:27 +02:00
  • eb8995cfc3 refactor(subtitles): drop dead scanner module francwa 2026-05-19 14:17:15 +02:00
  • f6eef59fca refactor: tech debt mini-pass (items 5, 6, 7, 20) francwa 2026-05-18 16:24:28 +02:00
  • 273510dff8 test(fixtures): seed PATH OF PAIN bucket with 10 worst-case fixtures francwa 2026-05-18 15:57:56 +02:00
  • c1831e3f46 test(fixtures): drop derry_duplicate_naming (was a copy-paste artifact) francwa 2026-05-18 15:51:11 +02:00
  • aa182458b8 test(fixtures): seed SHITTY release bucket with 15 anti-regression cases francwa 2026-05-18 15:48:41 +02:00
  • 774f71c8cc chore(gitignore): track CHANGELOG.md explicitly francwa 2026-05-18 15:39:04 +02:00
  • 7bc50fd5b8 test: add real-world release fixtures (EASY bucket) francwa 2026-05-18 15:36:19 +02:00
  • f17abdbaec chore: cleanup — remove shims, fix ruff warnings, ignore noisy rules francwa 2026-05-18 00:02:45 +02:00
  • 1d50b63af2 Merge branch 'dev/sprint-cleanup' francwa 2026-05-17 23:42:05 +02:00
  • 891ba502a2 chore: apply pre-commit auto-fixes (trim trailing whitespace, EOF) francwa 2026-05-17 23:41:54 +02:00
  • e07c9ec77b chore: sprint cleanup — language unification, parser unification, fossils removal francwa 2026-05-17 23:38:00 +02:00
  • ba6f016d49 feat: generic MetadataStore + read_release_metadata + query_library francwa 2026-05-15 11:02:25 +02:00
  • 3c7c6695f2 feat(memory): Phase 1 — STM ToolResultsCache + ReleaseFocus + cache flag in YAML specs francwa 2026-05-15 10:44:14 +02:00
  • 2db3198ef2 feat(agent): migrate all remaining tools to YAML specs (21/21 covered) francwa 2026-05-14 21:18:43 +02:00
  • 23a9dd7990 refactor(memory): rename workflow.target -> params, type -> name francwa 2026-05-14 21:11:23 +02:00
  • 74a52ba6a3 feat(agent): workflow-scoped tool catalog + start/end_workflow meta-tools francwa 2026-05-14 21:07:36 +02:00
  • 97adfbda45 refactor(workflows): adopt media.* naming convention francwa 2026-05-14 20:55:35 +02:00
  • 239fce9e4e chore(agent): remove dead parameters.py francwa 2026-05-14 18:06:34 +02:00
  • 99c95af64e feat(agent): YAML tool specs as the LLM-facing semantic layer francwa 2026-05-14 18:06:27 +02:00
  • b5025bb5f8 refactor(resolve_destination): factor shared series-folder resolution + DTO base francwa 2026-05-14 16:09:33 +02:00
  • e45465d52d feat: split resolve_destination, persona-driven prompts, qBittorrent relocation francwa 2026-05-14 05:01:59 +02:00
  • 1723b9fa53 feat: release parser, media type detection, ffprobe integration francwa 2026-05-12 16:14:20 +02:00
  • 249c5de76a feat: major architectural refactor francwa 2026-05-11 21:33:37 +02:00
  • 62b5d0b998 Settings + fix startup francwa 2026-04-30 12:41:42 +02:00
  • 213b8e3c95 fix(deps): update dependency uvicorn to ^0.46.0 renovate/uvicorn-0.x Renovate Bot 2026-04-27 04:03:01 +00:00
  • 610dee365c mess: UV + settings KISS + fixes francwa 2026-04-24 18:10:55 +02:00
  • d88915f098 fix(deps): update dependency fastapi to ^0.136.0 renovate/fastapi-0.x Renovate Bot 2026-04-20 04:01:06 +00:00
  • a1b2119612 chore(deps): update pgvector/pgvector docker tag to v0.8.2 renovate/pgvector-pgvector-0.x Renovate Bot 2026-03-16 04:00:39 +00:00
  • 0755811853 chore(deps): update dependency pytest-cov to v7 renovate/pytest-cov-7.x Renovate Bot 2026-02-09 04:02:38 +00:00
  • 9ecda8c6b0 chore(deps): update dependency pytest-asyncio to v1 renovate/pytest-asyncio-1.x Renovate Bot 2026-02-09 04:02:36 +00:00
  • 0b3c4b135b chore(deps): update dependency pytest to v9 renovate/pytest-9.x Renovate Bot 2026-02-09 04:02:34 +00:00
  • 3dd92933e1 chore(deps): update dependency ruff to ^0.15.0 renovate/ruff-0.x Renovate Bot 2026-02-09 04:02:29 +00:00
  • 34fd3ae290 chore(deps): update dependency pytest-asyncio to ^0.26.0 renovate/pytest-asyncio-0.x Renovate Bot 2026-02-09 04:02:27 +00:00
  • 92f42ffce3 feat: implemented declarative schema-based settings system feat/improved_settings francwa 2026-01-06 04:55:52 +01:00
  • 58408d0dbe fix: fixed vectordb loneliness francwa 2026-01-06 04:39:42 +01:00
  • 2f1ac3c758 infra: simplified mongodb healthcheck francwa 2026-01-06 04:36:01 +01:00
  • d3b69f7459 feat: enabled logging for alfred(-core) francwa 2026-01-06 04:33:59 +01:00