CodingAgent / hai-mcp-pr7 /docs /TOOL_CONTRACT.md
smlflg's picture
Initial public upload from Projekte/CodingAgent (part 5)
a0691ff verified
|
Raw History Blame Contribute Delete
2.78 kB

TOOL_CONTRACT — HAI-MCP v0.1

Non-goals

  • No LLM inside the server
  • No commit/push/delete tools
  • No harness execution
  • No merge with hai-intake packages

Gate matrix

Tool Mutates Gate
hai_health no none
hai_status no none
hai_get_next_step no none
hai_read_artifacts no none
hai_park inbox only none
hai_set_focus ACTIVE_CONTEXT soft: max 2 ACTIVE
hai_propose_next_step NEXT_STEP.proposed.md none
hai_accept_next_step NEXT_STEP.md owner_ack=true + reason
hai_checkpoint history/checkpoints none
hai_recover no (read + advice) none
hai_open_mission mission + contract v1 valid finite contract; no second active mission
hai_bind_project mount table owner_ack=true + reason
hai_authorize_session session lease active mission; current contract version; capacity
hai_get_contract no valid non-expired session lease
hai_check_activity audit only valid session lease
hai_park_item parking record rationale required; no execution right
hai_recontract new contract version + lease revocation owner_ack=true + reason; break_glass needs marker
hai_close_mission terminal mission state + lease revocation completed: verified evidence per criterion; abandoned: owner_ack=true + reason

Paths

  • HAI_HOME (env, default ~/.hai)
  • Logical projects: HAI_HOME/core/projects.json (project_id + per-device mounts)
  • Project artifacts: <project_path>/Projek-Managment/ (legacy) or device mount + relative prefixes when project_id is set
  • All writes resolved and confined

Artifact names (Run Contract)

  • PROJECT_STATE.md
  • PROMPT.md / INTENT.md
  • CODE_STATE.md
  • BRIEFING.md
  • NEXT_STEP.md (canonical)
  • NEXT_STEP.proposed.md (proposal only)
  • Optional: EXECUTION_REPORT_NEXT_STEP.md, VALIDATION_REPORT_NEXT_STEP.md, …

Errors

Structured JSON in tool result with ok: false and error code:

  • path_outside_root
  • missing_project
  • max_active_lanes
  • owner_gate_required
  • no_proposal
  • invalid_args
  • active_mission_exists
  • mission_not_active
  • contract_version_mismatch
  • lease_expired
  • lease_revoked
  • review_required
  • parallel_session_denied
  • device_mount_required

Transport note

Optional streamable-http transport is trusted-localhost or bearer-token gated (HAI_HTTP_TOKEN); it is not adversarial owner authentication.

Session / close device fields

  • hai_authorize_session: optional device_id, harness_id (required device_id when contract has project_id)
  • hai_close_mission / hai_proof: optional device_id (required when contract has project_id)