Skip to content

Conversation

wietzesuijker
Copy link
Contributor

Aligns data-model, data-model-pipeline and platform-deploy with the ADR docs.

  • Implemented data-model-pipeline/docs/architecture-alignment-todos.md
  • Fixes pre-commit in data-model-pipeline
  • Adds a devseed-staging namespace sandbox

Refs: developmentseed/sentinel-zarr-explorer-coordination#117
Doc: https://github.com/EOPF-Explorer/data-model-pipeline/blob/feat/shared-payload-publisher/docs/architecture-alignment-todos.md

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR aligns the data-model, data-model-pipeline, and platform-deploy repositories with the ADR docs by implementing architecture alignment todos, fixing pre-commit issues, and adding a devseed-staging namespace sandbox.

Key changes include:

  • Comprehensive type hint updates replacing legacy type annotations with modern alternatives
  • New pipeline integration module with payload schema validation and shared data models
  • Addition of STAC Transactions client for API interactions

Reviewed Changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/eopf_geozarr/pipeline/ New pipeline orchestration module with shared payload schema, models, and runner
src/eopf_geozarr/data_api/transactions.py New STAC Transactions API client for collection/item management
src/eopf_geozarr/validator.py New GeoZarr store validation functionality
src/eopf_geozarr/conversion/*.py Type hint modernization replacing Dict/List with dict/list annotations
src/eopf_geozarr/cli.py Enhanced CLI with metrics output support and improved error handling
tests/ Comprehensive test coverage for new pipeline, transactions, and validation modules

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +537 to +540
help=(
"Groups that need CRS information added on best-effort basis "
"(e.g., /conditions/geometry)"
),
Copy link

Copilot AI Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The help string appears to be incorrectly placed in the middle of a CSS style definition. This code block seems to be misplaced and should be moved to the appropriate argument parser section.

Suggested change
help=(
"Groups that need CRS information added on best-effort basis "
"(e.g., /conditions/geometry)"
),

Copilot uses AI. Check for mistakes.

for key, group in geozarr_groups.items():
if group.rio.crs:
crs_string: str = group.rio.crs.to_string()
print(f"Inferred reference CRS from measurements: {crs_string}")
Copy link

Copilot AI Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This debug print statement should use proper logging instead of print() to maintain consistent logging patterns throughout the codebase.

Copilot uses AI. Check for mistakes.

output_path, group_name.lstrip("/"), written_var
)
)
except Exception as exc: # noqa: PERF203 - legacy retry policy
Copy link

Copilot AI Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The noqa comment references PERF203 which seems incorrect for this context. The comment should explain why catching a broad Exception is necessary here, rather than referencing an unrelated performance rule.

Suggested change
except Exception as exc: # noqa: PERF203 - legacy retry policy
except Exception as exc: # Catching broad Exception is necessary to ensure all errors during write are retried.

Copilot uses AI. Check for mistakes.

# Add CRS information if needed
if crs_groups and current_group_path in crs_groups:
print(f"Adding CRS information for group '{current_group_path}'")
print(f"Adding CRS information to group: {current_group_path}")
Copy link

Copilot AI Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This debug print statement should use proper logging instead of print() to maintain consistent logging patterns throughout the codebase.

Copilot uses AI. Check for mistakes.

local filesystem or directly to `s3://` destinations. The payload helpers expose the same field so Argo
Workflow templates and RabbitMQ messages stay aligned.
```
```
Copy link

Copilot AI Sep 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two consecutive closing code fence blocks (```) on lines 107-108, which will cause markdown parsing errors. Remove one of the closing code fences.

Suggested change
```

Copilot uses AI. Check for mistakes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant