Network Automation Lab
Making network validation repeatable, reviewable, and safe by default
A safety-first network validation and testing platform presented as a portfolio project.
Python · pytest · Flask · TypeScript · Next.js · GitHub Actions
Problem
Network validation is often documented with terminal history, screenshots, and manually copied output. That evidence may prove that something worked once, but it is difficult to reproduce, compare, test, or audit.
The project reframes network validation as a quality-assurance problem: define deterministic checks, preserve structured evidence, expose uncertainty clearly, and keep execution authority separate from what the software is technically capable of describing.
My approach
- Deterministic validation
- Structured evidence
- Reviewer-facing interfaces
- Explicit safety boundaries
- Staged automation
Architecture
The project connects deterministic validation to structured evidence and two reviewer-facing interfaces, all governed by one safety foundation.
Unavailable evidence is distinct from failed validation.
Accessible text equivalent
| Layer | Responsibility | Public evidence |
|---|---|---|
| Python validation and reporting | Parsers, task metadata, deterministic checks, report generation, and the unified network_lab.py entry point | Python modules, parsers/, task registry, pytest coverage |
| Evidence and reports | Stores or indexes structured JSON, HTML, text, summaries, and documentation evidence | reports/, summary/, docs/portfolio_evidence/ |
| Flask reviewer interface | Primary local dashboard for project status, report summaries, filters, bounded previews, and reviewer guidance | dashboard_app.py, templates/ |
| Next.js interface | Secondary Stage-0 evidence and demonstration surface | app/, components/, TypeScript and Vitest tests |
| Governance and safety | Defines current permissions, forbidden behavior, contribution rules, staged capability gates, and negative-test expectations | AGENTS.md, SECURITY.md, CI, safety tests |
Engineering highlights
Network-validation breadth
The repository contains validation code, tests, or retained evidence for MikroTik, Cisco, WireGuard, VRRP, and iperf3 scenarios.
Safety as an executable contract
Safety rules are represented in documentation, code boundaries, result states, and negative tests. Tests verify that rejected operations do not reach adapters or execution paths.
Structured evidence instead of screenshots alone
Validation results can be represented as machine-readable JSON and reviewer-friendly HTML or text summaries.
Full-stack reviewer experience
The Python layer performs validation and evidence processing, Flask provides the primary local review path, and Next.js demonstrates a secondary product interface.
Safety-first design
The default public experience is a local, reviewer-visible baseline built around mock, dry-run, and report-only behavior.
Capability and authority are separate.
- Missing or malformed evidence does not trigger a live fallback.
- Rejected requests stop before adapter invocation.
- Credentials do not grant feature authority.
- Future capabilities require separate gates.
Testing and engineering quality
The stronger portfolio evidence is what the tests protect, particularly rejection behavior and no-execution guarantees.
- pytest
- Vitest
- Type checking
- ESLint
- Next.js build validation
- Negative-path testing
- Report-index validation
- Tracked-file non-mutation check
Open-source design
The project provides a structured external-contribution path through a public contributor guide, security policy, issue and pull-request templates, focused branch guidance, and bounded newcomer tasks.
Engineering decisions / lessons
- Automation safety matters as much as automation capability.
- Evidence is part of the product.
- Clear boundaries improve maintainability.
- Failure behavior should be designed deliberately.
- AI-assisted development still requires deterministic controls.
Technology
- Python
- pytest
- Flask and Jinja templates
- TypeScript
- Next.js and React
- Vitest and ESLint
- GitHub Actions
- Structured JSON, HTML, and text evidence
- MikroTik, Cisco, WireGuard, VRRP, and iperf3
Portfolio summary
Network Automation Lab is a safety-first network validation and testing platform that turns command output and validation logic into deterministic, reviewer-visible evidence. It demonstrates my approach to automation architecture, testability, evidence design, and responsible engineering boundaries.