projects / hermanity-loom
A clockwork owl inspects a brass loom weaving component trees into desktop, tablet, and mobile interfaces.

Hermanity Loom

A local-first interface atelier that turns typed component trees into responsive real DOM, critiques them with axe-core, and preserves reviewable project checkpoints.

Overview

Hermanity Loom is a local-first, multi-project interface atelier. It stores versioned project trees and checkpoints, renders typed component trees as real DOM, critiques them in the browser with axe-core, and can commission proposals from explicitly selected hosted or local providers.

It is not a screenshot generator. The working material is a structured tree that can be inspected, edited, tested at multiple widths, restored from a checkpoint, and exported as JSX.

What v0.4 implements

The current main branch identifies itself as v0.4.0 and includes:

  • a corruption-safe local workspace with rename, deep duplicate, guarded deletion, deep links, and active-project write-through;
  • real DOM rendering with stable Loom node IDs;
  • 1120, 768, and 390 pixel review widths;
  • browser-native axe-core critique and node-bound fixes;
  • immutable checkpoints, restore, and JSX export;
  • light, warm-graphite dark, and system themes applied before paint;
  • keyboard-contained project and export dialogs;
  • responsive review layouts and malformed-state recovery;
  • an explicit provider registry with remembered model choices and no silent fallback.

Generated proposals carry a validated style vocabulary and responsive overrides. The server repairs effective foreground/background contrast to WCAG AA before a generated tree reaches the canvas, including migration of older unstyled project data.

Provider honesty

The provider registry distinguishes Claude Subscription, hosted Skynet, direct Z.AI, and local Ollama rather than collapsing them behind one decorative model picker. Models are allowlisted on the server. Authentication, quota, timeout, invalid-output, and provider failures are sanitized into typed public states; keys, headers, upstream bodies, and private endpoints remain server-only.

Direct Z.AI stays visibly disabled when quota is unverified. Hosted models may receive different bounded timeouts and output budgets, but a failed provider never silently turns into a different provider.

Verification surface

The repository’s verification command combines browser evidence, unit tests, lint, production build, client-purity checks, and Playwright end-to-end tests. The QA audit measures control contrast, product-chrome accessibility, console errors, modal geometry, and overflow from desktop down to 390×844.

Live provider smokes remain separate from the deterministic core suite and write hashed attribution receipts. The project does not claim collaborative persistence, WebContainers, Yjs, Mitosis, or parity with hosted visual-builder products.

Status

Active local-first development project. v0.4.0 is implemented in the repository. No public production deployment is claimed; the verified artifact is the local application and its test/evidence surface.