Aktuelle Version v0.11.0 · Stand
f0d171d (2026-07-08) ·
658 Änderungen ausgewertet.
v0.11.0 in Entwicklung
Überblick
Dieses Release macht die Prüf-Urteile ehrlich und nachvollziehbar: Das Gesamturteil ist jetzt hart an alle drei Prüfstränge gebunden (Konformanz, WCAG-Qualität, Inhaltstreue), die Ergebnisseite zeigt ein primäres Verdikt statt elf konkurrierender Anzeigen, und ein neuer maschinenlesbarer AAVS-Prüfbericht (137 Matterhorn-Kriterien) ist per API abrufbar.
- Ein Prüfurteil statt elf Anzeigen: Die Ergebnisseite wurde vollständig überarbeitet — ein primäres Verdikt, vier aufklappbare Detail-Ebenen, Fundstellen mit Element-Angabe (was ist wo gescheitert).
- Ehrliches Gesamturteil: „BESTANDEN“ setzt jetzt zwingend alle drei Prüfstränge voraus (maschinelle Konformanz, WCAG-Qualitätsprüfung, Inhaltstreue). Formularverluste werden als Inhaltsverlust gewertet statt still verschluckt.
- Neuer AAVS-Prüfbericht als API: strukturiertes JSON über alle 137 Matterhorn-Kriterien inkl. Vergleichsraster — Grundlage für Partner-Integrationen und Behörden-Nachweise.
- Engine-Verbesserungen: Links und Formularfelder werden auf der layout-erhaltenden Route jetzt korrekt ausgezeichnet; beschädigte Textkodierungen (Ligaturen) werden erkannt und repariert.
- Qualitäts-Governance: KI-Prüfdimensionen werden nur noch mit statistischem Beweis (Konfidenzintervall) hochgestuft — unbewiesene Dimensionen bleiben beratend und sind als solche gekennzeichnet.
Technische Änderungen
Neue Funktionen (29)
-
CI-gated judge graduation + calibration identity — #521
eval,pipeline,sidecar
3efac6a -
repair corrupt ToUnicode (ligature→U+FFFD) via cross-font recovery + ligature fallbacks — #534
tag
8f07084 -
tag link and widget annotations on the overlay route — #536
tag
6ea31d4 -
PAC proxy behind hard agreement gate + dev calibration harness (#544)
report,eval
20f72ae -
AAVS report SSOT serializer + audit view + download repositioning (#542, #543, #535, #532)
report,ui
6651bea -
honest evidence localization + IA collapse — 1 verdict, 4 layers (#540, #541)
ui,api
8e658fc -
detect corrupt ToUnicode text layer (ligature → U+FFFD) that veraPDF passes — #530
quality
f6996c8 -
emit abstention_report vector into persisted record (#520)
run-record
6595912 -
honest customer-facing verdict/score text (#527)
quality,ui
e1bcd5a -
honest disclaimer basis + not_covered_by_profile badge rendering (#527, #519)
quality,ui
5500338 -
risk-coverage/AURC report + migrate #404 trend to register-versioned vector (#520)
eval
26d0f67 -
additive AbstentionBlock + surface NOT_COVERED_BY_PROFILE badge on /evaluate (#519, #520)
sidecar
ee4e875 -
5 deterministic SR checks + gate doc-title autofix (#527)
quality
8a4b970 -
versioned abstention criteria register + 3-way per-criterion status (#520)
pipeline
1f1b236 -
add NOT_COVERED_BY_PROFILE passive badge state (#519)
matterhorn,sidecar
8bd0ace -
bind aavs.verdict to the dual gate; out_of_scope:forms; aavs-block caveat (#516, #517)
aavs
f8f9dc1Breaking -
AcroForm interactive parity — lost form fields are CONTENT_LOSS (#517)
quality
9a1d23a -
#427 positive overflow-routing telemetry + operator docs
api,ops
92593c1 -
#506 flip REFLOW_READING_ORDER_RECONCILE default ON
merge,config
1fb4433 -
#512 calibrate _BAND_GAP_FACTOR to gap-distribution outlier
merge
b580e55 -
#508 categorical borderless-table admission + #506 stacked-multicol fixture
parse,eval
723f181 -
#500 one-click HITL sign-off + #501 verdict consolidation + #502 result-page IA
ui
75f8f16 -
#498 MACHINE_VERIFIED post-hoc + #499 AAVS confidence-gated auto-release
quality
f8e0ce4 -
#507 segregate bottom-margin furniture + footnotes before column flow
merge
3629c5d -
#501 caption the two 0-100 scores as diagnostic sub-metrics
ui
852530a -
#497 honest human-checklist framing — split engine-addressed from genuinely-open
ui
2d3c8b4 -
#427 route large born-digital docs to arq overflow + dedup double-triage
pipeline
9a71e82 -
#462 corpus fill — forms-de 11→68, scanned-de 38→55, broad-web capped+documented
eval
08165e6 -
#488 configurable Art-13 gate-cookie lifetime (USERNAME_GATE_COOKIE_MAX_AGE_S)
api
8e670b3
Fehlerbehebungen (15)
-
bound PacCalibration agreement fields to [0,1] — fail-closed on unit bugs (#544, D5-P2-1)
report
a24f4dd -
guard page-number monotonicity on unset page-map + boundary tests (#527)
quality
b5a29ce -
lang-span-coverage — no false positives on monolingual non-German docs (#531)
quality
3160715 -
add German SC label for MULTIPLE_WAYS (2.4.5) (#527)
quality
6c8de3f -
strip source marked-content before overlay re-wrap; font route-switch (#524)
tag,pipeline
b62aa08 -
fail-closed provenance fold — advisory never reads calibrated on the wire (#518)
aavs
4820335 -
register GitLab deployment via curl (glab absent on box) — #285
deploy
b371e89 -
#496 split hosted-allowlist manifest (committed vs local) + wrap E501 — unmask test+lint jobs
ci
4b93efc -
#496 unblock main pipeline — allowlist Python test fixtures + raise gitleaks timeout
ci
797e928 -
guard committed render-compare κ artifact from --limit partial-run overwrite (AAG-005)
eval
6e7de2c -
#489 disambiguate BMF harvest doc_id year-collisions (degrade-never-raise)
eval
5a7e1c9 -
bound VLM call by total wall-clock deadline, not just inter-chunk idle
parse
73ddc62 -
auditor report describes the DELIVERED output, not the input (#469-class, L2-1 + OBS-1)
api
54eb363 -
per-page ToUnicode granularity gate — one bad page no longer collapses whole-doc structure
tag
ba0627b -
#484 reconcile data_table_vs_layout κ — dedicated live re-measure at max_pages=3
eval
f84cbad
Refactoring (intern) (9)
-
lane-neutral font-gate name + register invariance guard + roundtrip test (#520, #524)
overlay,pipeline
0dbd515 -
certifies->assesses backend wording sweep (#527)
quality,pipeline,api
57c7aee -
#513 leaf extraction + template hardening + test pins
quality,pipeline,merge,api
8992180 -
#492 extract shared VLM-HTTP seam + deadline-bounded retry machinery
ai
1e890b0 -
#491 decompose inject.py hotspots — _build_struct_tree 32→6, _page_structures_from_tree 28→15
tag
22cac7e -
#493 lift legal-heading vocabulary to a pipeline SSOT + close 17-token merge gap
headings
bea9fef -
#438 route remaining 5 call sites through chat_completions_url SSOT (close #95 footgun)
ai
f0d68d4 -
#490 bundle page-context scalars into _PageCtx to narrow fast helper seams
parse
71c1ba4 -
#485 decompose _parse_page F(72)→C(12) + _wrap_page_content D(30)→A(2)
parse,tag
0f46123
Dokumentation (10)
-
normative evidence bundle schema + BaFG retention counterpart — #523
compliance
055a12e -
honest seam state — download consumes the serializer, page migration pending (#546)
report
23ea1d9 -
result-page refactor + AAVS report PRD — Epic #538 (P0-P4)
prd
bb1f7f9 -
honest wording (certifies->assesses) + Matterhorn 137 reconciliation (#527, #519)
aavs
0679600 -
AAVS deep-audit 2026-07-08 — consolidated report + preserved retest baseline
research
4453325 -
#511 record prod flip AAVS_PER_DIM_JUDGE_ENABLED + HITL_REVIEW_ENABLED (2026-07-06)
adr-018
c72a1d3 -
surface + drift-canary the VLM retry/timeout tuning family (#492 follow-up)
config
0152a73 -
#503 reframe overclaimed autonomy → autonome Remediation + dokumentierte Restprüfung
copy
e1a514b -
reconcile AC7/arq/SR-NVDA drift + add AAVS cross-link
architecture
8b8aef5 -
#486 reconcile 58 stale markers against closed issues + code evidence
backlog
284350b
Tests (10)
-
pin #524 font-gate open in spine tree-threading tests (#548)
overlay
f0d171d -
close D5 QA gaps — remediation-lane serializer, prod Jinja-global guard, gate boundaries (#538)
report,ui
e8d0e5d -
cover load_criterion_samples parser + nested /OC strip pairing (#520, #524)
eval,overlay
3ea6bbb -
measure product-judge κ transfer on served qwen3.6 — link_purpose 0.6007, alt_text 0.0032
eval
eecd5fb -
refresh eng-6.1 veraPDF before/after evidence — no conformance regression
e2e
641f074 -
close W4-review coverage gaps + fix OCR-retry validator docstring drift
config,vlm-http
5cf4c83 -
refresh eng-6.1 veraPDF before/after evidence — no conformance regression (session #491/#492/#493)
e2e
e827acf -
#495 pin triage-memo / tounicode / delivered-rules / client-path invariants (advisory)
hardening
e0c848d -
refresh eng-6.1 veraPDF before/after evidence (W4 conformance proof)
e2e
a0b273e -
cover _detect_tables/get_image_info degrade paths + link tie-break (L3)
parse
8081fc9
v0.10.0 2026-07-05
Überblick
Dieses Release macht die automatisierte Barrierefreiheits-Prüfung (AAVS) für externe Tester nutzbar: eine neue In-App-Hilfeseite erklärt die Nutzung und die Bedeutung der Prüf-Urteile, ergänzt um dokumentierte API-Zugänge für den Tester-Audit-Pfad.
- Neue In-App-Hilfeseite für AAVS (automatisierte Barrierefreiheits-Prüfung): Einzel-Prüfung, Bulk-Prüfung und API-Nutzung sowie eine verständliche Erklärung der Prüf-Urteile.
- Swagger-Dokumentation für den Tester-Audit-Pfad (`POST /jobs` mit `task=check`) — Tester können den Prüf-Endpunkt jetzt selbstständig nachvollziehen.
- Vorbereitete, zugriffsbeschränkte Sidecar-API für externe Tester (gated Rollout).
- Release-Pflege: OpenAPI-Snapshot für v0.10.0 eingefroren, Changelog aktualisiert, Versionsangaben (Helm-Chart, Container-Image) konsistent auf v0.10.0 gezogen.
Technische Änderungen
Neue Funktionen (88)
-
#487 SIDECAR_REQUIRE_AUTH fail-fast + gated-public exposure prep
sidecar
16083a5 -
in-app /help page (Einzel/Bulk/API) + AAVS verdict explainer + footer links
ui
6a28a12 -
#480 tag-tree reconciliation signal → render-compare heading_mistag κ off the floor
eval
6c5be1c -
#427 per-document VERY_SLOW->arq overflow routing + ADR-031
pipeline
9c53e15 -
#451 enrich render-compare gold with 25 RIS-scan negatives (roster 3->28)
eval
c4e4902 -
#477 Qwen3-VL-8B alt-text baseline (n=11, CLIP+judge) closes EU local field
eval
d994933 -
#473 loud air-gap-deviation WARN when hosted VLM provider selected
pipeline
6dfebc3 -
#447 veraPDF/PAC/AAVS agreement-matrix for Gemini bench
eval
e5321e4 -
#448 AAVS 3-state scoring of Gemini-bench pipeline outputs
eval
c483eb9 -
#443 wire Gemini google-openai-compat into alt-text leg
eval
f1911b9 -
#441 capture prompt/total tokens in OCR pagelevel harness
eval
e084949 -
#471 agreement-matrix records mode for arbitrary-N corpus
eval
f623b06 -
#471 stratified CATALOG subset selector + driver --subset mode
eval
1e6d1e9 -
veraPDF<->PAC<->AAVS agreement-matrix driver (retro #3)
eval
1bb99be -
#468 corpus-evidence run driver — abstain records + tagged outputs + AAVS 3-state
eval
3ee890c -
#468 abstain-rate distribution harness + CT-exclusion prototype
quality
b72058d -
#464 measurement-preflight full 7-trap suite
eval
66ea011 -
#457 evidence-bundle HTTP endpoint + HTML render + soft-leg SSOT
evidence
c7bcc5c -
#457 exportable AAVS evidence-bundle core (JSON, air-gap-first)
evidence
858c134 -
#453 abstention-rate as first-class trended metric + advisory doc-gate
quality
4d97dab -
#467 wire WCAG 1.4.11 non-text-contrast CT dimension into scorecard.dimensions
scoring
1a63f60 -
#458 inseparable honesty caveat on every verdict-carrying response
verdict
63f7611 -
#456b durable per-criterion provenance map on JobResult
pipeline
03312ed -
#441 OCR bakeoff harness — Gemini labels + configurable path/key
eval
1e7e603 -
#456a persist per-doc conformance evidence on JobResult
pipeline
9e8f068 -
#440 hosted-endpoint PII guard + public-only allowlist manifest
eval
dd5a3ac -
#438 provider-agnostic OpenAI-compat VLM seam + configurable chat-completions path
parse
c8c1207 -
h2h hard-set measurement driver (resumable, per-doc isolation)
eval
b03fada -
#428 wrap orphan content as /Artifact (Matterhorn 01-005)
tag
9944433 -
#420 note-id + LI-renest augment passes, #425 per-table span ordinal, #426 rolemap resolver
tag
a8704f7 -
grid-normalize augment-route tables incl. nested and rowspan (#419)
tag
2dfb3a6 -
rectangularize written table grids on the reflow chain (#419)
tag
5ca778a -
occupancy-grid table engine — build/diagnose/plan_repairs with convergence guarantee (#419)
merge
c8bd9ec -
struct_f1 h2h honesty upgrades — substantive aggregate, dup-reference flag, gold_n_nodes (#397)
eval
5bf4554 -
#417 expose /Artifact image membership in TagTreeFacts — reconcile figure-alt FP on artifacted-only docs
quality
291bfdc -
struct_f1 head-to-head spot-check harness (#397)
eval
5c3a306 -
STRUCTTREE-walk gold builder for bake-off struct_f1 (#397)
eval
78e3056 -
oversized-prior heading-promotion guard, DEFAULT-OFF (#415)
parse
fb21e37 -
vendor golden-validated PP-DocLayout-L ONNX air-gap backend (#413)
layout
8dda63d -
usage-weight ToUnicode line-gate by painted content-stream codes (#412)
overlay
a733194 -
flip overlay_rich_tree_enabled default-ON after 21-doc A/B GO (#406)
config
2e16284 -
#410 ToUnicode-presence gate on rich-tree granularity
overlay
1ebcece -
DSGVO Art-5(1)(e) retention purge for throttle buckets (#386)
ratelimit
db55e71 -
pdfa-eng-wds HF-streaming harvester scaffold (#407)
corpus
3ddb434 -
rich-tree /Reference shim + multi-page nested /L; fix flat-path cross-page /L fusion (#405)
overlay
ba1b66d -
per-item page channel for multi-page list routing (#405)
merge
e618023 -
gated rich-tree structure emission on prod-default overlay path (#402)
overlay
565b2d6 -
trend uncapped AAVS quality_score instead of flat-49 composite (#404)
eval-learn
2cfaffe -
#401 produce-side def-lists (gap 1) + recurring-image artifact e2e (gap 5)
merge
7662262 -
#400 PDF/UA tag-write gaps — table /TH·ID+/TD·Headers e2e + render-side for def-list/footnote/nested/recurring-image
tag
4fa2388 -
PAC-2026 large-doc poll fix + 3-oracle evidence on public outputs (#209)
eval
3958a52 -
endpoint-active regen mode + --regen-aiat guard (#391, #397)
eval
f63bb13 -
public doc_id-layout cov_precision_driver + EU-active hardening — citable struct_cov_f1 (#391, #397)
eval
0c82383 -
#361 Art-17 ip_hash erasure + gate/audit doc-nits
pilot
0e1f7f8 -
reconcile PAT contribution bundle schema + taxonomy bridge (#281)
eval
f3abba6 -
per-doc flavour routing in sweeps + pinned-config regen harness (#390, #391)
eval
f1fe7bf -
per-doc UA-1/UA-2 flavour auto-detect on /evaluate (#390)
sidecar
d46e6a4 -
surface discriminative AAVS quality_score on /evaluate (#396)
sidecar
72d41f3 -
#318 Internet Archive recipes harvester (PD-by-age acceptance)
eval
7bbd25a -
#318 fix NASA NTRS pagination — POST page.from returns distinct ids
eval
3197ab5 -
gate actor persistence on username-gate + ship #306 prod-flip LIA and runbook (#306)
throttle
2f3ef8b -
#209 real Windows-PAC GOLD evidence + delta analysis over engine outputs
eval
f857b1f -
#318 IA-manuals + NASA-NTRS harvesters + real-harvest bug fixes — corpus breadth
eval
bffe0e8 -
#375 POST /evaluate/coverage — coverage-F1 verdict reusing the hardened struct_cov_f1 core
sidecar
420a2b5 -
#376 PAC-Oracle as 3rd bakeoff oracle + agreement matrix (fail-soft)
eval
4df9e43 -
#318 reflow-gold generator + arXiv corpus breadth (SSRF/traversal-guarded)
eval
895a45a -
#371 content-stream prose-coalescing lever (default-OFF) — measured exhaustion verdict
merge
7a38fa4 -
automated real-PAC verdict oracle via headless Windows VM (#209)
eval
0338cf6 -
#318 arXiv OAI-PMH harvester for multi-column reflow corpus
eval
ca362fd -
#318 OpenStax + GovInfo Federal Register harvesters (educational-en, legal-en-regulatory)
eval
50e29f6 -
#366/#339 reflow reading-order reconcile spike — measure-first NULL, default-OFF
merge
2161cac -
#367 line-granularity for merge-tree write-path — /LI 30→106
overlay
a89d136 -
#354 persist SrChecklist on JobResult for re-derivable Stufe-2 verdict
verdict
6298501 -
#366 struct_cov_f1 precision driver + measure-first reversal (stale-bytes artifact)
eval
026bfb4 -
#364 per-item /LI emission from item_bboxes — default-OFF
overlay
3240e11 -
#364 Direction-1 granular-split proof-spike — default-OFF (refuted)
parse
2d462ff -
#364 per-item list bbox channel (additive, exclude=True)
merge
73610cd -
#364 granularity-tolerant struct_cov_f1 metric + honest re-baseline
eval
f584ada -
#364 AT-safe ALL-CAPS heading precision guard — struct_f1 +0.0426
parse
e0dc18b -
#362 merge-tree write-path — bbox re-threading + A/B measure → NULL verdict, DEFAULT-OFF
overlay
af74b63 -
#339 overlay_asis struct_f1 measurement driver + #360 Fixture A — frozen ratchet 155->161
eval
c24eb40 -
#316 PP-DocLayout ONNX-vendoring wiring — sha256 fail-closed, default-off
layout
143b341 -
#360 column-aware space-above prior + drawn-rule raise-direction pin
parse
0f778d4 -
#360 frame-aware partial-ruled veto + #345 sparse-grid N-col tables & above-caption form labels
parse
4d091fd -
#297/#306 live-hardening + #353 SR-elevation wiring
pilot
ce4468f -
#353 append-only no-PII SR-elevation audit trail
quality
370b920 -
#358 recover body-size numbered/keyword headings in _classify_block
parse
fd004a7 -
#357 veto partial-ruled find_tables fragments before borderless segmenter
parse
ba63f59
Fehlerbehebungen (53)
-
#482 CAS-guard the reconcile terminal FAIL (close TOCTOU) + config drift comment
pipeline
5ad5d1b -
#482 reconcile leaked-QUEUED arq rows + global-arq rollback — close silent data-loss
pipeline
9ef574d -
#479 review-fixes — QueueTarget enum + CHECK, CAS-loser spool-guard, ADR-031 resolved
pipeline
e292553 -
#479 hybrid crash-recovery — atomic set_running CAS + queue_target recovery partition
pipeline
2800442 -
#451 bridge dangling-symlink guard + CWE-22 containment regression tests
eval
4c16388 -
#427 overflow-handoff degrade + threshold floor + honest ADR (review-fixes)
pipeline
b770b62 -
#451 fix symlink-containment dropping scan negatives + re-measure kappa → provably-advisory
eval
ef36f4e -
#475 guest-agent health-probe + reconnect ladder → 12/12 PAC coverage
pac
bd87769 -
#476 flag degraded veraPDF-sidecar verdict (compliant=false/0-failed_checks) as measurement-invalid
eval
0e496a1 -
#472 host-side pre-push PAC.exe kill clears pre-existing orphan lock
pac
441e5c8 -
#472 guest-side PAC.exe cleanup between runs via try/finally KillPac
pac
968fc3d -
#436 read-your-writes grace on GET /jobs/{id}
api
c516a42 -
#469 conformance-of-record must describe the delivered artifact
pipeline
5210623 -
route only JUDGED_DIMENSIONS through the calibrated judge (#467 follow-up)
sidecar
1434de8 -
#466 bound VeraPdfReportArtifact.decode() gzip decompression
security
e19c4fd -
wire #440 hosted-endpoint guard into bakeoff harnesses + close path traversal
security
db73eab -
veraPDF evidence PII filter denylist->fail-closed allowlist (#456a hardening)
security
0d34b16 -
#439 provider-aware slow-backend gate + factory wiring + harness hardening
pipeline
8c9e139 -
#459 honest contrast abstention — 0-runs CT + 1.4.11 abstain-rate fold
quality
7a05865 -
#455 bounded degrade reasons + judge.degraded/stage_degraded split + stream budget
judge
594f333 -
#435 job heartbeat prevents reclaim false-positive
jobstore
bc05ed2 -
#434 worker-healthcheck timeout + doc-complexity triage
ops
4dbcead -
#430 degraded_page_numbers list[int] SSOT
pipeline
dd62fe4 -
#429 WAL-init race hardening across sister stores
store
1be9f51 -
#424 WAL-init race hardening + #422 periodic reclaim loop
jobstore
737d86a -
harden table-grid normalizer — span cap, empty-TR pad, duplicate /A owners (#419)
tag
1faaf16 -
#418 ia_recipes cursor persistence + negative cache — break the page-1 saturation at 153
corpus
a8d67a5 -
#416 bounded re-enqueue of crash-interrupted jobs instead of hard-FAIL
jobs
ae02e37 -
dual-gate correctness — notdef/incomplete-ToUnicode block via WCAG 1.1.1; doc-title audit reconcile
quality
994c10e -
consume layout priors air-gap for the ppdoc backend (#413 #140)
pipeline
c0d9ce4 -
repair openstax CMS resolution + govinfo issue-XML enumeration (#408)
corpus
ad73eea -
de-rotate layout priors into unrotated parse space (#295)
parse
1bb40b9 -
repair footnote /NonStruct→/Link wrapper for veraPDF UA-1 7.18.5 (#403)
tag
61fc05a -
reconstruct equal-size bullet/dash nested lists (#401 gap 2)
parse
2ac432a -
structfix _tag_footnote_link unique /Note /ID (#401 gap-3 enabler)
tag
84b6b70 -
per-page degrade must not mask a silently-dropped page in the accessible verdict (#398)
pipeline
1700761 -
harden resource-bounds & per-page error-isolation on the default path (#383)
pipeline
5f20460 -
capability-gate inline_language + fontTools guard for the test job (#389)
ci
b067e5f -
bulletproof commitlint non-fatal + CI-robust async-poll for speak tests (#389)
ci
50e861e -
correct commitlint script — colon/GH-syntax broke GitLab CI schema (#389)
ci
924ab1e -
green test/lint stages — git in test job, openapi-import env, skipif optional-dep guards (#389)
ci
5105685 -
notdef false-positive from TJ-kerning bytes(int) phantom glyphs (#395)
quality
0c9c0ce -
green the test stage — eval/tagging extras + git in commitlint (#389)
ci
6c001c8 -
match trivy 0.66 misconfig id form (AVD-DS-0002) in the scoped DS-0002 suppression
ci
35ee464 -
#378 derive dc:title from document structure, not the filename slug
tag
29bcd5f -
bump pypdf/starlette/pydantic-settings/msgpack to close pip-audit CVE gate (#381)
deps
22b4ca0 -
open /Artifact BMC at graphics-object start so overlay output passes PAC PDF-Syntax (#377)
overlay
e681120 -
#367 apply Tm scale in _scan_text_groups baseline accumulation — /LI bind 106→635
overlay
829b965 -
#365 AT-safe ALL-CAPS guard over-demotes English legal headings — extend exemption
parse
b415ea3 -
#368 make committed OpenAPI snapshot env-independent
openapi
e069676 -
#364 harden struct_cov_f1 against order/dup/noise gaming
eval
f6c7e94 -
#364 recover nested list sub-items in merge-tree /LI path
overlay
f421473 -
add demo_url + health_path so the dashboard probes the live demo
portfolio
bc6c83a
Performance-Verbesserungen (1)
-
#433 list re-nest O(M²)→O(M); #431 RoleMap resolver SSOT
tag
fd7ad5e
Refactoring (intern) (37)
-
kill tag->merge up-import + de-dup footnote-label normalizer
merge
d783b50 -
#432 consolidate render_html/write_tagged_pdf collectors into RenderCollectors
tag
ae1f570 -
extract structfix_tables; structfix.py is now a re-export shim (#382)
tag
18247f1 -
extract structfix_figures Layout /BBox pass (#382)
tag
38ba542 -
extract structfix_footnotes promotion pass (#382)
tag
e08fad1 -
extract structfix_toc promotion pass (#382)
tag
ede501e -
extract structfix_spans /Lang + /E pass (#382)
tag
b99018e -
extract structfix_lists numbering + nested-list passes (#382)
tag
be2755d -
extract structfix_artifacts orphan-marked-content pass (#382)
tag
fb7e064 -
finish html.py decomposition into flat siblings (#382)
tag
8f65368 -
extract structfix_common tree-walk primitives (#382)
tag
a5966a3 -
extract html_tables.py from html.py (#382)
tag
4986609 -
extract html_lists.py from html.py (#382)
tag
489ec28 -
extract html_common.py from html.py (#382)
tag
6d4f7a6 -
extract stages/spine.py — orchestrator now thin coordinator (#382)
pipeline
286e3a7 -
extract stages/parse.py from orchestrator (#382)
pipeline
703163d -
extract stages/scorecard.py from orchestrator (#382)
pipeline
c316f48 -
extract stages/result.py from orchestrator (#382)
pipeline
8a2d2a3 -
extract span reconstruction; reduce entry to shim (#382)
parse
2743199 -
extract stages/validate.py from orchestrator (#382)
pipeline
c66c250 -
extract create_job + create_batch write-routes to src/api/jobs_create.py (#382)
api
14ea039 -
extract gutter segmenter into tables_borderless_gutter (#382)
parse
4d5668b -
extract stages/fidelity.py from orchestrator (#382)
pipeline
cd5b665 -
extract N-column detector into tables_borderless_ncol (#382)
parse
289b926 -
extract stages/advisory.py from orchestrator (#382)
pipeline
7c51639 -
extract 2-column detector into tables_borderless_twocol (#382)
parse
5426db7 -
extract stages/abstention.py from orchestrator (#382)
pipeline
e50fdc2 -
extract DATA-vs-TOC guards into tables_borderless_guards (#382)
parse
8a378ef -
extract borderless segment primitives into tables_borderless_segments (#382)
parse
0bdc456 -
extract stages/_helpers.py from orchestrator (#382)
pipeline
9d089b2 -
extract page-content-loss gate into verdict.py + direct falsifiable tests (#398)
pipeline
9e55ba5 -
decompose main.py routes (jobs_read/review/sr_checklist) + sync-path job-timeout (#382, #398)
api
02d702f -
decompose parse/fast.py god-file + extract safe main.py routers + fidelity param-object (#382)
arch
c602435 -
#382 split orchestrator._run_pipeline into 10 stage helpers
pipeline
aa3f0af -
#382 extract meta/health/admin/dashboard routers from main.py god-module
api
864a6c5 -
extract struct_cov_f1 core into src/scoring/, drop eval+scipy from sidecar image (#379)
scoring
f5ce2ea -
#355 migrate orchestrator + check_only onto verdict_inputs SSOT leaf
verdict
df065d3
Dokumentation (54)
-
v0.10.0 rollout runbook
deploy
6e6999d -
document POST /jobs task=check AAVS tester path + verdict-field vocabulary
api
26275cb -
#483 flip heading_mistag PROJECTED->MEASURED (kappa 0.955 live) + W1 drift/integrity fixes
eval
21c26a6 -
#481 refresh aavs-spec render-compare κ (heading_mistag −0.045→0.9548, gold-scarcity retired)
eval
4cd761f -
#397 document EU-regen status (blocked) + ready one-command recipe
eval
5b0083a -
#477/#444/#475 refresh EU-parity scorecard — Qwen3-VL row, cross-repo Gemini, PAC 12/12
bench
e9c1026 -
#446 EU-sovereignty-parity scorecard — Gemini bench synthesis
bench
93a24d8 -
#471 abstain_rate provably non-gate-able → permanent-advisory
aavs
e5d1f16 -
#468 record non-discriminative abstain finding — advisory kept
aavs
4447d11 -
veraPDF<->PAC<->AAVS agreement matrix on 9 fresh outputs (retro #3)
eval
bfe6ad7 -
#454 advisory->gate graduation tracker
judge
db3ad89 -
#450 reconcile spec with shipped judge (gpt-oss->qwen3.6) + instantiate §2.3 abstain-bound
aavs
dbf7efb -
Gemini model bench — 4 Google models vs EU endpoint (#437)
prd
137899f -
2026-07-03 retrospective — issue cleanup, M7/M8, prioritization
retro
d9fb790 -
GitHub-SSOT header + retro checkbox sync (#107/#118/#162)
backlog
f488f1e -
document AAVS north star in README + judge-model drift banner in spec
aavs
f193cf7 -
add EAA PDF requirements §10/§11 triage and AAVS evidence slate (#465)
reference
1d868f2 -
add EAA PDF requirements §10/§11 triage and AAVS evidence slate (#461)
reference
546d339 -
deep-3 session handover — s3 measurement + VLM-infra strategy (#427)
eval
9aa703d -
#419 verification addendum — veraPDF 10/13 (was 6/13), struct_f1 unchanged, #421 resolved
eval
4d83105 -
h2h readiness report — fresh 13-doc hard-set measurement (#397)
eval
c89922c -
measurement-integrity report — fresh-container 8/8 re-baseline + discipline (#397)
eval
642b6fb -
correct partner head-to-head — engine remediates 8/8, prior 3/8 was a measurement bug (#397 #399)
eval
f4e9e7d -
#414 layout-prior measurement — priors change parse, no metric detects; keep #140 OFF
eval
d8a37ed -
Tier-B layout-flip decision — keep LAYOUT_ENABLED off (#295)
eval
3fe0fb0 -
sync DSGVO docs to shipped purge + 06-27 flip (#386)
compliance
f11c34a -
#386 back-link the 4 DSGVO docs to the #306 closure tracker
compliance
580df75 -
#404 serializer deploy-prep checklist for aiat-poc-01
ops
670b3d8 -
#406 corpus A/B — NO-GO, gated on #408 corpus breadth (#406)
overlay
0f55385 -
local-model eval-truth — #404 serializer verified on HEAD + discriminative AAVS scorecard (#397 #404 #396)
eval
2a83d2a -
RateLimiter-DB retention draft + LIA sign-off for #306 throttle (#386)
compliance
21d7d09 -
module map for #382 God-Module decomposition (5 files → 31 modules)
arch
056ddeb -
DSGVO RoPA/DPIA/Art-13 drafts for the #306 throttle flip — owner-gated (#386)
compliance
bd7c9b3 -
where-we-stand snapshot (3-oracle, public BGBl) + #394 table_teds root-cause
eval
995da1d -
#384 record pdf-ua-tool code-convergence (owner 2026-06-29) — NDA customer-data firewall unchanged
ip
b52ed18 -
parse/fast package + main.py decomposition + resource-bounds (#382, #383, #385, #387, #361)
arch
2dbac87 -
integration findings + E2E correction + scorecard CLI note (#390, #391, #392, #393, #395)
eval
ff0a00f -
end-to-end eval run 2026-06-28 — findings + gap list (#390-#396)
eval
ca49161 -
record #306 controller PROCEED + live-verified prod-flip in the LIA sign-off (#306)
compliance
73e0138 -
session-6 measurement-instrument hardening + #371 exhaustion verdict
eval
e64f7b0 -
#370 /Span-lever exhaustion verdict + #339 frontier update
eval
b06f6d1 -
#339/#366 bank the measure-first reversal — stale-bytes artifact, engine beats PAT
eval
84a54c1 -
#198 definitive a11y-tree-in-CI root-cause + advisory recommendation
sr-rail
5808339 -
#339 definitive Struktur-Erhalt frontier verdict (2026-06-25)
backlog
d298dda -
#339 definitive PAT head-to-head + W4 adversarial evidence
eval
b828903 -
#339 PAT struct_cov_f1 re-baseline proxy — gold-provenance confound
eval
d456ebb -
#360/#316/#339/#318 deep-3 measurement + verdict (BACKLOG + CHANGELOG)
47c32e5 -
promote v0.9.0 from [Unreleased] to versioned [0.9.0] - 2026-06-23
changelog
c890358 -
make /docs auth description mode-aware (#66) + explicit Authentifizierung section
api
7b57d48 -
#345/#360/#316/#318 tables-forms-frontier measurement + BACKLOG
19311fa -
#297 IDENTITY_HMAC_PEPPER provisioned on prod (.env.production) + dev .env.local
ops
5d0de04 -
#297/#306 prod-readiness + DSGVO-flip checklist
ops
6dbbd88 -
#339 struct-erhalt measurement (table_teds 0.214->0.944, struct_f1 0.636->1.0) + BACKLOG
36ba1a7 -
materialize v0.9.0 release section
changelog
c3efe13
Tests (35)
-
#482/#480 hardening — RenderCompareVerifier.__call__ + set_running CAS thread-race guards
pipeline
2fc1d26 -
#474 MockTransport coverage for gemini_client (100%) + #441 token-capture assert
eval
d4d05f2 -
#453/#466 W4 coverage gaps — abstain-gate FAILED-immunity + decode boundaries + abstain producer/trend
quality
63909d4 -
#450 spec<->config judge-name drift guard
judge
ed5af40 -
#451 pin render-compare multi-page union + honest reliability doc
eval
139e0b1 -
#452 dynamic model-swap recalibration guard
judge
55d734e -
close QA-review HIGH gaps — openrouter air-gap, reasoning override, guard NDA signals
quality
a469d51 -
committable table-geometry fixtures + veraPDF-gated validity checks (#419)
fixtures
c66b5c6 -
restore CI-visibility for ppdoc backend + add boundary coverage (#413 #415 #408)
layout
4575ab3 -
#363 cover _run_ppdoc_inference — (N,6)/rescale/cls-guard + label parity
layout
7bbb3ee -
#411 deflake test_speak_async_283 via persistent client portal
tts
917e98c -
add broad-web to category-enum test (#407)
corpus
bc3ceef -
#406 broad A/B harness + NO-GO record + both-arms flip safety test (#406)
overlay
932e80c -
parser-detected def-list + footnote /Reference E2E fixtures (#409)
overlay
c4a66dd -
address W4 review findings — negative-gate + degrade-fallback + verdict-firing coverage (#402 #403 #404)
quality
663a097 -
regression-lock #401 produce-side wiring + log def-list degrade (#401)
merge
ad56577 -
characterize def-list + form render before html.py split (#382)
tag
ccf85d3 -
add run_pipeline characterization net before #382 decompose
pipeline
9c24932 -
pin main.py describe-access + lifespan-pepper + re-export anchors before #382 decompose
api
2b722b6 -
harden async-poll window for CI parallel-worker contention (#389 follow-up)
tts
86bfc7e -
add degraded_pages to the JobResult model_dump key-set contract (#398)
pipeline
2e3ad8b -
cover #400 gap-5 recurring-image produce/render + extracted FAILED fragment branch (#400, #382)
tag
bd2226d -
#400 struct assertions + fixtures — gap-4/gap-5 e2e, render-side units, honest deferral (#401)
tag
af577d2 -
characterization tests pinning parse_fast + resource-bounds seams (#382, #383)
safety-net
6d154db -
host-independent struct_f1 absolute-floor fixture (#368)
scorecard
2d417e7 -
#318 add recipes-en to the catalog category enum (SPEC B follow-up)
eval
810f1b2 -
#378 cover dc:title structure-derivation upgrade + slug fallback
tag
7942b0a -
air-gap the BAD tier so struct_f1 discrimination is host-independent (#380)
eval
f98fb4f -
#372 CI ratchet + #373 PDFUA_GOLD_DIR gate + #374 typed CovCorpusError for struct_cov_f1 driver
eval
fbe97c0 -
add sr_checklist to JobResult model_dump key-set contract (#354 drift)
verdict
100e37b -
#316 lock layout-prior memo dedup (extract_calls==1) + refresh stale comment
pipeline
23a50ff -
bind version assertions to the SSOT — drift-proof, no hardcoded literal
observability
b60249a -
update roster guards for rl_heading_numbered_genuine (11th case)
eval
4779f0b -
#357 #358 boundary tests + pymupdf pin hardening (W4 review closure)
parse
a28e260 -
#358 #318 add rl_heading_numbered_genuine gold fixture + promote frozen baseline (138→143)
eval
dcf3506
Code-Style (2)
-
fix 3 pre-existing ruff E501 line-length violations
5051370 -
drop unused orchestrator imports after #382 stage re-pointing
tests
f5b912f
v0.9.0 2026-06-23
Überblick
Diese Version bringt 118 neue Funktionen, 40 Fehlerbehebungen, 86 weitere Änderungen.
- Behoben (api): #356 refresh stale OpenAPI snapshot (SR-checklist endpoints)
- Neu (parse): #345 alignment-invariant borderless segmenter + unlabelled-form label-recovery
- Neu (eval): #342 headless AT-SPI2 SR-verification rail — WORKS-IN-CI feasibility
- Neu (quality): #341 HITL-SR-checklist unlocks Stufe-2 "AT-verifiziert" verdict
- Behoben (judge): #350 table_comprehension → ADVISORY_ONLY — construct-invalid gold, not a calibratable judge
- Neu (pipeline): overlay default-ON + bare-AcroForm triage-guard + ua1-clean product forms — #349 #336 #333
- Neu (parse): #345 borderless N-col spanning-header segmenter — table_teds ratchet
- Behoben (ops): #337 Docker dep-drift — build-time dep-parity smoke + loud fidelity degrade
Technische Änderungen
Neue Funktionen (118)
-
#345 alignment-invariant borderless segmenter + unlabelled-form label-recovery
parse
bf633c1 -
#342 headless AT-SPI2 SR-verification rail — WORKS-IN-CI feasibility
eval
2407bcd -
#341 HITL-SR-checklist unlocks Stufe-2 "AT-verifiziert" verdict
quality
d2dfc38 -
overlay default-ON + bare-AcroForm triage-guard + ua1-clean product forms — #349 #336 #333
pipeline
ff029c0 -
#345 borderless N-col spanning-header segmenter — table_teds ratchet
parse
e1b43d2 -
verdict-truth measure+metric — overlay-delta + FP/FN trust + held-out bakeoff + #347 CLEAR — #343 #340 #347 #344
eval
fcabac5 -
doc-snapshot API versioning + drift-gates (ADR-028)
docs
4e4a0b0 -
measure #335 prod-transfer (link REF κ=0.525 → HOLD) + held-out leakage + thinking-toggle — #335 #312 #334
judge
9b02386 -
graduate link+REF lever + wire selective-abstention layer (default-OFF) — #334
judge
8941e94 -
augment /Form ua1 — struct-tree bootstrap + page /Tabs + /TU synth (default-OFF) — #333 #336
tag
5f78dec -
N-col borderless span-segmenter recovers rl_table_spanning — #332
parse
c0989ef -
measure built levers — link+REF graduate-ready, heading+TICK held (leakage-suspect) — #312 #313 #315
judge
7f720c6 -
harden parse/merge structural extraction — lists/forms/tables capability ratchet — #328 #329 #330 #331
engine
0326534 -
harden RIS harvester — CLI + Retry-After + polite default + gated fresh-IP runner — #314
eval
78f81c7 -
synthetic edge-case/adversarial PDF benchmark — capability-ceiling tracker — #320 #321 #322 #323 #324 #325 #326 #327
eval
e5c7f4e -
multi-source corpus harvesters + catalog registry — #318 #319
eval
69ff1bf -
BgblPdf scanned-gazette harvest support — #318
eval
c698c53 -
selective-abstention/escalation scaffold (default-OFF) — #315
judge
8af7611 -
TICK atomic-checklist lever (default-OFF) — #313
judge
15378cb -
FAST guard consumes layout region-prior (#132/#135/#136, default-OFF) — #295
parse
55221af -
Tier-B layout-prior measurement runner (LAYOUT on/off delta) — #295
eval
e15509a -
PP-DocLayout 2nd LayoutClient adapter (default-OFF) — #295
layout
5c3cb9b -
graduated throttle model (default-OFF) — username-hard-cap + IP-soft→async-queue — #306
api
f06075b -
thread ActorContext through the async/arq job path — #307
usage
3f25744 -
extract_tagged_pdf v2 patch_meta — close 3 deterministic ODL-tagged ua1 gaps — #310
eval
357b3a8 -
ODL-tagged remediation route + measured engine-vs-ODL head-to-head — #191
eval
70e0dc0 -
reproducible publisher-reliability report (8→118 docs) + CLI write-path test
eval
a158802 -
rejudge subcommand + OpenDataLoader pdfuaid:part XMP patch — #281 #191
eval
363c80f -
admin dashboard /admin + Art-17 retention + demo-throttle allowlist + review hardening — #302 #303 #304
usage,api
4db0326 -
server-side username-gate (422) + Art-13 notice + admin edge-gate snippet — #301 #303
usage,api
663a1b0 -
emit_usage_event orchestrator seam (actor) + admin-dashboard render layer — #300 #303
usage,ui
7dde90d -
config+HMAC, UsageStore (sqlite, job_id join) + DSGVO artefacts — #298 #299 #305
usage
5c882f4 -
wire shippable ML triage-router behind default-OFF flag — #296
triage
eec3e6f -
robust triage-router ship verdict + eval hardening + alt-text bakeoff — #285 #287 #276 #281
eval
3eddb66 -
sampled before/after page comparisons — 3 stratified samples — #290 #291 #292 #293 #294
pipeline,ui
406ab43 -
vision-first layout priors for routing (default-OFF) + honest audit fidelity — #140 #154
layout,pipeline
f8e4761 -
stream + async /speak, fix tagged-PDF TTL, lock endpoint caps — #283 #284 #280 #282
tts
1c26960 -
triage-router label-quality fix + honest #159 verdict — #278 #159 #279 #265 #276
eval
b601a56 -
own-models foundation — RIS data-engine #157, Opus HITL panel #158, triage-router experiment #159
eval,ai
e483ebc -
add UI changelog page + git-derived dual-audience generator + commit-lint
changelog
b30ac2d -
EU-sovereign judge retarget — language gated, heading honestly advisory — #275
eval
e35b329 -
EU-endpoint judge prep + narratable verdict + AAVS verdict UI
eval,quality,ui
304f30c -
AAVS judge-quality verdict — CoT + 120b scale both fail to lift judge-limited dims; per-dim CoT gate + append-only experiment log — #275 #269
eval,quality
6056ab8 -
non-gazette corpus unblocks per-dim calibration — table/link/alt now discriminative — #273 #274
eval
8b23559 -
qwen-3.6-27b-nothink as VL standard via EU endpoint — ADR-018, #265 (#270)
ai
df8e047 -
AAVS gold enrichment unblocks per-dim calibration — language calibrated κ=1.000 — #272 #269
eval,quality
8a72a5d -
probe + calibrate EU retrieval models (embedding + reranker)
eval
5b6292c -
AAVS calibration integrity + deterministic reading-order + /jobs hardening — #266 #267 #271 #268
eval,quality,ops
10a2d67 -
AAVS refinement — calibrated heading judge κ=0.803 + de-confounded render-compare + 20b→120b cascade — #255 #257 #256
eval,pipeline,quality
7dca39f -
rotatable cross-judge challenger panel for hard alt-text tests — MVP-262 (#262)
eval
afc1bb6 -
figure-type-aware alt-text — self-routing chart prompt + rubric cap (#260)
tag,eval
2b2fd41 -
AAVS gold corpus reviewed — Opus crop-inspection + bbox repair + F9 correction (#258 #263)
eval
223e006 -
AAVS faithfulness metric-spine — CLIP fix (F5) + multimodal judge (F6) + 3-state verdict + run.py subset flags (#259 #261)
eval
d15e98d -
AAVS W4 — calibration measurements (κ vs independent gold) + judge bake-off + findings (#249 #253)
eval
ac43142 -
AAVS W3 — B4 calibrated abstention + three-state verdict + abstain-rate (#248)
quality,pipeline
f17191e -
AAVS W2 — B2 render-and-compare VLM engine [the differentiator] (#246)
quality,pipeline
5d06a16 -
AAVS W1 foundation — B5 gold corpus + κ-infra (#249) + #253 evidence-enforcement parity + B2 design + D2 spec scaffold (#250)
eval,pipeline,docs
0f22656 -
AAVS W3 — quality_score dampening + F5 judge-adapter + F6 regression gate — #240 #241 #243 #244 #247
scoring,pipeline,eval
b9f3d6b -
AAVS F2+F3 discriminative dimensions + B3 reading-order verifier — #240 #241 #247
scoring,quality
39a968a -
AAVS F4 composite split + B1 na_facts /AA gap — restore discrimination — #242 #245
scoring,quality
6b9bb53 -
#226 hardening — typed AcceptedJob 202-body + _DEGRADE_REASON dedup + boundary tests
sidecar
e7b1724 -
box-trust cluster — fidelity-gate deploy-guard + audit composite-honesty cap + tag_facts DoS visited-set + notdef spike — #234 #235 #236 #233
pipeline,sidecar,quality
c465190 -
ship overlay default-ON flip — decouple #231 font-ceiling, AC7 90.4→95.61%, HIGH-DoS fix — #205 #229 #230 #231 #232
overlay,quality,eval
576ad8c -
close #205 flip-blockers — residual-conditions honesty gate + AC7 ragged-table fix — #227 #228
overlay,verdict
f7e4b5a -
close epic #205 ACs — born-digital fixtures + shared heading-core + flag-ON hardening + WCAG-0-headings gate + corpus PASS-rate — #220 #223 #222 #221 #219
overlay,quality,eval
6f3fd8f -
eval-sidecar Phase-2 — async/202 + audit-log + bilingual + schema-contract seams (default-OFF) — #224 #225 #211 #212 #214
sidecar,quality
45c47b0 -
eval-sidecar Phase-1 MVP — POST /evaluate over audit_pdf — #208
sidecar
e34a508 -
productize overlay tagging adapter (default-OFF) + augment + TOC discriminator — #205 #218 #206
overlay,parse,merge
cb4166d -
data-table fidelity lever — honest gold denominator + row-collapse re-segment + legal-TOC routing — #216 #217 #215
parse,merge,eval
a2e0133 -
local OCR A/B (PaddleOCR-VL vs GLM-OCR) + honest table-TEDS scorer + ODL chores — #72 #207 #191
eval
2c22b6a -
M6 Klartext-Fusion & Verdikt-Vollendung — Verdikt-Stufe-2/3-Wiring LIVE + BFIT/MinerU-Baselines + Multi-Page-Judge
quality,pipeline,eval
1298290 -
M6 engine-quality — 3-stage verdict SSOT + BFIT generators + bug/eval lanes — #183 #189 #195 #163 #190 #153 #193 #194 #197
quality,tag,merge,pipeline,parse,eval
111945a -
audible-truth — Piper screen-reader dry-run over SpokenView + SR-rail matrix — #149 #174 #185 #186
tts,api,ci
f978807 -
table chain + gold-gate green without baseline — #175 #125 #121 #176 #171 #128 #178
tag,quality,pipeline,eval
0ff46bd -
public reference corpora — veraPDF-corpus fixtures, UA Reference Suite anchor, opendataloader second baseline — #187
eval,tests
8be223e -
PAT↔AI:AT bake-off on the Klartext corpus — 4-dimension report — #181 #34
eval
0e8af8e -
score-as-is mode — score foreign tagged PDFs without re-remediation — #180
eval
92f405d -
structure-family checks + BFIT capability baseline — #182
quality,eval
1da62d8 -
3-stage accessibility verdict as FROZEN contract leaf — #183
quality
df6f85b -
StructTree-walk gold adapter — foreign tagged PDF/UA → StructuralGold — #179
eval/gold
469ab7e -
Acrobat Reader + NVDA validation rail (workflow_dispatch-only) — #185
sr-rail
3ece424 -
Matterhorn-1.1 SSOT + condition-index reporting + human-conditions registry + gold-null gate + SR rail — #165 #166 #167 #168 #169 #172 #148
matterhorn,quality,eval,report
21a6e05 -
M5 TTS-readiness core — SpokenView + D9 dimension + per-span /Lang + /E + ToUnicode KPIs + transcript metrics — #142 #143 #144 #145 #146 #147 #161 #162
scoring,quality,tag,merge,eval
20db92b -
Fidelity-Kette komplett — Raster-Einbettung + dHash + Visual-Judge + Page-Map — #150 #151 #138 #155 #139 #127 #126 #152
tag,parse,quality,pipeline,ui
6cad132 -
eval-learning loop — per-job run-records + trend harness + housekeeping wiring
telemetry,eval
decf191 -
M1 fidelity & layout integrity — fidelity gate + layout-destruction chain fixes — #137 #132 #133 #134 #135 #119 #136
quality,parse,pipeline,merge,ui
d5a050a -
Caption→Figure association — nearest-anchor transfer onto Figure.caption — #120
parse
e971dde -
W3 — ordinal <ol value> list rendering + @page margin-box artifact emission + structfix pikepdf passes (orphan-MCID artifact-wrap, ListNumbering) — #110 #112
tag
70e6f08 -
W2 — #109 stitch gap-tolerance + TH-demotion, #110 header-pattern artifacts, #112 list grouping + heading reclassify + list_labels, #111 title extraction + doc-title-meaningful, #113 alt-text bounded retry, #115 favicon — #109 #110 #111 #112 #113 #115
merge,tag,quality,api
4a59a04 -
W4 quality — honest #93 evidence at scale (99 gold docs) + meta-row veraPDF truth + boundary tests — #93 #104 #106
eval,test
6d4e977 -
W2+W3 — #104 TagTreeFacts seam + xfail flips, #93 docker scale-run + rollup, #105 consumed-count refactor, #106 test-debt — #104 #93 #105 #106
scoring,eval,pipeline,test
3363d2e -
#93 extended judge evidence — surviving full-run swept the manifest — #93
eval
5ee60db -
#93 scale-run evidence — T1 at scale + stratified judge sample n=16 — #93
eval
1defea8 -
W3 — #98 hybrid-corpus agreement + #73 bake-off verdict + ADR-009 per-job math + CSP report-only pilot note — #98 #73 #103 #101
eval,docs,deploy
6af0531 -
W2 — #103 per-job VLM budget + #98 hybrid tagged routes + #93 corpus/scale-runner + #73 CLIP wiring + #101 metering — #103 #98 #93 #73 #101
pipeline,eval,test,scripts
0d63781 -
W3 — #98 engine-route fact-lock + throttle-leak conftest fix + updated_at drop + billed-mode runbook — #98 #100
eval,test,docs
b7c2814 -
W2 — enqueue seam lift + CSP unsafe-eval drop + #98 tagged route + #100 QA tests — ENG-AI #100 #98 #17
api,security,eval,test
0d182ad -
narrative pilot opt-in — public visibility + README-only sources + repo denylist (#99)
portfolio
b584e4e -
W3 — #85 backlog admission into seam + #30 live Caddy headers/CSP + AI-path docs — ENG-7.3 #85 #30 #91
api,ops,docs
fba3932 -
W2 — #91 Mistral-ready frugality caps + ai-gpu vLLM profile + ai_smoke harness + #85 run_one_job SSOT + #2 python rules — ENG-AI-2 #91 #85 #2
ai,queue,ops
5e40738 -
W3 — #92 HITL review endpoints + WCAG-AA review UI + hygiene docs — ENG-6.10 #92 #95 #96
api,ui,docs
75ca6a5 -
W2 — #92 review contract + #88 link-finding dedup + #87-rest alt-undetermined — ENG-6.10 ENG-6.8 ENG-6.6 #92 #88 #87
pipeline,quality
e6f69d6 -
W3 — Check-only audit mode + scorecard report surface + task switch — ENG-6.11 #90
ui,api
12dc3ef -
W2 — impact-weighted scorer + dual-gate + render-checks + calibration corpus — ENG-6.11 ENG-8.2 #90
scoring,quality
4f80b5a -
W1 — #94 A/B/C coverage matrix + scoring rubric ADR-007 + frozen dual-gate/scorer contract — ENG-8.20 ENG-6.11 #94 #90
scoring
9a910b6 -
structured no-PII tracing for the alt-text/raster path
obs
3e62e36 -
link-purpose gate checks + tagged <a> output + #87 hardening — ENG-6.8 #88 #87
quality,tag
169a314 -
inline DocLink contract + link extraction (FAST get_links + SLOW markdown) — ENG-6.8 #88
parse,merge
998d2d6 -
wire WCAG-AA gate into remediation loop + report surface — ENG-6.5 #86
quality,api
fbcca1c -
deterministic WCAG 2.1 AA quality-gate module — ENG-6.5 #86
quality
27f22cb -
compose topology + arq orchestration behind --profile full — ENG-7.4 #47
ops
61fdb38 -
bulk/folder upload + batch dashboard — ENG-3.4 #46
ui,api
b0e1376 -
observability domain metrics + deploy runbook + #83 eval/QA cleanup — #41 #83
ops,eval
5efbbb2 -
Helm chart for BRZ/OpenShift — arbitrary-UID, air-gap default, probes — #37
ops
4019a69 -
Dockerfile.ubi — RHEL UBI9 image for BRZ/OpenShift, arbitrary-UID-safe — #36
ops
69abc94 -
German alt-text eval harness — the VLM slot's real job — #73
eval
34a4f13 -
report view — failed rules grouped by Matterhorn checkpoint — #11
ui
a25f509 -
reasoning-VLM safety — reasoning_effort + reasoning_content fallback — #71
ocr
c83f09f
Fehlerbehebungen (40)
-
#356 refresh stale OpenAPI snapshot (SR-checklist endpoints)
api
f7e20a3 -
#350 table_comprehension → ADVISORY_ONLY — construct-invalid gold, not a calibratable judge
judge
bad4441 -
#337 Docker dep-drift — build-time dep-parity smoke + loud fidelity degrade
ops
b5a178a -
close read-store conn-leak + batch hard-block on overflow + P1 tests — #288 #306
api,tts
af933c8 -
programmatic Acrobat Setup-Assistant dismiss + 64-bit hive pre-seed — #198
sr-rail
df983e7 -
cut /speak synth latency + make audio errors visible — #149
tts
d29913a -
cap VLM pages/figures per job for the public open endpoint — #280
deploy
28ed310 -
harden public endpoint — per-file /batch throttle, jobstore parse guard, OpenAPI/XFF doc accuracy
api
a31a619 -
externalize Swagger UI init so it renders under the CSP
docs
4cd79b9 -
self-host Swagger UI + ReDoc so /docs renders behind the CSP
docs
b8972d0 -
reasoning_effort + reasoning_content parity with slow.py — #264
alt-text
6ba9611 -
gold corpus cleanup — F1 bbox fix + F2 text-page relocation (#258)
eval
584938e -
AAVS #239 — wire veraPDF flavour-auto-detect into the product audit path
pipeline,sidecar
cc193a7 -
AAVS W4 — flavour-aware regression gate (per-doc pdfuaid:part) restores full-set discrimination — #238 #244
eval
4f5196f -
restore German umlauts/ß in portfolio.yaml manifest (#143)
content
512e9e4 -
#237 route-conditional fidelity disclaimer — stop labelling overlay output "(Reflow)"
pipeline,ui
16740b5 -
#198 suppress Acrobat Accessibility Setup Assistant — iWizardRun=1 before launch
ci
e9b55ae -
default overlay-ON in BRZ/Helm + ADR-015 + born-digital PRESERVED guard
helm,fidelity
dffde82 -
#118 hardening — vlm_alt_text_max_retries validator + Roman /ListNumbering
config,tag
880a3b2 -
detect borderless RIS data tables, reject Amtssignatur + TOC over-tagging — #210
parse
b39604f -
make CI-environment-sensitive eval tests skip instead of fail — green main
tests
5816520 -
force+verify Acrobat foreground before NVDA read — observed focus theft — #185
sr-rail
70ed95f -
Acrobat rail installs Reader via choco — winget absent on windows-2022 runners — #185
sr-rail
a2a1259 -
re-enable pdf.js in Playwright Firefox — file:// PDF nav triggered download instead of render — #148
sr-rail
2ab40e5 -
skip-guard calibration-PDF-dependent spoken_view/flip tests in CI — PY-005
tests
c75cee2 -
suppress bandit B104 false-positive on _LOCAL_HOSTS literal
telemetry
ec3a06c -
SLOW-page observability — slow.page_ok/slow.page_error events (class+latency, no PII) — #128
parse
19fdcc9 -
HORIZON chain — re-do page-space guard + FAST-only skip, spine_error_type third UI state, D2/D8 degrade abstain, structfix orphan-THead→TBody demote (7.2-14: 49→0), keyvalue autofix SSOT — #122 #123 #124 #117
remediate,pipeline,scoring,tag,quality,ui
0f2063a -
W5 — list ordinal continuity via counter-set (WeasyPrint ignores li value for /Lbl) + render-side keyvalue-header guard (quality autofix re-promotes after merge demotion) — #109 #112
tag
fd61775 -
W4 quality — masthead dc:title refinement, keyvalue-TH demotion, sync-job durable persistence (multi-worker 404 fix), structfix visited-guard + tmp cleanup, quadratic-scan precondition + 16 boundary tests — #109 #111 #112 #116
merge,tag,api
81df426 -
audit-path figure-alt false-positive — tag-tree wins over visual re-parse in the fold — #108
scoring
e376afa -
alt-text runner tests patch _resolve_raster — hermetic vs gitignored source PDFs (CI #5410) — #73
test
4cb9c8f -
W4 — CLIP transformers-5 pooler fix + simplify pass + runbook per-job-budget note + validator rejection test — #73 #103 #101
eval,test,docs
7c3fccc -
throughput harness measures pure capped OCR — spine off, alt-text no-op, single-pass — #17 #103
scripts
494915b -
serialize shared sqlite connection access — torn-read race — #100
store
c88275e -
de-fang fake bearer literal — sk- prefix tripped the gitleaks CI gate (#5357)
test
d3b8dc0 -
Session-K #84 follow-ups + batch backlog all-or-nothing boundary — #84 #46
api,ops
15cf06d -
harden Helm chart to readOnlyRootFilesystem — fixes Trivy AVD-KSV-0014 — #37
ops
cc5ba47 -
W5 audit fixes — runbook metric names, veraPDF SHA parity, queue-depth test, chart MODEL_API_KEY
ops
2b33b56 -
page-number regex for Seite-N-von-M + roman footers; document reconcile_page — #56
merge
e45e815
Refactoring (intern) (4)
-
shared prior-cache + LayoutDetector seam — kill double-VLM-pass (default-OFF) — #316
layout
8917d6c -
move async-synth lifecycle into main.py lifespan + close prune-leak — #288
tts
92dd42f -
drop gpt-oss defaults — qwen3.6-nothink as EU judge default — #275
eval
d55c2d4 -
explicit tagging_enabled gate + split alt_text raster/driver — #59
tag
685646f
Dokumentation (54)
-
capability-frontier session — BACKLOG status + FINDINGS (#337 #345 #336 #333 #349 #350)
4c4ff26 -
#347 heading+TICK leakage adjudication findings — CLEAR verdict
judge
2679fbc -
#339 overlay reconcile + ADR-029 WCAG-first/Verb-Disziplin + trust narrative — #339 #346
verdict-truth
15e1ddb -
PRD — synthetic edge-case/adversarial PDF benchmark — #320
eval
44354db -
generator-provider comparison bake-off — tiered-portfolio verdict — #318 #319
eval
d113b70 -
correct mistral heading to full-confirm κ=0.588 (near-miss, below gate) — #312
judge
63a10a0 -
judge-bottleneck leverage findings + cross-model bakeoff — #312
judge
3e55a96 -
amend ADR-023 (follow-ups a/b/c implemented) + FINDINGS + BACKLOG — vision-layout arc — #295 #311 #281
4ad2c8c -
#281-P4 tagger-taxonomy gap map (PAT strengths → tag-write seam) — #281
tagger
005a482 -
record session shipping — BACKLOG + FINDINGS + ADR-025 graduated throttle — #306 #310 #309
389508a -
record #198 CI verification — ASA suppressed, a11y-tree still blank — #198
sr-rail
0503c93 -
add Usage-Tracking/Audit-Log/Admin-Dashboard PRD — #297
prd
4078475 -
record deep-session-2 (endpoint hardening + Swagger + pdf-ua-tool corpus)
changelog
acb3c80 -
W3 EU-sovereign judge verdict + sprint-review talking points — #275
eval
df1701f -
AAVS κ measurement evidence — product-judge heading 0.803 (calibrated) + render-compare data_table +0.090 — #255 #257
eval
416a008 -
ADR-012 §Verbleibend A–D Klartext-confirmed — close #211/#212/#213/#214
adr
e0aa465 -
qwen default + optional gemma-4-31B-it@EU alt-text backend — #262
adr
ef44147 -
W2 discrimination proof — metric now separates models + good-vs-bad (#259 #263)
eval
15e65cb -
correct F9 — photo "hallucinations" refuted by direct crop inspection (#263)
eval
5f45b17 -
Gemma-4 weakness catalog + counter-measures (#263 research)
eval
315b2f4 -
alt-text A/B findings register (#252) — eval-pipeline gaps + gold cleanup
eval
04a127f -
ADR-016 + AAVS standard design — automated 3-state accessibility verdict (#238)
eval
c2cf59c -
#173 document fast-langdetect UBI-size fallback for lingua
merge
7838b51 -
fidelity-scan-gap measurement — scans are 4% of corpus, #140 parked, overlay is the real lever
research
ba03482 -
add 2026-06-14 eval-state report — engine vs PAT bake-off + conformance/fidelity verdict — #234 #235
research
0779c93 -
finalize ADR-012 eval-sidecar contract — lock 7 decisions (Owner deep-10)
adr
de5b54a -
#170 overlay-spike findings + ADR-011 spike-result + follow-up epic drafts
adr,research
fd67b07 -
#170 correct overstated fidelity claim in spike_overlay docstring
spike
cf799d0 -
deep-3 session record — table chain + gold-gate proof — #175 #125 #121 #176 #171 #128 #178 #177
changelog,backlog,architecture,readme
7ae30a2 -
M6 session record — eval goes foreign-tool-capable — #179 #180 #181 #182 #183 #184 #185 #187
changelog,backlog
da75fc6 -
eval-sidecar contract ADR + PDFium sight-rail evidence — #184 #185
adr,research
e5d5ad8 -
record repo-governance decision — main-push-guard for team onboarding — #188
changelog
c96c2b6 -
Klartext PAT fusion analysis + M6 eval-finalization plan — #179-#187, rescopes #34/#130
research,backlog
14196ee -
SR-NVDA first-run evidence — 197/200 phrases, heading/table/link semantics verified by real NVDA — #148
research,backlog
2010a36 -
W5 session record — Matterhorn SSOT + condition-index + human registry + gold-null gate first proof — #165 #166 #167 #168 #169 #172 #148
changelog,backlog,architecture,readme
578c78a -
W5 — M5 TTS-core session record + ADR-011 overlay spike-first decision + ADR-007 D9 amendment — #141 #142 #143 #144 #145 #146 #147 #161 #162
changelog,backlog,architecture,adr,readme
e4f81e1 -
fix box-fetch recipe — records live in the named volume, not /home/deploy/data
eval
356137c -
W5 — deep-4 Session-Record: Fidelity-Kette + Judge + Sanitize + Page-Map — #150 #151 #138 #155 #139 #127 #126 #152
changelog,backlog,architecture,adr,readme
de0507e -
W5 — M1 session record + ADR-010 fidelity gate — #137 #132 #133 #134 #135 #119 #136
changelog,backlog,architecture,adr,readme
18a3f7b -
add M5 TTS-readiness work package — research SSOT + issues #142-#149
backlog,research
ff19ffc -
demo held 2026-06-11 — lift 3300-container freeze, structure all 21 open issues into work-package milestones M1-M4 (fidelity-first via #137)
changelog,roadmap,mvp,backlog
baaded1 -
W5 — HORIZON-chain session record: fixes, E2E numbers, descoped #117 items as proven residual limits — #122 #123 #124 #117
changelog,readme,backlog,architecture
774a86a -
W5 — Session U record: verified facts (veraPDF 0/24685, 11/11 re-verify gate), honest residual limits, 8-pass merge-chain invariants matrix + structfix post-pass — #109 #110 #111 #112 #113 #114 #115 #116
readme,changelog,backlog,architecture
c56228d -
demo-verified restructure — business intro, two-mode table, techie pipeline walkthrough, honest limits — #108 #109 #110 #111 #112 #113
readme,changelog
f9ca4f2 -
W5 — Session T CHANGELOG/BACKLOG + ARCHITECTURE inline-scoring stage + ADR-007 tag_facts addendum + precedence docstring — #93 #104 #105 #106
session,adr
e2add68 -
W5 — Session S CHANGELOG/BACKLOG — #103 #98 #93 #73 #101
session
ef42027 -
W5 — Session R CHANGELOG/BACKLOG + Caddy bind-mount inode trap runbook note — #100 #98 #17
session,deploy
c1ba4ae -
W5 — ADR-009 production AI-endpoint policy + CHANGELOG/BACKLOG Session Q — ENG-AI-2 #91 #85 #30 #2
session,adr
c6bedd1 -
W5 — ADR-008 HITL non-destructive certification + CHANGELOG/BACKLOG/README — ENG-6.10 #92 #89
session,adr
27ee29d -
W5 — finalize Session O docs + make calibration corpus empirically honest — ENG-8.2 ENG-8.21 #90 #94
session,eval
2b214db -
close Deep Session N — link-purpose (WCAG 2.4.4) + #87 gate-hardening record — ENG-6.8 #88 #87
session
3f0867f -
ADR-005 WCAG-AA gate + CHANGELOG/README + fix stale E5 BACKLOG markers — ENG-6.5 #86
quality
bafbbf1 -
CHANGELOG + BACKLOG for Deep Session K + W5 audit reports — #36 #37 #41 #83 #82
session
8b94a0c -
CHANGELOG [Unreleased] + BACKLOG for Deep Session J — #71 #59 #74 #56 #11 #73
session
59fdcef
Tests (18)
-
defensive follow-up tests from pilot-hardening review — #311
usage,eval
c204c8a -
latex-UA corpus calibration sweep + struct_assertions ClassMap resolution — #281
eval
2a5d28d -
integrate pdf-ua-tool public corpora + structural tag-assertion suite
fixtures
5f23edf -
add boundary coverage for throttle/batch/content-length/JSON edge cases
api
a110c2d -
corpus test asserts reviewed status after W2 gold review (#258 #260)
eval
a670aa0 -
#107 hardening — FigureFact boundary + _iter_kids cleanup + eval-clip mypy
scoring,eval
84d8653 -
#196 container positive-proof for /Caption path + WeasyPrint-69 crash doc
tag,caption
8f833a9 -
W4 — quality audits + tagtree degrade tests + dead-param drop + stage missed harness — #100 #98 #17
quality,api
ee04149 -
checkpoint eval-lane WIP — sha-backfill, alt-text baseline + OCR page-level raws — #72 #73
eval
269e3a5 -
W4 — #85 QA-gap tests + #91 remote-resilience suite + /v1 startup guard + cap-integration tests — ENG-AI-2 #91 #85
quality,config
d0fdafc -
W4 — non-destructive certification + #89 veraPDF E2E lock + HITL hardening — ENG-6.10 ENG-6.9 #92 #89
quality,pipeline
7810c25 -
W4 — 148 scorer/gate/UI tests + close calibration loop — ENG-6.11 ENG-8.2 #90
scoring,quality,eval
105737c -
link-purpose + #87 test suites; fix FAST link-rect drop + list-leak + scheme allowlist — ENG-6.8 #88 #87
quality,parse
68e9911 -
real-doc differential + WCAG-gate integration/air-gap depth — ENG-6.5 #86
quality,merge
9ca7c89 -
W5 audit gap-closing + live-smoke topology fixes — #46 #47 #84
batch,ops
c669e6f -
pin roman-footer 1-99 cap boundary + WeasyPrint degrade; fix doc — #56 #59
merge
551c4e5 -
cross-cutting integration depth for Deep Session J — #71 #59 #11
quality
8e9ec1a -
promote vlm_bakeoff to maintained asset — harness tests + corpus — #74
eval
acaab66
Build-System (3)
-
bake Piper extra + de_DE voice into the demo image behind ARG TTS=1 — #149 #200
tts
77ae6ee -
lock piper-tts into uv.lock so `uv run --extra tts` is churn-free — #149
tts
623ca83 -
add opt-in 'tts' extra (piper-tts) — durable local enablement — #149
tts
748308b
Sonstiges (7)
-
qualify corpus (1482/1482 tractable) + merge host-named RIS dirs + harden catalog — #318 #319
eval
3b8bfcc -
corpus catalog snapshot — 1482 PDFs across 7 categories (DE+EN) — #318 #319
eval
a5f45b2 -
integrate #273 calibration-completion with PR #270 qwen36 VL standard
1317c86 -
#129 measure-first merge-baseline harness — NO-GO/defer on VLM-assist
merge
80652cd -
#170 add --granularity {group,line} mode-compare — semantic-richness boundary
tag,overlay
f70d03a -
#170 overlay-tagging spike — in-place MCID+StructTree on born-digital BGBl reaches veraPDF ua1 PASS at pixel-perfect fidelity
tag,overlay
6327820 -
enable TTS on the demo box — TTS=1 build-arg + TTS_ENABLED — #149 #200
aiat-poc
44d1fe6
v0.8.0 2026-06-08
Überblick
Diese Version bringt 31 neue Funktionen, 11 Fehlerbehebungen, 29 weitere Änderungen.
- Neu (eval): capstone baseline + docs + security hardening + coverage — #34 release v0.8.0
- Neu (eval): composite + reliability + linearizer + eval-as-a-service — #79 #80 #81
- Neu (eval): Tier-2 judge + persona-panel gold + live κ reliability — #78 ENG-8.12
- Neu (eval): OSS reuse layer + Tier-1 completion — #76 #77 ENG-8.14 ENG-8.17
- Neu (eval): independent gold corpus + harness/artifact separation — #75 ENG-8.11
- Neu (ocr): hybrid PaddleOCR-VL routing + per-page parallelization + lean Markdown — #68 #69
- Neu (jobs): async job queue + sqlite store — non-blocking POST /jobs (202+poll) — #67 #6
- Behoben (ai): dedicated vlm_timeout_s + correct MODEL_ENDPOINT_URL convention
Technische Änderungen
Neue Funktionen (31)
-
capstone baseline + docs + security hardening + coverage — #34 release v0.8.0
eval
8670df8 -
composite + reliability + linearizer + eval-as-a-service — #79 #80 #81
eval
34cbf33 -
Tier-2 judge + persona-panel gold + live κ reliability — #78 ENG-8.12
eval
74d1953 -
OSS reuse layer + Tier-1 completion — #76 #77 ENG-8.14 ENG-8.17
eval
0575ddf -
independent gold corpus + harness/artifact separation — #75 ENG-8.11
eval
46171ce -
hybrid PaddleOCR-VL routing + per-page parallelization + lean Markdown — #68 #69
ocr
f61825d -
async job queue + sqlite store — non-blocking POST /jobs (202+poll) — #67 #6
jobs
2f508e7 -
aiat-poc live-pilot build-on-box runbook + Caddy vhost + env example — ENG-7.5 #64
deploy
72087ae -
accessible dashboard (WCAG 2.1 AA) + BYOK/Admin key UX — ENG-3.5 #63
ui
e1f1933 -
tiered AI backend (Anon/BYOK/Admin) + rate-limit + config align — ENG-AI-1 ENG-8.8 #62 #61
ai-tiers
658292f -
PAT-slot label + throughput harness (s/page, peak-RSS) — ENG-8.4 ENG-8.5 #34 #35
eval
80b206b -
scorecard CLI + proven quality discrimination + DE-model & FT decisions — ENG-8.3 ENG-8.6 ENG-8.7 #33 #45 #53
eval
9c91904 -
scorecard metric primitives — veraPDF/struct-F1/TEDS/Kendall-τ/alt-text-CLIP — ENG-8.3 #33
eval
2ce9c56 -
scorecard scaffold + graded-triplet generator + metrics research — ENG-8.2 ENG-8.3 #32 #33
eval
f60339d -
v0.1 hardening backlog + WeasyPrint fontconfig under arbitrary UID — ENG-1.7 ENG-OPS #52 #58
hardening
ef6870d -
Prometheus /metrics (RED) + hardened /ready + structured no-PII logging — ENG-10.1 ENG-10.2 #39 #40
obs
e066095 -
serve the remediated PDF — download endpoint + temp-file reaper + before/after UI — ENG-6.6 #57
api
6bfc367 -
tagging-capable Docker image + real wired E2E veraPDF PASS proof — ENG-6.5 ENG-6.1
ops
31c5d6d -
German figure alt-text + hallucination gate, wired into the spine — ENG-6.4 #27
tag
225bc70 -
wire remediation spine into run_pipeline behind WeasyPrint capability-gate — ENG-6.1 ENG-6.3
pipeline
86b7310 -
remediation spine — merge + tag-write + loop (ENG-5.1–5.6, 6.1, 6.3)
pipeline
f95ab76 -
SLOW VLM-OCR path + ParseBackend Protocol + confidence/cache_key — ENG-4.3 ENG-4.4
pipeline
9d56e40 -
FAST PyMuPDF parse path → per-page ParseResult at orchestrator seam — ENG-4.2
pipeline
ccb4531 -
per-page ParseResult schema (FAST/SLOW shared contract) — ENG-4.1
pipeline
6a4915a -
mlx-vlm 2-port serving launcher + health-probe + runbook — ENG-4.6
ops
8b738f5 -
router quality-gate — demote garbage text layers to SLOW — ENG-1.4
pipeline
67dc391 -
accessible HTMX dashboard — upload → veraPDF score → report — ENG-3.1
ui
9fd0d03 -
POST /jobs multipart/urls/base64 upload, pydantic + SSRF-safe — ENG-1.1
api
cd5e810 -
parse real veraPDF 1.30.2 JSON + map rules to pages — ENG-2.1 ENG-2.2
eval
2595dbb -
triage cache-key + hardened FAST/SLOW routing — ENG-1.2
pipeline
a8793fb -
bundle veraPDF 1.30.2 in image (pinned + sha256, air-gapped) — ENG-2.3
ops
a8a221b
Fehlerbehebungen (11)
-
dedicated vlm_timeout_s + correct MODEL_ENDPOINT_URL convention
ai
50e7c37 -
harden public pilot — ocr_note slow_pages-gate, per-IP /jobs throttle, XFF, job-id — #62 #64
live
ec7dda1 -
close W4 scorecard review findings — measurement-null, air-gap CLIP, normalize SSOT — ENG-8.3 #33
eval
f198001 -
close W4 security/arch findings + integration-test gaps — #57 #39 #40 #52
review
a2a48da -
figure-raster megapixel guard + keep base64 off the structure SSOT (review fixes)
tag
2e54333 -
thread figure alt-text into the remediation loop via injected refine_tree hook — ENG-6.4
pipeline
acdd7ba -
generalize reading-order to N-column + y-sort full-width pages — close #55
merge
8386b2b -
harden SLOW path + reading-order tie-break + pin httpx<0.29 (+43 tests) — ENG-4.3 ENG-1.5
parse
279506e -
pin validated IP on PDF fetch — close DNS-rebinding TOCTOU — ENG-1.5
security
61ce0e5 -
constant-time auth compare + stop pydantic error leak — SEC-004 SEC-009
security
fdeee84 -
green toolchain — ruff/mypy/pytest clean — ENG-0.2
7ad3e43
Refactoring (intern) (2)
-
single backend selector + degrade-on-spine-failure (review fixes)
pipeline
22192cd -
extract run_pipeline orchestrator + typed JobResult — ENG-1.6
pipeline
6a122a2
Dokumentation (17)
-
add RIS-verified Austrian legal anchor (§8) — WZG vs BaFG → EN 301 549 Clause 10 → WCAG 2.1 AA
eval
7db31d1 -
plan reliable accessibility eval-engine v2.1 — ENG-8.11..8.17 + tracking #82
eval
319cc3d -
v0.7.0 servable-AI — OpenAPI #66 + CHANGELOG/BACKLOG + M1 multipart size-gate
release
e1e0855 -
W1 AI-pipeline-performance research + pinned contract — #67 #6 #68 #69
research
18dc04b -
CHANGELOG v0.6.0 + BACKLOG/ROADMAP/MVP + sync deploy artifacts to live reality
release
b108bf9 -
GitHub README intro + dev API.md (dos/don'ts) + dashboard /docs link — ENG-DOC-1 ENG-DOC-2 #65 #66
onboarding
392e681 -
engineering DPIA draft + data-flow diagram — ENG-9.3 #38
compliance
63779e9 -
deep-session-G W1 discovery — aiat-poc deploy recon, a11y/UX, AI-tiers contract, DPIA + onboarding
research
b0a6ccd -
record v0.4.0 — serve the output, observability, hardening, supply-chain, live-VLM + Docker proof
7230d93 -
record v0.3.0 — spine wired end-to-end, figure alt-text, N-column reading-order, tagging Docker image + real wired veraPDF PASS
2edc132 -
alt-text (ENG-6.4) design note — PDF/UA-1 + German VLM + hallucination gate — #27
research
01f8262 -
record v0.2 parse stage — CHANGELOG 0.2.0, MVP-004 done, BACKLOG/ROADMAP
bf10aa9 -
verified mlx-vlm serving run — Qwen3-VL-8B @77.8 tok/s German OCR — ENG-4.6
ops
878dd13 -
anchor fine-tuning strategy as ENG-8.7 decision-gate (measure-before-tune) — ENG-8.7
76ab44f -
mark v0.1 Session A delivered (ROADMAP/BACKLOG/ADR-002/CHANGELOG/MVP)
b986983 -
ENG-6.0 reflow→WeasyPrint settles ADR-002 — real BGBl reaches veraPDF PASS — ENG-6.0
spike
c052567 -
iterative version roadmap (v0.1–v3.0) + tag-write pivot (ADR-002)
e134324
Tests (10)
-
VLM bake-off — Qwen3-VL-8B vs Gemma-4 verdict + clean-gold harness
eval
253b321 -
#54 parse-stage test-depth + fix(ui): #70 pass_rate never 100% when non-compliant
parse
a12d5e2 -
make config-default + dashboard air-gap tests hermetic vs .env
298d8ba -
close W4 coverage gaps + docs + real Hetzner scorecard proof — ENG-8.3 ENG-8.5 #33 #35
eval
4fd99de -
ENG-4.7 parse-stage depth — heading levels, header/footer band, caption/column boundaries, SLOW JSON-extract + decode-error paths (+37) — #54
parse
d30b3eb -
live end-to-end SLOW integration vs mlx-vlm (skip-guarded) — ENG-4.3
parse
ee784b6 -
OCR bake-off harness + verified Paddle/Qwen3-VL verdict + TCO model
eval
ad2e5c0 -
harden veraPDF/triage/URL coverage + tighten weak assertions — W5 QA
04edf5d -
air-gapped docker-compose integration — veraPDF offline — ENG-7.1
ops
6305b8e -
add public-domain Austrian BGBl PDF fixtures — ENG-8.1
corpus
5c6b744