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.
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/ci.yml +4 -6
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-hygiene.yml +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/parser-adversarial.yml +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/pypi_publish.yml +2 -4
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/scorecard.yml +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/workflow-analysis.yml +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.pre-commit-config.yaml +1 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/AGENTS.md +7 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CHANGELOG.md +17 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CONTRIBUTING.md +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/Makefile +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/PKG-INFO +25 -6
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/README.md +24 -3
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/RELEASE_HIGHLIGHTS.md +7 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/SECURITY.md +3 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ARCHITECTURE.md +13 -11
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CI_ASSURANCE.md +5 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CLEAN_CODE_ARCHITECTURE.md +11 -6
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/COOKBOOK.md +23 -2
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/DOCUMENTATION_SYSTEM.md +3 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/README.md +3 -2
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ROADMAP_2026-2027.md +11 -3
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/index.md +5 -5
- logseq_matryca_parser-1.10.0/docs/internal/LLAMAINDEX_COMPANION_MIGRATION_CHECKPOINT_2026-09-27.md +36 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/log.md +55 -3
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/maintained.toml +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +7 -7
- logseq_matryca_parser-1.10.0/docs/quality/OPEN_ISSUE_RECONCILIATION_2026-09-24.md +102 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/README.md +2 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/API_STABILITY.md +12 -3
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/CONFORMANCE_SUPPORT_MATRIX.md +4 -4
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/DEPENDENCY_LICENSE_POLICY.md +5 -6
- logseq_matryca_parser-1.10.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +64 -0
- logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-24-open-pr-reconciliation-and-vendor-gate.md +228 -0
- logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-26-hypothesis-parser-properties.md +102 -0
- logseq_matryca_parser-1.10.0/docs/superpowers/plans/2026-09-27-llamaindex-companion-separation.md +173 -0
- logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-24-open-pr-quality-gates.md +90 -0
- logseq_matryca_parser-1.10.0/docs/superpowers/specs/2026-09-27-llamaindex-companion-separation-design.md +161 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/run_synapse_rag.py +18 -7
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/llms.txt +7 -4
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/index.json +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q3.json +9350 -3256
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/pyproject.toml +1 -3
- logseq_matryca_parser-1.10.0/release-bundle/RELEASE_NOTES.md +16 -0
- logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.py +101 -0
- logseq_matryca_parser-1.10.0/scripts/check_vendor_free_docs.sh +6 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_wheel_contract.py +12 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_version.py +1 -1
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse.py +20 -117
- logseq_matryca_parser-1.10.0/tests/test_check_vendor_free_docs.py +97 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_wheel_contract.py +21 -2
- logseq_matryca_parser-1.10.0/tests/test_dependency_advisory_exception.py +37 -0
- logseq_matryca_parser-1.10.0/tests/test_dependency_boundary.py +52 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph.py +58 -9
- logseq_matryca_parser-1.10.0/tests/test_optional_import_boundary.py +70 -0
- logseq_matryca_parser-1.10.0/tests/test_parser_properties.py +256 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_quality_gate_contract.py +19 -39
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_synapse.py +75 -151
- logseq_matryca_parser-1.10.0/tests/test_synapse_example.py +95 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/uv.lock +81 -1222
- logseq_matryca_parser-1.9.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +0 -76
- logseq_matryca_parser-1.9.0/release-bundle/RELEASE_NOTES.md +0 -31
- logseq_matryca_parser-1.9.0/scripts/check_vendor_free_docs.sh +0 -20
- logseq_matryca_parser-1.9.0/tests/test_dependency_advisory_exception.py +0 -53
- logseq_matryca_parser-1.9.0/tests/test_synapse_example.py +0 -42
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.cursorignore +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.cursorrules +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.gitattributes +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/CODEOWNERS +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/FUNDING.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/clean_arch_issue_numbers.txt +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/copilot-instructions.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/dependabot.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/dependency-license-overrides.toml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/labels.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/scripts/create_clean_arch_issues.sh +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/scripts/create_good_first_issues.sh +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/daily-metrics.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/dependency-review.yml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.gitignore +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.repomixignore +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CITATION.cff +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CLAUDE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/CODE_OF_CONDUCT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/GOVERNANCE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/LICENSE +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/MAINTAINERS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/NOTICE +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/SUPPORT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/SKILL.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/AAIF_ALIGNMENT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/AI_CONTRIBUTION_POLICY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/BUG_HUNT_REPORT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CODEQL.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/GOOD_FIRST_ISSUES.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/ISSUE_TRIAGE_POLICY.md +0 -0
- {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
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/README_READABILITY_REPORT_2026-08-08.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/RELEASE_PROCESS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0001-PROTOCOL_ADAPTER_BOUNDARY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0002-OFFICIAL-OKF-V02-MIGRATION-GATE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0003-AAIF-SUBMISSION-GATE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-0004-PARSER-PLUMBER-BOUNDARY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-001-external-oracle-boundary.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/ADR-002-local-graph-assurance-boundary.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/decisions/index.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/README.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/design-docs/REFERENCE_SPEC.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/error_log.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/goals/LSDOC_PARSER_ASSURANCE_GOAL.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/ASSURANCE_TERRA_HANDOFF_2026-08-21.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
- {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
- {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
- {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
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/logseq_ast_primer.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/AGENT_ACTION_CONTRACT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/DIAGNOSTICS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/LOCAL_GRAPH_ASSURANCE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/PERFORMANCE_EVIDENCE.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/reference/index.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/rfc/OLLAMA_RAG.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/rfc/SOURCE_LOCATION_RFC.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/security/DAILY_METRICS_THREAT_MODEL.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-parser-lexical-state.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-20-runtime-evidence-harness.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-graph-mutation-coherence.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-21-post-m9-reconciliation.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-24-local-assurance-coverage.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/superpowers/plans/2026-08-30-native-github-actions.md +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/demo_logseq_journal.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/examples/run_demo.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/legacy/local_digestor.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/bindings/utils.js +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.complete.min.js +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/tom-select/tom-select.css +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.css +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/lib/vis-9.1.2/vis-network.min.js +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/metrics/quarters/2026-Q2.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/repomix-output-parser.xml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/__init__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/archive_repository_metrics.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_documentation.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/check_release_contract.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/debug_pre_release.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/extract_changelog.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/generate_supply_chain_evidence.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/scripts/update_compat_snapshots.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/.gitignore +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/NOTICE +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__init__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/__main__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/_lexical_state.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_press.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/agent_writer.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/diagnostics.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/exceptions.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/forge.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/graph.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_commands.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/kinetic_export.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/lens.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/local_graph_assurance.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_core.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logos_parser.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/logseq_paths.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/py.typed +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/pyproject.toml +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/src/logseq_matryca_parser/synapse_embed.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/__init__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/deep-refresh-regression.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/hierarchy-identity.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/manifest.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/pages/nested-title-entrypoint.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/properties-and-links.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-deep-refresh.exact.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-hierarchy-identity.exact.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-nested-entrypoint.exact.json +0 -0
- {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
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-softbreak-logbook.exact.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/snapshots/m1a-task-timing.exact.json +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/soft-breaks-properties-logbook.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/fixtures/compat/v1/tasks-priority-time.md +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/__init__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/adversarial.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/corpus.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/invariants.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/projection.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/parser_assurance/work_growth.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/__init__.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/runtime_evidence.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/performance/synthetic_vault.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_agent_press.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_agent_writer.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_archive_repository_metrics.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_documentation.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_check_release_contract.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_compat_corpus.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_demo_example.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_diagnostics.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_exceptions.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_extract_changelog.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_forge.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_generate_supply_chain_evidence.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph_collisions.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_graph_concurrency.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_kinetic.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_layer_boundary.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_lens.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_llms_txt_contract.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_local_graph_assurance.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logos_parser.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logseq_markdown.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_logseq_paths.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_module_entrypoint.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_package_version.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_adversarial.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_deep_refresh.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_lexical_state.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_parser_work_growth.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_performance_evidence_docs.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_performance_synthetic_vault.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_plumber_boundary_docs.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_pre_release_roundtrip.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_public_api_contract.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_runtime_evidence.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_snapshot_graph.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/test_writer_security.py +0 -0
- {logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/tests/typing_samples/public_api.py +0 -0
- {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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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@
|
|
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"
|
{logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/pypi_publish.yml
RENAMED
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
persist-credentials: false
|
|
29
29
|
|
|
30
30
|
- name: Install uv
|
|
31
|
-
uses: astral-sh/setup-uv@
|
|
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@
|
|
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"
|
{logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/scorecard.yml
RENAMED
|
@@ -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@
|
|
42
|
+
uses: github/codeql-action/upload-sarif@1c5b675653bb5c22dbe9b12b556ec555138e09fd # v4.38.1
|
|
43
43
|
with:
|
|
44
44
|
sarif_file: results.sarif
|
{logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/.github/workflows/workflow-analysis.yml
RENAMED
|
@@ -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@
|
|
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"
|
|
@@ -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
|
|
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) —
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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 -->
|
|
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`**
|
|
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
|
|
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 —
|
|
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
|
-
|
|
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
|
|
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.**
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
{logseq_matryca_parser-1.9.0 → logseq_matryca_parser-1.10.0}/docs/CLEAN_CODE_ARCHITECTURE.md
RENAMED
|
@@ -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-
|
|
12
|
-
verified: 2026-09-
|
|
13
|
-
stale_after: 2027-
|
|
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.
|
|
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` |
|
|
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
|
|
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
|
|
44
|
-
context-enriched exports—including a resolved Logseq page embed—
|
|
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/
|
|
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/
|
|
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
|
|