1. The Control Loop
Tessera's manufacturing module implements a closed-loop quality system. Every process is controlled, every lot is traceable, and every non-conformance feeds back into the system as corrective action.
The six entity types form the manufacturing backbone:
| Entity | Prefix | Role |
|---|---|---|
| Process | PROC | Defines how something is made — steps, equipment, parameters |
| Control | CTRL | Inspection/measurement checkpoints within a process |
| Work Instruction | WORK | Step-by-step operator instructions with safety and tooling |
| Lot | LOT | Production batch with Device History Record (DHR) traceability |
| Non-Conformance | NCR | Documents when product/process doesn't meet spec |
| CAPA | CAPA | Root cause analysis and corrective/preventive actions |
Additionally, Deviations (DEV) allow authorized temporary departures from established processes without triggering a non-conformance.
Closed-Loop Quality
When a lot fails inspection (NCR), the resulting CAPA feeds changes back into the process definition or control plan. Every link is tracked in YAML and versioned in git — giving you a complete audit trail from root cause to resolution.
2. Process Definition
A Process (PROC) defines a manufacturing operation: its steps, equipment, parameters, and operation sequencing. Processes are the foundation of your control loop.
Create a Process
# Create a CNC machining process
tdt proc new --title "CNC Housing Machining" \
-T machining --op-number "OP-010" --no-edit
# Create an assembly process
tdt proc new --title "Final Assembly" \
-T assembly --op-number "OP-020" --no-edit
# Create an inspection process
tdt proc new --title "Final Inspection" \
-T inspection --op-number "OP-030" --no-edit
Add Equipment and Parameters
Equipment, parameters, and other detailed fields are added by editing the YAML directly:
# Open process in your editor to add equipment and parameters
tdt proc edit PROC@1
Process YAML Structure
Here's what a complete process file looks like:
id: PROC-01KC8FF2X3Y4Z5A6B7C8D9E0
title: "CNC Housing Machining"
status: active
process_type: machining
operation_number: "OP-010"
equipment:
- name: "Haas VF-2SS"
equipment_id: "EQ-001"
capability: "3-axis CNC mill"
parameters:
- name: "Spindle Speed"
value: 8000
units: "RPM"
min: 7500
max: 8500
links:
produces:
- CMP-01KC8FF...
controls:
- CTRL-01KC8FF...
work_instructions:
- WORK-01KC8FF...
Process Types
| Type | Description | Examples |
|---|---|---|
machining | Material removal operations | CNC milling, turning, drilling |
assembly | Joining components together | Mechanical assembly, soldering |
inspection | Measurement and verification | CMM, visual inspection |
test | Functional/performance testing | Burn-in, environmental testing |
finishing | Surface treatment operations | Anodizing, painting, plating |
packaging | Final packaging and labeling | Clean room packaging, labeling |
handling | Material handling and transport | Transfer, staging, storage |
heat_treat | Thermal processing | Hardening, annealing, tempering |
welding | Joining by fusion | TIG, MIG, spot welding |
coating | Surface coating operations | Powder coating, PVD, CVD |
operation_number to define the manufacturing sequence. Processes are ordered by operation number when generating process flow diagrams with tdt proc flow.
3. Control Plans
A Control (CTRL) defines an inspection or measurement checkpoint within a process. Controls link a process to a feature and specify how, when, and how often to measure.
Create a Control
# SPC control on a critical dimension
tdt ctrl new --title "Housing Bore Diameter SPC" \
-T spc -p PROC@1 --feature FEAT@1 --critical --no-edit
# 100% inspection on a safety-critical feature
tdt ctrl new --title "Thread Depth Inspection" \
-T inspection -p PROC@1 --no-edit
# Poka-yoke (error-proofing) control
tdt ctrl new --title "Orientation Pin Check" \
-T poka-yoke -p PROC@2 --no-edit
Set Characteristic and Measurement Details
After creation, use tdt ctrl edit to add characteristic, measurement, sampling, and reaction plan details:
# Open control in your editor to add measurement details
tdt ctrl edit CTRL@1
Control Types
| Type | Description | When to Use |
|---|---|---|
spc | Statistical Process Control | High-volume, critical dimensions with natural variation |
inspection | Direct measurement / go-no-go | Lower volume or simpler checks |
poka-yoke | Error-proofing mechanism | Prevent assembly errors (fixtures, sensors, guides) |
visual | Visual inspection | Surface defects, cosmetic criteria, labeling |
functional-test | Functional verification | Go/no-go functional tests |
attribute | Attribute check (pass/fail) | Go/no-go gauge, binary checks |
Control Plan YAML Structure
id: CTRL-01KC8FF2X3Y4Z5A6B7C8D9E0
title: "Housing Bore Diameter SPC"
status: active
control_type: spc
characteristic:
name: "Bore Diameter"
nominal: 25.000
upper_limit: 25.013
lower_limit: 24.987
units: "mm"
critical: true
measurement:
method: "Bore Gauge"
equipment: "BG-2024-001"
gage_rr_percent: 12.5
sampling:
type: continuous
frequency: "Every 25 parts"
sample_size: 5
reaction_plan: "Stop production. Quarantine suspect parts..."
links:
process: PROC-01KC8FF...
feature: FEAT-01KC8FF...
Control Plans and PFMEA
Controls are the bridge between your risk analysis (FMEA) and the shop floor. Link controls to risks with tdt link add CTRL@1 RISK@1 — TDT auto-infers the link type and updates both entities. Entity order doesn't matter.
4. Work Instructions
Work Instructions (WORK) provide step-by-step operator guidance for executing a process. Each instruction links to its parent process and includes safety notes, required tools, and materials.
Create a Work Instruction
# Create work instruction for the machining process
tdt work new --title "CNC Housing Machining Procedure" \
--process PROC@1 \
--no-edit
Add Steps
Steps can be added from the CLI or by editing the YAML directly:
# Add steps from the CLI
tdt work step add WORK@1 --action "Load raw stock into vise" \
--verification "Part seated firmly against parallels" \
--caution "Wear safety glasses" --time 5
tdt work step add WORK@1 --action "Run CNC program O1001" --time 45
# Add a quality hold point requiring approval
tdt work step add WORK@1 --action "Final dimensional inspection" \
--verification "All dims within tolerance" \
--require-approval --hold-point
# List all steps
tdt work step list WORK@1
# Or edit the YAML directly
tdt work edit WORK@1
Work Instruction YAML Structure
id: WORK-01KC8FF2X3Y4Z5A6B7C8D9E0
title: "CNC Housing Machining Procedure"
status: active
tools_required:
- name: "3/8 carbide end mill"
part_number: "TL-2024-042"
- name: "Deburring tool"
- name: "Bore gauge BG-2024-001"
materials_required:
- name: "Isopropyl alcohol"
- name: "Anti-static bags"
procedure:
- step: 1
action: "Load raw stock into vise..."
caution: "Wear safety glasses and hearing protection"
- step: 2
action: "Run Program O1001..."
- step: 3
action: "Deburr all edges and verify bore diameter..."
- step: 4
action: "Clean part with IPA and bag..."
links:
process: PROC-01KC8FF...
5. Production Lots / DHR
A Lot (LOT) represents a production batch and serves as the Device History Record (DHR). Lots link to the product being manufactured and track step-by-step execution with operator signatures.
Create a Production Lot
# Create a lot from the product's routing
tdt lot new --title "Housing Lot 2024-037" \
--product ASM@1 \
--quantity 100 \
--lot-number "LOT-2024-037" \
--from-routing \
--no-edit
The --from-routing flag automatically populates the lot steps from the assembly's linked processes, ordered by operation number.
Electronic Router Status
Use tdt lot router to see the current step status, what's pending, and what needs approval:
# View full router/traveler status
tdt lot router LOT@1
# Show only pending steps
tdt lot router LOT@1 --pending
# Show steps needing quality approval
tdt lot router LOT@1 --approval-needed
Execute Work Instruction Steps
The tdt lot wi-step command records step execution with operator identity, measurement data, equipment traceability, and optional electronic signature:
# Complete a work instruction step with operator sign-off
tdt lot wi-step LOT@1 -w WORK@1 -s 1 --complete \
-O "J. Smith" --sign \
-d "bore_dia_mm=25.003" \
-E "Bore Gauge=BG-2024-001" \
-n "First article approved. Cpk 1.67 on bore diameter."
# Complete step 2 with approval required
tdt lot wi-step LOT@1 -w WORK@1 -s 2 --complete \
-O "M. Chen" --sign --require-approval \
-n "Assembly complete. Torque values within spec."
# For lots created with --from-routing, specify the process index
tdt lot wi-step LOT@1 --process 1 -w WORK@1 -s 1 --complete
Step Order Enforcement
Steps must be completed in order — both within a work instruction (step 1 before step 2) and across processes (process 1 before process 2). To bypass this for an approved deviation, use --deviation DEV@1.
Step Approval and Lot Completion
# Approve a work instruction step (quality sign-off)
tdt lot approve LOT@1 -w WORK@1 -s 2 \
-r "quality" --sign -c "Dimensions verified per CTRL@1"
# Or reject with reason
tdt lot approve LOT@1 -w WORK@1 -s 2 --reject \
-c "Step 3 inspection data missing"
# View all steps needing approval
tdt lot router LOT@1 --approval-needed
# Complete the lot (with optional GPG-signed commit)
tdt lot complete LOT@1 --sign
Electronic Signatures
The --sign flag marks step execution and approvals with an electronic signature flag for 21 CFR Part 11 compliance. For cryptographic integrity, enable git commit signing in your workflow config (sign_commits: true) — each step completion creates a GPG-signed git commit with a recorded SHA.
Git-Based DHR
Each lot creates a complete audit trail through git commits:
# View lot history
git log --oneline manufacturing/lots/LOT-01KC8FF*.tdt.yaml
# See exactly what changed at each step
git diff HEAD~1 manufacturing/lots/LOT-01KC8FF*.tdt.yaml
Device History Records
For regulated industries (FDA, ISO 13485), the lot entity combined with git history constitutes a complete DHR. Every step execution, every approval, every change is recorded with timestamps and author identity.
6. Deviations
A Deviation (DEV) authorizes a temporary departure from an established process or specification. Deviations have approval workflows, risk assessments, and expiration dates.
Create a Deviation
# Temporary deviation (has expiration)
tdt dev new --title "Alternate supplier for housing stock" \
-T temporary -c material -R low --no-edit
# Permanent deviation (design change)
tdt dev new --title "Increase bore tolerance to +/-0.025mm" \
-T permanent -c specification -R medium --no-edit
Deviation Approval Workflow
# Approve the deviation (engineering authorization)
tdt dev approve DEV@1 \
--approved-by "Engineering Manager" \
-a engineering --activate
# Link to affected entities (order doesn't matter, both updated)
tdt link add DEV@1 PROC@1
tdt link add DEV@1 CMP@1
Expiration Tracking
Temporary deviations have expiration dates. Use tdt dev list --active to find currently active deviations and monitor their expiration dates. Expired deviations must be either extended or closed.
7. Non-Conformance Reports
A Non-Conformance Report (NCR) documents when product or process doesn't meet specifications. NCRs track detection, containment, investigation, and disposition.
Create an NCR
# Internal NCR (caught in-house)
tdt ncr new --title "Bore diameter out of spec on Lot 2024-037" \
-T internal -S major -c dimensional \
-L "component:CMP@1" -L "process:PROC@1" --no-edit
# Supplier NCR
tdt ncr new --title "Raw stock hardness below spec" \
-T supplier -S minor -c material --no-edit
# Customer complaint
tdt ncr new --title "Field failure - housing crack" \
-T customer -S critical --no-edit
# Link NCR to production lot (bidirectional)
tdt link add NCR@1 LOT@1
NCR Workflow
Advance an NCR through its workflow stages, then close with a disposition decision:
# Advance NCR through workflow stages
tdt ncr advance NCR@1 # Auto-advance to next stage
tdt ncr advance NCR@1 --status investigation # Jump to specific stage
# Edit NCR to add containment, investigation, and root cause
tdt ncr edit NCR@1
# Close the NCR with disposition and rationale
tdt ncr close NCR@1 \
-d rework \
-r "Re-machine bore diameter on affected parts. 100% re-inspect."
NCR Severity Levels
| Severity | Description | Required Actions |
|---|---|---|
critical | Safety or regulatory impact | Immediate containment, CAPA required, management notification |
major | Functional impact, out of spec | Containment, investigation, CAPA typically required |
minor | Cosmetic or minor deviation | Documented disposition (use-as-is, rework, scrap) |
Disposition Options
| Disposition | Description |
|---|---|
use-as-is | Accept the non-conforming material (requires engineering approval) |
rework | Repair to bring into conformance |
scrap | Destroy or recycle the material |
return | Return to vendor for credit/replacement |
8. CAPAs
Corrective and Preventive Actions (CAPA) close the manufacturing control loop. A CAPA investigates the root cause of a problem and implements changes to prevent recurrence, feeding back into processes and controls.
Create a CAPA
# Corrective action linked to an NCR
tdt capa new --title "Reduce bore diameter excursions" \
-T corrective --ncr NCR@1 --no-edit
# Preventive action (prevent potential problem)
tdt capa new --title "Add tool wear monitoring to all CNC processes" \
-T preventive --no-edit
Root Cause Analysis and Action Items
Advance the CAPA through its workflow stages as you investigate and implement actions:
# Advance CAPA through workflow stages
tdt capa advance CAPA@1 # Auto-advance to next stage
tdt capa advance CAPA@1 --status implementation # Jump to specific stage
# Edit CAPA to add root cause analysis, actions, and owners
tdt capa edit CAPA@1
Close the Loop
The CAPA feeds changes back into the process and control plan:
# Link CAPA to the entities it modifies (explicit link types)
# Entity order doesn't matter - both entities are updated
tdt link add CAPA@1 PROC@1 processes_modified
tdt link add CAPA@1 CTRL@1 controls_added
# Update the control plan and process via edit
tdt ctrl edit CTRL@1 # Tighten sampling frequency
tdt proc edit PROC@1 # Add tool life parameter
# Verify effectiveness
tdt capa verify CAPA@1 -r effective \
-e "30-day monitoring shows zero bore excursions since implementation."
Closing the Loop
This is the heart of the manufacturing control loop. An NCR in lot production triggered a CAPA, which updated the process parameters and tightened the control plan sampling. The next lot runs with improved controls, and the git history shows the complete chain from detection to resolution.
9. Traceability
Tessera's link system provides full forward and backward traceability through the manufacturing control loop. Every entity in the chain is connected.
Trace from a Process
tdt trace from PROC@1
Trace from an NCR
tdt trace from NCR@1
Trace from a CAPA
Follow the links from a CAPA back through the control loop:
# Trace forward and backward links from a CAPA
tdt trace from CAPA@1
Use tdt trace from to see what depends on an entity, and tdt trace to to see what an entity depends on. Use tdt trace matrix for a complete traceability overview, and tdt trace orphans to find unlinked entities.
tdt trace from X shows entities that depend on X (incoming links). tdt trace to X shows what X depends on (outgoing links). The tdt trace matrix command generates a full traceability matrix across all entity types, and tdt trace orphans finds entities missing links.
10. Process Flow
Tessera can generate process flow diagrams showing the manufacturing sequence with associated controls and work instructions.
Generate a Process Flow
# Basic process flow
tdt proc flow
# Include controls and work instructions
tdt proc flow --controls --work-instructions
# Filter to a specific process
tdt proc flow --process PROC@1 --controls
List and Filter
# List all manufacturing entities
tdt proc list # All processes
tdt ctrl list --process PROC@1 # Controls for a process
tdt work list --process PROC@1 # Work instructions for a process
tdt lot list --status in-progress # Active lots
tdt ncr list -S critical # Critical NCRs
tdt capa list --open # Open CAPAs
# Validate manufacturing chain integrity
tdt validate
Next Steps
- Explore the Tutorial for a complete end-to-end project walkthrough
- Learn about Tolerance Analysis to connect features to controls
- See Reports for generating manufacturing documentation
- Use
tdt <entity> --helpfor detailed command-line help on any entity
Get Help
For more information, visit the Tessera GitHub repository or run tdt --help for command-line help.