HipotPilot - Automated Harness Test Script Generator

Built to replace manual Cirris script creation by generating validated test scripts directly from connector data.

Project Summary

HipotPilot is a full-stack manufacturing software project that transforms connector library data into validated Cirris hipot test output. The system supports dynamic harness building, saved jobs, revision history, and a cleaner path from connector definition to script generation.

I used SQLite locally because it is lightweight. I used PostgreSQL in deployment because the live app needed a real standalone database instead of a local file.

HipotPilot workflow diagram with hippo icon and PostgreSQL deployment architecture

Automated Harness Test Generation for Cirris Hipot Workflows

HipotPilot is a live system for generating validated Cirris hipot test scripts from a connector database. The core concept is straightforward: store connector definitions once, then use that structured data to assemble a valid test program. The result is a workflow that reduces repetitive setup and gives teams a cleaner path from connector data to usable script output.

The current v2 system expands that idea into a more complete workflow. Instead of hardcoded pages for different connector counts, HipotPilot introduces a dynamic harness builder, script preview and download, validation around connector aliasing and part number lookup, and a persistence layer for saved harnesses and revisions. The goal is to move beyond "form generates text" into a true harness definition workflow.

Technologies Used

What It Does

It takes connector inputs and generates a structured hipot test script automatically.

HipotPilot allows an operator or engineer to assemble a harness by selecting connector aliases and part numbers from a connector library, add attach or from-to instructions, and generate validated Cirris-compatible hipot scripts. The generated output can be previewed in the application and downloaded directly instead of being built by hand.

The system also introduces a saved-harness model so builds can become repeatable. A harness can be stored, reopened, and versioned over time, creating a stronger foundation for engineering review, operator traceability, and future workflow expansion.

Why It Matters

This replaces manual script writing, reduces errors, and enforces consistency using a connector database.

This project focuses on a specific test-definition workflow rather than a generic CRUD interface. It handles the translation between structured connector data and formatted Cirris output, which gives the application a clear operational purpose.

The core workflow is useful on its own, and the current version focuses on better structure, clearer UX, and a more durable system design.

Hipot tester workflow showing user input, JSON payload, Django processing, connector database, and script output

System Design

The current stack uses Python and Django on the backend with server-rendered templates, custom HTML, CSS, and vanilla JavaScript on the frontend. Local development originally ran on SQLite for fast iteration, while the deployed system now uses PostgreSQL for persistent hosted data. The project uses Django's ORM and routing for application structure, while the domain-specific logic lives in the script-generation layer that converts connector and harness data into Cirris output.

That split keeps local development lightweight while giving the deployed app a production-style persistence layer. The same Django model and parsing logic runs in both cases, with the database swap handled at the configuration layer.

On the frontend, the builder uses a JavaScript-driven UI that serializes variable-length connector data into a JSON payload (connectors_payload), which allows flexible user input without relying on static connector-count-specific forms.

On the backend, the application parses and validates that payload, normalizes aliases, enforces input constraints, and resolves connector part numbers against the relational connector library. The resulting enriched dataset drives deterministic output generation and supports preview, download, and revision-controlled persistence.

HipotPilot builder and v2.py workflow diagram

One important detail in the data model is that the connector is the mates-with part number of the connector shown in the generated script. The database stores both the selected connector record and its interfacing or mating connector value, and the script output uses that mating-side identifier where appropriate. In the public demo version, that relationship is represented with demo-safe records built from publicly available or reconstructable connector reference information.

Core domain entities now include:

  • Connector library entries
  • Harness definitions
  • Harness connector mappings
  • Revision snapshots of generated scripts

This makes the application a lightweight operational system for creating, saving, and updating harness test definitions.

Key Features

  • Connector-library-driven harness creation
  • Dynamic builder UI
  • Script preview in-app
  • Downloadable Cirris script output
  • Saved harness records
  • Revision history for future traceability
  • Foundation for future diagram-upload parsing