Skip to content

Releases: badimirzai/architon-cli

v0.7.0 - Offline HTML Reports

Choose a tag to compare

@badimirzai badimirzai released this 09 May 21:42
f89cd6f

Relese Summary

Architon can now generate fully offline HTML reports for hardware contract verification workflows.
This release introduces a shareable visual report layer on top of the deterministic CLI engine, including embedded scan JSON and GraphIR payloads for CI artifacts, local review, and future Architon Studio integration.
Added

  • rv report --format html
  • Embedded canonical scan JSON
  • Embedded GraphIR JSON
  • Optional artifact export:
    • --scan-out
    • --graph-out
  • Stable report consistency across:
    • rv scan
    • rv graph
    • rv report
  • Project-aware report naming for directories and generated netlists
  • Findings table with:
    • severity
    • contract ID
    • affected net/component
    • fix guidance
    • “Why this matters” explanations
  • Safer GraphIR rail source inference
  • Regression coverage for:
    • pull-up failures
    • pull-down failures
    • weak/strong pull-ups
    • generated netlist discovery
    • report consistency
      Example
      rv report .
      --format html
      --out report.html
      --scan-out report-scan.json
      --graph-out report-graph.json

Notes

  • Reports work fully offline.
  • No cloud upload required.
  • Embedded JSON payloads are intended for future Architon Studio consumption.
  • Exit code behavior remains unchanged:
    • 0 clean/info
    • 1 warnings
    • 2 violations
    • 3 tool/internal failure

v0.6.0 - GraphIR with Contract Finding Rollups

Choose a tag to compare

@badimirzai badimirzai released this 09 May 16:38
4fca6ee

Summary

v0.6.0 introduces GraphIR, a deterministic machine-readable hardware architecture graph generated directly from the same verification pipeline used by rv scan.

This release adds:

rv graph . --format json

GraphIR includes:

  • components as graph nodes
  • electrical connections as typed edges
  • power rails
  • protocol/interface groupings
  • embedded verification findings
  • finding-to-node/edge/interface indexes
  • contract coverage metadata
  • violation and warning rollups

Most importantly, graph output now reuses the same deterministic contract evaluation pipeline as rv scan, meaning custom system-level contract violations are reflected directly in graph topology output.

This release establishes a stable and deterministic graph representation for hardware architecture verification workflows.

v0.5.0: CI and PR Review Output

Choose a tag to compare

@badimirzai badimirzai released this 09 May 11:44
c7e5fe3

Release Summary

Architon v0.5.0 makes rv scan usable as a CI hardware reviewer.
Highlights:

  • New stable JSON output for automation: rv scan --format json
  • New Markdown output for PR comments: rv scan --format markdown
  • New GitHub Actions annotations: rv scan --format github
  • Findings now expose contract context such as contract_id, contract_source, component, net, pin, requirement, fix, and provenance.
  • CI docs and example workflow show how to fail PRs on real violations, post review output, and upload scan reports as artifacts.
  • Existing default human output and exit-code contract are preserved.

v0.4.1 - Cleaner scan output and demo-first documentation

Choose a tag to compare

@badimirzai badimirzai released this 07 May 21:51
07888cd

v0.4.1

This release improves scan readability, onboarding, and documentation structure for deterministic hardware verification workflows.

Highlights

  • Simplified default rv scan output
  • Moved advanced diagnostics and internal scan details into:
    --verbose

v0.4.0 - Deterministic System-Level Contract Enforcement

Choose a tag to compare

@badimirzai badimirzai released this 07 May 18:29
91d4c45

⚡ Architon CLI v0.4.0 - Deterministic System-Level Contract Enforcement

Architon v0.4.0 introduces deterministic system-level contract enforcement for embedded and robotics hardware verification.

This release moves Architon beyond static electrical checks into contract-driven architecture validation across buses, interfaces, power rails, and system integration boundaries.

Architon now supports deterministic verification of both:

  • built-in component contracts
  • user-defined system contracts

The verification pipeline now operates through normalized DesignIR + ContractIR layers, allowing rules to evaluate electrical intent independently from KiCad-specific formats.


⚡ Highlights

Deterministic system-level contract enforcement

Architon can now enforce explicit system policies across imported hardware designs.

Examples:

  • I2C pull-up policy enforcement
  • bus-level electrical constraints
  • voltage-domain requirements
  • architecture-specific hardware standards

Contracts are deterministic, auditable, and CI-compatible.


User-defined contracts

v0.4.0 introduces custom user contract support through YAML-defined requirements.

Example capabilities:

  • enforce pull-up resistor ranges
  • validate protocol-level electrical requirements
  • define organization-specific hardware rules
  • apply scoped bus policies

Example:

requirements:
  - id: i2c_pullup_policy
    rule: pullup_ohms
    buses:
      - type: i2c
        nets:
          sda: I2C_SDA
          scl: I2C_SCL
    min_ohms: 2200
    max_ohms: 10000

✅ Verified KiCad Scenarios

scenarios

Validated during development against real KiCad-exported projects:

  • ✅ valid 4.7k pull-ups pass
  • ✅ parallel pull-ups correctly compute effective resistance
  • ✅ missing pull-ups fail deterministically
  • ✅ pull-down resistors do not count as pull-ups
  • ✅ resistor between SDA/SCL does not count as valid pull-up topology
  • ✅ explicit bus scoping resolves /I2C_SDA and hierarchical KiCad net prefixes

Example failure:

ERROR pullup_ohms:
Net /I2C_SCL has no pull-up resistor in scope

Example successful scan:

ARCHITON SCAN
Result: OK - no scan violations detected
exit code: 0

🧠 New ContractIR Architecture

Architon verification is now separated into deterministic layers:

EDA Project
    ↓
Importer
    ↓
DesignIR
    ↓
ContractIR
    ↓
Rule Engine
    ↓
Structured Findings

DesignIR

Normalized electrical topology independent of EDA tool format.

ContractIR

Normalized electrical requirements and system intent.

Rule Engine

Deterministic evaluation of architecture constraints.

This architecture significantly improves:

  • importer portability
  • future Altium support
  • system-level reasoning
  • stable CI behavior
  • long-term scalability

Deterministic pull-up validation

Added deterministic pull-up resistance validation for I2C buses.

The engine now:

  • detects missing pull-ups
  • rejects invalid resistor topology
  • computes effective parallel pull-up resistance
  • validates resistance range deterministically

Example finding:

ERROR pullup_ohms:
Net /I2C_SCL has no pull-up resistor in scope

Improved findings and provenance

Findings now include richer structured metadata:

  • bus identifiers
  • bus type
  • rule provenance
  • contract source
  • inference metadata
  • deterministic fix guidance

This improves:

  • CI integration
  • report automation
  • debugging
  • future Studio workflows

Rail inference and coverage improvements

Expanded deterministic rail inference system:

  • confidence scoring
  • inference provenance
  • rail coverage reporting
  • unknown rail tracking
  • voltage inference transparency

Example:

Rail inference:
- /+3V3: 3.30V HIGH 0.95 net_name

KiCad workflow improvements

rv scan . now supports stronger deterministic project ingestion:

  • automatic KiCad netlist export
  • deterministic BOM + netlist merge
  • normalized DesignIR generation
  • contract-aware scans

Architon continues moving toward importer-agnostic verification rather than KiCad-specific rule logic.


🛠 New Commands

rv contracts validate <path>

Validate custom contract schema without running verification.


📦 Example Workflow

rv scan . --contracts i2c_pullup_policy.yaml

Example result:

ARCHITON SCAN
Result: FAIL - scan violations detected

Rule findings:
- ERROR pullup_ohms: Net /I2C_SCL has no pull-up resistor in scope
- ERROR pullup_ohms: Net /I2C_SDA has no pull-up resistor in scope

exit code: 2

🔍 Architectural Direction

Architon is evolving toward deterministic pre-fabrication architecture verification for embedded and robotics systems.

The long-term goal is not generic linting or probabilistic analysis.

The focus is:

  • deterministic verification
  • architecture contracts
  • electrical compatibility enforcement
  • CI-native hardware validation
  • reproducible system-level checks

🔒 Deterministic and Local-First

Architon v0.4.0 does not depend on:

  • AI inference
  • cloud verification
  • external APIs
  • datasheet scraping
  • remote services

Verification remains:

  • local
  • deterministic
  • reproducible
  • auditable

🚧 Notes

  • pullup_ohms currently validates resistance only.
    Rise-time and capacitance validation are future work.

  • Architon remains deterministic by design.
    No probabilistic rule evaluation or external network calls are used.

  • v0.4.0 continues to prioritize infrastructure quality, importer normalization, and stable contracts over broad feature count.

v0.3.1 Deterministic Built-in Contract Foundation + Robust Pin Alias Matching

Choose a tag to compare

@badimirzai badimirzai released this 05 May 15:28
4d3047e

Summary

v0.3.1 introduces the foundational contract system for Architon, enabling deterministic, part-aware hardware verification directly from KiCad projects - without requiring manual metadata.

This release establishes the core architecture for system-level electrical validation by combining:

  • Built-in deterministic component contracts
  • Reliable part matching with ambiguity rejection
  • Robust pin alias matching across real-world KiCad symbols
  • Contract-driven rule evaluation with full provenance
  • Contract coverage reporting for transparency

Architon now behaves like a "hardware reviewer in CI", catching critical integration issues such as overvoltage and invalid supply usage before fabrication.


Key Features

Deterministic Built-in Contracts

  • Curated, high-confidence contracts for common components (MCUs, regulators, sensors, motor drivers)
  • No external APIs, scraping, or AI - fully deterministic

Contract Engine Foundation

  • Unified ContractIR model
  • Multiple contract sources:
    • Built-in contracts
    • meta.yaml overrides
    • Schematic/BOM fields
    • Inferred net voltages
  • Clear precedence:
    meta.yaml > schematic/BOM > built-in > inferred

Robust Pin Alias Matching (NEW)

  • Generic alias matching across all components
  • Supports multi-pin supplies (e.g. VM1/VM2/VM3, GND1/GND2)
  • Case-insensitive and normalized matching
  • Safe matching rules to avoid incorrect alias collisions

Contract-Based Rule Evaluation

  • supply_abs_max
  • supply_recommended_range
  • gpio_abs_max
  • motor_driver_vm_range
  • regulator_output_current

Real Hardware Findings

  • Component reference
  • Pin-level detail
  • Net association
  • Deterministic source attribution
  • Suggested fixes
  • Inference provenance

Part Inspection CLI

  • rv parts list
  • rv parts show <mpn>
  • JSON output support for integration

Contract Coverage Reporting

  • Parts matched vs total
  • Contracts applied
  • Unknown power-critical components
  • Enabled contract rules

Example

rv scan . --rails

Detects:

  • ESP32 powered from 5V → ERROR (overvoltage)
  • Motor driver powered from 3.3V → ERROR (invalid VM range)

Notes

  • Built-in contracts are intentionally minimal and curated
  • This is NOT a general-purpose parts database
  • Focus is on high-confidence, deterministic verification

v0.3.0 KiCad schematic scanning, inferred rail metadata, and cross-platform setup improvements

Choose a tag to compare

@badimirzai badimirzai released this 03 May 17:43
31003f4

This release improves KiCad project scanning and setup for Architon CLI.

Highlights:

  • rv scan . can now scan KiCad project folders without committed .net files.

  • When no netlist is found, Architon can export one from a single root *.kicad_sch using KiCad CLI.

  • Added --kicad-cli and --no-kicad-cli.

  • Added deterministic net-name voltage inference for common rails and decimal voltages.

  • Inferred voltage data now includes source, confidence, and reason.

  • Existing .architon/meta.yaml still overrides inferred values; missing metadata is handled in memory without writing files.

  • Scan output now includes inferred rail count, voltage coverage, and metadata mode.

  • Added rv doctor for local setup diagnostics.

  • Updated make install to install rv and verify setup through rv doctor.

  • Added cross-platform KiCad CLI discovery for macOS, Linux, and Windows.

  • Updated docs for schematic-based KiCad scans, setup, and reporting.

  • Preserved exit code contract:

  • -0 clean/info only

  • -1 warnings

  • -2 rule violations

-- 3 tool/import/internal failure
Verification:
Full test suite passes with go test ./....
Ran and passed on real Kicad project files.

v0.2.8 Importer-Agnostic Contract Verification Engine

Choose a tag to compare

@badimirzai badimirzai released this 01 May 20:36
b828874

This release turns Architon’s scan engine into an importer-agnostic contract verifier.

KiCad is now treated as one adapter that compiles designs into normalized DesignIR. Verification rules no longer depend on KiCad files, parser structs, metadata internals, or EDA-specific assumptions. Contracts are enriched after import and rules operate only on DesignIR + ContractIR.

Highlights:

  • New neutral contract schema for components, pins, and nets.
  • Pluggable contract enrichment pipeline.
  • Contract-level supply, logic-level, and I2C role rules.
  • Improved scan report metadata and contract coverage output.
  • Preserved rv scan ., rv scan , and rv scan . --meta meta.yaml behavior.
  • Test coverage for synthetic designs and future importer compatibility.

v0.2.7: Rail Coverage and Explainable Voltage Inference

Choose a tag to compare

@badimirzai badimirzai released this 01 May 17:44
f9ef172

This release turns rail voltage inference into measurable verification coverage.

Highlights:

  • New derived.rail_coverage report section with coverage ratios, confidence counts, overall level, and warnings
  • Compact scan output now reports rail coverage level and percentage
  • New --rails alias for --explain-rails
  • Detailed rail inference table with voltage, confidence, score, source, and warnings
  • Voltage-based findings now include inference provenance in JSON when available
  • Documentation and cheatsheet updated for current scan behavior, flags, exit codes, and report fields

v0.2.6 KiCad Net Voltage Inference

Choose a tag to compare

@badimirzai badimirzai released this 29 Apr 21:59
f0185b8

rv scan can now infer voltages directly from explicit KiCad net names and report ambiguous power nets such as VBAT, VCC, and VIN. These inferred voltages are included in reports and can power voltage-rule checks without requiring duplicate source metadata.