CATLX — Hardware Adaptation
This skill owns the hardware adaptation capability: how CATLX detects hardware at boot and derives the
CapabilityMap that drives every subsystem. It is the "one CATLX adapts to any machine" behavior.
Canonical detail lives in ../../knowledge/references/hardware-adaptation.md and ../../knowledge/references/hardware-adaptation.md,
../../knowledge/references/component-tree.md, and ../../knowledge/references/folder-structure.md.
Load those on demand. This SKILL.md is the operational interface.
Purpose
There is exactly one CATLX. The runtime profile engine detects available hardware at boot and
configures every subsystem from a capability matrix derived from that detection. The feature surface is
identical everywhere; capability scales with hardware.
When to activate
- User references hardware tiers, capability limits, or "runs on any machine."
- User asks how CATLX picks OCR / STT / TTS / LLM / vector / GUI / sandbox backends.
- Configuring or debugging the boot hardware scan or a
CapabilityMap.
- Runtime re-adaptation when RAM/CPU pressure occurs.
What this skill handles
- Tier classification (T0/T1/T2/T3) from CPU, cores/threads, RAM, storage class, GPU/VRAM, network.
- Capability matrix — per-tier values for agent count, memory depth, workflow parallelism, telemetry
sampling, dashboard rendering, OCR, vector search, reasoning depth, TTS, STT, LLM, sandboxing,
compression. (Full table in
../../knowledge/references/hardware-adaptation.md §2.3.)
- Boot scan procedure — the ≤ 50 ms scan of CPU, RAM, GPU (DXGI/CUDA), storage (class + sequential
read speed), network, OS/virtualization; then build a
HardwareProfile JSON.
- Capability Routing Decision Tree — the deterministic state machine that consumes
HardwareProfile
and emits a CapabilityMap. Fields: tier, max_concurrent_agents, memory_depth_turns,
workflow_parallelism, telemetry_sample_rate, ocr_backend, vector_backend, llm_strategy,
tts_engine, stt_engine, gui_mode, plugin_sandbox. See ../../examples/capability-map.json.
- Runtime re-adaptation — if RAM < 15% available or CPU > 90% for > 10 s, fire a re-adaptation event;
all subsystems get a revised
CapabilityMap within 500 ms; in-flight workflows keep old parameters
until the current step completes (zero data loss).
Requirements / constraints
- R2 (adaptive, never hardcoded): every subsystem must read config from the Capability Router, not
from baked-in constants.
- Windows-only: GPU enumeration via DirectX/CUDA; storage class detection; WSL2/Docker detection.
See
../../knowledge/rules/windows-rules.md.
- The decision logic is deterministic — a given
HardwareProfile always yields the same CapabilityMap.
Canonical knowledge it reads
../../knowledge/references/hardware-adaptation.md · ../../knowledge/rules/architectural-rules.md ·
../../knowledge/references/component-tree.md · ../../knowledge/references/folder-structure.md.
Delegation (automatic skill invocation)
Follow the root delegation protocol (catlx → skill({ name: "catlx" }) ) when you need a capability you do
not own:
- Select a specific backend engine / where it runs / fallback chain → delegate to
catlx-capability-routing
(skill({ name: "catlx-capability-routing" })). The router decides LOCAL_PROCESS/SUBPROCESS/CONTAINER/REMOTE
and the transparent fallback order.
- A specific subsystem behavior (voice STT/TTS tier choices, OCR tier choices, vector/dashboard mode)
→ delegate to the owning subsystem skill (e.g.
catlx-voice-pipeline, catlx-screen-understanding,
catlx-telemetry, catlx-electron-shell, catlx-security).
- The component tree or folder layout → read
../../knowledge/references/component-tree.md.
Edge cases & warnings
- T0 with no GPU forces CPU-only OCR/STT/TTS and CLI-only GUI; do not assume a GPU backend is available.
- T3 enterprise: capability map values exceed the T2 table (cluster-scale agent counts, full DAG parallel).
- On re-adaptation, never cancel in-flight workflows; let the current step finish under the old profile.
- Do not fabricate a tier; classify strictly from the scan. If the scan is ambiguous, record the
uncertainty rather than inventing a tier.
Component lifecycle policy (reuse → install → adapt → create)
NEVER create a new component as the default. Before building/creating anything (a sub-skill, dependency,
reference, workflow, helper, adapter, or template), check, in order:
- Reuse an existing local component (resolve aliases/equivalent capabilities first) — reuse, don't rebuild.
- Use an already-registered component from the registry.
- Install a suitable existing, trusted, supported component → validate → register → connect to the graph → use.
- Adapt an existing compatible component via a small persistent adapter/wrapper instead of re-creating it.
- Create only as last resort — then make it permanent immediately: stable id, canonical location, register,
add to the capability index + dependency graph, add provenance, use, and allow future reuse.
- Never reorganise/recreate already-generated components (no
Skill X 2 / new / temp variants); extend the
existing one. Never create a second competing knowledge source; connect back to the canonical knowledge/ layer.
Promote any reusable artifact out of /tmp/scratch into the permanent ecosystem.
Full policy: ../../knowledge/rules/component-lifecycle.md.
Source / provenance
- Source: PART II §2.1–2.5 (tiers, capability matrix, profiler implementation, decision tree, re-adaptation).
- Inferred/adapted: Windows-only GPU enumeration and OS/virtualization detection; the OS-target rows
restricted to Windows 10/11. No domain content is invented.
1---2name: catlx-hardware-adaptation-23description: Handles CATLX hardware adaptation: hardware tier detection (T0/T1/T2/T3), the capability matrix, the boot-time hardware scan, the Capability Router state machine that emits the CapabilityMap, and runtime re-adaptation when resources change. Use when the user asks about hardware tiers, capability scaling, the 50ms boot scan, CapabilityMap fields, adaptive reconfiguration, or how CATLX picks OCR/STT/TTS/LLM backends per hardware.4---56# CATLX — Hardware Adaptation78This skill owns the **hardware adaptation** capability: how CATLX detects hardware at boot and derives the9`CapabilityMap` that drives every subsystem. It is the "one CATLX adapts to any machine" behavior.1011> Canonical detail lives in `../../knowledge/references/hardware-adaptation.md` and `../../knowledge/references/hardware-adaptation.md`,12> `../../knowledge/references/component-tree.md`, and `../../knowledge/references/folder-structure.md`.13> Load those on demand. This SKILL.md is the operational interface.1415---1617## Purpose1819There is exactly **one** CATLX. The runtime profile engine detects available hardware at boot and20configures every subsystem from a capability matrix derived from that detection. The feature surface is21identical everywhere; capability scales with hardware.2223## When to activate2425- User references hardware tiers, capability limits, or "runs on any machine."26- User asks how CATLX picks OCR / STT / TTS / LLM / vector / GUI / sandbox backends.27- Configuring or debugging the boot hardware scan or a `CapabilityMap`.28- Runtime re-adaptation when RAM/CPU pressure occurs.2930## What this skill handles31321. **Tier classification** (T0/T1/T2/T3) from CPU, cores/threads, RAM, storage class, GPU/VRAM, network.332. **Capability matrix** — per-tier values for agent count, memory depth, workflow parallelism, telemetry34 sampling, dashboard rendering, OCR, vector search, reasoning depth, TTS, STT, LLM, sandboxing,35 compression. (Full table in `../../knowledge/references/hardware-adaptation.md` §2.3.)363. **Boot scan procedure** — the ≤ 50 ms scan of CPU, RAM, GPU (DXGI/CUDA), storage (class + sequential37 read speed), network, OS/virtualization; then build a `HardwareProfile` JSON.384. **Capability Routing Decision Tree** — the deterministic state machine that consumes `HardwareProfile`39 and emits a `CapabilityMap`. Fields: `tier`, `max_concurrent_agents`, `memory_depth_turns`,40 `workflow_parallelism`, `telemetry_sample_rate`, `ocr_backend`, `vector_backend`, `llm_strategy`,41 `tts_engine`, `stt_engine`, `gui_mode`, `plugin_sandbox`. See `../../examples/capability-map.json`.425. **Runtime re-adaptation** — if RAM < 15% available or CPU > 90% for > 10 s, fire a re-adaptation event;43 all subsystems get a revised `CapabilityMap` within 500 ms; in-flight workflows keep old parameters44 until the current step completes (zero data loss).4546## Requirements / constraints4748- **R2 (adaptive, never hardcoded):** every subsystem must read config from the Capability Router, not49 from baked-in constants.50- **Windows-only:** GPU enumeration via DirectX/CUDA; storage class detection; WSL2/Docker detection.51 See `../../knowledge/rules/windows-rules.md`.52- The decision logic is **deterministic** — a given `HardwareProfile` always yields the same `CapabilityMap`.5354## Canonical knowledge it reads5556`../../knowledge/references/hardware-adaptation.md` · `../../knowledge/rules/architectural-rules.md` ·57`../../knowledge/references/component-tree.md` · `../../knowledge/references/folder-structure.md`.5859## Delegation (automatic skill invocation)6061Follow the root delegation protocol (`catlx` → `skill({ name: "catlx" })` ) when you need a capability you do62not own:6364- **Select a specific backend engine / where it runs / fallback chain** → delegate to `catlx-capability-routing`65 (`skill({ name: "catlx-capability-routing" })`). The router decides `LOCAL_PROCESS/SUBPROCESS/CONTAINER/REMOTE`66 and the transparent fallback order.67- **A specific subsystem behavior** (voice STT/TTS tier choices, OCR tier choices, vector/dashboard mode)68 → delegate to the owning subsystem skill (e.g. `catlx-voice-pipeline`, `catlx-screen-understanding`,69 `catlx-telemetry`, `catlx-electron-shell`, `catlx-security`).70- **The component tree or folder layout** → read `../../knowledge/references/component-tree.md`.7172## Edge cases & warnings7374- T0 with no GPU forces CPU-only OCR/STT/TTS and CLI-only GUI; do not assume a GPU backend is available.75- T3 enterprise: capability map values exceed the T2 table (cluster-scale agent counts, full DAG parallel).76- On re-adaptation, never cancel in-flight workflows; let the current step finish under the old profile.77- Do not fabricate a tier; classify strictly from the scan. If the scan is ambiguous, record the78 uncertainty rather than inventing a tier.7980## Component lifecycle policy (reuse → install → adapt → create)8182**NEVER create a new component as the default.** Before building/creating anything (a sub-skill, dependency,83reference, workflow, helper, adapter, or template), check, in order:841. **Reuse** an existing local component (resolve aliases/equivalent capabilities first) — reuse, don't rebuild.852. **Use** an already-registered component from the registry.863. **Install** a suitable existing, trusted, supported component → validate → register → connect to the graph → use.874. **Adapt** an existing compatible component via a small persistent adapter/wrapper instead of re-creating it.885. **Create only as last resort** — then make it permanent immediately: stable id, canonical location, register,89 add to the capability index + dependency graph, add provenance, use, and allow future reuse.906. Never reorganise/recreate already-generated components (no `Skill X 2` / `new` / `temp` variants); extend the91 existing one. Never create a second competing knowledge source; connect back to the canonical `knowledge/` layer.92 Promote any reusable artifact out of `/tmp`/scratch into the permanent ecosystem.9394> Full policy: `../../knowledge/rules/component-lifecycle.md`.9596## Source / provenance9798- **Source:** PART II §2.1–2.5 (tiers, capability matrix, profiler implementation, decision tree, re-adaptation).99- **Inferred/adapted:** Windows-only GPU enumeration and OS/virtualization detection; the OS-target rows100 restricted to Windows 10/11. No domain content is invented.