logseq-matryca-parser 1.8.1__tar.gz → 1.8.2__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 (249) hide show
  1. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/dependabot.yml +4 -0
  2. logseq_matryca_parser-1.8.2/.github/workflows/ci.yml +150 -0
  3. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/workflows/daily-metrics.yml +4 -1
  4. logseq_matryca_parser-1.8.2/.github/workflows/dependency-hygiene.yml +37 -0
  5. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/workflows/dependency-review.yml +2 -1
  6. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/workflows/parser-adversarial.yml +6 -3
  7. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/workflows/pypi_publish.yml +32 -24
  8. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/workflows/scorecard.yml +3 -2
  9. logseq_matryca_parser-1.8.2/.github/workflows/workflow-analysis.yml +59 -0
  10. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.pre-commit-config.yaml +4 -0
  11. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/AGENTS.md +3 -1
  12. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/CHANGELOG.md +27 -0
  13. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/CONTRIBUTING.md +3 -2
  14. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/PKG-INFO +2 -1
  15. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/README.md +1 -0
  16. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/RELEASE_HIGHLIGHTS.md +15 -0
  17. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/SECURITY.md +3 -2
  18. logseq_matryca_parser-1.8.2/docs/CI_ASSURANCE.md +157 -0
  19. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/CLEAN_CODE_ARCHITECTURE.md +4 -4
  20. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/CODEQL.md +7 -0
  21. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/COOKBOOK.md +41 -1
  22. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/README.md +4 -3
  23. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/RELEASE_PROCESS.md +4 -0
  24. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/ROADMAP_2026-2027.md +20 -19
  25. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/goals/LSDOC_PARSER_ASSURANCE_GOAL.md +22 -10
  26. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/index.md +4 -3
  27. logseq_matryca_parser-1.8.2/docs/internal/POST_V1_8_1_BACKLOG_EXECUTION_2026-08-25.md +391 -0
  28. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/log.md +68 -3
  29. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/maintained.toml +1 -0
  30. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/quality/README.md +4 -3
  31. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/API_STABILITY.md +3 -1
  32. logseq_matryca_parser-1.8.2/docs/superpowers/plans/2026-08-30-native-github-actions.md +307 -0
  33. logseq_matryca_parser-1.8.2/docs/superpowers/specs/2026-08-30-native-github-actions-design.md +148 -0
  34. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/metrics/index.json +1 -1
  35. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/metrics/quarters/2026-Q3.json +1371 -201
  36. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/pyproject.toml +6 -0
  37. logseq_matryca_parser-1.8.2/release-bundle/RELEASE_NOTES.md +26 -0
  38. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/_version.py +1 -1
  39. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/graph.py +2 -2
  40. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/kinetic_commands.py +2 -2
  41. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/local_graph_assurance.py +1 -1
  42. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/synapse.py +4 -3
  43. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_check_wheel_contract.py +1 -1
  44. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_graph.py +17 -0
  45. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_kinetic.py +3 -1
  46. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_lens.py +18 -0
  47. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_local_graph_assurance.py +31 -4
  48. logseq_matryca_parser-1.8.2/tests/test_module_entrypoint.py +17 -0
  49. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_public_api_contract.py +6 -0
  50. logseq_matryca_parser-1.8.2/tests/test_quality_gate_contract.py +489 -0
  51. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_synapse.py +7 -3
  52. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_writer_security.py +4 -2
  53. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/typing_samples/public_api.py +4 -1
  54. logseq_matryca_parser-1.8.2/zizmor.yml +3 -0
  55. logseq_matryca_parser-1.8.1/.github/workflows/ci.yml +0 -80
  56. logseq_matryca_parser-1.8.1/release-bundle/RELEASE_NOTES.md +0 -55
  57. logseq_matryca_parser-1.8.1/tests/test_quality_gate_contract.py +0 -170
  58. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.cursorignore +0 -0
  59. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.cursorrules +0 -0
  60. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.gitattributes +0 -0
  61. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/CODEOWNERS +0 -0
  62. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/FUNDING.yml +0 -0
  63. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  64. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
  65. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  66. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  67. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  68. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/clean_arch_issue_numbers.txt +0 -0
  69. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/copilot-instructions.md +0 -0
  70. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/dependency-license-overrides.toml +0 -0
  71. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/labels.yml +0 -0
  72. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/scripts/create_clean_arch_issues.sh +0 -0
  73. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.github/scripts/create_good_first_issues.sh +0 -0
  74. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.gitignore +0 -0
  75. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/.repomixignore +0 -0
  76. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/CITATION.cff +0 -0
  77. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/CLAUDE.md +0 -0
  78. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/CODE_OF_CONDUCT.md +0 -0
  79. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/GOVERNANCE.md +0 -0
  80. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/LICENSE +0 -0
  81. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/MAINTAINERS.md +0 -0
  82. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/Makefile +0 -0
  83. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/NOTICE +0 -0
  84. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/SUPPORT.md +0 -0
  85. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/claude-skill-logseq-read/SKILL.md +0 -0
  86. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
  87. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/AAIF_ALIGNMENT.md +0 -0
  88. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/AI_CONTRIBUTION_POLICY.md +0 -0
  89. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/ARCHITECTURE.md +0 -0
  90. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/BUG_HUNT_REPORT.md +0 -0
  91. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/DOCUMENTATION_SYSTEM.md +0 -0
  92. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/GOOD_FIRST_ISSUES.md +0 -0
  93. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/ISSUE_TRIAGE_POLICY.md +0 -0
  94. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md +0 -0
  95. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/README_READABILITY_REPORT_2026-08-08.md +0 -0
  96. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md +0 -0
  97. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
  98. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +0 -0
  99. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/ADR-0001-PROTOCOL_ADAPTER_BOUNDARY.md +0 -0
  100. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/ADR-0002-OFFICIAL-OKF-V02-MIGRATION-GATE.md +0 -0
  101. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/ADR-0003-AAIF-SUBMISSION-GATE.md +0 -0
  102. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/ADR-001-external-oracle-boundary.md +0 -0
  103. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/ADR-002-local-graph-assurance-boundary.md +0 -0
  104. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/decisions/index.md +0 -0
  105. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
  106. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
  107. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
  108. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
  109. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
  110. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
  111. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/README.md +0 -0
  112. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/design-docs/REFERENCE_SPEC.md +0 -0
  113. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/error_log.md +0 -0
  114. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/internal/ASSURANCE_TERRA_HANDOFF_2026-08-21.md +0 -0
  115. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
  116. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/internal/M1A_CORRECTIVE_HARDENING_RESTART_HANDOFF_2026-08-16.md +0 -0
  117. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/internal/M5_LOCAL_GRAPH_ASSURANCE_REVIEW_HANDOFF_2026-08-18.md +0 -0
  118. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
  119. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/logseq_ast_primer.md +0 -0
  120. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
  121. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
  122. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +0 -0
  123. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
  124. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/AGENT_ACTION_CONTRACT.md +0 -0
  125. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/CONFORMANCE_SUPPORT_MATRIX.md +0 -0
  126. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/DEPENDENCY_LICENSE_POLICY.md +0 -0
  127. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/DIAGNOSTICS.md +0 -0
  128. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
  129. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/LOCAL_GRAPH_ASSURANCE.md +0 -0
  130. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/PERFORMANCE_EVIDENCE.md +0 -0
  131. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/reference/index.md +0 -0
  132. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/rfc/OLLAMA_RAG.md +0 -0
  133. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/rfc/SOURCE_LOCATION_RFC.md +0 -0
  134. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
  135. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
  136. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
  137. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
  138. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
  139. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
  140. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
  141. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
  142. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
  143. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
  144. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
  145. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
  146. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/security/DAILY_METRICS_THREAT_MODEL.md +0 -0
  147. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/plans/2026-08-20-parser-lexical-state.md +0 -0
  148. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/plans/2026-08-20-runtime-evidence-harness.md +0 -0
  149. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/plans/2026-08-21-graph-mutation-coherence.md +0 -0
  150. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/plans/2026-08-21-post-m9-reconciliation.md +0 -0
  151. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/plans/2026-08-24-local-assurance-coverage.md +0 -0
  152. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/specs/2026-08-20-parser-lexical-state-design.md +0 -0
  153. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/specs/2026-08-21-graph-mutation-coherence-design.md +0 -0
  154. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/docs/superpowers/specs/2026-08-24-meaningful-test-coverage-design.md +0 -0
  155. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/examples/demo_logseq_journal.md +0 -0
  156. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/examples/run_demo.py +0 -0
  157. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/examples/run_synapse_rag.py +0 -0
  158. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/legacy/local_digestor.py +0 -0
  159. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/lib/bindings/utils.js +0 -0
  160. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/lib/tom-select/tom-select.complete.min.js +0 -0
  161. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/lib/tom-select/tom-select.css +0 -0
  162. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/lib/vis-9.1.2/vis-network.css +0 -0
  163. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/lib/vis-9.1.2/vis-network.min.js +0 -0
  164. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/llms.txt +0 -0
  165. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/metrics/quarters/2026-Q2.json +0 -0
  166. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/repomix-output-parser.xml +0 -0
  167. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/__init__.py +0 -0
  168. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/archive_repository_metrics.py +0 -0
  169. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/check_documentation.py +0 -0
  170. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/check_release_contract.py +0 -0
  171. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/check_vendor_free_docs.sh +0 -0
  172. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/check_wheel_contract.py +0 -0
  173. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/debug_pre_release.py +0 -0
  174. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/extract_changelog.py +0 -0
  175. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/generate_supply_chain_evidence.py +0 -0
  176. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/scripts/update_compat_snapshots.py +0 -0
  177. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/.gitignore +0 -0
  178. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/NOTICE +0 -0
  179. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/__init__.py +0 -0
  180. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/__main__.py +0 -0
  181. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/_lexical_state.py +0 -0
  182. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/agent_press.py +0 -0
  183. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/agent_writer.py +0 -0
  184. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/diagnostics.py +0 -0
  185. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/exceptions.py +0 -0
  186. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/forge.py +0 -0
  187. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/kinetic.py +0 -0
  188. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/kinetic_export.py +0 -0
  189. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/lens.py +0 -0
  190. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/logos_core.py +0 -0
  191. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/logos_parser.py +0 -0
  192. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
  193. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/logseq_paths.py +0 -0
  194. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/py.typed +0 -0
  195. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/pyproject.toml +0 -0
  196. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/src/logseq_matryca_parser/synapse_embed.py +0 -0
  197. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/__init__.py +0 -0
  198. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/deep-refresh-regression.md +0 -0
  199. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/hierarchy-identity.md +0 -0
  200. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/manifest.json +0 -0
  201. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/pages/nested-title-entrypoint.md +0 -0
  202. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/properties-and-links.md +0 -0
  203. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-deep-refresh.exact.json +0 -0
  204. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-hierarchy-identity.exact.json +0 -0
  205. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-nested-entrypoint.exact.json +0 -0
  206. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-properties-links-assets.exact.json +0 -0
  207. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-softbreak-logbook.exact.json +0 -0
  208. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/snapshots/m1a-task-timing.exact.json +0 -0
  209. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/soft-breaks-properties-logbook.md +0 -0
  210. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/fixtures/compat/v1/tasks-priority-time.md +0 -0
  211. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/__init__.py +0 -0
  212. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/adversarial.py +0 -0
  213. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/corpus.py +0 -0
  214. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/invariants.py +0 -0
  215. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/projection.py +0 -0
  216. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/parser_assurance/work_growth.py +0 -0
  217. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/performance/__init__.py +0 -0
  218. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/performance/runtime_evidence.py +0 -0
  219. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/performance/synthetic_vault.py +0 -0
  220. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_agent_press.py +0 -0
  221. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_agent_writer.py +0 -0
  222. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_archive_repository_metrics.py +0 -0
  223. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_check_documentation.py +0 -0
  224. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_check_release_contract.py +0 -0
  225. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_compat_corpus.py +0 -0
  226. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_demo_example.py +0 -0
  227. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_diagnostics.py +0 -0
  228. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_exceptions.py +0 -0
  229. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_extract_changelog.py +0 -0
  230. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_forge.py +0 -0
  231. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_generate_supply_chain_evidence.py +0 -0
  232. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_graph_collisions.py +0 -0
  233. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_graph_concurrency.py +0 -0
  234. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_layer_boundary.py +0 -0
  235. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_llms_txt_contract.py +0 -0
  236. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_logos_parser.py +0 -0
  237. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_logseq_markdown.py +0 -0
  238. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_logseq_paths.py +0 -0
  239. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_package_version.py +0 -0
  240. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_parser_adversarial.py +0 -0
  241. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_parser_deep_refresh.py +0 -0
  242. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_parser_lexical_state.py +0 -0
  243. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_parser_work_growth.py +0 -0
  244. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_performance_evidence_docs.py +0 -0
  245. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_performance_synthetic_vault.py +0 -0
  246. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_pre_release_roundtrip.py +0 -0
  247. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_runtime_evidence.py +0 -0
  248. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/tests/test_synapse_example.py +0 -0
  249. {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.8.2}/uv.lock +0 -0
@@ -5,9 +5,13 @@ updates:
5
5
  directory: "/"
6
6
  schedule:
7
7
  interval: "weekly"
8
+ cooldown:
9
+ default-days: 7
8
10
 
9
11
  # Keep GitHub Actions current (reads .github/workflows/ci.yml).
10
12
  - package-ecosystem: "github-actions"
11
13
  directory: "/"
12
14
  schedule:
13
15
  interval: "weekly"
16
+ cooldown:
17
+ default-days: 7
@@ -0,0 +1,150 @@
1
+ name: Logos Protocol CI
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ concurrency:
10
+ group: ${{ github.workflow }}-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ quality:
18
+ name: Quality (Python 3.12)
19
+ runs-on: ubuntu-24.04
20
+ timeout-minutes: 15
21
+ steps:
22
+ - name: Checkout without credentials
23
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
24
+ with:
25
+ persist-credentials: false
26
+
27
+ - name: Install pinned uv
28
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
29
+ with:
30
+ version: "0.11.7"
31
+ python-version: "3.12"
32
+ enable-cache: true
33
+
34
+ - name: Sync locked dependencies
35
+ run: uv sync --locked --all-extras
36
+
37
+ - name: Lint
38
+ run: make lint
39
+
40
+ - name: Type check
41
+ run: make check
42
+
43
+ - name: Validate repository policy
44
+ run: make vendor-name-check
45
+
46
+ - name: Validate documentation
47
+ run: make docs-check
48
+
49
+ - name: Verify checkout unchanged
50
+ run: make verify-clean
51
+
52
+ tests:
53
+ name: Tests (${{ matrix.os }}, Python ${{ matrix.python-version }})
54
+ runs-on: ${{ matrix.os }}
55
+ timeout-minutes: 20
56
+ strategy:
57
+ fail-fast: false
58
+ matrix:
59
+ os: [ubuntu-24.04, macos-15, windows-2025]
60
+ python-version: ["3.12", "3.13"]
61
+ steps:
62
+ - name: Checkout without credentials
63
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
64
+ with:
65
+ persist-credentials: false
66
+
67
+ - name: Install pinned uv
68
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
69
+ with:
70
+ version: "0.11.7"
71
+ python-version: ${{ matrix.python-version }}
72
+ enable-cache: true
73
+
74
+ - name: Sync locked dependencies
75
+ run: uv sync --locked --all-extras
76
+
77
+ - name: Run complete test suite
78
+ run: >-
79
+ uv run pytest
80
+ --cov=src/logseq_matryca_parser
81
+ --cov-report=term-missing
82
+ --cov-fail-under=80
83
+ -v tests/
84
+
85
+ dependency-audit:
86
+ name: Production dependency audit
87
+ runs-on: ubuntu-24.04
88
+ timeout-minutes: 10
89
+ steps:
90
+ - name: Checkout without credentials
91
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
92
+ with:
93
+ persist-credentials: false
94
+
95
+ - name: Install pinned uv
96
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
97
+ with:
98
+ version: "0.11.7"
99
+ python-version: "3.12"
100
+ enable-cache: true
101
+
102
+ - name: Sync locked dependencies
103
+ run: uv sync --locked --all-extras
104
+
105
+ - name: Export every production dependency
106
+ run: >-
107
+ uv export
108
+ --all-extras
109
+ --no-dev
110
+ --no-emit-workspace
111
+ --output-file "${{ runner.temp }}/requirements-audit.txt"
112
+
113
+ - name: Audit exported dependencies
114
+ run: uv run pip-audit --no-deps --disable-pip -r "${{ runner.temp }}/requirements-audit.txt"
115
+
116
+ package-contract:
117
+ name: Wheel and source distribution contract
118
+ runs-on: ubuntu-24.04
119
+ timeout-minutes: 10
120
+ steps:
121
+ - name: Checkout without credentials
122
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
123
+ with:
124
+ persist-credentials: false
125
+
126
+ - name: Install pinned uv
127
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
128
+ with:
129
+ version: "0.11.7"
130
+ python-version: "3.12"
131
+ enable-cache: true
132
+
133
+ - name: Sync locked dependencies
134
+ run: uv sync --locked --all-extras
135
+
136
+ - name: Build wheel and source distribution
137
+ run: uv build --out-dir dist-contract
138
+
139
+ - name: Verify wheel metadata and PEP 561 marker
140
+ run: uv run python scripts/check_wheel_contract.py dist-contract/*.whl
141
+
142
+ - name: Validate distribution metadata
143
+ run: uvx --from twine==6.2.0 twine check dist-contract/*
144
+
145
+ - name: Verify downstream typing from the wheel
146
+ run: |
147
+ uv venv "${{ runner.temp }}/typing-venv"
148
+ uv pip install --python "${{ runner.temp }}/typing-venv/bin/python" mypy==1.20.2 dist-contract/*.whl
149
+ cd "${{ runner.temp }}"
150
+ "${{ runner.temp }}/typing-venv/bin/python" -m mypy --strict "${{ github.workspace }}/tests/typing_samples/public_api.py"
@@ -19,16 +19,19 @@ env:
19
19
  jobs:
20
20
  save-metrics:
21
21
  if: github.ref == 'refs/heads/main'
22
- runs-on: ubuntu-latest
22
+ runs-on: ubuntu-24.04
23
+ timeout-minutes: 10
23
24
  permissions:
24
25
  contents: write
25
26
  steps:
26
27
  - name: Checkout trusted default branch
28
+ # zizmor: ignore[artipacked] -- this trusted main-only job must push metrics.
27
29
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
28
30
  with:
29
31
  ref: main
30
32
  fetch-depth: 0
31
33
  token: ${{ github.token }}
34
+ persist-credentials: true
32
35
 
33
36
  - name: Set up Python
34
37
  uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
@@ -0,0 +1,37 @@
1
+ name: Dependency Hygiene Audit
2
+
3
+ on:
4
+ schedule:
5
+ - cron: "23 4 1 * *"
6
+ workflow_dispatch:
7
+
8
+ concurrency:
9
+ group: dependency-hygiene-${{ github.repository }}
10
+ cancel-in-progress: false
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ deptry:
17
+ name: Check dependency declarations
18
+ runs-on: ubuntu-24.04
19
+ timeout-minutes: 5
20
+ steps:
21
+ - name: Checkout without credentials
22
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23
+ with:
24
+ persist-credentials: false
25
+
26
+ - name: Install pinned uv without a shared cache
27
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
28
+ with:
29
+ version: "0.11.7"
30
+ python-version: "3.12"
31
+ enable-cache: false
32
+
33
+ - name: Sync locked project environment
34
+ run: uv sync --locked --all-extras
35
+
36
+ - name: Check dependency declarations
37
+ run: uv run --with deptry==0.25.1 deptry . --github-output
@@ -13,7 +13,8 @@ concurrency:
13
13
  jobs:
14
14
  dependency-review:
15
15
  name: Block newly introduced vulnerable dependencies
16
- runs-on: ubuntu-latest
16
+ runs-on: ubuntu-24.04
17
+ timeout-minutes: 10
17
18
  steps:
18
19
  - name: Checkout dependency manifests
19
20
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
@@ -14,21 +14,24 @@ permissions:
14
14
 
15
15
  jobs:
16
16
  bounded-generated-assurance:
17
- runs-on: ubuntu-latest
17
+ runs-on: ubuntu-24.04
18
18
  timeout-minutes: 10
19
19
 
20
20
  steps:
21
21
  - name: Checkout code
22
22
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
23
+ with:
24
+ persist-credentials: false
23
25
 
24
26
  - name: Install uv
25
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
27
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
26
28
  with:
29
+ version: "0.11.7"
27
30
  python-version: "3.12"
28
31
  enable-cache: true
29
32
 
30
33
  - name: Sync dependencies
31
- run: uv sync --all-extras
34
+ run: uv sync --locked --all-extras
32
35
 
33
36
  - name: Run bounded broad profile
34
37
  run: uv run python -m tests.parser_assurance.adversarial --profile broad
@@ -15,7 +15,8 @@ permissions:
15
15
  jobs:
16
16
  pre-flight:
17
17
  name: Pre-flight checks (Python ${{ matrix.python-version }})
18
- runs-on: ubuntu-latest
18
+ runs-on: ubuntu-24.04
19
+ timeout-minutes: 20
19
20
  strategy:
20
21
  fail-fast: false
21
22
  matrix:
@@ -23,21 +24,23 @@ jobs:
23
24
  steps:
24
25
  - name: Checkout exact tag
25
26
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
27
+ with:
28
+ persist-credentials: false
26
29
 
27
30
  - name: Install uv
28
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
31
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
29
32
  with:
30
33
  version: "0.11.7"
31
34
  python-version: ${{ matrix.python-version }}
32
- enable-cache: true
35
+ enable-cache: false
33
36
 
34
37
  - name: Sync locked dependencies
35
38
  run: uv sync --locked --all-extras
36
39
 
37
40
  - name: Audit production dependencies
38
41
  run: |
39
- uv export --no-dev --no-emit-workspace --no-hashes -o "${{ runner.temp }}/requirements-audit.txt"
40
- uv run pip-audit -r "${{ runner.temp }}/requirements-audit.txt"
42
+ uv export --all-extras --no-dev --no-emit-workspace -o "${{ runner.temp }}/requirements-audit.txt"
43
+ uv run pip-audit --no-deps --disable-pip -r "${{ runner.temp }}/requirements-audit.txt"
41
44
 
42
45
  - name: Run full quality gate
43
46
  run: make all
@@ -48,7 +51,8 @@ jobs:
48
51
  build:
49
52
  name: Build immutable release bundle
50
53
  needs: pre-flight
51
- runs-on: ubuntu-latest
54
+ runs-on: ubuntu-24.04
55
+ timeout-minutes: 15
52
56
  permissions:
53
57
  contents: read
54
58
  id-token: write
@@ -58,13 +62,14 @@ jobs:
58
62
  uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
59
63
  with:
60
64
  fetch-depth: 0
65
+ persist-credentials: false
61
66
 
62
67
  - name: Install uv
63
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
68
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
64
69
  with:
65
70
  version: "0.11.7"
66
71
  python-version: "3.12"
67
- enable-cache: true
72
+ enable-cache: false
68
73
 
69
74
  - name: Sync locked dependencies
70
75
  run: uv sync --locked --all-extras
@@ -115,7 +120,7 @@ jobs:
115
120
  | sha256sum --check -
116
121
 
117
122
  - name: Attest release artifact provenance
118
- uses: actions/attest@508db95dd578ae2727ebd6217d5ba78e4fbda05d # v4.2.1
123
+ uses: actions/attest@1e69f48acb82d1966a394da916b4c1698aa569d6 # v4.2.2
119
124
  with:
120
125
  subject-path: |
121
126
  release-bundle/dist/*
@@ -124,7 +129,7 @@ jobs:
124
129
  release-bundle/SHA256SUMS
125
130
 
126
131
  - name: Bind the production SBOM to the distributions
127
- uses: actions/attest@508db95dd578ae2727ebd6217d5ba78e4fbda05d # v4.2.1
132
+ uses: actions/attest@1e69f48acb82d1966a394da916b4c1698aa569d6 # v4.2.2
128
133
  with:
129
134
  subject-path: release-bundle/dist/*
130
135
  sbom-path: release-bundle/SBOM.cdx.json
@@ -154,7 +159,8 @@ jobs:
154
159
  publish:
155
160
  name: Publish exact distributions to PyPI
156
161
  needs: build
157
- runs-on: ubuntu-latest
162
+ runs-on: ubuntu-24.04
163
+ timeout-minutes: 10
158
164
  environment:
159
165
  name: pypi
160
166
  url: https://pypi.org/p/logseq-matryca-parser
@@ -182,7 +188,8 @@ jobs:
182
188
  github-release:
183
189
  name: Publish GitHub Release from exact distributions
184
190
  needs: publish
185
- runs-on: ubuntu-latest
191
+ runs-on: ubuntu-24.04
192
+ timeout-minutes: 10
186
193
  permissions:
187
194
  contents: write
188
195
  steps:
@@ -199,15 +206,16 @@ jobs:
199
206
  | sha256sum --check -
200
207
 
201
208
  - name: Create GitHub Release with verified artifacts
202
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
203
- with:
204
- tag_name: ${{ github.ref_name }}
205
- name: ${{ github.ref_name }}
206
- body_path: release-bundle/RELEASE_NOTES.md
207
- files: |
208
- release-bundle/dist/*
209
- release-bundle/SBOM.cdx.json
210
- release-bundle/DEPENDENCY_LICENSES.json
211
- release-bundle/SHA256SUMS
212
- generate_release_notes: false
213
- make_latest: true
209
+ env:
210
+ GH_TOKEN: ${{ github.token }}
211
+ run: |
212
+ gh release create "$GITHUB_REF_NAME" \
213
+ release-bundle/dist/* \
214
+ release-bundle/SBOM.cdx.json \
215
+ release-bundle/DEPENDENCY_LICENSES.json \
216
+ release-bundle/SHA256SUMS \
217
+ --repo "$GITHUB_REPOSITORY" \
218
+ --verify-tag \
219
+ --title "$GITHUB_REF_NAME" \
220
+ --notes-file release-bundle/RELEASE_NOTES.md \
221
+ --latest
@@ -11,7 +11,8 @@ permissions: read-all
11
11
  jobs:
12
12
  analysis:
13
13
  name: Scorecard analysis
14
- runs-on: ubuntu-latest
14
+ runs-on: ubuntu-24.04
15
+ timeout-minutes: 10
15
16
  permissions:
16
17
  contents: read
17
18
  security-events: write
@@ -38,6 +39,6 @@ jobs:
38
39
  if-no-files-found: error
39
40
 
40
41
  - name: Publish findings to code scanning
41
- uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
42
+ uses: github/codeql-action/upload-sarif@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8
42
43
  with:
43
44
  sarif_file: results.sarif
@@ -0,0 +1,59 @@
1
+ name: Workflow Static Analysis
2
+
3
+ on:
4
+ push:
5
+ branches: ["main"]
6
+ paths:
7
+ - ".github/workflows/**"
8
+ - ".github/dependabot.yml"
9
+ - ".pre-commit-config.yaml"
10
+ - "zizmor.yml"
11
+ pull_request:
12
+ paths:
13
+ - ".github/workflows/**"
14
+ - ".github/dependabot.yml"
15
+ - ".pre-commit-config.yaml"
16
+ - "zizmor.yml"
17
+ workflow_dispatch:
18
+
19
+ concurrency:
20
+ group: ${{ github.workflow }}-${{ github.ref }}
21
+ cancel-in-progress: true
22
+
23
+ permissions:
24
+ contents: read
25
+
26
+ jobs:
27
+ workflow-analysis:
28
+ name: Validate workflow semantics and security
29
+ runs-on: ubuntu-24.04
30
+ timeout-minutes: 5
31
+ steps:
32
+ - name: Checkout without credentials
33
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
34
+ with:
35
+ persist-credentials: false
36
+
37
+ - name: Install pinned uv without a shared cache
38
+ uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
39
+ with:
40
+ version: "0.11.7"
41
+ python-version: "3.12"
42
+ enable-cache: false
43
+
44
+ - name: Install checksum-verified actionlint 1.7.12
45
+ run: |
46
+ archive="${RUNNER_TEMP}/actionlint_1.7.12_linux_amd64.tar.gz"
47
+ curl --proto '=https' --tlsv1.2 --fail --location --silent --show-error \
48
+ --output "$archive" \
49
+ https://github.com/rhysd/actionlint/releases/download/v1.7.12/actionlint_1.7.12_linux_amd64.tar.gz
50
+ echo "8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8 $archive" \
51
+ | sha256sum --check --strict
52
+ tar --extract --gzip --file "$archive" --directory "$RUNNER_TEMP" actionlint
53
+
54
+ - name: Validate workflow semantics
55
+ run: |
56
+ "$RUNNER_TEMP/actionlint" -color
57
+
58
+ - name: Audit workflow security
59
+ run: uvx --from zizmor==1.29.0 zizmor --strict-collection --format=github .
@@ -1,4 +1,8 @@
1
1
  repos:
2
+ - repo: https://github.com/rhysd/actionlint
3
+ rev: 914e7df21a07ef503a81201c76d2b11c789d3fca # v1.7.12
4
+ hooks:
5
+ - id: actionlint
2
6
  - repo: https://github.com/astral-sh/ruff-pre-commit
3
7
  rev: v0.15.12
4
8
  hooks:
@@ -31,6 +31,8 @@ backlinks, exports, visualizations, and AI chunks are derived views.
31
31
  [`docs/reference/API_STABILITY.md`](docs/reference/API_STABILITY.md).
32
32
  - For architecture and ownership boundaries, use
33
33
  [`docs/CLEAN_CODE_ARCHITECTURE.md`](docs/CLEAN_CODE_ARCHITECTURE.md).
34
+ - For pull-request, scheduled, settings-managed, and release checks, use
35
+ [`docs/CI_ASSURANCE.md`](docs/CI_ASSURANCE.md).
34
36
  - For the maintained machine-readable knowledge map, use
35
37
  [`docs/index.md`](docs/index.md).
36
38
  - For historical release capabilities, use
@@ -66,7 +68,7 @@ Protocol integrations remain optional and deferred under
66
68
  ## Repository working contract
67
69
 
68
70
  ```bash
69
- uv sync --all-extras
71
+ uv sync --locked --all-extras
70
72
  make all
71
73
  make vendor-name-check
72
74
  ```
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.8.2] - 2026-08-30
11
+
12
+ ### Changed
13
+
14
+ - **Native cross-platform GitHub assurance** — replace the public-repository
15
+ receipt-routing experiment with SHA-pinned GitHub-hosted quality, packaging,
16
+ dependency, CodeQL, Linux, macOS, and Windows checks. Local maintainer
17
+ guidance now treats hosted Actions as the authoritative public CI path (#194).
18
+ - **Cookbook guidance** — add corrected broken-block-reference and LENS
19
+ visualization recipes, including their CLI outcome and optional dependency
20
+ boundaries (#195).
21
+ - **Graph loader path-type acceptance** — `LogseqGraph.load_directory` accepts
22
+ `graph_path` as either `Path` or `str`, normalizes with
23
+ `Path(graph_path).expanduser().resolve()`, and preserves strict-mode defaults
24
+ (#197).
25
+
26
+ ### Fixed
27
+
28
+ - **Windows assurance portability** — open local-assurance inputs in binary
29
+ mode so CRLF files retain their measured byte length, use platform-neutral
30
+ byte and path fixtures, preserve POSIX permission assertions only where the
31
+ operating system provides those semantics, and fold CLI diagnostic
32
+ identifiers instead of replacing their final characters with an ellipsis
33
+ (#194).
34
+ - **Optional AI dependency guidance** — use one consistent message when AI
35
+ export dependencies are unavailable: `uv sync --extra ai` (#196).
36
+
10
37
  ## [1.8.1] - 2026-08-25
11
38
 
12
39
  ### Security
@@ -17,8 +17,9 @@ 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) — shipped releases (current: **1.8.1**) and **Unreleased** changes (Keep a Changelog)
20
+ - [`CHANGELOG.md`](CHANGELOG.md) — release candidate **1.8.2**, latest published release **1.8.1**, and **Unreleased** changes (Keep a Changelog)
21
21
  - [`docs/RELEASE_PROCESS.md`](docs/RELEASE_PROCESS.md) — version bump, tag, and PyPI publish checklist
22
+ - [`docs/CI_ASSURANCE.md`](docs/CI_ASSURANCE.md) — pull-request, scheduled, settings-managed, and release checks
22
23
  - [`docs/CODEQL.md`](docs/CODEQL.md) — CodeQL default setup (no custom `codeql.yml`)
23
24
  - [`docs/GOOD_FIRST_ISSUES.md`](docs/GOOD_FIRST_ISSUES.md) — curated starter tasks for new contributors
24
25
  - [`docs/COOKBOOK.md`](docs/COOKBOOK.md) — integration recipes (Synapse, graph query, watcher)
@@ -80,7 +81,7 @@ New to the codebase? Start here:
80
81
 
81
82
  1. **Pick a task** from [`docs/GOOD_FIRST_ISSUES.md`](docs/GOOD_FIRST_ISSUES.md) (label: `good first issue` on GitHub).
82
83
  2. **Comment on the issue** so others know you are working on it.
83
- 3. **Set up** with `uv sync --all-extras` and confirm `make all` is green on `main`.
84
+ 3. **Set up** with `uv sync --locked --all-extras` and confirm `make all` is green on `main`.
84
85
  4. **Branch** using `feat/…`, `test/…`, or `docs/…` naming (see workflow below).
85
86
  5. **Submit** one PR per issue, branched from `main` (`Fixes #123`).
86
87
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logseq-matryca-parser
3
- Version: 1.8.1
3
+ Version: 1.8.2
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
@@ -323,6 +323,7 @@ Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
323
323
  [changelog](CHANGELOG.md), or the signed artifacts on
324
324
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
325
325
 
326
+ - **v1.8.2 (release candidate)** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
326
327
  - **v1.8.1** — Hardened deep-outline parsing, coherent incremental graph mutations, bounded assurance cleanup, and stable provenance for optional NLTK.
327
328
  - **v1.8.0** — Added bounded privacy-safe local graph assurance, source-location contracts, and the first internal parser line-classification phase.
328
329
  - **v1.7.1** — Added the runnable offline SYNAPSE RAG example and tightened release-note and optional-dependency security checks.
@@ -282,6 +282,7 @@ Read the complete [release highlights](RELEASE_HIGHLIGHTS.md), the exhaustive
282
282
  [changelog](CHANGELOG.md), or the signed artifacts on
283
283
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
284
284
 
285
+ - **v1.8.2 (release candidate)** — Adds SHA-pinned hosted assurance, portable Windows local assurance, corrected cookbook recipes, consistent optional-AI guidance, and `Path | str` graph loading.
285
286
  - **v1.8.1** — Hardened deep-outline parsing, coherent incremental graph mutations, bounded assurance cleanup, and stable provenance for optional NLTK.
286
287
  - **v1.8.0** — Added bounded privacy-safe local graph assurance, source-location contracts, and the first internal parser line-classification phase.
287
288
  - **v1.7.1** — Added the runnable offline SYNAPSE RAG example and tightened release-note and optional-dependency security checks.
@@ -5,6 +5,21 @@ For the exhaustive change history, see the [changelog](CHANGELOG.md). For
5
5
  published artifacts and attestations, see
6
6
  [GitHub Releases](https://github.com/MarcoPorcellato/logseq-matryca-parser/releases).
7
7
 
8
+ ## v1.8.2 (release candidate)
9
+
10
+ Release candidate — strengthens the hosted assurance boundary, clarifies
11
+ integration guidance, and makes the graph loader easier to call. **No
12
+ intentional breaking changes** to stable package imports or CLI behavior. The
13
+ v1.8.2 tag, PyPI publication, GitHub Release, hashes, and attestations remain
14
+ pending the release workflow.
15
+
16
+ | Area | Change |
17
+ | :--- | :--- |
18
+ | **Hosted assurance** | Native GitHub-hosted quality, package, dependency, CodeQL, Linux, macOS, and Windows checks use reviewed SHA-pinned actions; Windows local-assurance inputs and fixtures are portable. |
19
+ | **Cookbook and LENS** | Corrected broken-block-reference and graph-visualization recipes show the expected CLI result, `Path` usage, and optional dependency boundary. |
20
+ | **Optional AI guidance** | Missing AI export dependencies now consistently direct users to `uv sync --extra ai`. |
21
+ | **Graph API** | `LogseqGraph.load_directory` accepts either `Path` or `str` while preserving existing strict-mode defaults. |
22
+
8
23
  ## v1.8.1
9
24
 
10
25
  Patch release — hardens deep-outline parsing, coherent incremental graph
@@ -2,11 +2,12 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- Security fixes are provided **only for the latest released version** on [PyPI](https://pypi.org/project/logseq-matryca-parser/).
5
+ Security fixes are provided **only for the latest released version** on [PyPI](https://pypi.org/project/logseq-matryca-parser/). Until the v1.8.2 tag workflow completes, that version remains v1.8.1.
6
6
 
7
7
  | Version | Supported |
8
8
  | ------- | --------- |
9
- | **1.8.1** (latest) | Yes |
9
+ | 1.8.2 (release candidate; not published) | Pending publication |
10
+ | **1.8.1** (latest released) | Yes |
10
11
  | 1.8.0 and older | No |
11
12
 
12
13
  We recommend always running the current release and upgrading promptly when a security advisory is published.