Skip to content

(feat) Add unmanaged sample container support #68

Description

@aurthurm

Summary

senate.storage currently assumes every StorageSamplesContainer is grid-managed, with samples assigned to fixed row/column positions. That model works for boxes, racks, and trays, but it does not support some storage cases where samples are stored in containers without slot-level position tracking.

This gap blocks use cases such as:

  • bags or bins of samples
  • temporary holding containers
  • bulk archival containers
  • other physical containers where only container membership matters

Problem

At the moment:

  • StorageSamplesContainer requires managed positions
  • store/recover flows assume a position is always needed
  • container sample listings assume a position column always exists
  • sample viewlets display a position unconditionally

Expected behavior

We need StorageSamplesContainer to support two modes:

  • managed: existing row/column position tracking
  • unmanaged: samples are stored in the container without fixed positions

For unmanaged containers:

  • storing a sample must not require a position
  • row/column grid assumptions must not drive validation
  • sample listings and sample viewlets must not display meaningless positions
  • an optional physical_capacity can be used to enforce a hard sample count limit
  • edit forms should show only the relevant fields for the selected mode

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