Skip to content

fix(memory-get): honor provenance sensitivity redaction#12

Merged
bob-codedaptive merged 1 commit into
develop/1.0.xfrom
fix/memory-get-provenance-gate
Jul 6, 2026
Merged

fix(memory-get): honor provenance sensitivity redaction#12
bob-codedaptive merged 1 commit into
develop/1.0.xfrom
fix/memory-get-provenance-gate

Conversation

@bob-codedaptive

Copy link
Copy Markdown
Member

Summary

Rebased replacement for PR #3 (which had merge conflicts from a messy branch history).

  • moot_memory_get now rejects Restricted/Secret provenance-sensitivity drawers
    with the standard "Memory not found" shape, closing the bypass where a caller
    could use a surfaced ID from moot_memory_search to read redacted content verbatim
  • Provenance gate fires before the ADR-025 audit-recording step (both preserved)
  • Regression test included

Rust-only. Swift parity should follow.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution to MOOTx01. Before it can be merged we need you to sign our Contributor License Agreement. You can read it here: CLA.md. To sign, post a comment on this pull request with exactly the following text:


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@bob-codedaptive bob-codedaptive merged commit 76e7398 into develop/1.0.x Jul 6, 2026
@bob-codedaptive bob-codedaptive deleted the fix/memory-get-provenance-gate branch July 6, 2026 14:48
bob-codedaptive pushed a commit that referenced this pull request Jul 6, 2026
…19/#33)

#12: Cap concurrent proxy frame threads at 16. A burst of stdin frames
beyond this waits for an existing worker to finish before spawning.
Prevents unbounded thread count from a fast stdin producer (Rust).

#19/#33: Add ReindexGuard actor to prevent concurrent moot_reindex runs.
A second call while reindex is running returns "already running" instead
of spawning a duplicate detached Task. Guard clears on completion or
error (Swift).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bob-codedaptive pushed a commit that referenced this pull request Jul 7, 2026
…#12)

The #83 fix removed the HLC comparison entirely, causing older remote
records to unconditionally overwrite newer local edits. The comparison
is now restored using a dedicated _ck_sync_meta side table owned by
ConvergenceKit:

- On inbound LWW, reads the local sync_hlc from the side table. If
  the remote HLC is older, the remote record is skipped.
- After a successful upsert, writes the remote HLC + metadata to the
  side table for future comparisons.
- The side table is backend-agnostic (CREATE TABLE IF NOT EXISTS works
  on SQLite, PG, and InMemory).

This replaces the prior approach of merging _sync* columns into
application rows, which broke on schema-enforced backends.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant