feat: add AI catalog description generation
This commit is contained in:
@@ -12,6 +12,8 @@ flowchart LR
|
||||
USER["Reviewer"] --> FE["Frontend\nReact and SSE"]
|
||||
FE --> BE["Backend\nFastify"]
|
||||
BE --> CATALOG["Metadata catalog\nPostgreSQL"]
|
||||
BE --> MODEL["Configured AI model\nvia short-lived LiteLLM helper"]
|
||||
BE -->|bounded read-only samples| DWH
|
||||
BE --> PI["Pi\nRPC per sessione"]
|
||||
PI --> THT["tht and harness\nworkflow and persistence"]
|
||||
THT --> DWH["DWH\nread only"]
|
||||
@@ -50,12 +52,19 @@ A session is a directory under `sessions/` (the workspace defines the path): `se
|
||||
configurations stored in PostgreSQL through Kysely.
|
||||
- `CatalogTableService` reconciles persisted Catalog Tables with a successful external schema scan;
|
||||
`ConcreteCatalogTableIntrospector` isolates direct PostgreSQL, typed REST, and SSH-tunnel access.
|
||||
- `DescriptionGenerationWorker` admits one installation-wide run and processes its table or column
|
||||
targets sequentially.
|
||||
- `PostgresDescriptionSourceSampler` reads bounded real rows and five representative examples from
|
||||
the configured DWH connection; `ProcessModelCompleter` invokes the short-lived Python LiteLLM
|
||||
helper with the installation-selected model.
|
||||
|
||||
Application settings remain in `backend/data/settings.json`; session state remains in harness phase
|
||||
documents. PostgreSQL stores only the administrative database catalog, bindings, observed tables,
|
||||
and curated descriptions. Connector secrets remain write-only in the encrypted workspace secret
|
||||
store. Catalog SSH support is limited to connection tests and table synchronization; it does not
|
||||
change the session runtime binding contract.
|
||||
curated and generated descriptions, description-generation runs, and sanitized run events.
|
||||
Connector secrets remain write-only in the encrypted workspace secret store; model credentials
|
||||
remain in the protected installation secret bundle. Catalog SSH support is limited to connection
|
||||
tests, table synchronization, and bounded description-generation sampling; it does not change the
|
||||
session runtime binding contract.
|
||||
|
||||
## Human-in-the-loop gate contract
|
||||
|
||||
|
||||
Reference in New Issue
Block a user