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

Closed
opened 2026-07-28 00:58:09 +02:00 by zemion · 4 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.
Author
Owner

Codex State: progress

Summary

  • Implemented provider-enforced preview ceilings for rows, exact serialized bytes, and elapsed time in commit 20146ef.
  • Source discovery now declares live/cached/file-backed/static mode, structured health, and projection/filter/aggregation/sort/pagination pushdown.
  • Connector and Datasource APIs expose effective limits and redacted diagnostics; unavailable sources are distinct from invalid requests.

Verification

  • 29 Connectors tests passed; focused cross-repository check and 50 WebUI permutations passed.

Next / Blocked

  • Remaining: managed Files CSV/XLSX and one SQL origin adapter, plus live credential/drift/unavailability diagnostics for those providers.

Suggested status label: status/in-progress

## Codex State: progress ### Summary - Implemented provider-enforced preview ceilings for rows, exact serialized bytes, and elapsed time in commit 20146ef. - Source discovery now declares live/cached/file-backed/static mode, structured health, and projection/filter/aggregation/sort/pagination pushdown. - Connector and Datasource APIs expose effective limits and redacted diagnostics; unavailable sources are distinct from invalid requests. ### Verification - `29 Connectors tests passed; focused cross-repository check and 50 WebUI permutations passed.` ### Next / Blocked - Remaining: managed Files CSV/XLSX and one SQL origin adapter, plus live credential/drift/unavailability diagnostics for those providers. Suggested status label: `status/in-progress`
Author
Owner

Codex State: completed

Delivered

  • Core 142ccbc / v0.1.19 defines the optional files.tabular_content@1.0.0 exact-version contract; f75ad48 also removes the module-entitlement test-order dependency found by the full suite.
  • Files a8c3192 / v0.1.19 supplies authorized CSV/XLSX discovery and exact-version content reads through Files access, integrity, quarantine, encryption, retention/hold, and audit behavior.
  • Connectors 2c2b11f / v0.1.20 adds persisted managed-file and PostgreSQL origins, explicit reviewed refresh, schema/configuration/credential drift blocking, redacted health failures, projection/pagination pushdown, read-only SQL transactions, connection/statement limits, and bounded CSV/XLSX parsing.
  • Root 7f2f896 synchronizes package releases and classifies the three capability-first endpoints.

Acceptance evidence

  • Row, exact serialized-byte, elapsed-time, file/archive/expansion, SQL connection, and SQL statement ceilings are enforced.
  • Source mode and structured health distinguish live PostgreSQL, file-backed exact versions, and cached immutable snapshots.
  • Unsupported filtering, aggregation, and sorting remain undeclared for Dataflow; projection and pagination are declared and pushed down.
  • Tests cover CSV, XLSX worksheet selection and typing, SQL discovery/projection, tenant isolation, inactive/missing/rotated credentials, connector configuration drift, schema drift, unavailable Files capability, unsafe endpoint credentials, explicit file-version adoption, and audit-safe errors.

Verification

  • Files: 163 tests and 34 subtests passed.
  • Connectors: 49 tests and 3 subtests passed.
  • Manifest shapes and strict platform inventory passed for 68 modules, 153 providers, and 95 requirements.
  • tools/checks/check-focused.sh passed all backend/composition checks, 59 WebUI module permutations, the full-product bundle budgets, and 8 Playwright conformance journeys.

All acceptance criteria are satisfied; closing.

## Codex State: completed ### Delivered - Core `142ccbc` / `v0.1.19` defines the optional `files.tabular_content@1.0.0` exact-version contract; `f75ad48` also removes the module-entitlement test-order dependency found by the full suite. - Files `a8c3192` / `v0.1.19` supplies authorized CSV/XLSX discovery and exact-version content reads through Files access, integrity, quarantine, encryption, retention/hold, and audit behavior. - Connectors `2c2b11f` / `v0.1.20` adds persisted managed-file and PostgreSQL origins, explicit reviewed refresh, schema/configuration/credential drift blocking, redacted health failures, projection/pagination pushdown, read-only SQL transactions, connection/statement limits, and bounded CSV/XLSX parsing. - Root `7f2f896` synchronizes package releases and classifies the three capability-first endpoints. ### Acceptance evidence - Row, exact serialized-byte, elapsed-time, file/archive/expansion, SQL connection, and SQL statement ceilings are enforced. - Source mode and structured health distinguish live PostgreSQL, file-backed exact versions, and cached immutable snapshots. - Unsupported filtering, aggregation, and sorting remain undeclared for Dataflow; projection and pagination are declared and pushed down. - Tests cover CSV, XLSX worksheet selection and typing, SQL discovery/projection, tenant isolation, inactive/missing/rotated credentials, connector configuration drift, schema drift, unavailable Files capability, unsafe endpoint credentials, explicit file-version adoption, and audit-safe errors. ### Verification - Files: 163 tests and 34 subtests passed. - Connectors: 49 tests and 3 subtests passed. - Manifest shapes and strict platform inventory passed for 68 modules, 153 providers, and 95 requirements. - `tools/checks/check-focused.sh` passed all backend/composition checks, 59 WebUI module permutations, the full-product bundle budgets, and 8 Playwright conformance journeys. All acceptance criteria are satisfied; closing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-connectors#9