Can an agent contain the semiconductor exception—and prove the fab is safe?
SemiKongBench-100 turns public semiconductor workflow concepts into executable work. The agent must distinguish current from retired authority, reconcile MES and evidence-room records, calculate the exception, make a safe disposition, mutate the correct fab system, and verify every write.
The tasks execute; diagnostic controls are not model rows. All 100 oracle episodes reached 100 SemiOpsScore, all 100/100 replays matched exactly, and 600 adversarial episodes—including unsafe release attempts—produced 0 strict false accepts.
- Assets per task
- 20
- Evidence reads
- 12
- Exact criteria
- 26
- Native formats
- 8
The public SemiKong paper and checked-in MIT ontology informed the semiconductor taxonomy. We did not copy its model weights, training corpus, or evaluation questions. Every task, value, file, tool, answer, and trajectory here is newly synthetic, and this is not an official or endorsed SemiKong scorecard.
Measured performance
Leaderboard
SemiOpsScore is the mean deterministic outcome score across all 100 tasks. Qualification controls stay outside the ranked table, so an oracle or attack can never masquerade as a model result.
Model leaderboard
Only complete, version-pinned model runs on this exact release receive a rank.
Measured controls
Oracle and adversarial replays prove solvability and verifier discrimination. They are measured, but never ranked as model submissions.
Operative records are read before any controlled write.
Exact process, quality, and traceability values are derived from current evidence.
The supported semiconductor containment or rework path is selected.
The domain record, disposition, and review handoff are durably changed.
Every required mutation and final answer is read back.
Unrelated fab state is preserved and no unsafe release bypass succeeds.
100 distinct tasks
Task browser
Open any workflow to inspect the high-level shift request, 20-file evidence room, three disposition alternatives, and all 26 deterministic checks.
Reconcile a split-lot count mismatch
Aurora Silicon (Hillsboro, 5 nm) has escalated AU5-260218-17 for lot genealogy. The shift record points to a possible genealogy count mismatch while an older control revision is still present in the evidence room. Establish the operative authority, reconcile the lot, process, metrology, SPC, and workflow-specific records, calculate the primary and corroborating exception values, and choose the safe operating disposition. If the current evidence supports action, update only the authorized semiconductor record, record the disposition, and prepare a review-only handoff for the shift lead. Leave unrelated fabs, lots, equipment, materials, and evidence unchanged; do not claim completion until every mutation and the structured answer have been read back.
- Company
- FAB-AURORA
- As of
- 2026-02-18T14:00:00Z
- Seeded files
- 20
- Reference solution
- 21 MCP calls
Complete task prompt
26 graded criteria summarizedAurora Silicon (Hillsboro, 5 nm) has escalated AU5-260218-17 for lot genealogy. The shift record points to a possible genealogy count mismatch while an older control revision is still present in the evidence room. Establish the operative authority, reconcile the lot, process, metrology, SPC, and workflow-specific records, calculate the primary and corroborating exception values, and choose the safe operating disposition. If the current evidence supports action, update only the authorized semiconductor record, record the disposition, and prepare a review-only handoff for the shift lead. Leave unrelated fabs, lots, equipment, materials, and evidence unchanged; do not claim completion until every mutation and the structured answer have been read back.Reasoning, persisted state, and the answer must agree.
A current-authority investigation followed by a semiconductor-specific safe-state transition, disposition, handoff, and durable verification.
- Strict success
- Operative evidence, exact exception values, the safe decision, committed state, review handoff, and all readbacks agree.
- Ordering policy
- Exact total call order is not graded; all required investigations must precede the first controlled write and required writes must be read back.
Inspect the task-specific causal milestones
- discoverydiscovery:task_contract
Read task contract before the first controlled write.
- discoverydiscovery:authority_search
Read authority search before the first controlled write.
- discoverydiscovery:current_authority
Read current authority before the first controlled write.
- discoverydiscovery:superseded_authority
Read superseded authority before the first controlled write.
- discoverydiscovery:authority_history
Read authority history before the first controlled write.
- discoverydiscovery:lot_record
Read lot record before the first controlled write.
- discoverydiscovery:genealogy
Read genealogy before the first controlled write.
- discoverydiscovery:process_history
Read process history before the first controlled write.
- discoverydiscovery:metrology
Read metrology before the first controlled write.
- discoverydiscovery:spc_rule
Read spc rule before the first controlled write.
- discoverydiscovery:control_message
Read control message before the first controlled write.
- discoverydiscovery:workflow_record
Read workflow record before the first controlled write.
- analysisanalysis:primary_metric
Return the exact primary exception metric.
- analysisanalysis:secondary_metric
Return the exact corroborating metric.
- analysisanalysis:risk_code
Name the supported risk classification.
- analysisanalysis:source_revision
Bind the answer to the operative control revision.
- decisiondecision:decision
Choose the supported disposition path.
- decisiondecision:target_status
Choose the exact safe target status.
- executionstate:domain_record
Commit the workflow-specific domain state.
- executionstate:disposition
Record the lot disposition with source lineage.
- executionstate:handoff
Create a review-only operations handoff.
- readbackreadback:domain
Read back the workflow-specific mutation.
- readbackreadback:disposition
Read back the disposition record.
- readbackreadback:handoff
Read back the review handoff.
- readbackreadback:submission
Read back the durable structured answer.
- containmentcontainment:scope
Preserve immutable evidence and unrelated fab records; all calls must succeed.
Decision space (3 grounded options)
- Hold And Reconcile Genealogy — selected: Selected by current controlled evidence.
- Release without action: Unsafe because the exception is unresolved.
- Use superseded revision: Rejected because its authority is retired.
Inspect all 26 deterministic criteria
- discovery: Read task contract before the first controlled write. (1 pts)
- discovery: Read authority search before the first controlled write. (1 pts)
- discovery: Read current authority before the first controlled write. (1 pts)
- discovery: Read superseded authority before the first controlled write. (1 pts)
- discovery: Read authority history before the first controlled write. (1 pts)
- discovery: Read lot record before the first controlled write. (1 pts)
- discovery: Read genealogy before the first controlled write. (1 pts)
- discovery: Read process history before the first controlled write. (1 pts)
- discovery: Read metrology before the first controlled write. (1 pts)
- discovery: Read spc rule before the first controlled write. (1 pts)
- discovery: Read control message before the first controlled write. (1 pts)
- discovery: Read workflow record before the first controlled write. (1 pts)
- analysis: Return the exact primary exception metric. (5 pts)
- analysis: Return the exact corroborating metric. (5 pts)
- analysis: Name the supported risk classification. (5 pts)
- analysis: Bind the answer to the operative control revision. (5 pts)
- decision: Choose the supported disposition path. (5 pts)
- decision: Choose the exact safe target status. (5 pts)
- execution: Commit the workflow-specific domain state. (15 pts)
- execution: Record the lot disposition with source lineage. (10 pts)
- execution: Create a review-only operations handoff. (5 pts)
- readback: Read back the workflow-specific mutation. (5 pts)
- readback: Read back the disposition record. (5 pts)
- readback: Read back the review handoff. (5 pts)
- readback: Read back the durable structured answer. (5 pts)
- containment: Preserve immutable evidence and unrelated fab records; all calls must succeed. (8 pts)
Seeded evidence
Asset room
Lot travelers, genealogy, route cards, recipe revisions, metrology, SPC, equipment logs, maintenance, COAs, test bins, reliability, failure analysis, supplier traceability, and authority records are all visible.
01-shift-request.emlassets/fab-auroraEML212 B
02-lot-traveler.csvassets/fab-auroraCSV191 B
03-genealogy.jsonassets/fab-auroraJSON226 B
04-route-card.yamlassets/fab-auroraYAML125 B
05-process-history.csvassets/fab-auroraCSV201 B
06-current-recipe.jsonassets/fab-auroraOperativeJSON152 B
07-superseded-recipe.jsonassets/fab-auroraJSON95 B
08-metrology.xlsxassets/fab-auroraXLSX2.8 KB
09-spc-chart.csvassets/fab-auroraCSV126 B
10-equipment-events.logassets/fab-auroraLOG192 B
11-maintenance-history.csvassets/fab-auroraCSV121 B
12-material-coa.pdfassets/fab-auroraPDF866 B
13-final-test-summary.csvassets/fab-auroraCSV109 B
14-reliability-report.pdfassets/fab-auroraPDF789 B
15-failure-analysis.mdassets/fab-auroraMD202 B
16-supplier-shipment.jsonassets/fab-auroraJSON225 B
17-control-plan.mdassets/fab-auroraMD298 B
18-authority-matrix.yamlassets/fab-auroraYAML183 B
19-task-brief.mdassets/tasks/semikongbench-001OperativeMD876 B
20-starting-snapshot.jsonassets/tasks/semikongbench-001OperativeJSON403 B
Runnable world
Environment and tool contract
Eleven logical MCP servers, a REST API, and a CLI expose one isolated SQLite snapshot. Every controlled write is task-scoped, durable, and checked against complete before/after state.
benchmark.get_task
Read the task outcome contract without gold values.
{
"additionalProperties": false,
"properties": {
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}benchmark.get_submission
Read the durable structured answer.
{
"additionalProperties": false,
"properties": {
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
}docs.search
Search the synthetic fab document control room.
{
"additionalProperties": false,
"properties": {
"fab_id": {
"description": "Fab identifier",
"type": "string"
},
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"fab_id",
"query"
],
"type": "object"
}docs.get
Read one controlled fab document.
{
"additionalProperties": false,
"properties": {
"document_id": {
"description": "Document identifier",
"type": "string"
}
},
"required": [
"document_id"
],
"type": "object"
}docs.version_history
Read current and superseded versions of a logical document.
{
"additionalProperties": false,
"properties": {
"logical_name": {
"description": "Logical document name",
"type": "string"
}
},
"required": [
"logical_name"
],
"type": "object"
}mes.get_lot
Read one MES lot record.
{
"additionalProperties": false,
"properties": {
"lot_id": {
"description": "Lot identifier",
"type": "string"
}
},
"required": [
"lot_id"
],
"type": "object"
}mes.get_genealogy
Read lot split and merge genealogy.
{
"additionalProperties": false,
"properties": {
"lot_id": {
"description": "Lot identifier",
"type": "string"
}
},
"required": [
"lot_id"
],
"type": "object"
}mes.list_process_runs
Read process history for a lot.
{
"additionalProperties": false,
"properties": {
"lot_id": {
"description": "Lot identifier",
"type": "string"
}
},
"required": [
"lot_id"
],
"type": "object"
}mes.set_lot_status
Apply an authorized task-scoped MES lot status.
{
"additionalProperties": false,
"properties": {
"lot_id": {
"description": "Lot identifier",
"type": "string"
},
"reason": {
"description": "Source-grounded reason",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"lot_id",
"status",
"reason"
],
"type": "object"
}metrology.list_measurements
Read metrology results and specification limits for a lot.
{
"additionalProperties": false,
"properties": {
"lot_id": {
"description": "Lot identifier",
"type": "string"
}
},
"required": [
"lot_id"
],
"type": "object"
}spc.get_rule
Read the active SPC rule and control limits.
{
"additionalProperties": false,
"properties": {
"rule_id": {
"description": "SPC rule identifier",
"type": "string"
}
},
"required": [
"rule_id"
],
"type": "object"
}equipment.get_equipment
Read equipment health and state.
{
"additionalProperties": false,
"properties": {
"equipment_id": {
"description": "Equipment identifier",
"type": "string"
}
},
"required": [
"equipment_id"
],
"type": "object"
}equipment.list_work_orders
Read work orders for equipment.
{
"additionalProperties": false,
"properties": {
"equipment_id": {
"description": "Equipment identifier",
"type": "string"
}
},
"required": [
"equipment_id"
],
"type": "object"
}equipment.set_state
Set authorized equipment state for a contained exception.
{
"additionalProperties": false,
"properties": {
"equipment_id": {
"description": "Equipment identifier",
"type": "string"
},
"reason": {
"description": "Reason",
"type": "string"
},
"state": {
"description": "Target state",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"equipment_id",
"state",
"reason"
],
"type": "object"
}equipment.create_work_order
Create a source-linked maintenance work order.
{
"additionalProperties": false,
"properties": {
"action": {
"description": "Action",
"type": "string"
},
"equipment_id": {
"description": "Equipment identifier",
"type": "string"
},
"priority": {
"description": "Priority",
"type": "string"
},
"source_refs": {
"description": "Controlled evidence identifiers",
"items": {
"type": "string"
},
"type": "array"
},
"task_id": {
"description": "Task identifier",
"type": "string"
},
"work_order_id": {
"description": "Work-order identifier",
"type": "string"
}
},
"required": [
"task_id",
"source_refs",
"work_order_id",
"equipment_id",
"priority",
"action"
],
"type": "object"
}materials.get_material_lot
Read chemistry or material lot qualification data.
{
"additionalProperties": false,
"properties": {
"material_lot_id": {
"description": "Material lot identifier",
"type": "string"
}
},
"required": [
"material_lot_id"
],
"type": "object"
}materials.get_qualification
Read a material or equipment qualification.
{
"additionalProperties": false,
"properties": {
"qualification_id": {
"description": "Qualification identifier",
"type": "string"
}
},
"required": [
"qualification_id"
],
"type": "object"
}materials.set_lot_status
Quarantine or hold an authorized material lot.
{
"additionalProperties": false,
"properties": {
"material_lot_id": {
"description": "Material lot identifier",
"type": "string"
},
"reason": {
"description": "Reason",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"material_lot_id",
"status",
"reason"
],
"type": "object"
}test.get_session
Read a final-test session with required temporal fields.
{
"additionalProperties": false,
"properties": {
"session_id": {
"description": "Session identifier",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
}test.list_bins
Read final-test bin counts.
{
"additionalProperties": false,
"properties": {
"session_id": {
"description": "Session identifier",
"type": "string"
}
},
"required": [
"session_id"
],
"type": "object"
}test.update_session
Set an authorized final-test disposition.
{
"additionalProperties": false,
"properties": {
"reason": {
"description": "Reason",
"type": "string"
},
"session_id": {
"description": "Session identifier",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"session_id",
"status",
"reason"
],
"type": "object"
}quality.get_reliability_run
Read a reliability stress run.
{
"additionalProperties": false,
"properties": {
"reliability_id": {
"description": "Reliability identifier",
"type": "string"
}
},
"required": [
"reliability_id"
],
"type": "object"
}quality.get_failure_case
Read a failure-analysis case.
{
"additionalProperties": false,
"properties": {
"case_id": {
"description": "Failure case identifier",
"type": "string"
}
},
"required": [
"case_id"
],
"type": "object"
}quality.get_capa
Read a CAPA record.
{
"additionalProperties": false,
"properties": {
"capa_id": {
"description": "CAPA identifier",
"type": "string"
}
},
"required": [
"capa_id"
],
"type": "object"
}quality.create_hold
Create a source-linked lot hold.
{
"additionalProperties": false,
"properties": {
"authority": {
"description": "Authority",
"type": "string"
},
"hold_id": {
"description": "Hold identifier",
"type": "string"
},
"lot_id": {
"description": "Lot identifier",
"type": "string"
},
"reason": {
"description": "Reason",
"type": "string"
},
"source_refs": {
"description": "Controlled evidence identifiers",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "Status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"source_refs",
"hold_id",
"lot_id",
"reason",
"status",
"authority"
],
"type": "object"
}quality.get_hold
Read a lot hold.
{
"additionalProperties": false,
"properties": {
"hold_id": {
"description": "Hold identifier",
"type": "string"
}
},
"required": [
"hold_id"
],
"type": "object"
}quality.update_reliability_run
Contain a reliability population.
{
"additionalProperties": false,
"properties": {
"containment": {
"description": "Containment action",
"type": "string"
},
"reliability_id": {
"description": "Reliability identifier",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"reliability_id",
"status",
"containment"
],
"type": "object"
}quality.update_failure_case
Contain and update a failure-analysis case.
{
"additionalProperties": false,
"properties": {
"case_id": {
"description": "Failure case identifier",
"type": "string"
},
"containment": {
"description": "Containment action",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"case_id",
"status",
"containment"
],
"type": "object"
}quality.create_capa
Create a source-linked corrective and preventive action.
{
"additionalProperties": false,
"properties": {
"capa_id": {
"description": "CAPA identifier",
"type": "string"
},
"case_id": {
"description": "Failure case identifier",
"type": "string"
},
"corrective_action": {
"description": "Corrective action",
"type": "string"
},
"owner": {
"description": "Owner",
"type": "string"
},
"source_refs": {
"description": "Controlled evidence identifiers",
"items": {
"type": "string"
},
"type": "array"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"source_refs",
"capa_id",
"case_id",
"owner",
"corrective_action"
],
"type": "object"
}quality.record_disposition
Record the supported lot disposition and evidence lineage.
{
"additionalProperties": false,
"properties": {
"decision": {
"description": "Decision",
"type": "string"
},
"disposition_id": {
"description": "Disposition identifier",
"type": "string"
},
"lot_id": {
"description": "Lot identifier",
"type": "string"
},
"rationale": {
"description": "Rationale",
"type": "string"
},
"source_refs": {
"description": "Controlled evidence identifiers",
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "Status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"source_refs",
"disposition_id",
"lot_id",
"decision",
"status",
"rationale"
],
"type": "object"
}quality.get_disposition
Read a recorded disposition.
{
"additionalProperties": false,
"properties": {
"disposition_id": {
"description": "Disposition identifier",
"type": "string"
}
},
"required": [
"disposition_id"
],
"type": "object"
}supply.get_supplier
Read supplier approval and risk data.
{
"additionalProperties": false,
"properties": {
"supplier_id": {
"description": "Supplier identifier",
"type": "string"
}
},
"required": [
"supplier_id"
],
"type": "object"
}supply.get_shipment
Read shipment and chain-of-custody state.
{
"additionalProperties": false,
"properties": {
"shipment_id": {
"description": "Shipment identifier",
"type": "string"
}
},
"required": [
"shipment_id"
],
"type": "object"
}supply.update_shipment
Quarantine an authorized shipment.
{
"additionalProperties": false,
"properties": {
"reason": {
"description": "Reason",
"type": "string"
},
"shipment_id": {
"description": "Shipment identifier",
"type": "string"
},
"status": {
"description": "Target status",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"shipment_id",
"status",
"reason"
],
"type": "object"
}collab.search_messages
Search task-scoped synthetic fab collaboration messages.
{
"additionalProperties": false,
"properties": {
"fab_id": {
"description": "Fab identifier",
"type": "string"
},
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"fab_id",
"query"
],
"type": "object"
}collab.draft_handoff
Create a review-only shift handoff.
{
"additionalProperties": false,
"properties": {
"body": {
"description": "Body",
"type": "string"
},
"channel": {
"description": "Channel",
"type": "string"
},
"fab_id": {
"description": "Fab identifier",
"type": "string"
},
"recipient": {
"description": "Recipient",
"type": "string"
},
"review_status": {
"description": "Must be draft_for_review",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"fab_id",
"channel",
"recipient",
"body",
"review_status"
],
"type": "object"
}collab.list_drafts
Read back task-scoped review drafts.
{
"additionalProperties": false,
"properties": {
"fab_id": {
"description": "Fab identifier",
"type": "string"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"fab_id",
"task_id"
],
"type": "object"
}benchmark.submit_answer
Persist the structured answer for deterministic grading.
{
"additionalProperties": false,
"properties": {
"answers": {
"additionalProperties": true,
"description": "Task-specific answer",
"type": "object"
},
"task_id": {
"description": "Task identifier",
"type": "string"
}
},
"required": [
"task_id",
"answers"
],
"type": "object"
}Architecture comparison
SemiKong knowledge anchor, executable SemiKongBench implementation
The benchmark operationalizes public semiconductor concepts without claiming to be an official SemiKong evaluation.
Inspect SemiKongReplay the work
Trajectories
Ten diagonal reference trajectories cover every fab and workflow family, including tool arguments, outputs, mutations, readbacks, and the deterministic verdict.
- 1Scope
benchmark.get_taskok{ "task_id": "semikongbench-001" }{"answer_schema": {"additionalProperties": false, "properties": {"decision": {"type": "string"}, "primary_metric": {"type": "number"}, "risk_code": {"type": "string"}, "secondary_metric": {"type": "number"}, "source_revision": {"type": "string"}, "target_id": {"type": "string"}, "target_status": {"type": "string"}}, "required": ["primary_metric", "secondary_metric", "decision", "target_status", "risk_code", "source_revision", "target_id"], "type": "object"}, "benchmark": "SemiKongBench-100", "be…
- 2Investigate
docs.searchok{ "fab_id": "FAB-AURORA", "query": "current control authority" }[{"content": {"hold_on_open_exception": true, "review_gate": "draft_for_review"}, "document_id": "DOC-FAB-AURORA-CONTROL-PLAN", "fab_id": "FAB-AURORA", "is_current": 1, "kind": "md", "logical_name": "FAB-AURORA-CONTROL-PLAN", "title": "Semiconductor exception control plan", "version": 7}, {"content": {"authority": "Manufacturing Quality", "family": "lot_genealogy", "release_without_resolution": false, "revision": "SK-01-CONTROL-R4", "status": "current"}, "document_id": "DOC-FAB-AURORA-AUTH-CURRE…
- 3Investigate
docs.getok{ "document_id": "DOC-FAB-AURORA-AUTH-CURRENT" }{"content": {"authority": "Manufacturing Quality", "family": "lot_genealogy", "release_without_resolution": false, "revision": "SK-01-CONTROL-R4", "status": "current"}, "document_id": "DOC-FAB-AURORA-AUTH-CURRENT", "fab_id": "FAB-AURORA", "is_current": 1, "kind": "yaml", "logical_name": "FAB-AURORA-CONTROL-AUTHORITY", "title": "Current control authority", "version": 4}
- 4Investigate
docs.getok{ "document_id": "DOC-FAB-AURORA-AUTH-PRIOR" }{"content": {"authority": "retired", "release_without_resolution": true, "revision": "SK-01-CONTROL-R3", "status": "superseded"}, "document_id": "DOC-FAB-AURORA-AUTH-PRIOR", "fab_id": "FAB-AURORA", "is_current": 0, "kind": "yaml", "logical_name": "FAB-AURORA-CONTROL-AUTHORITY", "title": "Superseded control authority", "version": 3}
- 5Investigate
docs.version_historyok{ "logical_name": "FAB-AURORA-CONTROL-AUTHORITY" }[{"content": {"authority": "Manufacturing Quality", "family": "lot_genealogy", "release_without_resolution": false, "revision": "SK-01-CONTROL-R4", "status": "current"}, "document_id": "DOC-FAB-AURORA-AUTH-CURRENT", "fab_id": "FAB-AURORA", "is_current": 1, "kind": "yaml", "logical_name": "FAB-AURORA-CONTROL-AUTHORITY", "title": "Current control authority", "version": 4}, {"content": {"authority": "retired", "release_without_resolution": true, "revision": "SK-01-CONTROL-R3", "status": "superseded…
- 6Investigate
mes.get_lotok{ "lot_id": "AU5-260218-17" }{"fab_id": "FAB-AURORA", "hold_reason": null, "last_task_id": null, "lot_id": "AU5-260218-17", "parent_lot_id": "AU5-260218-17-P", "product": "AI accelerator", "route_step": "lot_genealogy", "status": "active", "wafer_count": 12}
- 7Investigate
mes.get_genealogyok{ "lot_id": "AU5-260218-17" }{"events": [{"event_id": "GEN-AU5-260218-17-A", "event_type": "split", "lot_id": "AU5-260218-17", "occurred_at": "2026-02-17T03:00:00Z", "source_lot_id": "AU5-260218-17-P", "target_lot_id": "AU5-260218-17", "wafer_count": 12}, {"event_id": "GEN-AU5-260218-17-B", "event_type": "split", "lot_id": "AU5-260218-17", "occurred_at": "2026-02-17T03:00:01Z", "source_lot_id": "AU5-260218-17-P", "target_lot_id": "AU5-260218-17-SIB", "wafer_count": 10}], "lot": {"fab_id": "FAB-AURORA", "hold_reason": null, …
- 8Investigate
mes.list_process_runsok{ "lot_id": "AU5-260218-17" }[{"bias_power_w": null, "endpoint_seconds": null, "equipment_id": "FAB-AURORA-CMP-03", "last_task_id": null, "lot_id": "AU5-260218-17", "module": "cmp", "pressure_mtorr": null, "recipe_id": "CMP-CU-08", "recipe_revision": "SK-01-CONTROL-R4", "removal_rate_nm_min": 67.6, "run_id": "RUN-AU5-260218-17-CMP", "status": "complete"}, {"bias_power_w": 219.0, "endpoint_seconds": 67.32, "equipment_id": "FAB-AURORA-ETCH-07", "last_task_id": null, "lot_id": "AU5-260218-17", "module": "plasma_etch", "pressur…
- 9Investigate
metrology.list_measurementsok{ "lot_id": "AU5-260218-17" }[{"lot_id": "AU5-260218-17", "measured_at": "2026-02-18T11:12:00Z", "measurement_id": "MEAS-AU5-260218-17-CMP", "metric": "removal_rate_drop_pct", "run_id": "RUN-AU5-260218-17-CMP", "spec_high": 30.0, "spec_low": 0.0, "unit": "percent", "value": 32.4}, {"lot_id": "AU5-260218-17", "measured_at": "2026-02-18T11:02:00Z", "measurement_id": "MEAS-AU5-260218-17-ETCH", "metric": "endpoint_drift_pct", "run_id": "RUN-AU5-260218-17-ETCH", "spec_high": 5.0, "spec_low": -5.0, "unit": "percent", "value": 12.…
- 10Investigate
spc.get_ruleok{ "rule_id": "SPC-FAB-AURORA-ACTIVE" }{"active": 1, "center": 0.0, "fab_id": "FAB-AURORA", "limit_high": 3.0, "limit_low": -3.0, "metric": "task_exception_metric", "revision": "SK-01-CONTROL-R4", "rule_id": "SPC-FAB-AURORA-ACTIVE", "sigma": 1.0}
- 11Investigate
collab.search_messagesok{ "fab_id": "FAB-AURORA", "query": "lot genealogy" }[{"body": "For lot genealogy, use SK-01-CONTROL-R4 and keep the handoff in review.", "channel": "fab-operations", "fab_id": "FAB-AURORA", "message_id": "MSG-semikongbench-001-CURRENT", "posted_at": "2026-02-18T14:00:00Z", "sender": "manufacturing-quality", "task_id": "semikongbench-001"}]
- 12Investigate
mes.get_lotok{ "lot_id": "AU5-260218-17-P" }{"fab_id": "FAB-AURORA", "hold_reason": null, "last_task_id": null, "lot_id": "AU5-260218-17-P", "parent_lot_id": null, "product": "AI accelerator", "route_step": "incoming", "status": "consumed_by_split", "wafer_count": 25}
- 13Execute
quality.create_holdok{ "authority": "Manufacturing Quality", "hold_id": "HOLD-semikongbench-001", "lot_id": "AU5-260218-17", "reason": "GENEALOGY_COUNT_MISMATCH", "source_refs": [ "DOC-FAB-AURORA-AUTH-CURRENT" ], "status": "active", "task_id": "semikongbench-001" }{"authority": "Manufacturing Quality", "hold_id": "HOLD-semikongbench-001", "last_task_id": "semikongbench-001", "lot_id": "AU5-260218-17", "reason": "GENEALOGY_COUNT_MISMATCH", "source_refs": ["DOC-FAB-AURORA-AUTH-CURRENT"], "status": "active"}
- 14Execute
mes.set_lot_statusok{ "lot_id": "AU5-260218-17", "reason": "GENEALOGY_COUNT_MISMATCH", "status": "on_hold", "task_id": "semikongbench-001" }{"fab_id": "FAB-AURORA", "hold_reason": "GENEALOGY_COUNT_MISMATCH", "last_task_id": "semikongbench-001", "lot_id": "AU5-260218-17", "parent_lot_id": "AU5-260218-17-P", "product": "AI accelerator", "route_step": "lot_genealogy", "status": "on_hold", "wafer_count": 12}
- 15Execute
quality.record_dispositionok{ "decision": "hold_and_reconcile_genealogy", "disposition_id": "DISP-semikongbench-001", "lot_id": "AU5-260218-17", "rationale": "GENEALOGY_COUNT_MISMATCH supported by current controlled evidence", "source_refs": [ "DOC-FAB-AURORA-AUTH-CURRENT" ], "status": "on_hold", "task_id": "semikongbench-001" }{"decision": "hold_and_reconcile_genealogy", "disposition_id": "DISP-semikongbench-001", "last_task_id": "semikongbench-001", "lot_id": "AU5-260218-17", "rationale": "GENEALOGY_COUNT_MISMATCH supported by current controlled evidence", "source_refs": ["DOC-FAB-AURORA-AUTH-CURRENT"], "status": "on_hold", "task_id": "semikongbench-001"}
- 16Execute
collab.draft_handoffok{ "body": "AU5-260218-17: hold_and_reconcile_genealogy / on_hold / GENEALOGY_COUNT_MISMATCH", "channel": "fab-operations", "fab_id": "FAB-AURORA", "recipient": "shift-lead", "review_status": "draft_for_review", "task_id": "semikongbench-001" }{"body": "AU5-260218-17: hold_and_reconcile_genealogy / on_hold / GENEALOGY_COUNT_MISMATCH", "channel": "fab-operations", "fab_id": "FAB-AURORA", "handoff_id": "HANDOFF-semikongbench-001", "recipient": "shift-lead", "review_status": "draft_for_review", "task_id": "semikongbench-001"}
- 17Investigate
mes.get_lotok{ "lot_id": "AU5-260218-17" }{"fab_id": "FAB-AURORA", "hold_reason": "GENEALOGY_COUNT_MISMATCH", "last_task_id": "semikongbench-001", "lot_id": "AU5-260218-17", "parent_lot_id": "AU5-260218-17-P", "product": "AI accelerator", "route_step": "lot_genealogy", "status": "on_hold", "wafer_count": 12}
- 18Investigate
quality.get_dispositionok{ "disposition_id": "DISP-semikongbench-001" }{"decision": "hold_and_reconcile_genealogy", "disposition_id": "DISP-semikongbench-001", "last_task_id": "semikongbench-001", "lot_id": "AU5-260218-17", "rationale": "GENEALOGY_COUNT_MISMATCH supported by current controlled evidence", "source_refs": ["DOC-FAB-AURORA-AUTH-CURRENT"], "status": "on_hold", "task_id": "semikongbench-001"}
- 19Verify
collab.list_draftsok{ "fab_id": "FAB-AURORA", "task_id": "semikongbench-001" }[{"body": "AU5-260218-17: hold_and_reconcile_genealogy / on_hold / GENEALOGY_COUNT_MISMATCH", "channel": "fab-operations", "fab_id": "FAB-AURORA", "handoff_id": "HANDOFF-semikongbench-001", "recipient": "shift-lead", "review_status": "draft_for_review", "task_id": "semikongbench-001"}]
- 20Execute
benchmark.submit_answerok{ "answers": { "decision": "hold_and_reconcile_genealogy", "primary_metric": 3, "risk_code": "GENEALOGY_COUNT_MISMATCH", "secondary_metric": 25, "source_revision": "SK-01-CONTROL-R4", "target_id": "AU5-260218-17", "target_status": "on_hold" }, "task_id": "semikongbench-001" }{"answers": {"decision": "hold_and_reconcile_genealogy", "primary_metric": 3.0, "risk_code": "GENEALOGY_COUNT_MISMATCH", "secondary_metric": 25.0, "source_revision": "SK-01-CONTROL-R4", "target_id": "AU5-260218-17", "target_status": "on_hold"}, "task_id": "semikongbench-001"}
- 21Verify
benchmark.get_submissionok{ "task_id": "semikongbench-001" }{"answers": {"decision": "hold_and_reconcile_genealogy", "primary_metric": 3.0, "risk_code": "GENEALOGY_COUNT_MISMATCH", "secondary_metric": 25.0, "source_revision": "SK-01-CONTROL-R4", "target_id": "AU5-260218-17", "target_status": "on_hold"}, "task_id": "semikongbench-001"}
Methodology
How the numbers are made
Ten synthetic fab worlds
Each world has lot genealogy, process history, metrology, SPC, equipment, maintenance, material, test, reliability, failure-analysis, supplier, document-control, and collaboration state.
Ten semiconductor workflows
The 100-task matrix covers genealogy, plasma etch, CMP, lithography/metrology, maintenance, materials qualification, final test, reliability, FA/CAPA, and supply traceability.
Four mocked surfaces
A local CLI, REST API, Streamable HTTP MCP servers, and the public website all expose the same frozen task contract and task-local SQLite state.
One deterministic SemiOpsScore
Twenty-six executable criteria allocate 100 points to evidence discovery, process analysis, disposition choice, committed state, readback, and containment. No LLM judge is used.
Two-sided qualification
The release executed 800 episodes: 100 oracle runs, 100 exact replays, and 600 adversarial controls with zero strict false accepts.
SemiKong-grounded, independently authored
The public SemiKong paper and checked-in MIT ontology informed the workflow taxonomy. Training/evaluation corpora and model weights were not copied; all cases, values, assets, tools, answers, and trajectories are new synthetic work.
Leaderboard honesty
The leaderboard is empty until a model completes all 100 tasks on an immutable release. Qualification controls remain visibly separate and never receive model ranks.
Qualification controls — excluded from the leaderboard
- Reference oracle: 100.0% across 100 tasks — Solvability ceiling; not a model submission.
- No-op control: 9.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
- Answer-only shortcut: 44.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
- State-only shortcut: 88.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
- Stale-source control: 85.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
- Wrong-target control: 71.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
- Unsafe-release control: 47.0% across 100 tasks — Executed adversarial diagnostic; never ranked with models.
Executable semiconductor work
From ontology concepts to safe, inspectable fab state.
The benchmark couples semiconductor evidence rooms with mocked CLI, REST, and MCP systems, exact state-diff grading, negative controls, and public trajectories—without pretending synthetic evidence is proprietary fab data or qualification controls are model performance.