54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# TIME Phase T1 Foundation
|
|
|
|
This phase introduces only the **shared TIME-domain foundation** in the NEW runtime.
|
|
|
|
## Included
|
|
|
|
- `TIME` schema
|
|
- common root fact table: `TIME.time_entry`
|
|
- reverse-link helper table: `TIME.time_entry_source_link`
|
|
- synchronization audit/state tables:
|
|
- `TIME.time_sync_run`
|
|
- `TIME.time_sync_state`
|
|
- NEW runtime configuration scaffold under `dip.time.*`
|
|
- new canonical document markers:
|
|
- `DocumentType.TIME_ENTRY`
|
|
- `DocumentFamily.TIME`
|
|
|
|
## Not included yet
|
|
|
|
- Leitstand import
|
|
- Toggl import
|
|
- search projection
|
|
- text representations
|
|
- embeddings
|
|
- structured search
|
|
|
|
## Design intent
|
|
|
|
The TIME domain uses:
|
|
|
|
- shared generic canonical documents in `DOC.*`
|
|
- source-specific imported tables later (`TIME.ls_*`, `TIME.toggl_*`)
|
|
- one shared canonical root fact per time entry in `TIME.time_entry`
|
|
|
|
This allows later source-specific import without forcing all external systems into one prematurely normalized source model.
|
|
|
|
## Tables
|
|
|
|
### `TIME.time_entry`
|
|
Shared canonical time-entry fact, linked 1:1 to `DOC.doc_document`.
|
|
|
|
### `TIME.time_entry_source_link`
|
|
Maps a time entry to one or more source-system entity ids such as root entry id, task id, cost-unit id, etc.
|
|
|
|
### `TIME.time_sync_run`
|
|
Stores audit information for one sync/import run.
|
|
|
|
### `TIME.time_sync_state`
|
|
Stores mutable cursor/watermark state per source system and scope.
|
|
|
|
## Next phase
|
|
|
|
T2 adds Leitstand source import tables and importer logic.
|