logseq-matryca-parser 1.7.0__tar.gz → 1.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/CHANGELOG.md +37 -1
  2. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/PKG-INFO +18 -3
  3. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/README.md +17 -2
  4. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/SECURITY.md +2 -2
  5. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/ARCHITECTURE.md +1 -1
  6. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/CLEAN_CODE_ARCHITECTURE.md +1 -1
  7. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/COOKBOOK.md +8 -0
  8. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/RELEASE_PROCESS.md +25 -3
  9. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +84 -12
  10. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/log.md +32 -3
  11. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +32 -10
  12. logseq_matryca_parser-1.7.1/examples/run_synapse_rag.py +78 -0
  13. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/metrics/index.json +1 -1
  14. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/metrics/quarters/2026-Q3.json +175 -0
  15. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/pyproject.toml +2 -1
  16. logseq_matryca_parser-1.7.1/release-bundle/RELEASE_NOTES.md +28 -0
  17. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/check_release_contract.py +32 -0
  18. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/_version.py +1 -1
  19. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_check_release_contract.py +45 -0
  20. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_check_wheel_contract.py +1 -1
  21. logseq_matryca_parser-1.7.1/tests/test_synapse_example.py +42 -0
  22. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/uv.lock +92 -89
  23. logseq_matryca_parser-1.7.0/release-bundle/RELEASE_NOTES.md +0 -62
  24. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.cursorignore +0 -0
  25. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.cursorrules +0 -0
  26. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/CODEOWNERS +0 -0
  27. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/FUNDING.yml +0 -0
  28. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  29. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
  30. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  31. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  32. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  33. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/clean_arch_issue_numbers.txt +0 -0
  34. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/dependabot.yml +0 -0
  35. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/labels.yml +0 -0
  36. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/scripts/create_clean_arch_issues.sh +0 -0
  37. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/scripts/create_good_first_issues.sh +0 -0
  38. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/workflows/ci.yml +0 -0
  39. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/workflows/daily-metrics.yml +0 -0
  40. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.github/workflows/pypi_publish.yml +0 -0
  41. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.gitignore +0 -0
  42. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.pre-commit-config.yaml +0 -0
  43. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/.repomixignore +0 -0
  44. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/AGENTS.md +0 -0
  45. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/CLAUDE.md +0 -0
  46. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/CODE_OF_CONDUCT.md +0 -0
  47. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/CONTRIBUTING.md +0 -0
  48. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/LICENSE +0 -0
  49. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/Makefile +0 -0
  50. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/NOTICE +0 -0
  51. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/claude-skill-logseq-read/SKILL.md +0 -0
  52. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
  53. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/BUG_HUNT_REPORT.md +0 -0
  54. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/CODEQL.md +0 -0
  55. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/DOCUMENTATION_SYSTEM.md +0 -0
  56. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/GOOD_FIRST_ISSUES.md +0 -0
  57. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/README.md +0 -0
  58. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
  59. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/decisions/index.md +0 -0
  60. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
  61. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
  62. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
  63. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
  64. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
  65. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
  66. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/README.md +0 -0
  67. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/design-docs/REFERENCE_SPEC.md +0 -0
  68. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/error_log.md +0 -0
  69. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/index.md +0 -0
  70. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
  71. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
  72. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/logseq_ast_primer.md +0 -0
  73. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/maintained.toml +0 -0
  74. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
  75. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
  76. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
  77. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/quality/README.md +0 -0
  78. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/reference/API_STABILITY.md +0 -0
  79. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/reference/DIAGNOSTICS.md +0 -0
  80. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
  81. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/reference/index.md +0 -0
  82. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/rfc/OLLAMA_RAG.md +0 -0
  83. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
  84. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
  85. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
  86. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
  87. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
  88. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
  89. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
  90. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
  91. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
  92. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
  93. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
  94. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
  95. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/examples/demo_logseq_journal.md +0 -0
  96. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/examples/run_demo.py +0 -0
  97. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/legacy/local_digestor.py +0 -0
  98. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/lib/bindings/utils.js +0 -0
  99. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/lib/tom-select/tom-select.complete.min.js +0 -0
  100. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/lib/tom-select/tom-select.css +0 -0
  101. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/lib/vis-9.1.2/vis-network.css +0 -0
  102. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/lib/vis-9.1.2/vis-network.min.js +0 -0
  103. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/metrics/quarters/2026-Q2.json +0 -0
  104. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/repomix-output-parser.xml +0 -0
  105. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/__init__.py +0 -0
  106. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/archive_repository_metrics.py +0 -0
  107. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/check_documentation.py +0 -0
  108. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/check_vendor_free_docs.sh +0 -0
  109. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/check_wheel_contract.py +0 -0
  110. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/debug_pre_release.py +0 -0
  111. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/scripts/extract_changelog.py +0 -0
  112. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/.gitignore +0 -0
  113. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/NOTICE +0 -0
  114. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/__init__.py +0 -0
  115. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/__main__.py +0 -0
  116. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/agent_press.py +0 -0
  117. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/agent_writer.py +0 -0
  118. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/diagnostics.py +0 -0
  119. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/exceptions.py +0 -0
  120. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/forge.py +0 -0
  121. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/graph.py +0 -0
  122. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/kinetic.py +0 -0
  123. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/kinetic_commands.py +0 -0
  124. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/kinetic_export.py +0 -0
  125. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/lens.py +0 -0
  126. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/logos_core.py +0 -0
  127. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/logos_parser.py +0 -0
  128. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
  129. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/logseq_paths.py +0 -0
  130. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/py.typed +0 -0
  131. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/pyproject.toml +0 -0
  132. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/synapse.py +0 -0
  133. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/src/logseq_matryca_parser/synapse_embed.py +0 -0
  134. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_agent_press.py +0 -0
  135. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_agent_writer.py +0 -0
  136. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_archive_repository_metrics.py +0 -0
  137. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_check_documentation.py +0 -0
  138. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_diagnostics.py +0 -0
  139. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_exceptions.py +0 -0
  140. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_extract_changelog.py +0 -0
  141. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_forge.py +0 -0
  142. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_graph.py +0 -0
  143. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_graph_collisions.py +0 -0
  144. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_kinetic.py +0 -0
  145. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_layer_boundary.py +0 -0
  146. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_lens.py +0 -0
  147. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_logos_parser.py +0 -0
  148. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_logseq_markdown.py +0 -0
  149. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_logseq_paths.py +0 -0
  150. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_package_version.py +0 -0
  151. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_parser_deep_refresh.py +0 -0
  152. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_pre_release_roundtrip.py +0 -0
  153. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_public_api_contract.py +0 -0
  154. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_quality_gate_contract.py +0 -0
  155. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_synapse.py +0 -0
  156. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/test_writer_security.py +0 -0
  157. {logseq_matryca_parser-1.7.0 → logseq_matryca_parser-1.7.1}/tests/typing_samples/public_api.py +0 -0
@@ -7,6 +7,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.7.1] - 2026-08-08
11
+
12
+ Patch release correcting the v1.7.0 SYNAPSE example promise, hardening release
13
+ notes validation, and refreshing vulnerable optional-development dependencies.
14
+ **No intentional breaking changes** to package APIs or CLI behavior.
15
+
16
+ ### Added
17
+
18
+ - **Runnable SYNAPSE RAG example** —
19
+ [`examples/run_synapse_rag.py`](examples/run_synapse_rag.py) exercises the
20
+ LangChain, LlamaIndex, and context-enriched conversion paths against an
21
+ offline temporary Logseq graph, including verified expansion of a resolved
22
+ page embed ([#90](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/90)).
23
+
24
+ ### Changed
25
+
26
+ - **Release contract** — release-note validation now rejects missing or
27
+ repository-escaping local Markdown links, preventing a tag from promising an
28
+ artifact that is not present in its source tree.
29
+ - **Release documentation** — the v1.7.0 record and public release notes carry
30
+ a dated erratum for the omitted SYNAPSE example while preserving the
31
+ immutable v1.7.0 tag, artifacts, attestations, and checksums.
32
+
33
+ ### Security
34
+
35
+ - **Optional AI/development lock** — constrained `aiohttp>=3.14.3` and
36
+ `setuptools>=83.0.0`, resolving the four Dependabot advisories open against
37
+ the v1.7.0 lock. Neither dependency is part of the base package runtime.
38
+
10
39
  ## [1.7.0] - 2026-08-08
11
40
 
12
41
  Minor release — structured diagnostics, deterministic title-collision handling,
@@ -35,7 +64,6 @@ to stable package exports or default CLI behavior.
35
64
  renders all findings with `scan --diagnostics`
36
65
  ([#102](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/102)).
37
66
  - **Documentation system guide** — [`docs/DOCUMENTATION_SYSTEM.md`](docs/DOCUMENTATION_SYSTEM.md) explains source authority, maintained versus historical surfaces, metadata, freshness, validation, the Matryca Knowledge projection workflow, and the repository's documentation evolution.
38
- - **Synapse RAG example** — [`examples/run_synapse_rag.py`](examples/run_synapse_rag.py) demonstrates all four `SynapseAdapter` methods (`to_langchain_documents`, `to_llamaindex_nodes`, `to_context_enriched_chunks`, `_expand_macros_and_embeds`) plus table-driven embed expansion edge cases.
39
67
  - **Embed expansion edge-case tests** — `TestEmbedExpansionEdgeCases` in [`tests/test_synapse.py`](tests/test_synapse.py) covers cycles, missing targets, and happy-path for both `{{embed [[Page]]}}` and `{{embed ((uuid))}}` (closes [#71](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/71)).
40
68
  - **Contributor onboarding (wave 4)** — ten new Good First Issues (GFI-39…GFI-48) filed on GitHub ([#88](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/88)–[#97](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/97)); index updated in [`docs/GOOD_FIRST_ISSUES.md`](docs/GOOD_FIRST_ISSUES.md).
41
69
 
@@ -70,6 +98,14 @@ to stable package exports or default CLI behavior.
70
98
  is created, and every consumer re-verifies the SHA-256 manifest for the exact
71
99
  distributions produced by the single build job.
72
100
 
101
+ ### Documentation erratum (2026-08-08)
102
+
103
+ - The initial GitHub Release notes incorrectly listed
104
+ `examples/run_synapse_rag.py`. The file is not part of v1.7.0 and
105
+ [#90](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/90)
106
+ remains open. This documentation-only correction does not change the tag,
107
+ distributions, attestations, or published SHA-256 digests.
108
+
73
109
  ## [1.6.0] - 2026-07-02
74
110
 
75
111
  Minor release — Clean Architecture v1 structural slices (SRP/OCP), new public graph APIs, layer-boundary CI, and documentation SSOT. **No intentional breaking changes** to existing `matryca-parse` CLI behavior or stable package exports.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logseq-matryca-parser
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: The Logos Protocol: Deterministic Logseq AST parsing for Matryca.ai.
5
5
  Project-URL: Homepage, https://github.com/MarcoPorcellato/logseq-matryca-parser
6
6
  Project-URL: Repository, https://github.com/MarcoPorcellato/logseq-matryca-parser
@@ -53,7 +53,7 @@ Description-Content-Type: text/markdown
53
53
  [![Status: Stable](https://img.shields.io/badge/Status-Stable-22c55e.svg?style=flat-square)](#)
54
54
  ![Origin: Matryca.ai](https://img.shields.io/badge/Origin-Matryca.ai-gold?style=for-the-badge)
55
55
 
56
- **v1.7.0** — structured diagnostics, deterministic collision handling, deep parser correctness, typed APIs, vault-bound writes, governed documentation, and verified immutable release artifacts. See the [CHANGELOG](CHANGELOG.md) and [release process](docs/RELEASE_PROCESS.md).
56
+ **v1.7.1** — runnable offline SYNAPSE RAG integration, stricter release-note contracts, and security-refresh constraints for optional AI/development dependencies. See the [CHANGELOG](CHANGELOG.md) and [release process](docs/RELEASE_PROCESS.md).
57
57
 
58
58
  > *Turning a forest of local plain-text files into a unified semantic powerhouse.*
59
59
 
@@ -147,6 +147,21 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
147
147
 
148
148
  ---
149
149
 
150
+ ## ⚡ Release highlights (v1.7.1)
151
+
152
+ Patch release — completes the promised SYNAPSE example and closes the security
153
+ alerts found during v1.7.0 post-release verification. **No intentional breaking
154
+ changes** to package APIs or CLI behavior.
155
+
156
+ | Area | Change |
157
+ | :--- | :--- |
158
+ | **SYNAPSE RAG** | New offline [`examples/run_synapse_rag.py`](examples/run_synapse_rag.py) exercises LangChain, LlamaIndex, context enrichment, and resolved page-embed expansion. |
159
+ | **Release integrity** | Release notes now fail validation when a repository-local link is missing or escapes the source tree. |
160
+ | **Dependency security** | Optional AI/development resolution constrains `aiohttp>=3.14.3` and `setuptools>=83.0.0`; base runtime dependencies are unchanged. |
161
+ | **Test suite** | **532** pytest cases with **91.90%** coverage. |
162
+
163
+ ---
164
+
150
165
  ## ⚡ Release highlights (v1.7.0)
151
166
 
152
167
  Minor release — repository-wide correctness, safety, API, documentation, and release-engineering hardening. **No intentional breaking changes** to default CLI behavior or stable package exports.
@@ -412,7 +427,7 @@ Marker syntax (`[#A]`, `SCHEDULED: <...>`, `DEADLINE: <...>`) is stripped from `
412
427
  ## 🛠️ Quickstart
413
428
 
414
429
  ```bash
415
- # Install from PyPI (latest: v1.7.0)
430
+ # Install from PyPI (latest: v1.7.1)
416
431
  uv pip install logseq-matryca-parser
417
432
 
418
433
  # Optional: filesystem watcher for live incremental graph updates
@@ -12,7 +12,7 @@
12
12
  [![Status: Stable](https://img.shields.io/badge/Status-Stable-22c55e.svg?style=flat-square)](#)
13
13
  ![Origin: Matryca.ai](https://img.shields.io/badge/Origin-Matryca.ai-gold?style=for-the-badge)
14
14
 
15
- **v1.7.0** — structured diagnostics, deterministic collision handling, deep parser correctness, typed APIs, vault-bound writes, governed documentation, and verified immutable release artifacts. See the [CHANGELOG](CHANGELOG.md) and [release process](docs/RELEASE_PROCESS.md).
15
+ **v1.7.1** — runnable offline SYNAPSE RAG integration, stricter release-note contracts, and security-refresh constraints for optional AI/development dependencies. See the [CHANGELOG](CHANGELOG.md) and [release process](docs/RELEASE_PROCESS.md).
16
16
 
17
17
  > *Turning a forest of local plain-text files into a unified semantic powerhouse.*
18
18
 
@@ -106,6 +106,21 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
106
106
 
107
107
  ---
108
108
 
109
+ ## ⚡ Release highlights (v1.7.1)
110
+
111
+ Patch release — completes the promised SYNAPSE example and closes the security
112
+ alerts found during v1.7.0 post-release verification. **No intentional breaking
113
+ changes** to package APIs or CLI behavior.
114
+
115
+ | Area | Change |
116
+ | :--- | :--- |
117
+ | **SYNAPSE RAG** | New offline [`examples/run_synapse_rag.py`](examples/run_synapse_rag.py) exercises LangChain, LlamaIndex, context enrichment, and resolved page-embed expansion. |
118
+ | **Release integrity** | Release notes now fail validation when a repository-local link is missing or escapes the source tree. |
119
+ | **Dependency security** | Optional AI/development resolution constrains `aiohttp>=3.14.3` and `setuptools>=83.0.0`; base runtime dependencies are unchanged. |
120
+ | **Test suite** | **532** pytest cases with **91.90%** coverage. |
121
+
122
+ ---
123
+
109
124
  ## ⚡ Release highlights (v1.7.0)
110
125
 
111
126
  Minor release — repository-wide correctness, safety, API, documentation, and release-engineering hardening. **No intentional breaking changes** to default CLI behavior or stable package exports.
@@ -371,7 +386,7 @@ Marker syntax (`[#A]`, `SCHEDULED: <...>`, `DEADLINE: <...>`) is stripped from `
371
386
  ## 🛠️ Quickstart
372
387
 
373
388
  ```bash
374
- # Install from PyPI (latest: v1.7.0)
389
+ # Install from PyPI (latest: v1.7.1)
375
390
  uv pip install logseq-matryca-parser
376
391
 
377
392
  # Optional: filesystem watcher for live incremental graph updates
@@ -6,8 +6,8 @@ Security fixes are provided **only for the latest released version** on [PyPI](h
6
6
 
7
7
  | Version | Supported |
8
8
  | ------- | --------- |
9
- | **1.7.0** (latest) | Yes |
10
- | 1.6.0 and older | No |
9
+ | **1.7.1** (latest) | Yes |
10
+ | 1.7.0 and older | No |
11
11
 
12
12
  We recommend always running the current release and upgrading promptly when a security advisory is published.
13
13
 
@@ -608,7 +608,7 @@ Recursive and character-budget chunkers assume **approximately flat prose**. Log
608
608
  | [`index.md`](index.md) | Canonical maintained knowledge-bundle entry point |
609
609
  | [`design-docs/README.md`](design-docs/README.md) | Warning before using historical DDD blueprints |
610
610
 
611
- ### Quality gate (v1.7.0)
611
+ ### Quality gate (v1.7.1)
612
612
 
613
613
  Local and CI parity: `uv sync --all-extras` → `make lint` → `make check` →
614
614
  `make test` → `make vendor-name-check` → `make docs-check`. These targets are
@@ -19,7 +19,7 @@ superseded_by: null
19
19
 
20
20
  # Clean Code & Clean Architecture — Logseq Matryca Parser
21
21
 
22
- **Version:** documents **v1.7.0** maintainer contracts (v1 structural backlog complete)
22
+ **Version:** documents **v1.7.1** maintainer contracts (v1 structural backlog complete)
23
23
  **Audience:** contributors and Cursor agents patching `src/logseq_matryca_parser/`
24
24
  **Companion:** [`ARCHITECTURE.md`](ARCHITECTURE.md) (LOGOS domain contract) · [`BUG_HUNT_REPORT.md`](BUG_HUNT_REPORT.md) (audit evidence) · [`CONTRIBUTING.md`](../CONTRIBUTING.md)
25
25
 
@@ -37,6 +37,14 @@ matryca-parse export /path/to/graph output --format langchain
37
37
 
38
38
  Requires optional `[ai]` extra (`uv sync --extra ai`).
39
39
 
40
+ For a complete offline example that exercises the LangChain, LlamaIndex, and
41
+ context-enriched exports—including a resolved Logseq page embed—run
42
+ [`examples/run_synapse_rag.py`](../examples/run_synapse_rag.py):
43
+
44
+ ```bash
45
+ uv run python examples/run_synapse_rag.py
46
+ ```
47
+
40
48
  ---
41
49
 
42
50
  ## Recipe 2 — Load vault + fluent graph query
@@ -39,6 +39,8 @@ version; use `vX.Y.Z` for the git tag).
39
39
  - [ ] Leave an empty `## [Unreleased]` section at the top
40
40
  - [ ] Set `__version__ = "X.Y.Z"` in `src/logseq_matryca_parser/_version.py`; Hatchling derives package metadata from this single source
41
41
  - [ ] Update `README.md`, `SECURITY.md`, and contributor-facing current-version references
42
+ - [ ] Verify every file, command, issue disposition, and shipped capability
43
+ named in the versioned changelog against the exact release commit
42
44
  - [ ] Run `make all` (Ruff, Mypy, documentation checks, and Pytest)
43
45
  - [ ] Run `python -m scripts.check_release_contract --tag vX.Y.Z`
44
46
  - [ ] Build wheel and sdist once locally, run `python scripts/check_wheel_contract.py path/to/wheel.whl`, `twine check`, and record SHA-256 digests
@@ -52,8 +54,10 @@ python scripts/extract_changelog.py vX.Y.Z | less
52
54
  python -m scripts.check_release_contract --tag vX.Y.Z
53
55
  ```
54
56
 
55
- The first command shows exactly the section that will appear on GitHub. The
56
- second rejects a malformed tag, a tag/source/runtime mismatch, non-empty
57
+ The first command shows exactly the section that will appear on GitHub. Review
58
+ every file link and shipped claim against the exact commit that will receive
59
+ the tag; a non-empty section can still contain a factual mistake. The second
60
+ command rejects a malformed tag, a tag/source/runtime mismatch, non-empty
57
61
  `[Unreleased]`, a missing versioned section, or release notes without bullets.
58
62
 
59
63
  ### 3. Commit, tag, push
@@ -95,6 +99,23 @@ Do not rebuild or replace a published version. Inspect the failed job first:
95
99
 
96
100
  PyPI cannot be re-published for the same version; use a patch bump if the wheel upload failed.
97
101
 
102
+ #### Post-publication documentation correction
103
+
104
+ If the distributions are correct but the curated notes contain a factual
105
+ documentation error:
106
+
107
+ 1. Do not move the tag, rebuild the distributions, or replace PyPI files.
108
+ 2. Verify the actual tagged tree and published package before deciding the
109
+ correction scope.
110
+ 3. Correct `CHANGELOG.md` on `main` with a dated erratum that states whether
111
+ artifact bytes, attestations, and digests are unchanged.
112
+ 4. Update the GitHub Release notes to the corrected versioned changelog text.
113
+ 5. Keep any undelivered issue open and record the correction in
114
+ [`docs/log.md`](log.md).
115
+
116
+ Use a new patch release instead when runtime behavior or package contents — not
117
+ only explanatory text — are wrong.
118
+
98
119
  ---
99
120
 
100
121
  ## Troubleshooting
@@ -103,7 +124,8 @@ PyPI cannot be re-published for the same version; use a patch bump if the wheel
103
124
  |---------|-----|
104
125
  | Tag on GitHub but no **Release** page | Confirm whether PyPI succeeded; recover only from the checksummed artifact of that exact workflow run. |
105
126
  | PyPI version already exists | Bump patch version; never re-use a published version. |
106
- | Notes look wrong | Re-run locally: `python scripts/extract_changelog.py vX.Y.Z` and compare to `CHANGELOG.md`. |
127
+ | Notes look wrong before publication | Re-run locally: `python scripts/extract_changelog.py vX.Y.Z`, compare to `CHANGELOG.md`, and verify every named file and capability against the tag candidate. |
128
+ | Notes are factually wrong after publication | Preserve the tag and artifacts; follow the documentation-correction procedure above and keep undelivered issues open. |
107
129
  | CI fails on tests | Run `make all` locally before tagging. |
108
130
  | Tag/version mismatch | Run `python -m scripts.check_release_contract --tag vX.Y.Z`; align `_version.py`, runtime metadata, and changelog before creating a new tag. |
109
131
  | Hash verification fails | Stop. Do not publish or attach the bundle; create a clean patch release after diagnosis. |
@@ -8,9 +8,9 @@ audience: maintainers
8
8
  owner: logseq-matryca-parser
9
9
  authority: source_repository
10
10
  execution_mode: reviewed
11
- last_verified: 2026-08-07
12
- verified: 2026-08-07
13
- stale_after: 2026-11-04
11
+ last_verified: 2026-08-08
12
+ verified: 2026-08-08
13
+ stale_after: 2026-11-06
14
14
  okf_profile: matryca_okf_inspired_quality
15
15
  okf_spec_version: null
16
16
  source_commit: 8e90b44
@@ -318,11 +318,18 @@ and protects the target/workflow contract with focused tests. A repository-wide
318
318
 
319
319
  ### P1.6 — Release artifacts not built once
320
320
 
321
- **Status:** confirmed; covered by #105.
321
+ **Status:** resolved by #105, PR #123, and v1.7.0 on 2026-08-08.
322
322
 
323
- Pre-flight, PyPI build, and GitHub release do not necessarily consume the same immutable wheel/sdist. Workflows use movable tags and the `nltk` VCS override is tag-based instead of commit-based.
323
+ At the audit baseline, pre-flight, PyPI build, and GitHub release did not prove
324
+ that they consumed the same immutable wheel/sdist, and workflow dependencies
325
+ used movable tags. The v1.7.0 release graph now builds once, records and
326
+ re-verifies SHA-256, publishes the exact files through PyPI OIDC, and creates
327
+ the GitHub Release only after PyPI succeeds. Every external action is pinned to
328
+ a reviewed full commit SHA.
324
329
 
325
- **Action:** build once, checksum, publish attested artifacts, release exact bytes, and align tags, versions, and changelog entries.
330
+ **Evidence:** PR #123, release run 31237286005, public PyPI/GitHub hashes and
331
+ provenance, and the execution record in section 17. #124 tracks the upstream
332
+ Node.js runtime annotation without weakening this resolved lineage.
326
333
 
327
334
  ### P2 — Strategic debt valid but not as urgent as current findings
328
335
 
@@ -538,7 +545,8 @@ originally stacked on feature branches.
538
545
 
539
546
  ### Wave 4 — Release confidence
540
547
 
541
- - #105: build once / publish exact bytes;
548
+ - #105: completed in v1.7.0 — build once / publish exact bytes;
549
+ - #124: wait for official Node.js 24 artifact-action manifests, then repin;
542
550
  - pin actions by SHA;
543
551
  - pin VCS dependency commits;
544
552
  - install typed wheel in clean environment, verify `RECORD` and checksum;
@@ -656,7 +664,8 @@ FILE_URI_RESULT /private/etc/passwd
656
664
  ## 14. Limits and non-authoritative claims
657
665
 
658
666
  - No benchmark was run against a real or 10k-page vault.
659
- - No public release was qualified and no clean wheel installation was verified.
667
+ - At the 2026-08-06 baseline, no public release was qualified and no clean wheel
668
+ installation was verified. Section 17 records the v1.7.0 resolution.
660
669
  - The follow-up phase opened PR #112, created issue #113, updated impacted issues, and closed only completed/duplicate entries in the reconciliation log. Milestones, branch protection, and remote workflows were not changed.
661
670
  - The study does not prove complete compatibility with all Logseq versions.
662
671
  - The symlink probe demonstrates macOS/POSIX behavior; the policy must include Windows matrix coverage.
@@ -720,7 +729,70 @@ every merged tranche reported seven passes and zero failures.
720
729
  federation still requires final checks on the resulting merged `main`.
721
730
 
722
731
  The unresolved roadmap is intentionally not folded into this stack: #103 and
723
- #104 are the next correctness foundations; #105 and #111 remain release and
724
- measurement work; #108 remains blocked on the corpus and benchmarks. Product
725
- RFCs and contributor issues retain their existing dispositions in the issue
726
- reconciliation ledger.
732
+ #104 are the next correctness foundations; #111 remains measurement work; #108
733
+ remains blocked on the corpus and benchmarks. #105 is completed by the release
734
+ record below. Product RFCs and contributor issues retain their existing
735
+ dispositions in the issue reconciliation ledger.
736
+
737
+ ## 17. v1.7.0 release execution record — 2026-08-08
738
+
739
+ [PR #123](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/123)
740
+ prepared the SemVer-minor release and squash merged as `af45c1b3`. Fourteen PR
741
+ checks passed; fresh `main` CI and CodeQL also passed on that exact commit.
742
+ Tag `v1.7.0` points to `af45c1b3e75dfc32f42cfede5083f90aec8b96ce`.
743
+
744
+ The ordered [Release run](https://github.com/MarcoPorcellato/logseq-matryca-parser/actions/runs/31237286005)
745
+ completed every job:
746
+
747
+ 1. Python 3.12 and 3.13 pre-flight ran dependency audit, `make all`, and clean
748
+ checkout verification.
749
+ 2. One build job validated tag/source/runtime/changelog, built wheel and sdist,
750
+ ran wheel and Twine checks, recorded SHA-256, and uploaded one immutable
751
+ bundle.
752
+ 3. PyPI downloaded and verified that bundle, then published it through trusted
753
+ publishing with OIDC attestations.
754
+ 4. The GitHub Release ran only after PyPI succeeded, re-verified the same
755
+ manifest, and attached the same wheel, sdist, and `SHA256SUMS`.
756
+
757
+ Public verification matched all three digest surfaces:
758
+
759
+ | Distribution | SHA-256 |
760
+ |---|---|
761
+ | `logseq_matryca_parser-1.7.0-py3-none-any.whl` | `6624b59742206ad9c4cf68dd00686f0995861ebc304f9241d05b5a3d047cf354` |
762
+ | `logseq_matryca_parser-1.7.0.tar.gz` | `57e44dd90cbc7aa43b7fb47462fdddfe4d8759a45fd6c268250cfa1356a36f62` |
763
+
764
+ PyPI exposes provenance for both files. A direct PyPI install reported metadata
765
+ version `1.7.0`; reinstalling the byte-identical published wheel into the
766
+ qualified dependency environment produced runtime version `1.7.0`, imported
767
+ from `site-packages`, and rendered `matryca-parse --help` successfully. #105 is
768
+ closed with this evidence.
769
+
770
+ The initial release notes incorrectly listed `examples/run_synapse_rag.py`,
771
+ which is absent from the tag; #90 therefore remains open. The correction is a
772
+ dated changelog and GitHub Release erratum only: tag, distributions,
773
+ attestations, and digests remain unchanged. The only workflow annotations were
774
+ upstream Node.js 20 deprecation warnings; #124 tracks migration when official
775
+ Node.js 24 artifact-action manifests become available.
776
+
777
+ ## 18. v1.7.1 corrective release candidate — 2026-08-08
778
+
779
+ Post-release verification of v1.7.0 found one promised repository example was
780
+ absent and four Dependabot alerts affected optional AI/development lock entries.
781
+ The v1.7.1 candidate addresses those findings without changing the base runtime
782
+ dependency set or stable package APIs:
783
+
784
+ 1. `examples/run_synapse_rag.py` runs offline against a temporary Logseq graph,
785
+ exercises all three public SYNAPSE conversion paths, and proves resolved
786
+ page-embed expansion; a regression test and Cookbook link protect it.
787
+ 2. The release-note contract rejects missing and repository-escaping local
788
+ links, carrying forward the post-v1.7.0 correction gate.
789
+ 3. The lock constrains `aiohttp>=3.14.3` and `setuptools>=83.0.0`; local base and
790
+ optional-AI dependency audits report no known vulnerabilities (the pinned
791
+ NLTK VCS requirement is reported as not version-auditable).
792
+ 4. The isolated candidate environment passes Ruff, Mypy, maintained-document
793
+ validation, the terminology gate, 532 tests, 91.90% coverage, the release
794
+ and wheel contracts, Twine checks, and zero import cycles.
795
+
796
+ This section records a qualified candidate, not a completed publication. Final
797
+ tag, workflow, checksums, provenance, installation, and issue-closure evidence
798
+ must replace that status only after public verification.
@@ -8,9 +8,9 @@ audience: maintainers
8
8
  owner: logseq-matryca-parser
9
9
  authority: source_repository
10
10
  execution_mode: reviewed
11
- last_verified: 2026-08-07
12
- verified: 2026-08-07
13
- stale_after: 2027-02-02
11
+ last_verified: 2026-08-08
12
+ verified: 2026-08-08
13
+ stale_after: 2027-02-04
14
14
  okf_profile: matryca_okf_inspired_quality
15
15
  okf_spec_version: null
16
16
  supersedes: null
@@ -19,6 +19,35 @@ superseded_by: null
19
19
 
20
20
  # Documentation evolution log
21
21
 
22
+ ## 2026-08-08
23
+
24
+ - Prepared the v1.7.1 patch candidate to deliver the previously omitted
25
+ `examples/run_synapse_rag.py`, validate its three public SYNAPSE conversion
26
+ paths and resolved page embed, and constrain the optional AI/development lock
27
+ to `aiohttp>=3.14.3` and `setuptools>=83.0.0`. Publication and issue closure
28
+ remain contingent on merged CI, tag workflow, and public artifact checks.
29
+ - Merged [PR #123](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/123)
30
+ and published the SemVer-minor v1.7.0 release from
31
+ `main@af45c1b3e75dfc32f42cfede5083f90aec8b96ce`.
32
+ - Verified the complete ordered release run: Python 3.12/3.13 pre-flight,
33
+ dependency audit, non-mutating quality gate, one wheel/sdist build, wheel and
34
+ Twine contracts, SHA-256 manifest, PyPI trusted publication with OIDC
35
+ attestations, and GitHub Release creation from the same bundle.
36
+ - Reconciled GitHub, PyPI, and local verification. Wheel SHA-256 is
37
+ `6624b59742206ad9c4cf68dd00686f0995861ebc304f9241d05b5a3d047cf354`;
38
+ sdist SHA-256 is
39
+ `57e44dd90cbc7aa43b7fb47462fdddfe4d8759a45fd6c268250cfa1356a36f62`.
40
+ PyPI provenance exists for both files; direct installation, runtime metadata,
41
+ package import, and CLI help report v1.7.0 successfully.
42
+ - Closed #105 with public evidence and opened
43
+ [#124](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/124)
44
+ for the upstream Node.js 20 artifact-action annotations. Current official
45
+ releases still declare `node20`, so no unreviewed workaround was introduced.
46
+ - Corrected a factual release-note error: `examples/run_synapse_rag.py` is not
47
+ present in v1.7.0, so #90 remains open. Added a dated changelog erratum and a
48
+ post-publication correction procedure; tag, artifacts, attestations, and
49
+ digests remain unchanged.
50
+
22
51
  ## 2026-08-07
23
52
 
24
53
  - Prepared [PR #122](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/122)
@@ -8,9 +8,9 @@ audience: maintainers
8
8
  owner: logseq-matryca-parser
9
9
  authority: source_repository
10
10
  execution_mode: reviewed
11
- last_verified: 2026-08-07
12
- verified: 2026-08-07
13
- stale_after: 2026-09-05
11
+ last_verified: 2026-08-08
12
+ verified: 2026-08-08
13
+ stale_after: 2026-09-07
14
14
  okf_profile: matryca_okf_inspired_quality
15
15
  okf_spec_version: null
16
16
  supersedes: docs/quality/ISSUE_TRIAGE_2026-07.md
@@ -25,10 +25,11 @@ closure is justified only by current code, tests or an explicit duplicate;
25
25
  runtime behavior without a dedicated regression test remains tracked.
26
26
 
27
27
  The reconciliation was published in [PR #112](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/112).
28
- After the actions below, merged follow-up PRs #114-#121, and the evidence-based
29
- closure of #106, live verification on 2026-08-07 found 23 open issues. The
30
- parser P0 and the completed API, collision, and filesystem tranches are no
31
- longer part of the open backlog.
28
+ After the actions below, merged follow-up PRs #114-#123, and the evidence-based
29
+ closure of #105 and #106, live verification on 2026-08-08 found 23 open issues:
30
+ #105 left the backlog after the verified v1.7.0 publication, while new upstream
31
+ runtime follow-up #124 entered it. The parser P0 and the completed API,
32
+ collision, filesystem, and release-lineage tranches are no longer open.
32
33
 
33
34
  ## Decisions
34
35
 
@@ -52,7 +53,7 @@ longer part of the open backlog.
52
53
  | #87 | Keep, high priority | Now | Deterministic pathological parser latency; feeds #111 |
53
54
  | #88 | Keep | Next | Direct strategy-module tests are still absent |
54
55
  | #89 | Keep as canonical graph API test issue | Next | Dedicated boundary tests remain incomplete |
55
- | #90 | Keep | Next | `examples/run_synapse_rag.py` is absent |
56
+ | #90 | Close only after verified v1.7.1 publication | Release gate | The patch candidate adds the offline example, all three SYNAPSE exports, resolved page-embed proof, Cookbook link, and regression test |
56
57
  | #91 | Keep | Next | Direct `kinetic_export` tests are absent |
57
58
  | #92 | Keep, narrow to regression protection | Next | Runtime resolves canonical aliases; dedicated alias test is absent |
58
59
  | #93 | Keep, narrow to LENS recipe | Next | Broken-ref tip exists; complete visualization recipe is absent |
@@ -64,7 +65,7 @@ longer part of the open backlog.
64
65
  | #102 | Closed by merged [PR #120](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/120) | Shipped | Stable collision diagnostics, preserved winner policy, typed strict mode, CLI rendering, and no-ghost tests |
65
66
  | #103 | Expand | Wave 0/3 | Add rename/backlink cold-load equivalence |
66
67
  | #104 | Expand | Wave 0/3 | Add arbitrary-depth parser regression matrix |
67
- | #105 | Keep | Wave 4 | Immutable build-once release lineage remains absent |
68
+ | #105 | Closed after [PR #123](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/123) and v1.7.0 verification | Shipped | One checksummed bundle reached PyPI through OIDC and the GitHub Release byte-for-byte; public provenance, hashes, install, runtime, metadata, and CLI were verified |
68
69
  | #106 | Closed after merged [PR #121](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/121) | Shipped | Vault confinement, target identity, metadata preservation, dry-run patch, limits, typed diagnostics, symlink and `file://` tests |
69
70
  | #107 | Closed by merged [PR #117](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/117) | Shipped | PEP 561 wheel marker, derived version contract, API tiers, import/signature tests, and downstream Mypy probe |
70
71
  | #108 | Keep blocked by prerequisites | Wave 6 | Begin only after deep parser fix and #104 corpus |
@@ -92,7 +93,7 @@ longer part of the open backlog.
92
93
  completed: parser P0 + #106 filesystem boundary + #101/#102/#107 foundations
93
94
  -> next: #103 snapshot correctness + #104 semantic corpus
94
95
  -> complete #109 documentation federation + #110 diagnostic producers
95
- -> #105 release provenance
96
+ -> completed: #105 release provenance in v1.7.0
96
97
  -> #111 measured scale
97
98
  -> #108 parser phase extraction
98
99
  ```
@@ -117,3 +118,24 @@ not touch protected parser/graph hubs or weaken these gates.
117
118
  - [PR #122](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/122)
118
119
  publishes this final live-backlog reconciliation directly against `main`
119
120
  without claiming additional implementation scope.
121
+ - Merged [PR #123](https://github.com/MarcoPorcellato/logseq-matryca-parser/pull/123)
122
+ and published v1.7.0 from `main@af45c1b3`. The ordered release run built one
123
+ wheel/sdist bundle, re-verified its SHA-256 manifest before PyPI and GitHub,
124
+ published OIDC attestations, and passed an independent install/runtime/CLI
125
+ check. #105 is closed.
126
+ - Kept #90 open after live tree verification found that
127
+ `examples/run_synapse_rag.py` is still absent. The initial v1.7.0 release
128
+ notes listed it incorrectly; the changelog and GitHub Release receive a
129
+ transparent documentation-only erratum without changing artifacts.
130
+ - Prepared the v1.7.1 patch candidate to satisfy every #90 acceptance
131
+ criterion and constrain the two vulnerable optional AI/development
132
+ dependencies. #90 remains open until the merged tag, GitHub Release, and
133
+ PyPI package have been verified publicly.
134
+
135
+ ## Post-baseline issue — 2026-08-08
136
+
137
+ - [#124](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/124)
138
+ tracks the Node.js 20 deprecation annotations emitted by the successful
139
+ v1.7.0 run. Official `upload-artifact` v7.0.1 and `download-artifact` v8.0.1
140
+ still declare `node20`, so the repository must wait for official Node.js 24
141
+ manifests and then repin reviewed full SHAs without changing release lineage.
@@ -0,0 +1,78 @@
1
+ """Run the three public SYNAPSE conversion paths against an offline fixture.
2
+
3
+ Run from the repository root after installing the optional AI integrations::
4
+
5
+ uv sync --extra ai
6
+ uv run python examples/run_synapse_rag.py
7
+
8
+ The temporary Logseq graph includes a resolved page embed so the contextual
9
+ export demonstrates transclusion without requiring a real vault or network.
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ import sys
15
+ from pathlib import Path
16
+ from tempfile import TemporaryDirectory
17
+
18
+ from logseq_matryca_parser import LogseqGraph, SynapseAdapter
19
+
20
+
21
+ def build_fixture(root: Path) -> LogseqGraph:
22
+ """Create and load a minimal two-page Logseq graph."""
23
+ pages = root / "pages"
24
+ pages.mkdir(parents=True)
25
+ (pages / "RAG Demo.md").write_text(
26
+ "tags:: rag, demo\n\n"
27
+ "- Retrieval context\n"
28
+ " - Include this knowledge: {{embed [[Shared Knowledge]]}}\n",
29
+ encoding="utf-8",
30
+ )
31
+ (pages / "Shared Knowledge.md").write_text(
32
+ "- Matryca preserves Logseq hierarchy and provenance.\n",
33
+ encoding="utf-8",
34
+ )
35
+ return LogseqGraph.load_directory(root)
36
+
37
+
38
+ def run_demo() -> None:
39
+ """Convert the fixture with LangChain, LlamaIndex, and contextual exports."""
40
+ with TemporaryDirectory(prefix="logseq-matryca-synapse-") as directory:
41
+ graph = build_fixture(Path(directory))
42
+ page = graph.pages["RAG Demo"]
43
+
44
+ langchain_documents = SynapseAdapter.to_langchain_documents(
45
+ page.root_nodes,
46
+ source_name=page.title,
47
+ )
48
+ llamaindex_nodes = SynapseAdapter.to_llamaindex_nodes(
49
+ page.root_nodes,
50
+ page_title=page.title,
51
+ )
52
+ contextual_chunks = SynapseAdapter.to_context_enriched_chunks(
53
+ page.root_nodes,
54
+ graph,
55
+ )
56
+
57
+ expanded = contextual_chunks[-1].page_content
58
+ expected_embed = "Matryca preserves Logseq hierarchy and provenance."
59
+ if expected_embed not in expanded or "{{embed" in expanded:
60
+ raise RuntimeError("resolved page embed was not expanded in contextual output")
61
+
62
+ print(f"LangChain documents: {len(langchain_documents)}")
63
+ print(f"LlamaIndex nodes: {len(llamaindex_nodes)}")
64
+ print(f"Context-enriched chunks: {len(contextual_chunks)}")
65
+ print(f"Resolved page embed: {expanded}")
66
+
67
+
68
+ if __name__ == "__main__":
69
+ try:
70
+ run_demo()
71
+ except ImportError as exc:
72
+ print(
73
+ "SYNAPSE AI dependencies are missing. "
74
+ "Install them with `uv sync --extra ai` and run this script again. "
75
+ f"Details: {exc}",
76
+ file=sys.stderr,
77
+ )
78
+ raise SystemExit(1) from exc
@@ -6,5 +6,5 @@
6
6
  "2026-Q3"
7
7
  ],
8
8
  "legacy_migrated": true,
9
- "updated_at": "2026-08-07"
9
+ "updated_at": "2026-08-08"
10
10
  }