[Feature] Provide governed tabular datasource discovery and bounded preview #9

Open
opened 2026-07-28 00:58:09 +02:00 by zemion · 2 comments
Owner

Outcome

Provide the source-side contract needed by GovOPlaN/govoplan-dataflow#1 and the monthly data workflow.

Boundary

Connectors owns connection profiles, credentials references, health, source discovery, schema snapshots, query parameters, bounded sampling, and provider-specific pushdown. Dataflow owns transformation definitions and run lineage; Files owns stored artifacts.

Acceptance Criteria

  • A versioned capability lists visible tabular sources without exposing credentials.
  • Schema discovery returns stable source IDs, column names/types/nullability, discovery revision, and source fingerprint.
  • Bounded preview enforces row/byte/time limits and identifies whether data is live, cached, or file-backed.
  • Connector implementations declare supported filters/projections/aggregation pushdown; unsupported operations stay in Dataflow.
  • CSV/XLSX from Files and one SQL database adapter form the first tested providers.
  • Schema drift, stale credentials, unavailable sources, and tenant isolation have explicit diagnostics.

Related registry work: #7 and #6.

## Outcome Provide the source-side contract needed by https://git.add-ideas.de/GovOPlaN/govoplan-dataflow/issues/1 and the [monthly data workflow](https://git.add-ideas.de/GovOPlaN/govoplan/issues/8). ## Boundary Connectors owns connection profiles, credentials references, health, source discovery, schema snapshots, query parameters, bounded sampling, and provider-specific pushdown. Dataflow owns transformation definitions and run lineage; Files owns stored artifacts. ## Acceptance Criteria - [x] A versioned capability lists visible tabular sources without exposing credentials. - [x] Schema discovery returns stable source IDs, column names/types/nullability, discovery revision, and source fingerprint. - [ ] Bounded preview enforces row/byte/time limits and identifies whether data is live, cached, or file-backed. - [ ] Connector implementations declare supported filters/projections/aggregation pushdown; unsupported operations stay in Dataflow. - [ ] CSV/XLSX from Files and one SQL database adapter form the first tested providers. - [ ] Schema drift, stale credentials, unavailable sources, and tenant isolation have explicit diagnostics. Related registry work: https://git.add-ideas.de/GovOPlaN/govoplan-connectors/issues/7 and https://git.add-ideas.de/GovOPlaN/govoplan-connectors/issues/6.
Author
Owner

Codex State: progress

Summary

  • Converted Connectors from a documentation-only shell into an installable module with migrations, permissions, role templates, APIs, uninstall guards, and versioned tabular capabilities (ba5ccea).
  • The first tenant-isolated provider imports bounded immutable JSON/CSV snapshots, infers schemas, fingerprints content, rejects stale reads, and returns opaque source references without credentials.
  • CSV parsing handles BOMs, delimiters, malformed rows, scalar inference, and leading-zero identifiers through the shared core contract.

Verification

  • python -m unittest discover -s govoplan-connectors/tests (7 passed)
  • python -m unittest discover -s govoplan-dataflow/tests (24 passed)
  • tools/checks/check-contracts.sh (45 contracts passed)
  • tools/checks/check-focused.sh (core, module, API, and WebUI checks passed)
  • Composed JSON/CSV snapshot and connector-backed preview probe passed.

Next / Blocked

  • Implement Files-backed CSV/XLSX discovery, one SQL database adapter, explicit pushdown declarations, source-health/time diagnostics, and stale-credential behavior before closing.
## Codex State: progress ### Summary - Converted Connectors from a documentation-only shell into an installable module with migrations, permissions, role templates, APIs, uninstall guards, and versioned tabular capabilities (`ba5ccea`). - The first tenant-isolated provider imports bounded immutable JSON/CSV snapshots, infers schemas, fingerprints content, rejects stale reads, and returns opaque source references without credentials. - CSV parsing handles BOMs, delimiters, malformed rows, scalar inference, and leading-zero identifiers through the shared core contract. ### Verification - `python -m unittest discover -s govoplan-connectors/tests` (7 passed) - `python -m unittest discover -s govoplan-dataflow/tests` (24 passed) - `tools/checks/check-contracts.sh` (45 contracts passed) - `tools/checks/check-focused.sh` (core, module, API, and WebUI checks passed) - Composed JSON/CSV snapshot and connector-backed preview probe passed. ### Next / Blocked - Implement Files-backed CSV/XLSX discovery, one SQL database adapter, explicit pushdown declarations, source-health/time diagnostics, and stale-credential behavior before closing.
zemion added
status
in-progress
and removed
status
ready
labels 2026-07-28 11:19:31 +02:00
Author
Owner

Codex State: progress

Implemented connectors.datasourceOrigins@0.1.0 and a capability adapter over
the existing bounded tabular snapshot provider in 27302f0. Datasources now
distinguishes whether a registered origin is live or cached and owns
frozen/materialized state; Connectors remains responsible for source kind,
provider health, credentials, and pushdown.

Validated tenant isolation, schema/fingerprint metadata, bounded reads, error
translation, and the composed Connector -> Datasources -> Dataflow path. SQL,
REST, directory, and managed-file providers plus explicit pushdown/health
diagnostics remain open.

## Codex State: progress Implemented `connectors.datasourceOrigins@0.1.0` and a capability adapter over the existing bounded tabular snapshot provider in `27302f0`. Datasources now distinguishes whether a registered origin is live or cached and owns frozen/materialized state; Connectors remains responsible for source kind, provider health, credentials, and pushdown. Validated tenant isolation, schema/fingerprint metadata, bounded reads, error translation, and the composed Connector -> Datasources -> Dataflow path. SQL, REST, directory, and managed-file providers plus explicit pushdown/health diagnostics remain open.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-connectors#9
No description provided.