DIP/docs/TIME_PHASE_T1_FOUNDATION.md

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.