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

  1. Deterministic validation
  2. Structured evidence
  3. Reviewer-facing interfaces
  4. Explicit safety boundaries
  5. 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

Network Automation Lab architecture layers
LayerResponsibilityPublic evidence
Python validation and reportingParsers, task metadata, deterministic checks, report generation, and the unified network_lab.py entry pointPython modules, parsers/, task registry, pytest coverage
Evidence and reportsStores or indexes structured JSON, HTML, text, summaries, and documentation evidencereports/, summary/, docs/portfolio_evidence/
Flask reviewer interfacePrimary local dashboard for project status, report summaries, filters, bounded previews, and reviewer guidancedashboard_app.py, templates/
Next.js interfaceSecondary Stage-0 evidence and demonstration surfaceapp/, components/, TypeScript and Vitest tests
Governance and safetyDefines current permissions, forbidden behavior, contribution rules, staged capability gates, and negative-test expectationsAGENTS.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.

Review / Evidence
Mock / Dry Run
Gated future capabilityNot enabled by default

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.