Skip to content

US-21 — Analyse my whole network at once, not device by device #314

Open

Description

@ARSH871-bot

As an engineer with forty switches, I want one scan over all of them, so I see problems that only exist between devices.

Acceptance criteria

  • Already true, verified: a snapshot of N devices is analysed, scoped per device, with wall-clock recorded at 10 and 50 in docs/scale.md
  • Still missing: 100 devices, and MEMORY at every size -- only time was taken
  • Still missing: the finding that matters. At 50 devices the analysis returns 3 findings, the same as at one, because every rule names a specific device. Fifty devices in, one device examined
  • So the real deliverable is that a multi-device scan reports coverage honestly: N devices present, M examined, and the difference stated
  • tests/fixtures/multi-device-10 and tools/make_scale_fixture.py already exist and are extended rather than replaced

Why this is in the milestone

RESCOPED after reading docs/scale.md, which #218 already produced. Discussion #296 asked for timings that had been taken six weeks earlier: 10 devices in 4.3 s, 50 in 6.9 s, roughly linear. Speed was never the risk. The document's own second half says so -- the analysis does not grow with the network, which is #87 wearing a different hat. What is genuinely outstanding is memory, 100 devices, and making the coverage gap visible rather than leaving a user to infer it from a suspiciously short list.


Epic: Scale | Size: M | Assigned: @ARSH871-bot

Story and acceptance criteria come from Discussion #296 unchanged, so anyone who reviewed the discussion has already reviewed this issue.

Related: #87, #218

Part of Phase 3 - market readiness. The distribution of this milestone is deliberately uneven and is explained in docs/design/phase-3-backlog.md and on #249.

Activity

  1. self-assigned this
    on Sep 10, 2026
  2. added
    size: LTwo weeks or more, or needs a team decision.
    phase: 3Market readiness -- what stands between us and a product someone could buy.
    on Sep 10, 2026
  3. ARSH871-bot commented on Sep 12, 2026

    @ARSH871-bot
    OwnerAuthor

    Rescoped before anyone started it, for the same reason as #320: the premise was wrong in our favour.

    This issue came from Discussion #296, which asked for "wall-clock time and memory recorded in docs/scale.md at 10, 50 and 100 devices". docs/scale.md already exists — @shubhamkataria2005 produced it for #218, which he owned and closed — and already records:

    devices   load + analyse
    10        4.3 s
    50        6.9 s
    
    "Roughly linear, and fast. Fifty devices in seven seconds.
     Scale is not the problem."
    

    So the timings were taken about six weeks before the story asking for them was written.

    What is genuinely outstanding

    1. Memory. Only wall-clock was measured. docs/scale.md says nothing about memory at any size.
    2. 100 devices. Measured at 10 and 50; tools/make_scale_fixture.py --devices 100 will generate it.
    3. The finding that actually matters, which neither Phase 3 backlog: twenty user stories, five each (proposal) #296 nor this issue mentioned, and which is the second half of scale.md:
    devices   findings   what policy compliance reported
    10        3          PC-049  9 of 10 not covered
    50        3          PC-049  49 of 50 not covered
    

    Three findings at fifty devices, the same as at one. The analysis does not grow with the network, because every rule names a specific device (#87). Fifty devices in, one device examined.

    That is not a performance problem. It is #87 wearing a different hat, and #316 and #319 already own the fix. What belongs here is making the gap visible: a multi-device scan should say N devices present, M examined rather than leaving a user to infer it from a suspiciously short list. A user who uploads fifty devices and gets three findings currently has no way to tell a clean network from an unexamined one — which is F-4 at estate scale.

    Why I am writing this up rather than quietly editing

    This is the second story in this milestone to ask for work already done, and both errors point the same way: they understated what we have.

    An overclaim gets caught the moment somebody tries the feature. An underclaim quietly funds a sprint of re-doing finished work, and nothing objects. It is the less alarming failure and the more expensive one.

    Both came from copying #296's wording faithfully instead of checking it against main. Copying a claim faithfully is not the same as checking it — which is the sentence this project has now had to write about the A-2 ratification table, the PF Sense blocker list, docs/traceability.md, and now twice about its own backlog.

    Also corrected on #348: the Scale section of docs/design/phase-3-backlog.md said "We have never run this on a network larger than a handful of devices. Every performance claim we might make is currently a guess." Both sentences were false, and docs/scale.md had been in the repository the whole time.

    #335 and #343 are rescoped in the same pass — #335 to build on scale.md's figure rather than pretend it does not exist, #343 to extend tools/preflight.py rather than grow a second thing that looks like it.

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

Metadata

Metadata

Assignees

Labels

phase: 3Market readiness -- what stands between us and a product someone could buy.size: LTwo weeks or more, or needs a team decision.

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions