Changelog

Versionsverlauf — automatisch aus der Entwicklungs-Historie erzeugt.

Aktuelle Version v0.15.0 · Stand 752c495 (2026-08-17) · 1175 Änderungen ausgewertet.

v0.15.0 in Entwicklung

Überblick

Diese Version sagt „noch keine Aussage“, wo sie bisher geraten hat: Prüfpunkte ohne belastbaren Befund enthalten sich ausdrücklich, statt eine Bewertung zu erfinden. Dazu kommen ein zweiter, EU-lokaler Texterkenner samt Herkunftsangabe auf der Ergebnisseite, Messläufe über ganze Dokumentbestände statt Einzelfälle, und eine Weboberfläche, die auf allen Seiten dieselbe Sprache spricht.

Technische Änderungen (für Entwickler:innen)

Neue Funktionen (48)
  • measure Option C on 80 gazettes, and find that a FAILED judge is what binds two of three verdicts eval 7a79371
  • name the cause a run-record row could not decide on — #1089 telemetry ff598ce
  • read both Option-C arms out of one run, by writing at the seam instead of guessing eval 8cdb0d7
  • messe die Trennschaerfe des Ja/Nein gegen 306 ua:*-Gold, und benenne, was daran tautologisch ist eval 473f9bf
  • make the heading judge name its finding, and check the name against the bytes eval f4f1fcd
  • kalibriere die Stellschrauben um den Ueberschriften-Judge herum eval 97034c1
  • let a decided criterion failure bind the document verdict, as the spec always said verdict d5dce8a
  • make the 80-document abstention measuring rail reproducible eval d58973c
  • compute the five dimensions the composite routes to Tier 1 — #1083 eval c32d611
  • carry the nine produced-but-unrecorded signals into the run record telemetry 57992df
  • let a run-record name the arm it ran under telemetry e2b98c4
  • say what is armed, and refuse to boot a stage that cannot run ready 747607c
  • a reliability number that carries its denominator and refuses a degenerate gold eval fa4b4d5
  • one decision on the upload form — 213 visible words down to 84 ui 0e3b0c8
  • say Ja, Nein or Noch keine Aussage — one vocabulary instead of two ui 8a94a45
  • measure the check-only verdict against the UA gold, and name which half of it is a tautology eval 7347304
  • put the answer above the form and make the focus actually land on it ui 96cb952
  • say which model read the document, and with which capability, on the surfaces a consumer sees provenance e1d3f31
  • measure the class the guard cannot see, and find it is not the class the router excludes eval 7a73cea
  • measure the reading order against the bytes the box delivers, not the tree it keeps eval 678beb8
  • make a corpus run say what to fix next — and when it measured nothing at all eval 0244a11
  • drive a whole corpus through the real pipeline, resumably ops 364098e
  • let the other reader read the same page, and measure where the two disagree parse 9490e02
  • give the second OCR endpoint its own series, instead of a label on the first observability 276dd16
  • record WHICH weights answered, so an alias stops passing for an identity eval 9434eb4
  • measure fabrication where there is no gold, and find the consensus is the layer eval 8fcac05
  • measure the table axis against the page's own text layer, and find the gap is loss, not binding eval 57e5f1f
  • route both parse passes through the occupant switch, and let the chart flip it ocr db71350
  • give the second reader its own triple, its own latch, and a switch that ships off ocr 4dbe516
  • give the undecodable HTML table a counter, and tell a refusal from a fault observability 9c7ad42
  • give LightOnOCR its own conditions, and find its preprocessor caps the resolution at 1540 px eval 0906e4d
  • read the table dialect LightOn actually speaks, and count what an OCR page cost parse 0c06e25
  • count VLM tokens where the round-trip is, not where the terminal row is observability d7019c3
  • let the text axis say "not measured" on the wire, not only in the log fidelity 04c8dd1
  • measure whether either OCR model rewrites a statute name, and give the zero a positive control eval efa19b7
  • run both lanes of a #954-repatriated document side by side, at one named commit eval 14423fa
  • make the paddle endpoint reachable, and prove it with a live test ocr 78674aa
  • let the text axis abstain instead of certifying a scan it never read fidelity ff40ba4
  • tell the matcher's own offset apart from the headings that never transferred — refs #963 #896 eval fc3a7d0
  • hold a gate-rejected fixture out by declaration, not by shrinking the pool — #980 eval 1268290
  • give VLM token spend an alerting surface and a billing column — #1014 metrics 31b90d3
  • measure where the text-layer guard cannot decide, and score the two candidate stand-ins eval 59fc350
  • give D5 a reference point outside the level it scores scoring 4d34fdc
  • measure the three Paddle routing exclusions, and freeze the testset that did it eval 88b48bc
  • give the Paddle endpoint a state, so 403, 502 and timeout stop being one error health d456bcf
  • wire the delivered-placement census into the fidelity report, advisory quality fba941a
  • name the untagged grid the #1038 drop left silent — refs #1051 #1038 #726 quality 016b7b1
  • make the WeasyPrint tagging degrade loud instead of silent ops 5dd634f
Fehlerbehebungen (65)
  • gate the audit-lane veraPDF ratchet on the binary, and host it where the binary is tests 752c495
  • make the Option-C control count documents, not seam calls — it read 20 of 108 where the corpus has 78 eval 43cd519
  • re-pin the skip ceiling on a derived reserve, and make the guard count what it claims ci 8936b92
  • answer per criterion on the audit lane instead of shipping an empty verdict map pipeline 3f73bab
  • read the stack's verdict from the bound gate, not the raw veraPDF leg batch 6b58365
  • abstain on a heading-less tag tree instead of stamping a defect it cannot prove scoring f79300e
  • anchor the hermeticity guard to the sweep, not to a later moment tests 77f5f46
  • abstain 1.4.3 when the background is not provably white, instead of assuming it quality 15b196d
  • fill the second fixture raster the #1078 fix left behind tests fa7bbd1
  • fold the decided contrast rows, not only their abstentions — #1085 pipeline 04e2ed7
  • abstain the heading corroboration when nothing aligned, instead of failing — #1083 eval b0d231c
  • send the model id the endpoint actually serves, and ask it at boot ocr 1a741be
  • keep the sentence that explains the verdict next to the verdict ui 600fc38
  • the sentence that revokes a PASS must not read as a contradiction quality 6ad1af2
  • bind the abstention tests to the app's Jinja env, and finish the jargon removal in the admin banner tests e8018a3
  • drop the TTS engine's name from the page and from the runtime labels ui b716e0d
  • the last three internal words on the result surface ui 731c722
  • collapse the developer half of the changelog by default ui 2923497
  • a crashed condition reducer must not certify zero violations scoring 8fcead6
  • raw identifiers out of the surface, and the a11y defects in the a11y tool ui 782e232
  • reject invisible and non-latin-1 names on the unauthenticated gate POST security b617f85
  • arm the production auth riegel and write down who carries the auth security 22215e0
  • sweep expired tagged PDFs on a path the async deployment actually runs pipeline 1e65005
  • react to the swap that actually delivers the result, not the one that starts it ui 5a59845
  • make the gold content hash document-specific — v2.2 could not tamper-check 16 % of docs eval 897d915
  • fill the fixture raster the abstention test claims it keeps — #1078 tests 05e6d9a
  • guard the last endpoint field that could still swallow a doubled /v1 config 4ff8047
  • read the shadow roll-up the shadow lane actually writes, not the shape we guessed eval 064fcef
  • let the two FAST-OCR backends wrap the instrumented reader, not the narrow one observability 62fc2cd
  • ask whether the FAST-OCR slot has an occupant, not whether Paddle is configured routing 36c6558
  • stop the overlay spike from reading an abstained 1.0 as a measurement spike 446974c
  • adopt the base's usage twin in the crop stage, instead of probing for a keyword observability aa4bf40
  • let the one place that says 'do not deliver' be the place every consumer asks tag b069171
  • let the chart aim the endpoints it can already arm helm b69b102
  • stop scoring a scan's own page raster as a lost image fidelity ac4b9df
  • stop reporting an answered-but-undecodable OCR call as an outage parse 7e9c9dd
  • decide once whether a raster is the page or sits on it — #1054 merge d58685d
  • strip internal issue references from the sidecar's own published OpenAPI sidecar 6631500
  • make an empty baseline window visible in the machine sidecar eval 8330516
  • let a heading family's numbering level the whole family, not only its children merge 08f2ee7
  • stop restoring a once-only masthead on every delivered page tag 7ad4ef8
  • name the five degrades in the FAST path, so a fault stops looking like a result parse bd794a5
  • teach the consumers to read the named degrade, starting with the silent denominator eval 07ee8a9
  • enrich the two hand-appended findings so their tags reach the wire check 688c3da
  • stop two wave-3 tests from asserting their own environment test 4a91285
  • let a hierarchical section number beat the H6 level floor parse cdcd912
  • make the column split check that both sides are populated, as its docstring claimed parse d93616c
  • let the OCR witness reach the resolution its own comment promises quality 6793cb9
  • stop the #1052 gate test from splitting the src.tag.overlay module graph test 1b4e6d3
  • de-fang the degrade test's PII bait and pin its historical gitleaks finding security ce097d3
  • thread the #1037 source filename into two dead harnesses, and gate the blindness — refs #1037 #1043 eval 8c034b9
  • tag the two live checks the map silently omitted — refs #1051 #1043 quality 63dafb4
  • recognise an index whose printed leader is not a dot — refs #1050 #695 #705 quality 418d072
  • stop delivering a bilevel scan as 8-bit RGB tag 1442a02
  • cap the figure raster to the page so a scan is not delivered half off-sheet tag b86b258
  • pass the uploaded filename to the doc-title reconcile pipeline 7b2e0aa
  • read the queue-depth gauge from the durable store, and decouple the tag gate ops 1a0102e
  • make the BGBl citation rule survive its own punctuation collapse eval e7d1264
  • give four archetype-scoped rules this repo's real surface rules 96f2e70
  • compare the delivered title against the filename stem scorecard daa78cf
  • stop discarding a present input text layer blindly parse 3d20857
  • restore PyMuPDF's process-global glyph-height flag after every fast parse parse bd862a6
  • bind the tag-stage capability gate to the route that needs it pipeline 0cf8229
  • make the degrade total, and make it say that it degraded quality 108235b
  • deliver the six security headers on the K8s path, not only on the box helm 2780b57
Performance-Verbesserungen (3)
  • reserve the result viewport inside the click, so the swap shifts nothing ui d1f800b
  • build the docling freeze fixture repo once per module, not once per test test 492cba9
  • narrow each page's /Resources /XObject to what the page actually draws tag f6691b6
Refactoring (intern) (3)
  • expose the link-purpose judgement as a carrier-agnostic seam — #1083 eval 66cdf2b
  • one page shell and one navigation for twelve pages ui af8930b
  • one answer on the result page, nineteen numbers on the audit page ui b8cf2fc
Dokumentation (39)
  • MD-015 — read the artifact's own justification before calling it a defect rules 3dbc21e
  • re-measure Gate 3 instead of citing a two-day-old count launch-gate f567765
  • correct the engine's self-report against HEAD — #1083 eval 807c341
  • regenerate the 0.15.0 window — 40 features, 56 fixes, 63 other changes changelog b5ecd84
  • record the three arming repairs and their measurements — #1081 changelog 5102241
  • the autonomous path to AAVS, and the misreading that hid it plan 039cc02
  • state the full denominator in the header, not only in the addendum eval 4487cb6
  • close the before/after measurement at the full denominator, 80 of 80 eval a2dbca2
  • measure the FAST/SLOW seam and name what tunes, what does not, and what must not eval 4b9858e
  • name the fifth constant dimension, where the control inverts eval b44c458
  • replace the quoted reliability numbers with measured ones, denominator attached eval bffe283
  • point gate 5.1 at the measured licence inventory and the open decision launch-gate 563e491
  • write down which licences we actually ship, instead of the ones we claimed compliance cd61e39
  • decide all 19 boxes against evidence, not against hope launch-gate 768bc36
  • record the second red gate and the measured blast radius of the v2.3 hash change eval 7821eb0
  • re-measure the decision numbers on the checkpoint that is actually served eval 28b41b5
  • make the LightOn switch operable, and name the gate that is still Paddle's ops 61c99aa
  • correct two docstrings that outlived what they assert truth e0a9d65
  • write the 3-criteria ADR gate into the template its citations point at adr 631e775
  • decide the model on the axis a wrong statute name lives on, not on conformance or CER adr aabde1e
  • measure the axis a tagging engine is actually paid for, and find one arm delivers 66 headings and the other 0 eval 9c8ff6e
  • measure what the three #954-repatriated documents actually deliver, on both lanes eval e472fd8
  • measure the LUMI-served OCR pair against the local baseline, and find one arm that never repeats itself eval f411251
  • catalogue the two token counters, and re-count a claim that had drifted by three metrics b2fe63e
  • ratify that the unframed section index is a list, not a table — #957 adr 9037598
  • stop citing #969 for the heading work it never covered refs 0c6bd44
  • read the baseline marker before the flag count, the second blind consumer loop 49480b7
  • preserve a parallel session's LightOnOCR-2 vs PaddleOCR-VL head-to-head eval 499c4d8
  • record why the no-text-layer exclusion stays, and which of its reasons did not parse 4cb9fdd
  • the xdist OOM veto was a half-quote, and the line number was unfalsifiable rejected 81fb6d2
  • MODEL_NAME is read by the Paddle path, the comment claimed the opposite env f3efb08
  • price the duplicated 150-dpi page render, and record why it stays parse e42e70b
  • write the 0.15.0 unreleased window from its own commit bodies changelog bc0ec9b
  • correct the four claims the scorecard adapter outlived — refs #1037 pipeline f29a4fc
  • record Pass B's measured blast radius and its order sensitivity tag 2ce7cec
  • record what welle 1 delivered, and re-cut what it only half delivered backlog e3b30e2
  • name the pre-registration scope in the criterion heading too research e5c0179
  • measure what the scan reflow actually delivers — CCITT, page count, routing research cf31da8
  • write down the four version-coupled artifacts and their order release 739256e
Tests (19)
  • mutate the tag tree of real gazettes to test whether the synthetic heading numbers transfer eval 39c981d
  • show that the heading judge fails because it is blind, not because it cannot judge eval 58d13c7
  • derive the env hermeticity from Settings instead of a 9-key hand list conftest fc0a941
  • prove whether the contrast screen can say NO, instead of assuming it quality 35cedb9
  • measure the eval slice's decided cells instead of asserting them — #1083 eval 18310a7
  • assert that T2 ran, not that the developer has the corpus on disk eval-api c502c28
  • pin the boot probe to its own short timeout, not the inference one arming 7e87738
  • assert the German reading, and that the raw token is gone evidence c676d5d
  • move the FAST-OCR patch surface to the factory the code now calls parse 2a639de
  • pin the resource-prune wiring, not just the function tag d28aaf5
  • re-seat the amsldoc heading-level pins, four subsections moved 6 to 2 parse e26b558
  • derive the check_id coverage guard from the tree, not from a list — refs #566 #1008 quality 066d72e
  • bind two stale test premises back to the contracts they pin pipeline 6d581d6
  • drop an unused helper from the Pass B test module tag 84c6eee
  • measure which cause moves the statistik_wohnen composite — and which one does not eval 0e0bac1
  • census the byte-identical fixtures instead of deleting one of them eval 44d4746
  • hold the frozen judge bundles against the gold they came from eval b53a3ff
  • close the filename chain from run_pipeline to JobResult.filename pipeline 7709ef1
  • derive the _garbage_reason consumer list instead of maintaining it triage 4b5cebc
Build-System (1)
  • assert the router runtime at build time, not at an operator boot docker cf45815
Code-Style (6)
  • unyoda the verdict-calibrating set comparison eval 97d590b
  • finish the token set, then dark mode costs fourteen lines ui 2410dd2
  • wrap four docstring lines that quote the new verdict strings tests ad36f8f
  • name the exception the air-gap test is actually asserting test 3885a65
  • satisfy ruff line-length and formatting on Pass B tag 04618d1
  • drop a noqa for a rule this repo does not select test 4bab834
Sonstiges (1)
  • open the 0.15.0 unreleased window the 0.14.0 tag never opened a372aad

v0.14.0 2026-08-12

Überblick

Diese Version bringt 41 neue Funktionen, 56 Fehlerbehebungen, 45 weitere Änderungen.

Technische Änderungen (für Entwickler:innen)

Neue Funktionen (41)
  • bump the rubric to adr007-v3 and widen the clause that should have required it scoring 775c963
  • stamp the rubric fassung on the scorecard so the report stops guessing it — refs #1010 #992 #898 scoring cb4ead1
  • give every Figure a provenance — which evidence made it a figure — refs #1026 #970 #136 parse 85e79ed
  • give the #683 class its own cohort and an advisory monotonicity assurance — refs #1022 #683 #997 eval 8d46a68
  • give GET /jobs/{id} a response_model that is true, not just present — refs #1041 #726 api 35f6d59
  • give the conformance-stub D3=0 a finding that says why — refs #1003 #975 #970 #726 scorecard 1f011e7
  • publish the advisory AAA contrast screen on the report surface — refs #993 #726 report a58f6e7
  • make the 15-005 header-association findings cost D6 points — refs #1013 #990 #726 scoring a3248a6
  • re-freeze the gold at v2.2 — the spacer rows are out and the contract says so — refs #1018 eval a598728
  • model WCAG 1.4.6 enhanced contrast as a structurally advisory screen quality 271bdd5
  • attach the persisted narration to the audit page now that a slot exists api 05f2bf3
  • render the advisory AI narration with its label on the audit page audit f4cdcfe
  • admit doc-lang-present to the in-place lane, and measure what it is worth — refs #1027 #970 quality f1845a5
  • publish the veraPDF rules that actually passed — refs #1017 sidecar 4f57b69
  • put the contrast-render degrade on the delivered-bytes ledger — refs #946 #928 #892 pipeline ad62c0d
  • count the SLOW pages the frugality cap drops — refs #1019 observability 83152c1
  • record the word-shape exemption on the page, not just in a log line — refs #983 #954 pipeline 63bab70
  • run the corroborated tree check on the in-place routes, report-only — refs #970 #726 #1001 #1025 #861 spine 9f561e5
  • replace the n=1 synthetic good cohort with ten measured real documents — refs #997 #683 eval 009bc89
  • widen _VLM_OUTCOMES to nine and count the two causes that had no true value — refs #1000 #942 #973 observability 5a511d2
  • carry the passed veraPDF rules so the protocol is the whole check run — refs #994 #726 report 5e096b6
  • widen the stage taxonomy to 12 and instrument the merge + re-do loop — refs #1008 #944 observability f9c5a81
  • carry the WCAG tree-leg tri-state onto the JSON surface — refs #1002 #970 #726 api 00817ce
  • record the structural damping factor on the AAVS triple — refs #1010 scoring e17ce54
  • carry the endpoint's token counts into the provenance slots — refs #1007 #974 narration 6c279e0
  • wire the eight struct checks that had zero production callers — refs #990 #726 scorecard 5d56954
  • persist the advisory narration once at job completion and serve it — refs #971 #726 narration 6fe2574
  • publish the rubric version and the structural damping so quality_score can be recomputed — refs #992 #726 #683 report f1dd51c
  • emit the narration VLM counter and refuse to fake CAPPED — refs #973 observability cbb1f37
  • surface the OpenAI usage block through an opt-in UsageSink — refs #974 vlm 0a15d94
  • surface the advisory AI narration on the AAVS report — refs #772 report 468b975
  • reuse bulk SLOW results on the verdict-less redo pass 0 — refs #936 pipeline 9fec6d3
  • add the advisory AI narration engine behind the model endpoint — refs #772 report af815f4
  • read /E expansions and resolve RoleMaps in the spoken view — refs #810 #966 eval ec53b96
  • version the class ordinal in the sidecar and export PP-DocLayoutV3 to ONNX — refs #910 layout 8cfc3b9
  • count overlay heading drops behind a default-off gate — refs #919 tag eaaea43
  • emit per-gold-table pair scores and preregister the K1 crop run — refs #911 eval 1c58b38
  • read each layout region as its own crop on the SLOW path — refs #860 pipeline 6515c94
  • count OCR call outcomes on the shared VLM counter and refresh the target map parse b34bc36
  • split the contrast abstention into render-degrade and honest no-text causes quality db899d9
  • count VLM call outcomes with failover attribution and split AltSource honestly observability 212f4f4
Fehlerbehebungen (56)
  • bump the two version locations cz could not reach, and teach it to reach them release c090623
  • close the private cross-module import class and guard it mechanically scoring,sidecar acb9a1c
  • strip internal issue refs at the OpenAPI publication boundary — refs #1041 #843 #800 api 769ba87
  • drop the header ERROR on pages the tag tree declares no table on — refs #1038 #1024 scorecard 80c36c8
  • refuse WORKER_COUNT above 1 — it is per-process concurrency, not processes config 6c2c866
  • replace the SLOW fan-out's false safety claim with the measurement parse 226385f
  • stop reading a verdict out of a language tie — refs #1028 #1023 #726 quality,merge 7a5a72d
  • measure the links gap before re-freezing it — the 99 gold docs have nothing to gain eval 609ae75
  • stop the disabled visual judge from measuring its own no-op — refs #1016 #1009 #1008 observability 530f8d7
  • register the label #993 shipped without one, and lift the 10 s bucket cap — refs #1008 #1009 #1016 observability 8bce3cf
  • close the three wave gates the AAA advisory and the memory bump opened quality bb36230
  • register figure-alt-stub in the reason and tag maps quality 6e45a6e
  • detect the document language instead of stamping de unconditionally tag 9f7880c
  • serialise the sync /jobs path — PyMuPDF is not thread-safe pipeline 0b55810
  • make the measurement reproducible — PyMuPDF is not thread-safe eval 75c7f2c
  • stop emitting the RIS spacer rows the tagged PDF never had — refs #1018 gold 2854a68
  • announce nothing when a /RoleMap hop hides the carrier — refs #981 scoring 668f71f
  • stop double-counting the crop path's OCR calls — refs #972 observability 9a279c1
  • stop demanding alt text from signature-widget appearance streams — refs #970 #726 quality 1ae0134
  • bind the auto-fix credit to the seam that renders the repair — refs #1025 #970 #726 quality e23ff93
  • wire the tree-gate abstention so a check that never ran stops awarding points — refs #1001 #970 #726 scoring 29292db
  • resolve the RoleMap, narrow footnote-pairing to the spec, give the ToC check a condition that can fire — refs #1012 #990 quality 8d183a7
  • abstain the tree-gate-fed dimensions instead of scoring 100 from an absent count — refs #1001 #970 #726 scoring 70ffdba
  • distribute a table's spoken segments by cell carrier, not by position — refs #998 #977 eval 16b11c2
  • match the undetermined sentinel by substring, not equality — refs #976 review c97ed21
  • demote the overlay conformance stub in both D3 branches — refs #975 scoring 5d45dea
  • ledger the composite honesty cap as its own attribution row — refs #991 scoring 5c97d86
  • report a WCAG tree leg that never ran as NEVER_RAN — refs #970 scorecard e95b52b
  • emit the missing VLM outcomes for the alt-text no-call paths — refs #942 observability ce73241
  • put the scoring code inside the provenance stamp — refs #898 eval 0aac690
  • correct six false skip-reasons and pin a skip-count ceiling — refs #989 tests dbbb0ee
  • walk /Table elements in document order, not LIFO-reversed — refs #977 eval 4b81522
  • close the figure-kind negation in the ablation instrument — refs #982 eval 870f904
  • declare pypdfium2 and import-or-skip the real_gold gate stack — refs #965 #950 eval 393d23e
  • reconcile the alt-text accounting across dimension, counter and augment route — refs #861 scoring cf5a9e1
  • admit the narration surface to the VLM call registry — refs #772 observability 7bf5a41
  • exempt tagged documents from the word-shape demotion arm — refs #954 triage 224fbfb
  • bridge the as-is struct tree into table_teds instead of hard-skipping — refs #902 eval b785c56
  • wire the gold gates into the real_gold build path and check reader independence — refs #965 #964 eval 6513bd3
  • contain per-crop failures and bound the page wall-clock on the crop path — refs #960 #959 pipeline 7c75792
  • lift pdfjs-dist past CVE-2026-16633 in the ax spike — refs #950 deps 4061807
  • lift aiohttp and pypdf past CVE-2026-69244 and CVE-2026-71852/71870 — refs #950 deps cd7443c
  • exclude advisory dimensions from the structural-presence factor — refs #890 scoring d3228db
  • emit record_vlm_call per crop on the crop path — refs #958 observability 1a8f42a
  • thread source_lang into the redo-loop structure tree — refs #940 remediate e7543ab
  • move the gold-audit verdicts to a sidecar — manifest.jsonl is a preregistered selection seed — refs #905 eval 626e3bb
  • calibrate the table-probe matcher floor to the empty band and footnote published coverage — refs #906 eval 561b7c9
  • audit the real_gold corpus and annotate gold defects in the manifest — refs #905 eval be7dfe4
  • separate alt-text and OCR series with a bounded surface label observability 7783fa7
  • skip line-spanning texttrace spans in duplicate-text detection parse 74ffe79
  • normalize /MCR struct kids so PyMuPDF stops reading latex_ua as structureless scoring 2f32348
  • regenerate overlay fixtures without the never-painted default Helvetica test d9af784
  • stamp the fallback model into per-page backend provenance after a failover parse c24d9fb
  • harden every eval-lane open_metadata call and route reads through the src XMP readers eval 28e6ce9
  • thread the degrade ledger into the doc-title reconcile and add the doc-lang fifth reconcile report 4f1f660
  • make the STAGE-1 table renderer span-aware — the third copy #857 missed (#908) eval 703adfd
Performance-Verbesserungen (1)
  • collapse the contrast span walk to one pass per job — refs #993 #1033 quality f2c1326
Refactoring (intern) (2)
  • promote the passed-rules derivation to a public seam — refs #994 #1017 #726 report 05818a9
  • project the damping factor instead of recomputing it — refs #1010 #992 report 9c219dc
Dokumentation (34)
  • freeze the v0.14.0 snapshot ADR-028 requires before the tag openapi c375684
  • close the 0.14.0 section and regenerate the served artifacts changelog 85cee9b
  • retire the PVC blocker the runbook authorized as a normal outcome eval bb2e98a
  • record the 107 commits the 0.13.5 bump left untagged changelog 5f48c98
  • codify the inflow rules #1058 asked for, and give a veto a home that does not truncate rules 71dc477
  • separate "gate could not run" from "gate found something" — refs #1030 ci fcb281a
  • codify the measurement discipline three sessions paid for rules 0137a16
  • profile the scanned path — the quadratic is in our own output, not in fidelity — refs #1033 research ea5dff0
  • correct the 1-of-15 corroboration ratio the signature-widget fix superseded 7938f36
  • record what the provenance split measures — 33% -> 100% on raster, 0% on vector — refs #1026 #970 eval 6e34d86
  • correct the stale wiring note that claimed #1001 was unwired test 7d75041
  • cite the primary measurement behind the ~4 % scan share — refs #955 roadmap e30ddd1
  • use role terms instead of a named operator in the tree-leg measurement eval 4eb9dd5
  • neutralise the customer name and publish the capacity envelope — refs #1031 #1033 1af989c
  • fix scanned throughput in the minimum-viable row — refs #1031 eval b649d79
  • derive the concurrency cap for the sync /jobs path — refs #1031 eval bcecf30
  • de-pin a slow.py line reference the fix shifted — refs #972 observability b52d5dc
  • relabel the 94,5 % figure as a fidelity-route share, not conformance — refs #955 eval 5d26876
  • document the commit types cz actually enforces — refs #1004 rules 1ae477d
  • measure what the never-run WCAG tree leg would find on overlay/augment — refs #970 #726 eval e3af31f
  • write the metrics catalog OBS-003 has required all along — refs #944 observability d96934d
  • correct the gate count and class split that contradicted the code — refs #995 #522 #675 aavs 84b26d3
  • retire the table-axis prose that #902 and #977 made false — refs #987 #977 #902 eval 04e0e01
  • dispose of setuptools PYSEC-2026-3447 — no suppression, lift instead — refs #985 security fb3e900
  • retire the prose this session's fixes made stale — refs #940 #936 #902 #954 cecbe8a
  • measure the reflow text-layer discard class and draft the guard policy — refs #935 eval 98a5ef8
  • measure the triage threshold noise and simulate hysteresis policies — refs #954 eval 68866e4
  • measure the bulk-plus-redo double VLM spend and the cache-key dedupe feasibility — refs #936 eval ce286c6
  • replace the stale 90.4 percent with the provenanced 95.61 resweep and mark unbacked numbers — refs #955 architecture 5c1b900
  • freeze the OSS extraction landscape 2026-08 before the probe data evaporates — refs #953 #952 #951 eval 26ade78
  • draft the SR-evidence MVP decision — AC1 shipped, AC2/AC3 blocked by the ADR-016-vs-030 contradiction — refs #769 eval 4510513
  • unblock the audible-probe kappa calibration — spoken_view is structure-aware post-#925 — refs #749 eval 1d09ebd
  • measure overlay heading drops on the real corpus — repair option (a) falsified — refs #919 eval 68b2ec4
  • re-measure the augment heading delta post-#925 — denominator 17 to 32, no default promotion — refs #896 eval 742f2bb
Tests (6)
  • reset the job-store global the same way the settings global is reset api 5d32f82
  • assert the contrast_aaa delta, not the process-cumulative sum observability c76be6d
  • pin why the single-word title bar cannot be loosened where it stands — refs #1037 quality 1167024
  • measure figure-alt-present corroboration per provenance class — refs #1026 #970 eval a9e5181
  • attribute the verdict cause for the four conformant FAILED documents — refs #1024 #516 #726 eval 14eda55
  • pin the client budget to narration_timeout_s — refs #772 #599 narration c3765b6
Build-System (1)
  • lift setuptools to >=83 via a uv constraint and drop the CVE-2025-3000 ignore — refs #999 deps 8565e25
Sonstiges (1)
  • version 0.13.5 → 0.14.0 5c0ab4e

Frühere Versionen

Jede dieser Versionen ist vollständig abrufbar — mit allen Änderungen, unverkürzt. Hier steht nur der Überblick; der Link führt auf die ganze Version.