# Trades-Runtime skill

Product: Trades-Runtime 0.3.4
Author / identity: Aziel Eliab only
Person @id: https://www.azieleliab.com/#aziel
License: Apache-2.0
Worker: https://trades-runtime.vibelock.workers.dev

## What it is

Local-first BYO TypeScript runtime for HVAC, plumbing, electrical, sewer, and cross-trades.
People bring their own ServiceTitan and ProBooks. Dual surface: human UI + counted download.
Thin OpenAPI/MCP for health, stats, cite, and this skill. Not a FragGate engine catalog.

## What it is not

Not a hosted multi-tenant company OS.
Not a ServiceTitan or ProBooks write API.
Not a central dump.
Not a production company OS claim. live_backends is false.

## Honest counters

Honest Workers KV counts. views increments exactly once per successful GET / HTML homepage 200. Health-check user-agents and non-GET / requests are not counted. downloads increments exactly once per successful GET /download 200 after the release tarball is verified as gzip. Assets, /v1/health, /v1/stats, /openapi.json, /mcp, /cite.json, /llms.txt, /robots.txt, and /v1/skill do not increment. No sampling. No inflation. No estimated unique visitors. Start at 0. Each increment writes one unique COUNTS key (views:<uuid> or downloads:<uuid>) and also does value = (parseInt(await kv.get(name))||0)+1 with put on the name key. GET /v1/stats lists the unique keys (source of truth) and never seeds or rounds up. KV list is eventually consistent — a just-written key may take up to ~60s to appear in another colo. Failed downloads never increment.

## Install

curl -fsSL https://trades-runtime.vibelock.workers.dev/download -o trades-runtime-0.3.4.tgz
tar -xzf trades-runtime-0.3.4.tgz && cd package && npm install && npm test
