Phase 3 backlog: twenty user stories, five each (proposal) #296
Replies: 2 comments
|
Replying against my own five (US-25 to US-29). Cut: US-27 (full support for Arista, NX-OS, Juniper)Weighed it against the same test you set for the other nineteen -- a measured gap, a real client need, or one of #240's four problems -- and it's the one of my five that fails all three. The client's actual network is Cisco plus pfSense; nothing about a third vendor serves him, and "end to end, not just parsing" across three separate vendors is the single largest unscoped chunk of work in my list. US-26 and US-28 both close gaps we have already measured and named (#87, #78). US-27 doesn't close anything that is currently broken -- it's breadth for its own sake, and breadth is the wrong thing to be buying two weeks from submission. Add: prove the local-model boundary holds, don't just fix it onceThis one is grounded in something that already happened, not invented for the exercise. That is exactly this project's own recurring failure shape, stated in our own words already: "a guarantee that holds against an unstated condition rather than one the repo enforces." Why this pairing, for the product overallBoth halves point the same direction: US-26/US-28 spend the freed-up time on gaps we can prove are real, and the network-boundary story spends a little more of it making sure the one promise this whole product is built on -- config data never leaves the machine -- is something the test suite defends rather than something a fix happened to catch in time. That is a better trade for a final product than three more vendors nobody asked for. |
|
Submission is in, so this is no longer a proposal. All twenty are now issues, in milestone Phase 3 - market readiness, alongside sixteen new ones — 38 stories total.
US-28 did not become a new issue. It is #78, which already exists, is already Ankeet's and already carries the client's real export in its history. Creating it again would have been the duplicate-fact defect committed by the backlog written to avoid it. It is folded into the milestone instead. What changed from what is written above, and what did notThe stories and acceptance criteria are unchanged. They are copied out of this discussion rather than rewritten, so reviewing this thread already reviewed those issues. Two rationales were expanded during review because a test rejected them as too thin (US-26 and US-36 — the criteria themselves are untouched). The assignments changed, and that is the part to argue with. This thread says five each. The issues say Arsh 28, Ankeet 4, Shubham 3, Samika 3. That is deliberate. Most of this milestone is sequential — US-22 waits on US-33, US-45 on US-35, US-46 on US-22 and US-44 — and a dependency chain moves at the speed of whoever is slowest to pick up their link. Concentrating the chain removes the hand-off latency. Everyone else gets a short, self-contained slice inside a vertical they already own, with nothing in it that blocks anybody else. It does not reduce anyone's total load, and I would rather say that here than let it be discovered. #249 measured that review, not authorship, is where this project's defects actually get caught. This split moves work from writing to reading. Every one of these still needs a current approving review from someone who did not write it. Reasoning in full in Two things in this thread I got wrong"None of this should start before Thursday 10 September." Right at the time and now spent — that date has passed. US-24 as written here is parse coverage (lines recognised / total). #308 has since raised a different coverage problem: the statement rendering on one surface and not another. They are not the same story, so #317 keeps this thread's scope and #308 stays its own item as Sixteen new stories were added on top: installation, egress proof, scale ceilings, background jobs, retention, SBOM, air-gapped install, and pointing Netwise at its own deployment. None of them are in this thread because this thread was written to a different question — what would make this a better capstone rather than what would stop a stranger who paid for it asking for a refund. Objections to any assignment are cheap to act on: it is one |
Uh oh!
There was an error while loading. Please reload this page.
Twenty user stories, five each, written so we can argue about them before any
of them becomes work. Nothing here is assigned yet — this is a proposal.
US-2throughUS-19are already in use, so these runUS-20–US-39.How I picked them
I did not invent a wish list. Each story is one of three things:
with acceptance criteria instead of a paragraph of direction
They are split along the vertical slices we already own, so nobody is working
in somebody else's file.
A note on timing, which matters more than the stories
PDR submission is Thursday 10 September. None of this should start before
then. I am posting it now because the direction is easier to argue about when
it is written down, not because there is capacity for it this week.
Arsh — pipeline, access control, platform
US-20 — Check my configs in CI, before the change merges
As a network engineer, I want Netwise to run in my pipeline and fail the build
when a change introduces a high-severity finding, so a bad rule never reaches a
device.
python -m netwise check <dir>exits non-zero when afoundfinding is ator above a configurable severity, zero otherwise
--format jsonwrites the F-1 findings to stdout unchangedstatus="error"finding fails the build by default — we could not checkmust never be a silent pass in automation
README.mdUS-21 — Analyse my whole network at once, not device by device
As an engineer with forty switches, I want one scan over all of them, so I see
problems that only exist between devices.
docs/scale.mdat 10, 50 and 100 devicesmulti-device-10fixture is extended rather than replacedUS-22 — Tell me only what changed since the last scan
As someone who scans weekly, I want the diff, so I am not re-reading forty
findings I already triaged.
(ids are not stable identity — this is Phase 2 (direction only): four algorithmic problems, one per person #240's problem C and it blocks this)
US-23 — Make
access_controlread my policyAs a user with my own network, I want the access-control check to use my rules,
so it stops reporting "could not check" on every device I own.
access_controlreadsrules_in_use()exactly aspolicy_compliancedoestools/stranger_config.pyre-run and the FOUND column recorded hereUS-24 — Show me what Netwise could not read
As a user, I want to know which parts of my config were not understood, so I
know how much of the file the result actually covers.
Ankeet — routing, the AI layer, vendor support
US-25 — Let me ask a follow-up
As a user, I want to ask "and what would fix that?" after an answer, so I am
not re-typing the whole question.
question_understoodshows the fully resolved question, not my shorthandUS-26 — Make
routingread my policyAs a user, I want routing checks against my devices, not
rtr-hqandrtr-branch.US-27 — Analyse a vendor that is not Cisco, end to end
As an engineer with a mixed estate, I want Arista, NX-OS and Juniper to work
as well as IOS does.
status="error", per F-4README.md, generated rather than typedUS-28 — Convert my whole pfSense export, including NAT
As the client, I want my real firewall analysed, not most of it.
blocked on the client, and saying so is part of the story
US-29 — Explain related findings as one story
As a user looking at five findings caused by one bad rule, I want one
explanation, not five.
Shubham — policy compliance, change impact
US-30 — Tell me if my own policy contradicts itself
As someone writing a policy, I want to know that rule 3 requires what rule 7
forbids, before I run anything against a network.
US-31 — Check a proposed change against my whole policy
As an engineer, I want to know whether an edit breaks any rule I have, not
just the one flow I thought about.
analyse_changeruns every policy rule across before and aftercompareFilters+differentialReachabilitypairingUS-32 — Tell me which of my policy rules never fire
As a policy author, I want dead rules found in my policy the way dead ACL
lines are found in my config.
filterLineReachability, and states that symmetryUS-33 — Recognise the same problem across two scans
As someone tracking progress, I want to know whether this is last week's
problem or a new one.
free-text evidence
rtr-us5-insecureandrtr-us5-messyboth emit
AC-001for different problemsUS-34 — Draft a policy from a config I already have
As a new user with no written policy, I want a starting point derived from
what my firewall already does.
Samika — risk, interface, security
US-35 — Sign in, so my scans are mine
As one of several users on a shared install, I want my configs and results
private to me.
trying to read someone else's
US-36 — Rank by what it would cost me, not just what kind of bug it is
As an owner, I want the finding on my payroll server above the same finding on
a lab switch.
business_context.pybeyond three tiers to a stated impact modelseverity-rules.mdwasriskstill may not downgrade or drop astatus="error"findingUS-37 — Give me something I can hand to an auditor
As someone facing an audit, I want a dated evidence pack, not a screenshot.
the tool version, and the snapshot fingerprint
US-38 — Let me use it with a keyboard and a screen reader
As a user who does not use a mouse, I want the whole dashboard operable.
finishes it for the cards, filters and dialogs
US-39 — Show me progress during a long scan
As a user scanning 50 devices, I want to know it is working.
What I have deliberately left out
constraint, permanently.
proposal-and-simulation feature at best. Writing it as a story would imply we
can enforce it.
that shaped the whole stack.
issues with owners or waiting to be picked up — they are not restated here.
What I want from each of you
Reply with the one story in your five you would cut, and the one thing
you would add that I have missed. I would rather ship fifteen we all believe
in than twenty nobody has argued about.
Then, after the 10th, whichever survive get real issues with acceptance
criteria and go on a milestone.
All reactions