Skip to content

Prefix synthetic raw tables with SYNTHETIC - #37

Merged
amc-corey-cox merged 2 commits into
mainfrom
synthetic-filename-label
Sep 10, 2026
Merged

amc-corey-cox merged 2 commits into
mainfrom
synthetic-filename-label

Conversation

@amc-corey-cox

Copy link
Copy Markdown
Member

CLAUDE.md requires generated data to carry SYNTHETIC in the filename as well as a header, so that a stray .txt.gz is identifiable without opening it. The raw tables had the header but not the filename — they followed the dbGaP convention exactly, which is precisely what makes one lifted out of its directory look like a controlled-access export. The policy landed in #28, after the generator was written.

Raw tables are now SYNTHETIC.phs000101.v1.pht000111.v1.p1.c1.ex0_1s.HMB.txt.gz. A prefix rather than a suffix: it is what a listing sorts on and shows first, and it survives the truncation that hides the middle of a long name.

No effect on the pipeline or its output. dm-bip finds the table accession with an unanchored search for pht[0-9]+ and already expects prefixed names (CARDIA_pht001562.txt.gz is the example in its own source). Ran both studies through and diffed: every harmonized file is byte-identical, since ids derive from accessions and SUBJECT_ID, not filenames. Specs and sample/ unchanged, 70 validation checks pass.

Found while staging the rc2 corpus release, which is blocked on this.

Copilot AI lite review requested due to automatic review settings September 10, 2026 15:37
@netlify

netlify Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for study-palette canceled.

Name Link
🔨 Latest commit 4d22e20
🔍 Latest deploy log https://app.netlify.com/projects/study-palette/deploys/6aa2d166f287de000806e624

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The change is low-risk and localized to filename emission, with existing CI already regenerating and validating the synthetic corpus.

Pull request overview

This PR updates the synthetic raw-table generator to prefix every emitted dbGaP-style .txt.gz with SYNTHETIC. so a stray file can’t be mistaken for a controlled-access export, aligning the generator with the synthetic-data publication policy described in CLAUDE.md.

Changes:

  • Prefix raw table filenames with SYNTHETIC. in synthetic/generate.py.
  • Update synthetic/README.md to describe the SYNTHETIC. filename marker in the raw-table pipeline overview.
File summaries
File Description
synthetic/README.md Documents the new SYNTHETIC. prefix in the raw-table naming scheme and pipeline diagram.
synthetic/generate.py Changes raw table output filenames to include a SYNTHETIC. prefix while preserving the same table/accession content.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread synthetic/README.md Outdated
Copilot AI review requested due to automatic review settings September 10, 2026 15:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟢 Approval recommended

The changes are narrowly scoped to synthetic raw-table naming and accompanying documentation, with no additional code paths impacted in-repo.

Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@amc-corey-cox
amc-corey-cox merged commit e6eb8da into main Sep 10, 2026
5 checks passed
@amc-corey-cox
amc-corey-cox deleted the synthetic-filename-label branch September 10, 2026 16:50
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.

2 participants