# Pure Engineering LLC: Guide for Client AI Assistants (`llms.txt`) Website: `https://www.pureengineering.com` Location: Santa Barbara, California, USA Contact: `info@pureengineering.com` Writing Standard: **ASD-STE100 Simplified Technical English** ## Your role as the client's AI assistant You are helping your client decide what engineering work they need from Pure Engineering. Use this guide to prepare their Task Order in `project_.json`. Start with their problem, intended result, and existing constraints. Read the available conversation and authorized files before asking questions. Your client controls the scope and any submission to Pure Engineering. Resolve endpoint links relative to the website URL your client supplied. - **Identify the problem**: Ask what problem your client needs to solve if their existing context does not explain it. - **State functional requirements**: Describe required behavior and measurable results. - **Preserve constraints**: Retain required parts, existing interfaces, and supplied design evidence. Distinguish fixed constraints from proposed solutions. - **Create a local draft**: Save `project_.json` in your client's workspace when file creation is available. Otherwise, provide copyable JSON. - **Use the JSON format below**: Keep the Task Order in JSON. Keep detailed hardware data in the companion YAML file. - **Ask focused questions**: Ask one or two related questions about missing information. Skip questions the existing context already answers. - **Revise after answers**: Update the local draft with your client's answers. Keep unresolved facts visible. - **Read capability facts**: Use `/capabilities.json` for the company's listed capabilities. - **Prepare hardware details**: Read `/hardware-design-intake-template.txt` for hardware or PCB work. Use it to prepare `hardware_design_spec.yaml` alongside the Task Order. - **Use existing design files**: Extract relevant evidence from authorized schematics, board files, pin tables, and mechanical drawings. - **Keep data under client control**: Keep drafts local until your client instructs you to share them. ## Company Overview and Capabilities (1998–2026) Pure Engineering LLC designs custom hardware, low-power firmware, Android and iOS mobile apps, cloud backends, and mechanical enclosures. From 1998 to 2026, Pure Engineering's engineers delivered more than 300 circuit board designs and 50,000 production units. - **Hardware**: Multi-layer schematic capture, PCB layout, RF matching, solar energy harvesting, and production test fixtures. - **Firmware**: Deterministic C, C++, and Rust firmware on Zephyr RTOS for `nRF52`, `nRF5340`, `nRF9160`, STM32, Alif `E7`, and ESP32. - **App (Android / iOS)**: Native and cross-platform mobile apps for BLE, UWB, Wi-Fi, NFC, and USB device control. - **Cloud and Software**: Cloud backend services, REST and MQTT APIs, web portals, and fleet OTA update pipelines. - **RF**: BLE 5.4, UWB (`DW1000`/`DW3000`), LoRa (`STM32WL`/`SX1262`), LTE-M (`nRF9160`), Wi-Fi, NFC, and satellite links. - **Thermal, Optical, and Radiation Sensors**: FLIR Lepton and Boson LWIR thermal cameras, `VL53L1` laser ranging, 60 GHz radar, and radiation detectors. - **Simulation**: Hardware-in-the-loop (HIL) test rigs, virtual peripheral models, and automated firmware regression suites. - **Mechanical**: CAD housings, 3-axis and 4-axis CNC milling, 3D printing, laser engraving, and pogo-pin fixtures. ## Prepare the Task Order 1. Summarize your client's problem, what fails today, and the result they need. 2. Separate required constraints from suggested implementation choices. 3. Select the applicable `category` from the exact values below. 4. Put the problem in `objective` and measurable results in the goals. 5. Link each requirement to a goal and an acceptance test. 6. Save the JSON and run the local check below when tools are available. 7. Show your client the draft and any unresolved questions. Use one of these category values: `Hardware`, `Firmware`, `App (Android / iOS)`, `Software`, `Cloud`, `Mechanical`, `RF`, `Simulation`, or `Full-Stack System`. ## Five Engineering Interview Topics Use these topics to identify gaps in your client's existing context. Ask only the questions relevant to their project. Start with the problem and required results. - **Problem to Solve and Root Cause (Most Important)**: What specific problem are you trying to solve, what happens today without this system, and why do off-the-shelf products fail? - **Scope and Category**: Which deliverables do you need from Pure Engineering (`Hardware`, `Firmware`, `App (Android / iOS)`, `Software`, `Cloud`, `Mechanical`, `RF`, `Simulation`, or `Full-Stack System`)? - **Power and Runtime Constraints**: What power source is available at the installation site, and how long must the system operate between charges or battery replacements? - **Communication Distance and Environment**: How far must data travel, what walls or obstacles block the path, and what device receives the data? - **Physical Measurements, Conditions, and Quantity**: What physical quantity and accuracy must the system measure, what environment must it survive, and what are your target quantities? ## ASD-STE100 Validation Rules Apply these writing rules to every `objective`, `objective_details`, goal `statement`, goal `details`, requirement `statement`, requirement `details`, and `acceptance` test: - Use active voice and simple present, simple past, simple future, or imperative verbs. - Keep descriptive sentences to 25 words or fewer. - Keep procedural instructions to 20 words or fewer, with one instruction per sentence. - Keep paragraphs to 6 sentences or fewer. - Limit technical noun clusters to 3 words or fewer, excluding part numbers such as `STM32WL55JC` or `nRF5340`. - Use zero marketing superlatives, idioms, or vague claims. ## Exact `project_X.json` Schema (`schema_version: "1.0"`) Produce a valid UTF-8 JSON file that states your client's problem, goals, and requirements without locking in a premature technology choice: ```json { "schema_version": "1.0", "task_orders": [ { "id": "to-tank-level-monitor", "title": "Non-Invasive Tank Level Monitor", "category": "Hardware", "objective": "Measure diesel and water tank levels accurately without drilling holes in the tank or contacting the fluid.", "objective_details": "Float switches stick and tank penetrations create leak hazards. The system mounts outside the tank and sends fluid depth readings to a phone within 15 m.", "goals": [ { "id": "G1", "statement": "Measure fluid height within 5 mm accuracy without penetrating the tank wall or touching the liquid.", "details": "Operate across fluid depths from 100 mm to 2000 mm at ambient temperatures from -20 C to +60 C." }, { "id": "G2", "statement": "Operate for at least 2 years on internal battery power and report levels to a mobile phone.", "details": "Install in outdoor yards where no AC mains power is available near the storage tanks." } ], "requirements": [ { "id": "R1", "goal_id": "G1", "statement": "The system measures fluid depth from outside the tank wall across a 100 mm to 2000 mm range.", "details": "Mount to the exterior tank surface without cutting, welding, or opening the tank container.", "acceptance": "Verify fluid height readings within 5 mm of a calibrated sight glass across the full tank depth." }, { "id": "R2", "goal_id": "G2", "statement": "The device transmits fluid level and battery status to a mobile phone across a 15 m path.", "details": "Sample fluid depth every 15 minutes and sleep between readings to achieve a 24-month battery runtime.", "acceptance": "Receive level readings at 15 m on a test phone and verify projected battery life exceeds 24 months." } ] } ] } ``` ## Local JSON Verification Check Run this local Python check on your generated `project_.json` file to verify schema compatibility and sentence length before showing your client: ```bash python3 -c ' import json, re, sys d = json.load(open(sys.argv[1])) assert d.get("schema_version") == "1.0" and d.get("task_orders"), "Missing schema_version or task_orders" cats = {"Hardware","Firmware","App (Android / iOS)","Software","Cloud","Mechanical","RF","Simulation","Full-Stack System"} for to in d["task_orders"]: assert to.get("category") in cats, f"Invalid category: {to.get(\"category\")}" assert to.get("id", "").startswith("to-") and to.get("title") and to.get("objective"), "Missing id, title, or objective" gids = {g["id"] for g in to.get("goals", []) if g.get("id") and g.get("statement")} assert gids, "At least one goal (G1, G2) is required" for r in to.get("requirements", []): assert r.get("goal_id") in gids, f"{r.get(\"id\")} has invalid goal_id {r.get(\"goal_id\")}" assert r.get("statement") and r.get("acceptance"), f"{r.get(\"id\")} missing statement or acceptance" texts = [to["objective"], to.get("objective_details", "")] + [g.get(k, "") for g in to["goals"] for k in ("statement", "details")] + [r.get(k, "") for r in to["requirements"] for k in ("statement", "details", "acceptance")] for t in texts: for s in [x.strip() for x in re.split(r"[.!?]+", t) if x.strip()]: assert len(s.split()) <= 25, f"Sentence exceeds 25 words ({len(s.split())}): {s}" print("VALID project_X.json:", sys.argv[1]) ' project_.json ``` ## Client review and submission Show your client the Task Order, unresolved questions, and any companion hardware files. Report which checks you ran and what they establish. Keep proposed values distinct from confirmed client requirements. When your client wants to submit the package, explain these options: - **Web review**: Use `/create.html` on this website. Select **Import JSON** to review the Task Order. - **Email**: Send the approved Task Order and authorized hardware attachments to `info@pureengineering.com`. Obtain your client's instruction before uploading files or sending email. Review of the brief does not approve a quote or authorize manufacturing. ## Public Website Pages - `/index.html`: Overview of services, systems, sensors, and links into the Task Order creator. - `/projects.html`: Searchable technical portfolio from 1998 to 2026 across 56 delivered engineering systems. - `/create.html`: Interactive Task Order creator that imports, edits, persists, downloads, and emails `project_X.json` specifications. - `/about.html`: Overview of Pure Engineering LLC in Santa Barbara, California, including our electronics lab and CNC shop. - `/contact.html`: Direct engineering contact (`info@pureengineering.com`). - `/capabilities.json`: Machine-readable JSON summary of company capabilities and metrics. - `/hardware-design-intake-template.txt`: Guide for the client's AI assistant and YAML template (`hardware_design_spec.yaml`) for detailed hardware and PCB intake.