logseq-matryca-parser 1.8.1__tar.gz → 1.9.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.8.1 → logseq_matryca_parser-1.9.0}/.github/dependabot.yml +4 -0
- logseq_matryca_parser-1.9.0/.github/workflows/ci.yml +154 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/daily-metrics.yml +4 -1
- logseq_matryca_parser-1.9.0/.github/workflows/dependency-hygiene.yml +37 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/dependency-review.yml +2 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/parser-adversarial.yml +6 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/pypi_publish.yml +35 -24
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/scorecard.yml +3 -2
- logseq_matryca_parser-1.9.0/.github/workflows/workflow-analysis.yml +59 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.pre-commit-config.yaml +4 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/AGENTS.md +4 -2
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/CHANGELOG.md +59 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/CONTRIBUTING.md +3 -2
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/PKG-INFO +24 -4
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/README.md +23 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/RELEASE_HIGHLIGHTS.md +27 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/SECURITY.md +3 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/ARCHITECTURE.md +18 -0
- logseq_matryca_parser-1.9.0/docs/CI_ASSURANCE.md +157 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/CLEAN_CODE_ARCHITECTURE.md +33 -6
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/CODEQL.md +7 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/COOKBOOK.md +48 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/GOOD_FIRST_ISSUES.md +1 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/README.md +5 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/RELEASE_PROCESS.md +4 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/ROADMAP_2026-2027.md +20 -19
- logseq_matryca_parser-1.9.0/docs/decisions/ADR-0004-PARSER-PLUMBER-BOUNDARY.md +81 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/index.md +1 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/goals/LSDOC_PARSER_ASSURANCE_GOAL.md +22 -10
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/index.md +5 -3
- logseq_matryca_parser-1.9.0/docs/internal/POST_V1_8_1_BACKLOG_EXECUTION_2026-08-25.md +391 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/log.md +83 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/maintained.toml +3 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/quality/README.md +4 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/API_STABILITY.md +25 -4
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/index.md +1 -1
- logseq_matryca_parser-1.9.0/docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md +76 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/plans/2026-08-30-native-github-actions.md +307 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/plans/2026-08-30-v1.8.2-repository-completion.md +324 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/receipts/2026-08-30-v1.8.2-backlog-reconciliation.md +36 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/receipts/2026-08-30-v1.8.2-baseline.md +44 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/receipts/2026-08-30-v1.8.2-final-audit.md +25 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/receipts/2026-08-30-v1.8.2-publication.md +29 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/receipts/2026-08-30-v1.8.2-qualification.md +28 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/specs/2026-08-30-native-github-actions-design.md +148 -0
- logseq_matryca_parser-1.9.0/docs/superpowers/specs/2026-08-30-v1.8.2-repository-completion-design.md +101 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/metrics/index.json +1 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/metrics/quarters/2026-Q3.json +5493 -2562
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/pyproject.toml +6 -0
- logseq_matryca_parser-1.9.0/release-bundle/RELEASE_NOTES.md +31 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/__init__.py +2 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/_version.py +1 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/graph.py +207 -33
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/kinetic_commands.py +4 -4
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/local_graph_assurance.py +1 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/synapse.py +4 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_check_wheel_contract.py +1 -1
- logseq_matryca_parser-1.9.0/tests/test_dependency_advisory_exception.py +53 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_graph.py +17 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_kinetic.py +37 -1
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_layer_boundary.py +16 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_lens.py +18 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_local_graph_assurance.py +31 -4
- logseq_matryca_parser-1.9.0/tests/test_module_entrypoint.py +17 -0
- logseq_matryca_parser-1.9.0/tests/test_plumber_boundary_docs.py +37 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_public_api_contract.py +25 -0
- logseq_matryca_parser-1.9.0/tests/test_quality_gate_contract.py +488 -0
- logseq_matryca_parser-1.9.0/tests/test_snapshot_graph.py +277 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_synapse.py +7 -3
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_writer_security.py +4 -2
- logseq_matryca_parser-1.9.0/tests/typing_samples/public_api.py +21 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/uv.lock +6 -6
- logseq_matryca_parser-1.9.0/zizmor.yml +3 -0
- logseq_matryca_parser-1.8.1/.github/workflows/ci.yml +0 -80
- logseq_matryca_parser-1.8.1/release-bundle/RELEASE_NOTES.md +0 -55
- logseq_matryca_parser-1.8.1/tests/test_quality_gate_contract.py +0 -170
- logseq_matryca_parser-1.8.1/tests/typing_samples/public_api.py +0 -12
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.cursorignore +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.cursorrules +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.gitattributes +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/CODEOWNERS +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/FUNDING.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/ISSUE_TEMPLATE/clean_architecture.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/clean_arch_issue_numbers.txt +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/copilot-instructions.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/dependency-license-overrides.toml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/labels.yml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/scripts/create_clean_arch_issues.sh +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/scripts/create_good_first_issues.sh +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.gitignore +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.repomixignore +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/CITATION.cff +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/CLAUDE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/CODE_OF_CONDUCT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/GOVERNANCE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/LICENSE +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/MAINTAINERS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/Makefile +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/NOTICE +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/SUPPORT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/claude-skill-logseq-read/SKILL.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/claude-skill-logseq-read/scripts/parse_logseq.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/AAIF_ALIGNMENT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/AI_CONTRIBUTION_POLICY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/BUG_HUNT_REPORT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/DOCUMENTATION_SYSTEM.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/ISSUE_TRIAGE_POLICY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/LSDOC_REFERENCE_STUDY_AND_EXECUTION_PLAN_2026-08-16.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/README_READABILITY_REPORT_2026-08-08.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/REPOSITORY_GOVERNANCE_AAIF_STUDY_2026-08-19.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/REPOSITORY_IMPROVEMENT_STUDY_2026-07-28.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/REPOSITORY_STELLAR_ROADMAP_2026-08-06.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/ADR-0001-PROTOCOL_ADAPTER_BOUNDARY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/ADR-0002-OFFICIAL-OKF-V02-MIGRATION-GATE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/ADR-0003-AAIF-SUBMISSION-GATE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/ADR-001-external-oracle-boundary.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/decisions/ADR-002-local-graph-assurance-boundary.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/ARCHITECTURE_BLUEPRINT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/CODE_SCAFFOLD.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/LOGSEQ_ASSET_RESOLUTION_SPEC.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/LOGSEQ_DATASCRIPT_MAPPING.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/LOGSEQ_TEMPORAL_ONTOLOGY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/OFFICIAL_MLDOC_SPECS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/README.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/design-docs/REFERENCE_SPEC.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/error_log.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/internal/ASSURANCE_TERRA_HANDOFF_2026-08-21.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/internal/LOCAL_CODE_STUDY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/internal/M1A_CORRECTIVE_HARDENING_RESTART_HANDOFF_2026-08-16.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/internal/M5_LOCAL_GRAPH_ASSURANCE_REVIEW_HANDOFF_2026-08-18.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/internal/STATIC_ANALYSIS_POLICY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/logseq_ast_primer.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/quality/CLEAN_ARCH_BACKLOG.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/quality/GITHUB_CLEAN_ARCH_ROADMAP.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/quality/ISSUE_RECONCILIATION_2026-08-06.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/quality/ISSUE_TRIAGE_2026-07.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/AGENT_ACTION_CONTRACT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/CONFORMANCE_SUPPORT_MATRIX.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/DEPENDENCY_LICENSE_POLICY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/DIAGNOSTICS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/FILESYSTEM_SAFETY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/LOCAL_GRAPH_ASSURANCE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/reference/PERFORMANCE_EVIDENCE.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/rfc/OLLAMA_RAG.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/rfc/SOURCE_LOCATION_RFC.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_AGENT_NATIVE_XRAY.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_CLI_HYDRATION_AND_ENRICHMENT.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_CONTEXT_SYNTHESIS_AND_SCOPING.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_EMBED_EXPANSION_AND_FLUENT_QUERIES.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_GRAPH_RAG_SEMANTICS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_HEADLESS_WRITER.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_INCREMENTAL_WATCHER.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_INLINE_SHIELD_AND_NAMESPACES.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_OBSIDIAN_ADAPTER.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_ROBUSTNESS_AND_SOFT_BREAKS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_TOML_FIX_AND_PYPI_DISTRIBUTION.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/roadmaps/ROADMAP_UUID_AND_GRAPH_SUPERPOWERS.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/security/DAILY_METRICS_THREAT_MODEL.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/plans/2026-08-20-parser-lexical-state.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/plans/2026-08-20-runtime-evidence-harness.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/plans/2026-08-21-graph-mutation-coherence.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/plans/2026-08-21-post-m9-reconciliation.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/plans/2026-08-24-local-assurance-coverage.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/specs/2026-08-20-parser-lexical-state-design.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/specs/2026-08-21-graph-mutation-coherence-design.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/docs/superpowers/specs/2026-08-24-meaningful-test-coverage-design.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/examples/demo_logseq_journal.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/examples/run_demo.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/examples/run_synapse_rag.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/legacy/local_digestor.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/lib/bindings/utils.js +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/lib/tom-select/tom-select.complete.min.js +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/lib/tom-select/tom-select.css +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/lib/vis-9.1.2/vis-network.css +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/lib/vis-9.1.2/vis-network.min.js +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/llms.txt +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/metrics/quarters/2026-Q2.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/repomix-output-parser.xml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/__init__.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/archive_repository_metrics.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/check_documentation.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/check_release_contract.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/check_vendor_free_docs.sh +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/check_wheel_contract.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/debug_pre_release.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/extract_changelog.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/generate_supply_chain_evidence.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/scripts/update_compat_snapshots.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/.gitignore +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/NOTICE +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/__main__.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/_lexical_state.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/agent_press.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/agent_writer.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/diagnostics.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/exceptions.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/forge.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/kinetic.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/kinetic_export.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/lens.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/logos_core.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/logos_parser.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/logseq_markdown.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/logseq_paths.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/py.typed +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/pyproject.toml +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/src/logseq_matryca_parser/synapse_embed.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/__init__.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/deep-refresh-regression.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/hierarchy-identity.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/manifest.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/pages/nested-title-entrypoint.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/properties-and-links.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-deep-refresh.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-hierarchy-identity.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-nested-entrypoint.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-properties-links-assets.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-softbreak-logbook.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/snapshots/m1a-task-timing.exact.json +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/soft-breaks-properties-logbook.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/fixtures/compat/v1/tasks-priority-time.md +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/__init__.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/adversarial.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/corpus.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/invariants.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/projection.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/parser_assurance/work_growth.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/performance/__init__.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/performance/runtime_evidence.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/performance/synthetic_vault.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_agent_press.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_agent_writer.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_archive_repository_metrics.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_check_documentation.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_check_release_contract.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_compat_corpus.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_demo_example.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_diagnostics.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_exceptions.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_extract_changelog.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_forge.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_generate_supply_chain_evidence.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_graph_collisions.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_graph_concurrency.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_llms_txt_contract.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_logos_parser.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_logseq_markdown.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_logseq_paths.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_package_version.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_parser_adversarial.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_parser_deep_refresh.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_parser_lexical_state.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_parser_work_growth.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_performance_evidence_docs.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_performance_synthetic_vault.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_pre_release_roundtrip.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_runtime_evidence.py +0 -0
- {logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/tests/test_synapse_example.py +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,154 @@
|
|
|
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
|
+
# Temporary exception governed by docs/security/DEPENDENCY_ADVISORY_EXCEPTIONS.md.
|
|
115
|
+
run: >-
|
|
116
|
+
uv run pip-audit --no-deps --disable-pip
|
|
117
|
+
--ignore-vuln PYSEC-2026-3740
|
|
118
|
+
-r "${{ runner.temp }}/requirements-audit.txt"
|
|
119
|
+
|
|
120
|
+
package-contract:
|
|
121
|
+
name: Wheel and source distribution contract
|
|
122
|
+
runs-on: ubuntu-24.04
|
|
123
|
+
timeout-minutes: 10
|
|
124
|
+
steps:
|
|
125
|
+
- name: Checkout without credentials
|
|
126
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
127
|
+
with:
|
|
128
|
+
persist-credentials: false
|
|
129
|
+
|
|
130
|
+
- name: Install pinned uv
|
|
131
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
132
|
+
with:
|
|
133
|
+
version: "0.11.7"
|
|
134
|
+
python-version: "3.12"
|
|
135
|
+
enable-cache: true
|
|
136
|
+
|
|
137
|
+
- name: Sync locked dependencies
|
|
138
|
+
run: uv sync --locked --all-extras
|
|
139
|
+
|
|
140
|
+
- name: Build wheel and source distribution
|
|
141
|
+
run: uv build --out-dir dist-contract
|
|
142
|
+
|
|
143
|
+
- name: Verify wheel metadata and PEP 561 marker
|
|
144
|
+
run: uv run python scripts/check_wheel_contract.py dist-contract/*.whl
|
|
145
|
+
|
|
146
|
+
- name: Validate distribution metadata
|
|
147
|
+
run: uvx --from twine==6.2.0 twine check dist-contract/*
|
|
148
|
+
|
|
149
|
+
- name: Verify downstream typing from the wheel
|
|
150
|
+
run: |
|
|
151
|
+
uv venv "${{ runner.temp }}/typing-venv"
|
|
152
|
+
uv pip install --python "${{ runner.temp }}/typing-venv/bin/python" mypy==1.20.2 dist-contract/*.whl
|
|
153
|
+
cd "${{ runner.temp }}"
|
|
154
|
+
"${{ runner.temp }}/typing-venv/bin/python" -m mypy --strict "${{ github.workspace }}/tests/typing_samples/public_api.py"
|
{logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/daily-metrics.yml
RENAMED
|
@@ -19,16 +19,19 @@ env:
|
|
|
19
19
|
jobs:
|
|
20
20
|
save-metrics:
|
|
21
21
|
if: github.ref == 'refs/heads/main'
|
|
22
|
-
runs-on: ubuntu-
|
|
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
|
{logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/dependency-review.yml
RENAMED
|
@@ -13,7 +13,8 @@ concurrency:
|
|
|
13
13
|
jobs:
|
|
14
14
|
dependency-review:
|
|
15
15
|
name: Block newly introduced vulnerable dependencies
|
|
16
|
-
runs-on: ubuntu-
|
|
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
|
{logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/parser-adversarial.yml
RENAMED
|
@@ -14,21 +14,24 @@ permissions:
|
|
|
14
14
|
|
|
15
15
|
jobs:
|
|
16
16
|
bounded-generated-assurance:
|
|
17
|
-
runs-on: ubuntu-
|
|
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@
|
|
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
|
{logseq_matryca_parser-1.8.1 → logseq_matryca_parser-1.9.0}/.github/workflows/pypi_publish.yml
RENAMED
|
@@ -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-
|
|
18
|
+
runs-on: ubuntu-24.04
|
|
19
|
+
timeout-minutes: 20
|
|
19
20
|
strategy:
|
|
20
21
|
fail-fast: false
|
|
21
22
|
matrix:
|
|
@@ -23,21 +24,26 @@ 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@
|
|
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:
|
|
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
|
|
40
|
-
|
|
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
|
+
uv run pip-audit --no-deps --disable-pip \
|
|
45
|
+
--ignore-vuln PYSEC-2026-3740 \
|
|
46
|
+
-r "${{ runner.temp }}/requirements-audit.txt"
|
|
41
47
|
|
|
42
48
|
- name: Run full quality gate
|
|
43
49
|
run: make all
|
|
@@ -48,7 +54,8 @@ jobs:
|
|
|
48
54
|
build:
|
|
49
55
|
name: Build immutable release bundle
|
|
50
56
|
needs: pre-flight
|
|
51
|
-
runs-on: ubuntu-
|
|
57
|
+
runs-on: ubuntu-24.04
|
|
58
|
+
timeout-minutes: 15
|
|
52
59
|
permissions:
|
|
53
60
|
contents: read
|
|
54
61
|
id-token: write
|
|
@@ -58,13 +65,14 @@ jobs:
|
|
|
58
65
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
59
66
|
with:
|
|
60
67
|
fetch-depth: 0
|
|
68
|
+
persist-credentials: false
|
|
61
69
|
|
|
62
70
|
- name: Install uv
|
|
63
|
-
uses: astral-sh/setup-uv@
|
|
71
|
+
uses: astral-sh/setup-uv@20cfd1bf945f4377ade1205e4dbc17946fc9a30d # v10.0.1
|
|
64
72
|
with:
|
|
65
73
|
version: "0.11.7"
|
|
66
74
|
python-version: "3.12"
|
|
67
|
-
enable-cache:
|
|
75
|
+
enable-cache: false
|
|
68
76
|
|
|
69
77
|
- name: Sync locked dependencies
|
|
70
78
|
run: uv sync --locked --all-extras
|
|
@@ -115,7 +123,7 @@ jobs:
|
|
|
115
123
|
| sha256sum --check -
|
|
116
124
|
|
|
117
125
|
- name: Attest release artifact provenance
|
|
118
|
-
uses: actions/attest@
|
|
126
|
+
uses: actions/attest@1e69f48acb82d1966a394da916b4c1698aa569d6 # v4.2.2
|
|
119
127
|
with:
|
|
120
128
|
subject-path: |
|
|
121
129
|
release-bundle/dist/*
|
|
@@ -124,7 +132,7 @@ jobs:
|
|
|
124
132
|
release-bundle/SHA256SUMS
|
|
125
133
|
|
|
126
134
|
- name: Bind the production SBOM to the distributions
|
|
127
|
-
uses: actions/attest@
|
|
135
|
+
uses: actions/attest@1e69f48acb82d1966a394da916b4c1698aa569d6 # v4.2.2
|
|
128
136
|
with:
|
|
129
137
|
subject-path: release-bundle/dist/*
|
|
130
138
|
sbom-path: release-bundle/SBOM.cdx.json
|
|
@@ -154,7 +162,8 @@ jobs:
|
|
|
154
162
|
publish:
|
|
155
163
|
name: Publish exact distributions to PyPI
|
|
156
164
|
needs: build
|
|
157
|
-
runs-on: ubuntu-
|
|
165
|
+
runs-on: ubuntu-24.04
|
|
166
|
+
timeout-minutes: 10
|
|
158
167
|
environment:
|
|
159
168
|
name: pypi
|
|
160
169
|
url: https://pypi.org/p/logseq-matryca-parser
|
|
@@ -182,7 +191,8 @@ jobs:
|
|
|
182
191
|
github-release:
|
|
183
192
|
name: Publish GitHub Release from exact distributions
|
|
184
193
|
needs: publish
|
|
185
|
-
runs-on: ubuntu-
|
|
194
|
+
runs-on: ubuntu-24.04
|
|
195
|
+
timeout-minutes: 10
|
|
186
196
|
permissions:
|
|
187
197
|
contents: write
|
|
188
198
|
steps:
|
|
@@ -199,15 +209,16 @@ jobs:
|
|
|
199
209
|
| sha256sum --check -
|
|
200
210
|
|
|
201
211
|
- name: Create GitHub Release with verified artifacts
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
release-bundle/
|
|
209
|
-
release-bundle/
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
env:
|
|
213
|
+
GH_TOKEN: ${{ github.token }}
|
|
214
|
+
run: |
|
|
215
|
+
gh release create "$GITHUB_REF_NAME" \
|
|
216
|
+
release-bundle/dist/* \
|
|
217
|
+
release-bundle/SBOM.cdx.json \
|
|
218
|
+
release-bundle/DEPENDENCY_LICENSES.json \
|
|
219
|
+
release-bundle/SHA256SUMS \
|
|
220
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
221
|
+
--verify-tag \
|
|
222
|
+
--title "$GITHUB_REF_NAME" \
|
|
223
|
+
--notes-file release-bundle/RELEASE_NOTES.md \
|
|
224
|
+
--latest
|
|
@@ -11,7 +11,8 @@ permissions: read-all
|
|
|
11
11
|
jobs:
|
|
12
12
|
analysis:
|
|
13
13
|
name: Scorecard analysis
|
|
14
|
-
runs-on: ubuntu-
|
|
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@
|
|
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 .
|
|
@@ -20,7 +20,7 @@ backlinks, exports, visualizations, and AI chunks are derived views.
|
|
|
20
20
|
| **SYNAPSE** | Export lineage-aware LangChain documents, LlamaIndex nodes, and enriched chunks | `SynapseAdapter` |
|
|
21
21
|
| **FORGE** | Serialize JSON, clean Markdown, Logseq pages, and Obsidian-compatible output | `ForgeExporter`, `serialize_logseq_page` |
|
|
22
22
|
| **KINETIC** | Run CLI parse, export, scan, visualize, agent-read, and agent-write workflows | `matryca-parse` |
|
|
23
|
-
| **LENS** | Build
|
|
23
|
+
| **LENS** | Build a compatible reference-topology visualization; planned compatible deprecation follows a later Trama UI migration | `GraphVisualizer` |
|
|
24
24
|
| **Agent access** | Read a token-efficient X-Ray outline or perform bounded writes | `agent-read`, `agent-write`, `logseq_agent_write` |
|
|
25
25
|
|
|
26
26
|
## Start here
|
|
@@ -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,65 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.9.0] - 2026-09-06
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **In-memory snapshot graph factory** — `SnapshotPage` and
|
|
15
|
+
`LogseqGraph.from_snapshot_pages()` build the existing parser graph indexes from
|
|
16
|
+
bounded, caller-captured Markdown without source discovery, file reopening, or
|
|
17
|
+
graph-root filesystem inspection.
|
|
18
|
+
The stable additive API preserves deterministic ordering, parser identities,
|
|
19
|
+
aliases, backlinks, diagnostics, and opt-in strict modes while keeping source
|
|
20
|
+
capture and cross-product projection outside Parser (#209).
|
|
21
|
+
|
|
22
|
+
### Security
|
|
23
|
+
|
|
24
|
+
- **Time-bounded NLTK advisory exception** — document the exact optional AI
|
|
25
|
+
dependency exposure, non-reachability evidence, compensating controls,
|
|
26
|
+
owner, upstream advisory, and 2026-10-05 expiry for `PYSEC-2026-3740` while
|
|
27
|
+
no patched NLTK registry release exists. CI and release audits ignore only
|
|
28
|
+
that advisory; all other dependency findings remain fail-closed.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **LENS Stage 0 transition** — mark the compatible `GraphVisualizer`,
|
|
33
|
+
`visualize`, and `demo` surfaces as transitional and feature-frozen, with
|
|
34
|
+
Matryca Trama as future user-facing graph-intelligence destination. This
|
|
35
|
+
release makes no API removal or deprecation-warning change (#213).
|
|
36
|
+
- **Parser-Plumber boundary** — record Parser as the deterministic Logseq OG
|
|
37
|
+
parsing library and Plumber as the sole cross-product Logseq gateway to
|
|
38
|
+
Trama and Brain. Existing Parser APIs and LENS behavior remain compatible;
|
|
39
|
+
any Trama UI migration requires a later, separately reviewed compatible
|
|
40
|
+
deprecation plan (#203).
|
|
41
|
+
|
|
42
|
+
## [1.8.2] - 2026-08-30
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
|
|
46
|
+
- **Native cross-platform GitHub assurance** — replace the public-repository
|
|
47
|
+
receipt-routing experiment with SHA-pinned GitHub-hosted quality, packaging,
|
|
48
|
+
dependency, CodeQL, Linux, macOS, and Windows checks. Local maintainer
|
|
49
|
+
guidance now treats hosted Actions as the authoritative public CI path (#194).
|
|
50
|
+
- **Cookbook guidance** — add corrected broken-block-reference and LENS
|
|
51
|
+
visualization recipes, including their CLI outcome and optional dependency
|
|
52
|
+
boundaries (#195).
|
|
53
|
+
- **Graph loader path-type acceptance** — `LogseqGraph.load_directory` accepts
|
|
54
|
+
`graph_path` as either `Path` or `str`, normalizes with
|
|
55
|
+
`Path(graph_path).expanduser().resolve()`, and preserves strict-mode defaults
|
|
56
|
+
(#197).
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- **Windows assurance portability** — open local-assurance inputs in binary
|
|
61
|
+
mode so CRLF files retain their measured byte length, use platform-neutral
|
|
62
|
+
byte and path fixtures, preserve POSIX permission assertions only where the
|
|
63
|
+
operating system provides those semantics, and fold CLI diagnostic
|
|
64
|
+
identifiers instead of replacing their final characters with an ellipsis
|
|
65
|
+
(#194).
|
|
66
|
+
- **Optional AI dependency guidance** — use one consistent message when AI
|
|
67
|
+
export dependencies are unavailable: `uv sync --extra ai` (#196).
|
|
68
|
+
|
|
10
69
|
## [1.8.1] - 2026-08-25
|
|
11
70
|
|
|
12
71
|
### 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) —
|
|
20
|
+
- [`CHANGELOG.md`](CHANGELOG.md) — latest release **1.9.0** 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
|
|