feat(converter): implement deterministic JSON to Markdown article converter (spec 005)

This commit is contained in:
2026-08-21 10:30:14 -03:00
parent 64dfd842de
commit 926a6b8cfc
58 changed files with 20138 additions and 2301 deletions
+111 -15
View File
@@ -420,9 +420,9 @@
"semantic_hash": ""
},
"requirements.txt": {
"mtime": 1787240110.13472,
"seen": 1787240516.5993943,
"ast_hash": "f5d99630fa9c93c5fbaa44814f107e70",
"mtime": 1787317345.9253972,
"seen": 1787317712.8213654,
"ast_hash": "f3f8ea2b8cc995de218d81679ec35231",
"semantic_hash": ""
},
"tests/fixtures/benchmark_24/de/contextual.md": {
@@ -654,9 +654,9 @@
"semantic_hash": ""
},
"README.md": {
"mtime": 1787274445.4631622,
"seen": 1787274455.3244681,
"ast_hash": "5270e11cfba31a235ba379effb2db0d5",
"mtime": 1787317667.2516665,
"seen": 1787317712.8207479,
"ast_hash": "73b6e2e7ff33db1b991b8470f29ee40f",
"semantic_hash": ""
},
"scripts/extract_article_contents.py": {
@@ -738,15 +738,15 @@
"semantic_hash": ""
},
"scripts/select_article_extractor.py": {
"mtime": 1787273522.903319,
"seen": 1787273548.728257,
"ast_hash": "3e6938964c7e4549051cb1637207698d",
"mtime": 1787274502.4801269,
"seen": 1787310813.8455508,
"ast_hash": "4037eda779d5fc81527d0698a8fc07d6",
"semantic_hash": ""
},
"tests/test_select_article_extractor.py": {
"mtime": 1787274189.7777488,
"seen": 1787274207.7989414,
"ast_hash": "9f91e09d47f06140b243b6f516d14c60",
"mtime": 1787274502.4801269,
"seen": 1787310813.8470025,
"ast_hash": "2cd19eb0c5204a8c22b7727e259db885",
"semantic_hash": ""
},
"docs/prd_deterministic_content_selection.md": {
@@ -792,9 +792,9 @@
"semantic_hash": ""
},
"specs/004-deterministic-content-selection/quickstart.md": {
"mtime": 1787274324.1467915,
"seen": 1787274402.0946271,
"ast_hash": "a7886ca618af43f33971213e2255b3c6",
"mtime": 1787274502.478128,
"seen": 1787310813.854652,
"ast_hash": "60453533ee75a4f0a894dca634e0c96c",
"semantic_hash": ""
},
"specs/004-deterministic-content-selection/research.md": {
@@ -814,5 +814,101 @@
"seen": 1787272611.6714194,
"ast_hash": "3a2617478f44c6400ed57088d2039f93",
"semantic_hash": ""
},
"scripts/convert_article_to_markdown.py": {
"mtime": 1787317631.1342402,
"seen": 1787317712.814934,
"ast_hash": "f2550126b7ff9de09bbbe0ae03acbbca",
"semantic_hash": ""
},
"tests/test_convert_article_to_markdown.py": {
"mtime": 1787317613.930905,
"seen": 1787317712.8166668,
"ast_hash": "fc7d1b6d08037a85cf014fa4e8c70a70",
"semantic_hash": ""
},
"docs/prd_convert_json_markdown.md": {
"mtime": 1787315400.452784,
"seen": 1787317712.8208659,
"ast_hash": "1fc73d15d4f4d5c1e74f299040b040f2",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/checklists/markdown-conversion.md": {
"mtime": 1787315812.9198053,
"seen": 1787317712.8255877,
"ast_hash": "4cc2161c66aa34dc8540c48322b6eaaa",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/checklists/requirements.md": {
"mtime": 1787315513.450848,
"seen": 1787317712.8255897,
"ast_hash": "a14c648defdfb7c2ad77601249d44a66",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/contracts/cli-contract.md": {
"mtime": 1787315656.382816,
"seen": 1787317712.8255913,
"ast_hash": "bba24a6fcd59b265d11242b4b09d2537",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/contracts/markdown-schema.md": {
"mtime": 1787315662.3060155,
"seen": 1787317712.8255925,
"ast_hash": "4dd6023205dcc49447bf3c78f0419c52",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/data-model.md": {
"mtime": 1787315648.195198,
"seen": 1787317712.8255942,
"ast_hash": "31de71b9fa43fb1b257f76ae2de33044",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/plan.md": {
"mtime": 1787315676.826685,
"seen": 1787317712.8255954,
"ast_hash": "44e3074130dadf889bf3830e6139b91a",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/quickstart.md": {
"mtime": 1787315668.269243,
"seen": 1787317712.8255966,
"ast_hash": "6086387edc574ed31202ff05eaa3fb54",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/research.md": {
"mtime": 1787315639.7204154,
"seen": 1787317712.825598,
"ast_hash": "3ffedbbf7e61245b86119f41a5f8af2d",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/spec.md": {
"mtime": 1787315504.210701,
"seen": 1787317712.825599,
"ast_hash": "9f78ac1c71853dcf4e364c66973dfcbc",
"semantic_hash": ""
},
"specs/005-convert-json-markdown/tasks.md": {
"mtime": 1787317701.507181,
"seen": 1787317712.8256,
"ast_hash": "1287da802887af5e0dd3a6a2685f5fc0",
"semantic_hash": ""
},
"tests/fixtures/markdown_conversion/valid_newspaper4k.md": {
"mtime": 1787317400.9745035,
"seen": 1787317712.8280056,
"ast_hash": "3bfb28bbde97c16635de39bbbe6fbd8b",
"semantic_hash": ""
},
"tests/fixtures/markdown_conversion/valid_readability.md": {
"mtime": 1787317419.4019263,
"seen": 1787317712.8280075,
"ast_hash": "49fdc6bedd7585eda33e2c502337e01a",
"semantic_hash": ""
},
"tests/fixtures/markdown_conversion/valid_trafilatura.md": {
"mtime": 1787317383.5058665,
"seen": 1787317712.8280091,
"ast_hash": "c63c1c39e34e08a239aa8bea3c264756",
"semantic_hash": ""
}
}