Skip to content

Honesty c: SHAPE_DROP_KEYS on shaped emit (0.19.5) - #150

Merged
chouswei merged 2 commits into
masterfrom
cursor/honesty-c-hid-nickname-audit-db78
Sep 6, 2026
Merged

Honesty c: SHAPE_DROP_KEYS on shaped emit (0.19.5)#150
chouswei merged 2 commits into
masterfrom
cursor/honesty-c-hid-nickname-audit-db78

Conversation

@chouswei

@chouswei chouswei commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Honesty c audit of the MemNet hot path after #148 (nickname off pin_map) and #147 (observable rank). Same usage method on 0.19 — no b, no claim a, no 0.20, no 1.0, no rag_query.

Leaks found

  1. Documented DROP_KEYS was not a real strip. #148 said DROP_KEYS={id,hid} on wire text, but wire.py has no drop set and _emit_props would print hid / _memnet_hid / elementId if those keys sat on Record.fields (cabinet leftover / poison). Nickname id was already off shaped read via include_nickname=False.
  2. RSV product errors printed hid (id {_elN} already held… / mutate reserved id {_elN}). Pin-map ## Reserves did not list held ids.

Happy-path pin_map / export / find after #148 did not print _elN when identity lived only on Record.hid.

Cut (Hatch 0.19.5)

  • SHAPE_DROP_KEYS = {hid, _memnet_hid, elementId} in memnet.models, applied in GQL _emit_props and jsonl.
  • Nickname id stays off shaped read only (mutate ack may still echo an id the agent wrote).
  • RSV errors use anchor= + llm_id only.
  • Rank key also excludes elementId.
  • Audit record: docs/operations/honesty-c-wire-audit.md.
  • PyPI last published wheel remains 0.19.4 until upload.

Surfaces checked

Surface Result
pin_map / outline / CueConflict / find Nickname off (0.19.4). Store-identity keys dropped even if poisoned onto fields.
export_pin_map Same composer body.
MCP pin_map / find JSON stdout Same CLI path + new regression.
Mutate GQL ack No hid / _elN. Nickname echo only if the agent wrote id.
jsonl hid exclude + field drop.
Rank / offer order Observables only; elementId added to exclude set.
Cabinet _memnet_hid MERGE Internal; stays off CLI/MCP/GQL emit.

Allowed leftovers (not bugs)

  • Cue / match_nickname lookup by nickname.
  • leftover query walk @WALK: still uses endpoint hids (named leftover, not goldfish).
  • leftover read list / query context pipe @TAG.

Tests

tests/test_honesty_c_wire.py plus existing identity / rank / export / peak_l / outline / façade tests.

operatorCount stays 2. Caps stay hard. Do not dump (S).

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 6, 2026 10:49
SHAPE_DROP_KEYS strips hid / _memnet_hid / elementId from GQL emit and
jsonl. RSV errors no longer print hid. Nickname id stays off pin_map.

Co-authored-by: chouswei <chouswei@users.noreply.github.com>
Keep SHAPE_DROP_KEYS import isort-clean so CI format check passes.

Co-authored-by: chouswei <chouswei@users.noreply.github.com>
@chouswei
chouswei marked this pull request as ready for review September 6, 2026 10:51
@chouswei
chouswei merged commit 981f85d into master Sep 6, 2026
2 checks passed
@chouswei
chouswei deleted the cursor/honesty-c-hid-nickname-audit-db78 branch September 6, 2026 10:53
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.

2 participants