SIMS — Product Specification

What SIMS must be, per the Simoldes RFI and client documentation. Build the app toward this. Where the current code deviates, each area carries a conformance badge.

Compliant Partial Missing Future phase Demo scope
Language. This spec is in English. Portuguese terms are kept inline because they are the literal strings developers see in the UI, database columns, and client documents — each is glossed in English on use, and §15 is a full PT → EN glossary. Verbatim client quotes stay in Portuguese (with translation) since they are the authoritative source.
How to read this. The full RFI is the north star — all 31 KPIs, 10 shopfloor dashboards, 16 reports, the complete code taxonomy. The Demo scope badge marks what must comply for Jun 22-23; everything else is the mountain to climb after. The client's word wins — where code disagrees with the RFI, that's a gap to close, flagged in §13.

Phasing caveat. The RFI colour-codes scope: blue text = Intermediate project (now), black = later phases. That colour is lost in extraction — a handful of items are explicitly tagged future (EUROMAP cushion, average weight, parameter-change & first-piece on some boards). Where the RFI says "a definir numa futura fase" it's marked Future phase here. Confirm the precise blue/black split against the original Excel for anything ambiguous.

Sources: RFI_Simoldes_Roll-Out_Jan2023.xlsx · Tabela códigos M026PP06_V6 · docs/sims-demo-script.md · MANUAL-INPUT-CONFORMANCE-2026-05 · sims-progrow-standalone-compliance · Paulo Brás email 2026-05-27.

1 · What SIMS is

SIMS is an MES for Simoldes' injection-molding factories. It computes real-time efficiency KPIs (OEE, TEEP, PPM…) per machine, mould and factory, from two streams: automated machine telemetry (EWON IoT over OPC-UA) and manual operator input on tablets (the why behind stoppages, the rejections, the OF/mould/cavity context machines can't self-report). It replaces the legacy proGrow platform.

The product's spine (RFI): a machine produces injections; SIMS multiplies injections × effective cavities to get parts, subtracts rejections for good parts, and times everything against planned open time to derive efficiency. Every KPI is the same handful of quantities recombined. Get the quantities right and the 31 KPIs follow.

Scope tiers (RFI rollup)

Everything aggregates across three levels: Módulo (a group of machines) → Fábrica (factory) → Grupo (all 8 Simoldes factories). The rollout (R1-R8) is one factory at a time; the demo is one machine (KM 850 II) at one factory (Plastaze).

2 · Roles

The RFI defines a project team; the product defines four operating roles. Role determines which views are reachable.

RoleDeviceSeesDoes
OperatorFloor tablet (kiosk, locked layout)Manual-input hub only — no sidebar, no reportsClock in by personal code; justify stoppages; log rejections; start OF + confirm mould/cavities; validate first piece; view own session
SupervisorLaptop / office tabletFull app — machines, detail, reports, adminMonitor fleet; read KPIs; run reports; configure operators/codes; force-close sessions; (cannot do operator manual input on laptop)
IT (Simoldes)Admin webTablet provisioning + machine/OPC mappingRegister tablets, issue provisioning codes, revoke; (D4: create/delete operators)
System admin D4Admin webOperator lifecycle + tenant configSplit from supervisor at D4 — only Simoldes IT creates/deletes operators
RFI project stakeholders (approval, not app roles): António Couto (project manager, milestone approval), Rui Peralta, Paulo Brás. Solution-definition team: Carlos Oliveira, Paulo Teixeira, Bruno Brandão, Helder Silva, Rui Ribeiro. Operations contact for spec questions: Paulo Brás.

EasySolutions training overlay (RFI #18/#02): each Colaborador/Molde pair carries a polyvalence level — a letter P, D, C or A and a colour (green→yellow→orange→red). Shopfloor boards show the lowest-trained operator's level. Future phase — source is the EasySolutions system.

3 · Data sources canonical model met

The RFI lists 16 information sources. The product reduces them to: EWON device (automated), ERP "Ordens de Fabrico" / Xpert (OF headers, theoretical cavities, operators), 6 manual-input flows, and Calendário (open-time schedule). proGrow is not an RFI dependency — the RFI is proGrow-agnostic.

The canonical-source rule

Manual SIMS entries are canonical. proGrow is fallback / validation only, and is being removed from the KPI path at D4. The mould (turno-molde), not the OF, is the KPI attribution unit — a mould can change mid-OF (a SMED 3A/3F/3G is the boundary).

# Source priority for any KPI input
manual SIMS entry  →  Xpert/ERP  →  proGrow (fallback)  →  default
# Setting USE_PROGROW_FALLBACK=False does NOT make KPIs standalone —
# it only governs the /stoppages read path. The real cut is the G1-G6 rewire (§13).
Xpert (ERP) cadence, confirmed by Paulo 2026-05-27: OFs every 10 min, operators 1×/shift, qualification 1×/day, per-factory tables. EWON is standard across all machines/factories → deployments are replacement-only. And: "sempre que muda uma OF têm de escrever no ewon o molde, referencia mais baixa e ciclo teórico" — mould + lowest ref + theoretical cycle are written to EWON tags at every OF change (a candidate OF→mould source).

4 · Operator views D2 built

The operator never leaves the kiosk layout. Each view below is from the demo script (the canonical D2 walkthrough) reconciled with the RFI manual-input requirements.

4.1 · Machine identification + handover /operator/machine-confirm

Purpose: pick the observed machine; show an idle "handover" state between operators. Shows: machine selector (only machines this tablet may serve); big machine name + live KPIs (OEE, parts, downtime); one Identificar-me button, readable at 3 m.

4.2 · Clock-in + manual-input hub /operator/login → /input

Purpose: clock in by personal code, reach the central input panel. Shows: numeric keypad (Limpar + ⌫); the live OF tile (OF id, PRODUZIDAS, TC real vs theoretical); cards for REJEIÇÕES, ORDEM DE FABRICO, 1ª PEÇA OK, COLABORADOR; an OFFLINE indicator.

D2 deliberately has no PIN/password (speed over security — the tablet is physically in the room, the code is the personal ID). PIN deferred to D3. RFI gap: the hub should surface all 6 manual-input subtypes; today it shows 4 + a 1ª-Peça placeholder and is missing an "Alteração Parâmetros" card entirely (§10).

4.3 · Rejection logging /input/rejections compliant

Purpose: log a defective part. Shows: codes by category (Injeção/Aspecto/Forma/Embalagem… >100 codes); a "Sugeridos para esta OF" section that learns from the last 24h; a quantity keypad; a "Submeter N × CÓDIGO" summary.

4.4 · Stoppage justification /input/stoppages compliant

Purpose: assign a reason code to an auto-detected downtime. Shows: stoppage categories (Manutenção/Material/Falta de Material/Troca de Molde…); a list of unjustified stoppages with timestamps.

DEV2-535 gap: bulk-justify lacks a shift-boundary check — operators can justify previous-shift stoppages. Paulo demanded shift-scoped edits.

4.5 · OF start + mould/cavity confirm /input/work-order compliant

Purpose: open a work order, confirm the mould, capture effective cavities. Rule (RFI): Nº Cavidades Efetivo is operator-entered (manual OF source), distinct from Nº Cavidades Teórico (ERP). Defaults to theoretical, editable down (blocked-cavity case). See §12.

4.6 · First-piece validation /input/part-validation D2 placeholder

RFI intent (#17): validate the first conforming part — occurrence + timestamp, signed by a Colaborador (often different from the machine operator). The timestamp is the SMED end-time (§9 #02). Current: honest "Em breve / Funcionalidade futura" placeholder — full workflow is D3 once the client defines it. route reaches placeholder, bypassing the disabled menu gate — cosmetic

4.7 · My session /operator/session partial

Purpose: the operator's own audit trail — confirm numbers before shift end. Shows: header (name, code, machine, start); summary (parts, rejections, stoppages); chronological event list.

RFI gap: the RFI wants every manual action in the session history; today it logs rejections + justified stoppages but omits OF starts and clock-in/out, though both are DB-attributed. Extend the activity feed to UNION them.

5 · Supervisor views D2 built

5.1 · Login /login

Simoldes email + existing password policy. UI is permanent European Portuguese, no English fallback. Sessions expire after 30 min inactivity. SSO automation deferred to D4.

5.2 · Machines overview /machines

First screen after login. Cards per machine (pilot: KM 850 II, KM1300) — live state (producing / stopped / no-operator), OEE, parts today, "updated Ns ago". Numbers are live-calculated from OPC-UA, never manual. Machine offline → "sem comunicação" (no fabricated data). New machine = add reference + map OPC topic in admin (~5 min, no code).

5.3 · Machine detail /machines/:code

The most-used supervisor page. Four tabs:

TabAnswersShows
Produção (Production)"how much"Shift cycle / parts chart
Timeline"why stopped"Stoppages coloured by code; unjustified = "paragem por justificar" (stoppage to justify)
Validação (Validation)"is first piece OK"First-piece validations
Diagnóstico (Diagnostics)"sensor problem?"OPC-UA sensor health — dead sensor → KPIs artificially low

5.4 · Tempo de Trabalho Colaborador report /reports/tempo-trabalho central D2 deliverable

Purpose: collaborator work-time report. Shows: all sessions (who / machine / OF / start–end / duration); open sessions flagged "ABERTA"; KPIs (sessions, total hours, distinct operators, open count); filters (date/operator/machine/shift); Exportar CSV.

This report = RFI KPI #10 (Tempo Trabalho por Colaborador). The full RFI collaborator KPI set is #10-#13, #18, #26 — see §9.

6 · Admin & IT views D2 built

6.1 · Tablet provisioning /admin/tablets (IT)

Script-vs-build drift: the demo script narrates this device-code flow, but the shipped branch (PR #94/#104) pivoted to per-machine PIN login. Reconcile the narration with the live PIN flow before rehearsing. Governance ticket DEV2-705.

6.2 · Tablet activation /tablet-setup

Paste ID + code → "Activar tablet" → tablet is locked to the operator layout (any supervisor URL redirects back here — "fundamental para a confiança no audit log"). Initial activation needs network; then works offline with the local queue.

6.3 · Administration /admin/* (Supervisor)

All business config lives here — no Procimo IT needed (only OPC mapping + new machines go through Procimo). Operators (add/suspend/edit code) · Rejection codes (>100, add/rename/disable) · Stoppage codes · Active sessions (who's on which machine + force-end) · Tablets (state/revoke).

Admin changes are logged in the backend (timestamp + user) but there's no UI audit-log view yet (D3/D4). D4 splits supervisor vs system-admin (only Simoldes IT creates/deletes operators).

7 · Shopfloor dashboards RFI · largely D3+

The RFI specifies 10 real-time shopfloor boards (43-inch floor monitors, ≤5-min refresh). These are mostly beyond the demo but are the product's monitoring backbone. Summary of each:

#BoardPurpose / key contentsStatus
01Layout MóduloPer-machine cards: state colour, OEE (turno reset), OF, Tempo em Falta = (Plan − Peças + Rejeições)×TC Teórico/Cav. Efetivo, Código Paragem, Qtd OK/Plan, Início Planeado/Real. Colour map: produção=verde, avaria=vermelho, qualidade=laranja, logística=azul, ensaio/troca=cinza.D3+
02Resumo MóduloPer-machine detail: TC Teórico/Real, OEE, Rejeições, PPMs, paragens, 1ª Peça OK (reset turno-molde), Nº Paragens s/ just., Status Equipamento (Prosistav OK/NOK), Formação Operador. Thresholds: OEE<85% vermelho, PPMs>5000 vermelho, TC Real > teórico+2″ vermelho.D3+
03Resumo Processos CríticosTOP-3 worst OEE / worst PPM moulds + limiting factor (last hour, TNAs excluded); TOP-5 cycle-deviation moulds (≥5 cycles ≥1″ off in last 10 min); TOP-3 paragens/SMEDs (capped 60 min).D3+
04Quadro OEE (+N-1, N-2)Per-equipment, per-shift hourly grid (the "850 II" board already mocked in proGrow). 21 fields incl. Nº Peças Objetivo, RQT/RQL/RU, top-5 stoppage + rejection codes. Past hours grey, current/future blue.D3+
05Registo ProduçãoSpec deferred to a separate document.deferred
06Layout LogísticaLogistics codes 4A-4D: 24h cards (factory stoppage time, top-5 machine-mould), last-hour cards (>10 min vermelho), Próximas Produções (top-5 OFs by smallest Tempo em Falta).D3+
07Layout ManutençãoMaintenance 6A-6D + process 1C/1L: 24h cards + last-hour (>10 min vermelho).D3+
08Layout OperaçõesOEE broken into Disponibilidade (% paragem por tipo: Manutenção/Logística/Produção/SMED) / Qualidade (top-5 worst OK-ratio) / Performance (top-5 worst parts-ratio). Last 24h, no reset.D3+
The RFI Shopfloor list names 10 (incl. Quadro OEE N-1/N-2 as separate boards). These are the Module Resume Dashboard epic (DEV2-344) — nice-to-have for the demo, core for rollout.

8 · Reports RFI · D3+

The RFI specifies 16 historical reports across Módulo / Fábrica / Grupo. Cross-cutting rules: almost every report excludes OF "1G"; stoppage-time reports exclude the TNA set (1G, 2A, 2B, 2C, 6E); "SMED" everywhere = the new SMED definition (§9 #02).

ReportFreqLevelPeriod
B1 Controlo de Produção Diárioper shiftMódulothis shift + yesterday's
B2 Resumo Eficiência MensalmonthlyMódulo + Fábricacurrent month
Resumo Eficiência Anual (+Grupo)daily/weeklyFábrica / Grupocurrent year
Resumo Mensal QualidadeweeklyMódulo5 weeks
Resumo Rejeições Diário/Semanal + Mensal/AnualdailyMódulo / Fábrica7d / month+year
Resumo Diário + Semanal/Mensal/Anual ParagensdailyFábricaday / 7d / month / year
Top 5 Mensal Defeitos / ParagensweeklyGrupo / Fábricacurrent month
A3 OEE / A3 SMED / A3 PPMsdailyFábricaYTD
The Tempo de Trabalho report (§5.4) is the only report built for D2. The 16 RFI reports are the post-demo reporting layer.

9 · KPI definitions core 3 built · 31 total

The RFI defines 31 KPIs + 23 supporting indicators, each with an exact formula, components, temporal granularity, and dimensions. The engine is kpi_calculator.py. Below: the identities that govern all of them, then the full table.

Master identities

# The whole KPI system reduces to these  (PT source term in comments)
Parts            = Shots × Actual Cavities          # Nº Peças = Nº Injeções × Cav. Efetivo (manual OF input)
Theoretical Parts= (Operating Time / Theo. Cycle) × Theo. Cavities  # Nº Peças Teórico
Good Parts       = Parts − Rejects                  # Nº Peças OK = Nº Peças − Nº Rejeições
Planned Opening Time = Opening Time − TNA Stoppage Time   # Tempo Abertura Planeada; TNA = 1G,2A,2B,2C,6E

RU  (Availability)  = Operating Time / Planned Opening Time   # Disponibilidade
RQT (Performance)   = Parts          / Theoretical Parts      # Performance
RQL (Quality)       = Good Parts     / Parts                  # Qualidade
OEE  = RU × RQT × RQL
TEEP = RU' × RQT × RQL   # TEEP/OOE use Opening Time (not Planned); INCLUDE OF=1G
Two cross-cutting rules every dev must internalise: (1) Exclude OF=1G by default — the only KPIs that include 1G are TEEP (#08), OOE (#22), Tempo Total OF 1G (#28). (2) TNA codes (1G, 2A, 2B, 2C, 6E) are planned/excluded time — they reduce the availability denominator. Maintenance KPIs (MTTR/MTBF) use codes 6A, 6B, 6C, 6D. SMED uses 3A, 3F, 3G.

The 31 KPIs

#KPIFormula1G?Gran.
01Tempo Total ParagemDuração Paragem (new-ID rule)noparagem
02Tempo Médio SMEDDuração SMED / Nº SMEDs (3A/3F/3G start → 1ª Peça OK end; subtract non-SMED stoppages)noSMED
03OEE demo(Nº Peças OK / Nº Peças Teórico) × (Tempo Trabalho / Abertura Planeada)nohora
04PPM demoNº Rejeições × 1e6 / Nº Peçasnohora
05PPM por Tiposame, by Tipo de Rejeiçãonoturno
06PPM por Códigosame, by Código de Rejeiçãonoturno
07Desvio de CicloTC Real − TC Teórico (TC teórico+1″ < real < +120″)noinjeção
08TEEP demo(Nº Peças OK / Nº Peças Teórico) × (Tempo Trabalho / Abertura)yeshora
09Nº RejeiçõesNº Rejeiçõesnohora
10Tempo Trabalho por Colaborador builtTempo Trabalho (by Rótulo Início/Fim)nohora
11Tempo Paragem por Colaborador stub=0Duração Paragem per collaboratornohora
12Nº Peças por ColaboradorNº Injeções × Cav. Efetivonohora
13Nº Rejeições por ColaboradorNº Rejeiçõesnohora
14EUROMAP Almofada futureMax/Min(sinal)ciclo
15Nº de PeçasNº Peçasnohora
16Nº Alterações Parâmetros no inputCOUNT (Rótulo concat if multiple)noocorrência
17Nº Validações 1ª Peça placeholderCOUNT (exclude 1G)noocorrência
18Nº Colaboradorescount(DISTINCT) + Formação overlaynohora
19MTTRΣ Duração Manut. / Σ Nº Paragens Manut. (6A-6D)noturno
20MTBFΣ(Abertura Planeada − Paragem Manut.) / Σ Nº Paragens Manut.noturno
21TC Real MédioΣ Tempo Trabalho / Σ Nº Injeçõesnohora
22OOE(Nº Peças OK / Teórico) × (Trabalho / Abertura por horário fábrica)yeshora
23% de ParagensTempo Paragem / Tempo Aberturanoturno
24% Paragens por TipoParagens Não Planeadas / Abertura Planeadanosemana
25% Paragens por CódigoParagem / Abertura Planeadanosemana
26TC Real Médio por ColaboradorΣ Trabalho / Σ Injeçõesnohora
27Peso Médio futureΣ Peso / count(ID Registo)noOF
28Tempo Total OF 1GΣ(Paragem 1G + Produção 1G)yesturno
29Nº SMEDscount(DISTINCT ID_SMED)noSMED
30/31% Paragens por Tipo/Código (group) + 1G variants (Nº Peças 1G, Nº Rejeições 1G, Tempo Paragem 1G)

Common dimensions (filter axes): Máquina · Módulo · Fábrica · Hora · Turno · Dia · Semana · Mês · OF · Molde · Referência · Tipo/Código de Paragem · Tipo/Código de Rejeição · Colaborador · Rótulo Início/Fim.

10 · Manual inputs 4 of 6 built

Six "Registo Manual" sources drive the KPIs. They are the heart of the product — machines give the what, these give the why and the business context.

SourceCapturesFeedsStatus
Estado (stoppage)Código + Tipo de Paragem; pause-button; history split/merge; new-ID rule#01,#19,#20,#23-25, OEE availabilitybuilt
RejeiçõesNº, Tipo, Código, Referência, data, Rótulo#04-06,#09,#13, OEE qualitybuilt
Ordens de FabricoNº Cavidades Efetivo, Qtd Planeada/ref, Início Real, Colaboradorparts, all OEE/PPMbuilt
ColaboradoresCódigo Colaborador, Rótulo Início/Fim (clock-in/out)#10-13,#18,#26built; session feed + per-collab stoppage time incomplete
Primeira Peça OKoccurrence + timestamp (SMED end), Colaborador, Turno#02,#17placeholder
Alteração Parâmetrosoccurrence + timestamp, Colaborador, Rótulo (concat)#16no UI/route/model
To reach RFI compliance on manual input: build the Alteração Parâmetros flow (#16, currently absent), wire 1ª Peça OK as a real capture (currently placeholder — unblocks #02 SMED end-time + #17), complete the per-collaborator stoppage time (#11, hard-coded 0 today), and UNION OF-starts + clock-ins into the operator session feed.

11 · Code taxonomy seeded from M026PP06

The client's official code table (doc M026PP06_V6) has two families. Codes are seeded in SIMS; categories drive the rejection + stoppage UIs.

11.1 · Defect (rejection) codes — 8 categories, >100 codes

Category (PT)#Examples
Manufacturing Start-Up (Arranque Produção)189A Incompletes · 9C Flash · 9Z Quality Control Parts
Injection (Injeção)191A Incompletes · 2A Incompletes Restart · 2C Excess of Gas
Assembling (Montagem)~274A Exchange Components · 4C Welding NOK · 8C Continuity NOK
Appearance (Aspecto)~221B Burned · 1N Scratch · 3A Wrinkles · 3F Orange Peel
Shape / Geometry (Forma)~151C Flash · 1Q Dimensional NOK · 3G Off-center Blank
Tampoprinting & Painting116A Lumps · 6F Lack of Ink · 6H Print position NOK
Wrapping / Coating (Revestimento)~127A Incorrect Glue Mix · 7L Sewing NOK
Packaging (Embalagem)90A Damaged packaging · 0F Quantity NOK · 0N Unreadable Barcode
Prefix reuse: code letters repeat across families (e.g. 1A is both an Injection defect and a Production stoppage). Classify by family/category, never by prefix. 9Z "Quality Control Parts" is PPM-only.

11.2 · Stoppage codes — 6 categories, ~47 codes

Category#Codes / rule
Production191A Setting, 1B Wait tool change, 1H Tool Cleaning, 1P Training… (1D→2A if planned, doesn't affect weekend)
SMED103A/3F/3G start a new SMED ID in SIMS; 3B-3E, 3H-3J do not
Quality25A Quality Stoppage, 5B Start-Up Validation
Maintenance56A-6D (MTTR/MTBF) + 6F Power/fire. Weekend rule: 6A/6D stop at weekend if unplanned; 6B/6C never stop until operational
Logistic74A-4D internal, 4E-4G external (warehouse)
TNA (non-affected time)42A, 2B, 2C, 6E — planned/excluded availability codes
Conformance gap: the KPI engine classifies planned/TNA off a hardcoded {2A,2B,2C,6E} set, not the editable StoppageCode.is_planned DB flag — two sources of truth. A planned code outside that literal is misclassified. Drive TNA from the DB flag.

12 · Cavities & moulds model built · sign-off pending

This is the spec's most defect-prone area and the root of the historic "~50% OEE" MES bug.

RFI mandates two distinct cavity fields. Nº Cavidades Teórico (from ERP — how many the mould has) and Nº Cavidades Efetivo (operator-entered — how many are actually running; some may be blocked). Conflating them is a confirmed defect: a 2-cavity mould with 1 blocked, targeted as if 2 run, reports OEE ~50% artificially low. A single combined field is rejected.

Attribution model (decided 2026-05-27)

  • The mould (turno-molde), not the OF, is the KPI attribution unit. A mould can change mid-OF (a SMED 3A/3F/3G is the boundary).
  • SIMS owns a native moulds table (theoretical_cavities, theoretical_cycle_time), one-time backfilled from proGrow. proGrow is seed-only/fallback, never a runtime cavity value.
  • Time-sliced machine_mould_runs (one open run per machine). Cavity resolution chain:
# cavity resolution at runtime
run.effective_cavities  →  mould.theoretical_cavities  →  proGrow last-known  →  1.0
Known accepted behaviour (RFI): if an operator enters more effective cavities than exist, OEE > 100% — this is expected, not an error to block.

13 · Conformance scorecard

Where the build stands against the RFI. Build the app to turn every row green. The KPI engine's proGrow coupling (G1-G6) is the main thing blocking "standalone".

KPI-engine standalone gaps (proGrow → SIMS)

GapKPINowTargetSev
G1OEE Performance + partsparts = EWON cycles × proGrow cavities; performance_source="progrow"parts = injections × SIMS cavitiescritical · demo
G2OEE Availabilityswitches to proGrow time when it covers the windowalways EWON operating / SIMS plannedhigh
G3TEEP / OOEproGrow-primary; SIMS only fallbackSIMS primary, drop proGrow branchhigh
G4PPM parts + by-mouldparts proGrow-derived; by_molde all proGrowparts SIMS; by_molde keyed off mould tablehigh
G5Cycle deviationTC teórico from proGrowper-mould cycle from SIMSmedium
G6% stoppage by type/codequeries ProGrowStoppageSynccompute from SIMS stoppagesmedium

Other conformance findings

AreaFindingStatus
Rejection count#09 does max(ewon,progrow) but PPM/quality use manual-canonical — same event yields different numbers in different cards. Pick one (manual-canonical per D4).high
Operator session feedRFI wants every manual action; OF-starts + clock-ins omitted from history.high
TNA classificationhardcoded code set vs editable is_planned DB flag.medium
KPI #11 per-collab stoppagehard-coded 0 stub.medium
KPI #16 Alteração Parâmetrosno UI/route/model at all.RFI
KPI #17 / 1ª Peça OKplaceholder only — blocks SMED end-time precision.D3
Estado / Rejeições / OF-cavitiesbuilt ahead of the (stale) kpi-specification.md; manual-canonical, SIMS-native moulds.compliant
Shopfloor boards (10) + reports (16)RFI-specified, not yet built (Tempo de Trabalho report is the one D2 report).D3+
Spec staleness vs regression: most "deviations" are the build being ahead of a stale kpi-specification.md (manual-canonical, SIMS moulds — the intended D4 direction), not regressions. The real work to be "RFI-standalone" is: implement moulds runtime, rewire G1-G6, fix the rejection-count inconsistency, build #11/#16/#17, and correct the spec doc.

14 · Open client sign-offs

Spec questions that need Paulo / Simoldes before the relevant code is final:

Spec compiled 2026-06-02 from the Simoldes RFI (Jan 2023), code table M026PP06_V6, the demo script, and the manual-input + proGrow-standalone conformance audits. Client documentation is authoritative; where code disagrees it's flagged a gap. · Companion: docs/SPEC.md in the repo.

15 · PT → EN glossary

Every Portuguese domain term used in this spec, with its English equivalent. These PT strings appear in the UI, DB columns and client docs — devs will meet them verbatim.

KPIs & quantities

PortugueseEnglishNote
Nº de Peças / Nº PeçasParts Counttotal parts produced
Nº Peças TeóricoTheoretical Parts Count
Nº Peças ObjetivoTarget Parts Count
Nº Peças OKGood Parts Countquality-OK parts
Nº InjeçõesInjection / Shot Countmachine shots
Nº Cavidades EfetivoActual Cavity Countcavities actually running
Nº Cavidades TeóricoTheoretical Cavity Countmould's nominal cavities
Nº RejeiçõesReject Count
Nº ParagensStoppage Count
Nº SMEDsSMED Countnumber of mould changeovers
Nº Alterações ParâmetrosParameter Change Count
Nº Validações 1ª PeçaFirst-Part Validation Count
Nº ColaboradoresOperator Countheadcount
Peso MédioAverage Weightper-part
Disponibilidade / Performance / QualidadeAvailability / Performance / QualityOEE triad (RU / RQT / RQL)
Horas TRSOEE HoursTRS = OEE in PT/FR
Desvio de CicloCycle Deviationactual vs theoretical cycle
Objetivo Produção HoraHourly Production Target
% de Paragens (por Tipo / Código)Stoppage % (by Type / Code)

Time

PortugueseEnglishNote
Tempo TrabalhoOperating Timerunning/production time
Tempo AberturaOpening Timecalendar/manned time
Tempo Abertura Planeada / PlaneadoPlanned Opening Timeopening minus TNA
Tempo de Ciclo Teórico (TC Teórico)Theoretical Cycle Time
Tempo de Ciclo Real (TC Real)Actual Cycle Time
Duração ParagemStoppage Duration
Duração SMEDSMED Durationchangeover duration
Tempo Total ParagemTotal Stoppage Time
Tempo Médio SMEDAverage SMED Timemean changeover
Tempo Total OF 1GTotal Time of OF 1Gfirst-good-part order phase
Tempo em FaltaMissing / Remaining Timetime to hit plan
Horário de produçãoProduction Scheduleper-factory open hours

Dimensions / grouping

PortugueseEnglishNote
MáquinaMachine
MóduloModulemachine cell/group
FábricaPlant / Factory
TurnoShift
Hora / Dia / Semana / MêsHour / Day / Week / Month
OF (Ordem de Fabrico)Work Order (Production Order)
MoldeMouldthe KPI attribution unit
ReferênciaPart Referencepart number
Rótulo (Início / Fim)Label (Start / End)batch/event label markers
Colaborador(es)Operator(s)

Stoppage / rejection / status

PortugueseEnglishNote
Tipo / Código de ParagemStoppage Type / Code
Tipo / Código de RejeiçãoReject Type / Code
EstadoStatusmachine/OF state
AvariaBreakdownmachine fault
EnsaioTrialmould trial run
Troca de MoldeMould Changechangeover (SMED)
Falta de MaterialMaterial Shortage
Manutenção / Logística / ProduçãoMaintenance / Logistics / Productionstoppage types
Status EquipamentoEquipment StatusProsistav OK/NOK

Views / dashboards / reports

PortugueseEnglishNote
Registo ManualManual Entrythe operator input flows
Ordens de FabricoWork Orders
Primeira Peça OK (1ª Peça OK)First Part OKfirst-good-part validation
Alteração ParâmetrosParameter Change
PesagemWeighingpart weighing (future)
A Minha SessãoMy Sessionoperator audit trail
Tempo de Trabalho ColaboradorOperator Work-Timethe central D2 report
Layout Módulo / Resumo MóduloModule Layout / Module Summaryshopfloor boards
Resumo Processos CríticosCritical Processes Summary
Quadro OEEOEE Board
Registo ProduçãoProduction Log
Layout Logística / Manutenção / OperaçõesLogistics / Maintenance / Operations Layout
Controlo de Produção DiárioDaily Production Controlreport B1
Resumo Eficiência (Mensal / Anual)Efficiency Summary (Monthly / Annual)
Resumo Rejeições / ParagensRejects / Stoppages Summary
Top 5 Mensal de Defeitos / ParagensMonthly Top 5 Defects / Stoppages

UI strings

PortugueseEnglishNote
Identificar-meSign Inoperator self-identify
Activar tabletActivate Tablet
EtiquetaTag / Labeltablet label
Sem comunicaçãoNo Communicationoffline/no-signal
Sugeridos para esta OFSuggested for this Work Order24h-learned rejection codes
Paragem por justificarStoppage to justifyunjustified downtime
Em breve / Funcionalidade futuraComing Soon / Future Featureplaceholder copy
FormaçãoTrainingoperator polyvalence level
ProduzidasProducedlive parts on the OF tile