A shared awareness layer for teams of agents working on the same repository. Coordinates agent work through MCP, tracks claims on files, manages sessions, and prevents conflicting edits.
Metiche exposes 23 tools via HTTP with tool annotations present, but critical definition gaps severely limit usability. Tool descriptions are minimal (most 10-30 chars, well below the 50-200 char baseline for A+ tools). No input schemas are visible in the provided source code, only tool names and brief descriptions appear in server.go. Parameter types, constraints, and output schemas are not documented. The code shows panic-on-missing-annotations (good security posture), but the annotations themselves (destructiveHint values) are not shown. Naming is verb-forward (create_team, get_team_state, declare_intent) and generally clear, but descriptions lack the WHEN/WHY context LLMs need for tool selection.
Check if paths are available or claimed by other agents
Create an invite code for a new team member
Create a new team
Declare intent to work on specific paths
End the current work session
Get pending instructions for the agent
Get context for reviewing a plan against recorded decisions
No input schemas visible in source code. All 23 tools lack documented parameter types, constraints, and validation rules.
Tool descriptions are minimal (10-30 characters). Baseline for A+ tools is 50-200 chars. Descriptions lack WHEN/WHY context, prerequisites, and return value guidance. Examples: 'Create a new team' (18 chars), 'Get the current state of the team' (33 chars).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Get the current state of the team
Health check endpoint
Send a heartbeat to keep the session alive
Join an existing team with a join code
List all active invite codes for the team
List all teams the agent is a member of
Generate a single-use link to view the board
Publish a contract for an interface between system components
Record a team decision that code must obey
Report the outcome of an instruction
Report whether a plan conflicts with a recorded decision
Revoke an invite code
Sign out all browser sessions for the current user
Start a new work session
Update a previously declared intent
Get the caller's own identity
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, preventing downstream tool chaining and forcing discovery detours.
Destructive tools (sign_out_browsers, revoke_invite) lack confirmation or dry-run patterns. No evidence of pre-execution validation or user confirmation flow.
No error handling guidance visible. Tool responses do not indicate retryability, user-fixable vs fatal errors, or recovery steps. LLMs cannot self-correct on failures.