Releases: badimirzai/architon-cli
Release list
v0.7.0 - Offline HTML Reports
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
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
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
v0.4.1
This release improves scan readability, onboarding, and documentation structure for deterministic hardware verification workflows.
Highlights
- Simplified default
rv scanoutput - Moved advanced diagnostics and internal scan details into:
--verbose
v0.4.0 - Deterministic System-Level Contract Enforcement
⚡ 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
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_SDAand 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.yamlExample 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_ohmscurrently 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
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 listrv 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 . --railsDetects:
- 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
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
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
This release turns rail voltage inference into measurable verification coverage.
Highlights:
- New
derived.rail_coveragereport section with coverage ratios, confidence counts, overall level, and warnings - Compact scan output now reports rail coverage level and percentage
- New
--railsalias 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
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.