Developers

Typed tools. Declared windows. Replayable lots.

The Waferira SDK is a design preview of how an agent is defined, bounded and run: tools with recipe-window and rate limits per parameter, autonomy policy as code, deterministic replay of any historical lot against a new model, and a local twin harness. The API will change before release.

Python SDK · design previewCLI · design previewPolicy as code

run_7b2e9c · agent graph · module M2 · scenario 10 nodes · 1 approval gate
01 · orchestrator ingest.lot ✓ SUCCEEDED 02 · fabtwin twin.simulate ✓ SUCCEEDED 03 · litho_overlay litho.correctables ✓ SUCCEEDED 04 · etch_depo etch.uniformity ✓ SUCCEEDED 05 · cmp_implant cmp.removal ✓ SUCCEEDED 06 · defect_inspect inspect.classify ✓ SUCCEEDED 07 · metrology_vm vm.score ✓ SUCCEEDED 08 · orchestrator approve.human ◆ APPROVAL 09 · yield_dispatch dispatch.route ✓ SUCCEEDED 10 · quality_conf lot.release ✓ SUCCEEDED

Illustrative scenario: Module M2 · 300 mm · metal-1 · lot L-48213, one lot through metal-1, one approval gate

Concepts

Six objects

Everything in the SDK is one of these.

Agent

A goal, tools and an autonomy level

An agent declares what it is for, what it may call and how far it may go without a human. Its runs are typed and logged per lot.

Agent

Tool

A connector call with a schema

Tools name the tool, the recipe parameters, units and whether they are read-only. Write tools carry Limits.

Toolread_only

Limit

Window, rate and magnitude

The qualified window, max_step per lot or wafer, absolute floors and ceilings, enforced at call time by the policy engine and again at the SECS/GEM boundary.

Limit

Autonomy

L1 to L4

The level the fab has set for this agent, this tool, this shift. Approvals are routed to named humans for holds, out-of-window moves and release.

Autonomy.L1Autonomy.L3

Run

A goal becoming a graph of steps

Start, stream, replay. Every step has an agent, a tool, a duration and a status, and the whole record is kept per lot.

run.stream()run.replay()

Twin

verify=twin

Simulate a move on the as-run fab twin before it is written. Required for any agent configured with it.

twin.simulate
Developers

Define an agent, bound it, run it

The Waferira SDK is typed Python. Tools are declared with schemas and recipe-window limits and the policy engine enforces them at call time, not in a review meeting. This is a design preview; the API will change before release.

What you get

  • Typed tool definitions with recipe-window and rate limits per parameter
  • Deterministic replay of any historical lot against a new model
  • Local twin harness so a recipe move is simulated before it is shipped
  • Autonomy policy as code, versioned and reviewed like any other change

Read the docs Developer guide

scn07_litho_agent.py
# Design preview. Bound the litho agent to scanner SCN-07.
from waferira import Agent, Tool, Limit, Autonomy

recipe = Tool(
    name="secs.write_recipe",
    tool="SCN-07",
    params=["correctables.per_field", "dose"],
    limits=[Limit(window="qualified", max_step="0.5%", per="lot")],
)

litho = Agent(
    id="agent.litho_overlay",
    goal="overlay residual < 3 nm, CD inside M1 window",
    tools=[recipe, Tool("metrology.read_overlay", read_only=True)],
    # bounded writes; humans still gate holds and out-of-window moves
    autonomy=Autonomy.L3,
    # simulate on the fab twin before every write
    verify="twin",
)

run = litho.start(lot="L-48213", layer="M1")
for step in run.stream():
    print(step.name, step.status, step.duration)
CLI

Start a run from anywhere

The same run engine, the same policy checks, the same IP-isolated audit trail, from the terminal, the review console or the SDK. Design preview.

waferira · cli · scenario
$ waferira run "lot L-48213 through M1 on module M2" --autonomy L3

→ plan composed          10 steps · 1 approval gate
→ twin.simulate          64 candidates · best #41 · excursion risk 0.05
→ policy.evaluate        7 recipe writes inside window · 1 held for human
→ executing              litho.correctables .. ok   1m20s
→ executing              etch.uniformity .... ok   58s
→ executing              cmp.removal ........ ok   46s
→ executing              vm.score ........... ok   2.1s
! approval required      reticle_hold · recipe move outside window
→ approved               module process engineer · 03:14:27
→ scenario complete      1 hold reviewed · lot L-48213 released

$ waferira lots show L-48213 --format genealogy
Run timeline · scenario

One scenario run, step by step

Every Waferira run is an ordered, inspectable sequence. This is run_7b2e9c on Module M2 · 300 mm · metal-1 · lot L-48213. Scenario completes in 10 steps with one approval gate. Overlay and CD predicted inside spec, one reticle-repeater signature caught and held for review, dispatch re-optimised, lot released with full genealogy.

run_7b2e9c Module M2 · 300 mm · metal-1 · lot L-48213 illustrative scenario SUCCEEDED
  1. 01 ingest.lot SUCCEEDED 0.7 s

    Fab Orchestrator · Pulled lot L-48213 from fab MES: 25 wafers, 300 mm, metal-1 layer, route, reticle, overlay and CD spec and the standing cycle-time target. Locked the target envelope for the run.

  2. 02 twin.simulate SUCCEEDED 38 s

    Fab Twin · Simulated 64 candidate correctable, recipe and dispatch sets on the as-run fab twin and ranked them on predicted overlay residual, CD uniformity, excursion risk and cycle time.

  3. 03 litho.correctables SUCCEEDED 1 m 20 s

    Litho-and-Overlay · Per-field overlay correctables and a focus-dose trim written to scanner SCN-07 over SECS/GEM after the previous lot's residual trended toward the control limit. Predicted overlay residual back inside spec.

  4. 04 etch.uniformity SUCCEEDED 58 s

    Etch-and-Depo · Chamber B on etcher ETCH-12 showed an edge-fast uniformity drift in FDC. Pressure and RF trims written within the qualified recipe window; predicted CD uniformity recovered.

  5. 05 cmp.removal SUCCEEDED 46 s

    CMP-and-Implant · Downforce and platen-speed trim on CMP-03 against the virtual removal-rate estimate to hold post-CMP thickness and dishing inside the window.

  6. 06 inspect.classify SUCCEEDED continuous

    Defect-and-Inspect · Inline optical, e-beam review and SEM imagery fused at the tool edge. 1,412 events classified, most dispositioned nuisance; one reticle-repeater signature on three dies flagged for review.

  7. 07 vm.score SUCCEEDED 2.1 s

    Metrology-and-Virtual · Virtual metrology scored every wafer at post-etch and post-CMP from tool-sensor and FDC signatures. Two wafers routed to physical metrology on predicted variance; the rest sampled at plan.

  8. 08 approve.human APPROVAL 1 m 04 s

    Fab Orchestrator · The reticle-repeater signature called for a reticle inspection hold and a recipe move outside the qualified window. Held for the module process engineer and approved at 03:14:27.

  9. 09 dispatch.route SUCCEEDED 4.3 s

    Yield-and-Dispatch · Dispatch re-optimised across 1,840 lots in WIP under reticle, chamber and qualification constraints. The lot routed to the qualified chamber with the shortest predicted queue; AMHS move issued to the stocker.

  10. 10 lot.release SUCCEEDED 1 m 05 s

    Quality-and-Conformance · Lot L-48213 moved on: genealogy written (recipe moves, correctables, FDC signatures, VM scores, defect map, approvals) and checked against the layer spec.

Tool calls · scenario

The agent shows its work

Every tool invocation, argument and result is written to an append-only, IP-isolated, human-readable log, and every reasoning step is expandable. Nothing about a run is hidden from the fab.

tool-call stream · run_7b2e9c
  1. 03:02:10mes.read_lot({ lot: "L-48213", layer: "M1", module: "M2" })
  2. 03:02:11ok 25 wafers · reticle R-M1-114 · overlay and CD spec locked
  3. 03:02:11twin.simulate({ candidates: 64, horizon: "lot" })
  4. 03:02:49ok best set #41 · overlay residual 2.6 nm · excursion risk 0.05
  5. 03:02:50policy.evaluate({ set: 41, autonomy: "L3" })
  6. 03:02:50ok 7 recipe writes inside qualified window · 1 move requires human approval
  7. 03:02:51secs.write_recipe({ tool: "SCN-07", correctables: "per_field", dose: "-0.3%" })
  8. 03:04:11ok predicted overlay residual 3.1 → 2.6 nm · CD on target
  9. 03:04:12secs.write_recipe({ tool: "ETCH-12", chamber: "B", pressure: "+1.5%", rf: "-0.8%" })
  10. 03:05:10ok edge-fast drift cleared · predicted uniformity inside window
  11. 03:05:11secs.write_recipe({ tool: "CMP-03", downforce: "-2%", platen: "+1%" })
  12. 03:05:57ok virtual removal rate on target · dishing inside window
  13. 03:05:58vision.stream({ tools: ["INS-02", "EB-01", "SEM-04"] })
  14. 03:09:40repeater: 3 dies · same field position · reticle R-M1-114 · killer class
  15. 03:09:41vm.predict({ lot: "L-48213", steps: ["post_etch", "post_cmp"] })
  16. 03:09:43ok 25 wafers scored · 2 routed to physical metrology
  17. 03:09:44approval.request({ action: "reticle_hold", recipe_move: "outside_window" })
  18. 03:14:27ok approved by module process engineer · OCAP linked · logged
  19. 03:14:28cuopt.dispatch({ wip: 1840, constraints: ["reticle", "chamber", "qual"] })
  20. 03:14:32ok lot routed to ETCH-12/B · AMHS move to stocker ST-14
  21. 03:14:33amhs.move({ foup: "F-20911", to: "ST-14" })
  22. 03:15:21ok carrier delivered · handling exceptions 0
  23. 03:15:22mes.log_lot({ lot: "L-48213", genealogy: "full" })
  24. 03:16:27ok scenario complete · 10 steps · 1 hold reviewed · released

Reasoning trace

Plan, thought, action, observation, exactly as the orchestrator would record it.

GoalRun lot L-48213 through metal-1 on module M2, hold overlay and…

Run lot L-48213 through metal-1 on module M2, hold overlay and CD inside the layer spec, catch any excursion before physical metrology, and dispatch on cycle-time target.

PlanSimulate the lot on the twin first. Lead with litho so the cor…

Simulate the lot on the twin first. Lead with litho so the correctables are right before etch, then trim etch and CMP against virtual metrology, keep inspection continuous, and hold anything outside the qualified window for a human.

ThoughtThe previous lot's overlay residual on SCN-07 trended toward t…

The previous lot's overlay residual on SCN-07 trended toward the control limit. On the twin, a per-field correctable update with a small dose trim brings the predicted residual back to 2.6 nm without touching focus.

Actiontwin.simulate(candidates=64) returns set #41: per-field correc…

twin.simulate(candidates=64) returns set #41: per-field correctables and dose minus 0.3% on SCN-07, chamber B pressure and RF trims on ETCH-12, downforce minus 2% on CMP-03.

ObservationSet #41 predicts overlay residual 2.6 nm, CD uniformity inside…

Set #41 predicts overlay residual 2.6 nm, CD uniformity inside window and excursion risk 0.05. Nine candidates cut cycle time further but routed the lot to an unqualified chamber and were discarded.

ActionExecute set #41 under autonomy level L3: seven recipe writes i…

Execute set #41 under autonomy level L3: seven recipe writes inside the qualified window, the reticle hold and the out-of-window move routed to the module process engineer.

ObservationReticle-repeater signature on three dies at 03:09:40 from the …

Reticle-repeater signature on three dies at 03:09:40 from the fused inspection stream. Virtual metrology routed two wafers to physical measurement on predicted variance.

OutcomeScenario complete. Overlay and CD predicted inside spec, the r…

Scenario complete. Overlay and CD predicted inside spec, the repeater held and reviewed with the OCAP linked, the lot dispatched to a qualified chamber and released with full genealogy.

Autonomy

Four levels, set per agent and per tool

A fab does not go from manual APC to unattended control in one step. Waferira makes the level explicit, auditable and reversible at any time. The first release runs shadow mode, then assist mode, then graduated autonomy for low-risk APC, defect and metrology loops.

Autonomy levels and the human role at each
LevelWhat the agent doesWhat the human doesWhere it sits in a pilot
L1 · AdvisoryRecommends recipe moves, dispositions and dispatch, with citationsEnters every change manuallyShadow mode, first on the design-partner cell
L2 · SupervisedProposes a recipe write or hold; it executes on approvalApproves each move in the review consoleAssist mode, where accuracy and ROI are proven
L3 · BoundedWrites inside the qualified recipe window, tool-state checks and OCAP linkageApproves holds, out-of-window moves and lot releaseGraduated autonomy for low-risk APC, defect and metrology loops
L4 · Qualified loopsRuns a qualified loop without prompting, inside its envelopeSets the envelope; reviews the shift recordPlanned; reserved for loops the fab has qualified
Accelerated computing

Physical AI, at the tool

Computational lithography, defect classification on e-beam and SEM imagery, per-wafer virtual metrology and a full-fab twin are among the most compute-intensive workloads in manufacturing. Waferira keeps IP-sensitive inference and feature storage at the fab edge and runs training, simulation and optimisation on GPUs the fab controls.

Metropolis · DeepStream · Holoscan · TensorRT

Inspection vision

Inline optical, e-beam and SEM imagery and sensor fusion on fab-edge GPUs. 10 to 50 inspection streams per pilot module and sub-200 ms priority defect triage are the design targets.

CUDA · RAPIDS · Triton

Virtual metrology and FDC

High-volume multivariate tool-sensor and FDC time-series scoring on every wafer, 1 to 5 seconds per lot-step in the design, with nightly retraining as recipes and chambers drift.

DGX or HGX · CUDA · cuDNN

Training

Defect, virtual-metrology and process-response models retrained per process family; 500 to 2,000 GPU-hours per family per quarter is the design target. Dedicated capacity is planned.

Omniverse · OVX

Fab twin

As-run process and flow simulation, 1,000 to 10,000 candidate recipe, metrology and dispatch scenarios per fab per day in the design. OVX access is planned.

Cosmos · Omniverse Replicator

Synthetic rare events

Rare defect, particle, overlay-drift, CMP-dishing and film-uniformity variants generated and validated against real distributions before promotion. Planned.

cuOpt · RAPIDS

Dispatch optimisation

Constrained WIP dispatch re-optimised every 1 to 5 minutes across reticle, chamber, route, tool-state and cycle-time constraints.

Jetson Orin · Isaac · TensorRT

AMHS and handling

Local FOUP and robot perception and exception detection at the fab edge. Jetson Thor is planned for higher sensor density.

NIM · NeMo · Retriever · Guardrails · AI Enterprise

Process reasoning

Tenant-isolated process Q&A and OCAP reasoning over recipes, SEMI procedures and audit logs, with citations enforced on every answer.

Guardrails

An agent that can move a recipe needs a leash

Waferira writes to production tools over SECS/GEM. Every capability is scoped to a qualified recipe window, every write is policy-checked against tool state, and every action is written to an append-only, IP-isolated audit log the fab owns.

  • Recipe bounds. Each agent writes only inside the qualified recipe window for that tool, with explicit per-parameter limits.
  • Policy and tool-state checks before every write. Autonomy level, tool state, qualification, interlocks and shift are evaluated before a recipe moves.
  • Human-in-the-loop gates. Holds, out-of-window moves and lot release wait for a named approver, with OCAP linkage on every excursion.
  • Immutable, IP-isolated audit log. Append-only and exportable. Every action records source signals, retrieved procedures with citations, predicted impact, allowed range, rollback condition, approver and lot scope.
  • Rollback. Declared rollback conditions return a recipe to its previous qualified version; loss of the edge node leaves the tool on its own controller and recipe.
  • Tenant and IP isolation. Recipes, device designs, defect libraries and process memory never cross a customer boundary. Inference and feature storage stay at the fab edge; an on-prem control plane is available for IP-sensitive fabs.

Compliance posture

Compliance and certification status
ItemScopeStatus
SOC 2 Type I and fab-security reviewControl plane QUEUED Planned, first 6 months
SOC 2 Type IIControl plane QUEUED Planned, 6 to 12 months
SSO and RBACConsole and approvals QUEUED Planned, 6 to 12 months
IP-isolation and security assurance packageFab security and IT and OT review QUEUED Planned, 6 to 12 months
SEMI-standards-cited reasoningRecipes, integration specs, OCAPs RUNNING In the design, every answer cites its source
Per-tenant IP isolationData, models, memory RUNNING In the design from day one
On-prem and fab-edge deploymentIP-sensitive fabs RUNNING Design option

Read the security overview

FAQ

Straight answers

The questions fab directors and process engineers ask in the first meeting.

Yes, over SECS/GEM, but only inside the qualified recipe window for that tool, with per-parameter limits and tool-state checks, and only at the autonomy level your fab has set. Level 1 is advisory: Waferira recommends and an engineer enters everything. Design partners start there, in shadow mode.

Get started

Ask for early access

The SDK and CLI are design previews. Tell us what you would build and we will tell you where it stands.