Skip to content

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.