1.9 KiB
1.9 KiB
TIME Phase T3 — Projection, representations, and embedding enqueueing
This phase adds the NEW-only TIME projection layer on top of the Leitstand import foundation from T2.
Scope
Included in T3:
TIME.time_entry_search_projection- Leitstand projection builder from imported
TIME.ls_*tables - semantic text materialization for canonical
DOC.doc_documentroots ofTIME.time_entry - lexical indexing through
DOC.doc_text_representation.search_vector - embedding job enqueueing for the TIME primary semantic representation
Not included yet:
- structured search endpoint
- dedicated TIME search DTOs
- Toggl import
- cross-source search
Representation strategy
One root semantic representation is generated per canonical TIME.time_entry document.
The semantic text is built from:
- Time recording description / remark / ID / URL
- person display name
- activity type
- task ids / names / descriptions
- cost unit ids / names / descriptions
- contract names / references
- contract position names / references
- organization names
- recorded time window and duration
This keeps the searchable unit aligned with the future common TIME search concept: one canonical time-entry document enriched with source-specific business context.
Operational notes
After T2 import runs, T3 can immediately refresh projection rows for the imported Leitstand time recordings.
A separate startup runner is also available for rebuilding all TIME projections and semantic representations for already-imported rows:
id: time-t3-startup
dip:
time:
leitstand:
startup-projection-rebuild-enabled: false
build-search-projection: true
build-representations: true
representation-language-code: de
Files added in this phase
TIME.time_entry_search_projectionLeitstandTimeProjectionServiceTimeEntryRepresentationMaterializationServiceLeitstandTimeProjectionStartupRunner