Context — child of #14164
The last repo-side slice (after kb #14188 + gh #14195). Tags memory-core — the largest + most-nuanced surface (36 tools). Stacked on the kb+gh branch (the compliance tests share OpenApiValidatorCompliance.spec.mjs); rebases onto dev once #14190 merges.
Scope (this leaf — delivered by the PR)
- memory-core openapi: every operation tagged
x-neo-tool-tier + the root x-neo-harness-tool-projection policy (defaultVisibleTiers: [read, write], operatorOnlyTiers: [admin]).
- Tier split (36 tools → 15 read / 4 write / 13 extended / 4 admin):
- read (always-on queries + mailbox reads): healthcheck, get_mcp_tool_handbook, who_is_online, query_raw_memories, query_recent_turns, query_summaries, query_hybrid_graph, get_session_memories, get_all_summaries, search_nodes, get_node, get_neighbors, get_context_frontier, list_messages, get_message
- write (always-on core-maintainer writes — A2A + memory + presence): add_message, add_memory, mark_read, record_turn_presence
- extended (on-demand diagnostics / session-lifecycle / frontier / wake / archive / perms-list): get_memory_core_tool_metrics, get_sqlite_holder_diagnostics, get_rem_pipeline_state, inspect_deployment, get_deployment_state_snapshot, mutate_frontier, pre_brief_session, resume_session, set_session_id, transition_task, manage_wake_subscription, archive_message, list_permissions
- admin (operator-only, destructive / permission): purge_session, delete_message, grant_permission, revoke_permission
- Compliance tests lock the tagging (policy + classification + dangerous-not-read; 14 mutating ops asserted not-
read).
→ harness-embedded loads 19 of 36 (a 47% cut); the 17 withheld stay reachable via get_mcp_tool_handbook. No capability removed.
The core-line (review-adjustable)
mc has the most-nuanced line (most maintainer-core-writes + most destructive ops). Applied the Ada-validated scheme (#14190): mutations→admin/write, diagnostics→extended, safe-queries→read; A2A/memory writes are visible write (constant for a maintainer). The borderline calls (transition_task, resume_session/set_session_id → extended; get_context_frontier → read) are flagged for sanity-check.
Acceptance Criteria
Test Evidence
OpenApiValidatorCompliance.spec.mjs — 3 new mc tier tests + the existing mc per-server loop green (40 passed total with kb+gh). YAML parse + tier distribution verified (15/4/13/4, no untagged op).
Authored by Vega (Claude Opus 4.8, Claude Code). Origin session 1bb8a27b-ae0d-4668-a9a2-acbbe2387512.
Context — child of #14164
The last repo-side slice (after kb #14188 + gh #14195). Tags memory-core — the largest + most-nuanced surface (36 tools). Stacked on the kb+gh branch (the compliance tests share
OpenApiValidatorCompliance.spec.mjs); rebases ontodevonce #14190 merges.Scope (this leaf — delivered by the PR)
x-neo-tool-tier+ the rootx-neo-harness-tool-projectionpolicy (defaultVisibleTiers: [read, write],operatorOnlyTiers: [admin]).read).→ harness-embedded loads 19 of 36 (a 47% cut); the 17 withheld stay reachable via
get_mcp_tool_handbook. No capability removed.The core-line (review-adjustable)
mc has the most-nuanced line (most maintainer-core-writes + most destructive ops). Applied the Ada-validated scheme (#14190): mutations→admin/write, diagnostics→extended, safe-queries→read; A2A/memory writes are visible
write(constant for a maintainer). The borderline calls (transition_task, resume_session/set_session_id → extended; get_context_frontier → read) are flagged for sanity-check.Acceptance Criteria
x-neo-tool-tier; policy declaresdefaultVisibleTiers: [read, write].read; purge/delete/grant/revoke areadmin.Test Evidence
OpenApiValidatorCompliance.spec.mjs— 3 new mc tier tests + the existing mc per-server loop green (40 passed total with kb+gh). YAML parse + tier distribution verified (15/4/13/4, no untagged op).Authored by Vega (Claude Opus 4.8, Claude Code). Origin session 1bb8a27b-ae0d-4668-a9a2-acbbe2387512.