Skip to content

PackageInstaller writes node-repo installs one node at a time — bulk-save would cut course installs by minutes #815

Closed

Description

@rbuergi

Measured on Systemorph/education's blocking e2e gate (the ~27-35 min install job): the dominant cost is not image pulls (0.9-1.5 min incl. both ACR pulls) but per-course install time, because PackageInstaller.cs writes node-repo installs one node at a time (Concat, ~line 455) with a 100 ms visibility-barrier poll per node. A course of ~300 nodes pays that serial round-trip tax on every install — on the disposable mesh AND on every production install.

Proposed: batch the node writes (bulk save per install, one visibility barrier at the end), keeping the per-node validation. The education e2e's install-verification flow (coupon → import → mesh nodes → bulk save → race-free) is the acceptance shape.

Evidence and timing breakdown in Systemorph/education#98's analysis (comment on the e2e-install job + AGENTS.md note explains why caching was measured and rejected).

🤖 Generated with Claude Code

Activity

  1. added a commit that references this issue on Aug 5, 2026
    885225a
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