)]}'
{
  "log": [
    {
      "commit": "ffad7372df1ad6ffe4e806ae45fb2982e5f43942",
      "tree": "9d9e67c742cf7f5692a8980b9512488cafee7c38",
      "parents": [
        "b155ae276929b458d3cab4cf0a708e09144a8720"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jun 19 20:36:34 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jun 19 20:36:34 2026 +0200"
      },
      "message": "Fix worker-pool crash on tokens with whitespace surface forms\n\nA token whose FORM is whitespace (e.g. a lone space) collapsed the\ntab-separated CoNLL-U line under str.split(), leaving 9 fields instead\nof 10 and raising IndexError on the score column in CoNLLUP_Token. The\nexception was uncaught and killed the whole streaming process, so\nkorapxmltool\u0027s worker pool saw a broken pipe, re-queued the in-flight\ndocuments, and re-crashed on the same poisoned input until every worker\ndied -- observed as running threads dropping off one-by-one after tens\nof thousands of texts.\n\nCoNLLUP_Token now parses on the tab delimiter (preserving whitespace\nFORM columns), falls back to whitespace splitting for space-delimited\ninput, and pads short lines to the 10 CoNLL-U columns. As\ndefense-in-depth, a parse/annotation failure for a single document is\nnow logged and skipped while still echoing its # eot/# eof marker, so\none bad document can no longer take down the run.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I99b96a1ce21e23c1ebb3775afec4c3014d4e9253\n"
    },
    {
      "commit": "2d421910c2bebe7239c0bd011631ba3a55d62008",
      "tree": "b8cced9b969285d1db4dc91cbdd6e7ce594132fd",
      "parents": [
        "800d9b7b9cc945dd7d4083bf775be1bbf0cbe49c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:25:33 2026 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jun 10 07:25:33 2026 +0200"
      },
      "message": "Fix worker-pool streaming deadlock on large corpora\n\nAnnotate and flush per document instead of buffering 20000 sentences with\nno flush. parse_spacy_pipe.py now treats korapxmltool\u0027s \u0027# eot\u0027/\u0027# eof\u0027\nlines as document delimiters (rather than swallowing them as CoNLL-U\ncomments), emits the matching marker after each document, and flushes\nstdout. This lets korapxmltool\u0027s AnnotationWorkerPool deliver each result\nand release its bounded in-flight buffer slot.\n\nPreviously nothing was emitted until the process exited at stdin EOF, so\nthe in-flight buffer filled and the producer blocked in\nbufferedTaskPermits.acquire while the parser blocked reading stdin for a\nfull chunk - a deadlock with idle CPU and zero progress that only appeared\non corpora with many small documents (small ones fit inside the buffer).\n\nInputs without protocol markers (a CoNLL-U file piped in directly) are\nstill read in SPACY_CHUNK_SIZE-bounded blocks and now stream their output.\n\nVerified end-to-end with \u0027korapxmltool -P spacy\u0027 on zca24.zip: progress\nstreams 0-\u003e95 to completion, morpho/dependency output is correct, and no\nmarkers leak into the annotations.\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\nChange-Id: I07d18c54e6e3238758b2c4a885ceabd428ec3f82\n"
    },
    {
      "commit": "9baa27a69f78d35f55b51fd41f84458147213ae3",
      "tree": "70769b1dc8fa1e791a9e8b24cd9d466d1d04a93d",
      "parents": [
        "68a1813d2c4472d9e9372b16e9e10d5be85f2c60"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:32:16 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 15:32:16 2025 +0100"
      },
      "message": "Shrink docker size by avoiding chown\n\nChange-Id: I778c3993a37deef1d2eaa3d2b401d796ce8662f7\n"
    },
    {
      "commit": "8604485f28d54fef4e34fde53f0bd08161901722",
      "tree": "47796f9dd1e45a9b88a2dc493fa16a1c6b8b273e",
      "parents": [],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:19:03 2025 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sat Nov 29 10:21:33 2025 +0100"
      },
      "message": "Initial import\n\nChange-Id: I6315233ee1bfbdf7cc985cb336d0df7a10274189\n"
    }
  ]
}
