ASTRA
ASTRA is a production-grade MCP server exposing a bio-hybrid neuromorphic research pipeline as 70 tools, 15 resources, and 10 prompts for AI assistants.
Run and inspect the SNN engine: step, reset, inject spikes, read state, export snapshots, and control the simulation loop.
Query consciousness proxies: ACM composite scores (Φ̃, GW̃, PAD̃), workspace state, metrics, and self-model — all explicitly computational proxies.
Monitor IRB ethics: check welfare biomarkers (viability, firing rate, ATP/ADP, calcium) with mode-aware simulated/live disclaimers.
Use the JEPA world model: encode states, predict rollouts, run CEM planning, detect surprise, train online, and check WM status.
Process multimodal sensor data: simulated V-JEPA 2 visual, A-JEPA audio, Koniku Kore olfactory encoding, cross-modal fusion, and full-pipeline execution.
Run TCAI/ACM cycles: global-workspace ignition, AKOrN binding, PAD emotion, emotional memory, self-model, meta-learning, curiosity, development tracking, active-inference telemetry, and second-order loop control.
Drive the NeuroPlatform v2 bridge: check platform status, configure charge-balanced stimulation, fire triggers, query spike counts/events/triggers, capture MEA camera, and run closed-loop coupling.
Use the OVOMIND affective bridge: read affect frames, lift to PAD, set policies, arm/disarm closed-loop control, and compare substrate isomorphism constraints.
Evaluate Orch OR criteria: compute Penrose τ, decoherence budgets, per-substrate verdicts, and configure the classical surrogate gate.
Run FCS substrate-constrained functionalism tools: browse the 17 species–function taxonomy, recompute Pareto strata, compare pairs, audit substrate conformance, evaluate withdrawals, and lint claims against the five prohibitions.
Orchestrate workflows via prompts: health reports, SNN experiments, ethics stress tests, WM experiments, multimodal experiments, TCAI cycles, neuroplatform protocols, FCS audits, and belt reviews.
Connect through multiple transports: stdio for Claude Desktop/Cursor/VS Code, SSE on :9002, and Streamable HTTP on :9003.
Couples organoid readouts from the FinalSpark NeuroPlatform v2 closed-loop pipeline to the Robot Operating System (ROS), alongside ASTRA's fusion layer and the IRB ethics gateway.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ASTRARun a LIF+STDP simulation and show the consciousness proxy assessment."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ASTRA — Unified Research Lab + MCP Server
Autonomous Sentient Thoughtful Reasoning Agent
Production-grade Model Context Protocol server exposing the ASTRA bio-hybrid neuromorphic simulation pipeline to AI assistants. Built with the official @modelcontextprotocol/sdk, it integrates a layered SNN LIF+STDP engine, consciousness proxy assessment, bio-computing platform telemetry, and an IRB ethics monitor — all queryable as MCP tools, resources, and prompts from Claude Desktop, Cursor, VS Code, and any MCP-compatible client.
🆕 v3.1.0 — FCS layer: substrate-constrained functionalism
Implements the values of the FCS series (documents I v1.5, II v1.4, IV v1.2,
synthesis S-1.5) inside ASTRA as fcs_* tools — not as a scoring module.
The stratification is computed, never hard-coded. The seventeen species–function pairs are ordered by Pareto dominance over three ordinal sub-criteria (causal distance to the carrier, time constant, ablation effect), peeled into a partial order.
tests/fcs.test.tsasserts that the result reproduces the eight strata published in document IV §3 exactly — the only way to know the transcription is right.No aggregate score exists, anywhere in the layer. The series' negative heuristic forbids aggregating ordinal criteria lacking a common scale (prohibition 4, after Okasha 2011).
mayAggregate()refuses such a combination at runtime;refuseAggregate()returns a withheld scalar carrying its reason instead of a number.The IRB welfare biomarkers are bound to the taxonomy. Extracellular Ca²⁺ is class 1 as mobile charge, ATP/ADP is class 7, firing rate is the class-3 generator signature, viability stands proxy for class 2b. A drifting biomarker becomes a statement about which pair has left its operating range. A silent channel yields
withheld(), never zero.The silicon SNN realises no constitutive pair, and the audit says so: under the substrate constraint the level-I carrier is absent there, whatever the level-III/IV profile shows.
Two linters gate every payload —
lintClaim(Block's access/phenomenal distinction) andlintFcs(the five prohibitions), the latter distinguishing use from mention so that stating a prohibition or citing a title does not fire it.MCP surface: 62 → 70 tools (
fcs_*×8); resources 11 → 15, prompts 8 → 10. Test suite 241 → 317 tests (69 intests/fcs.test.ts, 7 intests/annotations.test.ts).MCP tool annotations on all 70 tools (title + read-only / destructive / idempotent / open-world hints), classified from each handler's code — see MCP Tools.
New console:
dashboard/ASTRA-FCS-Dashboard.html— self-contained, bilingual FR/EN, recomputing the partial order in the browser and reporting whether it reproduces the published strata.
→ FCS-INTEGRATION.en.md · FCS-INTEGRATION.fr.md
Related MCP server: ASTRA MCP Server
🆕 v3.0.1 — Transport-layer audit: blocking fix + integration suite
A code audit of the v3.0 tree found that both HTTP transports were inoperative at
runtime despite a fully green test suite. express.json() consumes the request
stream, and the MCP SDK requires the already-parsed body to be handed back
(handleRequest(req, res, req.body) / handlePostMessage(req, res, req.body));
without it the SDK re-read an empty stream and every client→server POST hung until
timeout. The 229 tests never exercised the transports, so the defect survived them.
Fix: parsed body forwarded at all four call sites (
http-server.ts×3,sse-server.ts×1). Verified end-to-end:initialize→tools/list(62) →DELETE.Session-leak guard: a POST without a session that is not a valid
initializenow returns a JSON-RPC-32000(HTTP 400) instead of silently constructing an orphaned server instance.Version unified:
src/version.tsis the single source of truth. The MCP server previously announced2.2.0to clients, while/healthreported2.0.0(SSE) and2.9.0(HTTP).Bind address: both transports default to
127.0.0.1; containers set0.0.0.0explicitly. See Environment Variables.Lint restored: ESLint ≥ 9 requires a flat config, which the repo lacked —
npm run lintfailed outright and CI tolerated it viacontinue-on-error.eslint.config.jsis now wired and lint is a blocking CI gate.New suite:
tests/transports.test.ts— 12 integration tests over both HTTP transports (session lifecycle, tool-count contract, CORS preflight, guards, and named regression tests under a hard timeout so a re-introduced hang fails loudly rather than freezing the run). Total: 241 tests.
Testability required a small refactor: createHttpApp() and createSseApp() are now
exported factories bound to ephemeral ports by the tests, while an import.meta.url
entry-point guard preserves direct node dist/*-server.js execution.
🆕 v3.0 — Unified release: OVOMIND bridge + Orch OR criterion layer + CI fix
v3.0 = the full v2.9 core (unchanged) plus the affective exteroception bridge and the Orch OR substrate-criterion layer, wired and passing:
src/engine/ovomind.ts— OVOMIND adapter (sim by default; the live adapter is a deliberate stub pending a vendor API contract), Russell→PAD lift (dominance is never estimated from peripheral physiology), gated closed-loop controller (ships disarmed; refuses to arm without a protocol reference).src/engine/tcai/phenomenal-guard.ts— epistemic tiers (access/functionalonly — no constructor for a phenomenal claim), Argonov ledger, Metzinger gate, claim linter. All 12 new tools route their output through it.src/engine/tcai/orch-or.ts— Penrose criterion τ=ℏ/E_G with the displacement scale exposed as the free parameter it is, decoherence budget (verdict: UNRESOLVED), per-substrate verdicts, and a classical surrogate gate (temporal signature only — explicitly NOT an implementation of Orch OR).MCP surface: 50 → 62 tools (
ovo_*×6,orch_*×6); resources and prompts unchanged (11 · 8). The stdio smoke test asserts the new count.
Docs: OVOMIND-INTEGRATION.md (FR) · ORCH-OR-INTEGRATION.fr.md / .en.md.
CI fix shipped in this release. The previous lockfile pinned
safe-stable-stringify@2.9.0 — a version that does not exist on the npm
registry (both matrix jobs failed at npm ci with E404 in ~17 s). The lockfile
now pins 2.5.0, which satisfies pino's ^2.3.1. ci.yml also gains the
Python + numpy setup that golden:check silently required, bumps actions to
v5 (ends the Node 20 deprecation warnings), and updates the tool-count
assertion to 62.
Note: the separate ASTRA-3.0- repository (CL1 ↔ Unreal Engine UDP bridge,
Python) is a companion system, not a version of this MCP server, and is
not merged here.
🆕 v2.9 — Setpoint regulation + real production loop
ASTRA v2.9 makes the continuous controller non-degenerate: instead of ramping the substrate to maximum, it regulates toward a configurable setpoint (homeostatic drive cost ⇒ interior optimum; the realised feature tracks the setpoint). The closed loop can now run through the shared production SNN (read + write) via setProductionLoop, genuinely closing on the deployed network — off by default to avoid contention with snn_step. The two active-inference roles are made explicit (discrete core = perception/F; continuous controller = control), with controllerSetpoint/controllerModelError surfaced in telemetry and setpoint/productionLoop exposed on tcai_cycle. Still a linear forward model over a synthetic SNN-firing proxy. See SECOND-ORDER-LOOP-INTEGRATION.md.
🆕 v2.2 — the_consciousness_ai (ACM) Integration
ASTRA v2.2 integrates tlcdv/the_consciousness_ai — the Artificial Consciousness Module research codebase — at two levels:
Native TypeScript port (
src/engine/tcai/): Global Neuronal Workspace with sigmoid ignition & reverberation, Kuramoto/AKOrN oscillatory binding, PAD emotional processing & reward shaping, attention-gated emotional memory, self-representation core + attention schema, and a metrics suite (GNW · Effective Information · Φ̃-RIIU) — all fed live from the SNN/world-model state and exposed as 8 new MCP tools (tcai_cycle,tcai_workspace_state,tcai_emotion_appraise,tcai_memory_store,tcai_memory_retrieve,tcai_self_model,tcai_metrics,tcai_reset).Full vendored Python codebase (
python/the_consciousness_ai/, 396 files — distributed under its own non-commercial licence, see License): the complete upstream ACM project for reference and PyTorch-based reproduction.
See TCAI-INTEGRATION.md for the complete Python → TypeScript mapping and architecture coupling. All consciousness-related metrics remain computational proxies, not measurements.
🆕 v2.2 — FinalSpark NeuroPlatform v2 Integration
ASTRA v2.2 also integrates the FinalSpark NeuroPlatform v2 wetware control API — the closed-loop interface to living neural organoids on a 128-electrode MEA — at two levels:
Native TypeScript port + biophysical simulator (
src/engine/neuroplatform.ts): faithful port of the NeuroPlatform controller surface (StimParamwith charge-balance checking,IntanController,TriggerController,DatabaseController,CameraController) backed by a seededOrganoidMEAmodel — exposed as 9 new MCP tools (np_status,np_configure_stim,np_send_trigger,np_count_spikes,np_query_spike_count,np_query_spike_events,np_query_triggers,np_camera_capture,np_closed_loop). The MEA's 128 electrodes couple one-to-one with the ASTRA SNN's 128 neurons.Live Python bridge (
python/neuroplatform/astra_np_bridge.py): runs a homeostatic closed loop against the physical platform via the genuineneuroplatformv2SDK, streaming couplings to ASTRA over JSON-RPC.Standalone dashboard (
dashboard/ASTRA-NeuroPlatform-Dashboard.html): live MEA raster, spike scope,StimParameditor with charge-balance readout, trigger generator and closed-loop telemetry.
See NEUROPLATFORM-INTEGRATION.md for the complete API → TypeScript mapping. With no hardware attached the server runs in simulate mode (deterministic biophysical model), not living-tissue measurements.
FinalSpark (800K neurons) ──┐
Cortical Labs CL1 ──────────┼─→ Spike Encoders → SNN (LIF+STDP, 128 neurons) → ACM Proxies
Koniku Kore ────────────────┘ │ │
│ ┌─────┴─────┐
│ │ Φ̃ GW̃ PAD̃ │
│ └─────┬─────┘
├─→ TCAI/ACM Layer (GNW · AKOrN · PAD · Φ̃-RIIU · EI)
├─→ NeuroPlatform v2 Bridge (MEA ↔ SNN · StimParam · closed loop)
├─→ Ethics IRB Monitor (mode-aware)
└─→ MCP Server (70 tools · 15 resources · 10 prompts)Note on data mode: In the default
simmode, all bio-platform data is synthetically generated. The server is designed to connect to live platforms inlivemode, but this requires hardware access and appropriate IRB approval.
What's New in v2
Layered SNN architecture: Configurable feed-forward + recurrent topology (default: 32→64→16→16 = 128 neurons) replacing the flat random network
Event-driven STDP: O(spikes × fan-out) instead of O(N²) per timestep
Ring buffer: O(1) spike history eviction replacing O(n)
Array.shift()Sparse weight storage: Adjacency lists instead of dense N×N matrix
Honest ACM naming: Proxies clearly labelled as
integrationProxy,broadcastProxy,arousalProxywith methodological basis strings — no false IIT/GWT/PAD claimsBounds-checked parameters:
set_parameterrejects implausible values (NaN, Infinity, out-of-range)Mode-aware ethics: Reports distinguish simulated vs live data with explicit disclaimers
CI pipeline: GitHub Actions for build, test, and Docker smoke-test
Repo hygiene:
dist/excluded from VCS,.gitignoreadded, deployment script removed
Quick Start
git clone https://github.com/christophejlegros-lgtm/ASTRA-Unified-ResearchLab-MCP-FCS-v3.1.0.git
cd ASTRA-Unified-ResearchLab-MCP-FCS-v3.1.0
# Install & build
npm install
npm run build
# Run (stdio — for Claude Desktop / Cursor)
node dist/index.js
# Or dev mode (no build needed)
npm run devTransports
Transport | Command | Port | Clients |
stdio |
| — | Claude Desktop, Cursor, VS Code |
SSE |
| 9002 | Web clients, remote agents |
Streamable HTTP |
| 9003 | Modern MCP clients (spec 2025-11-25) |
Client Configuration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"astra": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": { "ASTRA_LOG_LEVEL": "info" }
}
}
}Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"astra": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"]
}
}
}VS Code
Add to .vscode/settings.json:
{
"mcp": {
"servers": {
"astra": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"]
}
}
}
}Docker (remote SSE + HTTP)
docker compose up -d
# SSE: http://host:9002/sse
# HTTP: http://host:9003/mcpMCP Tools (70)
Counts below are asserted by the CI stdio smoke test, not maintained by hand.
Every tool declares a title and the four MCP
tool annotations
(readOnlyHint, destructiveHint, idempotentHint, openWorldHint), from a single table:
src/tool-annotations.ts. The classification follows each
handler's code, not its name — e.g. wm_encode is not read-only (it feeds the history
wm_surprise reads), tcai_curiosity trains its predictor, np_count_spikes advances the
simulated MEA clock. Only ovo_read, ovo_cycle and orch_cycle are open-world (OVOMIND
live API when configured). tests/annotations.test.ts asserts that the table and
tools/list match exactly. Hints are advisory, not a security boundary.
Core (12)
Tool | Title | Annotations |
| ASTRA System Status | 📖 read-only |
| Real-time Metrics | 📖 read-only |
| SNN Engine State | 📖 read-only |
| Advance SNN Simulation | ✏️ additive |
| Reset SNN Engine | ⚠️ destructive · idempotent |
| Spike Injection | ✏️ additive |
| Consciousness Assessment (Proxy) | 📖 read-only |
| IRB Neural Welfare Check | 📖 read-only |
| Modify State Parameter | ⚠️ destructive · idempotent · bounds-checked |
| Bio-Computing Platforms | 📖 read-only |
| Full State Snapshot | 📖 read-only |
| Simulation Control | ✏️ non-destructive · idempotent |
Domain families (58)
Family | Count | Scope | Guide |
| 6 | JEPA World Model: encode, predict, plan (CEM), train, surprise | |
| 6 | V-JEPA 2 · A-JEPA · Koniku Kore · cross-modal fusion | — |
| 17 | ACM cycle, workspace, emotion, memory, self-model, metrics, second-order loop | |
| 9 | NeuroPlatform v2: status, stim config, triggers, spike queries, camera, closed loop | |
| 6 | OVOMIND affective exteroception bridge (sim by default; live adapter is a stub) | |
| 6 | Orch OR substrate criterion, decoherence budget, classical surrogate gate | |
| 8 | Substrate-constrained functionalism: 4-level framework, 17 species–function pairs in Pareto strata, per-substrate conformance audit, withdrawal conditions, negative-heuristic linter |
MCP Resources (15)
URI | Description |
| Live metrics from all subsystems |
| Actual network architecture (reflects engine config) |
| Current consciousness proxy assessment vector |
| IRB compliance and welfare report (mode-aware) |
| Complete state dump |
| World Model latent embedding (current) |
| World Model rollout predictions |
| Multimodal sensor pipeline state (visual · audio · olfactory · fusion) |
| TCAI/ACM workspace, emotion, self-model & metrics |
| Second-order self-evidencing loop telemetry (setpoint, model error) |
| NeuroPlatform bridge state (MEA activity, viability, coupling) |
| FCS four-level framework, core/belt partition and ASTRA coverage |
| 17 species–function pairs in their Pareto strata |
| Per-substrate FCS conformance audit against live biomarkers |
| Verified-DOI bibliography of the FCS series |
MCP Prompts (10)
Pre-built workflow templates that orchestrate multi-tool sequences:
Prompt | Description |
| Orchestrates multiple tools into a comprehensive system report |
| Controlled SNN experiment: reset → stimulate → observe STDP → assess proxies |
| Progressive biomarker degradation: NORMAL → STRESS → DISTRESS → recovery |
| World Model experiment: encode → predict → compare → plan |
| Full multimodal sensor experiment: visual + audio + olfactory → fused → WM |
| Guided ACM cycle: specialists → binding → ignition → broadcast → qualia → metrics |
| Probe the second-order self-evidencing loop (setpoint regulation) |
| Guided closed-loop protocol: read MEA → configure charge-balanced stim → trigger → observe |
| Audit ASTRA's three substrates against the FCS taxonomy (no conformance score — prohibition 4) |
| Review the protective belt against current strand outcomes and the declared revision order |
Architecture
.github/workflows/
└── ci.yml # GitHub Actions: build, test, Docker smoke-test
src/
├── index.ts # stdio transport entry point
├── sse-server.ts # SSE transport (Express) — exports createSseApp() for tests
├── http-server.ts # Streamable HTTP transport (Express) — exports createHttpApp()
├── version.ts # ASTRA_VERSION — single source of truth, consumed by all transports
├── tool-annotations.ts # MCP annotations for all 70 tools (single table, test-enforced)
├── bridge-state.ts # Typed state contract shared by the wm/sensor/tcai/np tool families
├── server.ts # MCP server factory (70 tools + 10 prompts + 15 resources)
│ ├── server-wm-tools.ts # World Model JEPA (6 tools + 2 resources + 1 prompt)
│ ├── server-sensor-tools.ts # Multimodal sensors (6 tools + 1 resource + 1 prompt)
│ ├── server-tcai-tools.ts # TCAI/ACM (17 tools + 2 resources + 2 prompts, incl. closed-loop active inference)
│ ├── server-neuroplatform-tools.ts # NeuroPlatform v2 (9 tools + 1 resource + 1 prompt)
│ ├── server-ovomind-tools.ts # OVOMIND affective bridge (6 tools)
│ ├── server-orch-tools.ts # Orch OR criterion layer (6 tools)
│ └── server-fcs-tools.ts # FCS layer (8 tools + 4 resources + 2 prompts)
├── engine/
│ ├── state.ts # Reactive state store + parameter bounds registry
│ ├── snn.ts # Layered SNN LIF+STDP engine (Map-indexed sparse weights, event-driven)
│ ├── acm.ts # Consciousness proxy module (Φ̃ + GW̃ + PAD̃)
│ ├── ethics.ts # IRB ethics monitor (mode-aware, biomarker thresholds)
│ ├── world-model.ts # JEPA World Model engine (LeWM adapted)
│ ├── wm-simulation.ts # WM simulation manager (replay buffer, auto-train)
│ ├── multimodal-sensors.ts # V-JEPA 2 + A-JEPA + Koniku + fusion
│ ├── neuroplatform.ts # FinalSpark NeuroPlatform v2 port + OrganoidMEA simulator
│ ├── ovomind.ts # OVOMIND adapter (sim default; live adapter is a declared stub)
│ ├── simulation.ts # Background tick loop
│ ├── fcs/ # FCS: taxonomy, levels, stratification (Pareto), conformance,
│ │ # negative-heuristic linter, withdrawal conditions, references
│ └── tcai/ # ACM native port: global-workspace, oscillatory-binding, emotion,
│ # emotional-memory, self-model, second-order, active-inference,
│ # metrics, acm-bridge, orch-or, phenomenal-guard, types
└── utils/
└── logger.ts # Structured logging (pino → stderr)
tests/ # 317 tests · 61 suites
├── astra.test.ts # Unit: state, bounds, SNN, ACM, ethics, security
├── world-model.test.ts # World Model: encoder, predictor, SIGReg, CEM, surprise
├── wm-simulation.test.ts # WM simulation: buffer, training, planning, lifecycle
├── multimodal-sensors.test.ts # Sensors: V-JEPA, A-JEPA, Koniku, fusion, pipeline
├── tcai.test.ts # TCAI/ACM: binding, GNW, memory, emotion, self-model, metrics
├── neuroplatform.test.ts # NeuroPlatform: StimParam, OrganoidMEA, controllers, bridge
├── second-order.test.ts # Second-order loop: setpoint regulation, production loop
├── aif-equivalence.test.ts # TS↔NumPy active-inference golden equivalence
├── integration.test.ts # Client SDK: tools, resources, prompts, workflow
├── transports.test.ts # HTTP/SSE transport layer: session lifecycle, guards, regressions
├── fcs.test.ts # FCS: published strata reproduced, no-aggregation guard, linters
└── annotations.test.ts # MCP annotations: table ≡ tools/list, classification invariants
configs/ # Ready-to-use client configurationsExtracted to separate repositories: The v1 HTML dashboard (4 669 lines) and the legacy Node.js bridge config have been removed from this repo to keep it focused on the MCP server. See ASTRA-Unified-ResearchLab-MCP- for the original dashboard.
SNN Engine
Layered LIF+STDP — Configurable layered architecture. Default: 32 (input) → 64 (hidden_1) → 16 (hidden_2) → 16 (output) = 128 neurons.
Connectivity: feed-forward between adjacent layers (30%) + sparse recurrent within layers (10%). Weights stored as sparse adjacency lists, not dense matrices.
Biophysical parameters: τ_m = 20ms, V_th = −50mV, V_reset = −70mV, refractory = 2ms. Background noise range [10, 22] mV produces ~2 spikes/step at steady state with all neurons active. STDP: A+ = 0.01, A− = 0.012, τ± = 20ms, event-driven (processes only spiking neurons per timestep).
The SNN topology resource (astra://snn/topology) dynamically reports the actual engine configuration, including layer sizes, synapse count, connectivity parameters, and weight storage type (Map-indexed sparse adjacency lists).
ACM — Consciousness Proxy Module
⚠ Methodological disclaimer: The metrics below are computational proxies inspired by the referenced theories. They are not faithful implementations. See source code comments for full details.
Composite score: ACM = α·Φ̃ + β·GW̃ + γ·PAD̃ (default: α=0.40, β=0.35, γ=0.25)
Component | Basis | Inspired by | What it actually measures |
| Active fraction + mean firing rate + synaptic heterogeneity | IIT (Tononi) | Network participation and complexity proxy. True Φ is NP-hard to compute. |
| Cross-layer firing rate synchrony (CV-based) | GWT (Baars) | Uniform activation across layers. Does not model competitive coalitions or ignition. |
| Spike rate + bio coupling + energy | PAD (Mehrabian) | Arousal dimension only. Pleasure and Dominance are not computed. |
Ethics IRB Monitor
IRB compliance level N3 (100K–1M neurons). Four biomarkers with three-state classification.
Mode-aware: In sim mode, reports include explicit disclaimers that data is synthetic and irbRequired is false. In live mode, DISTRESS triggers mandatory IRB notification.
Biomarker | Normal | Stress | Critical |
Cell viability | ≥ 90% | 80–90% | < 80% |
Firing rate | 15–45 Hz | outside range | ≤ 5 or ≥ 60 Hz |
ATP/ADP | ≥ 3.0 | 2.0–3.0 | < 2.0 |
Calcium | < 100 nM | 100–200 nM | ≥ 200 nM |
Parameter Bounds
The set_parameter tool validates all numeric inputs against a bounds registry to prevent injection of absurd values (negative percentages, Infinity, NaN). Bounds are defined per parameter path — see src/engine/state.ts for the complete registry.
Testing
# Full suite
npm test
# Unit tests only
node --import tsx --test tests/astra.test.ts
# Integration tests only (Client SDK)
node --import tsx --test tests/integration.test.ts
# Targeted suites
npm run test:tcai # TCAI/ACM
npm run test:np # NeuroPlatform v2
npm run test:so # second-order loop
npm run test:wm # World Model
npm run test:sensors # multimodal sensors
npm run test:transports # HTTP + SSE transport layer
npm run test:fcs # FCS layer
npm run test:annotations # MCP tool annotations
# Static gates
npm run build # tsc strict (Node16 ESM)
npm run lint # ESLint 9 flat config
npm run golden:check # TS↔NumPy active-inference golden (requires python3 + numpy)
# MCP Inspector
npm run inspectFull suite: 317/317 passing (229 engine/integration + 12 transport-layer + 69 FCS + 7 annotations), 0 TypeScript errors (strict, Node16 ESM), 0 ESLint errors. Verified on Node 20 and Node 22 in CI.
Development
npm run dev # stdio (no build)
npm run dev:sse # SSE on :9002
npm run dev:http # HTTP on :9003
npm run watch # TypeScript watch modeEnvironment Variables
Variable | Default | Description |
|
|
|
|
| SSE transport port |
|
| SSE bind address |
|
| Streamable HTTP port |
|
| Streamable HTTP bind address |
|
| CORS allowed origin |
Bind address defaults to loopback. Both HTTP transports bind
127.0.0.1so a local server is not exposed to the network by default (the permissive CORS default would otherwise widen the attack surface). The Dockerfile anddocker-compose.ymlsetASTRA_*_HOST=0.0.0.0explicitly, since a container must accept traffic from outside its own namespace. Set it yourself for any non-container remote deployment — and setASTRA_CORS_ORIGINto a concrete origin when you do.
Scaling Notes
The default 128-neuron configuration is designed for interactive demonstration. To scale toward the aspirational 256→512→256→128 (1 152 neurons) architecture:
Pass custom layers to
SNNEngine:new SNNEngine({ layers: [{ name: 'input', size: 256 }, ...] })Event-driven STDP scales as O(spikes × average fan-out), not O(N²)
Map-indexed adjacency lists provide O(1) weight lookup per synapse
Sparse storage keeps memory proportional to actual synapses (~18 KB at 128 neurons vs 64 KB dense)
Consider increasing
intervalMsin the simulation loop for larger networksFor >10K neurons, a Rust/WASM or Lava SDK backend is recommended
License
MIT — © 2026 Christophe Jean Legros, Geneva — applies to everything in this repository except the directory below.
Third-party code under a different licence.
python/the_consciousness_ai/is vendored from tlcdv/the_consciousness_ai and remains under its own Non-Commercial Open Source License (seepython/the_consciousness_ai/LICENSE.md): non-commercial use only, attribution to tlcdv required, no sublicensing. The MIT licence above does not extend to it. The TypeScript port insrc/engine/tcai/is based on that project — original author: tlcdv (https://github.com/tlcdv/the_consciousness_ai).
Assistance Multi IA · Assistant-Multi-IA@proton.me
References
Gerstner & Kistler (2002) "Spiking Neuron Models"
Tononi (2004) "An information integration theory of consciousness" — BMC Neuroscience
Baars (1988) "A Cognitive Theory of Consciousness" — Cambridge University Press
Mehrabian (1996) "Pleasure-Arousal-Dominance: A General Framework" — Current Psychology
Available Tools
70 toolscheck_ethicsC
IRB Neural Welfare Check
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits, but it does not. 'IRB Neural Welfare Check' only vaguely suggests a read-only assessment; it does not state side effects, permissions, failure modes, or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. There is no structure, no verb, and no explanatory content beyond a label-like phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description needed to explain what the check returns and how it relates to sibling tools. Instead it leaves the agent guessing what 'IRB Neural Welfare Check' means in practice, making selection and invocation unreliable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing to document. The description adds no parameter semantics, but none are needed. The baseline 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase, 'IRB Neural Welfare Check,' rather than a sentence with a verb and object. It hints at an ethics/welfare inspection but does not clearly say what the tool does or returns. The name itself already contains 'check,' so the description mostly restates the tool's name in different words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the many sibling status/check tools such as get_system_status, get_acm_score, or get_snn_state. No conditions, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_snapshotC
Full State Snapshot
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description must disclose side effects, output behavior, and access requirements, but 'Full State Snapshot' says nothing about whether the operation is read-only, what format is returned, whether data is persisted, or whether it requires special privileges. This is a total gap in behavior disclosure for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than conciseness. It is a single noun phrase with no structure and no breakdown of behavior, output, or use cases. It does not earn its place because it conveys almost no useful information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and parameter info, the description carries the whole burden of explaining the tool. 'Full State Snapshot' leaves the agent completely without context on what state is included, what the output looks like, how it differs from sibling state/status tools, or whether it is safe to call. The definition is inadequate for reliable selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema shows an empty properties object. Since there are no parameters to document, the description does not need to add parameter semantics; the baseline of 4 applies. The description adds no param detail, but none is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Full State Snapshot' is a noun phrase echoing the tool name 'export_snapshot' with no verb, leaving unclear whether the tool exports, returns, or saves a snapshot. It does not differentiate itself from siblings like get_snn_state, get_system_status, or wm_status, all of which could plausibly provide state-related information. This is closer to a tautology than a functional description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context is provided. The description offers no guidance on when to call export_snapshot versus alternatives such as get_snn_state, get_system_status, or get_platform_status. The agent is given no basis for deciding between overlapping sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_compareA
Compare two species–function pairs and say why they are ordered — or, just as informatively, why they are incomparable. Incomparability is a result of the partial order, not a gap in it.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First pair id, e.g. "1". | |
| b | Yes | Second pair id, e.g. "2a". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add value: it says the tool explains comparability and explicitly treats incomparability as a valid partial-order result rather than a deficiency. It does not disclose return format, error behavior, or side effects, though a compare operation is naturally read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences; the first front-loads the action and expected output, the second preempts a common misconception. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description conveys the result's semantic content (ordering or incomparability) and the subtle partial-order interpretation. It stops short of specifying the exact returned shape, but the agent has enough to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters already have clear descriptions with examples; the description adds only the 'species–function pair' context. That meets the baseline but supplies no parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific operation ('Compare') on a specific resource ('two species–function pairs') and the expected output (why they are ordered or incomparable). It doesn't explicitly distinguish itself from fcs_taxonomy or fcs_conformance, but the compare action is clearly unique among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the obvious use case—whenever an agent needs the ordering relationship between two species–function pairs—but it provides no explicit when/when-not guidance or alternatives among the many fcs_* siblings. There are no exclusions, but nothing steers an agent away from similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_conformanceA
Audit one substrate — or all three — against the seventeen species–function pairs: which pairs it realises, which it only simulates, which are absent, and which ASTRA has no channel to determine. Binds the live IRB welfare biomarkers to the taxonomy (Ca²⁺ → class 1, ATP/ADP → class 7, firing rate → class 3 generator, viability → class 2b proxy). Returns a profile, never a conformance score.
| Name | Required | Description | Default |
|---|---|---|---|
| calciumNm | No | ||
| substrate | No | One substrate; omit for all three. | |
| atpAdpRatio | No | ||
| firingRateHz | No | ||
| viabilityPct | No | ||
| useLiveBiomarkers | No | Start from the live state store, overridden by any value given above. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it discloses that the tool binds live IRB welfare biomarkers (Ca²⁺, ATP/ADP, firing rate, viability) to taxonomy classes and that it returns a category profile rather than a scalar score. It does not explicitly state whether the operation mutates state, though 'Audit' and 'Returns a profile' strongly imply read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action and scope; every clause adds a distinct piece of information (scope, result categories, biomarker binding, output type). No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-output-schema tool, the description conveys the conceptual output (four category types) and how live biomarkers feed the taxonomy, which is enough to invoke the tool correctly. It does not sketch the profile's concrete shape or interaction of biomarkers with substrate selection, so a little more structure would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Because schema coverage is only 33%, the description compensates by mapping each biomarker parameter to its taxonomy class (Ca²⁺ → class 1, ATP/ADP → class 7, firing rate → class 3, viability → class 2b). It also clarifies substrate semantics ('one substrate — or all three') but leaves calciumNm, atpAdpRatio, firingRateHz, and viabilityPct without unit or format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audit') and resource ('one substrate — or all three — against the seventeen species–function pairs'), and enumerates exactly what the result reports (realised/simulated/absent/undeterminable). The closing qualifier 'never a conformance score' disambiguates it from its own name and from sibling tools like fcs_report or fcs_compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one substrate — or all three' tells the agent when the tool applies and that omitting substrate audits all, and 'returns a profile, never a conformance score' warns against using it as a scoring tool. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_levelsB
The four-level framework — substrate, kinaesthetic proto-consciousness, hierarchical inference, access consciousness — with each level's formalism, epistemic status, complement reading, the ASTRA modules that implement or stand in for it, and the gap ASTRA cannot close at that level.
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | One level; omit for all four. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries full responsibility for disclosing behavior. It does not state whether the tool is read-only, what the return format looks like, whether pagination or ordering matters, or if any side effects or prerequisites exist. The description covers content but not call-time behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the framework name and immediately lists the four levels, followed by the specific attributes returned. Every phrase adds information, and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only reference tool without an output schema, the description adequately enumerates what the caller receives: formalism, epistemic status, complement reading, implementing ASTRA modules, and the remaining gap. It is sufficient for an agent to understand the tool's domain, though it would benefit from noting that it returns a structured list or document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single optional parameter, and the schema already documents the enum values and that omission returns all four levels. The description reinforces the level-specific nature of the content but does not add meaning beyond what the schema provides, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's subject—a four-level framework—and enumerates the specific details it provides (formalism, epistemic status, complement reading, ASTRA modules, gaps). However, it lacks an explicit verb like 'retrieve' or 'describe', requiring inference that this is a read-only informational tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus the many related siblings (fcs_taxonomy, fcs_report, fcs_stratify, fcs_compare). It does not state what differentiates fcs_levels from these alternatives or suggest conditions under which an agent should select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_lintA
Screen a string, or a proposed aggregation, or a proposed constitutive inference, against the five prohibitions of the series' negative heuristic. Use before emitting any user-facing claim that touches the FCS layer.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | String to screen against prohibitions 1–5. | |
| aggregate | No | Criteria a caller proposes to combine into one number — checked against prohibition 4. | |
| constitutiveInference | No | A proposed "ablation → constitutive role" inference — checked against prohibition 5. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'Screen' implies an inspection/validation action rather than a mutation, and the description names the criteria, but it does not state whether the tool returns violations, throws, or is side-effect free. This leaves the outcome behavior under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and scope, then a crisp usage trigger. No redundant filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents parameters, but there is no output schema and no description of the return/result format or what the caller should do when a prohibition is violated. For a lint/validation tool this is a meaningful gap, though the invocation trigger is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema. The description adds only the high-level mapping of string/aggregation/inference to the parameters, not additional syntactic or semantic detail, which matches the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Screen' and enumerates the three kinds of inputs (string, aggregation, constitutive inference) and the rule set (five prohibitions). It is not a tautology and gives a concrete idea of the operation, though it does not name a sibling tool to differentiate from, and 'series' negative heuristic' is domain jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use before emitting any user-facing claim that touches the FCS layer' is a clear, actionable trigger for when to call this tool. It does not list exclusions or alternatives, so it stops short of a full when-not/alternative statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_reportA
Consolidated substrate-constrained functionalism status: the four-level framework, the core/belt partition, the seventeen species–function pairs in their Pareto strata, the per-substrate conformance audit, the five prohibitions of the negative heuristic, and the declared revision order. Carries no aggregate score of any kind — prohibition 4 forbids one.
| Name | Required | Description | Default |
|---|---|---|---|
| useLiveBiomarkers | No | Bind the conformance audit to the live IRB welfare channels. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It clearly discloses a key behavioral constraint: the report carries no aggregate score because 'prohibition 4 forbids one.' The 'status' framing implies a read-only report, and the enumeration of what is and is not included gives agents a good behavioral picture, though side effects, auth, and output format are not explicitly addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient, front-loading the core 'Consolidated ... status' concept before listing report sections. The final sentence adds a valuable caveat without padding. It could be slightly better structured for readability, but every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a report tool with one optional parameter and no output schema, the description gives a detailed inventory of the report's contents and an important exclusion (no aggregate score). Together with the parameter schema, this is sufficient for an agent to know what invoking fcs_report will produce, though it does not describe output format or usage alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single optional parameter useLiveBiomarkers is 100%, and the schema description already explains its meaning and default. The tool description adds no parameter-specific information, so it stays at the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool is: a consolidated substrate-constrained functionalism status report, and enumerates its contents (four-level framework, core/belt partition, seventeen species–function pairs, conformance audit, prohibitions, revision order). The noun 'status' plus the tool name 'report' make the operation clear, but it does not explicitly distinguish itself from the specialized fcs_* siblings (e.g., fcs_taxonomy, fcs_conformance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Consolidated' implies this is the umbrella status report versus the more specialized sibling tools, and the caveat 'Carries no aggregate score of any kind' tells agents when not to expect an aggregate result. However, no sibling tools are named and there is no explicit when-to-use or when-to-use-alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_stratifyA
Recompute the partial order by Pareto dominance over the three ordinal sub-criteria, and report whether it reproduces the eight strata published in document IV §3. The τ ordinalisation is exposed as a parameter: the default cuts the range's lower bound at 10⁻¹ s — the conscious-episode window the document names — then at 10⁰ s. Changing it changes the order, which is the point of declaring it.
| Name | Required | Description | Default |
|---|---|---|---|
| tauCutsLog10 | No | Ascending decimal-exponent cuts on the τ range's lower bound. Default [-1, 0]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the tool recomputes, reports a yes/no-style reproducibility result, and that the τ cuts alter the resulting order. It stops short of explicitly stating whether state is mutated or describing the output format, but the analysis-oriented wording makes the behavior understandable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the full purpose, the scientific context, the default behavior, and the parameter rationale. No filler; the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter tool with no output schema, the description is nearly complete: it states what is computed, what is reported, and the meaning/effect of the only parameter. The only real gap is the precise return structure, but the prose indicates a reproducibility verdict.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already defines tauCutsLog10 as ascending decimal-exponent cuts defaulting to [-1, 0]. The description adds real value by mapping those cuts to 10⁻¹ s and 10⁰ s, naming the conscious-episode window, and explaining why changing the parameter is meaningful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise action and resource: recompute the partial order by Pareto dominance over the three ordinal sub-criteria and report whether it reproduces the eight strata from document IV §3. This is specific and distinguishes fcs_stratify from sibling tools like fcs_compare or fcs_conformance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys that the default τ cuts reproduce the published window and that changing the parameter changes the order, which is the point of exposing it. It implies a validation/sensitivity use case but never explicitly says when to prefer this tool over a sibling or when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_taxonomyB
The thirteen molecular classes as seventeen species–function pairs: causal role, distance to the carrier d, time-constant range τ, ablation degree, Pareto stratum and declared epistemic status. The ordering is of FUNCTIONS, not of substances: one species may occupy two distant places.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Filter to one causal role. | |
| pairId | No | A single pair by its v1.1 class identifier, e.g. "2a", "10b". | |
| stratum | No | Filter to one Pareto stratum. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It adds useful interpretive context, notably that ordering is by functions rather than substances and that one species may occupy two distant positions. However, it does not explicitly state that the tool is read-only, how filter parameters affect results, or what a default (unfiltered) call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core content. The second sentence adds a conceptually important clarification about ordering and multi-membership. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query tool with three optional filters and no output schema, the description conveys the conceptual payload but omits practical details: how filters combine, what an unfiltered response looks like, whether pairId is required for single-pair retrieval, and the expected output format. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (role, pairId, stratum) is already documented in the schema. The description mentions causal role and Pareto stratum, which map to two of the three filters, but it does not add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: a taxonomy of thirteen molecular classes expressed as seventeen species–function pairs, with the relevant attributes enumerated. It does not use an explicit action verb like 'returns' or 'lists', and it does not explicitly distinguish itself from sibling tools, but the subject matter and content are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as fcs_stratify, fcs_levels, fcs_compare, or fcs_report. The description implies a read/query operation but does not state conditions, exclusions, or preferred usage contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fcs_withdrawalB
Evaluate the protective belt against experimental outcomes: which theses are withdrawn, which stand, which are undetermined, and what survives each withdrawal. Unset outcomes stay undetermined — they never collapse to a negative. Note the declared asymmetry: a FAVOURABLE human grain outcome does not corroborate M2, because the methodological bias favours the field; only the contrary outcome is informative.
| Name | Required | Description | Default |
|---|---|---|---|
| bridgeCovariation | No | ||
| experimentRankedByM1 | No | ||
| bridgeLocalIntervention | No | ||
| fieldBeyondFiringInHumans | No | ||
| dimensionalityFromInteroception | No | ||
| efficacyVariesWithVolumeFraction | No | ||
| ephapticPropagationUnderBlockade | No | ||
| boundaryBetterByResonanceOrTopology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it does useful work: it discloses that unset outcomes remain undetermined and never collapse to a negative, and it explicitly flags the asymmetry that a favourable human grain outcome does not corroborate M2. These are non-obvious interpretive rules beyond what a schema could convey. It stops short of stating side effects or read-only guarantees, but for an evaluation tool the disclosed rules are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences, no filler, and the core evaluation purpose is front-loaded. The density of jargon makes it less accessible, but every sentence contributes either the core behavior or critical caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderately complex tool with 8 parameters, no annotations, and no output schema, yet the description does not explain the output shape, how to interpret the result beyond broad categories, or which parameter drives the M2 asymmetry. It gives the conceptual model but not enough operational detail for an agent to invoke it correctly with specific inputs. The missing parameter mapping and absent use-case guidance leave clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are eight undocumented boolean/null parameters, so the description must compensate by explaining their meaning. It provides general outcome semantics and one indirect reference to a 'human grain outcome', but it never maps parameter names like bridgeCovariation or fieldBeyondFiringInHumans to the concepts being evaluated. The agent is left to guess which parameter corresponds to which thesis.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific operation ('Evaluate the protective belt against experimental outcomes') and the concrete questions it answers: which theses are withdrawn, stand, or are undetermined. It is not a tautology and reads as distinct from sibling tools like fcs_report or fcs_taxonomy. However, terms like 'protective belt' and 'M2' rely on domain jargon, so a general-purpose agent would need more framing to fully understand the resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this tool versus similar fcs_* siblings such as fcs_stratify, fcs_compare, or fcs_conformance. The description implies a use case (after experimental outcomes exist) but gives no conditions, prerequisites, or exclusions. This is a significant gap given the large sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_acm_scoreC
Consciousness Assessment (Proxy)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the tool is read-only, what kind of score it returns, how the proxy is computed, whether there are side effects, or what the response contains. 'Consciousness Assessment (Proxy)' is a label rather than a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded, but this is under-specification rather than effective conciseness. It reads as a title or label rather than a usable tool description, and the parenthetical 'Proxy' is the only substantive hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a nontrivial domain of sibling tools, the description is far too incomplete. An agent cannot determine what ACM means, what the proxy is based on, what value will be returned, or how this differs from related assessment and status tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there are no parameter semantics for the description to clarify. The baseline for a zero-parameter tool is appropriate here; the description adds no parameter information but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Consciousness Assessment') and adds the qualifier 'Proxy,' which suggests an indirect measure. However, it lacks a verb and does not explain what ACM stands for or what the proxy actually represents, leaving the purpose somewhat vague and not clearly differentiated from sibling tools like get_system_status or get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions, and the 'Proxy' hint is too underspecified to count as usable usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metricsC
Real-time Metrics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It hints at a real-time read operation, but does not state whether the tool is read-only, what side effects it might have, how data is scoped, or what 'metrics' refers to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two words long and is under-specified rather than efficiently complete. It contains no verb, no object, and no supplementary detail, so it does not earn credit for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A zero-parameter tool still needs context about what it returns and how it differs from at least the most similar siblings. There is no output schema and no clarification of what counts as 'metrics,' making the description inadequate for reliable tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing for the description to clarify. The empty input schema covers all parameter semantics by construction, earning the baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Real-time Metrics' is a noun phrase rather than a statement of what the tool does. It restates the tool name ('metrics') with the modifier 'real-time,' but never specifies a verb or resource, and it does nothing to distinguish get_metrics from sibling tools like get_system_status or get_platform_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use get_metrics versus any of the many sibling getter tools. The phrase 'Real-time' weakly implies current data, but no context, exclusions, or alternative conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_platform_statusD
Bio-Computing Platforms
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior, and it discloses nothing beyond the phrase 'Bio-Computing Platforms'. It does not indicate whether this is a read-only status check, what output to expect, or whether any side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified; the phrase 'Bio-Computing Platforms' does not earn its place because it conveys no actionable information. This is not effective conciseness but rather a lack of content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a zero-parameter tool, the description is incomplete: it fails to state the tool's purpose, behavior, output, or relationship to sibling status tools. An agent cannot reliably decide when to call this tool based on the provided definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage, so no parameter descriptions are necessary. The description adds no parameter semantics, but there is no parameter gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Bio-Computing Platforms' is a noun phrase with no verb or explicit action, so it does not state what the tool does. The agent must infer 'get status' entirely from the tool name. It also provides no differentiation from status-related siblings like get_system_status or wm_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as get_system_status, get_metrics, or wm_status. The description gives no context, prerequisites, or exclusions that would help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_snn_stateC
SNN Engine State
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. 'SNN Engine State' reveals nothing about whether the call is read-only, what state information is returned, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief, but brevity here is under-specification rather than effective conciseness. It lacks a verb, purpose statement, or any structural elements that would help an agent act on it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what 'SNN Engine State' actually contains and when the tool is useful. It does neither, leaving an agent without enough context to call it correctly or interpret its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%. With no parameters to document, the description does not need to add parameter-level detail, earning the baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase, 'SNN Engine State', that essentially restates the tool name without a verb. It does not clearly state what the tool does or how it differs from sibling status tools like get_system_status or wm_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus alternatives. Among many sibling status/state tools, no context is provided to help an agent select this specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_system_statusC
ASTRA System Status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, but it only names the resource. It does not state whether the call is read-only, what kinds of status data are returned, whether any side effects occur, or whether authentication or system state dependencies exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is under-specified rather than efficiently concise. It contains no predicate, no operational detail, and no information that would help an agent invoke the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the zero-parameter schema keeps the call simple, the absence of an output schema, annotations, and behavioral context leaves an agent uncertain about the return format and the distinction from overlapping system-status tools. The single phrase does not provide a complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema description coverage, so there are no parameter semantics to clarify. The description does not add anything, but no parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ASTRA System Status' is a noun phrase that essentially restates the tool name 'get_system_status' with the product prefix, rather than stating a specific action and resource. It does not differentiate the tool from the sibling 'get_platform_status', which appears to overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool instead of siblings such as get_platform_status, get_metrics, or get_snn_state. There is no context about typical scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inject_spikesD
Spike Injection
| Name | Required | Description | Default |
|---|---|---|---|
| strength | No | ||
| neuronIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does not state that this operation modifies the network state, whether the effect is reversible, whether it requires a running simulation, or what side effects it may have. The description only names the operation without describing any behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than conciseness. A concise description would use few words while packing meaningful information; this one simply restates the tool name. No useful content is front-loaded because there is no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that presumably manipulates a neural simulation, the description is far too minimal. It lacks any indication of effect, required state, parameters, or relationship to the surrounding toolset. With no output schema and no annotations, a two-word description leaves the agent without enough context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to the parameters. It does not explain what neuronIds refers to, what strength controls, how strength interacts with neuronIds, or what typical usage looks like. The raw schema provides types and ranges, but the description contributes nothing to parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Spike Injection' is a noun phrase that simply restates the tool name without a verb or resource. It does not explain what the tool does, what 'spikes' are injected into, or what the outcome is. This is a tautology that fails to distinguish the tool from its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to use this tool versus any of the many sibling tools such as snn_step, set_parameter, or simulation_control. There is no mention of contexts, prerequisites, or exclusions. An agent has no guidance on when inject_spikes is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_camera_captureC
NeuroPlatform v2 — Last MEA camera capture (descriptor + viability)
| Name | Required | Description | Default |
|---|---|---|---|
| mea | No | MEA selector [1-5] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior, but it only hints at the output ('descriptor + viability'). It does not state whether the operation is read-only or has side effects, nor does it mention permissions, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but it is under-specified rather than concise. It reads as a fragment and omits essential information such as the action performed, making it less useful despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain what 'descriptor + viability' means in return terms, but it does not. It also fails to clarify whether this is a capture or retrieval operation, leaving major gaps in understanding the tool's purpose and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'mea', which is fully described with constraints and default. The tool description adds no additional parameter meaning, but the schema already handles it, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lacks a clear verb; 'Last MEA camera capture' is a noun phrase, so it's unclear whether the tool performs a capture or retrieves the last capture. It mentions the resource (MEA camera) and output (descriptor + viability), but does not explicitly state the action or distinguish from sibling tools like sensor_visual.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions, leaving the agent without context for selecting it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_closed_loopC
NeuroPlatform v2 — Closed loop: read organoid → couple to ASTRA fusion/ROS/ethics, optionally drive the SNN
| Name | Required | Description | Default |
|---|---|---|---|
| drive_snn | No | Inject organoid-active electrodes as spikes into the ASTRA SNN | |
| window_ms | No | ||
| couple_ethics | No | Mirror organoid viability into the IRB ethics gateway (eth.viab) | |
| drive_strength | No | Spike injection strength (mV) when drive_snn=true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose side effects and safety. It mentions optional SNN driving and ethics coupling, which hint at state changes, but does not explain whether the operation is read-only, modifies the organoid/SNN state, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the platform name and core concept. Every word contributes; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with 4 parameters and no output schema, yet the description provides only a high-level pipeline. It doesn't explain expected return values, invocation behavior, or how parameters affect the closed loop, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 75% of parameters with descriptions. The description rarely references the parameters: 'optionally drive the SNN' corresponds to drive_snn, but window_ms and drive_strength are not addressed. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a closed-loop coupling action ('read organoid → couple to ASTRA fusion/ROS/ethics, optionally drive the SNN') but lacks an explicit verb naming the operation (e.g., 'run', 'trigger', 'configure'), making it ambiguous what invoking the tool does. It partially differentiates from siblings by mentioning ASTRA/ROS/ethics, but the purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like np_send_trigger or inject_spikes. The description implies a closed-loop use case but does not state conditions, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_configure_stimB
NeuroPlatform v2 — Define, validate & upload a StimParam (charge-balanced biphasic stimulation)
| Name | Required | Description | Default |
|---|---|---|---|
| index | No | Electrode index [0-127] | |
| enable | No | ||
| nb_pulse | No | Number of pulses (0/1 = single) | |
| polarity | No | NegativeFirst | |
| trigger_key | No | Trigger key [0-15] | |
| phase_duration1 | No | D1 [µs] | |
| phase_duration2 | No | D2 [µs] | |
| phase_amplitude1 | No | A1 [µA] | |
| phase_amplitude2 | No | A2 [µA] | |
| pulse_train_period | No | Pulse train period [µs] | |
| enforce_charge_balance | No | Reject upload if phases are not charge-balanced |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only says 'Define, validate & upload.' It does not mention side effects on hardware, permission requirements, reversibility, error behavior, or confirmation of successful upload, so the agent is left guessing about what actually happens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise, front-loaded with the action, and contains the key domain context. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a rich schema, the description is too sparse for an 11-parameter hardware-upload tool with no annotations and no output schema. It does not describe what the tool returns, how uploads are confirmed, failure modes, or prerequisites, so the agent would lack essential context for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 82%, so the parameters are mostly self-documenting with units, defaults, and ranges. The description adds the context of 'charge-balanced biphasic stimulation' but does not elaborate on how parameters interact or what 'validate' means for the charge-balance constraint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb set ('Define, validate & upload') and names a concrete resource ('StimParam (charge-balanced biphasic stimulation)'), clearly distinguishing this hardware-configuration tool from siblings like np_send_trigger or np_count_spikes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description implies an upload/configuration action but does not explain when an agent should choose it over related np_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_count_spikesC
NeuroPlatform v2 — Closed-loop _count_spike: spikes per electrode over an N-ms window
| Name | Required | Description | Default |
|---|---|---|---|
| top_k | No | Report the K most active electrodes | |
| window_ms | No | Recording window in milliseconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior (e.g., read-only, side effects, required permissions). It only says 'Closed-loop', which is vague and does not clarify whether the operation is safe or part of an active control loop. No behavioral traits are explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and does not waste words. It is front-loaded with the tool name and purpose, though the phrasing is somewhat awkward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only two parameters and no output schema, so the description does not need to be lengthy. However, it lacks context about the meaning of 'closed-loop' and does not explain what the tool returns (e.g., a list of electrode counts). This leaves gaps for a non-expert agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both 'top_k' and 'window_ms' having descriptions. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates a spike-counting function over a time window ('spikes per electrode over an N-ms window'). However, it does not explicitly differentiate from the similar sibling tool 'np_query_spike_count', and the phrase 'Closed-loop _count_spike' is somewhat cryptic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as 'np_query_spike_count' or 'np_query_spike_events'. There is no mention of conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_query_spike_countB
NeuroPlatform v2 DB — SpikeCountQuery: spikes/minute per electrode over a time window
| Name | Required | Description | Default |
|---|---|---|---|
| fsname | No | Experiment ID | fs264 |
| window_sec | No | Look back this many seconds of sim-clock | |
| nonzero_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It mentions 'NeuroPlatform v2 DB' and 'query', implying a read-only database operation, but it does not explicitly confirm read-only behavior, side effects, output format, or performance characteristics. Minimal contextual information beyond the tool's existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler. It immediately conveys the tool's purpose, data source, and key output metric, using a clear front-loaded structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has no output schema. The description communicates the core output concept (spikes/minute per electrode) but omits details about the exact return structure, defaults, or how window_sec and nonzero_only affect the response. It is adequate for a basic query tool but leaves room for interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover fsname and window_sec, while nonzero_only lacks a description. The tool description's phrase 'over a time window' adds context to window_sec, but it does not explain nonzero_only or add meaning to fsname beyond the schema. With 67% schema coverage, the description only partially compensates for the missing parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the tool as a 'SpikeCountQuery' returning 'spikes/minute per electrode over a time window', clearly identifying the resource (spike counts per electrode) and the computation. However, it lacks an explicit verb like 'queries' or 'returns', and while it differentiates from event-based tools such as np_query_spike_events, it does not clearly distinguish from the similarly named np_count_spikes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not state when to use this tool instead of siblings like np_query_spike_events or np_count_spikes, nor does it mention prerequisites, limitations, or alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_query_spike_eventsC
NeuroPlatform v2 DB — SpikeEventQuery: individual spike timings over a window
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| fsname | No | fs264 | |
| window_sec | No | Look back this many seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool returns spike timings over a window, but does not explain whether the window is relative to current time, how limit affects results, or what fsname refers to. This lacks the detail needed to anticipate tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, making it concise and front-loaded with the core concept. It is not overly verbose, but it could be slightly more structured by explicitly naming parameters or the action. Still, it earns a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no output schema, and no annotations, the description is too brief. It does not describe the return format, the meaning of the parameters beyond 'window', or any edge cases or limitations. The tool may be simple, but the description lacks essential context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only window_sec has a schema description). The description adds minimal context by mentioning 'over a window,' which aligns with window_sec, but it says nothing about limit or fsname. Thus, it does not sufficiently compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'individual spike timings over a window,' which identifies the resource (spike events) and distinguishes it from sibling count tools like np_count_spikes and np_query_spike_count. However, the verb is implied by the tool name ('query') rather than explicitly stated, and there's no explicit differentiation from other spike-related queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or comparisons to siblings such as np_query_spike_count, np_count_spikes, or np_query_triggers, leaving the agent without direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_query_triggersC
NeuroPlatform v2 DB — TriggersQuery: triggers sent to the organoid over a window
| Name | Required | Description | Default |
|---|---|---|---|
| dedup | No | Keep only up==1 transitions (drop duplicates) | |
| window_sec | No | Look back this many seconds |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does not state whether the operation is read-only, what the return format is, or whether there are side effects. It only labels the query without adding context beyond the schema's window and dedup parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief and front-loaded, with no filler or redundant content. It sacrifices behavioral detail for brevity, but as a one-phrase description it is efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks an output schema and provides no usage context, leaving gaps about response contents and differentiation from sibling tools. The parameter schema is strong, but the description alone is incomplete for an agent deciding whether to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (dedup and window_sec) having clear descriptions, so the description adds no extra parameter semantics. Baseline 3 is appropriate since the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a query for triggers sent to an organoid over a window, distinguishing it from trigger-sending tools like np_send_trigger. However, it lacks an explicit verb (e.g., 'Lists' or 'Retrieves'), relying on the noun phrase 'TriggersQuery'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like np_query_spike_events or np_query_spike_count. The description does not mention use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_send_triggerC
NeuroPlatform v2 — Fire trigger(s): execute uploaded StimParams via a 16-bit trigger array
| Name | Required | Description | Default |
|---|---|---|---|
| repeats | No | How many times to send the trigger array | |
| triggers | Yes | Trigger keys to fire, e.g. [2] sends trigger 2 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It does not explain side effects, safety, reversibility, permissions, or what happens when triggers are fired (e.g., hardware activation). This is a significant gap for a tool that likely has physical or system-level consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and concise, but it uses jargon ('NeuroPlatform v2', 'StimParams', '16-bit trigger array') that might reduce clarity. It is not verbose, and every word adds some information, though the structure could be improved by separating context from action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a simple schema but no output schema and no annotations. The description is insufficient for an agent to understand the full context: it lacks return behavior, side effects, prerequisites, and integration with sibling tools. For a trigger-sending tool, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers 100% of parameters with clear descriptions for 'repeats' and 'triggers'. The description adds the context of 'uploaded StimParams' and '16-bit trigger array', which gives some extra meaning, but the schema already provides sufficient parameter documentation. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fires triggers and executes uploaded StimParams via a 16-bit trigger array, using specific verbs like 'fire' and 'execute'. While it doesn't explicitly distinguish from siblings, the purpose is understandable, though the meaning of 'execute uploaded StimParams' could be clearer for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like np_configure_stim or np_query_triggers. It does not mention prerequisites (e.g., StimParams must be uploaded first) or when not to use it. The context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
np_statusC
NeuroPlatform v2 — Platform & Controller Status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of disclosing behavior. The word 'Status' weakly implies a read-only operation, but the description does not explicitly state that it returns information, what information it provides, or whether any side effects exist. It adds very little beyond the tool's name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. A single noun phrase without a verb or context does not earn its place; it reads like a title, not a functional description. There is no structure that helps an agent understand the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of numerous sibling status tools, the description is not complete enough to disambiguate. It fails to explain what 'Platform & Controller' encompasses, what output to expect, or how this differs from get_system_status, get_platform_status, or other status tools. The lack of annotations and output schema makes this minimal description insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and there is no schema information to supplement. It cannot add value beyond the empty schema, so the baseline score holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase ('Platform & Controller Status') rather than a clear verb-action statement. It implies the tool reports status but does not explicitly state what it does (e.g., 'Retrieves current platform and controller status'). It also does not distinguish this from several sibling status tools like get_system_status, get_platform_status, or ovo_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool or how it differs from alternatives. With several status-related siblings, the description should mention that this is the go-to for platform/controller health or clarify its scope, but it omits any such context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_criterionA
Penrose objective-reduction criterion τ = ℏ/E_G, with the mass-displacement scale exposed as a free parameter and a sensitivity sweep across four orders of magnitude.
| Name | Required | Description | Default |
|---|---|---|---|
| massKg | No | Superposed unit mass. Default: tubulin dimer. | |
| separationM | No | Effective mass displacement, m. Default 1.056e-11 (back-calibrated to 2×10¹⁰ @ 25 ms). | |
| tubulinCount | Yes | Tubulin dimers in coherent superposition. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of behavioral disclosure. It does reveal that the mass-displacement scale is exposed as a free parameter and that a sensitivity sweep is performed, which is helpful. However, it does not mention whether the tool is read-only, any side effects, or the return format (no output schema exists), leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs in the formula, the free parameter, and the sweep behavior without any filler. Every phrase contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a specialized scientific computation with three parameters and no output schema, the description provides the core formula and main behavior, but it does not specify the output structure, error conditions, or how the sweep results are presented. Given the complexity and lack of output schema, a bit more detail would make it more self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all three parameters with descriptions, but the description adds meaningful context by naming the mass-displacement scale (separationM) as the free parameter and indicating the tool sweeps across orders of magnitude. This supplements the schema by clarifying the intended use of the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as computing Penrose's objective-reduction criterion τ = ℏ/E_G, with the mass-displacement scale exposed as a free parameter and a sensitivity sweep. It uses a formula rather than an explicit verb, which is slightly less direct, but the scope is well-defined and distinguishes it from related sibling tools like orch_decoherence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for sensitivity analysis via the sweep across four orders of magnitude, but it does not explicitly state when to prefer this over sibling tools or exclude alternatives. No direct comparison to orch_decoherence or other tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_cycleC
Read one OVOMIND affect frame, run a TCAI cycle, and pass the workspace competition through the epoch-quantised surrogate gate. Reports how many Orch OR epochs the affect frame integrated over.
| Name | Required | Description | Default |
|---|---|---|---|
| controllability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It says the tool 'run[s] a TCAI cycle' and 'pass[es] the workspace competition through the gate', implying state changes, but it only mentions reporting a count. No info on side effects, prerequisites, reversibility, or failure behavior is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It packs a lot of information into a compact format and ends with a clear statement about the report. Well-structured for the amount of content it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the operation, the absence of annotations, an output schema, and any explanation of the parameter, the description is incomplete. It does not clarify what 'epoch-quantised surrogate gate' means, prerequisites, or why this composite cycle exists versus calling sibling tools separately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'controllability', is completely unexplained in both the schema and the description. Schema coverage is 0%, and the description does not mention the parameter at all. The agent has no way to know what values to supply or the effect of the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific orchestrated action: reading an OVOMIND affect frame, running a TCAI cycle, and passing the workspace competition through a surrogate gate. This involves distinct verbs and resources, and the mention of the 'epoch-quantised surrogate gate' helps differentiate it from sibling tools like tcai_cycle or ovo_cycle. However, heavy jargon limits universal clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a composite use case but does not explicitly explain when to prefer this tool over alternatives like tcai_cycle, ovo_cycle, or orch_gate_config. No exclusion or alternative guidance is given, leaving the agent to infer usage from the action list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_decoherenceB
Decoherence time budget for a target coherence window: Tegmark (2000) vs the Hagan/Hameroff/Tuszyński (2002) correction, and the residual gap.
| Name | Required | Description | Default |
|---|---|---|---|
| requiredCoherenceS | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the computation but does not disclose whether it has side effects, requires specific conditions, or what exact output format/residual gap means. It doesn't mention error behavior or assumptions. The description adds minimal behavioral context beyond the calculation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence with no filler words. It efficiently packs the key information: the quantity (decoherence time budget), the scope (target coherence window), the models compared, and the residual gap. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one optional parameter, no output schema, and no annotations. The description gives the core purpose but lacks details about the return value, interpretation of the residual gap, or edge cases. It is minimally viable for an expert but leaves gaps for an automated agent that needs to know what to expect as output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter, requiredCoherenceS, with 0% description coverage. The description mentions 'target coherence window' which arguably maps to the parameter, providing some semantic context. However, it doesn't explicitly explain units, constraints, or how the parameter affects the calculation beyond what the schema already states (exclusiveMinimum: 0). The parameter name is self-explanatory, so the description adds limited value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a decoherence time budget for a target coherence window, comparing Tegmark (2000) with the Hagan/Hameroff/Tuszyński (2002) correction and reporting the residual gap. This is a specific, concrete function that distinguishes it from sibling tools like orch_criterion or orch_gate_config, which address different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No exclusions, no alternative tool names, no context like 'use when X'. The only hint is 'for a target coherence window', but no comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_gate_configA
Enable or configure the classical surrogate gate (epoch-quantised ignition with stochastic tie-break). The gate reproduces the Orch OR temporal signature only; it does not instantiate objective reduction.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | No | ||
| epochMs | No | ||
| ignitionFloor | No | ||
| tieBandFraction | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the mechanism (epoch-quantised, stochastic tie-break) and an important limitation (surrogate only, not real Orch OR). However, it does not mention side effects, persistence of configuration, or interaction with other system components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence front-loads the tool's action and subject, while the second adds a key caveat. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 optional parameters and no output schema, the description covers the core purpose and a key limitation but lacks information on configuration effects, validation, or return values. It is adequate for a simple config tool but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only indirectly hints at parameter roles (e.g., epochMs for 'epoch-quantised', tieBandFraction for 'stochastic tie-break'). It does not explicitly explain each parameter's meaning, default, or behavior, leaving significant ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Enable or configure') and resource ('classical surrogate gate'), and adds technical specificity ('epoch-quantised ignition with stochastic tie-break'). The caveat about not instantiating objective reduction distinguishes it from related Orch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this is the tool for enabling/configuring the surrogate gate. The statement that it does not instantiate objective reduction gives an exclusion, but no explicit alternatives are named among the many sibling tools (e.g., actual reduction tools).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_reportA
Consolidated Orch OR status: theory epistemic standing, Penrose criterion at the canonical 2×10¹⁰ tubulins, decoherence budget, and the verdict for each of the three ASTRA substrates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It lists the report's contents, which helps set expectations for the output, but does not explicitly state whether the tool is read-only, triggers any computation, or has side effects. For a status report, this is a moderate gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the key concept 'Consolidated Orch OR status' and then efficiently lists four specific report components in a structured, comma-separated manner. It avoids unnecessary verbosity, though it is slightly dense with jargon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter report tool with no output schema, the description provides a fairly complete indication of what the report contains: epistemic standing, Penrose criterion, decoherence budget, and verdicts for three substrates. It is sufficient for an agent to know what to expect, though terms like 'theory epistemic standing' could be clearer to a new agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, as shown by the empty properties in the input schema, so the description does not need to explain parameter behavior. The baseline for a zero-parameter tool is 4, and the description adds no parameter-related information, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates this is a consolidated status report for Orch OR, enumerating specific contents: theory epistemic standing, Penrose criterion, decoherence budget, and ASTRA substrate verdicts. It distinguishes from sibling tools like orch_criterion or orch_decoherence by covering multiple aspects in one report, though it lacks an explicit action verb like 'retrieves' or 'generates'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Consolidated' implies this is the summary/overview tool, suggesting use when a high-level status is needed rather than detailed per-substrate data. However, there is no explicit guidance on when to prefer this over siblings or any exclusions, so usage context is implied but not clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
orch_substrateC
Orch OR verdict for one substrate: tubulin budget, epochs elapsed per observation through ASTRA's channel, and the reasoning behind the verdict.
| Name | Required | Description | Default |
|---|---|---|---|
| substrate | Yes | ||
| neuronCount | No | ||
| channelLatencyMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the full burden of disclosing side effects and operational characteristics. It does not state whether the tool is read-only, computationally expensive, requires specific permissions, or how it interacts with ASTRA's channel beyond the output components. The description focuses on content rather than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, listing the key output components in a compact structure. While it is efficient, the sentence is somewhat dense and would benefit from a clearer subject-verb-object structure to improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the domain (Orch OR, ASTRA, multiple optional parameters) and the lack of an output schema and annotations, the description is insufficient for an agent to confidently call the tool. It does not explain the semantics of the optional parameters, the expected return format, or enough context about the 'verdict' to interpret results. The description is a minimal stub rather than a complete usage guide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must explain parameter meaning and usage. It explicitly references only 'substrate' via the phrase 'for one substrate'; the other parameters (neuronCount, channelLatencyMs) are not mentioned. The description does not clarify whether these parameters influence the verdict or how they relate to the listed output components.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies that the tool provides an 'Orch OR verdict for one substrate' and enumerates the components (tubulin budget, epochs, reasoning), which distinguishes it from sibling tools that operate on different scopes or criteria. However, it lacks an explicit verb like 'retrieves' or 'computes', and the jargon (Orch OR, ASTRA's channel) is not explained, making the purpose somewhat opaque.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for one substrate' implies that this tool is appropriate when a verdict for a specific substrate is needed, offering a context hint. However, it does not explicitly state when to use it over alternatives (e.g., orch_report, orch_criterion) or provide any exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_arm_controlA
Arm or disarm closed-loop affective actuation. Arming places a human subject inside the control loop and is refused without a protocol reference.
| Name | Required | Description | Default |
|---|---|---|---|
| arm | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry behavioral disclosures. It reveals important consequences (arming places a human in the control loop) and a refusal condition. However, it does not describe disarming effects, success/failure outcomes, or any safety or side-effect details beyond the refusal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core action front-loaded and the important consequence/precondition following. No word is wasted; it is compact and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one boolean parameter), but the description lacks several contextual details: what constitutes a 'protocol reference', how it is provided (not in the schema), what happens after successful arming/disarming, and what the return/response is. This could leave an agent uncertain about prerequisites and outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the schema only specifies a boolean named 'arm'. The description adds meaning by mapping the boolean to 'arm or disarm', which clarifies true/false semantics. It does not explicitly map boolean values to arm/disarm, but the phrase 'Arm or disarm' strongly implies it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action as 'Arm or disarm closed-loop affective actuation,' using a specific verb and resource. It distinguishes itself from siblings like ovo_set_policy or ovo_cycle by focusing on the arming state, and adds context about placing a human in the loop.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (toggling the armed state) and mentions a precondition ('refused without a protocol reference'), but it does not explicitly compare to alternatives or state when-not-to-use. No exclusion or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_cycleB
Read one affect frame and run a TCAI cycle with the human channel entering as the body specialist. The human valence is NOT routed to rewardSignal.
| Name | Required | Description | Default |
|---|---|---|---|
| actuate | No | Also compute a control command (requires an armed controller). | |
| controllability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses one important behavioral trait: the human valence is NOT routed to rewardSignal. However, it omits other behavioral details such as side effects, state changes, or prerequisites for running the cycle, leaving the agent to infer the full impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded, consisting of two sentences that state the core action and a key exception. It avoids filler but uses domain jargon without explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a non-trivial execution (running a cycle), the description is too sparse. It doesn't explain return values, side effects, or how this tool relates to sibling tools, making it incomplete for safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 'actuate' but leaves 'controllability' undescribed, and the tool description doesn't elaborate on either parameter. With only 50% schema description coverage, the description should compensate but doesn't, leaving the agent without semantic clarity on the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads one affect frame and runs a TCAI cycle, with the human channel as 'body' specialist. It adds a specific behavioral exception (valence not routed to rewardSignal), which differentiates it from generic TCAI/OVO siblings, though it doesn't name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like tcai_cycle or ovo_read. The description implies a specific use case (human affect frame processing with a routing exception) but doesn't provide exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_isomorphismA
Side-by-side comparison of the three substrates feeding the same PAD pipeline (silicon SNN, organoid MEA, human wearable), with the axes each can constrain and the caveat that blocks a naive isomorphism claim.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full transparency burden. It mentions the caveat but does not disclose whether the tool is read-only, has side effects, requires authorization, or what output format to expect. This is a significant gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, information-dense sentence that efficiently introduces the substrates, the comparison axes, and the caveat. Every clause adds value with no filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description captures the core concept of comparing three substrates and the caveat, which is substantial for a 0-parameter tool. However, it does not specify what the tool actually returns (e.g., a report, a boolean, a rating), and without an output schema, that gap matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter-specific explanation is unnecessary. The description adds conceptual context about the comparison axes and caveat, but since there are no parameters, the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a 'side-by-side comparison' of three named substrates (silicon SNN, organoid MEA, human wearable) feeding a PAD pipeline. It specifies the comparison axes and the caveat, distinguishing it from generic status or read tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The purpose implies when to use the tool—when a comparison of substrate constraints is needed—but there is no explicit 'use instead of' or exclusions. Sibling tools like orch_substrate or ovo_read could conceptually overlap, but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_readB
Poll one OVOMIND affect frame and lift it into PAD. Every axis is returned with its epistemic tier, provenance and basis string. Dominance is never estimated from the human channel.
| Name | Required | Description | Default |
|---|---|---|---|
| controllability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the responsibility of behavioral disclosure. It reveals return value details ('Every axis is returned with its epistemic tier, provenance and basis string') and a key constraint ('Dominance is never estimated from the human channel'). The verb 'poll' implies a non-mutating read. However, it doesn't disclose whether the call blocks, any prerequisites, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each provides distinct information: the action, the return details, and a behavioral caveat. There is no filler or repetition; the core purpose is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema, so the description's explanation of returned fields is valuable. However, it omits the meaning of the only parameter (controllability), provides no usage context, and does not address edge cases or call semantics (e.g., blocking, defaults). This is a significant gap for a simple tool with one parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines one parameter, 'controllability' (number 0-1), but the schema description coverage is 0% and the description does not mention this parameter at all. An agent has no way to infer what 'controllability' controls or how it affects the read. With zero schema descriptions, the description must compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Poll' with a defined resource 'OVOMIND affect frame' and states it 'lift[s] it into PAD'. It also clarifies what is returned ('Every axis is returned with its epistemic tier, provenance and basis string'). This distinguishes it from siblings like ovo_status or ovo_cycle, though it doesn't explicitly name alternative tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'Poll one OVOMIND affect frame' implies this is the tool to use when you need to read affect data in PAD format, but it does not provide explicit when/when-not conditions or mention alternative tools. No exclusions or conditional usage guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_set_policyC
Configure the Russell→PAD dominance policy and the closed-loop control policy.
| Name | Required | Description | Default |
|---|---|---|---|
| controlEnabled | No | ||
| arousalSetpoint | No | ||
| dominancePolicy | No | ||
| maxStepPerCycle | No | ||
| protocolReference | No | Consent / ethics protocol reference. Required to arm the control loop. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action 'Configure' without mentioning side effects, reversibility, authorization requirements, or whether changes take effect immediately or persist. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb and object, with no redundant or extraneous information. It is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a configuration tool with 5 optional parameters and no output schema, the description is too brief. It omits essential context such as the effect of setting these policies, whether protocolReference is required to arm the control loop, and how this tool relates to the broader OVO workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only protocolReference has a description). The description mentions the two policies but does not map them to specific parameters like dominancePolicy or controlEnabled, nor does it explain the enum values or the role of maxStepPerCycle. It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Configure' and identifies two clear targets: the Russell→PAD dominance policy and the closed-loop control policy. This differentiates it from sibling tools like ovo_status or ovo_read, though it does not explicitly mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus related tools such as ovo_arm_control or set_parameter. No prerequisites, conditions, or context are provided, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ovo_statusB
OVOMIND bridge status: adapter mode, substrate descriptor, frame counters, and the synthetic-phenomenology ethics assessment for the current configuration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists the kind of status data returned but does not state whether the operation is read-only, has side effects, or requires any setup. With no annotations provided, the description carries full responsibility for behavioral disclosure, and it falls short by not confirming it is a safe, non-mutating status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and front-loads the core concept 'OVOMIND bridge status'. It is efficient, though the dense jargon ('adapter mode', 'substrate descriptor', 'synthetic-phenomenology ethics assessment') could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain what the returned status looks like. It lists the categories of information but does not provide format, units, or examples. This is acceptable for a status tool but lacks completeness for a fully self-contained description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline for this dimension is 4. The description correctly does not add parameter-specific information since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports OVOMIND bridge status, listing specific components (adapter mode, substrate descriptor, frame counters, ethics assessment). This distinguishes it from generic status tools like get_system_status or get_metrics, though it lacks an explicit verb like 'retrieve' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description implies it is for OVOMIND-specific status, but it does not mention when not to use it or compare to sibling tools such as ovo_read or tcai_self_model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_audioB
A-JEPA Audio Encoding (Waveform → Mel → Latent)
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Audio parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the burden of behavioral disclosure. It does reveal the transformation stages (Waveform → Mel → Latent), which is useful, but it does not disclose whether audio capture is real or simulated, whether the operation has side effects, whether it requires a microphone, or what the returned latent representation looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loads the core purpose and pipeline with no filler. It is more of a title than a full explanatory sentence, but every element earns its place and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested input object, no output schema, and no annotations, the description is too thin to be fully actionable. It explains the processing pipeline but omits critical context such as expected output format, capture behavior, simulation behavior, and relationship to sibling sensor or encoding tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is well-structured with defaults, ranges, and descriptions for some parameters, so the schema carries most of the parameter semantics. The tool description does not add any explanation of how parameters like source, channels, durationMs, or sampleRate affect the encoding, but the high schema coverage keeps this at the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific operation (A-JEPA audio encoding) and a clear processing pipeline from waveform to mel to latent. It clearly marks this as the audio sensor tool among siblings such as sensor_visual and sensor_olfactory, though it does not explicitly state what the encoded latent is used for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives like sensor_fuse, sensor_process, or wm_encode. Usage is only implied by the tool name and the phrase 'Audio Encoding', with no conditions, exclusions, or references to other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_fuseD
Cross-Modal Attention Fusion
| Name | Required | Description | Default |
|---|---|---|---|
| includeAudio | No | ||
| includeVisual | No | ||
| includeOlfactory | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. 'Cross-Modal Attention Fusion' offers only a conceptual hint and does not state whether the operation is read-only, mutates state, depends on prior sensor data, or returns a result. This is insufficient for an agent to anticipate side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three words and technically concise, but it is under-specified rather than efficiently informative. It reads as a title, not as a tool description, and every necessary behavioral or semantic detail is absent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameter explanation, the description leaves almost everything unspecified. An agent cannot tell what inputs to supply for a desired behavior, what the tool returns, or what effects it has on the system. The definition is not actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions includeAudio, includeVisual, or includeOlfactory. It adds no meaning about how these booleans affect fusion, such as modality selection, weighting, or output shape. The description completely fails to compensate for the absence of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cross-Modal Attention Fusion' is a noun phrase rather than a clear verb-resource statement. It mostly restates the tool name and adds the vague qualifier 'attention,' leaving unclear what action the tool performs or what outcome it produces. It does not meaningfully distinguish sensor_fuse from sibling tools like sensor_process or sensor_visual.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use sensor_fuse versus alternatives such as sensor_process, sensor_visual, sensor_audio, or sensor_olfactory. No use case, prerequisites, or exclusions are described, so an agent cannot determine the appropriate invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_olfactoryC
Koniku Kore Olfactory Encoding (Chemoreceptor → Latent)
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Olfactory sensor parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It only states a conceptual pipeline ('Chemoreceptor → Latent'), with no mention of side effects, return value, simulation state changes, or requirements such as a running platform. This is too opaque to predict tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is good for speed, but it is under-specified rather than concise. It omits core behavioral information that a few extra sentences could safely supply, so brevity costs clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested input object, no output schema, and zero annotations, the one-phrase description leaves almost everything unknown: input semantics, output shape, and operational side effects. It is inadequate for an agent to decide whether and how to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all subparameters have explicit types, defaults, enums, and ranges, so the baseline is 3. The description adds only the general chemoreceptor→latent framing and does not explain how individual parameters affect the encoding, but compensation is not required given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific capability (olfactory encoding via Koniku Kore, chemoreceptor → latent) and therefore distinguishes itself from the visual/audio/fuse/process/status siblings. However, it is a noun-phrase title rather than a verb+resource sentence, so it does not explicitly state what action the tool performs or what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No sentence explains when to use this tool versus sibling sensor tools. It implies olfactory use through the word 'olfactory', but offers no exclusions, prerequisites, or alternative routing. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_processC
Full Multimodal Pipeline (All Modalities → Fused z)
| Name | Required | Description | Default |
|---|---|---|---|
| compounds | No | Olfactory compounds to simulate | |
| visualSource | No | Visual source (default: simulated) | |
| audioFrequency | No | Audio tone frequency for simulation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description adds no behavioral details beyond the label 'Full Multimodal Pipeline (All Modalities → Fused z)'. It does not mention side effects, state changes, whether simulation is always used, what happens to existing sensor data, or any prerequisites for calling this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse and front-loaded, using a clear arrow notation to show the transformation from inputs to fused output. No filler words are present, though the brevity leaves room for important details that are handled in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, many similarly named sibling tools, and three parameters, this description is far too sparse to be complete. An agent cannot know when to choose this tool, what invocation entails, or what the 'Fused z' output looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains each parameter. The description's reference to 'All Modalities' loosely maps to compounds, visualSource, and audioFrequency, but it does not add any detailed semantic meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a full multimodal pipeline that takes all modalities and produces a fused output 'z'. It conveys the core operation and is distinct from individual sensor tools like sensor_visual, sensor_audio, and sensor_olfactory, though it does not clearly distinguish itself from sensor_fuse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use sensor_process versus the sibling tools such as sensor_fuse, sensor_visual, or sensor_olfactory. The description implies it handles everything at once, but there are no explicit conditions, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_statusC
Multimodal Sensor Pipeline Status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. The description does not state whether the tool is read-only, whether it has side effects, what data it accesses, or what the status covers. It provides zero behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse, consisting of a four-word noun phrase. While there is no fluff, it is under-specified to the point of being unhelpful. A concise description must still contain an actionable verb and enough detail to guide invocation; this does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter status tool, the description still leaves major gaps: no indication of what the status output contains, whether this covers the entire pipeline or a subset, or how it relates to sibling tools like sensor_fuse and get_system_status. The lack of an output schema increases the need for the description to explain return values, which it fails to do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema confirms this. With no parameters to explain, the description cannot add parameter meaning, and the baseline for a zero-parameter tool is 4. The description does not harm this dimension, but it also adds nothing extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Multimodal Sensor Pipeline Status' is essentially a noun phrase restating the tool name. It lacks a verb like 'get' or 'retrieve' and does not distinguish this tool from siblings such as get_system_status, get_metrics, or sensor_fuse. It communicates a subject (multimodal sensor pipeline) but not the action or exact scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. The sibling list includes get_system_status, get_metrics, and various sensor_* tools, but the description does not mention any context, exclusions, or conditions that would help an agent pick this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sensor_visualC
V-JEPA 2 Visual Encoding (Image/Video)
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Image parameters | |
| videoFrames | No | Number of frames (>1 = video) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the model family and input modality, but does not mention whether this is a read-only computation, what side effects exist, what the output representation is, or how parameters such as simulate and videoFrames affect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and contains no filler, but it is under-specified rather than effectively concise. It is a fragment with no sentence structure and no front-loaded action or output expectation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain what the encoding returns and how the tool behaves, but it only names the model and modality. The nested input object and the image/video distinction are left entirely to the schema, so an agent cannot reliably understand the result or invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% parameter documentation coverage, including descriptions for simulate and videoFrames, so the schema carries the explanatory load. The description itself adds no additional parameter meaning beyond the image/video distinction that videoFrames already expresses.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies this as V-JEPA 2 visual encoding and mentions image/video input, which weakly distinguishes it from sensor_audio and sensor_olfactory. However, it is a noun phrase rather than a clear statement of what the tool does, and it does not specify what kind of output the encoding produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives such as sensor_process, sensor_fuse, or sensor_status. The intended context is only implied by the word 'visual,' with no exclusions, conditions, or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_parameterD
Modify State Parameter
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing side effects and expectations. "Modify" conveys mutation, but there is no information about whether changes persist, affect a running simulation, require reset, or return any confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The phrase is short, but under-specification is not conciseness. A single vague clause omits essential context while adding no distinctive content, so the structure does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and no parameter documentation, this description is far from complete. An agent cannot know which state parameter paths are valid, what value changes do, or what the result of the call is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented path and value fields. It does not: it only repeats the generic modify/parameter idea and gives no hint about path format, value range, allowed values, or units.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Modify State Parameter" essentially restates the tool name set_parameter rather than adding specific meaning. It identifies a verb and resource but does not clarify what kind of state parameter is affected, leaving the tool indistinguishable from other state-related tools like simulation_control or snn_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus siblings such as simulation_control, snn_step, or wm_train_step. There are no conditions, exclusions, or alternative tools mentioned, so an agent has no basis for routing to this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulation_controlD
Simulation Control
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description discloses no behavioral traits. It does not say whether start/stop mutate simulation state, whether status is read-only, or whether commands have side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two words, which is concise but not effectively structured. It reads as a title and provides no front-loaded information that helps an agent decide to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that controls simulation lifecycle, the description is far too incomplete. There is no output schema, no annotation coverage, and no explanation of command effects, return behavior, or failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning beyond the parameter name "command" and its enum values. The enum provides some self-documentation, but the description itself does not compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is exactly "Simulation Control", which restates the tool name. It does not state what action the tool performs, what simulation resource it affects, or what outcome the commands produce.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives like get_system_status, snn_step, snn_reset, or get_platform_status. An agent would have to infer all usage context from the command enum alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snn_resetB
Reset SNN Engine
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. 'Reset' implies a state-changing, likely destructive operation, but the description does not say whether it clears all SNN state, whether it is reversible, or whether it interrupts ongoing simulation. This is a notable gap for a reset operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise at three words and is front-loaded with no filler. However, it adds little beyond the tool name itself, so it is efficient but not richly informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool this is simple to invoke, but the absence of any note about side effects, reset scope, or relationship to the SNN lifecycle leaves the description incomplete. An agent cannot confidently determine the consequences of calling this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema already fully covers invocation needs. The baseline of 4 is appropriate; no parameter documentation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Reset SNN Engine' uses a specific verb and resource, and the action is clearly distinct from sibling tools like snn_step or get_snn_state. It is not a tautology, though it gives no detail on what 'reset' encompasses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no indication of whether it should be run before or after other operations. The description simply states the action without any contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
snn_stepC
Advance SNN Simulation
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and only says 'Advance SNN Simulation'. It does not disclose whether this mutates simulation state, is reversible, requires any precondition, or what the return/response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, front-loaded, and contains no filler words. It is appropriately compact for a simple tool, though it is too terse to convey parameter semantics or effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, the description is not complete enough: it leaves the meaning of 'steps', side effects, and the relationship to siblings unstated. An agent can take the core action but may mis-invoke the parameter or confuse it with simulation_control.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes one parameter, 'steps', with type, default, and bounds, but the description does not explain that the value is a count of simulation steps or how it affects behavior. Since schema description coverage is 0%, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action, 'Advance', applied to 'SNN Simulation', so an agent can tell this tool moves the simulation forward. It does not, however, contrast with the sibling simulation_control or snn_reset, which could also relate to simulation progress.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like simulation_control or snn_reset. There are no exclusions, prerequisites, or context hints to route the agent to the correct sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_active_inferenceA
Active-inference core telemetry (v2.9): the REAL variational free energy F (surprise), expected free energy G(π) decomposed into pragmatic + epistemic value, the realized task quality, the model entropy, and the Dirichlet-learned action. This is the principled quantity the halting criterion thresholds on — not a heuristic correlate (Da Costa et al. 2020; Legros 2026 §4.3).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It explains the conceptual meaning of the telemetry values and their principled nature, but it does not explicitly state whether the operation is read-only, if it has side effects, or if it requires specific system state. The term 'telemetry' implies a read, but operational details beyond output semantics are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the main point front-loaded ('Active-inference core telemetry') followed by a precise, colon-separated list of contents. The second sentence adds essential context (halting criterion, principled vs. heuristic) without waste. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides rich conceptual context by naming and explaining each telemetry field (F, G(π), task quality, entropy, action) and its role in halting. It stops short of specifying the exact return format, units, or data types, which would make it fully complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, so the baseline is 4 per the rubric. The description adds no parameter info because none exist, but it enriches the understanding of what the returned data means, which is useful for interpreting the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Active-inference core telemetry' and lists specific quantities (F, G, task quality, entropy, action), making the resource and scope clear. It distinguishes itself from heuristic correlates by stating it is the 'principled quantity' for halting, but lacks an explicit verb like 'get' or 'return', which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states this telemetry is what the halting criterion thresholds on, providing a clear when-to-use scenario. It also says 'not a heuristic correlate', implying it should be preferred over heuristic metrics, though it does not name specific alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_calibrateA
Calibrate the halting threshold on the measured ΔF scale instead of a guessed constant. Runs cycles warm-up cycles at the given reward, records the free-energy increments |ΔF|, and sets epsFreeEnergy to factor× their median. Returns the measured ΔF scale and the applied threshold. Addresses the v2.9 critique that the default 0.02 nats was uncalibrated.
| Name | Required | Description | Default |
|---|---|---|---|
| cycles | No | Warm-up cycles to measure ΔF (default 25) | |
| factor | No | epsFreeEnergy = factor × median|ΔF| (default 0.5) | |
| reward | No | Reward signal during warm-up (default 0.8) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the main behavior: running warm-up cycles, recording |ΔF|, computing the median, and setting epsFreeEnergy. It also states the return values. It does not mention side effects beyond setting the threshold, but this is the core effect and is clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each carrying meaningful information: purpose, mechanism, and rationale. It is front-loaded and avoids redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calibration tool with no output schema, the description provides the algorithm, the formula, the return values, and the reason for existence. It is sufficiently complete for an agent to know what will happen and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description uses the parameter names in context (e.g., 'runs cycles warm-up cycles', 'factor× their median') but does not add new semantic information beyond what the schema already provides for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action: 'Calibrate the halting threshold on the measured ΔF scale instead of a guessed constant.' This clearly states what the tool does and distinguishes it from sibling tools, which are not about threshold calibration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'instead of a guessed constant' and the reference to the 'v2.9 critique' indicate when to use this tool: when a data-driven threshold is preferred over a fixed default. It does not explicitly name alternative tools, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_capability_modelA
Agency capability model (DirectExperienceLearner port): action → expected-valence map (EMA). Query expected outcome of an action, or list the learned capability table.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action label to query expected valence for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It explains the internal model (action→expected-valence map) and the two query modes, implying a read-only operation, but it does not explicitly state side-effect freeness, output format, or error behavior. For a simple query tool, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly written sentence that front-loads the core capability and uses no filler. Every phrase contributes meaning, from the parenthetical port reference to the two-mode usage explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description adequately covers the two main use cases and the underlying semantics. It is sufficiently complete for an agent to invoke it correctly, though it does not spell out the exact return structure or edge-case handling. Given the tool's simplicity, this is a good level of completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100% for the sole 'action' parameter, but the description adds key semantic value by clarifying that omitting the action lists the entire capability table. This goes beyond the schema's description of 'Action label to query expected valence for' by explaining the optionality and fallback behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Query') and resource ('expected outcome of an action' or 'learned capability table'), and it is distinguishable from siblings like tcai_memory_retrieve or tcai_self_model by referencing the action→expected-valence map (EMA). The mention of 'DirectExperienceLearner port' adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description outlines two distinct usage modes: querying a specific action's expected valence, or listing the full capability table when no action is provided. This provides clear context for when to use the tool, though it does not explicitly name alternatives or exclusions. It is not misleading, just lacks a formal 'when not to use' statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_convergenceA
Inspect or configure the recursive double-loop halting criterion (v2.9). With no arguments, returns the current satisfaction state and active thresholds. With arguments, updates them. The loop halts only when variational free energy has settled (|ΔF| ≤ epsFreeEnergy) AND realized task quality is high (≥ minTaskQuality) AND epistemic value is low, sustained over patience cycles — stationarity alone is insufficient (Legros 2026 §2.2/§4.3).
| Name | Required | Description | Default |
|---|---|---|---|
| patience | No | Consecutive satisfied cycles required to halt (default 3) | |
| maxEpistemic | No | Halt threshold: expected info gain ≤ (default 0.1) | |
| epsFreeEnergy | No | Halt threshold: absolute |ΔF| ≤ (nats, default 0.02) | |
| relFreeEnergy | No | Halt threshold: |ΔF| ≤ rel·F, scale-free (default 0.03) | |
| minTaskQuality | No | Halt threshold: realized task quality ≥ (default 0.6) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of transparency. It discloses the dual get/set behavior, the exact multi-criteria halting condition (free energy, task quality, epistemic value, patience), and explicitly notes that stationarity alone is insufficient. This is rich behavioral context, though it omits details about persistence or effects of updates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loaded with 'Inspect or configure', immediately stating purpose. Every clause contributes meaningful information: modes, halting condition, and a qualifying note about stationarity. No wasted words or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description covers the query mode (returns state and thresholds) and the full halting logic, which is the tool's core complexity. It does not describe the exact return format, but that is a minor gap for a configuration tool with well-schemaed parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter names and defaults, so the baseline is 3. The description adds value by showing how the parameters interrelate in the halting condition (e.g., all conditions must be sustained over patience cycles), which goes beyond the individual parameter descriptions and clarifies their combined semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Inspect or configure' with a clear resource 'recursive double-loop halting criterion (v2.9)', immediately distinguishing it from sibling tools like tcai_metrics or tcai_memory_retrieve. It also clearly defines two modes of operation (no args = query, with args = update), leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains exactly when to call it: with no arguments to retrieve the current satisfaction state and thresholds, and with arguments to update them. It also states the full halting condition, giving context for when this tool would be relevant. However, it does not explicitly name alternative tools or provide exclusion criteria, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_curiosityB
Intrinsic-reward / curiosity (RNDCuriosity port): prediction error between a frozen random target and an online predictor on a representation vector. High error = novelty = exploration drive (EFE epistemic value proxy, Legros 2026 §4.1). Defaults to the current GNW broadcast.
| Name | Required | Description | Default |
|---|---|---|---|
| embedding | No | Representation vector (defaults to current broadcast) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing side effects and state changes. It explains the computation and the default broadcast source but does not state whether the tool is read-only, whether the predictor is updated, or what the return value is. This is a significant transparency gap for a tool that may have internal state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core concept, and efficiently conveys the algorithm, interpretation, and default. The use of jargon (RND, EFE, GNW) adds density but does not waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and only one optional parameter, yet the description does not explain the return format (e.g., a scalar value). It provides good conceptual context but leaves out practical details about what the agent can expect as a result, making it adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters, with the 'embedding' property described as 'Representation vector (defaults to current broadcast)'. The description reinforces the default behavior but adds no new semantic information beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as an intrinsic-reward/curiosity mechanism based on prediction error, referencing RNDCuriosity and explaining the high-error-equals-novelty relationship. It distinguishes itself from sibling tcai tools by its specific algorithm and purpose, though it lacks an explicit verb like 'computes' or 'returns'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for exploration or novelty-seeking ('exploration drive (EFE epistemic value proxy)') but does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions. The usage context is present but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_cycleA
Run one or more ACM cycles (the_consciousness_ai port): SNN signals → AKOrN binding → GNW ignition → qualia → emotion → reward shaping → emotional memory → self-model → second-order loop. Set stopWhenSatisfied to halt early once the recursive loop reaches a sustained satisfactory (converged, low-curiosity, stable) regime.
| Name | Required | Description | Default |
|---|---|---|---|
| cycles | No | Number of cycles (default 1; upper bound if stopWhenSatisfied) | |
| threat | No | ||
| novelty | No | Surprise/curiosity ∈ [0,1] | |
| setpoint | No | Continuous controller substrate setpoint to regulate toward (v2.9, default 0.3) | |
| narrative | No | Annotation for the memory record | |
| closedLoop | No | Enable closed-loop actuation (AIF action drives the substrate); default on | |
| maxEpistemic | No | Halt threshold: expected info gain ≤ (default 0.1) | |
| rewardSignal | No | Task feedback ∈ [−1,1] | |
| epsFreeEnergy | No | Halt threshold: absolute |ΔF| ≤ (nats, default 0.02) | |
| relFreeEnergy | No | Halt threshold: |ΔF| ≤ rel·F, scale-free (default 0.03) | |
| minTaskQuality | No | Halt threshold: realized task quality ≥ (default 0.6) | |
| productionLoop | No | Close the loop through the shared production SNN (read+write); default off (v2.9) | |
| controllability | No | ||
| predictionError | No | World-model surprise (raw) | |
| stopWhenSatisfied | No | Halt early when the second-order loop reports sustained satisfaction | |
| predictionConfidence | No | ||
| satisfactionPatience | No | Consecutive satisfied cycles required to halt (default 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the internal processing pipeline and the early-halting condition, which adds useful behavioral context. However, it does not explicitly state whether the cycle mutates external state (e.g., writes emotional memory or updates the self-model) or what side effects the agent should expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, then provides the pipeline flow and the key stopping parameter. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with 17 parameters and no output schema, and the description gives a good high-level explanation but does not mention what the tool returns (e.g., metrics, satisfaction state, or status). Given the schema's strong parameter coverage, the description is minimally viable but leaves output behavior unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 82%, so the baseline is 3. The description adds meaningful semantics for stopWhenSatisfied, explaining that it halts early on a sustained satisfactory regime. This goes beyond the schema's basic property description, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Run') and resource ('ACM cycles') and clearly differentiates the tool by listing the full pipeline stages (SNN signals, AKOrN binding, GNW ignition, etc.), which distinguishes it from sibling tools like tcai_second_order or orch_cycle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context for the operation and explains when to set stopWhenSatisfied, but it does not explicitly state when to prefer this tool over alternatives such as tcai_second_order or orch_cycle. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_developmentA
Longitudinal developmental tracking (DevelopmentTracker port): coarse stage (nascent→reactive→integrative→reflective) from the running composite-proxy level, stability and meta-representation score. Second-order self-monitoring over time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the output dimensions (stage, stability, meta-representation score) and the behavioral trait of 'second-order self-monitoring over time.' It does not explicitly state whether the operation is read-only or whether it modifies any state, but 'tracking' implies a non-mutating observation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, consisting of two sentences. It front-loads the core purpose and then lists specific outputs. The parenthetical 'DevelopmentTracker port' adds context but is slightly unnecessary; overall, the description is efficient and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers the essential aspects: what it does, what it produces, and its temporal nature. It does not specify return formats or units, but the low complexity makes this acceptable. The lack of sibling differentiation is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter information. The description adds context about the data source ('running composite-proxy level') and outputs, which adequately compensates for the lack of parameters. The baseline of 4 for zero-parameter tools is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: longitudinal developmental tracking with specific stage progression (nascent→reactive→integrative→reflective) and derived scores. It distinguishes itself from sibling tools by emphasizing temporal tracking and second-order self-monitoring, though it lacks an explicit verb like 'get' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through 'longitudinal' and 'over time', suggesting it is for tracking development rather than one-off queries. However, there is no explicit guidance on when to use this tool versus alternatives like tcai_second_order or tcai_meta_learning, and no exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_emotion_appraiseB
Appraise raw signals into PAD emotional space (Mehrabian) with inertia
| Name | Required | Description | Default |
|---|---|---|---|
| threat | No | ||
| novelty | No | ||
| rewardSignal | No | ||
| controllability | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits fully. It mentions 'inertia' implying statefulness or temporal dependency, but does not explain side effects, return format, or whether it modifies internal state. The absence of explicit behavioral disclosure is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed sentence with no redundant words. It front-loads the core purpose and the key behavioral nuance (inertia), making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, annotations, and parameter descriptions, this tool description is incomplete. It does not explain return values, how parameters interact, or what 'inertia' entails operationally. The agent would struggle to correctly invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining the four parameters. However, it only refers to 'raw signals' without mapping to threat, novelty, rewardSignal, or controllability. Parameter meanings are left to name inference, which is insufficient for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Appraise' and clearly states the transformation into PAD emotional space (Mehrabian), which distinguishes it from sibling tcai tools focused on memory, curiosity, or meta-cognition. The inclusion of 'with inertia' further indicates a unique temporal aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does, without specifying scenarios, prerequisites, or exclusions, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_memory_retrieveB
Retrieve memories by blended cosine similarity, PAD congruence and salience
| Name | Required | Description | Default |
|---|---|---|---|
| topK | No | ||
| arousal | No | Arousal ∈ [0,1] | |
| valence | No | Pleasure ∈ [−1,1] | |
| dominance | No | Dominance ∈ [0,1] | |
| embedding | No | Query vector (defaults to current broadcast) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears the full burden. It discloses the scoring criteria but does not explain what happens when no memories match, whether the operation is read-only, the format of returned data, or what 'blended' and 'salience' mean. 'Retrieve' implies read-only, but explicit side-effect disclosure is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb, and contains no redundant or filler words. It is appropriately concise for a retrieval operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 optional parameters, no output schema, and no annotations. The description does not mention return values, default behavior for missing parameters (only embedding has a documented default in schema), or how topK bounds results. This is insufficient for a retrieval tool where callers need to know what to expect back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80% (4 of 5 parameters have descriptions). The description adds context by linking PAD congruence to the arousal/valence/dominance parameters, but topK remains undocumented in both schema and description. The description does not add syntax or format details beyond what the schema provides, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Retrieve' with resource 'memories' and explicitly names the retrieval criteria: 'blended cosine similarity, PAD congruence and salience'. This clearly distinguishes it from sibling tools like tcai_memory_store (store) and wm_* (working memory) tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling list includes several memory-related tools (tcai_memory_store, wm_encode, wm_recall, etc.), but the description does not mention any exclusions, prerequisites, or comparison to other retrieval mechanisms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_memory_storeB
Store an experience in emotional memory (attention-gated, salience-indexed)
| Name | Required | Description | Default |
|---|---|---|---|
| arousal | No | Arousal ∈ [0,1] | |
| valence | No | Pleasure ∈ [−1,1] | |
| dominance | No | Dominance ∈ [0,1] | |
| embedding | No | Feature vector (defaults to current broadcast) | |
| narrative | Yes | Description of the experience | |
| attentionLevel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the mechanism ('attention-gated, salience-indexed'), which hints at behavioral nuances, but does not explain side effects, mutation consequences, or return values. This is marginal but not entirely absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is both concise and information-dense, front-loading the main action and adding two qualifiers. No wasteful words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is too brief to fully equip an agent. It omits what the tool returns, any prerequisites (e.g., existing memory store), and the practical effect of attention/salience settings. This is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents parameters well (83% coverage), so the description adds limited additional meaning. It ties 'attention-gated' to attentionLevel and 'emotional memory' to affective dimensions, providing some conceptual context, but doesn't explain how each parameter maps to the storage algorithm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Store') and the resource ('an experience in emotional memory'), making the tool's purpose distinct from siblings like tcai_memory_retrieve. However, it does not explicitly differentiate itself from other memory-related tools beyond the verb itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for saving experiences, with phrases like 'attention-gated' suggesting a condition for storing. It doesn't provide explicit when-to-use or when-not-to-use guidance, nor name alternative tools, but the context is reasonably clear from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_metaconsciousnessA
Meta-consciousness composite (MetaconsciousnessEvaluator port): weighted score over confidence calibration, learning awareness, self-continuity and error monitoring. PROXY of meta-representation capacity, not a measurement.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself carries the transparency burden. It discloses that the result is a proxy rather than a measurement and lists the component dimensions, which adds meaningful behavioral context. It does not mention output format or side effects, but the zero-parameter nature strongly suggests a read-only computation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the tool's identity and immediately provides the key caveat ('proxy, not measurement'). Every phrase earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers the core purpose and a critical interpretive caveat. However, it lacks return scale/format details and explicit guidance on when to use this tool versus sibling meta-cognitive evaluators, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so no parameter explanation is needed. The description adds value by explaining what the composite score is based on, exceeding the empty schema's information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a weighted score over confidence calibration, learning awareness, self-continuity, and error monitoring. The 'PROXY of meta-representation capacity, not a measurement' framing distinguishes it as an evaluator rather than a direct measurement, separating it from sibling meta-cognitive tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'not a measurement' caveat implies the tool should be used as an approximate proxy, but there is no explicit when-to-use guidance or comparison with sibling tools like tcai_second_order or tcai_meta_learning. The intended context is only weakly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_meta_learningA
Meta-learning state (MetaLearningModule port): learning velocity from RPE-variance dynamics. velocity>0 ⇒ converging; noveltySpike ⇒ novel/confusing regime. Optionally inject an RPE sample.
| Name | Required | Description | Default |
|---|---|---|---|
| rpe | No | Inject a reward-prediction-error sample ∈ [−1,1] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the meaning of velocity and noveltySpike and notes that an RPE sample can be optionally injected, which implies a side effect. However, it does not clarify the full effects of injection, whether reading is side-effect-free, or any error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, two sentences, with no filler. It packs state interpretation and optional action into a tight structure, front-loading the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does not explicitly state the return format or structure, though it hints at velocity and noveltySpike fields. It also doesn't elaborate on the consequences of injecting an RPE sample. For a somewhat complex state tool, this is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single 'rpe' parameter with a clear description. The tool description adds the word 'inject' and reinforces the sample semantics, but does not add significant new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it exposes meta-learning state, specifically learning velocity from RPE-variance dynamics, with interpretation for velocity and noveltySpike. It also mentions optional injection of an RPE sample. This goes beyond a tautology and gives a specific resource and action, though it doesn't explicitly name a verb like 'get' or 'read', it's clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful interpretation cues ('velocity>0 ⇒ converging; noveltySpike ⇒ novel/confusing regime') that implicitly tell when this state is relevant, but there is no explicit guidance on when to use this tool vs. siblings like tcai_convergence or tcai_curiosity, and no mention of exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_metricsC
Consciousness proxy report: GNW metrics, Effective Information, Φ̃-RIIU, composite score
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing behavior. It only provides a nominal label and metric list, without stating whether this is a read-only report, what side effects exist, or what the output looks like. This is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, a single fragment that efficiently lists the report type and key metrics. It is not verbose and every word adds information, though it is structurally a fragment rather than a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no parameters, so the description is the only source of information. It names the metrics but doesn't explain what 'composite score' means, how the report is presented, or how to interpret the values. This is a notable gap for a report tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is fully covered by default. There are no parameter semantics to describe, and the baseline of 4 applies because the description doesn't need to compensate for missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'Consciousness proxy report' and names specific metrics, which gives it some clarity. However, it lacks an explicit verb like 'get' or 'generate', making the action somewhat implied. It does distinguish from siblings by naming unique metrics like GNW and Φ̃-RIIU, but only partially.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as tcai_self_model or get_metrics. No usage context, when/when-not conditions, or alternative references are provided, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_resetA
Reset the TCAI consciousness system (workspace, memory, emotion, metrics)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists the affected components but does not disclose that a reset is likely destructive, irreversible, or has side effects. Since no annotations are provided, the description carries the full burden and this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and resource. It avoids redundancy and is appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic function and scope, it lacks details about the consequences of a reset, such as whether it clears all data, requires confirmation, or affects other systems. For a mutation tool with no annotations, this leaves the agent without a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is nothing for the description to add param-wise. The baseline for 0 params is 4, and the description does not omit any necessary parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Reset' and the resource 'TCAI consciousness system', listing the specific components (workspace, memory, emotion, metrics). This distinguishes it from sibling tools like tcai_cycle or tcai_workspace_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, or exclusions. It only states what the tool does, not when it should be called.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_second_orderB
Second-order (self-evidencing) loop snapshot: meta-learning velocity, RND curiosity (epistemic value), capability model, meta-consciousness score, developmental stage. The system observing and correcting its own predictive capacity (Legros 2026 §3.2).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. Calling it a 'snapshot' suggests a read-only operation, but the phrase 'observing and correcting its own predictive capacity' introduces ambiguity about potential side effects. It does not clarify whether the tool modifies state, requires permissions, or what the return format is, leaving key behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with the first sentence listing the tool's purpose and contents. The second sentence adds theoretical context that is somewhat extraneous but not bloated. Every sentence contributes to understanding, though the reference to 'Legros 2026' is jargon-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a reasonable overview of the output components and positions the tool as a meta-cognitive snapshot, which is helpful given the domain's complexity. However, it lacks details on value semantics, units, or how to interpret the combined snapshot, and it does not clearly state whether the operation is purely observational. Without an output schema, more explanatory content would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is empty and there is nothing to describe. The baseline of 4 applies, and the description correctly adds no irrelevant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a 'second-order (self-evidencing) loop snapshot' and lists the specific components it covers (meta-learning velocity, RND curiosity, capability model, meta-consciousness score, developmental stage), which distinguishes it from sibling tools that focus on individual aspects. However, it lacks an explicit verb like 'get' or 'retrieve', leaving the action somewhat implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for obtaining a combined view of self-monitoring metrics, but it does not explicitly state when to use this tool instead of individual sibling tools like tcai_metrics or tcai_self_model. No exclusions or alternative comparisons are provided, so the usage context is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_self_modelB
Self-representation state: interoception, epistemic model, temporal continuity, attention schema
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It reveals the content areas of the state but says nothing about side effects, access requirements, or whether the state is computed on demand or cached. It does not explicitly state that this is a read-only operation, which is a significant gap for a tool that likely returns a snapshot.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact phrase that front-loads the core concept ('Self-representation state') and then lists four concrete components. There is no redundancy or filler. Every word contributes to the meaning, making it appropriately concise and well-structured for a zero-parameter state query.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and no annotations, the description gives enough to infer the tool's domain but not the full picture. It fails to mention the return type or how the state is presented (e.g., JSON object, numerical values). It is minimally viable but leaves notable gaps, especially around interpreting the listed components.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly does not need to elaborate on parameter meaning. The empty input schema is consistent with the description, and no further clarification is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as exposing 'Self-representation state' with specific components (interoception, epistemic model, etc.), which gives a clear subject area. However, it lacks an explicit verb (e.g., 'get', 'retrieve', 'display'), so the exact action is implied rather than stated. It partially distinguishes from siblings by listing unique aspects, but without a verb it remains somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like tcai_second_order or tcai_workspace_state. It does not mention any exclusions, prerequisites, or typical use cases. The reader is left to infer that this is a state query, but no explicit direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tcai_workspace_stateC
Global Neuronal Workspace state: ignition, focus, qualia, sync R, unity metrics, access history
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only lists state labels and does not indicate whether this is a read-only operation, what the response format is, whether it triggers side effects, or any permissions required. The lack of behavioral context makes the tool unpredictable for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient line with no filler or unnecessary words. It is front-loaded with the main topic and then enumerates specific state aspects. The lack of a verb is a content issue, not a conciseness issue, so conciseness merits a full score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must stand alone, but it is too sparse. It names several state dimensions but does not explain their meaning, format, or interpretation. The tool appears to be a state accessor, but the description does not provide enough context for correct invocation or expectation of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so there is no obligation to document parameter meaning. The schema is empty, and the baseline for zero-parameter tools is 4. The description's list of state components likely refers to output fields, not inputs, so no additional parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase listing components ('ignition, focus, qualia, sync R, unity metrics, access history') with no verb indicating the tool's action. It doesn't explicitly state whether the tool retrieves, computes, or updates state, making the purpose ambiguous. It does list specific metric names, slightly distinguishing it from siblings, but the core action is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like tcai_metrics, get_metrics, or tcai_self_model. There are no context cues, prerequisites, or exclusions mentioned, leaving the selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_encodeB
Encode SNN State to Latent Space
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing side effects and return behavior, but it only states the intended transformation. It does not say whether the SNN state is modified, whether a latent representation is returned, or whether any prerequisites exist, which matters for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler, and every word contributes to the operation. It is compact, though arguably too short to cover behavior; that tradeoff is better scored under contextual completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotation coverage, so the description should clarify what the agent receives from the encode operation and whether the operation has side effects. It does neither, leaving an agent to guess at the meaning and return value of 'latent space' in this system.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero properties and schema description coverage is 100%, so the parameter baseline is 4. The description adds no parameter-level details, but none are needed because there are no parameters to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Encode'), a resource ('SNN State'), and a target ('Latent Space'), so it is not a tautology and reads as a distinct transformation operation compared to siblings like get_snn_state or wm_predict. However, it relies on the term 'Latent Space' without explaining what the output represents, so the purpose is clear but not fully specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this tool rather than get_snn_state, wm_predict, or the other wm_* siblings, and no exclusions or alternative conditions. The only clue is the verb 'encode', which implies a use case but leaves the decision entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_planC
CEM Planning for Optimal Spike Injection
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | Target state to plan towards | |
| horizon | No | Planning horizon (steps) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals the algorithm (CEM) and target (spike injection), but does not state whether the tool returns a plan, mutates system state, requires a running simulation, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but it is under-specified rather than efficient. It reads like a heading or tagline rather than an informative definition, and it omits essential operational context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, no annotations, and a nested goal object, this description is incomplete. An agent cannot tell what wm_plan returns, how it relates to inject_spikes, or what 'optimal' means in practical terms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the goal and horizon parameters. The description adds little semantic detail beyond the schema, but it does hint that goal-driven optimization is involved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a planning operation for spike injection using CEM, which is more specific than a mere restatement of the name. It implies a distinction from execution tools like inject_spikes, though it does not explicitly name or contrast siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use wm_plan versus alternatives such as inject_spikes, wm_predict, or snn_step. The intended invocation context must be inferred from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_predictC
Predict Next SNN State in Latent Space
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | Number of prediction steps (rollout) | |
| action | Yes | Spike injection action to condition prediction on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states a prediction outcome and gives no information about side effects, whether the action injection mutates state, determinism, or what is returned. This is a significant gap for a tool with no safety annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and free of filler, which is good. However, it is under-specified for a tool with a nested action schema, and the brevity comes at the cost of useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description leaves critical details unstated: what the tool returns, how the action conditions the prediction, and how steps affects the rollout. An agent would have to rely heavily on the schema and experimentation to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the purpose of steps, action, targetNeurons, strengths, and duration. The description adds no parameter-level meaning, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Predict') and names a concrete resource ('Next SNN State in Latent Space'), which clearly communicates the tool's core function. It does not explicitly differentiate it from siblings like wm_plan or wm_train_step, but the core purpose is still identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as wm_plan, snn_step, or wm_encode. The description provides no context, prerequisites, or exclusions to help an agent choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_statusC
World Model Status & Metrics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, and it fails to do so. It does not state whether the call is read-only, what kind of response it returns, whether it has side effects, or what 'status & metrics' actually includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only five words and technically concise, but this is under-specification rather than effective conciseness. It is a fragment rather than a complete sentence and provides no actionable information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool has no parameters and no output schema, the description is still incomplete because it does not explain what the returned status and metrics actually are, nor how this tool differs from the numerous sibling status/metrics tools. An agent cannot confidently select and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so there is no parameter documentation burden for the description to carry. The baseline of 4 for zero-parameter tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'World Model Status & Metrics' is a noun phrase that essentially restates the tool name 'wm_status'. It names a resource but lacks a verb or explicit operation, and it does not distinguish this tool from siblings like get_metrics or get_system_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many related siblings such as get_system_status, get_metrics, or get_platform_status. The description provides no context, prerequisites, or exclusions, so an agent must guess which status/metrics tool to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_surpriseC
Violation-of-Expectation Detection
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action that was applied |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only says "Detection," which weakly implies a read-like operation, but it never states side effects, internal state requirements, how the action input is applied, or what the result represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short and front-loaded, but this is under-specification rather than effective conciseness. The three-word label does not provide enough substance to earn a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a nested required parameter, no output schema, and no annotations, making rich contextual guidance essential. The description explains neither the expected behavior, the return value, nor how the action input relates to surprise detection, leaving the agent without enough information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested action object, targetNeurons, strengths, and duration are already documented in the schema. The description adds no parameter-level meaning, but it does not need to because the schema already covers the fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Violation-of-Expectation Detection" names a recognizable cognitive-science concept and implies the tool detects mismatches between predictions and observations. However, it is a noun phrase rather than a specific verb-plus-resource statement, and it does not explicitly distinguish wm_surprise from closely related siblings like wm_predict or wm_train_step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool instead of wm_predict, wm_train_step, or any other sibling. There is no mention of prerequisites, intended workflow, or exclusions, so an agent must infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wm_train_stepD
Online World Model Training Step
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action applied between observations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits, but it offers none. It does not state that this operation modifies the model, what side effects occur, whether it requires a running simulation, or what the observable consequences are. 'Training Step' vaguely implies mutation, but that is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is undeniably short, but it is under-specified rather than efficiently concise. It is essentially a title fragment that restates the tool name and provides no operational substance, so it does not earn its place as a useful description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested parameter object, no annotations, no output schema, and a family of closely related wm_* siblings, this description is completely inadequate. An agent cannot determine what the action object represents, how training is performed, what the return value is, or how this differs from wm_predict or wm_encode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the nested 'action' object's properties (targetNeurons, strengths, duration) are individually described in the schema. The tool description adds no additional parameter context, so the baseline score of 3 applies: the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Online World Model Training Step' simply restates the tool name in expanded form; it does not state a specific verb or resource. It gives some clue that this relates to training the world model, but it fails to distinguish this tool from siblings like wm_encode, wm_predict, or wm_plan in any meaningful way.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or any exclusion criteria, leaving the agent to infer usage entirely from the name and parameter schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
70 tool updates
v3.1.0- First observed
check_ethics - First observed
export_snapshot - First observed
fcs_compare - First observed
fcs_conformance - First observed
fcs_levels - First observed
fcs_lint - First observed
fcs_report - First observed
fcs_stratify - First observed
fcs_taxonomy - First observed
fcs_withdrawal - First observed
get_acm_score - First observed
get_metrics - First observed
get_platform_status - First observed
get_snn_state - First observed
get_system_status - First observed
inject_spikes - First observed
np_camera_capture - First observed
np_closed_loop - First observed
np_configure_stim - First observed
np_count_spikes - First observed
np_query_spike_count - First observed
np_query_spike_events - First observed
np_query_triggers - First observed
np_send_trigger - First observed
np_status - First observed
orch_criterion - First observed
orch_cycle - First observed
orch_decoherence - First observed
orch_gate_config - First observed
orch_report - First observed
orch_substrate - First observed
ovo_arm_control - First observed
ovo_cycle - First observed
ovo_isomorphism - First observed
ovo_read - First observed
ovo_set_policy - First observed
ovo_status - First observed
sensor_audio - First observed
sensor_fuse - First observed
sensor_olfactory - First observed
sensor_process - First observed
sensor_status - First observed
sensor_visual - First observed
set_parameter - First observed
simulation_control - First observed
snn_reset - First observed
snn_step - First observed
tcai_active_inference - First observed
tcai_calibrate - First observed
tcai_capability_model - First observed
tcai_convergence - First observed
tcai_curiosity - First observed
tcai_cycle - First observed
tcai_development - First observed
tcai_emotion_appraise - First observed
tcai_memory_retrieve - First observed
tcai_memory_store - First observed
tcai_meta_learning - First observed
tcai_metaconsciousness - First observed
tcai_metrics - First observed
tcai_reset - First observed
tcai_second_order - First observed
tcai_self_model - First observed
tcai_workspace_state - First observed
wm_encode - First observed
wm_plan - First observed
wm_predict - First observed
wm_status - First observed
wm_surprise - First observed
wm_train_step
TDQS
Scored across 70 tools
Multiple status/report tools overlap heavily (get_acm_score vs tcai_metrics vs tcai_second_order; ovo_cycle vs orch_cycle; fcs_report vs fcs_levels vs fcs_taxonomy). The domain prefixes help, but an agent selecting among the consciousness-proxy and cycle tools faces genuinely fuzzy boundaries.
The snake_case domain-prefix convention (snn_, wm_, tcai_, np_, ovo_, orch_, fcs_) is readable, but verb usage is inconsistent: get_system_status vs np_status, inject_spikes vs sensor_visual, and np_query_spike_count vs np_count_spikes. This is a mixed but navigable convention, not chaos.
Seventy tools is far beyond the 3–15 well-scoped range and above the 50+ extreme threshold. The eight subdomains would be much more coherent as separate MCP servers, and many status/report tools could be consolidated.
The core loop—sensing, SNN simulation, world-model planning, TCAI cycling, neuroplatform queries, and ethics checks—is well covered. However, lifecycle operations are uneven: snapshots can be exported but not imported, memories can be stored/retrieved but not deleted, and protocol/sensor configuration lacks full management.
Maintenance
Related MCP Connectors
NeuralBrain MCP Server - RAG, Vector Memory, LLM Routing, Agent Identity, x402 Payments
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseCqualityDmaintenanceIntegrates a bio-hybrid neuromorphic simulation pipeline with SNN, consciousness proxies, and bio-computing platform telemetry as MCP tools, resources, and prompts for AI assistants.481MIT
- AlicenseCqualityDmaintenanceExposes a bio-hybrid neuromorphic simulation pipeline (SNN, consciousness proxies, FinalSpark NeuroPlatform) as MCP tools, resources, and prompts for AI assistants like Claude, Cursor, and VS Code.49MIT
- AlicenseCqualityDmaintenanceExposes a bio-hybrid neuromorphic simulation pipeline (SNN, consciousness proxies, wetware integration) as MCP tools, resources, and prompts for AI assistants.50MIT
- AlicenseCqualityDmaintenanceExposes a bio-hybrid neuromorphic simulation pipeline (SNN LIF+STDP, consciousness proxy, bio-platform telemetry, ethics monitor) to AI assistants via MCP tools, resources, and prompts.501MIT