Prove the environment before writing engine code.
- Confirm the exact
<publish_base> for 2.2.1 from the deployed client config (not a guess).
- Pull one known-completed 2.2.1 sample and diff its
rclone lsf -R against the expected spec inventory (manifest.json, MARK_COMPLETE, full_data/ + rarefied_data/, metaphlan/bracken/gtdb/resistome step files).
- Prove creds on onclappc02:
rclone lsd r2: + rclone lsd gs1:; psql SELECT 1; DuckDB httpfs reads a probe parquet from R2 via a CREATE SECRET.
- Verify the load-bearing assumption: DuckLake data paths are relative / data_path-overridable, so one parquet set resolves under both
s3:// and https:// (throwaway two-endpoint lake).
✅ Done when: a captured listing of a real 2.2.1 sample matches the spec inventory; a one-liner prints the count of completed 2.2.1 samples from Postgres; DuckDB lists an R2 bucket and reads a probe parquet back; the two-endpoint attach test passes (same rows via s3:// and https://).
Part of #57. Design & acceptance criteria: https://github.com/seandavi/nextflow_telemetry/blob/main/docs/output-catalog-etl-plan.md#phase-0--ground-truth--credentials
Prove the environment before writing engine code.
<publish_base>for 2.2.1 from the deployed client config (not a guess).rclone lsf -Ragainst the expected spec inventory (manifest.json, MARK_COMPLETE, full_data/ + rarefied_data/, metaphlan/bracken/gtdb/resistome step files).rclone lsd r2:+rclone lsd gs1:; psqlSELECT 1; DuckDB httpfs reads a probe parquet from R2 via aCREATE SECRET.s3://andhttps://(throwaway two-endpoint lake).✅ Done when: a captured listing of a real 2.2.1 sample matches the spec inventory; a one-liner prints the count of completed 2.2.1 samples from Postgres; DuckDB lists an R2 bucket and reads a probe parquet back; the two-endpoint attach test passes (same rows via s3:// and https://).
Part of #57. Design & acceptance criteria: https://github.com/seandavi/nextflow_telemetry/blob/main/docs/output-catalog-etl-plan.md#phase-0--ground-truth--credentials