Skip to content

feat: container signature status/progress + mageflow.astatus #134

Description

@yedidyakfir

Summary

Add the ability to inspect how far along a container signature is (Swarm / Chain), and a client-level function to query several containers at once.

Deliverables

  1. Container progress — a container_status() coroutine on ContainerTaskSignature, implemented for SwarmTaskSignature and ChainTaskSignature, returning a structured ContainerStatus model (not a bare number) with:
    • total, finished, failed, running, pending
    • percentage, status, is_done
  2. mageflow.astatus(*ids) — loads multiple signatures at once, verifies each is a container, and returns a ContainersStatus wrapper model (with an aggregate overall_percentage).

Decisions

  • Function name: astatus (matches asign / achain / aswarm).
  • A missing id or a non-container signature (e.g. a plain TaskSignature) raises a clear error (MissingSignatureError / new NotAContainerError).
  • Percentage is terminal-state: (finished + failed) / total.

Tasks

  • Add ContainerStatus / ContainersStatus models + NotAContainerError
  • Implement container_status() on Swarm and Chain
  • Add astatus(*ids) aggregator + HatchetMageflow.astatus + package exports
  • Unit tests (third-magic + mageflow), including missing/non-container raises

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