logseq-matryca-parser 1.8.2__tar.gz → 1.10.0__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 (273) hide show
  1. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/ci.yml +7 -5
  2. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-hygiene.yml +1 -1
  3. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/parser-adversarial.yml +1 -1
  4. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/pypi_publish.yml +4 -3
  5. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/scorecard.yml +1 -1
  6. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/workflow-analysis.yml +1 -1
  7. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.pre-commit-config.yaml +1 -0
  8. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/AGENTS.md +8 -2
  9. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/CHANGELOG.md +49 -0
  10. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/CONTRIBUTING.md +1 -1
  11. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/Makefile +1 -1
  12. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/PKG-INFO +48 -10
  13. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/README.md +47 -7
  14. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/RELEASE_HIGHLIGHTS.md +24 -5
  15. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/SECURITY.md +6 -4
  16. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/ARCHITECTURE.md +31 -11
  17. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/CI_ASSURANCE.md +5 -0
  18. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/CLEAN_CODE_ARCHITECTURE.md +40 -8
  19. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/COOKBOOK.md +30 -2
  20. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/DOCUMENTATION_SYSTEM.md +3 -1
  21. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/GOOD_FIRST_ISSUES.md +1 -1
  22. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/README.md +4 -2
  23. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/ROADMAP_2026-2027.md +11 -3
  24. logseq_matryca_parser-1.10.0/docs/decisions/ADR-0004-PARSER-PLUMBER-BOUNDARY.md +81 -0
  25. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/index.md +1 -0
  26. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/index.md +6 -5
  27. logseq_matryca_parser-1.10.0/docs/internal/LLAMAINDEX_COMPANION_MIGRATION_CHECKPOINT_2026-09-27.md +36 -0
  28. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/log.md +70 -3
  29. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/maintained.toml +3 -1
  30. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +7 -7
  31. logseq_matryca_parser-1.10.0/docs/quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md +102 -0
  32. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/quality/README.md +2 -1
  33. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/API_STABILITY.md +32 -4
  34. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/CONFORMANCE_SUPPORT_MATRIX.md +4 -4
  35. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/DEPENDENCY_LICENSE_POLICY.md +5 -6
  36. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/index.md +1 -1
  37. logseq_matryca_parser-1.10.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +64 -0
  38. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-08-30-v1.8.2-repository-completion.md +324 -0
  39. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-24-open-pr-reconciliation-and-vendor-gate.md +228 -0
  40. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-26-hypothesis-parser-properties.md +102 -0
  41. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-27-llamaindex-companion-separation.md +173 -0
  42. logseq_matryca_parser-1.10.0/docs/superpowers/receipts/2026-08-30-v1.8.2-backlog-reconciliation.md +36 -0
  43. logseq_matryca_parser-1.10.0/docs/superpowers/receipts/2026-08-30-v1.8.2-baseline.md +44 -0
  44. logseq_matryca_parser-1.10.0/docs/superpowers/receipts/2026-08-30-v1.8.2-final-audit.md +25 -0
  45. logseq_matryca_parser-1.10.0/docs/superpowers/receipts/2026-08-30-v1.8.2-publication.md +29 -0
  46. logseq_matryca_parser-1.10.0/docs/superpowers/receipts/2026-08-30-v1.8.2-qualification.md +28 -0
  47. logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-08-30-v1.8.2-repository-completion-design.md +101 -0
  48. logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-24-open-pr-quality-gates.md +90 -0
  49. logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-27-llamaindex-companion-separation-design.md +161 -0
  50. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/examples/run_synapse_rag.py +18 -7
  51. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/llms.txt +7 -4
  52. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/metrics/index.json +1 -1
  53. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q3.json +10801 -2946
  54. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/pyproject.toml +1 -3
  55. logseq_matryca_parser-1.10.0/release-bundle/RELEASE_NOTES.md +16 -0
  56. logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.py +101 -0
  57. logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.sh +6 -0
  58. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/check_wheel_contract.py +12 -0
  59. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__init__.py +2 -1
  60. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_version.py +1 -1
  61. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/graph.py +205 -31
  62. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_commands.py +2 -2
  63. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse.py +20 -117
  64. logseq_matryca_parser-1.10.0/tests/test_check_vendor_free_docs.py +97 -0
  65. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_check_wheel_contract.py +21 -2
  66. logseq_matryca_parser-1.10.0/tests/test_dependency_advisory_exception.py +37 -0
  67. logseq_matryca_parser-1.10.0/tests/test_dependency_boundary.py +52 -0
  68. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_graph.py +58 -9
  69. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_kinetic.py +34 -0
  70. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_layer_boundary.py +16 -0
  71. logseq_matryca_parser-1.10.0/tests/test_optional_import_boundary.py +70 -0
  72. logseq_matryca_parser-1.10.0/tests/test_parser_properties.py +256 -0
  73. logseq_matryca_parser-1.10.0/tests/test_plumber_boundary_docs.py +37 -0
  74. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_public_api_contract.py +19 -0
  75. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_quality_gate_contract.py +21 -42
  76. logseq_matryca_parser-1.10.0/tests/test_snapshot_graph.py +277 -0
  77. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_synapse.py +75 -151
  78. logseq_matryca_parser-1.10.0/tests/test_synapse_example.py +95 -0
  79. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/typing_samples/public_api.py +7 -1
  80. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/uv.lock +84 -1225
  81. logseq_matryca_parser-1.8.2/release-bundle/RELEASE_NOTES.md +0 -26
  82. logseq_matryca_parser-1.8.2/scripts/check_vendor_free_docs.sh +0 -20
  83. logseq_matryca_parser-1.8.2/tests/test_synapse_example.py +0 -42
  84. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.cursorignore +0 -0
  85. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.cursorrules +0 -0
  86. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.gitattributes +0 -0
  87. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/CODEOWNERS +0 -0
  88. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/FUNDING.yml +0 -0
  89. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  90. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
  91. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  92. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  93. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  94. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/clean_arch_issue_numbers.txt +0 -0
  95. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/copilot-instructions.md +0 -0
  96. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/dependabot.yml +0 -0
  97. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/dependency-license-overrides.toml +0 -0
  98. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/labels.yml +0 -0
  99. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/scripts/create_clean_arch_issues.sh +0 -0
  100. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/scripts/create_good_first_issues.sh +0 -0
  101. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/daily-metrics.yml +0 -0
  102. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-review.yml +0 -0
  103. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.gitignore +0 -0
  104. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/.repomixignore +0 -0
  105. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/CITATION.cff +0 -0
  106. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/CLAUDE.md +0 -0
  107. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/CODE_OF_CONDUCT.md +0 -0
  108. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/GOVERNANCE.md +0 -0
  109. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/LICENSE +0 -0
  110. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/MAINTAINERS.md +0 -0
  111. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/NOTICE +0 -0
  112. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/SUPPORT.md +0 -0
  113. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/SKILL.md +0 -0
  114. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
  115. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/AAIF_ALIGNMENT.md +0 -0
  116. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/AI_CONTRIBUTION_POLICY.md +0 -0
  117. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/BUG_HUNT_REPORT.md +0 -0
  118. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/CODEQL.md +0 -0
  119. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/ISSUE_TRIAGE_POLICY.md +0 -0
  120. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md +0 -0
  121. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/README_READABILITY_REPORT_2026-08-08.md +0 -0
  122. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/RELEASE_PROCESS.md +0 -0
  123. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md +0 -0
  124. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
  125. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +0 -0
  126. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0001-PROTOCOL_ADAPTER_BOUNDARY.md +0 -0
  127. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0002-OFFICIAL-OKF-V02-MIGRATION-GATE.md +0 -0
  128. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0003-AAIF-SUBMISSION-GATE.md +0 -0
  129. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-001-external-oracle-boundary.md +0 -0
  130. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-002-local-graph-assurance-boundary.md +0 -0
  131. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
  132. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
  133. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
  134. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
  135. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
  136. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
  137. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/README.md +0 -0
  138. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/design-docs/REFERENCE_SPEC.md +0 -0
  139. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/error_log.md +0 -0
  140. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/goals/LSDOC_PARSER_ASSURANCE_GOAL.md +0 -0
  141. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/ASSURANCE_TERRA_HANDOFF_2026-08-21.md +0 -0
  142. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
  143. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/M1A_CORRECTIVE_HARDENING_RESTART_HANDOFF_2026-08-16.md +0 -0
  144. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/M5_LOCAL_GRAPH_ASSURANCE_REVIEW_HANDOFF_2026-08-18.md +0 -0
  145. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/POST_V1_8_1_BACKLOG_EXECUTION_2026-08-25.md +0 -0
  146. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
  147. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/logseq_ast_primer.md +0 -0
  148. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
  149. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
  150. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
  151. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/AGENT_ACTION_CONTRACT.md +0 -0
  152. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/DIAGNOSTICS.md +0 -0
  153. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
  154. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/LOCAL_GRAPH_ASSURANCE.md +0 -0
  155. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/reference/PERFORMANCE_EVIDENCE.md +0 -0
  156. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/rfc/OLLAMA_RAG.md +0 -0
  157. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/rfc/SOURCE_LOCATION_RFC.md +0 -0
  158. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
  159. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
  160. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
  161. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
  162. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
  163. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
  164. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
  165. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
  166. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
  167. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
  168. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
  169. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
  170. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/security/DAILY_METRICS_THREAT_MODEL.md +0 -0
  171. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-parser-lexical-state.md +0 -0
  172. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-runtime-evidence-harness.md +0 -0
  173. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-graph-mutation-coherence.md +0 -0
  174. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-post-m9-reconciliation.md +0 -0
  175. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-24-local-assurance-coverage.md +0 -0
  176. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-30-native-github-actions.md +0 -0
  177. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-20-parser-lexical-state-design.md +0 -0
  178. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-21-graph-mutation-coherence-design.md +0 -0
  179. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-24-meaningful-test-coverage-design.md +0 -0
  180. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-30-native-github-actions-design.md +0 -0
  181. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/examples/demo_logseq_journal.md +0 -0
  182. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/examples/run_demo.py +0 -0
  183. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/legacy/local_digestor.py +0 -0
  184. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/lib/bindings/utils.js +0 -0
  185. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.complete.min.js +0 -0
  186. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.css +0 -0
  187. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.css +0 -0
  188. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.min.js +0 -0
  189. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q2.json +0 -0
  190. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/repomix-output-parser.xml +0 -0
  191. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/__init__.py +0 -0
  192. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/archive_repository_metrics.py +0 -0
  193. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/check_documentation.py +0 -0
  194. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/check_release_contract.py +0 -0
  195. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/debug_pre_release.py +0 -0
  196. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/extract_changelog.py +0 -0
  197. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/generate_supply_chain_evidence.py +0 -0
  198. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/scripts/update_compat_snapshots.py +0 -0
  199. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/.gitignore +0 -0
  200. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/NOTICE +0 -0
  201. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__main__.py +0 -0
  202. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_lexical_state.py +0 -0
  203. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_press.py +0 -0
  204. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_writer.py +0 -0
  205. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/diagnostics.py +0 -0
  206. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/exceptions.py +0 -0
  207. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/forge.py +0 -0
  208. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic.py +0 -0
  209. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_export.py +0 -0
  210. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/lens.py +0 -0
  211. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/local_graph_assurance.py +0 -0
  212. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_core.py +0 -0
  213. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_parser.py +0 -0
  214. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
  215. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_paths.py +0 -0
  216. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/py.typed +0 -0
  217. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/pyproject.toml +0 -0
  218. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse_embed.py +0 -0
  219. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/__init__.py +0 -0
  220. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/deep-refresh-regression.md +0 -0
  221. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/hierarchy-identity.md +0 -0
  222. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/manifest.json +0 -0
  223. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/pages/nested-title-entrypoint.md +0 -0
  224. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/properties-and-links.md +0 -0
  225. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-deep-refresh.exact.json +0 -0
  226. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-hierarchy-identity.exact.json +0 -0
  227. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-nested-entrypoint.exact.json +0 -0
  228. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-properties-links-assets.exact.json +0 -0
  229. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-softbreak-logbook.exact.json +0 -0
  230. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-task-timing.exact.json +0 -0
  231. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/soft-breaks-properties-logbook.md +0 -0
  232. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/tasks-priority-time.md +0 -0
  233. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/__init__.py +0 -0
  234. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/adversarial.py +0 -0
  235. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/corpus.py +0 -0
  236. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/invariants.py +0 -0
  237. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/projection.py +0 -0
  238. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/work_growth.py +0 -0
  239. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/performance/__init__.py +0 -0
  240. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/performance/runtime_evidence.py +0 -0
  241. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/performance/synthetic_vault.py +0 -0
  242. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_agent_press.py +0 -0
  243. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_agent_writer.py +0 -0
  244. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_archive_repository_metrics.py +0 -0
  245. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_check_documentation.py +0 -0
  246. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_check_release_contract.py +0 -0
  247. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_compat_corpus.py +0 -0
  248. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_demo_example.py +0 -0
  249. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_diagnostics.py +0 -0
  250. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_exceptions.py +0 -0
  251. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_extract_changelog.py +0 -0
  252. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_forge.py +0 -0
  253. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_generate_supply_chain_evidence.py +0 -0
  254. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_graph_collisions.py +0 -0
  255. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_graph_concurrency.py +0 -0
  256. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_lens.py +0 -0
  257. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_llms_txt_contract.py +0 -0
  258. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_local_graph_assurance.py +0 -0
  259. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_logos_parser.py +0 -0
  260. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_logseq_markdown.py +0 -0
  261. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_logseq_paths.py +0 -0
  262. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_module_entrypoint.py +0 -0
  263. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_package_version.py +0 -0
  264. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_parser_adversarial.py +0 -0
  265. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_parser_deep_refresh.py +0 -0
  266. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_parser_lexical_state.py +0 -0
  267. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_parser_work_growth.py +0 -0
  268. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_performance_evidence_docs.py +0 -0
  269. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_performance_synthetic_vault.py +0 -0
  270. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_pre_release_roundtrip.py +0 -0
  271. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_runtime_evidence.py +0 -0
  272. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/tests/test_writer_security.py +0 -0
  273. {logseq_matryca_parser-1.8.2 → logseq_matryca_parser-1.10.0}/zizmor.yml +0 -0
@@ -25,7 +25,7 @@ jobs:
25
25
  persist-credentials: false
26
26
 
27
27
  - name: Install pinned uv
28
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
28
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
29
29
  with:
30
30
  version: "0.11.7"
31
31
  python-version: "3.12"
@@ -65,7 +65,7 @@ jobs:
65
65
  persist-credentials: false
66
66
 
67
67
  - name: Install pinned uv
68
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
68
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
69
69
  with:
70
70
  version: "0.11.7"
71
71
  python-version: ${{ matrix.python-version }}
@@ -93,7 +93,7 @@ jobs:
93
93
  persist-credentials: false
94
94
 
95
95
  - name: Install pinned uv
96
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
96
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
97
97
  with:
98
98
  version: "0.11.7"
99
99
  python-version: "3.12"
@@ -111,7 +111,9 @@ jobs:
111
111
  --output-file "${{ runner.temp }}/requirements-audit.txt"
112
112
 
113
113
  - name: Audit exported dependencies
114
- run: uv run pip-audit --no-deps --disable-pip -r "${{ runner.temp }}/requirements-audit.txt"
114
+ run: >-
115
+ uv run pip-audit --no-deps --disable-pip
116
+ -r "${{ runner.temp }}/requirements-audit.txt"
115
117
 
116
118
  package-contract:
117
119
  name: Wheel and source distribution contract
@@ -124,7 +126,7 @@ jobs:
124
126
  persist-credentials: false
125
127
 
126
128
  - name: Install pinned uv
127
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
129
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
128
130
  with:
129
131
  version: "0.11.7"
130
132
  python-version: "3.12"
@@ -24,7 +24,7 @@ jobs:
24
24
  persist-credentials: false
25
25
 
26
26
  - name: Install pinned uv without a shared cache
27
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
27
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
28
28
  with:
29
29
  version: "0.11.7"
30
30
  python-version: "3.12"
@@ -24,7 +24,7 @@ jobs:
24
24
  persist-credentials: false
25
25
 
26
26
  - name: Install uv
27
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
27
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
28
28
  with:
29
29
  version: "0.11.7"
30
30
  python-version: "3.12"
@@ -28,7 +28,7 @@ jobs:
28
28
  persist-credentials: false
29
29
 
30
30
  - name: Install uv
31
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
31
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
32
32
  with:
33
33
  version: "0.11.7"
34
34
  python-version: ${{ matrix.python-version }}
@@ -40,7 +40,8 @@ jobs:
40
40
  - name: Audit production dependencies
41
41
  run: |
42
42
  uv export --all-extras --no-dev --no-emit-workspace -o "${{ runner.temp }}/requirements-audit.txt"
43
- uv run pip-audit --no-deps --disable-pip -r "${{ runner.temp }}/requirements-audit.txt"
43
+ uv run pip-audit --no-deps --disable-pip \
44
+ -r "${{ runner.temp }}/requirements-audit.txt"
44
45
 
45
46
  - name: Run full quality gate
46
47
  run: make all
@@ -65,7 +66,7 @@ jobs:
65
66
  persist-credentials: false
66
67
 
67
68
  - name: Install uv
68
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
69
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
69
70
  with:
70
71
  version: "0.11.7"
71
72
  python-version: "3.12"
@@ -39,6 +39,6 @@ jobs:
39
39
  if-no-files-found: error
40
40
 
41
41
  - name: Publish findings to code scanning
42
- uses: github/codeql-action/upload-sarif@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
42
+ uses: github/codeql-action/upload-sarif@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4.38.1
43
43
  with:
44
44
  sarif_file: results.sarif
@@ -35,7 +35,7 @@ jobs:
35
35
  persist-credentials: false
36
36
 
37
37
  - name: Install pinned uv without a shared cache
38
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
38
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
39
39
  with:
40
40
  version: "0.11.7"
41
41
  python-version: "3.12"
@@ -21,3 +21,4 @@ repos:
21
21
  - pytest>=9.0.3
22
22
  - networkx>=3.0.0
23
23
  - pyvis>=0.3.2
24
+ - hypothesis==6.168.1
@@ -17,10 +17,10 @@ backlinks, exports, visualizations, and AI chunks are derived views.
17
17
  |---|---|---|
18
18
  | **LOGOS** | Parse Logseq Markdown into a deterministic AST | `LogosParser`, `StackMachineParser` |
19
19
  | **Graph** | Load a vault, resolve pages and aliases, query nodes, inspect backlinks | `LogseqGraph` |
20
- | **SYNAPSE** | Export lineage-aware LangChain documents, LlamaIndex nodes, and enriched chunks | `SynapseAdapter` |
20
+ | **SYNAPSE** | Export lineage-aware LangChain documents and enriched chunks; delegate native LlamaIndex nodes to the separate companion | `SynapseAdapter` |
21
21
  | **FORGE** | Serialize JSON, clean Markdown, Logseq pages, and Obsidian-compatible output | `ForgeExporter`, `serialize_logseq_page` |
22
22
  | **KINETIC** | Run CLI parse, export, scan, visualize, agent-read, and agent-write workflows | `matryca-parse` |
23
- | **LENS** | Build an interactive graph visualization | `GraphVisualizer` |
23
+ | **LENS** | Build a compatible reference-topology visualization; planned compatible deprecation follows a later Trama UI migration | `GraphVisualizer` |
24
24
  | **Agent access** | Read a token-efficient X-Ray outline or perform bounded writes | `agent-read`, `agent-write`, `logseq_agent_write` |
25
25
 
26
26
  ## Start here
@@ -79,6 +79,12 @@ make vendor-name-check
79
79
  - Treat paths, symlinks, `file://` assets, atomic replacement, and vault
80
80
  containment as security boundaries.
81
81
  - Keep optional integrations lazy; the base parser must remain lightweight.
82
+ - The Parser `[ai]` extra provides LangChain; `[all]` also includes the
83
+ visualization dependencies. Neither extra installs `llama-index-core` or
84
+ NLTK. Do not add them back to the Parser dependency graph; native LlamaIndex
85
+ nodes belong to the separately maintained companion. Its proposed
86
+ package name is not yet published, so do not present it as currently
87
+ installable until its repository and distribution are verified.
82
88
  - Add focused regression tests for behavioral changes and do not lower the
83
89
  coverage floor.
84
90
  - Do not commit local caches, generated audit data, vault contents, credentials,
@@ -7,6 +7,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.10.0] - 2026-09-27
11
+
12
+ ### Changed
13
+
14
+ - **LlamaIndex companion boundary** — keep `SynapseAdapter.to_llamaindex_nodes()`
15
+ as a lazy compatibility shim while moving native node construction out of the
16
+ Parser distribution. The proposed companion package is not yet published;
17
+ `[ai]` provides LangChain, while `[all]` also includes visualization
18
+ dependencies. Neither extra installs LlamaIndex or NLTK.
19
+
20
+ ### Security
21
+
22
+ - **Remove Parser's NLTK dependency chain** — exclude `llama-index-core` and
23
+ NLTK from Parser extras, lock, and package metadata, and remove the temporary
24
+ Parser audit waiver. This does not resolve the upstream NLTK advisory or set
25
+ the separate companion's security policy.
26
+
27
+ ## [1.9.0] - 2026-09-06
28
+
29
+ ### Added
30
+
31
+ - **In-memory snapshot graph factory** — `SnapshotPage` and
32
+ `LogseqGraph.from_snapshot_pages()` build the existing parser graph indexes from
33
+ bounded, caller-captured Markdown without source discovery, file reopening, or
34
+ graph-root filesystem inspection.
35
+ The stable additive API preserves deterministic ordering, parser identities,
36
+ aliases, backlinks, diagnostics, and opt-in strict modes while keeping source
37
+ capture and cross-product projection outside Parser (#209).
38
+
39
+ ### Security
40
+
41
+ - **Time-bounded NLTK advisory exception** — document the exact optional AI
42
+ dependency exposure, non-reachability evidence, compensating controls,
43
+ owner, upstream advisory, and 2026-10-05 expiry for `PYSEC-2026-3740` while
44
+ no patched NLTK registry release exists. CI and release audits ignore only
45
+ that advisory; all other dependency findings remain fail-closed.
46
+
47
+ ### Changed
48
+
49
+ - **LENS Stage 0 transition** — mark the compatible `GraphVisualizer`,
50
+ `visualize`, and `demo` surfaces as transitional and feature-frozen, with
51
+ Matryca Trama as future user-facing graph-intelligence destination. This
52
+ release makes no API removal or deprecation-warning change (#213).
53
+ - **Parser-Plumber boundary** — record Parser as the deterministic Logseq OG
54
+ parsing library and Plumber as the sole cross-product Logseq gateway to
55
+ Trama and Brain. Existing Parser APIs and LENS behavior remain compatible;
56
+ any Trama UI migration requires a later, separately reviewed compatible
57
+ deprecation plan (#203).
58
+
10
59
  ## [1.8.2] - 2026-08-30
11
60
 
12
61
  ### Changed
@@ -17,7 +17,7 @@ User-facing behavior is documented in:
17
17
  - [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — LOGOS, SYNAPSE, `LogseqGraph`, agents, and data flow
18
18
  - [`docs/internal/LOCAL_CODE_STUDY.md`](docs/internal/LOCAL_CODE_STUDY.md) — maintainer local code audit runbook (not for public issues/CHANGELOG)
19
19
  - [`docs/logseq_ast_primer.md`](docs/logseq_ast_primer.md) — Logseq Spatial Markdown domain rules
20
- - [`CHANGELOG.md`](CHANGELOG.md) — release candidate **1.8.2**, latest published release **1.8.1**, and **Unreleased** changes (Keep a Changelog)
20
+ - [`CHANGELOG.md`](CHANGELOG.md) — prepared **1.10.0** release notes (not yet published); latest released version remains **1.9.0** (Keep a Changelog)
21
21
  - [`docs/RELEASE_PROCESS.md`](docs/RELEASE_PROCESS.md) — version bump, tag, and PyPI publish checklist
22
22
  - [`docs/CI_ASSURANCE.md`](docs/CI_ASSURANCE.md) — pull-request, scheduled, settings-managed, and release checks
23
23
  - [`docs/CODEQL.md`](docs/CODEQL.md) — CodeQL default setup (no custom `codeql.yml`)
@@ -9,7 +9,7 @@ lint-fix:
9
9
  uv run ruff check . --fix
10
10
 
11
11
  check:
12
- uv run mypy src/ tests/ examples/ scripts/check_documentation.py scripts/check_release_contract.py scripts/check_wheel_contract.py scripts/generate_supply_chain_evidence.py scripts/update_compat_snapshots.py
12
+ uv run mypy src/ tests/ examples/ scripts/check_documentation.py scripts/check_release_contract.py scripts/check_vendor_free_docs.py scripts/check_wheel_contract.py scripts/generate_supply_chain_evidence.py scripts/update_compat_snapshots.py
13
13
 
14
14
  vendor-name-check:
15
15
  bash scripts/check_vendor_free_docs.sh
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logseq-matryca-parser
3
- Version: 1.8.2
3
+ Version: 1.10.0
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
@@ -26,10 +26,8 @@ Requires-Dist: rich>=13.7.1
26
26
  Requires-Dist: typer>=0.12.0
27
27
  Provides-Extra: ai
28
28
  Requires-Dist: langchain-core; extra == 'ai'
29
- Requires-Dist: llama-index-core; extra == 'ai'
30
29
  Provides-Extra: all
31
30
  Requires-Dist: langchain-core; extra == 'all'
32
- Requires-Dist: llama-index-core; extra == 'all'
33
31
  Requires-Dist: networkx>=3.0.0; extra == 'all'
34
32
  Requires-Dist: pyvis>=0.3.2; extra == 'all'
35
33
  Provides-Extra: viz
@@ -87,9 +85,11 @@ selected by the caller.
87
85
  ### Choose your workflow
88
86
 
89
87
  - **Parse and query:** load one page or a complete vault as a typed AST and graph.
90
- - **Build RAG context:** export LangChain documents, LlamaIndex nodes, or enriched chunks.
88
+ - **Build RAG context:** export LangChain documents and enriched chunks; use
89
+ the separate LlamaIndex companion when available.
91
90
  - **Move knowledge:** generate JSON, clean Markdown, or an Obsidian vault.
92
- - **Visualize:** render an interactive graph with LENS.
91
+ - **Visualize:** render an interactive reference-topology graph with the transitional,
92
+ feature-frozen LENS adapter.
93
93
  - **Use an AI agent:** start from [`AGENTS.md`](AGENTS.md) or the concise [`llms.txt`](llms.txt) index.
94
94
 
95
95
  ---
@@ -109,7 +109,16 @@ The PKM (Personal Knowledge Management) world is currently forcing users to make
109
109
  ### 🔱 The Matryca Solution: The Best of Both Worlds
110
110
  **Logseq Matryca Parser** is the ultimate bridge. It allows you to **keep your sovereign, future-proof Markdown files**, while synthesizing a **Virtual Global Graph** in RAM at runtime.
111
111
 
112
- It acts as the strict **File System Driver** for your LLM OS. By using a deterministic Stack-Machine to parse your outliner topology, it feeds LangChain or LlamaIndex with the exact parent-child context of every single block.
112
+ It acts as the strict **File System Driver** for your LLM OS. A deterministic
113
+ Stack-Machine parses outliner topology and preserves each block's parent-child
114
+ context for LangChain and, through a separate optional companion, LlamaIndex.
115
+
116
+ The Parser's `[ai]` and `[all]` extras do not install LlamaIndex. The
117
+ `logseq-matryca-parser-llamaindex` companion is planned but not yet published
118
+ on PyPI; until then, `SynapseAdapter.to_llamaindex_nodes()` reports that the
119
+ companion is unavailable. The Parser lock and distributions no longer include
120
+ `llama-index-core` or NLTK. This removes that dependency chain from Parser; it
121
+ does not claim that the separate NLTK advisory is fixed for other consumers.
113
122
 
114
123
  *You get the reasoning power of a centralized relational database, without sacrificing the plain-text soul of your Second Brain in Logseq.*
115
124
 
@@ -182,12 +191,19 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
182
191
  | :--- | :--- |
183
192
  | **Parse faithfully — LOGOS** | Deterministic AST parsing for outlines, YAML and native properties, tasks, temporal markers, references, assets, code/math/query shields, stable UUIDs, line ranges, and format-preserving round trips. |
184
193
  | **Understand the vault — Graph** | Canonical pages, aliases, backlinks, inherited properties, case-insensitive lookup, namespace resolution, fluent queries, broken-reference diagnostics, and optional per-file live reloads. |
185
- | **Export and integrate — SYNAPSE, FORGE, LENS** | Lineage-aware LangChain and LlamaIndex exports, context-enriched chunks, JSON and Markdown serialization, Obsidian vault generation, and interactive graph visualization. |
194
+ | **Export and integrate — SYNAPSE, FORGE, LENS** | Lineage-aware LangChain exports and context-enriched chunks; LlamaIndex nodes through a separate companion; JSON and Markdown serialization, Obsidian vault generation, and interactive graph visualization. |
186
195
  | **Automate safely — KINETIC and agent tools** | CLI parse, scan, export, and visualization; token-efficient X-Ray reads; append-only logging; bounded AST writes; vault containment, dry-run patches, and atomic replacement. |
187
196
 
188
197
  The base parser is local-first and has zero telemetry. Optional AI, watcher, and
189
198
  visualization dependencies remain lazy. See the [architecture](docs/ARCHITECTURE.md)
190
199
  and [API stability reference](docs/reference/API_STABILITY.md) for exact boundaries.
200
+ For cross-product Logseq OG use, Plumber is the gateway to Trama and Brain;
201
+ Parser remains the deterministic parsing stage. LENS stays compatible while a
202
+ future Trama graph-intelligence migration is separately designed and released.
203
+ Stage 0 marks LENS as transitional and feature-frozen: `GraphVisualizer`,
204
+ `matryca-parse visualize`, and `matryca-parse demo` remain available without a
205
+ deprecation warning. Matryca Trama is the destination for future user-facing
206
+ graph intelligence.
191
207
 
192
208
  ### Data model — `LogseqNode` task fields
193
209
 
@@ -219,7 +235,7 @@ uv sync --all-extras
219
235
  ```
220
236
 
221
237
  ```bash
222
- # 1. Visualize your local graph (LENS)
238
+ # 1. Visualize your local graph (LENS: transitional, feature-frozen)
223
239
  matryca-parse visualize /path/to/logseq/graph my-map.html
224
240
 
225
241
  # 2. Export for AI / RAG (SYNAPSE)
@@ -258,6 +274,14 @@ graph = LogseqGraph.load_directory("/path/to/logseq/graph")
258
274
  page_obj = graph.get_page("My Page") # case-insensitive
259
275
  effective = graph.get_effective_properties(page_obj.root_nodes[0].uuid)
260
276
 
277
+ # Build the same in-memory indexes from caller-captured Markdown without filesystem access.
278
+ from logseq_matryca_parser import SnapshotPage
279
+
280
+ snapshot_graph = LogseqGraph.from_snapshot_pages(
281
+ "/path/to/logseq/graph",
282
+ [SnapshotPage("pages/Project.md", "- Captured block\n")],
283
+ )
284
+
261
285
  # Export to LangChain with lineage metadata
262
286
  docs = SynapseAdapter.to_langchain_documents(page.root_nodes, source_name=page.title)
263
287
 
@@ -267,6 +291,14 @@ from logseq_matryca_parser import StackMachineParser
267
291
  strict_page = StackMachineParser(strict_refs=True).parse_page_file("page.md")
268
292
  ```
269
293
 
294
+ `uv sync --extra ai` installs LangChain. `[all]` also installs the visualization
295
+ dependencies. Neither extra installs LlamaIndex or NLTK. LlamaIndex export
296
+ remains available through the `SynapseAdapter` compatibility method when the
297
+ separate `logseq-matryca-parser-llamaindex` companion is installed. That
298
+ companion is planned but not yet published on PyPI; see the
299
+ [support matrix](docs/reference/CONFORMANCE_SUPPORT_MATRIX.md) for the current
300
+ boundary. The Parser itself does not install `llama-index-core` or NLTK.
301
+
270
302
  ### 🤖 Agentic Write Access (Append-Only)
271
303
 
272
304
  Agents such as Hermes or OpenClaw can record structured notes into a Logseq graph **without rewriting existing pages**. The helper `logseq_agent_write` only **opens the weekly agent page in append mode** (`"a"`), writes a new bullet (journal link + optional tag links + body), and never truncates or replaces prior content—so routine logging cannot wipe blocks that already live in that file.
@@ -288,7 +320,9 @@ assert result["status"] == "success"
288
320
  ---
289
321
 
290
322
  ## 🗺️ Roadmap
291
- - [ ] **Desktop GUI:** Standalone app for non-technical users. [(Join the RFC)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/3)
323
+ - [ ] **Graph-intelligence UI:** A future Matryca Trama surface may succeed the
324
+ compatible Parser LENS workflow after a separately reviewed migration; Parser
325
+ does not commit to a standalone GUI. [(Track the historical RFC)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/3)
292
326
  - [x] **Obsidian Adapter:** Native CLI export (`--format obsidian`) with YAML frontmatter and `^` block anchors.
293
327
  - [ ] **Ollama Integration:** One-click local RAG setup. [(RFC draft)](docs/rfc/OLLAMA_RAG.md) · [(Track progress #34)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/34)
294
328
 
@@ -319,11 +353,15 @@ We welcome issues, pull requests, and constructive feedback.
319
353
 
320
354
  ## 📦 Release history
321
355
 
356
+ Version 1.10.0 release notes are prepared, but the package has not yet been
357
+ published to PyPI. The latest published release remains v1.9.0.
358
+
322
359
  Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
323
360
  [changelog](CHANGELOG.md), or the signed artifacts on
324
361
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
325
362
 
326
- - **v1.8.2 (release candidate)** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
363
+ - **v1.9.0** — Adds the stable in-memory snapshot graph factory, clarifies the Parser-Plumber boundary, and governs the temporary optional-NLTK advisory exception.
364
+ - **v1.8.2** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
327
365
  - **v1.8.1** — Hardened deep-outline parsing, coherent incremental graph mutations, bounded assurance cleanup, and stable provenance for optional NLTK.
328
366
  - **v1.8.0** — Added bounded privacy-safe local graph assurance, source-location contracts, and the first internal parser line-classification phase.
329
367
  - **v1.7.1** — Added the runnable offline SYNAPSE RAG example and tightened release-note and optional-dependency security checks.
@@ -46,9 +46,11 @@ selected by the caller.
46
46
  ### Choose your workflow
47
47
 
48
48
  - **Parse and query:** load one page or a complete vault as a typed AST and graph.
49
- - **Build RAG context:** export LangChain documents, LlamaIndex nodes, or enriched chunks.
49
+ - **Build RAG context:** export LangChain documents and enriched chunks; use
50
+ the separate LlamaIndex companion when available.
50
51
  - **Move knowledge:** generate JSON, clean Markdown, or an Obsidian vault.
51
- - **Visualize:** render an interactive graph with LENS.
52
+ - **Visualize:** render an interactive reference-topology graph with the transitional,
53
+ feature-frozen LENS adapter.
52
54
  - **Use an AI agent:** start from [`AGENTS.md`](AGENTS.md) or the concise [`llms.txt`](llms.txt) index.
53
55
 
54
56
  ---
@@ -68,7 +70,16 @@ The PKM (Personal Knowledge Management) world is currently forcing users to make
68
70
  ### 🔱 The Matryca Solution: The Best of Both Worlds
69
71
  **Logseq Matryca Parser** is the ultimate bridge. It allows you to **keep your sovereign, future-proof Markdown files**, while synthesizing a **Virtual Global Graph** in RAM at runtime.
70
72
 
71
- It acts as the strict **File System Driver** for your LLM OS. By using a deterministic Stack-Machine to parse your outliner topology, it feeds LangChain or LlamaIndex with the exact parent-child context of every single block.
73
+ It acts as the strict **File System Driver** for your LLM OS. A deterministic
74
+ Stack-Machine parses outliner topology and preserves each block's parent-child
75
+ context for LangChain and, through a separate optional companion, LlamaIndex.
76
+
77
+ The Parser's `[ai]` and `[all]` extras do not install LlamaIndex. The
78
+ `logseq-matryca-parser-llamaindex` companion is planned but not yet published
79
+ on PyPI; until then, `SynapseAdapter.to_llamaindex_nodes()` reports that the
80
+ companion is unavailable. The Parser lock and distributions no longer include
81
+ `llama-index-core` or NLTK. This removes that dependency chain from Parser; it
82
+ does not claim that the separate NLTK advisory is fixed for other consumers.
72
83
 
73
84
  *You get the reasoning power of a centralized relational database, without sacrificing the plain-text soul of your Second Brain in Logseq.*
74
85
 
@@ -141,12 +152,19 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
141
152
  | :--- | :--- |
142
153
  | **Parse faithfully — LOGOS** | Deterministic AST parsing for outlines, YAML and native properties, tasks, temporal markers, references, assets, code/math/query shields, stable UUIDs, line ranges, and format-preserving round trips. |
143
154
  | **Understand the vault — Graph** | Canonical pages, aliases, backlinks, inherited properties, case-insensitive lookup, namespace resolution, fluent queries, broken-reference diagnostics, and optional per-file live reloads. |
144
- | **Export and integrate — SYNAPSE, FORGE, LENS** | Lineage-aware LangChain and LlamaIndex exports, context-enriched chunks, JSON and Markdown serialization, Obsidian vault generation, and interactive graph visualization. |
155
+ | **Export and integrate — SYNAPSE, FORGE, LENS** | Lineage-aware LangChain exports and context-enriched chunks; LlamaIndex nodes through a separate companion; JSON and Markdown serialization, Obsidian vault generation, and interactive graph visualization. |
145
156
  | **Automate safely — KINETIC and agent tools** | CLI parse, scan, export, and visualization; token-efficient X-Ray reads; append-only logging; bounded AST writes; vault containment, dry-run patches, and atomic replacement. |
146
157
 
147
158
  The base parser is local-first and has zero telemetry. Optional AI, watcher, and
148
159
  visualization dependencies remain lazy. See the [architecture](docs/ARCHITECTURE.md)
149
160
  and [API stability reference](docs/reference/API_STABILITY.md) for exact boundaries.
161
+ For cross-product Logseq OG use, Plumber is the gateway to Trama and Brain;
162
+ Parser remains the deterministic parsing stage. LENS stays compatible while a
163
+ future Trama graph-intelligence migration is separately designed and released.
164
+ Stage 0 marks LENS as transitional and feature-frozen: `GraphVisualizer`,
165
+ `matryca-parse visualize`, and `matryca-parse demo` remain available without a
166
+ deprecation warning. Matryca Trama is the destination for future user-facing
167
+ graph intelligence.
150
168
 
151
169
  ### Data model — `LogseqNode` task fields
152
170
 
@@ -178,7 +196,7 @@ uv sync --all-extras
178
196
  ```
179
197
 
180
198
  ```bash
181
- # 1. Visualize your local graph (LENS)
199
+ # 1. Visualize your local graph (LENS: transitional, feature-frozen)
182
200
  matryca-parse visualize /path/to/logseq/graph my-map.html
183
201
 
184
202
  # 2. Export for AI / RAG (SYNAPSE)
@@ -217,6 +235,14 @@ graph = LogseqGraph.load_directory("/path/to/logseq/graph")
217
235
  page_obj = graph.get_page("My Page") # case-insensitive
218
236
  effective = graph.get_effective_properties(page_obj.root_nodes[0].uuid)
219
237
 
238
+ # Build the same in-memory indexes from caller-captured Markdown without filesystem access.
239
+ from logseq_matryca_parser import SnapshotPage
240
+
241
+ snapshot_graph = LogseqGraph.from_snapshot_pages(
242
+ "/path/to/logseq/graph",
243
+ [SnapshotPage("pages/Project.md", "- Captured block\n")],
244
+ )
245
+
220
246
  # Export to LangChain with lineage metadata
221
247
  docs = SynapseAdapter.to_langchain_documents(page.root_nodes, source_name=page.title)
222
248
 
@@ -226,6 +252,14 @@ from logseq_matryca_parser import StackMachineParser
226
252
  strict_page = StackMachineParser(strict_refs=True).parse_page_file("page.md")
227
253
  ```
228
254
 
255
+ `uv sync --extra ai` installs LangChain. `[all]` also installs the visualization
256
+ dependencies. Neither extra installs LlamaIndex or NLTK. LlamaIndex export
257
+ remains available through the `SynapseAdapter` compatibility method when the
258
+ separate `logseq-matryca-parser-llamaindex` companion is installed. That
259
+ companion is planned but not yet published on PyPI; see the
260
+ [support matrix](docs/reference/CONFORMANCE_SUPPORT_MATRIX.md) for the current
261
+ boundary. The Parser itself does not install `llama-index-core` or NLTK.
262
+
229
263
  ### 🤖 Agentic Write Access (Append-Only)
230
264
 
231
265
  Agents such as Hermes or OpenClaw can record structured notes into a Logseq graph **without rewriting existing pages**. The helper `logseq_agent_write` only **opens the weekly agent page in append mode** (`"a"`), writes a new bullet (journal link + optional tag links + body), and never truncates or replaces prior content—so routine logging cannot wipe blocks that already live in that file.
@@ -247,7 +281,9 @@ assert result["status"] == "success"
247
281
  ---
248
282
 
249
283
  ## 🗺️ Roadmap
250
- - [ ] **Desktop GUI:** Standalone app for non-technical users. [(Join the RFC)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/3)
284
+ - [ ] **Graph-intelligence UI:** A future Matryca Trama surface may succeed the
285
+ compatible Parser LENS workflow after a separately reviewed migration; Parser
286
+ does not commit to a standalone GUI. [(Track the historical RFC)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/3)
251
287
  - [x] **Obsidian Adapter:** Native CLI export (`--format obsidian`) with YAML frontmatter and `^` block anchors.
252
288
  - [ ] **Ollama Integration:** One-click local RAG setup. [(RFC draft)](docs/rfc/OLLAMA_RAG.md) · [(Track progress #34)](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/34)
253
289
 
@@ -278,11 +314,15 @@ We welcome issues, pull requests, and constructive feedback.
278
314
 
279
315
  ## 📦 Release history
280
316
 
317
+ Version 1.10.0 release notes are prepared, but the package has not yet been
318
+ published to PyPI. The latest published release remains v1.9.0.
319
+
281
320
  Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
282
321
  [changelog](CHANGELOG.md), or the signed artifacts on
283
322
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
284
323
 
285
- - **v1.8.2 (release candidate)** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
324
+ - **v1.9.0** — Adds the stable in-memory snapshot graph factory, clarifies the Parser-Plumber boundary, and governs the temporary optional-NLTK advisory exception.
325
+ - **v1.8.2** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
286
326
  - **v1.8.1** — Hardened deep-outline parsing, coherent incremental graph mutations, bounded assurance cleanup, and stable provenance for optional NLTK.
287
327
  - **v1.8.0** — Added bounded privacy-safe local graph assurance, source-location contracts, and the first internal parser line-classification phase.
288
328
  - **v1.7.1** — Added the runnable offline SYNAPSE RAG example and tightened release-note and optional-dependency security checks.
@@ -5,13 +5,32 @@ For the exhaustive change history, see the [changelog](CHANGELOG.md). For
5
5
  published artifacts and attestations, see
6
6
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
7
7
 
8
- ## v1.8.2 (release candidate)
8
+ ## Unreleased
9
9
 
10
- Release candidate — strengthens the hosted assurance boundary, clarifies
10
+ The Parser is separating native LlamaIndex export into a companion package.
11
+ The compatibility method remains, but the proposed companion is not yet
12
+ published; Parser `[ai]` provides LangChain, while `[all]` also includes
13
+ visualization dependencies. Neither extra installs LlamaIndex or NLTK. See
14
+ the [support matrix](docs/reference/CONFORMANCE_SUPPORT_MATRIX.md) for the
15
+ current boundary.
16
+
17
+ ## v1.9.0
18
+
19
+ Minor release — adds a stable in-memory graph factory and clarifies the
20
+ cross-product integration boundary. **No intentional breaking changes** to
21
+ stable package imports or CLI behavior.
22
+
23
+ | Area | Change |
24
+ | :--- | :--- |
25
+ | **Graph API** | `SnapshotPage` and `LogseqGraph.from_snapshot_pages()` build ordinary in-memory graph indexes from bounded caller-captured Markdown. The additive API never discovers, reopens, or inspects logical source paths or its graph-root label; source capture, revisions, and external DTO projection remain outside Parser. |
26
+ | **Architecture** | Parser remains the deterministic Logseq OG library. Plumber is the sole cross-product gateway to Trama and Brain; existing Parser APIs and LENS behavior remain compatible. |
27
+ | **Dependency security** | A time-bounded, evidence-backed exception governs `PYSEC-2026-3740` for optional AI dependency NLTK until a patched registry release exists; all other dependency findings remain fail-closed. |
28
+
29
+ ## v1.8.2
30
+
31
+ Patch release — strengthens the hosted assurance boundary, clarifies
11
32
  integration guidance, and makes the graph loader easier to call. **No
12
- intentional breaking changes** to stable package imports or CLI behavior. The
13
- v1.8.2 tag, PyPI publication, GitHub Release, hashes, and attestations remain
14
- pending the release workflow.
33
+ intentional breaking changes** to stable package imports or CLI behavior.
15
34
 
16
35
  | Area | Change |
17
36
  | :--- | :--- |
@@ -2,13 +2,15 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- Security fixes are provided **only for the latest released version** on [PyPI](https://pypi.org/project/logseq-matryca-parser/). Until the v1.8.2 tag workflow completes, that version remains v1.8.1.
5
+ Security fixes are provided **only for the latest released version** on [PyPI](https://pypi.org/project/logseq-matryca-parser/). The latest supported release is v1.9.0.
6
+
7
+ Version 1.10.0 release preparation does not change this support status; it will
8
+ do so only after publication to PyPI.
6
9
 
7
10
  | Version | Supported |
8
11
  | ------- | --------- |
9
- | 1.8.2 (release candidate; not published) | Pending publication |
10
- | **1.8.1** (latest released) | Yes |
11
- | 1.8.0 and older | No |
12
+ | **1.9.0** (latest released) | Yes |
13
+ | 1.8.2 and older | No |
12
14
 
13
15
  We recommend always running the current release and upgrading promptly when a security advisory is published.
14
16