pub struct ProcessContext {
pub recipe_step_id: String,
pub recipe_step: RecipeStep,
pub tool_state: ToolState,
pub lot_id: Option<String>,
pub chamber_id: Option<String>,
}Expand description
Full operational context for a single process run, passed to the DSFB engine so that admissibility gating is recipe-step-aware.
§Example
use dsfb_semiconductor::process_context::{ProcessContext, RecipeStep, ToolState};
let ctx = ProcessContext {
recipe_step_id: "STEP_002_MAIN_ETCH".into(),
recipe_step: RecipeStep::MainEtch,
tool_state: ToolState::Production,
lot_id: Some("LOT-2026-0401".into()),
chamber_id: Some("CH-A".into()),
};
// Main-etch tightens the envelope by 20 %.
assert!((ctx.admissibility_multiplier() - 0.80).abs() < 1e-9);Fields§
§recipe_step_id: StringFab-internal identifier string for the active recipe step.
recipe_step: RecipeStepCanonical DSFB classification of the recipe step.
tool_state: ToolStateObservable tool-level state.
lot_id: Option<String>Wafer lot / batch identifier (informational; included in traceability).
chamber_id: Option<String>Chamber identifier (informational; included in traceability).
Implementations§
Source§impl ProcessContext
impl ProcessContext
Sourcepub fn admissibility_multiplier(&self) -> f64
pub fn admissibility_multiplier(&self) -> f64
Admissibility envelope multiplier for this context.
The LUT below encodes industry-standard domain knowledge:
| Recipe step | Multiplier | Rationale |
|---|---|---|
GasStabilize | 1.50 × | Ramp transients are physically expected |
MainEtch | 0.80 × | Yield-critical; tightest control window |
Deposition | 1.10 × | Moderate tolerance |
OverEtch | 1.20 × | Controlled endpoint; slightly relaxed |
Seasoning | 2.00 × | Post-clean transients expected |
Other | 1.00 × | Baseline |
During a ChamberClean tool state, deviations are fully suppressed
(f64::INFINITY — no finite residual can exceed an infinite envelope).
Sourcepub fn requires_warm_reset(&self) -> bool
pub fn requires_warm_reset(&self) -> bool
Returns true when the grammar engine must issue a Warm Reset.
A Warm Reset clears accumulated grammar state to prevent false alarms after a chamber clean or during a seasoning cycle.
Sourcepub fn traceability_tag(&self) -> String
pub fn traceability_tag(&self) -> String
A terse string representation for traceability manifests.
Trait Implementations§
Source§impl Clone for ProcessContext
impl Clone for ProcessContext
Source§fn clone(&self) -> ProcessContext
fn clone(&self) -> ProcessContext
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more