Skip to content
View marcospaula's full-sized avatar
💭
Keep learning... 👍
💭
Keep learning... 👍

Block or report marcospaula

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
marcospaula/README.md

Marcos de Paula

Reliability Engineer: turning failure data into uptime and safety.

20+ years across three of the most demanding industries there are: aerospace (Embraer, Azul) → mining (Vale) → subsea oil & gas NPD (OneSubsea / SLB).

I work at the intersection of reliability engineering, data science, and functional safety: life-data and degradation analysis, failure and root-cause investigation, and designing critical systems so that the safe state is the default state.

Everything below is public, licensed, and reproducible unless it says otherwise. Each entry opens with the result; expand it for the method and the caveats.


Work

Reliability on a public dataset built for anomaly detection. One air leak every 43.8 operating days, 90% interval 19.1 to 128.3, no detectable trend. MTTR and availability are published as not estimable, and the reason is stated.

Method and caveats

An agent over the public MetroPT-3 dataset: seven months of the air production unit on a Metro do Porto train, with four air leaks dated by the operator. A historian, an event log, a topology graph and a note base, served to an LLM as MCP tools.

The layer that dataset supports and most public datasets do not is reliability: four recurrent events on one repairable unit, on an operating-time clock, with the right censoring carried explicitly. MTTR is not estimable because one report has no maintenance record and another dates the repair a month before its own failure.

Two data findings decide those numbers before any model does. The logging gaps are the machine off rather than lost telemetry, which moves the failure rate by 22%. And ten acquisition freezes, where five analogue channels hold a single value each while a digital channel toggles on a fixed 40 s square wave, fabricate 63 load cycles per hour and outrank every reported failure until they are masked.

Python · DuckDB · MCP · MIT · data CC BY 4.0, credit Davari, Veloso, Ribeiro and Gama

📐 relengy

Reliability engineering in Python, with the method decisions written down where the code makes them. Where the standard authorities disagree, the library says which side it took, and why.

Scope

Life data analysis, reliability growth, accelerated testing, RBD, FMEA and fault trees, built against Abernethy's The New Weibull Handbook.

Python · MIT

The capacitor rule that life doubles every 10 °C of cooling is an undeclared Arrhenius model, and the activation energy it implies varies 77% (0.549 to 0.971 eV) depending on where on the temperature scale you apply it.

Why it still works, and where it stops working

Over the usual 105 °C → 40 °C extrapolation the rule embeds Ea = 0.707 eV, within 4% of the only published value for that exact capacitor technology. So it is right by coincidence, not by construction: nothing in it stops you carrying it to a neighbouring technology, where the same error runs from 2.40× optimistic to 0.13× conservative.

Three competing manufacturers confirm the bound in their own technical notes. Closed-form, reproducible with the standard library, and a scope error in an earlier version of the analysis is corrected in the open rather than quietly.

Python · MIT

60 units, 79,371 accumulated hours, zero failures. A two-parameter Weibull has nothing to fit, so the answer rests on a decision, the assumed shape β, as much as on data. This study quantifies how much.

How the data stays closed and the numbers stay checkable

It publishes the sufficient statistics instead of the individual lifetimes, which keeps the underlying data closed while leaving every calculation verifiable: verify.py reproduces every published number with no access to the raw lifetimes and no dependencies.

Python · MIT

🔬 FLARE26

An auditor that knows when not to answer. It abstains when the requested information is genuinely absent, or of the wrong type or scope, then decides consensus vs. divergence with a deterministic judge.

The error it is built against

A neuro-symbolic, glass-box system for multi-document audit. The most expensive error there is a false-positive divergence: a disagreement the system invents by hallucinating an answer the document never gave.

Reported transparently, negative results and limitations included.

Python · MIT · live demo (no API key) · DOI: 10.5281/zenodo.20881699

📊 Reconstructing failure histories from aggregated data

The load-bearing result is negative: the fitted Weibull shape, and the Weibull-over-Exponential model choice itself, are artefacts of the reconstruction geometry rather than evidence of wear-out.

Context

Reliability modelling for a PhD thesis on shell-and-tube heat exchangers. OREDA-2015 reports only aggregate exposure time and failure counts, never unit-level histories, so we reconstruct statistically consistent time-to-failure sequences via a Poisson renewal process, select a lifetime model by likelihood-based criteria, and derive RCM maintenance intervals.

Because the shape is an artefact, it is carried as an explicit sensitivity assumption instead of reported as a finding.

Collaborator and co-author. Manuscript in preparation.


Toolbox

Reliability RAM analysis · FMEA/FMECA · RCA · FTA · RCM · life data & degradation analysis · accelerated life testing · optimum replacement interval
Safety functional safety · HAZOP · design for reliability
Data Python (pandas, numpy, scipy, reliability, matplotlib) · R (WeibullR) · SQL · DuckDB · MCP servers for agent-facing data
Commercial ReliaSoft Weibull++ · BlockSim · ALTA
Standards ISO 14224 · MIL-STD-1629A

Credentials

Certified Reliability Professional (CRP) · Certified Functional Safety Professional · Reliability Consultant

Specializations: Reliability Engineering (UTFPR) · Big Data & Data Science (Mackenzie) · Aviation Safety (ITA) · Engineering Innovation & Entrepreneurship (UNESP)

Elsewhere

I write about reliability, failure, and the logic behind the data on LinkedIn.

📩 marcos.paula@outlook.com

Pinned Loading

  1. FLARE26-P1 FLARE26-P1 Public

    Ontology-gated abstention for document audit: a neuro-symbolic glass-box auditor that compares documents and knows when NOT to answer.

    Python 1

  2. relengy relengy Public

    Reliability engineering in Python: life data analysis, reliability growth, accelerated testing, RBD, FMEA and fault trees — with the method decisions written down where the code makes them.

    Python