61 lines
1.9 KiB
Markdown
61 lines
1.9 KiB
Markdown
# 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_document` roots of `TIME.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:
|
|
|
|
```yaml
|
|
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_projection`
|
|
- `LeitstandTimeProjectionService`
|
|
- `TimeEntryRepresentationMaterializationService`
|
|
- `LeitstandTimeProjectionStartupRunner`
|