Skip to content

Apply family plans in bulk and after virtual-chassis changes #80

Description

@marcinpsk

Parent

#73

What to build

Route bulk application and module-family reapplication after virtual-chassis changes through family plan sets. Operators must keep the existing foreground, background, and signal behavior while rule/template loading and query growth remain bounded across multiple families.

Acceptance criteria

  • Bulk discovery creates one plan per installed family and does not duplicate members across plans.
  • Selected-interface and limit behavior remains compatible with existing foreground and background operations.
  • Foreground views and background jobs render counts, skips, collisions, and member facts from explicit outcomes rather than mutable private conflict structures.
  • Virtual-chassis reapplication plans and executes every module-attached family that depends on virtual-chassis position.
  • Existing device-level interface rules continue to run with their current behavior when the device path also contains module families.
  • Shared enabled-rule and template data is loaded once per applicable batch rather than once per family or member.
  • One blocked family does not prevent later families in the batch from being attempted.
  • Unexpected module failures remain visible and preserve the existing boundary-level continuation policy.
  • Real PostgreSQL tests cover bulk apply, selected subsets, one and eight same-type families, one and eight channelized families, virtual-chassis changes, and mixed module/device interface rules.
  • Query counts and scaling do not regress against the existing implementation baseline.
  • Existing foreground messages, job summaries, signal results, and final interface names remain compatible.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentSpecification is complete and ready for implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions