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>
This commit is contained in:
HumbleTurtle
2026-09-29 00:32:36 -03:00
co-authored by Claude Opus 5.5
parent 611a4571f3
commit f201cb358b
4 changed files with 624 additions and 22 deletions
+2
View File
@@ -305,6 +305,8 @@ def run():
"node_id": "done",
"full_path": "/plans/done",
"type": "note",
# A generic note under /plans reports its effective type as well.
"effective_type": "plan",
"status": "completed",
}]