logseq-matryca-parser 1.9.0__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 (275) hide show
  1. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/ci.yml +4 -6
  2. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-hygiene.yml +1 -1
  3. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/parser-adversarial.yml +1 -1
  4. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/pypi_publish.yml +2 -4
  5. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/scorecard.yml +1 -1
  6. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/workflow-analysis.yml +1 -1
  7. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.pre-commit-config.yaml +1 -0
  8. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/AGENTS.md +7 -1
  9. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CHANGELOG.md +17 -0
  10. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CONTRIBUTING.md +1 -1
  11. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/Makefile +1 -1
  12. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/PKG-INFO +25 -6
  13. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/README.md +24 -3
  14. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/RELEASE_HIGHLIGHTS.md +7 -0
  15. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/SECURITY.md +3 -0
  16. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ARCHITECTURE.md +13 -11
  17. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CI_ASSURANCE.md +5 -0
  18. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CLEAN_CODE_ARCHITECTURE.md +11 -6
  19. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/COOKBOOK.md +23 -2
  20. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/DOCUMENTATION_SYSTEM.md +3 -1
  21. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/README.md +3 -2
  22. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ROADMAP_2026-2027.md +11 -3
  23. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/index.md +5 -5
  24. logseq_matryca_parser-1.10.0/docs/internal/LLAMAINDEX_COMPANION_MIGRATION_CHECKPOINT_2026-09-27.md +36 -0
  25. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/log.md +55 -3
  26. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/maintained.toml +1 -1
  27. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +7 -7
  28. logseq_matryca_parser-1.10.0/docs/quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md +102 -0
  29. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/README.md +2 -1
  30. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/API_STABILITY.md +12 -3
  31. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/CONFORMANCE_SUPPORT_MATRIX.md +4 -4
  32. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/DEPENDENCY_LICENSE_POLICY.md +5 -6
  33. logseq_matryca_parser-1.10.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +64 -0
  34. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-24-open-pr-reconciliation-and-vendor-gate.md +228 -0
  35. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-26-hypothesis-parser-properties.md +102 -0
  36. logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-27-llamaindex-companion-separation.md +173 -0
  37. logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-24-open-pr-quality-gates.md +90 -0
  38. logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-27-llamaindex-companion-separation-design.md +161 -0
  39. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/run_synapse_rag.py +18 -7
  40. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/llms.txt +7 -4
  41. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/index.json +1 -1
  42. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q3.json +9350 -3256
  43. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/pyproject.toml +1 -3
  44. logseq_matryca_parser-1.10.0/release-bundle/RELEASE_NOTES.md +16 -0
  45. logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.py +101 -0
  46. logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.sh +6 -0
  47. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_wheel_contract.py +12 -0
  48. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_version.py +1 -1
  49. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse.py +20 -117
  50. logseq_matryca_parser-1.10.0/tests/test_check_vendor_free_docs.py +97 -0
  51. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_wheel_contract.py +21 -2
  52. logseq_matryca_parser-1.10.0/tests/test_dependency_advisory_exception.py +37 -0
  53. logseq_matryca_parser-1.10.0/tests/test_dependency_boundary.py +52 -0
  54. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph.py +58 -9
  55. logseq_matryca_parser-1.10.0/tests/test_optional_import_boundary.py +70 -0
  56. logseq_matryca_parser-1.10.0/tests/test_parser_properties.py +256 -0
  57. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_quality_gate_contract.py +19 -39
  58. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_synapse.py +75 -151
  59. logseq_matryca_parser-1.10.0/tests/test_synapse_example.py +95 -0
  60. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/uv.lock +81 -1222
  61. logseq_matryca_parser-1.9.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +0 -76
  62. logseq_matryca_parser-1.9.0/release-bundle/RELEASE_NOTES.md +0 -31
  63. logseq_matryca_parser-1.9.0/scripts/check_vendor_free_docs.sh +0 -20
  64. logseq_matryca_parser-1.9.0/tests/test_dependency_advisory_exception.py +0 -53
  65. logseq_matryca_parser-1.9.0/tests/test_synapse_example.py +0 -42
  66. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.cursorignore +0 -0
  67. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.cursorrules +0 -0
  68. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.gitattributes +0 -0
  69. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/CODEOWNERS +0 -0
  70. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/FUNDING.yml +0 -0
  71. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  72. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
  73. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  74. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  75. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  76. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/clean_arch_issue_numbers.txt +0 -0
  77. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/copilot-instructions.md +0 -0
  78. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/dependabot.yml +0 -0
  79. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/dependency-license-overrides.toml +0 -0
  80. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/labels.yml +0 -0
  81. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/scripts/create_clean_arch_issues.sh +0 -0
  82. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/scripts/create_good_first_issues.sh +0 -0
  83. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/daily-metrics.yml +0 -0
  84. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-review.yml +0 -0
  85. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.gitignore +0 -0
  86. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.repomixignore +0 -0
  87. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CITATION.cff +0 -0
  88. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CLAUDE.md +0 -0
  89. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CODE_OF_CONDUCT.md +0 -0
  90. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/GOVERNANCE.md +0 -0
  91. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/LICENSE +0 -0
  92. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/MAINTAINERS.md +0 -0
  93. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/NOTICE +0 -0
  94. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/SUPPORT.md +0 -0
  95. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/SKILL.md +0 -0
  96. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
  97. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/AAIF_ALIGNMENT.md +0 -0
  98. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/AI_CONTRIBUTION_POLICY.md +0 -0
  99. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/BUG_HUNT_REPORT.md +0 -0
  100. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CODEQL.md +0 -0
  101. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/GOOD_FIRST_ISSUES.md +0 -0
  102. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ISSUE_TRIAGE_POLICY.md +0 -0
  103. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md +0 -0
  104. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/README_READABILITY_REPORT_2026-08-08.md +0 -0
  105. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/RELEASE_PROCESS.md +0 -0
  106. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md +0 -0
  107. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
  108. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +0 -0
  109. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0001-PROTOCOL_ADAPTER_BOUNDARY.md +0 -0
  110. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0002-OFFICIAL-OKF-V02-MIGRATION-GATE.md +0 -0
  111. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0003-AAIF-SUBMISSION-GATE.md +0 -0
  112. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0004-PARSER-PLUMBER-BOUNDARY.md +0 -0
  113. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-001-external-oracle-boundary.md +0 -0
  114. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-002-local-graph-assurance-boundary.md +0 -0
  115. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/index.md +0 -0
  116. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
  117. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
  118. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
  119. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
  120. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
  121. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
  122. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/README.md +0 -0
  123. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/REFERENCE_SPEC.md +0 -0
  124. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/error_log.md +0 -0
  125. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/goals/LSDOC_PARSER_ASSURANCE_GOAL.md +0 -0
  126. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/ASSURANCE_TERRA_HANDOFF_2026-08-21.md +0 -0
  127. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
  128. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/M1A_CORRECTIVE_HARDENING_RESTART_HANDOFF_2026-08-16.md +0 -0
  129. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/M5_LOCAL_GRAPH_ASSURANCE_REVIEW_HANDOFF_2026-08-18.md +0 -0
  130. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/POST_V1_8_1_BACKLOG_EXECUTION_2026-08-25.md +0 -0
  131. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
  132. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/logseq_ast_primer.md +0 -0
  133. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
  134. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
  135. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
  136. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/AGENT_ACTION_CONTRACT.md +0 -0
  137. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/DIAGNOSTICS.md +0 -0
  138. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
  139. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/LOCAL_GRAPH_ASSURANCE.md +0 -0
  140. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/PERFORMANCE_EVIDENCE.md +0 -0
  141. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/index.md +0 -0
  142. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/rfc/OLLAMA_RAG.md +0 -0
  143. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/rfc/SOURCE_LOCATION_RFC.md +0 -0
  144. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
  145. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
  146. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
  147. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
  148. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
  149. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
  150. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
  151. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
  152. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
  153. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
  154. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
  155. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
  156. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/security/DAILY_METRICS_THREAT_MODEL.md +0 -0
  157. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-parser-lexical-state.md +0 -0
  158. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-runtime-evidence-harness.md +0 -0
  159. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-graph-mutation-coherence.md +0 -0
  160. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-post-m9-reconciliation.md +0 -0
  161. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-24-local-assurance-coverage.md +0 -0
  162. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-30-native-github-actions.md +0 -0
  163. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-30-v1.8.2-repository-completion.md +0 -0
  164. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/receipts/2026-08-30-v1.8.2-backlog-reconciliation.md +0 -0
  165. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/receipts/2026-08-30-v1.8.2-baseline.md +0 -0
  166. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/receipts/2026-08-30-v1.8.2-final-audit.md +0 -0
  167. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/receipts/2026-08-30-v1.8.2-publication.md +0 -0
  168. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/receipts/2026-08-30-v1.8.2-qualification.md +0 -0
  169. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-20-parser-lexical-state-design.md +0 -0
  170. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-21-graph-mutation-coherence-design.md +0 -0
  171. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-24-meaningful-test-coverage-design.md +0 -0
  172. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-30-native-github-actions-design.md +0 -0
  173. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/specs/2026-08-30-v1.8.2-repository-completion-design.md +0 -0
  174. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/demo_logseq_journal.md +0 -0
  175. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/run_demo.py +0 -0
  176. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/legacy/local_digestor.py +0 -0
  177. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/bindings/utils.js +0 -0
  178. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.complete.min.js +0 -0
  179. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.css +0 -0
  180. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.css +0 -0
  181. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.min.js +0 -0
  182. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q2.json +0 -0
  183. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/repomix-output-parser.xml +0 -0
  184. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/__init__.py +0 -0
  185. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/archive_repository_metrics.py +0 -0
  186. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_documentation.py +0 -0
  187. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_release_contract.py +0 -0
  188. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/debug_pre_release.py +0 -0
  189. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/extract_changelog.py +0 -0
  190. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/generate_supply_chain_evidence.py +0 -0
  191. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/update_compat_snapshots.py +0 -0
  192. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/.gitignore +0 -0
  193. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/NOTICE +0 -0
  194. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__init__.py +0 -0
  195. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__main__.py +0 -0
  196. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_lexical_state.py +0 -0
  197. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_press.py +0 -0
  198. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_writer.py +0 -0
  199. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/diagnostics.py +0 -0
  200. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/exceptions.py +0 -0
  201. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/forge.py +0 -0
  202. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/graph.py +0 -0
  203. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic.py +0 -0
  204. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_commands.py +0 -0
  205. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_export.py +0 -0
  206. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/lens.py +0 -0
  207. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/local_graph_assurance.py +0 -0
  208. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_core.py +0 -0
  209. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_parser.py +0 -0
  210. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
  211. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_paths.py +0 -0
  212. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/py.typed +0 -0
  213. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/pyproject.toml +0 -0
  214. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse_embed.py +0 -0
  215. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/__init__.py +0 -0
  216. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/deep-refresh-regression.md +0 -0
  217. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/hierarchy-identity.md +0 -0
  218. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/manifest.json +0 -0
  219. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/pages/nested-title-entrypoint.md +0 -0
  220. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/properties-and-links.md +0 -0
  221. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-deep-refresh.exact.json +0 -0
  222. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-hierarchy-identity.exact.json +0 -0
  223. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-nested-entrypoint.exact.json +0 -0
  224. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-properties-links-assets.exact.json +0 -0
  225. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-softbreak-logbook.exact.json +0 -0
  226. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-task-timing.exact.json +0 -0
  227. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/soft-breaks-properties-logbook.md +0 -0
  228. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/tasks-priority-time.md +0 -0
  229. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/__init__.py +0 -0
  230. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/adversarial.py +0 -0
  231. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/corpus.py +0 -0
  232. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/invariants.py +0 -0
  233. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/projection.py +0 -0
  234. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/work_growth.py +0 -0
  235. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/__init__.py +0 -0
  236. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/runtime_evidence.py +0 -0
  237. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/synthetic_vault.py +0 -0
  238. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_agent_press.py +0 -0
  239. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_agent_writer.py +0 -0
  240. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_archive_repository_metrics.py +0 -0
  241. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_documentation.py +0 -0
  242. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_release_contract.py +0 -0
  243. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_compat_corpus.py +0 -0
  244. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_demo_example.py +0 -0
  245. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_diagnostics.py +0 -0
  246. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_exceptions.py +0 -0
  247. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_extract_changelog.py +0 -0
  248. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_forge.py +0 -0
  249. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_generate_supply_chain_evidence.py +0 -0
  250. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph_collisions.py +0 -0
  251. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph_concurrency.py +0 -0
  252. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_kinetic.py +0 -0
  253. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_layer_boundary.py +0 -0
  254. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_lens.py +0 -0
  255. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_llms_txt_contract.py +0 -0
  256. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_local_graph_assurance.py +0 -0
  257. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logos_parser.py +0 -0
  258. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logseq_markdown.py +0 -0
  259. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logseq_paths.py +0 -0
  260. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_module_entrypoint.py +0 -0
  261. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_package_version.py +0 -0
  262. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_adversarial.py +0 -0
  263. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_deep_refresh.py +0 -0
  264. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_lexical_state.py +0 -0
  265. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_work_growth.py +0 -0
  266. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_performance_evidence_docs.py +0 -0
  267. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_performance_synthetic_vault.py +0 -0
  268. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_plumber_boundary_docs.py +0 -0
  269. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_pre_release_roundtrip.py +0 -0
  270. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_public_api_contract.py +0 -0
  271. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_runtime_evidence.py +0 -0
  272. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_snapshot_graph.py +0 -0
  273. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_writer_security.py +0 -0
  274. {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/typing_samples/public_api.py +0 -0
  275. {logseq_matryca_parser-1.9.0 → 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,10 +111,8 @@ jobs:
111
111
  --output-file "${{ runner.temp }}/requirements-audit.txt"
112
112
 
113
113
  - name: Audit exported dependencies
114
- # Temporary exception governed by docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md.
115
114
  run: >-
116
115
  uv run pip-audit --no-deps --disable-pip
117
- --ignore-vuln PYSEC-2026-3740
118
116
  -r "${{ runner.temp }}/requirements-audit.txt"
119
117
 
120
118
  package-contract:
@@ -128,7 +126,7 @@ jobs:
128
126
  persist-credentials: false
129
127
 
130
128
  - name: Install pinned uv
131
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
129
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
132
130
  with:
133
131
  version: "0.11.7"
134
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,9 +40,7 @@ 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
- # Temporary exception governed by docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md.
44
43
  uv run pip-audit --no-deps --disable-pip \
45
- --ignore-vuln PYSEC-2026-3740 \
46
44
  -r "${{ runner.temp }}/requirements-audit.txt"
47
45
 
48
46
  - name: Run full quality gate
@@ -68,7 +66,7 @@ jobs:
68
66
  persist-credentials: false
69
67
 
70
68
  - name: Install uv
71
- uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
69
+ uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
72
70
  with:
73
71
  version: "0.11.7"
74
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,7 +17,7 @@ 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
23
  | **LENS** | Build a compatible reference-topology visualization; planned compatible deprecation follows a later Trama UI migration | `GraphVisualizer` |
@@ -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,23 @@ 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
+
10
27
  ## [1.9.0] - 2026-09-06
11
28
 
12
29
  ### Added
@@ -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) — latest release **1.9.0** 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.9.0
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,7 +85,8 @@ 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
91
  - **Visualize:** render an interactive reference-topology graph with the transitional,
93
92
  feature-frozen LENS adapter.
@@ -110,7 +109,16 @@ The PKM (Personal Knowledge Management) world is currently forcing users to make
110
109
  ### 🔱 The Matryca Solution: The Best of Both Worlds
111
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.
112
111
 
113
- 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.
114
122
 
115
123
  *You get the reasoning power of a centralized relational database, without sacrificing the plain-text soul of your Second Brain in Logseq.*
116
124
 
@@ -183,7 +191,7 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
183
191
  | :--- | :--- |
184
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. |
185
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. |
186
- | **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. |
187
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. |
188
196
 
189
197
  The base parser is local-first and has zero telemetry. Optional AI, watcher, and
@@ -283,6 +291,14 @@ from logseq_matryca_parser import StackMachineParser
283
291
  strict_page = StackMachineParser(strict_refs=True).parse_page_file("page.md")
284
292
  ```
285
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
+
286
302
  ### 🤖 Agentic Write Access (Append-Only)
287
303
 
288
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.
@@ -337,6 +353,9 @@ We welcome issues, pull requests, and constructive feedback.
337
353
 
338
354
  ## 📦 Release history
339
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
+
340
359
  Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
341
360
  [changelog](CHANGELOG.md), or the signed artifacts on
342
361
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
@@ -46,7 +46,8 @@ 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
52
  - **Visualize:** render an interactive reference-topology graph with the transitional,
52
53
  feature-frozen LENS adapter.
@@ -69,7 +70,16 @@ The PKM (Personal Knowledge Management) world is currently forcing users to make
69
70
  ### 🔱 The Matryca Solution: The Best of Both Worlds
70
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.
71
72
 
72
- 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.
73
83
 
74
84
  *You get the reasoning power of a centralized relational database, without sacrificing the plain-text soul of your Second Brain in Logseq.*
75
85
 
@@ -142,7 +152,7 @@ Logseq Matryca Parser is a deterministic **Stack-Machine engine** that acts as t
142
152
  | :--- | :--- |
143
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. |
144
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. |
145
- | **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. |
146
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. |
147
157
 
148
158
  The base parser is local-first and has zero telemetry. Optional AI, watcher, and
@@ -242,6 +252,14 @@ from logseq_matryca_parser import StackMachineParser
242
252
  strict_page = StackMachineParser(strict_refs=True).parse_page_file("page.md")
243
253
  ```
244
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
+
245
263
  ### 🤖 Agentic Write Access (Append-Only)
246
264
 
247
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.
@@ -296,6 +314,9 @@ We welcome issues, pull requests, and constructive feedback.
296
314
 
297
315
  ## 📦 Release history
298
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
+
299
320
  Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
300
321
  [changelog](CHANGELOG.md), or the signed artifacts on
301
322
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
@@ -7,6 +7,13 @@ published artifacts and attestations, see
7
7
 
8
8
  ## Unreleased
9
9
 
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
+
10
17
  ## v1.9.0
11
18
 
12
19
  Minor release — adds a stable in-memory graph factory and clarifies the
@@ -4,6 +4,9 @@
4
4
 
5
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
6
 
7
+ Version 1.10.0 release preparation does not change this support status; it will
8
+ do so only after publication to PyPI.
9
+
7
10
  | Version | Supported |
8
11
  | ------- | --------- |
9
12
  | **1.9.0** (latest released) | Yes |
@@ -54,7 +54,8 @@ flowchart LR
54
54
  AST --> Lens[LENS Visualizer]
55
55
 
56
56
  Forge --> JSON[JSON / Markdown\nPayloads]
57
- Synapse --> AI[LangChain /\nLlamaIndex Nodes]
57
+ Synapse --> LC[LangChain Documents]
58
+ Synapse -. call-time delegation .-> LI[LlamaIndex companion]
58
59
  Lens --> HTML[Interactive\n3D Graph]
59
60
  ```
60
61
 
@@ -76,7 +77,7 @@ The Matryca Parser is the **deterministic translation layer**: it reads the hier
76
77
 
77
78
  **Naive / standard RAG** routinely applies **recursive or fixed-size chunkers** to raw Markdown. For Logseq-style graphs this behaves like dropping the disk into a blender: contiguous bytes are diced by character budgets, sibling blocks are fused with unrelated parents, and indentation semantics are erased. The result is embeddings of **ambiguous fragments** disconnected from lineage — a lossy projection of structured storage into unstructured bags of text.
78
79
 
79
- The **Matryca (Logos) approach** rejects that erosion of structure. Implementation-wise, **`StackMachineParser` (alias `LogosParser`)** performs **O(N) deterministic parsing** using spatial indentation as the sole arbiter of parent–child linkage, yielding a rigorous **Abstract Syntax Tree (AST)** (`LogseqPage`, `LogseqNode`). **`SYNAPSE`** acts as driver-level output: adapters emit **LangChain `Document`** and **LlamaIndex `TextNode`** objects whose **metadata encodes lineage** (`parent_id`, `path`, `left_id`, graph tokens), preserving the **exact topological semantics** expected by Sovereign AI and local pipelines.
80
+ The **Matryca (Logos) approach** rejects that erosion of structure. Implementation-wise, **`StackMachineParser` (alias `LogosParser`)** performs **O(N) deterministic parsing** using spatial indentation as the sole arbiter of parent–child linkage, yielding a rigorous **Abstract Syntax Tree (AST)** (`LogseqPage`, `LogseqNode`). **`SYNAPSE`** emits lineage-aware LangChain `Document` objects and context-enriched chunks. A separate optional companion owns native LlamaIndex `TextNode` construction and can reuse the framework-neutral lineage helpers.
80
81
 
81
82
  Together, LOGOS + SYNAPSE implement **Document-Driven Development** principles. Historical specifications and blueprints are preserved in [`/docs/design-docs/`](./design-docs/) to constrain behavior, while the runtime code enforces deterministic invariants matching those documents.
82
83
 
@@ -124,7 +125,7 @@ Person(knowledgeWorker, "Knowledge Worker", "Local operator of a sovereign Logse
124
125
  System_Boundary(matrycaEcosystem, "Matryca.ai Ecosystem") {
125
126
  Container(kinetic, "KINETIC", "Typer / Rich CLI", "CLI — global `--verbose` / `--graph` callback; export (json, markdown, langchain, langchain-enriched, obsidian), visualize, demo, graph scans, `agent-read` / `agent-write` (X-Ray + headless splice), weekly append (`append`).")
126
127
  Container(logos, "LOGOS", "Python / Pydantic", "Stack-Machine AST engine — LogseqPage and LogseqNode models.")
127
- Container(synapse, "SYNAPSE", "LangChain / LlamaIndex", "Framework-native exporters with parent-child metadata.")
128
+ Container(synapse, "SYNAPSE", "LangChain + lazy companion bridge", "LangChain documents and a call-time delegation point for the separate LlamaIndex companion.")
128
129
  Container(lens, "LENS", "NetworkX / PyVis", "Reference-topology visualization to interactive HTML.")
129
130
  }
130
131
 
@@ -183,11 +184,12 @@ flowchart LR
183
184
  FO["Obsidian YAML + ^ anchors"]:::logos
184
185
  end
185
186
 
186
- subgraph SYN["SYNAPSE — Framework-native adapters"]
187
+ subgraph SYN["SYNAPSE — Parser-owned adapters"]
187
188
  LC["LangChain Document visitor"]:::synapse
188
- LI["LlamaIndex TextNode + NodeRelationship"]:::synapse
189
189
  end
190
190
 
191
+ LI["Separate LlamaIndex companion\n(planned; not yet published)"]:::sink
192
+
191
193
  subgraph OUT["DESTINATION — LLM OS plane"]
192
194
  VS[("Vector store / index")]:::sink
193
195
  RAG["RAG retrieval + prompt assembly"]:::sink
@@ -204,7 +206,7 @@ flowchart LR
204
206
  AST --> FJ
205
207
  AST --> FO
206
208
  AST --> LC
207
- AST --> LI
209
+ SYN -. call-time delegation .-> LI
208
210
  AST --> NX --> PV
209
211
  LC --> VS
210
212
  LI --> VS
@@ -292,17 +294,17 @@ classDiagram
292
294
  RawMarkdown --> LogseqNode : Parsing & Extraction
293
295
  ```
294
296
 
295
- ### 3.2 SYNAPSE — AST → LangChain / LlamaIndex with lineage injection
297
+ ### 3.2 SYNAPSE — AST → LangChain, with a separate LlamaIndex companion
296
298
 
297
299
  **SYNAPSE** (`logseq_matryca_parser.synapse`) implements **`ASTVisitor`** harnesses rather than brittle string serializers.
298
300
 
299
301
  - **LangChain.** [`LangChainVisitor`](../src/logseq_matryca_parser/synapse.py) emits one **`Document`** per node with `page_content=node.clean_text` and metadata unioning **`node.properties`** with lineage fields (`uuid`, `parent_id`, `indent_level`, `source`, **`path`** — the UUID ancestry chain — `left_id`, `refs`, `task_status`, repeater, `created_at`). The underlying **`LogseqNode`** additionally carries **`task_priority`**, **`scheduled_at`**, and **`deadline_at`** (§3.1); adapters or custom visitors can project those into metadata when feeding **downstream graph databases** or **GraphRAG** filters. This preserves **parent context** explicitly in retrieval filters and re-ranking.
300
302
 
301
- - **LlamaIndex.** [`LlamaIndexVisitor`](../src/logseq_matryca_parser/synapse.py) constructs **`TextNode`** instances keyed by **`id_=node.uuid`**. It wires **`NodeRelationship.PARENT`** and **`CHILD`** via **`RelatedNodeInfo`**, back-linking when the parent appears earlier in preorder traversal — encoding **topology as first-class edges** beyond flat metadata dictionaries. From **v1.3.0**, it also emits **`SOURCE`** (page-level anchor via **`page_source_node_id`**), **`NEXT`**, and **`PREVIOUS`** sibling edges for spatial traversal in vector stores.
303
+ - **LlamaIndex.** The Parser no longer constructs `TextNode` objects or imports `llama-index-core`. `SynapseAdapter.to_llamaindex_nodes()` is a call-time compatibility shim to the separate `logseq-matryca-parser-llamaindex` companion, which is planned but not yet published on PyPI. The companion owns native node construction and the `PARENT`, `CHILD`, `SOURCE`, `NEXT`, and `PREVIOUS` relationships. It can reuse the Parser's framework-neutral `build_synapse_metadata` and `page_source_node_id` helpers.
302
304
 
303
- - **Vector-store metadata.** **`SynapseMetadata`** and **`build_synapse_metadata`** project **`task_priority`**, temporal epoch fields, **`source_uuid`**, and joined **`path`** / **`refs`** strings into LangChain/LlamaIndex metadata without leaking raw Python list reprs.
305
+ - **Vector-store metadata.** **`SynapseMetadata`** and **`build_synapse_metadata`** project **`task_priority`**, temporal epoch fields, **`source_uuid`**, and joined **`path`** / **`refs`** strings into LangChain metadata without leaking raw Python list reprs; the separate companion may reuse this framework-neutral projection.
304
306
 
305
- Together, adapters guarantee that **embedding units align with intentional block boundaries**, not splitter accidents.
307
+ The Parser-owned LangChain and context-enriched adapters keep **embedding units aligned with intentional block boundaries**, not splitter accidents. Native LlamaIndex behavior is owned and qualified by the separate companion.
306
308
 
307
309
  #### 3.2.1 Context-enriched RAG — `SynapseAdapter.to_context_enriched_chunks`
308
310
 
@@ -637,7 +639,7 @@ Recursive and character-budget chunkers assume **approximately flat prose**. Log
637
639
  | **Property ingestion as prose** | `collapsed:: true`, SCHEDULED markers, drawer noise degrade embedding geometry. |
638
640
  | **UUID / reference desynchronization**| Block anchors no longer correspond to embeddings; graph-native references `((uuid))` become orphaned strings. |
639
641
 
640
- **Deterministic AST parsing plus SYNAPSE metadata** restores **semantic sovereignty**: each retrieval unit inherits explicit **ancestor identity** (`parent_id`, cumulative `path`) and optional graph-native LlamaIndex **edges**, enabling **topology-aware augmentation** aligned with Andrej Karpathy’s mental model — the LLM “CPU” issues reads against a hierarchical disk through a **faithful driver**, not a stochastic blender.
642
+ **Deterministic AST parsing plus SYNAPSE metadata** restores **semantic sovereignty**: each retrieval unit inherits explicit **ancestor identity** (`parent_id`, cumulative `path`) and may carry graph-native LlamaIndex **edges through the separate companion**, enabling **topology-aware augmentation** aligned with Andrej Karpathy’s mental model — the LLM “CPU” issues reads against a hierarchical disk through a **faithful driver**, not a stochastic blender.
641
643
 
642
644
  ---
643
645
 
@@ -101,6 +101,11 @@ make all
101
101
  make vendor-name-check
102
102
  ```
103
103
 
104
+ The repository policy check scans Git-tracked and non-ignored untracked files,
105
+ including hidden paths. It uses Python's standard library and Git's NUL-delimited
106
+ file listing; enumeration or read failures are errors, not a successful empty
107
+ scan. `uv.lock` and the checker source are explicit exemptions.
108
+
104
109
  When automation files change, also run actionlint and zizmor using the pinned
105
110
  versions documented in `workflow-analysis.yml`. When packaging changes, build
106
111
  wheel and sdist, run `scripts/check_wheel_contract.py`, Twine 6.2.0, and the
@@ -8,9 +8,9 @@ audience: contributors
8
8
  owner: logseq-matryca-parser
9
9
  authority: source_repository
10
10
  execution_mode: reviewed
11
- last_verified: 2026-09-05
12
- verified: 2026-09-05
13
- stale_after: 2027-02-26
11
+ last_verified: 2026-09-27
12
+ verified: 2026-09-27
13
+ stale_after: 2027-03-26
14
14
  okf_profile: matryca_okf_inspired_quality
15
15
  okf_spec_version: null
16
16
  supersedes: null
@@ -19,7 +19,7 @@ superseded_by: null
19
19
 
20
20
  # Clean Code & Clean Architecture — Logseq Matryca Parser
21
21
 
22
- **Version:** documents **v1.9.0** maintainer contracts (v1 structural backlog complete; parser, graph-coherence, local-assurance, and stable snapshot-graph slices merged)
22
+ **Version:** documents maintainer contracts refreshed for **v1.10.0** release preparation; v1.10.0 is not yet published (v1 structural backlog complete; parser, graph-coherence, local-assurance, and stable snapshot-graph slices merged)
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
 
@@ -58,7 +58,7 @@ public `plumber.*` contracts. Public APIs (`LogseqGraph`, `StackMachineParser`,
58
58
  |------|-----------|-------------------------|
59
59
  | **Entities** | `logos_core.py`, `exceptions.py` | AST shape, Pydantic invariants, typed errors |
60
60
  | **Use cases** | `logos_parser.py`, `graph.py`, `logseq_markdown.py`, `logseq_paths.py` | Parse, index, serialize, path translation — **no** CLI or optional AI/viz imports |
61
- | **Adapters** | `synapse.py`, `forge.py`, `agent_writer.py`, `agent_press.py`, `lens.py` | Framework projections (LangChain, LlamaIndex, Obsidian, PyVis) |
61
+ | **Adapters** | `synapse.py`, `forge.py`, `agent_writer.py`, `agent_press.py`, `lens.py` | Parser-owned projections (LangChain, Obsidian, PyVis); LlamaIndex node construction belongs to a separate companion package |
62
62
  | **Drivers** | `kinetic.py`, `kinetic_commands.py`, `kinetic_export.py`, `__main__.py` | Operator CLI — orchestrates use cases and adapters |
63
63
 
64
64
  Parser runtime modules must not import Plumber, Trama, or Brain. Trama and Brain
@@ -204,9 +204,14 @@ compatibility decision.
204
204
 
205
205
  | Area | Responsibility |
206
206
  |------|----------------|
207
- | Visitors | `LangChainVisitor`, `LlamaIndexVisitor` |
207
+ | Visitors | `LangChainVisitor` |
208
208
  | Enriched RAG | `to_context_enriched_chunks`, embed expansion via `synapse_embed` |
209
209
 
210
+ `SynapseAdapter.to_llamaindex_nodes()` is a lazy compatibility bridge, not a
211
+ Parser-owned framework adapter. The separate LlamaIndex companion owns native
212
+ node construction and is not yet published; the Parser dependency graph stays
213
+ framework-light.
214
+
210
215
  **OCP:** `BlockEmbedExpander` / `PageEmbedExpander` in `synapse_embed.py` — [#70](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/70) **shipped**.
211
216
 
212
217
  ---
@@ -11,6 +11,22 @@ uv sync --all-extras
11
11
 
12
12
  Imports use the stable package root (`logseq_matryca_parser.__all__`). See [`ARCHITECTURE.md`](ARCHITECTURE.md) for module roles and [`logseq_ast_primer.md`](logseq_ast_primer.md) for Spatial Markdown rules.
13
13
 
14
+ The Parser's `[ai]` extra installs LangChain; `[all]` also includes its
15
+ visualization dependencies. Neither installs LlamaIndex or NLTK. Native
16
+ LlamaIndex nodes are delegated by `SynapseAdapter.to_llamaindex_nodes()` to the
17
+ separate `logseq-matryca-parser-llamaindex` companion, which is planned but not
18
+ yet published on PyPI. The Parser lock and distributions exclude both
19
+ `llama-index-core` and NLTK; this does not resolve the separate NLTK advisory
20
+ for applications that install NLTK through another dependency.
21
+
22
+ When published, install the companion separately with either command. Run
23
+ `uv add` from your uv-managed consuming project, not from the Parser checkout:
24
+
25
+ - `pip install logseq-matryca-parser-llamaindex`
26
+ - `uv add logseq-matryca-parser-llamaindex`
27
+
28
+ Do not use these commands before publication.
29
+
14
30
  ---
15
31
 
16
32
  ## Recipe 1 — Single page → LangChain documents
@@ -40,14 +56,19 @@ matryca-parse export /path/to/graph output --format langchain
40
56
 
41
57
  Requires optional `[ai]` extra (`uv sync --extra ai`).
42
58
 
43
- For a complete offline example that exercises the LangChain, LlamaIndex, and
44
- context-enriched exports—including a resolved Logseq page embed—run
59
+ For an offline example that exercises the LangChain, LlamaIndex, and
60
+ context-enriched exports—including a resolved Logseq page embed—install the
61
+ companion when it is published, then run
45
62
  [`examples/run_synapse_rag.py`](../examples/run_synapse_rag.py):
46
63
 
47
64
  ```bash
48
65
  uv run python examples/run_synapse_rag.py
49
66
  ```
50
67
 
68
+ Until then, the example's LangChain and context-enriched paths can run with
69
+ `uv sync --extra ai`; its LlamaIndex path exits with a specific companion
70
+ installation message.
71
+
51
72
  ---
52
73
 
53
74
  ## Recipe 2 — Load vault + fluent graph query
@@ -83,7 +83,7 @@ date expires.
83
83
  | [`AAIF_ALIGNMENT.md`](AAIF_ALIGNMENT.md) | Agentic-interoperability alignment and non-membership boundary |
84
84
  | [`CLEAN_CODE_ARCHITECTURE.md`](CLEAN_CODE_ARCHITECTURE.md) | Architecture rings, public graph API, and dependency rules |
85
85
  | [`REPOSITORY_STELLAR_ROADMAP_2026-08-06.md`](REPOSITORY_STELLAR_ROADMAP_2026-08-06.md) | Current evidence-backed repository roadmap |
86
- | [`quality/ISSUE_RECONCILIATION_2026-08-06.md`](quality/ISSUE_RECONCILIATION_2026-08-06.md) | Dated GitHub backlog evidence |
86
+ | [`quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md`](quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md) | Current dated GitHub issue and pull-request evidence |
87
87
  | [`quality/README.md`](quality/README.md) | Quality and architecture navigation |
88
88
  | [`decisions/index.md`](decisions/index.md) | Decision registry and ADR gaps |
89
89
  | [`reference/index.md`](reference/index.md) | Provenance and ecosystem relations |
@@ -112,6 +112,8 @@ Historical audits, executed roadmaps, and superseded specifications remain in
112
112
  place as evidence. They must be clearly labeled by navigation or metadata and
113
113
  must point to their successor when one exists. Do not rewrite historical
114
114
  claims, dates, or measured counts as though they described the present.
115
+ The August 6 issue reconciliation remains historical; its successor is the
116
+ September 24 live issue snapshot in the maintained quality bundle.
115
117
 
116
118
  ### 3.4 Generated documentation
117
119
 
@@ -48,7 +48,7 @@ entry points.
48
48
  | [`internal/LOCAL_CODE_STUDY.md`](internal/LOCAL_CODE_STUDY.md) | Maintainers | Local code audit runbook (graph-based MCP) |
49
49
  | [`logseq_ast_primer.md`](logseq_ast_primer.md) | Parser contributors | Logseq Spatial Markdown domain rules |
50
50
  | [`GOOD_FIRST_ISSUES.md`](GOOD_FIRST_ISSUES.md) | New contributors | Curated starter tasks; Clean Architecture v1 shipped in **v1.6.0** ([#78](https://github.com/MarcoPorcellato/logseq-matryca-parser/issues/78)) |
51
- | [`COOKBOOK.md`](COOKBOOK.md) | Integrators | Copy-paste recipes (Synapse, graph query, watcher, agents, contributor test patterns) |
51
+ | [`COOKBOOK.md`](COOKBOOK.md) | Integrators | Copy-paste recipes (Synapse, optional companion status, graph query, watcher, agents, contributor test patterns) |
52
52
  | [`RELEASE_PROCESS.md`](RELEASE_PROCESS.md) | Maintainers | Semver, tag, and PyPI publish checklist |
53
53
  | [`CODEQL.md`](CODEQL.md) | Maintainers | CodeQL default setup notes |
54
54
  | [`BUG_HUNT_REPORT.md`](BUG_HUNT_REPORT.md) | Maintainers, contributors | Local static analysis bug audit (Clean Architecture lens, runtime evidence) |
@@ -56,7 +56,7 @@ entry points.
56
56
  | [`REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md`](REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md) | Maintainers | GitHub governance, supply-chain, agent interoperability, and AAIF-readiness study |
57
57
  | [`LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md`](LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md) | Maintainers, parser contributors | License-safe comparative study and execution plan for semantic, complexity, and source-location assurance |
58
58
  | [`README_READABILITY_REPORT_2026-08-08.md`](README_READABILITY_REPORT_2026-08-08.md) | Maintainers | Measured human and AI README assessment with a phased simplification proposal |
59
- | [`quality/ISSUE_RECONCILIATION_2026-08-06.md`](quality/ISSUE_RECONCILIATION_2026-08-06.md) | Maintainers, contributors | Evidence-backed disposition of every issue open at the audit baseline |
59
+ | [`quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md`](quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md) | Maintainers | Current disposition of all 33 live open issues and four open PRs |
60
60
  | [`decisions/index.md`](decisions/index.md) | Maintainers | Canonical decision registry, including the external-oracle boundary |
61
61
  | [`reference/index.md`](reference/index.md) | Maintainers, integrators | Provenance and Matryca ecosystem relations |
62
62
  | [`reference/DIAGNOSTICS.md`](reference/DIAGNOSTICS.md) | Integrators, contributors | Stable diagnostic codes, payload schema, path safety, CLI rendering, and escalation |
@@ -84,6 +84,7 @@ entry points.
84
84
  | [`error_log.md`](error_log.md) | Informal internal fix log |
85
85
  | [`REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md`](REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md) | Superseded audit baseline; retained for provenance |
86
86
  | [`quality/ISSUE_TRIAGE_2026-07.md`](quality/ISSUE_TRIAGE_2026-07.md) | Superseded July issue-triage baseline |
87
+ | [`quality/ISSUE_RECONCILIATION_2026-08-06.md`](quality/ISSUE_RECONCILIATION_2026-08-06.md) | Historical August issue baseline; superseded by the September 24 ledger |
87
88
 
88
89
  ## Root-level docs
89
90