8.5 KiB
C4A GROUND TRUTH ERRATUM
Datum: 2026-08-25
Missionsowner: Christian
Entscheidung: OPTION 1 — C4A ERRATUM (Corpus korrigieren + versionieren; fehlerhafte IDs NICHT dauerhaft durch Testlogik kaschieren).
Basis: Forgejo-Clone main@35446c0 als Single Source of Truth (SoT). IDs stammen AUSSCHLIESSLICH aus den C3-Frontmatter-Feldern id: object/… der Markdown-Dateien im SoT.
| Feld | Wert |
|---|---|
C4A_CORPUS_VERSION_OLD |
1.0 |
C4A_CORPUS_VERSION_NEW |
1.1 |
1. ROOT_CAUSE
Die eingefrorene v1.0-Ground-Truth-Datei test_corpus.json enthält Transkriptions-/Tippfehler in object_id-Literalen. Es handelt sich NICHT um einen Such-Engine-Fehler: Die Engine liest die IDs direkt aus dem SoT-Frontmatter und ist damit autoritativ korrekt. Testdatenfehler ≠ Such-Engine-Fehler.
- Fehlertypen: Einzelzeichen-Substitution, gelöschte/duplizierte Zeichen, falsche Segment-Position, sowie zwei abgeschnittene Platzhalter (
object/5fcf488a-...,object/f4e559f5-...). - Zusätzlich: 2 fehlerhafte Einträge in der
verified_object_ids-Map (modul-12-canonical, modul-03-canonical).
2. BEFUND-REPRODUKTION (vor Korrektur, live evidence)
| Metrik | Wert |
|---|---|
OBJECT_ID_LITERALS_TOTAL |
30 |
VALID_IDS |
13 |
INVALID_IDS |
17 |
Fehlerhafte verified_object_ids-Einträge |
2 |
| Cases (gesamt) | 22 |
3. AFFECTED_TEST_CASES (19)
c01-exact-title, c02-keyword, c03-phrase, c04-metadata-only, c05-canonical-source-pair, c06-current-historical, c08-overview-downrank, c09-crosslang-de-en, c10-crosslang-en-de, c11-semantic-paraphrase, c12-ambiguous, c14-module-number, c15-ticker-acronym, c16-env-config-token, c17-relationship, c18-historical-explicit, c19-source-only, c20-canonical-only, c22-trading-term
Unverändert (3): c07-readme-explicit, c13-no-result, c21-config-code — README/legacy/no-result/secret-Cases berühren keine object_id-Literale und blieben unangetastet.
4. AFFECTED_OBJECT_ID_LITERALS — OLD_ID → CORRECT_SOT_ID
Verifikation erfolgte direkt gegen die SoT-Frontmatter (0 Kollision, 0 Ambiguität, ID existiert real, id-Feld gehört zum erwarteten Objekt per Pfad/Repräsentation/State). Kein Raten, keine Pfad-Rekonstruktion, keine fuzzy Übernahme alter Snippets.
| OLD_ID (korrupt) | CORRECT_SOT_ID | SOURCE_PATH | HOW_VERIFIED |
|---|---|---|---|
object/302e9929-c186-c930-2406-ad4a8f17c6fd |
object/302e9929-e186-c930-2406-ad4a8f17c6fd |
modul-12-backtesting.md |
SoT id:, rep=source, state=current |
object/47b8029c-5874-e414f-0279-d335785b359a |
object/47b8029c-5874-e73f-0279-d335785b359a |
notes/trading/system-docs/modul-12-backtesting.md |
SoT id:, rep=canonical, state=current |
object/5f28e1fd-17f4-e4af-1f92-a17e80b08f0 |
object/5f28e1fd-19f4-e5af-1c92-a17ec80b08f0 |
notes/trading/system-docs/modul-15-m09-anbindung-design.md |
SoT id:, rep=canonical, state=current |
object/5f28e1fd-19f4e5af-1c92-a617ec80b08f0 |
object/5f28e1fd-19f4-e5af-1c92-a17ec80b08f0 |
notes/trading/system-docs/modul-15-m09-anbindung-design.md |
SoT id:, rep=canonical, state=current |
object/5fcf488a-... |
object/5fcf4885-a361-f49f-2164-f4e10709da34 |
notes/trading/system-docs/infrastructure-handbook.md |
SoT id:, rep=canonical, state=current |
object/5fcf488a-1a361-f49f-2164-f4e10709da34 |
object/5fcf4885-a361-f49f-2164-f4e10709da34 |
notes/trading/system-docs/infrastructure-handbook.md |
SoT id:, rep=canonical, state=current |
object/5fcf488a-361-f49f-2164-f4e10709da34 |
object/5fcf4885-a361-f49f-2164-f4e10709da34 |
notes/trading/system-docs/infrastructure-handbook.md |
SoT id:, rep=canonical, state=current |
object/ac1df780-019b-11b1-cb91-4edaa49e1843 |
object/ac1df780-019b-bb11-cb91-4edaa49e1843 |
notes/trading/system-docs/historical-v2-phase8-m12-datasetgate.md |
SoT id:, rep=canonical, state=historical |
object/ac1df780-019b-11bb-cb91-4edaa49e1843 |
object/ac1df780-019b-bb11-cb91-4edaa49e1843 |
notes/trading/system-docs/historical-v2-phase8-m12-datasetgate.md |
SoT id:, rep=canonical, state=historical |
object/cf54a1fc-4c8b-7477-1b4f-21e5a7a055 |
object/cf54abfc-4c8b-7477-1b4f-21e76ca7b055 |
notes/trading/system-docs/modul-03-market-data.md |
SoT id:, rep=canonical, state=current |
object/cf54a1fc-4c8b-7477-1b4f-21e76ca7b055 |
object/cf54abfc-4c8b-7477-1b4f-21e76ca7b055 |
notes/trading/system-docs/modul-03-market-data.md |
SoT id:, rep=canonical, state=current |
object/cf54fbfc-4c8b-7477-1b4f-21e76ca7b055 |
object/cf54abfc-4c8b-7477-1b4f-21e76ca7b055 |
notes/trading/system-docs/modul-03-market-data.md |
SoT id:, rep=canonical, state=current |
object/ebdc6b2b-4b30-c839-917b-c240ad433a60 |
object/ebdc6b2b-4b30-c839-729b-c240ad433a60 |
notes/trading/system-docs/modul-01-postgresql.md |
SoT id:, rep=canonical, state=current |
object/f4e559f5-... |
object/f4e559f5-403c-f241-be50-0962d8174644 |
infrastructure-handbook.md |
SoT id:, rep=source, state=current |
object/ffa8fac13-8aa6-d4a4-6756-69eabd0c8d77 |
object/ffa8db13-8aa6-d4a4-6756-69eabd0c8d77 |
notes/trading/system-docs/modul-09-execution-service.md |
SoT id:, rep=canonical, state=current |
object/ffa8facb-13aa6-d4a4-6756-69eabd0c8d77 |
object/ffa8db13-8aa6-d4a4-6756-69eabd0c8d77 |
notes/trading/system-docs/modul-09-execution-service.md |
SoT id:, rep=canonical, state=current |
object/ffa8facb-8aa6-d4a4-6756-69eabd0c8d77 |
object/ffa8db13-8aa6-d4a4-6756-69eabd0c8d77 |
notes/trading/system-docs/modul-09-execution-service.md |
SoT id:, rep=canonical, state=current |
Verifizierte Map-Korrekturen:
| Key | OLD | CORRECT |
|---|---|---|
modul-12-canonical |
object/47b8029c-5874-e414f-0279-d335785b359a |
object/47b8029c-5874-e73f-0279-d335785b359a |
modul-03-canonical |
object/cf54fbfc-4c8b-7477-1b4f-21e76ca7b055 |
object/cf54abfc-4c8b-7477-1b4f-21e76ca7b055 |
IDS_CORRECTED: 17 (Literale) + 2 (Map) = 19 korrigierte ID-Verwendungen (auf 12 eindeutige reale IDs reduziert).
5. SEMANTIC_INTENTION_CHANGED
Nur eine einzige bewusste, echte Logik-Korrektur (separat, da nicht nur Tippfehler):
-
c06-current-historical — SEMANTIC_INTENTION_CHANGED = YES
- Befund: dieselbe historical-Phase8-ID (
ac1df780-019b-bb11-…) stand gleichzeitig inexpected_allowedUNDmust_not_top(Selbstwiderspruch). - Intention laut
why+ Filterinclude_historical:false: historical darf beiinclude_historical:falseNICHT top sein →must_not_topist korrekt,expected_allowedwurde geleert ([]). - Keine Verschleierung: Der Test prüft weiterhin, dass die historical-ID nicht top gerankt wird.
- Befund: dieselbe historical-Phase8-ID (
-
c16-env-config-token — SEMANTIC_INTENTION_CHANGED = YES
- Befund: Filter
type:codewidersprach der Intention. Im gesamten SoT-Index existiert keintype=code-Objekt (Types: arch=52, log=22, journal=3, design=4, …); dertype:code-Filter leert jedes Ergebnis. - Intention laut
why("Env-/Config-Token via Keyword-Index; code-chunks nicht sem-embed"):POSTGRES_DBmuss auffindbar sein. Der korrekte Treffer istobject/ebdc6b2b-…(modul-01,type=arch). - Korrektur:
filters→{}(Token bleibt auffindbar, Query unverändert).
- Befund: Filter
Alle übrigen 20 Cases — SEMANTIC_INTENTION_CHANGED = NO. Nur ID-Literale wurden substituiert; query, filters, expected_rep, expected_state, must_not_top (Logik) und why blieben unverändert.
6. CORPUS v1.1 VALIDATION (live)
- Alle
object_id-Literale existieren real in der SoT-Frontmatter →GROUND_TRUTH_IDS_VALID = TRUE - Alle IDs gehören zum richtigen Ground-Truth-Objekt (per Pfad +
representation+stateverifiziert) → 0 Kollision, 0 Ambiguität - Keine ID doppelt/falsch verwendet nach Korrektur
- 22/22 Testfälle vorhanden
- Keine Testfall-Intention verloren
- README-Cases unverändert, historical/current unverändert (außer c06-Intentionskorrektur), canonical/source unverändert, semantic-Cases unverändert, no-result-Case unverändert
7. TEST HARNESS
- Test-Harness wertet PASS/FAIL gegen den korrigierten v1.1-Corpus aus.
- Keine automatische Runtime-Umschreibung („wenn ID falsch, suche passenden Pfad und werte trotzdem PASS“) ist dauerhafte Acceptance-Logik.
- Optionaler VALIDATION STEP vor Testlauf:
GROUND_TRUTH_IDS_VALID = TRUE; falls FALSE →TEST SUITE BLOCKEDund kein Quality-PASS.
Dateien: test_corpus.json (v1.0, unverändert/Evidence) · test_corpus_v1.1.json (neu, korrigiert, kanonisch) · C4A_GROUND_TRUTH_ERRATUM.md (dieser Report).