mempalace-code 1.13.6__tar.gz → 1.13.8__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.
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/CHANGELOG.md +51 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/PKG-INFO +2 -2
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/README.md +1 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/README.md +13 -9
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/BACKUP_RESTORE.md +8 -2
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/LLM_USAGE_RULES.md +12 -3
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/RELEASING.md +4 -4
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/UPSTREAM_COMPARISON.md +68 -86
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/scorecard.json +7 -7
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/scorecard.md +7 -7
- mempalace_code-1.13.8/docs/quality/upstream-comparison.json +316 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/release-admission-rulesets.md +10 -2
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/plugin.json +1 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/backup.py +2 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/knowledge_graph.py +68 -16
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/dispatch.py +41 -2
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/kg.py +13 -4
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/storage.py +42 -6
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/watcher.py +7 -7
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/pyproject.toml +1 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_admission_checks.py +29 -4
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_preflight.py +27 -3
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_readiness_gate.py +307 -18
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_backup.py +54 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_cli_command_modules.py +15 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_cli_golden_scenarios.py +11 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_embedding_runtime.py +182 -5
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_knowledge_graph.py +259 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_mcp_protocol_compat.py +168 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_mcp_server.py +44 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_offline.py +7 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_preflight.py +41 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_readiness_gate.py +241 -15
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_ruleset_contract.py +84 -2
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_workflow_admission.py +44 -1
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_storage.py +81 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_upstream_comparison_guard.py +9 -14
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_watcher.py +63 -12
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/uv.lock +1 -1
- mempalace_code-1.13.6/docs/quality/upstream-comparison.json +0 -382
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/.gitignore +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/.gitleaks.toml +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/.pre-commit-config.yaml +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/AGENTS.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/CLAUDE.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/CONTRIBUTING.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/LICENSE +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/NOTICE +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/assets/mempalace_banner.jpg +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/BENCHMARKS.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/HYBRID_MODE.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/code_retrieval_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/convomem_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/data/code_retrieval_queries.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/demo_perf_budgets.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/demo_perf_budgets.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/dotnet_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/embed_ab_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/locomo_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/longmemeval_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/membench_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/minilm_runtime_compatibility_fixture.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/results_embed_ab_2026-04-09.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/results_token_delta_mempalace.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/retrieval_quality_facts.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/token_delta_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/benchmarks/token_delta_fixture_facts.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/AGENT_INSTALL.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/BENCH_TOKEN_DELTA.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/COMPARISON_GRAPHIFY.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/DEPENDENCY_UPGRADE_GATE.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/HOW_SEARCH_WORKS.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/OFFLINE_USAGE.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/UPDATES.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/UPSTREAM_HARDENING.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/WHY_THIS_FORK.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/demo/code-intelligence-packet.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/demo/code-intelligence-packet.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/dependency-audit-allowlist.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/PALACE-SCOPE-RESOURCE-BOUNDARY.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/README.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/autopilot-demo-gate-ledger.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/autopilot-demo-gate-ledger.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/quality/workflow-review-protocol.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/docs/refactoring/REFAC-MINER-MODULES/progress.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/examples/HOOKS_TUTORIAL.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/examples/basic_mining.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/examples/convo_import.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/examples/gemini_cli_setup.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/examples/mcp_setup.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/hooks/README.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/hooks/mempal_precompact_hook.sh +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/hooks/mempal_save_hook.sh +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace/mcp_server.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/README.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/__main__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/_stdio.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/mcp.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/schemas/1.0.0/mcp.schema.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/schemas/1.0.0/plugin.schema.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/schemas/SCHEMA-NOTICE.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugin/skills/mempalace/SKILL.md +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/agent_plugins.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/architecture.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/agent_plugin.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/alias.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/backup_restore.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/common.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/diary.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/export_import.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/ingest.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/maintenance.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/model.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/preflight.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/query.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/update.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/version_check.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/cli_commands/watch.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/config.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/convo_miner.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/dialect.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/disk_budget.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/entity_detector.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/entity_registry.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/export.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/general_extractor.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/language_catalog.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/layers.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/protocol_compat.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/protocol_text.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/registry.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/runtime.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/architecture.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/diary.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/graph.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/read.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/search.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp/tools/write.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp_launcher.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp_server.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mcp_tool_profiles.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/miner.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/__init__.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/batching.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/chunkers.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/kg_extract.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/languages.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/orchestrator.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/projects.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/scanner.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mining/symbols.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/mirror_preflight.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/normalize.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/onboarding.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/operation_lock.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/palace_graph.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/py.typed +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/reader.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/retrieval_rerank.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/room_detector_local.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/search_reranker.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/searcher.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/source_io.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/spellcheck.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/split_mega_files.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/taxonomy_filters.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/treesitter.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/updater.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/version.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/mempalace_code/version_check.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/pyrightconfig.strict.json +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/architecture_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/bootstrap.sh +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/dependency_upgrade_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/docs_drift_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/gate_inventory.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/gen_code_intelligence_packet.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/gitleaks_scan.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/nuke_wing.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/public_safety_scan.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/quality_scorecard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_artifact_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_install_metadata_smoke.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_public_read.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/release_status_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/upstream_comparison_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/scripts/workflow_summary_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/conftest.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/fixtures/unreasoned_suppression.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/release_smoke_support.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_agent_plugin_package.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_agent_skill_authority_contract.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_architecture_extraction.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_architecture_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_autopilot_demo_gate_ledger.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_backup_cli.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_chunking.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_cli.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_code_intelligence_packet.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_code_retrieval_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_config.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_convo_miner.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_demo_perf_budgets.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_dependency_upgrade_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_dialect.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_disk_budget.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_docs_drift_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_dotnet_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_dotnet_config.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_e2e.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_embed_ab_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_entity_detector.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_entity_registry.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_export.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_gate_inventory.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_general_extractor.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_gitleaks_scan.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_installed_artifact_behavior.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_installed_cli_palace_scope.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_kg_extract.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_lang_detect.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_language_catalog.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_layers.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_mcp_registry.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_mcp_tool_profiles.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_miner.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_miner_modules.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_normalize.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_onboarding.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_operation_lock.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_packaging_namespace.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_palace_graph.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_palace_scope_resource_boundary.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_public_safety_scan.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_pyright_optional_dependencies.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_quality_palace_scope_resource_boundary.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_quality_scorecard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_reader.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_regular_source_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_artifact_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_install_metadata_smoke.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_public_read.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_skill_contract.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_release_status_gate.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_retrieval_rerank.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_search_reranker.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_searcher.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_split_mega_files.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_stdio.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_storage_lance.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_symbol_extract.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_taxonomy_filters.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_token_delta_bench.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_treesitter.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_type_suppressions.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_updater.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_version_check.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_version_consistency.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_watcher_resource_bounds.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_watcher_resource_subprocess.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tests/test_workflow_summary_guard.py +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tools/gitleaks/go.mod +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tools/gitleaks/go.sum +0 -0
- {mempalace_code-1.13.6 → mempalace_code-1.13.8}/tools/gitleaks/tools.go +0 -0
|
@@ -2,6 +2,57 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v1.13.8 — 2026-09-02
|
|
6
|
+
|
|
7
|
+
Recovery release for the accumulated v1.13.7 changes. The immutable v1.13.7
|
|
8
|
+
tag stopped before artifact build when the pinned upstream head moved, so no
|
|
9
|
+
v1.13.7 package or GitHub Release exists.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Temporal KG queries now classify bounded, expired, and future facts against
|
|
14
|
+
their full validity windows; statistics reconcile current, expired, and
|
|
15
|
+
future facts. Omitted invalidation bounds retire facts at the current UTC
|
|
16
|
+
instant while explicit date-only bounds remain inclusive through that day.
|
|
17
|
+
- Invalid KG directions return bounded argument errors, including JSON-RPC
|
|
18
|
+
`-32602` through MCP.
|
|
19
|
+
- A decoded non-object JSON-RPC envelope returns `-32600` without terminating
|
|
20
|
+
the stdio server, so the next valid request is still served.
|
|
21
|
+
- Concurrent first-open KG initialization now retries a short bounded
|
|
22
|
+
`SQLITE_BUSY` window instead of repeating the WAL transition immediately.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Refreshed the reviewed upstream snapshot through `d9f05907`. Its optional
|
|
27
|
+
three-tool PQL facade, temporal response buckets, and logstream coordination
|
|
28
|
+
remain outside this fork because the existing typed MCP profiles already own
|
|
29
|
+
the supported surface.
|
|
30
|
+
- Added the failed v1.13.7 tag to the immutable orphan-tag evidence registry.
|
|
31
|
+
- The installed-wheel release gate now exercises temporal KG classification,
|
|
32
|
+
invalid direction recovery, malformed-envelope recovery, and the existing
|
|
33
|
+
concurrent-watcher KG path through the built applications.
|
|
34
|
+
|
|
35
|
+
## v1.13.7 — 2026-09-02 (tagged, not published)
|
|
36
|
+
|
|
37
|
+
The tag remains immutable public evidence. Publication stopped before artifact
|
|
38
|
+
build because the reviewed upstream head changed; these changes ship in v1.13.8.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Canonical FastEmbed mining now applies the existing 256-token contract to
|
|
43
|
+
batch padding, preventing mixed-length inputs from failing with an
|
|
44
|
+
`inhomogeneous shape` error.
|
|
45
|
+
- The pinned .NET retrieval benchmark now participates in the existing
|
|
46
|
+
`release-required` aggregate, so a red or missing benchmark blocks the exact
|
|
47
|
+
release candidate.
|
|
48
|
+
- Backup retention now treats a backup removed concurrently by another process
|
|
49
|
+
as an idempotent success while still reporting other filesystem failures.
|
|
50
|
+
- Watcher startup now reports whether post-mine optimization was refused by a
|
|
51
|
+
safety check or failed with an error, with a direct health-check recovery step.
|
|
52
|
+
- Concurrent watchers can initialize one fresh palace safely: Lance table
|
|
53
|
+
creation is idempotent, and SQLite knowledge-graph WAL setup retries one
|
|
54
|
+
initial busy collision without hiding unrelated failures.
|
|
55
|
+
|
|
5
56
|
## v1.13.6 — 2026-09-01
|
|
6
57
|
|
|
7
58
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mempalace-code
|
|
3
|
-
Version: 1.13.
|
|
3
|
+
Version: 1.13.8
|
|
4
4
|
Summary: Developer memory tool — mine codebases and conversations into a LanceDB-backed searchable palace. No API key required.
|
|
5
5
|
Project-URL: Homepage, https://github.com/rergards/mempalace-code
|
|
6
6
|
Project-URL: Repository, https://github.com/rergards/mempalace-code
|
|
@@ -1275,7 +1275,7 @@ python -m pyright --pythonpath "$(python -c 'import sys; print(sys.executable)')
|
|
|
1275
1275
|
Apache 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
|
1276
1276
|
|
|
1277
1277
|
<!-- Link Definitions -->
|
|
1278
|
-
[version-shield]: https://img.shields.io/badge/version-1.13.
|
|
1278
|
+
[version-shield]: https://img.shields.io/badge/version-1.13.8-4dc9f6?style=flat-square&labelColor=0a0e14
|
|
1279
1279
|
[release-link]: https://github.com/rergards/mempalace-code/releases
|
|
1280
1280
|
[python-shield]: https://img.shields.io/badge/python-3.11+-7dd8f8?style=flat-square&labelColor=0a0e14&logo=python&logoColor=7dd8f8
|
|
1281
1281
|
[python-link]: https://www.python.org/
|
|
@@ -1216,7 +1216,7 @@ python -m pyright --pythonpath "$(python -c 'import sys; print(sys.executable)')
|
|
|
1216
1216
|
Apache 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
|
|
1217
1217
|
|
|
1218
1218
|
<!-- Link Definitions -->
|
|
1219
|
-
[version-shield]: https://img.shields.io/badge/version-1.13.
|
|
1219
|
+
[version-shield]: https://img.shields.io/badge/version-1.13.8-4dc9f6?style=flat-square&labelColor=0a0e14
|
|
1220
1220
|
[release-link]: https://github.com/rergards/mempalace-code/releases
|
|
1221
1221
|
[python-shield]: https://img.shields.io/badge/python-3.11+-7dd8f8?style=flat-square&labelColor=0a0e14&logo=python&logoColor=7dd8f8
|
|
1222
1222
|
[python-link]: https://www.python.org/
|
|
@@ -227,21 +227,25 @@ HF_HUB_OFFLINE=1 TRANSFORMERS_OFFLINE=1 python benchmarks/dotnet_bench.py \
|
|
|
227
227
|
|
|
228
228
|
### CI Gate
|
|
229
229
|
|
|
230
|
-
The
|
|
231
|
-
`main` and
|
|
230
|
+
The `dotnet-bench` job in `.github/workflows/ci.yml` runs for every `Tests`
|
|
231
|
+
workflow event. Pull requests to `main` and pushes to `main` or `release/v*` can
|
|
232
|
+
provide release evidence; `workflow_dispatch` is diagnostic only and cannot
|
|
233
|
+
satisfy release admission. The job:
|
|
232
234
|
|
|
233
235
|
1. Fetches `jasontaylordev/CleanArchitecture` at the pinned commit
|
|
234
236
|
`5a600ab8749c110384bc3bd436b9c67f3067b489` and verifies `HEAD` matches.
|
|
235
237
|
2. Runs `--validate-queries` to confirm expected files are present in the corpus.
|
|
236
238
|
3. Runs the benchmark with `--fail-under-r5 0.900`; exits 1 when overall R@5
|
|
237
239
|
falls below 0.900.
|
|
238
|
-
4. Uploads `benchmarks/results_dotnet_bench_ci.json` as
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
240
|
+
4. Uploads `benchmarks/results_dotnet_bench_ci.json` as the
|
|
241
|
+
`dotnet-bench-results` artifact even on failure.
|
|
242
|
+
5. Feeds the existing `release-required` aggregate. A failed, skipped, or missing
|
|
243
|
+
benchmark blocks release admission.
|
|
244
|
+
|
|
245
|
+
The job has no skip label. If it fails, inspect `dotnet-bench-results`, then run
|
|
246
|
+
the reproduction command above against the pinned commit. Recover by rerunning
|
|
247
|
+
the failed push or pull-request `Tests` run for the same candidate SHA; never
|
|
248
|
+
dispatch a new run as release evidence.
|
|
245
249
|
|
|
246
250
|
## What Each Benchmark Tests
|
|
247
251
|
|
|
@@ -381,8 +381,14 @@ The watcher emits grep-friendly `WATCH_RUN` lines at each startup transition so
|
|
|
381
381
|
| `WATCH_RUN run_id=<id> state=initial-mine-completed` | Initial mine finished successfully |
|
|
382
382
|
| `WATCH_RUN run_id=<id> state=initial-mine-skipped reason=disk-budget` | Mine skipped because disk budget is too low |
|
|
383
383
|
| `WATCH_RUN run_id=<id> state=optimize-completed` | Post-mine optimize pass succeeded |
|
|
384
|
-
| `WATCH_RUN run_id=<id> state=optimize-skipped reason=
|
|
385
|
-
| `WATCH_RUN run_id=<id> state=
|
|
384
|
+
| `WATCH_RUN run_id=<id> state=optimize-skipped reason=safety-check` | Safe optimize refused or failed; see the preceding storage log for the precise cause |
|
|
385
|
+
| `WATCH_RUN run_id=<id> state=optimize-skipped reason=error` | Optimize raised an unexpected error; the preceding optimize line contains the cause |
|
|
386
|
+
| `WATCH_RUN run_id=<id> state=watch-ready` | Daemon entered the watch loop; inspect earlier markers for startup work that was skipped |
|
|
387
|
+
|
|
388
|
+
For either `optimize-skipped` reason, the initial mine completed but optimization did not.
|
|
389
|
+
The watcher continues. Inspect the preceding optimize output, then run
|
|
390
|
+
`mempalace-code --palace /path/palace health`; if it recurs, resolve that reported storage
|
|
391
|
+
error before restarting.
|
|
386
392
|
|
|
387
393
|
The `run_id` is unique per startup attempt. An appended log file may contain `WATCH_RUN` lines from older runs that exited with disk-budget or backup failures. To find the latest healthy startup, locate the last `state=watch-ready` line and use its `run_id` to filter the associated transitions:
|
|
388
394
|
|
|
@@ -107,7 +107,7 @@ For large monorepos, prefer the highest-ROI initialized subdirectory first when
|
|
|
107
107
|
## Existing memory systems
|
|
108
108
|
|
|
109
109
|
If the repo already has curated memory docs (`MEMORY.md`, project notes, hand-written summaries), do not mirror them wholesale into drawers. Use stores by job:
|
|
110
|
-
- KG =
|
|
110
|
+
- KG = temporal facts that need exact lookup, current-state filtering, or history.
|
|
111
111
|
- Drawers = verbatim source material, decisions, root causes, and discussion excerpts.
|
|
112
112
|
- Diary = this agent's own continuity notes.
|
|
113
113
|
- Curated docs = compressed narrative, rationale, and human-maintained summaries.
|
|
@@ -118,7 +118,16 @@ Do not turn a carefully compressed memory file into drawer content unless the hu
|
|
|
118
118
|
|
|
119
119
|
Use the KG for facts that **change over time** or need **exact-match lookup** — version numbers, stack choices, ownership, statuses, deadlines.
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
`mempalace_kg_query` without `as_of` returns historical, current, and future
|
|
122
|
+
facts with an explicit `current` output field. For present state, filter the
|
|
123
|
+
returned facts where `current` is `true`; never send `current` as an input
|
|
124
|
+
argument. Pass `as_of` when the question names another date.
|
|
125
|
+
|
|
126
|
+
Update protocol: `mempalace_kg_query` → select the intended returned triple
|
|
127
|
+
whose `current` field is `true` → `mempalace_kg_invalidate` (omit `ended` to
|
|
128
|
+
retire it now; pass a date for an inclusive end-of-day bound) →
|
|
129
|
+
`mempalace_kg_add` (new triple, validity window). Never leave two current
|
|
130
|
+
triples for the same `(subject, predicate)`.
|
|
122
131
|
|
|
123
132
|
Bad for KG: code patterns, debugging notes, prose — those belong in a drawer.
|
|
124
133
|
|
|
@@ -265,7 +274,7 @@ Active tools: `mempalace_status`, `mempalace_search`, `mempalace_check_duplicate
|
|
|
265
274
|
| Semantic search | `mempalace_search` |
|
|
266
275
|
| Duplicate check before filing | `mempalace_check_duplicate` |
|
|
267
276
|
| Save a decision or note | `mempalace_add_drawer` |
|
|
268
|
-
| Query an entity's
|
|
277
|
+
| Query an entity's temporal facts; filter returned facts by the `current` output field for present state | `mempalace_kg_query` |
|
|
269
278
|
| Add a temporal fact | `mempalace_kg_add` |
|
|
270
279
|
| Retire an outdated fact | `mempalace_kg_invalidate` |
|
|
271
280
|
| See how facts changed over time | `mempalace_kg_timeline` |
|
|
@@ -50,7 +50,7 @@ python scripts/docs_drift_guard.py
|
|
|
50
50
|
python scripts/public_safety_scan.py --tracked --staged
|
|
51
51
|
python scripts/quality_scorecard.py --check
|
|
52
52
|
python scripts/release_preflight.py --tag vX.Y.Z --require-clean
|
|
53
|
-
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --check-public-main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset
|
|
53
|
+
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --check-public-main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset --check-public-orphan-tags
|
|
54
54
|
python scripts/release_install_metadata_smoke.py --all-installers --install-spec . --json
|
|
55
55
|
WHEEL=dist/mempalace_code-X.Y.Z-py3-none-any.whl
|
|
56
56
|
python scripts/release_readiness_gate.py --installed-golden-wheel "$WHEEL" --json
|
|
@@ -165,7 +165,7 @@ The exact-SHA release admission command is the publication boundary after the
|
|
|
165
165
|
operator has reviewed the candidate commit and fetched the public target:
|
|
166
166
|
|
|
167
167
|
```bash
|
|
168
|
-
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --candidate-ref publish/main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset
|
|
168
|
+
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --candidate-ref publish/main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset --check-public-orphan-tags
|
|
169
169
|
```
|
|
170
170
|
|
|
171
171
|
This command binds `HEAD`, the intended `vX.Y.Z` tag target, the
|
|
@@ -320,7 +320,7 @@ owner:
|
|
|
320
320
|
|
|
321
321
|
```bash
|
|
322
322
|
test "$(git rev-parse HEAD)" = "$CANDIDATE_SHA"
|
|
323
|
-
python scripts/release_preflight.py --require-clean --expect-sha "$CANDIDATE_SHA" --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset
|
|
323
|
+
python scripts/release_preflight.py --require-clean --expect-sha "$CANDIDATE_SHA" --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset --check-public-orphan-tags
|
|
324
324
|
```
|
|
325
325
|
|
|
326
326
|
A non-zero exit means the release is not admissible. Fix the reported row and
|
|
@@ -356,7 +356,7 @@ Public `main` has moved, so re-run exact-SHA admission — this time bound to
|
|
|
356
356
|
`publish/main` — before any tag exists:
|
|
357
357
|
|
|
358
358
|
```bash
|
|
359
|
-
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --candidate-ref publish/main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset
|
|
359
|
+
python scripts/release_preflight.py --tag vX.Y.Z --require-clean --expect-sha <40-hex-candidate-sha> --candidate-ref publish/main --check-required-check --check-dependency-audit --check-branch-rules --check-tag-ruleset --check-public-orphan-tags
|
|
360
360
|
```
|
|
361
361
|
|
|
362
362
|
A non-zero exit means the release is not admissible. Fix the reported row; do
|
|
@@ -14,14 +14,14 @@ document, and the README pointer consistent.
|
|
|
14
14
|
|
|
15
15
|
| Field | Value |
|
|
16
16
|
|---|---|
|
|
17
|
-
| Reviewed date | `2026-
|
|
17
|
+
| Reviewed date | `2026-09-02` |
|
|
18
18
|
| Canonical upstream repository | <https://github.com/MemPalace/mempalace> |
|
|
19
19
|
| Branch reviewed | `develop` |
|
|
20
|
-
| Commit reviewed | `
|
|
21
|
-
| Previous reviewed commit | `
|
|
22
|
-
| Previous reviewed date | `2026-08-
|
|
20
|
+
| Commit reviewed | `d9f059076c866fa6f29195679d75712436986024` |
|
|
21
|
+
| Previous reviewed commit | `e8098348ddfce59964fe536e5deffb81da579e6b` |
|
|
22
|
+
| Previous reviewed date | `2026-08-31` |
|
|
23
23
|
| Upstream release described by its changelog | `3.9.0` |
|
|
24
|
-
| Upstream paths tracked for drift | `README.md`, `CHANGELOG.md`, `pyproject.toml`, plugin/MCP metadata, update awareness, hub, logstream, MCP, search, embedding, Qdrant, benchmark, configuration, split-file, and RFC 003–005 sources |
|
|
24
|
+
| Upstream paths tracked for drift | `README.md`, `CHANGELOG.md`, `pyproject.toml`, plugin/MCP metadata, update awareness, hub, logstream, MCP, lightweight MCP/PQL, KG, CLI, search, embedding, Qdrant, benchmark, coordination, configuration, split-file, and RFC 003–005 sources |
|
|
25
25
|
| Fork commit at review time | this repository, `main` |
|
|
26
26
|
|
|
27
27
|
All upstream statements below are limited to the pinned public sources. Upstream
|
|
@@ -32,90 +32,66 @@ or independently compatibility-tested.
|
|
|
32
32
|
|
|
33
33
|
Pinned primary upstream sources, all at the reviewed commit:
|
|
34
34
|
|
|
35
|
-
- <https://github.com/MemPalace/mempalace/tree/
|
|
36
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
37
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
38
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
39
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
40
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
41
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
42
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
43
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
44
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
45
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
46
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
47
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
48
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
49
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
50
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
51
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
52
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
53
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
54
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
55
|
-
- <https://github.com/MemPalace/mempalace/blob/
|
|
35
|
+
- <https://github.com/MemPalace/mempalace/tree/d9f059076c866fa6f29195679d75712436986024>
|
|
36
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/README.md>
|
|
37
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/CHANGELOG.md>
|
|
38
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/pyproject.toml>
|
|
39
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/.codex-plugin/plugin.json>
|
|
40
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/.claude-plugin/plugin.json>
|
|
41
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/.agents/plugins/marketplace.json>
|
|
42
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/.mcp.json>
|
|
43
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/config.py>
|
|
44
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/split_mega_files.py>
|
|
45
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/update_awareness.py>
|
|
46
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/hub_client.py>
|
|
47
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/logstream.py>
|
|
48
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/mcp_server.py>
|
|
49
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/searcher.py>
|
|
50
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/embedding.py>
|
|
51
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/backends/qdrant.py>
|
|
52
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/benchmarks/PRIVATE_PALACE.md>
|
|
53
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/docs/rfcs/003-agent-logstream-coordination.md>
|
|
54
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/docs/rfcs/004-replicated-palace.md>
|
|
55
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/docs/rfcs/005-agent-identity-routing.md>
|
|
56
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/integrations/shared/coordination-protocol.md>
|
|
57
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/cli.py>
|
|
58
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/knowledge_graph.py>
|
|
59
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/mcp_light_server.py>
|
|
60
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/mempalace/query_parser.py>
|
|
61
|
+
- <https://github.com/MemPalace/mempalace/blob/d9f059076c866fa6f29195679d75712436986024/website/guide/lightweight-mcp.md>
|
|
56
62
|
|
|
57
63
|
The exact public range between the previous pin and this one is:
|
|
58
64
|
|
|
59
|
-
- <https://github.com/MemPalace/mempalace/compare/
|
|
65
|
+
- <https://github.com/MemPalace/mempalace/compare/e8098348ddfce59964fe536e5deffb81da579e6b...d9f059076c866fa6f29195679d75712436986024>
|
|
60
66
|
|
|
61
67
|
## Upstream Delta Since the Previous Pin
|
|
62
68
|
|
|
63
|
-
The compare range contains
|
|
64
|
-
|
|
69
|
+
The compare range contains 10 commits. Each commit is owned exactly once by the
|
|
70
|
+
single first-parent merge group below. The group has one stance from the
|
|
65
71
|
closed set `adopted`, `equivalent-local`, `migration-only`, `deferred`, or
|
|
66
72
|
`irrelevant`.
|
|
67
73
|
|
|
68
74
|
| Delta decision | Upstream change, as its sources describe it | Stance | Release-critical | Merge group |
|
|
69
75
|
|---|---|---|---|---|
|
|
70
|
-
| `
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
| `concurrent-hub-palace-reads` | HTTP MCP palace reads use a shared lock while writes remain exclusive | `irrelevant` | no | `da245c6c` |
|
|
77
|
-
| `closet-search-source-index` | Closet search indexes source lookups and reports raw vector similarity | `irrelevant` | no | `6597908a` |
|
|
78
|
-
| `private-palace-search-benchmark` | A private-palace search benchmark harness and operator procedure | `irrelevant` | no | `b0b10aa8` |
|
|
79
|
-
| `embeddinggemma-batch-size-override` | EmbeddingGemma sub-batch size becomes configurable | `irrelevant` | no | `dc43751c` |
|
|
80
|
-
| `live-hub-cli-search-forwarding` | CLI search reuses a compatible live hub with configuration, output, and token guards | `irrelevant` | no | `307a6765` |
|
|
81
|
-
| `release-3-9-0-metadata` | Package, plugin, integration, badge, lockfile, and changelog sources move to 3.9.0 | `irrelevant` | no | `e8098348` |
|
|
82
|
-
|
|
83
|
-
The manifest records the exact 47-commit full-range inventory for
|
|
84
|
-
`a9f345cc..e8098348`: 12 top-level merge commits, four nested merge commits,
|
|
85
|
-
and a 31-commit non-merge constituent subset. Its SHA-256 anchor is
|
|
86
|
-
`4ee827c643113410c17140162f4650930586a5b4ea92d28ca720b2ec6cd648df`.
|
|
76
|
+
| `lightweight-mcp-pql` | Optional three-tool MCP facade with PQL/structured inputs, KG temporal buckets, and on-demand logstream coordination guidance | `irrelevant` | no | `d9f05907` |
|
|
77
|
+
|
|
78
|
+
The manifest records the exact 10-commit full-range inventory for
|
|
79
|
+
`e8098348..d9f05907`: one top-level merge commit, zero nested merge commits,
|
|
80
|
+
and a nine-commit non-merge constituent subset. Its SHA-256 anchor is
|
|
81
|
+
`127aa2ccb94b5e549c305a9cc4317ba4a2f6c0488b5db1707ead7e8cb4a5d24c`.
|
|
87
82
|
Grouped by the top-level merge commits:
|
|
88
83
|
|
|
89
|
-
- `
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
- `e8098348`: `434f00b5`
|
|
101
|
-
|
|
102
|
-
**Equivalent locally.** `opt-in-release-awareness` maps to the fork's existing
|
|
103
|
-
version-check and updater owners. Checks and scheduling are disabled by default;
|
|
104
|
-
`update status` and `update check` are explicit read-only paths; `update apply
|
|
105
|
-
--yes` requires confirmation and a supported installer; malformed configuration,
|
|
106
|
-
unsupported platforms, and overlapping scheduled work fail closed. The cited
|
|
107
|
-
predicates verify those outcomes. Upstream's MCP cached-status response shape is
|
|
108
|
-
outside this equivalence claim.
|
|
109
|
-
|
|
110
|
-
**Not applicable.** The fork has no live HTTP hub, logstream database, closet
|
|
111
|
-
index, EmbeddingGemma runtime, Qdrant backend, upstream Docker publication, or
|
|
112
|
-
upstream release-metadata owner. The private benchmark supplies no comparable
|
|
113
|
-
fork measurement. Repository-only dependency, history, and version changes
|
|
114
|
-
remain owned by each repository.
|
|
115
|
-
|
|
116
|
-
The release-critical update-awareness row is closed by existing local predicates.
|
|
117
|
-
The range therefore has zero unresolved release-critical decisions and imports no
|
|
118
|
-
upstream runtime behavior.
|
|
84
|
+
- `d9f05907`: `85d60c90`, `17936626`, `478ecee9`, `66b3b23d`, `4aa1e7f1`, `bf30db9b`, `be27f731`, `57ab367a`, `ea0c780b`
|
|
85
|
+
|
|
86
|
+
**Not applicable.** The fork already has one typed MCP registry: 29 tools in the
|
|
87
|
+
full profile and four tools in the portable minimal profile. Importing a second
|
|
88
|
+
free-form PQL parser and server would duplicate that owner and add hub,
|
|
89
|
+
logstream, and fuzzy-resolution contracts absent from this fork. The local KG
|
|
90
|
+
retains typed tool arguments and returns explicit temporal state on its existing
|
|
91
|
+
query surfaces.
|
|
92
|
+
|
|
93
|
+
The range has no release-critical decisions and imports no upstream runtime
|
|
94
|
+
behavior.
|
|
119
95
|
|
|
120
96
|
## Capability Comparison
|
|
121
97
|
|
|
@@ -126,9 +102,10 @@ upstream runtime behavior.
|
|
|
126
102
|
| Embeddings | New onboarding offers multilingual `embeddinggemma-300m`; opt-in `openai-compat` targets an OpenAI-compatible endpoint; 3.9.0 adds an EmbeddingGemma sub-batch override | `all-MiniLM-L6-v2`; no supported multilingual configuration or migration path, and no remote embedding-provider integration |
|
|
127
103
|
| Search | Date-window filtering is advertised; 3.9.0 can forward compatible CLI searches to a live hub and reports raw vector similarity for closet-enriched search | No date-window or live-hub forwarding surface; local Lance search remains process-local |
|
|
128
104
|
| Agent integration | A Hermes `MemoryProvider`, source adapters, shared-hub routing, and skill-first coordination are advertised | No Hermes provider, source-adapter ingestion, or shared-hub surface |
|
|
129
|
-
| MCP count and plugin wording | README and Claude plugin wording say 45 MCP tools; the Codex plugin wording says 44 | Direct stdio MCP registration defaults to the
|
|
105
|
+
| MCP count and plugin wording | README and Claude plugin wording say 45 MCP tools; the Codex plugin wording says 44; an optional lightweight facade exposes three PQL/structured tools | Direct stdio MCP registration defaults to the typed 29-tool profile; the portable package defaults to four typed tools |
|
|
130
106
|
| Plugin metadata | Codex manifest identifies `mempalace` version 3.9.0 and points at `.mcp.json` | Standards-conformant Agent Plugins 1.0 portable package with a four-tool default |
|
|
131
|
-
| Coordination and replication | Logstream includes watcher behavior, topic routing, reverse pagination, artifact handoffs, and an RFC 004 multi-master foundation | No logstream, palace replication, mesh, or live-hub transport |
|
|
107
|
+
| Coordination and replication | Logstream includes watcher behavior, topic routing, reverse pagination, artifact handoffs, on-demand coordination guidance, and an RFC 004 multi-master foundation | No logstream, palace replication, mesh, or live-hub transport |
|
|
108
|
+
| KG query shape | Entity candidates can be resolved through the lightweight facade and partitioned into active, historical, and future facts | Existing typed KG tools return each fact with explicit temporal state; no PQL or fuzzy entity-resolution layer |
|
|
132
109
|
| Hub concurrency | HTTP MCP permits concurrent palace reads while retaining exclusive writes | Stdio-only MCP; no shared HTTP palace lock |
|
|
133
110
|
| Update awareness | Stable-release checks are opt-in, cached, agent-visible, and do not install automatically | Disabled-by-default version checks plus explicit `update status`, `update check`, and confirmed `update apply --yes`; no upstream MCP cached-status compatibility claim |
|
|
134
111
|
| Benchmarks | A private-palace search benchmark procedure is published | Independent local benchmark gates; no cross-project result equivalence claim |
|
|
@@ -180,6 +157,9 @@ Upstream, advertised at the reviewed commit:
|
|
|
180
157
|
- `qdrant-bounded-get-scroll`
|
|
181
158
|
- `closet-search-source-index`
|
|
182
159
|
- `private-palace-search-benchmark`
|
|
160
|
+
- `lightweight-mcp-pql-three-tools`
|
|
161
|
+
- `kg-entity-candidate-temporal-buckets`
|
|
162
|
+
- `on-demand-logstream-coordination`
|
|
183
163
|
|
|
184
164
|
This fork, current:
|
|
185
165
|
|
|
@@ -200,9 +180,9 @@ This fork, current:
|
|
|
200
180
|
|
|
201
181
|
## Capability Sources
|
|
202
182
|
|
|
203
|
-
The manifest carries the exact source mapping.
|
|
204
|
-
|
|
205
|
-
|
|
183
|
+
The manifest carries the exact source mapping. Established capabilities remain
|
|
184
|
+
pinned to README, changelog, plugin/MCP metadata, and RFC 003–005. The newest
|
|
185
|
+
delta uses these reviewed sources:
|
|
206
186
|
|
|
207
187
|
| Upstream identifier | Read from |
|
|
208
188
|
|---|---|
|
|
@@ -218,6 +198,9 @@ new 3.9.0 capabilities use these reviewed sources:
|
|
|
218
198
|
| `qdrant-bounded-get-scroll` | `CHANGELOG.md`, `mempalace/backends/qdrant.py` |
|
|
219
199
|
| `closet-search-source-index` | `CHANGELOG.md`, `mempalace/searcher.py` |
|
|
220
200
|
| `private-palace-search-benchmark` | `benchmarks/PRIVATE_PALACE.md` |
|
|
201
|
+
| `lightweight-mcp-pql-three-tools` | lightweight MCP guide, `mempalace/mcp_light_server.py`, `mempalace/query_parser.py`, `mempalace/cli.py`, `pyproject.toml` |
|
|
202
|
+
| `kg-entity-candidate-temporal-buckets` | `mempalace/mcp_server.py`, `mempalace/knowledge_graph.py` |
|
|
203
|
+
| `on-demand-logstream-coordination` | `integrations/shared/coordination-protocol.md` |
|
|
221
204
|
|
|
222
205
|
`mempalace/config.py` is also pinned for the live-hub search fingerprint.
|
|
223
206
|
`mempalace/split_mega_files.py` and RFC 005 remain tracked because changes to
|
|
@@ -243,7 +226,8 @@ logstream, live-hub routing, and replication remain outside the local code-memor
|
|
|
243
226
|
scope.
|
|
244
227
|
|
|
245
228
|
**MCP and packages.** Direct MCP defaults to 29 tools. The separate Agent
|
|
246
|
-
Plugins 1.0 portable package defaults to the four-tool `minimal` profile.
|
|
229
|
+
Plugins 1.0 portable package defaults to the four-tool `minimal` profile. The
|
|
230
|
+
fork keeps this one typed registry and does not import the optional PQL facade.
|
|
247
231
|
|
|
248
232
|
## Evidence Limits
|
|
249
233
|
|
|
@@ -252,10 +236,8 @@ Plugins 1.0 portable package defaults to the four-tool `minimal` profile.
|
|
|
252
236
|
sources. No upstream behavior was run.
|
|
253
237
|
- **Nothing was measured.** This document contains no cross-project benchmark,
|
|
254
238
|
quality, performance, adoption, or compatibility measurement.
|
|
255
|
-
- **Delta stances are about this fork.** Every commit is assigned to one
|
|
256
|
-
group.
|
|
257
|
-
by the named predicates; the other 11 rows are repository-only `irrelevant`
|
|
258
|
-
decisions with no local predicate claim.
|
|
239
|
+
- **Delta stances are about this fork.** Every commit is assigned to the one
|
|
240
|
+
merge group. Its `irrelevant` stance imports no local predicate claim.
|
|
259
241
|
- **Plugin counts are source-local wording.** The pinned README and Claude plugin
|
|
260
242
|
say 45 tools; the pinned Codex plugin says 44. The fork's 29-tool direct profile
|
|
261
243
|
and four-tool portable default are independent.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"code_size": {
|
|
3
|
-
"package_code_lines":
|
|
3
|
+
"package_code_lines": 24281,
|
|
4
4
|
"package_files": 80,
|
|
5
|
-
"package_total_lines":
|
|
5
|
+
"package_total_lines": 29511,
|
|
6
6
|
"test_files": 88,
|
|
7
|
-
"test_total_lines":
|
|
7
|
+
"test_total_lines": 81582
|
|
8
8
|
},
|
|
9
9
|
"demo_gates": {
|
|
10
10
|
"architecture_guard": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"largest_modules": [
|
|
60
60
|
{
|
|
61
|
-
"lines":
|
|
61
|
+
"lines": 2107,
|
|
62
62
|
"path": "mempalace_code/storage.py"
|
|
63
63
|
},
|
|
64
64
|
{
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"path": "mempalace_code/dialect.py"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"lines":
|
|
81
|
+
"lines": 989,
|
|
82
82
|
"path": "mempalace_code/backup.py"
|
|
83
83
|
},
|
|
84
84
|
{
|
|
@@ -276,13 +276,13 @@
|
|
|
276
276
|
"mempalace_code",
|
|
277
277
|
"tests"
|
|
278
278
|
],
|
|
279
|
-
"type_pyright_total":
|
|
279
|
+
"type_pyright_total": 171,
|
|
280
280
|
"type_pyright_unreasoned": 0,
|
|
281
281
|
"unreasoned_total": 0
|
|
282
282
|
},
|
|
283
283
|
"tests": {
|
|
284
284
|
"test_files": 88,
|
|
285
|
-
"test_functions":
|
|
285
|
+
"test_functions": 3755
|
|
286
286
|
},
|
|
287
287
|
"verification_commands": [
|
|
288
288
|
{
|
|
@@ -9,21 +9,21 @@ Schema version: 4
|
|
|
9
9
|
| Metric | Value |
|
|
10
10
|
|--------|------:|
|
|
11
11
|
| Package files (`mempalace_code/`) | 80 |
|
|
12
|
-
| Package total lines |
|
|
13
|
-
| Package code lines |
|
|
12
|
+
| Package total lines | 29511 |
|
|
13
|
+
| Package code lines | 24281 |
|
|
14
14
|
| Test files (`tests/`) | 88 |
|
|
15
|
-
| Test total lines |
|
|
15
|
+
| Test total lines | 81582 |
|
|
16
16
|
|
|
17
17
|
## Largest Modules (top 10)
|
|
18
18
|
|
|
19
19
|
| Module | Lines |
|
|
20
20
|
|--------|------:|
|
|
21
|
-
| `mempalace_code/storage.py` |
|
|
21
|
+
| `mempalace_code/storage.py` | 2107 |
|
|
22
22
|
| `mempalace_code/updater.py` | 1780 |
|
|
23
23
|
| `mempalace_code/mining/chunkers.py` | 1466 |
|
|
24
24
|
| `mempalace_code/watcher.py` | 1333 |
|
|
25
25
|
| `mempalace_code/dialect.py` | 1074 |
|
|
26
|
-
| `mempalace_code/backup.py` |
|
|
26
|
+
| `mempalace_code/backup.py` | 989 |
|
|
27
27
|
| `mempalace_code/cli.py` | 947 |
|
|
28
28
|
| `mempalace_code/mining/symbols.py` | 904 |
|
|
29
29
|
| `mempalace_code/entity_detector.py` | 885 |
|
|
@@ -117,7 +117,7 @@ Scope: `mempalace_code/`, `tests/` (excludes `tests/fixtures/`).
|
|
|
117
117
|
|
|
118
118
|
| Metric | Value |
|
|
119
119
|
|--------|------:|
|
|
120
|
-
| type/pyright ignores (total) |
|
|
120
|
+
| type/pyright ignores (total) | 171 |
|
|
121
121
|
| type/pyright unreasoned | 0 |
|
|
122
122
|
| noqa (total) | 39 |
|
|
123
123
|
| noqa blanket | 0 |
|
|
@@ -128,7 +128,7 @@ Scope: `mempalace_code/`, `tests/` (excludes `tests/fixtures/`).
|
|
|
128
128
|
| Metric | Value |
|
|
129
129
|
|--------|------:|
|
|
130
130
|
| Test files | 88 |
|
|
131
|
-
| Test functions |
|
|
131
|
+
| Test functions | 3755 |
|
|
132
132
|
|
|
133
133
|
## Available Suites
|
|
134
134
|
|