You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
US-21 — Analyse my whole network at once, not device by device #314
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.
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.
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
Memory. Only wall-clock was measured. docs/scale.md says nothing about memory at any size.
100 devices. Measured at 10 and 50; tools/make_scale_fixture.py --devices 100 will generate it.
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.
Activity
ARSH871-bot commentedon Sep 12, 2026
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.mdat 10, 50 and 100 devices".docs/scale.mdalready exists — @shubhamkataria2005 produced it for #218, which he owned and closed — and already records:So the timings were taken about six weeks before the story asking for them was written.
What is genuinely outstanding
docs/scale.mdsays nothing about memory at any size.tools/make_scale_fixture.py --devices 100will generate it.scale.md: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.mdsaid "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, anddocs/scale.mdhad 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 extendtools/preflight.pyrather than grow a second thing that looks like it.A second story asked for work main had already done, and the same way…