mempalace-code 1.14.0__tar.gz → 1.14.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/CHANGELOG.md +35 -0
  2. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/PKG-INFO +2 -2
  3. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/README.md +1 -1
  4. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/RELEASING.md +6 -3
  5. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/UPSTREAM_COMPARISON.md +62 -64
  6. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/operations/wing-migration.md +8 -8
  7. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/scorecard.json +9 -9
  8. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/scorecard.md +9 -9
  9. mempalace_code-1.14.2/docs/quality/upstream-comparison.json +415 -0
  10. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/release-admission-rulesets.md +1 -0
  11. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/plugin.json +1 -1
  12. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/storage.py +39 -24
  13. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/wing_migration.py +48 -45
  14. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/pyproject.toml +1 -1
  15. mempalace_code-1.14.2/scripts/pytest_failure_summary.py +83 -0
  16. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_admission_checks.py +45 -12
  17. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_readiness_gate.py +21 -22
  18. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/upstream_comparison_guard.py +2 -2
  19. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_cli_golden_scenarios.py +0 -22
  20. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_packaging_namespace.py +23 -0
  21. mempalace_code-1.14.2/tests/test_pytest_failure_summary.py +68 -0
  22. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_preflight.py +1 -1
  23. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_readiness_gate.py +9 -9
  24. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_ruleset_contract.py +48 -2
  25. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_workflow_admission.py +8 -2
  26. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_storage.py +53 -1
  27. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_upstream_comparison_guard.py +24 -8
  28. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_watcher_resource_subprocess.py +23 -11
  29. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_wing_migration.py +81 -5
  30. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/uv.lock +1 -1
  31. mempalace_code-1.14.0/docs/quality/upstream-comparison.json +0 -580
  32. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/.gitignore +0 -0
  33. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/.gitleaks.toml +0 -0
  34. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/.pre-commit-config.yaml +0 -0
  35. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/AGENTS.md +0 -0
  36. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/CLAUDE.md +0 -0
  37. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/CONTRIBUTING.md +0 -0
  38. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/LICENSE +0 -0
  39. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/NOTICE +0 -0
  40. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/assets/mempalace_banner.jpg +0 -0
  41. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/BENCHMARKS.md +0 -0
  42. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/HYBRID_MODE.md +0 -0
  43. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/README.md +0 -0
  44. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/code_retrieval_bench.py +0 -0
  45. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/convomem_bench.py +0 -0
  46. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/data/code_retrieval_queries.json +0 -0
  47. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/demo_perf_budgets.json +0 -0
  48. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/demo_perf_budgets.py +0 -0
  49. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/dotnet_bench.py +0 -0
  50. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/embed_ab_bench.py +0 -0
  51. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/locomo_bench.py +0 -0
  52. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/longmemeval_bench.py +0 -0
  53. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/membench_bench.py +0 -0
  54. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/minilm_runtime_compatibility_fixture.json +0 -0
  55. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/results_embed_ab_2026-04-09.json +0 -0
  56. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/results_token_delta_mempalace.json +0 -0
  57. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/retrieval_quality_facts.json +0 -0
  58. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/token_delta_bench.py +0 -0
  59. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/benchmarks/token_delta_fixture_facts.json +0 -0
  60. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/AGENT_INSTALL.md +0 -0
  61. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/BACKUP_RESTORE.md +0 -0
  62. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/BENCH_TOKEN_DELTA.md +0 -0
  63. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/COMPARISON_GRAPHIFY.md +0 -0
  64. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/DEPENDENCY_UPGRADE_GATE.md +0 -0
  65. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/HOW_SEARCH_WORKS.md +0 -0
  66. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/LLM_USAGE_RULES.md +0 -0
  67. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/OFFLINE_USAGE.md +0 -0
  68. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/UPDATES.md +0 -0
  69. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/UPSTREAM_HARDENING.md +0 -0
  70. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/WHY_THIS_FORK.md +0 -0
  71. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/demo/code-intelligence-packet.json +0 -0
  72. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/demo/code-intelligence-packet.md +0 -0
  73. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/dependency-audit-allowlist.json +0 -0
  74. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/PALACE-SCOPE-RESOURCE-BOUNDARY.md +0 -0
  75. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/README.md +0 -0
  76. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/autopilot-demo-gate-ledger.json +0 -0
  77. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/autopilot-demo-gate-ledger.md +0 -0
  78. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/quality/workflow-review-protocol.md +0 -0
  79. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/docs/refactoring/REFAC-MINER-MODULES/progress.md +0 -0
  80. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/examples/HOOKS_TUTORIAL.md +0 -0
  81. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/examples/basic_mining.py +0 -0
  82. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/examples/convo_import.py +0 -0
  83. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/examples/gemini_cli_setup.md +0 -0
  84. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/examples/mcp_setup.md +0 -0
  85. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/hooks/README.md +0 -0
  86. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/hooks/mempal_precompact_hook.sh +0 -0
  87. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/hooks/mempal_save_hook.sh +0 -0
  88. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace/__init__.py +0 -0
  89. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace/mcp_server.py +0 -0
  90. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/README.md +0 -0
  91. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/__init__.py +0 -0
  92. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/__main__.py +0 -0
  93. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/_stdio.py +0 -0
  94. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/mcp.json +0 -0
  95. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/schemas/1.0.0/mcp.schema.json +0 -0
  96. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/schemas/1.0.0/plugin.schema.json +0 -0
  97. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/schemas/SCHEMA-NOTICE.md +0 -0
  98. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugin/skills/mempalace/SKILL.md +0 -0
  99. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/agent_plugins.py +0 -0
  100. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/architecture.py +0 -0
  101. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/backup.py +0 -0
  102. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli.py +0 -0
  103. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/__init__.py +0 -0
  104. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/agent_plugin.py +0 -0
  105. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/alias.py +0 -0
  106. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/backup_restore.py +0 -0
  107. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/common.py +0 -0
  108. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/diary.py +0 -0
  109. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/export_import.py +0 -0
  110. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/ingest.py +0 -0
  111. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/maintenance.py +0 -0
  112. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/model.py +0 -0
  113. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/preflight.py +0 -0
  114. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/query.py +0 -0
  115. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/update.py +0 -0
  116. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/version_check.py +0 -0
  117. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/watch.py +0 -0
  118. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/cli_commands/wing_migration.py +0 -0
  119. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/config.py +0 -0
  120. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/convo_miner.py +0 -0
  121. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/dialect.py +0 -0
  122. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/disk_budget.py +0 -0
  123. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/entity_detector.py +0 -0
  124. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/entity_registry.py +0 -0
  125. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/export.py +0 -0
  126. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/general_extractor.py +0 -0
  127. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/knowledge_graph.py +0 -0
  128. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/language_catalog.py +0 -0
  129. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/layers.py +0 -0
  130. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/__init__.py +0 -0
  131. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/dispatch.py +0 -0
  132. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/protocol_compat.py +0 -0
  133. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/protocol_text.py +0 -0
  134. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/registry.py +0 -0
  135. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/runtime.py +0 -0
  136. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/__init__.py +0 -0
  137. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/architecture.py +0 -0
  138. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/diary.py +0 -0
  139. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/graph.py +0 -0
  140. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/kg.py +0 -0
  141. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/read.py +0 -0
  142. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/search.py +0 -0
  143. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp/tools/write.py +0 -0
  144. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp_launcher.py +0 -0
  145. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp_server.py +0 -0
  146. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mcp_tool_profiles.py +0 -0
  147. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/miner.py +0 -0
  148. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/__init__.py +0 -0
  149. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/batching.py +0 -0
  150. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/chunkers.py +0 -0
  151. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/kg_extract.py +0 -0
  152. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/languages.py +0 -0
  153. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/orchestrator.py +0 -0
  154. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/projects.py +0 -0
  155. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/scanner.py +0 -0
  156. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mining/symbols.py +0 -0
  157. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/mirror_preflight.py +0 -0
  158. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/normalize.py +0 -0
  159. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/onboarding.py +0 -0
  160. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/operation_lock.py +0 -0
  161. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/palace_graph.py +0 -0
  162. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/py.typed +0 -0
  163. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/reader.py +0 -0
  164. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/retrieval_rerank.py +0 -0
  165. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/room_detector_local.py +0 -0
  166. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/search_reranker.py +0 -0
  167. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/searcher.py +0 -0
  168. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/source_io.py +0 -0
  169. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/spellcheck.py +0 -0
  170. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/split_mega_files.py +0 -0
  171. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/taxonomy_filters.py +0 -0
  172. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/treesitter.py +0 -0
  173. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/updater.py +0 -0
  174. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/version.py +0 -0
  175. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/version_check.py +0 -0
  176. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/mempalace_code/watcher.py +0 -0
  177. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/pyrightconfig.strict.json +0 -0
  178. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/architecture_guard.py +0 -0
  179. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/bootstrap.sh +0 -0
  180. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/dependency_upgrade_gate.py +0 -0
  181. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/docs_drift_guard.py +0 -0
  182. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/gate_inventory.py +0 -0
  183. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/gen_code_intelligence_packet.py +0 -0
  184. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/gitleaks_scan.py +0 -0
  185. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/nuke_wing.py +0 -0
  186. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/public_safety_scan.py +0 -0
  187. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/quality_scorecard.py +0 -0
  188. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_artifact_gate.py +0 -0
  189. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_install_metadata_smoke.py +0 -0
  190. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_preflight.py +0 -0
  191. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_public_read.py +0 -0
  192. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/release_status_gate.py +0 -0
  193. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/wing_migration.py +0 -0
  194. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/scripts/workflow_summary_guard.py +0 -0
  195. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/conftest.py +0 -0
  196. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/fixtures/unreasoned_suppression.py +0 -0
  197. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/release_smoke_support.py +0 -0
  198. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_agent_plugin_package.py +0 -0
  199. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_agent_skill_authority_contract.py +0 -0
  200. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_architecture_extraction.py +0 -0
  201. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_architecture_guard.py +0 -0
  202. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_autopilot_demo_gate_ledger.py +0 -0
  203. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_backup.py +0 -0
  204. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_backup_cli.py +0 -0
  205. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_chunking.py +0 -0
  206. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_cli.py +0 -0
  207. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_cli_command_modules.py +0 -0
  208. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_code_intelligence_packet.py +0 -0
  209. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_code_retrieval_bench.py +0 -0
  210. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_config.py +0 -0
  211. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_convo_miner.py +0 -0
  212. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_demo_perf_budgets.py +0 -0
  213. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_dependency_upgrade_gate.py +0 -0
  214. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_dialect.py +0 -0
  215. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_disk_budget.py +0 -0
  216. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_docs_drift_guard.py +0 -0
  217. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_dotnet_bench.py +0 -0
  218. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_dotnet_config.py +0 -0
  219. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_e2e.py +0 -0
  220. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_embed_ab_bench.py +0 -0
  221. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_embedding_runtime.py +0 -0
  222. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_entity_detector.py +0 -0
  223. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_entity_registry.py +0 -0
  224. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_explicit_wing_consistency.py +0 -0
  225. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_export.py +0 -0
  226. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_gate_inventory.py +0 -0
  227. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_general_extractor.py +0 -0
  228. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_gitleaks_scan.py +0 -0
  229. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_installed_artifact_behavior.py +0 -0
  230. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_installed_cli_palace_scope.py +0 -0
  231. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_kg_extract.py +0 -0
  232. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_knowledge_graph.py +0 -0
  233. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_lang_detect.py +0 -0
  234. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_language_catalog.py +0 -0
  235. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_layers.py +0 -0
  236. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_mcp_protocol_compat.py +0 -0
  237. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_mcp_registry.py +0 -0
  238. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_mcp_server.py +0 -0
  239. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_mcp_tool_profiles.py +0 -0
  240. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_mine_source_exact.py +0 -0
  241. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_miner.py +0 -0
  242. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_miner_modules.py +0 -0
  243. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_normalize.py +0 -0
  244. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_offline.py +0 -0
  245. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_onboarding.py +0 -0
  246. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_operation_lock.py +0 -0
  247. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_palace_graph.py +0 -0
  248. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_palace_scope_resource_boundary.py +0 -0
  249. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_public_safety_scan.py +0 -0
  250. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_pyright_optional_dependencies.py +0 -0
  251. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_quality_palace_scope_resource_boundary.py +0 -0
  252. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_quality_scorecard.py +0 -0
  253. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_reader.py +0 -0
  254. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_regular_source_guard.py +0 -0
  255. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_artifact_gate.py +0 -0
  256. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_install_metadata_smoke.py +0 -0
  257. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_public_read.py +0 -0
  258. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_skill_contract.py +0 -0
  259. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_release_status_gate.py +0 -0
  260. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_retrieval_rerank.py +0 -0
  261. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_search_reranker.py +0 -0
  262. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_searcher.py +0 -0
  263. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_split_mega_files.py +0 -0
  264. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_stdio.py +0 -0
  265. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_storage_lance.py +0 -0
  266. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_symbol_extract.py +0 -0
  267. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_taxonomy_filters.py +0 -0
  268. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_token_delta_bench.py +0 -0
  269. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_treesitter.py +0 -0
  270. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_type_suppressions.py +0 -0
  271. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_updater.py +0 -0
  272. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_version_check.py +0 -0
  273. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_version_consistency.py +0 -0
  274. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_watcher.py +0 -0
  275. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_watcher_resource_bounds.py +0 -0
  276. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tests/test_workflow_summary_guard.py +0 -0
  277. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tools/gitleaks/go.mod +0 -0
  278. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tools/gitleaks/go.sum +0 -0
  279. {mempalace_code-1.14.0 → mempalace_code-1.14.2}/tools/gitleaks/tools.go +0 -0
@@ -2,6 +2,41 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v1.14.2 — 2026-09-21
6
+
7
+ Recovery release for the accumulated v1.14.1 changes. The immutable v1.14.1
8
+ tag stopped before artifact build when the pinned upstream head moved, so no
9
+ v1.14.1 package or GitHub Release exists.
10
+
11
+ ### Changed
12
+
13
+ - Refreshed the reviewed upstream snapshot through `e038af97`; the MCP import
14
+ fix already has an equivalent entry-point boundary in this fork, while the
15
+ upstream sync identity and JSON audit-WAL changes belong to unsupported
16
+ runtime owners.
17
+ - Added the failed v1.14.1 tag to the immutable orphan-tag evidence registry.
18
+ - Kept the live upstream check at the canonical pre-tag boundary so later
19
+ upstream movement cannot strand another immutable public tag.
20
+
21
+ ## v1.14.1 — 2026-09-20 (tagged, not published)
22
+
23
+ The tag remains immutable public evidence. Publication stopped before artifact
24
+ build because the reviewed upstream head changed; these changes ship in v1.14.2.
25
+
26
+ ### Fixed
27
+
28
+ - Wing migration now binds live evidence to the qualified runner, updates the
29
+ destination runtime hash after the merge, bounds retained qualification storage,
30
+ and preserves exact recovery for the original v16 receipt.
31
+ - Wing migration receipts use the owner-controlled rule `retain until verified
32
+ recovery or owner disposition`; the obsolete calendar deadline is rejected before
33
+ any evidence or migration state is written.
34
+ - Installed-wheel qualification now treats the installation-wide MCP lock files as
35
+ stable protected anchors and directly exercises the `wing-migration` CLI refusal
36
+ without an action.
37
+ - Runtime provenance checks now accept platform-managed symlink ancestors outside
38
+ the owned installation and source roots while still refusing symlinks inside them.
39
+
5
40
  ## v1.14.0 — 2026-09-18
6
41
 
7
42
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mempalace-code
3
- Version: 1.14.0
3
+ Version: 1.14.2
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
@@ -1276,7 +1276,7 @@ python -m pyright --pythonpath "$(python -c 'import sys; print(sys.executable)')
1276
1276
  Apache 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
1277
1277
 
1278
1278
  <!-- Link Definitions -->
1279
- [version-shield]: https://img.shields.io/badge/version-1.14.0-4dc9f6?style=flat-square&labelColor=0a0e14
1279
+ [version-shield]: https://img.shields.io/badge/version-1.14.2-4dc9f6?style=flat-square&labelColor=0a0e14
1280
1280
  [release-link]: https://github.com/rergards/mempalace-code/releases
1281
1281
  [python-shield]: https://img.shields.io/badge/python-3.11+-7dd8f8?style=flat-square&labelColor=0a0e14&logo=python&logoColor=7dd8f8
1282
1282
  [python-link]: https://www.python.org/
@@ -1217,7 +1217,7 @@ python -m pyright --pythonpath "$(python -c 'import sys; print(sys.executable)')
1217
1217
  Apache 2.0 — see [LICENSE](LICENSE) and [NOTICE](NOTICE).
1218
1218
 
1219
1219
  <!-- Link Definitions -->
1220
- [version-shield]: https://img.shields.io/badge/version-1.14.0-4dc9f6?style=flat-square&labelColor=0a0e14
1220
+ [version-shield]: https://img.shields.io/badge/version-1.14.2-4dc9f6?style=flat-square&labelColor=0a0e14
1221
1221
  [release-link]: https://github.com/rergards/mempalace-code/releases
1222
1222
  [python-shield]: https://img.shields.io/badge/python-3.11+-7dd8f8?style=flat-square&labelColor=0a0e14&logo=python&logoColor=7dd8f8
1223
1223
  [python-link]: https://www.python.org/
@@ -375,9 +375,12 @@ wheel, sdist, PyPI artifact, or GitHub Release is created. It requires
375
375
  Audit**, and queries the effective rules for `refs/heads/main` plus the active
376
376
  `refs/tags/v*` ruleset. Hosted admission requires `non_fast_forward`, `deletion`,
377
377
  and `required_status_checks` with `release-required`, plus tag `creation`,
378
- `update`, and `deletion`. These public reads use no GitHub token. The workflow
379
- also retains a direct live upstream comparison as defense in depth; that
380
- post-tag check does not replace the canonical pre-tag command above.
378
+ `update`, and `deletion`. These public reads use no GitHub token. Release
379
+ admission validates the committed upstream snapshot. The direct live upstream
380
+ lookup runs immediately before tag creation, while the operator can still
381
+ refresh the candidate safely. A tag workflow must not repeat that mutable
382
+ lookup after creating the immutable tag: later upstream movement cannot
383
+ invalidate the reviewed release tree or strand a permanent orphan tag.
381
384
  Do not trigger PyPI publishing by a workflow dispatch or a release event.
382
385
 
383
386
  ## 4. Verify the public release
@@ -6,12 +6,12 @@ This is the canonical, source-pinned comparison between `rergards/mempalace-code
6
6
 
7
7
  | Field | Value |
8
8
  |---|---|
9
- | Reviewed date | `2026-09-18` |
9
+ | Reviewed date | `2026-09-20` |
10
10
  | Canonical upstream repository | <https://github.com/MemPalace/mempalace> |
11
11
  | Branch reviewed | `develop` |
12
- | Commit reviewed | `25203ed6ee1a739103a77e87219a1f679dee81e9` |
13
- | Previous reviewed commit | `d9f059076c866fa6f29195679d75712436986024` |
14
- | Previous reviewed date | `2026-09-02` |
12
+ | Commit reviewed | `e038af9703d2467bb7cfffdd3f7fb2bd212e58a4` |
13
+ | Previous reviewed commit | `25203ed6ee1a739103a77e87219a1f679dee81e9` |
14
+ | Previous reviewed date | `2026-09-18` |
15
15
  | Upstream release described by its changelog | `3.10.0` |
16
16
  | Fork commit at review time | this repository, release preparation branch |
17
17
 
@@ -19,75 +19,73 @@ Upstream code was reviewed at the pinned commit. It was not run, benchmarked, or
19
19
 
20
20
  ## Source Links
21
21
 
22
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/README.md>
23
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/CHANGELOG.md>
24
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/pyproject.toml>
25
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/.codex-plugin/plugin.json>
26
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/.claude-plugin/plugin.json>
27
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/.agents/plugins/marketplace.json>
28
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/.mcp.json>
29
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/.dsh-plugin/README.md>
30
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/crates/README.md>
31
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/benchmarks/PRIVATE_PALACE.md>
32
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/docs/rfcs/003-agent-logstream-coordination.md>
33
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/docs/rfcs/004-replicated-palace.md>
34
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/docs/rfcs/005-agent-identity-routing.md>
35
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/integrations/shared/coordination-protocol.md>
36
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/website/guide/lightweight-mcp.md>
37
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/config.py>
38
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/split_mega_files.py>
39
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/update_awareness.py>
40
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/hub_client.py>
41
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/logstream.py>
42
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/mcp_server/__init__.py>
43
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/mcp_server/http.py>
44
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/mcp_server/protocol.py>
45
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/mcp_server/runtime.py>
46
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/searcher/__init__.py>
47
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/searcher/ranking.py>
48
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/embedding.py>
49
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/backends/qdrant.py>
50
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/backends/rust_exact.py>
51
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/cli/__init__.py>
52
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/cli/parser.py>
53
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/cli_write_routing.py>
54
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/knowledge_graph.py>
55
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/mcp_light_server.py>
56
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/query_parser.py>
57
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/normalize.py>
58
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/entity_registry.py>
59
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/diary_ingest.py>
60
- - <https://github.com/MemPalace/mempalace/blob/25203ed6ee1a739103a77e87219a1f679dee81e9/mempalace/daemon.py>
61
-
62
- Exact compare range: <https://github.com/MemPalace/mempalace/compare/d9f059076c866fa6f29195679d75712436986024...25203ed6ee1a739103a77e87219a1f679dee81e9>
22
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/README.md>
23
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/CHANGELOG.md>
24
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/pyproject.toml>
25
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/.codex-plugin/plugin.json>
26
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/.claude-plugin/plugin.json>
27
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/.agents/plugins/marketplace.json>
28
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/.mcp.json>
29
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/.dsh-plugin/README.md>
30
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/crates/README.md>
31
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/benchmarks/PRIVATE_PALACE.md>
32
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/docs/rfcs/003-agent-logstream-coordination.md>
33
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/docs/rfcs/004-replicated-palace.md>
34
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/docs/rfcs/005-agent-identity-routing.md>
35
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/integrations/shared/coordination-protocol.md>
36
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/website/guide/lightweight-mcp.md>
37
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/config.py>
38
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/split_mega_files.py>
39
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/update_awareness.py>
40
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/hub_client.py>
41
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/logstream.py>
42
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/mcp_server/__init__.py>
43
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/mcp_server/http.py>
44
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/mcp_server/protocol.py>
45
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/mcp_server/runtime.py>
46
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/searcher/__init__.py>
47
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/searcher/ranking.py>
48
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/embedding.py>
49
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/backends/qdrant.py>
50
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/backends/rust_exact.py>
51
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/cli/__init__.py>
52
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/cli/parser.py>
53
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/cli_write_routing.py>
54
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/knowledge_graph.py>
55
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/mcp_light_server.py>
56
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/query_parser.py>
57
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/normalize.py>
58
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/entity_registry.py>
59
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/diary_ingest.py>
60
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/daemon.py>
61
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/source_identity.py>
62
+ - <https://github.com/MemPalace/mempalace/blob/e038af9703d2467bb7cfffdd3f7fb2bd212e58a4/mempalace/wal.py>
63
+
64
+ Exact compare range: <https://github.com/MemPalace/mempalace/compare/25203ed6ee1a739103a77e87219a1f679dee81e9...e038af9703d2467bb7cfffdd3f7fb2bd212e58a4>
63
65
 
64
66
  ## Upstream Delta Since the Previous Pin
65
67
 
66
- The range contains exactly 89 commits. Each SHA is owned once by one review group. The legacy manifest field `merge_group` stores the first SHA of each review group; groups may contain direct commits as well as merge commits.
68
+ The range contains exactly 3 commits. Each SHA is owned once by one review group.
67
69
 
68
70
  | Delta decision | Upstream change | Stance | Release-critical | Review group |
69
71
  |---|---|---|---|---|
70
- | `native-and-retired-backends` | optional Rust exact search plus sqlite_exact, ChromaDB, pgvector, Qdrant, HNSW, and native-wheel changes | `irrelevant` | no | `753f08f3` |
71
- | `distributed-runtime-integrations` | hub and daemon writer routing, logstream lifecycle, shared-brain rules, DSH integration, and distributed coordination fixes | `irrelevant` | no | `92a8ac6b` |
72
- | `structural-release-maintenance` | module and test splits, dependency and workflow maintenance, documentation, release metadata, and branch synchronization | `irrelevant` | no | `1beed5a3` |
73
- | `protocol-cli-equivalents` | diary pagination beyond the legacy limit, total JSON-RPC replies for requests with ids, and natural --palace option placement | `equivalent-local` | yes | `87a01ddf` |
74
- | `local-ingest-registry-safety` | raw Codex fallback refusal, registry preservation and bounded temporary names, plus removal of an unconfigured Wikipedia lookup | `adopted` | yes | `46406439` |
75
- | `optional-retrieval-metadata` | optional ranking weights, drawer timestamps, search date provenance, KG pagination, XDG defaults, and retrieval performance changes | `deferred` | no | `39c1200d` |
76
- | `upstream-runtime-specific-fixes` | repair, hook, collection-name, environment, and integrity fixes bound to upstream Chroma, hub, daemon, or hook implementations | `irrelevant` | no | `e32b1e84` |
72
+ | `source-directory-identity-sync` | directory-inode provenance for destructive distributed sync decisions | `irrelevant` | no | `f8b9ed15` |
73
+ | `mcp-import-argv-boundary` | defer MCP flag parsing from module import to executable entry points | `equivalent-local` | yes | `36ec72f9` |
74
+ | `upstream-json-audit-wal-outcomes` | append mutation outcomes to the upstream JSON write-audit WAL | `irrelevant` | no | `e038af97` |
77
75
 
78
- Inventory anchor: `dc3a368fefa15cce6705eda7e3080264db7077eea726c7d5cc010fac0ba8e518` (`sha256`, 89 commits).
76
+ Inventory anchor: `9a61cbf303111d2df4241f73128aa1071fc770a261da381ad60572040f3d0a35` (`sha256`, 3 commits).
79
77
 
80
78
  Review groups:
81
79
 
82
- - `753f08f3`: `1ed2676e`, `1fd5c4c0`, `61e8a626`, `f1e5ef73`, `7e69c3f1`, `17465d29`, `1c3a125c`, `58af2f2e`, `c04d423d`, `7ff9502f`, `955ab13e`, `e7562c06`, `f2a6edad`, `7ac87d3b`, `c39007f4`, `863462c2`, `38260df5`, `7702a2df`
83
- - `92a8ac6b`: `f9297a22`, `6c47daac`, `4f0e0af1`, `622b8b05`, `5affd624`, `a30c4516`, `df330d8c`, `99b1c970`, `527d0810`, `30cb69ab`, `752965d7`, `0a4059ff`, `48b262ee`, `8d13b0e6`, `cda984ee`, `a992af9a`
84
- - `1beed5a3`: `3e24d4b4`, `ba27375c`, `0b8188c1`, `e7102f97`, `1e052302`, `c664e8a5`, `238ca21d`, `37e14155`, `7010a09a`, `37ffbbe3`, `4f2c0362`, `a855bc07`, `3b57f256`, `5e2fa639`, `b0774e73`, `f3a99cc9`, `50dc89a8`, `e59e3683`, `7b7a782b`, `319667a8`, `40ea737d`, `ce54d5dd`, `d5250c78`, `3206f45d`, `345bcfba`
85
- - `87a01ddf`: `5a2abffe`, `40db9e5c`, `25203ed6`
86
- - `46406439`: `5af2fc30`, `d81726a2`, `e7f79840`, `d30348d9`
87
- - `39c1200d`: `687533ec`, `e4d0aa06`, `4591269e`, `0da09a20`, `636d9bc6`, `d27e515d`, `a07fb3f1`, `0fec3340`, `77da41d3`
88
- - `e32b1e84`: `50fb09d2`, `d5a31d0e`, `c79f2d07`, `c0c96151`, `8dd30cba`, `e0c5d693`, `0818de9e`
80
+ - `f8b9ed15`
81
+ - `36ec72f9`
82
+ - `e038af97`
89
83
 
90
- The two release-critical groups are closed by named local predicates. Other groups add unsupported architecture, repository maintenance, or optional capabilities without a current release acceptance gap.
84
+ The MCP import fix is closed by named local predicates. The source-directory
85
+ identity fix protects upstream's destructive distributed `sync --apply` owner,
86
+ which this fork does not implement. The JSON write-audit WAL has no owner in this
87
+ fork; LanceDB transactions and the SQLite knowledge-graph WAL use separate
88
+ recovery contracts.
91
89
 
92
90
  ## Capability Comparison
93
91
 
@@ -224,9 +222,9 @@ Every upstream identifier is mapped in the manifest to one or more pinned source
224
222
 
225
223
  **Adopted safety.** The fork refuses raw fallback for recognized incomplete Codex rollouts, preserves malformed or unreadable entity registries, bounds entity-registry temporary-name collisions, and contains no callable Wikipedia research path.
226
224
 
227
- **Equivalent protocol behavior.** Existing tests cover diary reads beyond the former limit, malformed JSON-RPC envelopes with preserved request IDs and session continuity, and `--palace` placement before or after a subcommand.
225
+ **Equivalent protocol behavior.** Existing tests cover diary reads beyond the former limit, malformed JSON-RPC envelopes with preserved request IDs and session continuity, and `--palace` placement before or after a subcommand. MCP imports ignore host-process arguments; executable flag parsing is owned by `dispatch.main(argv)`.
228
226
 
229
- **Storage boundary.** LanceDB remains the only current backend. Rust exact search, ChromaDB, sqlite_exact, pgvector, Qdrant, hub, daemon, logstream, and replication contracts are outside this release.
227
+ **Storage boundary.** LanceDB remains the only current backend. Rust exact search, ChromaDB, sqlite_exact, pgvector, Qdrant, hub, daemon, logstream, upstream distributed sync, JSON write-audit WAL, and replication contracts are outside this release.
230
228
 
231
229
  **Deferred additions.** Ranking weights, last-modified metadata, date provenance, KG pagination, and XDG default migration require their own acceptance and migration evidence.
232
230
 
@@ -43,7 +43,7 @@ Supplying `--inventory` is optional and provides only an equality guard: it must
43
43
  same file selected by `WING_MIGRATION_INVENTORY_PATH`. Selection and mode-0600 regular-file checks
44
44
  run before a receipt, snapshot, lock, runtime artifact, or report is created. Public output contains
45
45
  fixed predicates; paths, inventory values, measured counts, runtime diagnostics, source content,
46
- the recovery command, and the retention deadline remain in private evidence.
46
+ the recovery command, and the retention rule remain in private evidence.
47
47
 
48
48
  The receipt-bound fixture actions are:
49
49
 
@@ -62,8 +62,8 @@ mempalace-code wing-migration live-run --authority /absolute/private/live-author
62
62
  ```
63
63
 
64
64
  The mode-0600 authority names the exact host, source and destination wings, canonical palace,
65
- configuration, operation lock, both KG candidates, project marker, a fresh evidence root, a future
66
- retention deadline, and the retained full-copy qualification report with its SHA-256, inventory
65
+ configuration, operation lock, both KG candidates, project marker, a fresh evidence root, the
66
+ retention rule, and the retained full-copy qualification report with its SHA-256, inventory
67
67
  seal, and qualified runner hash. It must set `scope` to `single_host_live_wing_merge`, set both
68
68
  `live_mutation` and `mcp_downtime` to true, contain the owner's approval, and name the exact
69
69
  operation as `merge wing SOURCE into DESTINATION`. The operator rejects a non-canonical palace,
@@ -141,12 +141,12 @@ fail-closed authority values:
141
141
  "live_mutation": false,
142
142
  "watcher_restart": false,
143
143
  "fixture_process_authority": "acquire fixture lock and stop only fixture-owned subprocesses",
144
- "retention_rule": "retain through deadline and until verified recovery or owner disposition, whichever is later"
144
+ "retention_rule": "retain until verified recovery or owner disposition"
145
145
  }
146
146
  ```
147
147
 
148
- The same object names distinct original and qualification hosts, explicit owner approval, all
149
- original paths excluded from mutation, and the future UTC `retention_deadline`. The qualification
148
+ The same object names distinct original and qualification hosts, explicit owner approval, and all
149
+ original paths excluded from mutation. The qualification
150
150
  host must equal the current host name. Logical provenance paths are absolute, reject dot
151
151
  components, and are compared by lexical path components; the runner never resolves or accesses
152
152
  the original root.
@@ -285,8 +285,8 @@ refusal falls back to the ordinary independent copy path.
285
285
  Older-format receipts remain byte-for-byte retained evidence. Recovery requires the matching
286
286
  historical runner version and hash because the current runner refuses older receipt versions or
287
287
  hashes. Preserve that runner separately until recovery or owner disposition.
288
- Retain this evidence through the inventoried deadline and until verified recovery or owner
289
- disposition, whichever is later. The private receipt contains one exact recovery command. The
288
+ Retain this evidence until verified recovery or owner disposition. The private receipt contains
289
+ one exact recovery command. The
290
290
  descendant receipt is persisted before copied storage is written; if construction stops
291
291
  before a snapshot exists, that command removes only incomplete descendant contents and retains the
292
292
  receipt. Sanitized command output may be retained with task evidence.
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "code_size": {
3
- "package_code_lines": 29419,
3
+ "package_code_lines": 29439,
4
4
  "package_files": 82,
5
- "package_total_lines": 35080,
6
- "test_files": 91,
7
- "test_total_lines": 86672
5
+ "package_total_lines": 35098,
6
+ "test_files": 92,
7
+ "test_total_lines": 86949
8
8
  },
9
9
  "demo_gates": {
10
10
  "architecture_guard": {
11
11
  "status": "present"
12
12
  },
13
13
  "cli_golden_scenarios": {
14
- "count": 21,
14
+ "count": 20,
15
15
  "status": "present"
16
16
  },
17
17
  "dependency_audit": {
@@ -58,11 +58,11 @@
58
58
  },
59
59
  "largest_modules": [
60
60
  {
61
- "lines": 5395,
61
+ "lines": 5398,
62
62
  "path": "mempalace_code/wing_migration.py"
63
63
  },
64
64
  {
65
- "lines": 2226,
65
+ "lines": 2241,
66
66
  "path": "mempalace_code/storage.py"
67
67
  },
68
68
  {
@@ -281,8 +281,8 @@
281
281
  "unreasoned_total": 0
282
282
  },
283
283
  "tests": {
284
- "test_files": 91,
285
- "test_functions": 3925
284
+ "test_files": 92,
285
+ "test_functions": 3937
286
286
  },
287
287
  "verification_commands": [
288
288
  {
@@ -9,17 +9,17 @@ Schema version: 4
9
9
  | Metric | Value |
10
10
  |--------|------:|
11
11
  | Package files (`mempalace_code/`) | 82 |
12
- | Package total lines | 35080 |
13
- | Package code lines | 29419 |
14
- | Test files (`tests/`) | 91 |
15
- | Test total lines | 86672 |
12
+ | Package total lines | 35098 |
13
+ | Package code lines | 29439 |
14
+ | Test files (`tests/`) | 92 |
15
+ | Test total lines | 86949 |
16
16
 
17
17
  ## Largest Modules (top 10)
18
18
 
19
19
  | Module | Lines |
20
20
  |--------|------:|
21
- | `mempalace_code/wing_migration.py` | 5395 |
22
- | `mempalace_code/storage.py` | 2226 |
21
+ | `mempalace_code/wing_migration.py` | 5398 |
22
+ | `mempalace_code/storage.py` | 2241 |
23
23
  | `mempalace_code/updater.py` | 1780 |
24
24
  | `mempalace_code/mining/chunkers.py` | 1466 |
25
25
  | `mempalace_code/watcher.py` | 1333 |
@@ -90,7 +90,7 @@ Coverage: `maintained_default_corpus`, `entropy_rule`, `changed_commit_range`, `
90
90
  | Gate | Status | Count |
91
91
  |------|:------:|------:|
92
92
  | architecture_guard | present | |
93
- | cli_golden_scenarios | present | 21 |
93
+ | cli_golden_scenarios | present | 20 |
94
94
  | dependency_audit | present | |
95
95
  | docs_drift_guard | present | |
96
96
  | mcp_stdio_contracts | present | 5 |
@@ -127,8 +127,8 @@ Scope: `mempalace_code/`, `tests/` (excludes `tests/fixtures/`).
127
127
 
128
128
  | Metric | Value |
129
129
  |--------|------:|
130
- | Test files | 91 |
131
- | Test functions | 3925 |
130
+ | Test files | 92 |
131
+ | Test functions | 3937 |
132
132
 
133
133
  ## Available Suites
134
134