From 124f5d4953b3607d0c13d50c799d0ffd34613ab8 Mon Sep 17 00:00:00 2001 From: Dennis Thiessen Date: Wed, 26 Aug 2026 09:53:55 +0200 Subject: [PATCH] feat(kb): record degree final grades and US 4.0 conversions A Citadel application form asked for GPA and neither degree's Abschlussnote existed anywhere in claims.json - only the M.Eng. thesis grade. The single lead was an old CV extraction whose own provenance note disclaims it and which already carries a known error, so it was not safe to convert from. User confirmed both directly: M.Eng. 1.6 and B.Eng. 2.4 on the German 1.0-4.0 scale. US 4.0 equivalents recorded via the modified Bavarian formula, which simplifies to 5.0 - G: 3.4 and 2.6. Both fields carry usage rules, because a converted grade is easy to misuse. They are for application forms and credential checks only, never to be presented as a natively awarded GPA, and the German scale must always be stated alongside - particularly for the bachelor, where the conversion makes a solid "gut" read weaker to a US audience than it is. Also flagged a percentile that does not agree with itself. The relative grade is ECTS B, but this record said top 35%, the user said top 30%, and ECTS B is formally the next 25% after the top 10%. Rather than pick one, the field now says to check the certificate and notes that quoting "ECTS grade B" alone is always safe. A specific percentile on an application is exactly the kind of small number that a credential check can contradict. New grade_output_rule: neither grade belongs on a resume or in a cover letter by default. Industry resumes omit grades, and the thesis 1.0 is the only figure worth surfacing where academic performance is valued. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01MHtzyTKBcg6BWhD5qFegtK --- CLAUDE.md | 1 + resume_builder/canonical/claims.json | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index c7c5276..f8a0f00 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -194,6 +194,7 @@ _See `config.md` for user-specific corrections. Add verified errors here as you | 2026-07-27 | **Security Champion is 2025/2026 only, and is a team role — not an award.** Source files claimed "3 consecutive years (2023/24–2025/26)." User has now corrected this twice. **Default is OMIT** unless the JD explicitly requires security/DevSecOps. | `experience_swisscom.md` SW-5, `achievement_reframing_guide.md`, `skills_taxonomy.md` (3 rows) | | 2026-07-29 | **Atlassian Compass is the metadata/lineage platform for Swisscom data products** (user-supplied). Previously the KB named no catalogue/lineage product at all, which read as a hard gap against data-governance JDs. Practitioner use only — never claim admin, rollout or ownership. Does NOT license claiming Purview/Collibra/Alation. | `claims.json` (SW-7 scope + skills entry), `experience_swisscom.md` SW-7 | | 2026-08-02 | **Master's thesis verified against the PDF.** Vibration-based condition monitoring of CNC machine tools; hybrid **rule-based reasoning + 7-10-3 ANN**; throughput/latency evaluation (~500 SPS pipeline vs 72.9 kSPS sensors). **PSO was surveyed but NOT implemented** — an earlier note in this session wrongly listed it as an applied method. No real operational data and no accuracy figures: it is a methods prototype, not a validated system. Also recorded: ECTS relative grade **B (top 35%)**, English-language transcripts exist. | `claims.json` EDU-MENG | +| 2026-08-26 | **Degree final grades were missing from the KB entirely.** A Citadel application form asked for GPA and neither degree's *Abschlussnote* was recorded anywhere in `claims.json` — only the M.Eng. **thesis** grade (1.0). The only lead was `knowledge_base/extractions/thiessen_cv_master_profile.md`, whose own provenance note says it is not authoritative and which already carries a known error (lists PSO as an applied thesis method, corrected 2026-08-02). User confirmed both grades directly: **M.Eng. 1.6, B.Eng. 2.4** (German scale, 1.0 best / 4.0 lowest pass). US 4.0 equivalents added via the modified Bavarian formula (`5.0 − G`): **3.4** and **2.6**. Also flagged an unsettled percentile: the ECTS relative grade is **B**, but the record said top 35%, the user said top 30%, and ECTS B is formally the next 25% after the top 10% — **quote "ECTS grade B" alone unless the certificate is checked.** New `grade_output_rule`: grades stay off the resume and cover letter by default; these fields exist for form questions and credential checks. | `claims.json` (EDU-MENG, EDU-BENG) | | 2026-08-25 | **Trading-domain evidence was entirely missing from the KB.** `claims.json` had 0 hits for trading, finance or quant, so a genuine capability was unusable in any document. Added **PP-1** (self-built, self-hosted single-user investing/signal platform: US-equity price/fundamental/sentiment ingestion, LLM-assisted sentiment, long-only cross-sectional residual 12-1 momentum book with ATR stop/trail and max 15 names, scheduled scan/backtest pipelines, web dashboard + Telegram alerts) and **PP-2** (Udacity *AI for Trading* nanodegree), plus two `allowed-with-context` skills. Both carry hard `forbidden` lists: **no PnL/Sharpe/return/backtest figure may ever be quoted**, never call PP-1 distributed/production/multi-user, never imply professional quant or finance experience, never present the nanodegree as a quant credential. PP-1 is the one place full-ownership verbs are correct — it is genuinely solo, unlike the employer work governed by Scope Discipline. | `claims.json` (claims PP-1, PP-2; skills "quantitative/systematic trading concepts", "backtesting") | | 2026-08-02 | **Bosch data types named.** Fab sensor/process data: defect-management records, wafer inspection images, PCM electrical parameters (user-confirmed). Previously the KB named no concrete sensor-data types for Bosch. | `claims.json` BS-2 | | 2026-07-27 | **Bullet density.** Fixed 1L/2L/3L and character-band rules made bullets uniform and encouraged page filling. | Replaced globally with natural-length, evidence-led bullets; character counts are diagnostic only. | diff --git a/resume_builder/canonical/claims.json b/resume_builder/canonical/claims.json index ed20e24..f0e2001 100644 --- a/resume_builder/canonical/claims.json +++ b/resume_builder/canonical/claims.json @@ -32,8 +32,10 @@ "end": "2013-10", "thesis_institution": "Tongji University, Shanghai", "thesis_title": "Development of a Web-Based Remote Fault Diagnosis System", + "final_grade": "1.6 (German scale, 1.0 best / 4.0 lowest pass) -- user-confirmed 2026-08-26", + "final_grade_us_4pt": "3.4 -- modified Bavarian formula, US = 1 + 3*(4.0-G)/(4.0-1.0), which simplifies to 5.0 - G. Use ONLY when a form demands a 4.0-scale GPA; always state the German scale alongside it. Never present as a natively-awarded GPA.", "thesis_grade": "1.0", - "thesis_relative_grade": "ECTS B (top 35%); official certificate on file", + "thesis_relative_grade": "ECTS B; official certificate on file. Percentile wording is unsettled: this record previously said top 35%, the user said top 30% on 2026-08-26, and ECTS B is formally 'the next 25% after the top 10%' (i.e. top 10-35%). CHECK THE CERTIFICATE before quoting a percentile; quoting 'ECTS grade B' alone is always safe.", "thesis_methods": "Verified against the thesis PDF 2026-08-02. Domain: vibration-based condition monitoring of CNC machine tools (piezoelectric accelerometers on spindle, tool rest, lathe body). Features: speed, load and the dimensionless waveform, peak, pulse, margin and kurtosis indices. Surveyed CBR, PSO, RBR and ANN; SELECTED a hybrid of rule-based reasoning (interpretable thresholds) plus a 7-10-3 feed-forward ANN (faultstates green/yellow/red) to handle noisy data that static rules cannot classify. Extensible plug-in architecture for swappable diagnosis methods and data collectors. Java/GWT client-server on MySQL. Evaluation measured throughput and latency, NOT model accuracy: the pipeline sustained ~500 samples/s against tri-axial vibration sensors delivering 72.9 kSPS, so the thesis concluded data reduction, filtering or batch scheduling is required for real-time use.", "thesis_limits": "PSO was SURVEYED ONLY and NOT used in the implementation -- never claim it as an applied method. No real operational data: training data came from a cited thesis, test data was modified plus a random generator. No model-accuracy figures exist. Back-propagation retraining was listed as future work, not implemented. Frame as a methods prototype/framework, never as a validated production predictive-maintenance system.", "transcripts_language": "English-language originals available for B.Eng. and M.Eng." @@ -43,7 +45,10 @@ "degree": "B.Eng. Information and Telecommunication Technologies", "institution": "Universitat der Bundeswehr Munchen", "start": "2009-10", - "end": "2012-10" + "end": "2012-10", + "final_grade": "2.4 (German scale, 1.0 best / 4.0 lowest pass) -- user-confirmed 2026-08-26", + "final_grade_us_4pt": "2.6 -- modified Bavarian formula (5.0 - G). Supply ONLY when a form requires a bachelor GPA; leave blank where optional. Always state the German scale alongside it, because the conversion makes German degrees read weaker to a US audience than they are: 2.4 is a solid 'gut'. Never present as a natively-awarded GPA.", + "grade_output_rule": "Neither degree grade goes on the resume or in a cover letter by default. Industry resumes omit grades; the M.Eng. thesis grade 1.0 is the only figure worth surfacing, and only where academic performance is genuinely valued. These fields exist for application-form GPA questions and credential checks." } ], "employment": [