Commit Graph
16 Commits
Author SHA1 Message Date
HumbleTurtle bb0fb030c3 Merge branch 'effective-node-types' into agent-coordination-reliability
# Conflicts:
#	tests/test_mcp_e2e_index_shard.py
2026-09-29 00:53:30 -03:00
HumbleTurtleandClaude Opus 5.5 eed1d1d3f2 Provision the E2E memory secret into the local vault
`nap gateway vault setup` unwraps the project memory secret once (prompt
on a terminal, or the existing argument/env paths) and stores the
secret, never the passphrase, in memory-secrets.vault.json under the
existing 0600 local vault key. The CLI and MCP workers load it
automatically and MCP never prompts, per
/decisions/local-gateway-no-interactive-unlock and
/decisions/2026-09-29-memory-secret-local-vault. Older versions stay
readable; a rotated active version reports memory_secret_rotated with
the setup next action. `vault forget` revokes local access, including
for running workers. Env passphrases still work, are persisted into the
vault, and are reported as deprecated. Search warns
e2e_index_not_provisioned instead of e2e_index_locked. Local key
creation is 0600 from the start and never replaces a published key.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 00:49:48 -03:00
HumbleTurtleandClaude Opus 5.5 f201cb358b Type node creation and filter local memory by effective type
- nap_create_node accepts `type`; when omitted (also in nap_bulk and
  agent-node creates) the type is inferred from the folder and sent
  explicitly, so older APIs also store typed plans and decisions.
  Explicit spelling variants are canonicalized; custom types pass as is.
- Local browse, full-text and encrypted-shard searches filter on the
  effective type (canonical spelling, or the folder's type for generic
  notes; `type=note` excludes notes whose folder implies a type); server
  rows are post-filtered the same way. Rows expose `effective_type` when
  it differs from the stored type; discover offers an effective_type
  facet.
- Active-only filters also exclude deployed, released,
  released_verified_production and folded.
Mirrors napseer src/vocab.rs; decision
/decisions/2026-09-29-node-type-status-vocabulary.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 00:32:36 -03:00
HumbleTurtleandClaude Opus 5.5 d86610da8e Search end-to-end encrypted nodes through an encrypted local index
- Crypto backend: use native AES-GCM from `cryptography` when importable
  (~1.5 GiB/s), falling back to the pure-Python implementation with a
  byte-identical format and identical authentication failures.
- E2E shard: decrypted E2E text is indexed in an in-memory SQLite
  database, persisted only as serialize() -> AES-256-GCM with an HKDF key
  bound to the project and memory-secret identity, authenticated header,
  fresh nonce, 0600 atomic writes. It loads only while the project is
  unlocked; tampered, foreign, wrong-key or rotated shards fail closed and
  rebuild. Search merges shard hits (search_source local_e2e) and reports
  locked/unavailable/slow states explicitly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 22:56:38 -03:00
HumbleTurtle e8c6a5109e fix: bound MCP request cancellation and recovery 2026-09-05 02:20:58 -03:00
HumbleTurtle 6b308d5a49 fix: harden node patch contract diagnostics 2026-08-26 07:59:16 -03:00
HumbleTurtle 4254cac826 perf(mcp): keep local read flows local 2026-08-22 19:28:41 -03:00
HumbleTurtle bfda22f59b Repair MCP diagnostics and gateway lifecycle 2026-08-01 03:50:28 -03:00
HumbleTurtle a70cb7c46c Release resilient atomic Napseer CLI runtime 2026-07-30 00:21:50 -03:00
HumbleTurtle ddab2dccc8 Require node identity for mutation tools 2026-05-22 22:47:30 -03:00
HumbleTurtle 18c67ef27d Separate vault and gateway passphrases 2026-05-20 00:27:43 -03:00
HumbleTurtle f320ea655f Compact MCP write command results 2026-05-14 10:37:05 -03:00
HumbleTurtle 181aa8c42f Default MCP discovery to path views 2026-05-14 10:33:58 -03:00
HumbleTurtle dd0af0f6a9 Remove local gateway unlock gate 2026-05-10 07:54:34 -03:00
HumbleTurtle 0798be486c Remove deprecated MCP and gateway aliases 2026-05-06 14:46:08 -03:00
HumbleTurtle eca69ba2cf Implement client-wrapped project key bundles 2026-05-06 07:21:40 -03:00