timothy
3b5a78a08f
fix(176): compile date values to index yyyyMMdd format; guard Advanced toggle
Build ErsatzTV Image / CI image pin matches docker/ci (pull_request) Successful in 6s
Build ErsatzTV Image / Docs update reminder (pull_request) Successful in 16s
Build ErsatzTV Image / decisions.md append-only (pull_request) Successful in 11s
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 7m22s
Build ErsatzTV Image / API docs in sync (OpenAPI + endpoint index) (pull_request) Successful in 17m57s
Build ErsatzTV Image / Functional E2E (curl contracts) (pull_request) Successful in 20m20s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 25m57s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped
Build ErsatzTV Image / Formatting (changed .cs conform to .editorconfig) (pull_request) Successful in 44m33s
2026-07-18 02:43:54 +02:00
timothy
c91c34f113
docs(176): decisions + spa-conventions for the SmartCollection rule builder
2026-07-18 02:43:54 +02:00
timothy
ea6b509016
fix(176): guard Builder toggle for out-of-subset queries; resync query on reseed
2026-07-18 02:41:50 +02:00
timothy
8483af41fc
docs(176): plan Task 8 — guard Builder toggle + resync query (matches shipped fix)
2026-07-18 02:41:50 +02:00
timothy
60e8655a00
feat(176): Builder|Advanced toggle in the SmartCollection dialog
2026-07-18 02:41:50 +02:00
timothy
2763f65b35
test(176): cover RuleBuilder field-change operator/value reset
2026-07-18 02:41:50 +02:00
timothy
ceb9069bae
feat(176): RuleBuilder component
2026-07-18 02:41:50 +02:00
timothy
7d553ef00c
refactor(176): expose clean non-null RuleField from useSearchFields
2026-07-18 02:41:50 +02:00
timothy
279c0d6ce5
docs(176): plan — hook exposes clean non-null RuleField (Core DTOs are nullable-disabled)
2026-07-18 02:41:50 +02:00
timothy
30a8f67e8e
feat(176): field-catalog api + useSearchFields hook
...
Task 6: getSearchFields() client fn + SearchField type in api/search.ts,
and the useSearchFields() hook in builder/rules/fieldCatalog.ts that
reshapes the catalog into fieldTypes (name -> FieldType) and byGroup
views for the rule builder (Tasks 7-8).
Generated SearchFieldResponseModel has all-nullable fields (name/label/
type/group/values), unlike the brief's non-null assumption -- adapted by
dropping fields with a null name and defaulting group to 'Other' / type
to 'text' rather than indexing under undefined.
2026-07-18 02:41:50 +02:00
timothy
03646a2ed9
test(176): compile/parse round-trip property test
2026-07-18 02:41:50 +02:00
timothy
5186bed910
docs(176): plan — broaden round-trip generator to special chars; escaping now total
2026-07-18 02:41:50 +02:00
timothy
218e1810cb
fix(176): total escaping so wildcard/quoted values round-trip (parse review)
2026-07-18 02:41:50 +02:00
timothy
0b5258533a
feat(176): Lucene-subset parser (exact inverse of compiler)
2026-07-18 02:41:50 +02:00
timothy
bc524d0b53
fix(176): split fulltext matches/notMatches from text contains
2026-07-18 02:41:50 +02:00
timothy
7f7062729d
docs(176): fix plan operator model — split fulltext matches/notMatches from text contains (Task 3 review Critical)
2026-07-18 02:41:50 +02:00
timothy
fd786da649
feat(176): rule model + Lucene-subset compiler
2026-07-18 02:41:50 +02:00
timothy
ae22107d98
feat(176): GET /api/v1/search/fields endpoint + regenerated api artifacts
2026-07-18 02:41:50 +02:00
timothy
41df582032
feat(176): search field catalog query + curated list
2026-07-18 02:41:50 +02:00
timothy
aa4127fcef
docs(176): fix plan test-project path + parse.ts self-review nits; add SDD ledger
2026-07-18 02:41:50 +02:00
timothy and Claude Opus 4.8
8c7af0e202
docs(176): implementation plan — SmartCollection visual rule builder
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-18 02:41:50 +02:00
timothy and Claude Opus 4.8
71159c1a8a
docs(176): design spec — SmartCollection visual rule builder (sub-project #1 )
...
Scopes #176 down after recon (Autotune #69 + composite create-channel #63
already shipped): the remaining leg is the visual WYSIWYG rule builder.
Kodi one-level-nested model, compile-only to a closed Lucene subset (no
schema change), backed by a new read-only GET /api/v1/search/fields catalog.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-18 02:41:50 +02:00