Skip to content

timzifer/quarc

Repository files navigation

QUARC Gopher Mascot

QUARC (Quadriphasic Automation Runtime Controller)

CAUTION: Although functional and well written, this software has mainly been coded by openAI-Codex

Coverage

QUARC is a deterministic, cyclic automation runtime that executes four strictly separated phases—READ, PROGRAM, EVAL, and COMMIT—on a fixed schedule. The controller stores typed in-memory cells, lets reusable control programs derive new signals, evaluates expression-based logic, and finally commits changes back to configured outputs using a write-on-change strategy. Protocol support is provided by pluggable drivers so deployments can run without physical IO and attach only the transports they require.

Highlights

  • Deterministic cycle scheduler with isolated read/program/eval/commit phases.
  • Typed cell store with diagnostic propagation and manual override helpers.
  • Configurable expression DSL with validation hooks and runtime logging.
  • Transport-agnostic driver architecture with reusable bundles.
  • Optional live view UI and Prometheus-compatible telemetry exporter.

Documentation

Getting started

  1. Build/install the binary:

    go build ./cmd/...
  2. Start the controller with your configuration:

    ./quarc --config path/to/config.cue

    Use --config-check to produce a detailed logic validation report without starting the service, or --healthcheck to perform a lightweight configuration validation suitable for container health probes.

Continuous integration

The Go coverage workflow runs go test ./... -coverprofile=coverage.out, publishes the coverage profile as a build artifact, and reports the aggregated coverage percentage in the job summary.

Release process

Releases tag the root module and the driver modules so that consumers can pin compatible versions. When creating a new version, create matching tags for:

  • github.com/timzifer/quarc
  • github.com/timzifer/quarc/drivers/modbus
  • github.com/timzifer/quarc/drivers/canstream
  • github.com/timzifer/quarc/drivers/bundle

This ensures downstream users embedding the drivers can resolve consistent module versions.

Testing

Run the full test suite with:

go test ./...

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •