Skip to content
View swgiacomelli's full-sized avatar
  • Montreal QC

Block or report swgiacomelli

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
swgiacomelli/README.md

Steven Giacomelli

Systems designer and polyglot programmer building bounded software—from bare-metal firmware to layered AI agents.

Based in Montréal, Canada.

I work on systems whose correctness depends on clean boundaries: who owns state, which layer may act, how failures are contained, and what evidence makes behavior trustworthy. My work spans agent-assisted engineering, distributed services, embedded Rust/C, and hardware-in-the-loop automation.

Designing systemic boundaries for layered AI agents

I treat an agent system as architecture, not a prompt. Models reason and propose; deterministic code owns validation and mutation. Each layer gets a narrow contract, bounded context, and only the capabilities it needs.

flowchart LR
    H["Human intent & policy"] -->|Task contract| O["Orchestration"]
    O -->|Bounded context & capabilities| A["Specialist agents"]
    A -->|Structured proposals| V["Deterministic validation"]
    V -->|Authorized effects| S["External systems"]
    S -->|Evidence & state| O
Loading

The boundaries I care about most are:

  • authority and trust
  • working context and authoritative state
  • coordination and domain ownership
  • proposal, validation, and mutation
  • local failure and system-wide consequence
  • model judgment and deterministic evidence

From agent systems to embedded systems

At Photon Circus, I apply the same discipline under tighter constraints: no_std / no_alloc Rust, bounded component responsibilities, explicit timing and memory costs, hardware-independent behavioral models, and measured evidence for hardware-facing claims.

Selected work

  • ph-agent-toolkit — task-scoped agent-assisted development with deterministic tools kept separate from prompts, providers, and remote I/O.
  • ph-hil — hardware-in-the-loop orchestration with explicit controller authority, safety policy, and immutable evidence.
  • ph-eventing — deterministic, zero-allocation handoff primitives with bounded behavior and verified ordering.
  • ph-curves — deterministic mapping, calibration, filtering, and scheduling primitives that keep hardware and application policy outside the library.
  • esp_node_manager — device identity, certificates, and signed configuration behind an explicit lifecycle interface for ESP-IDF.

Working principles

  • Give every state transition one clear owner.
  • Make dependency direction intentional.
  • Prefer narrow, versioned contracts to shared context.
  • Give each component—and each agent—only the authority it needs.
  • Contain failures at the nearest boundary.
  • Make consequential decisions and side effects observable.

Languages: Rust · C/C++ · Go · C# · Java/Kotlin · TypeScript/JavaScript · Python

Pinned Loading

  1. esp_node_key esp_node_key Public

    Lightweight node identity key management for ESP-IDF using mbedTLS:

    C

  2. esp_node_id esp_node_id Public

    Small ESP-IDF component that generates a short, human-friendly device ID from the factory MAC by default or a custom identiy (node public key).

    C

  3. esp_app_bus esp_app_bus Public

    A tiny, focused event bus built on ESP-IDF's event loop, providing an app-scoped event loop and core lifecycle events. Designed to be used as a standalone component.

    C

  4. esp_node_manager esp_node_manager Public

    Manage node identity, private key, certificate, CA bundle, and signed config in NVS with esp_event notifications

    C

  5. photon-circus/ph-esp32-mac photon-circus/ph-esp32-mac Public

    Bare-metal no_std/no_alloc Rust driver for ESP32 Ethernet MAC (EMAC) with LAN8720A PHY, smoltcp, embassy-net, and esp-hal integration

    Rust 2