Skip to content

Urgent: replace raw producer_object_euid links with external-object references #63

Description

@iamh2o

Problem

Dewey artifact registration still accepts and persists raw producer_object_euid values. Some paths use this field for values that are not TapDB/Meridian EUIDs, for example PubMed PMIDs. This violates the object identity contract: external object references should be modeled through Dewey/TapDB external-object and external-object-relation records, not raw *_euid fields.

Evidence

Annotated source comments were added at:

  • dewey_service/services/artifacts.py
  • dewey_service/services/literature.py
  • dewey_service/services/sequencer_runs.py
  • dewey_service/services/artifact_set_registration.py

Investigation report: /Users/jmajor/projects/mega_dayhoff/repos_work/daylily-ursa/docs/plans/20260709T234931Z_meridian_euid_integrity_investigation_report.md

Required fix

  • Split generic producer IDs from true TapDB/Meridian EUIDs.
  • Route producer references through external-object and external-object-relation records.
  • Stop storing PMIDs, run labels, analysis IDs, or other generic IDs in producer_object_euid.
  • Add regression tests that reject non-EUID values in fields named *_euid.

Priority

Urgent. This is an identity/linking contract issue and can create fake or misleading /tapdb/object links.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions