Status
direction
Conceptual layer
③ risk detection and ② lot genealogy
Repo layer
L3 twin, L1 register intake
Source
architecture section 5.7, section 3.6.8 · ADR 037 · Index: README.

1. Control today#

Holds, release, acceptance, rejection and sign-off of a part, bin, basket or lot, and conformance, stay with the plant's quality lead (master document section 7). Stamped names the condition, alerts a named person and keeps the record; quality decides. Templates are checked in CI: only check, inspect, look at and call are allowed as verbs.

2. Alert lifecycle#

Alerts sit outside the action and signal budgets and follow alarm-management rules in the style of ISA-18.2.

Alert lifecycle

Alert states

Active

Acknowledged

Escalated

Cleared

Shelved

Condition true for its delay

Person taps Seen

No acknowledgement in time

Condition false

Admin shelves with reason

End

How to read it.

  1. An alert becomes Active only after its on-delay; Seen acknowledges without sign-off.
  2. Unacknowledged P1 escalates; clearing ends the episode thread.
  3. Shelving is admin-only with expiry; chatter within 15 min continues the same thread.

Build now: P1–P3 rules and lot naming. Later: shadow-first prediction alerts after replay passes.

View Mermaid source
flowchart TB
    %% house-style: alert-lifecycle
    subgraph life["Alert states"]
        direction LR
        act["Active"] --> ack["Acknowledged"]
        act --> esc["Escalated"]
        esc --> ack
        ack --> clr["Cleared"]
        act --> clr
        act --> shel["Shelved"]
        shel --> act
    end
    enter(["Condition true for its delay"]) --> act
    seen{{"Person taps Seen"}} --> ack
    late{{"No acknowledgement in time"}} --> esc
    false(["Condition false"]) --> clr
    admin{{"Admin shelves with reason"}} --> shel
    clr --> done(["End"])

    classDef govc fill:#fff4d6,stroke:#c99a2e,color:#000
    classDef agentc fill:#e8f0ff,stroke:#5b7bd5,color:#000
    classDef loopc fill:#eef7ee,stroke:#4f9a4f,color:#000
    class seen,late,admin govc
    class enter agentc
    class done loopc
RuleDetail
PriorityP1 quality or equipment risk now; P2 risk in minutes or a lot to inspect; P3 data and model health, to the Stamped admin
On-delayEach alert waits for its condition to persist (minutes for zones, a run of parts for part risk)
AcknowledgeOne-tap Seen; not an instruction and not a sign-off
EscalateUnacknowledged P1 goes up to the shift in-charge, then the production head; P2 to the shift in-charge
One thread per episodeRepeats become escalations in the same thread; a close message ends it
ChatterRe-raise within 15 min continues the thread
ShelvingStamped admin only, with reason and expiry (at most one shift)
FloodOver 10 alerts to one person in 10 min: one summary, the rest in the thread, P3 to admin
TargetAbout 1 alert per person per hour; checked by replay before go-live
Names the lotsEvery alert names the bins, lots or baskets it affects
Shadow firstPrediction and residual alerts go live only after their replay test passes

3. Genealogy#

Quality genealogy

Billet to customer return

billet push

forged part

time bin or lot

HT basket or charge

strength test

register rejection

customer return

↩ Every link stores method and confidence

How to read it.

  1. Parts usually carry no serial number; links come from order and time.
  2. Unlinked parts stay unlinked rather than guessed (section 5.7).
  3. Rejections and returns attach at bin or basket level for matching.

Build now: time-bin and basket records in L2. Later: tighter job-card keys from the plant.

View Mermaid source
flowchart TB
    %% house-style: quality-genealogy
    subgraph chain["Billet to customer return"]
        direction LR
        billet["billet push"] --> part["forged part"]
        part --> bin["time bin or lot"]
        bin --> basket["HT basket or charge"]
        basket --> test["strength test"]
        bin --> reject["register rejection"]
        basket --> reject
        reject --> customer["customer return"]
    end
    back(["↩ Every link stores method and confidence"])

    classDef govc fill:#fff4d6,stroke:#c99a2e,color:#000
    classDef agentc fill:#e8f0ff,stroke:#5b7bd5,color:#000
    classDef loopc fill:#eef7ee,stroke:#4f9a4f,color:#000
    class back loopc

4. Register intake and matching#

Fields: part, date and shift, defect type, quantity (required); forging hour or bin time, stage found, charge number (wanted). Routes: daily digital export through the edge agent's file or REST connectors; a short WhatsApp form; or a reviewed photo transcription using the connectors-doc review flow.

Matching: exact (forging hour inside one bin), shift-level (spread across bins by part count), or unmatched (kept and counted). The match rate is a health metric; a low rate prompts the quality head to add the missing field. For each defect, compare reject rates of flagged and unflagged parts of the same part and shift; a monthly Pareto shows the process condition behind each top defect.

5. Calibration loop#

Physics flags start the pilot (for forging: cold-edge billets, slow transfer, first parts after a stop or part change, press force outliers; messages only on runs of parts). Once the register is matched, thresholds are set per part and defect, flags that don't go with rejects are dropped, and a combined anomaly score goes live only when its parts are shown to reject more. New thresholds are parameter rows promoted with Stamped review (06).

6. The per-basket heat-treatment record#

Built automatically per basket and kept in L2. It covers part of CQI-9 4th edition Process Table C (continuous recording, time in furnace, quench temperature, test per batch); pyrometry status (SAT, TUS), set point and band, load size per batch, quench-tank level and agitation, and quench delay per load measured from door open to load fully immersed must come from the plant. The quench-to-ageing delay is good practice or a customer requirement, not a Table C clause (public CQI-9 4th edition form):

SectionFields
IdentityCampaign, basket, charge number, parts
SolutionZone temperatures (continuous), time at temperature, minutes near the melting-risk band, predicted metal peak with range
QuenchWater temperature at quench, transfer delay, predicted quench-factor range
AgeingQuench-to-ageing delay, zone temperatures and time, ageing dose
TestsLinked strength and elongation results
Alerts and rejectionsEvery alert with who saw it; matched register rows

Sent as a daily digest and returned on demand within minutes on a customer complaint. It supports the plant's audit; it does not certify conformance.

7. Alert catalog (forging sector pack templates)#

FamilyTriggerPriorityRecipient
Solution zone highZone near the alloy's melting-risk band for its delayP1Heat-treatment in-charge
Metal-risk predictionPredicted probability of metal in the risk band highP1In-charge and quality (shadow first)
Ageing lateQuench seen, no ageing charge within the written delayP2Heat-treatment operator
Quench waterWater outside the plant's written range, or forecast to beP2Heat-treatment operator
Part risk runA run of flagged parts in a short windowP2Heater operator, supervisor or inspector, naming the bin
Heater driftKalman level outside the band around the aimP2Heater in-charge
Sensor healthMisreads, frozen tagsP3Stamped admin
Utility anomaly dayGas or power used with nothing producedP2Energy head (digest)
Residual driftTwin residual checks (cumulative sums) outside bandP3Stamped admin (shadow first)

Limits come from the plant's written values in the site packVersioned, owner-reviewed plant configuration including topology; the plant sets them, not Stamped.

Page history: last 4 changes
  1. 2026-10-07 docs(technical): rewrite fast-loop/; all architecture diagrams in house style 7330f47
  2. 2026-10-06 docs(fast-loop): scope the per-basket record against CQI-9 Process Table C 9a91dc2
  3. 2026-10-03 docs(fast-loop): interfaces and ownership; one topic registry; control-today wording; amend ADR-033 and ADR-036 df796e9
  4. 2026-10-03 docs(decisions): add ADR-033..038 (twin runtime, fast read path, plant-side writer, message classes, alerts and quality-to-lot link, part-keyed parameters), fast-loop technical set, rebuilt index with renumbering map; fix bare-number link text and ranges 22e2872

Diagram

100%

Search the architecture