facetted-interfaces/history/FIAM_v0.2_Draft6/adversarial-cases/14-manual-family-label.yaml
tegwick 1353267569 Establish FIAM repository governance baseline
Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a087b0-7b1e-7531-8ef3-6525ebaf7ee7
2026-09-09 21:53:43 +02:00

281 lines
8 KiB
YAML

fiam_version: '0.2'
instance:
id: adversarial.manual-family-label
kind: model
title: MCP server over stdio
status: provisional
intent: Model a local agent-to-tool interface using MCP over JSON-RPC and stdio.
nodes:
- id: node.agent-host
kind: system-node
name: Agent Host
node_type: fiam.node-type.application
- id: node.mcp-server
kind: system-node
name: Local MCP Server
node_type: fiam.node-type.process
ports:
- id: port.agent.mcp-client
owner: node.agent-host
participations:
- contract: contract.mcp.tools
mode: requires
roles:
- fiam.role.client
- id: port.server.mcp
owner: node.mcp-server
participations:
- contract: contract.mcp.tools
mode: offers
roles:
- fiam.role.server
contracts:
- id: contract.mcp.tools
kind: interface-contract
purpose:
- fiam.purpose.tool-invocation
contract_forms:
- fiam.contract-form.mcp
operations:
- id: operation.mcp.tools-list
name: tools/list
interaction_style: fiam.interaction-style.rpc
- id: operation.mcp.tools-call
name: tools/call
interaction_style: fiam.interaction-style.rpc
family_labels:
- fiam.family.agent-tool-interface
- id: contract.tool.read-file
kind: interface-contract
name: read_file tool
purpose:
- fiam.purpose.tool-invocation
operations:
- id: operation.tool.read-file
name: read_file
interaction_style: fiam.interaction-style.rpc
bindings:
- id: binding.mcp.stdio
contract: contract.mcp.tools
provider_port: port.server.mcp
consumer_ports:
- port.agent.mcp-client
binding_profile: fiam.binding-profile.mcp-stdio
communication_stack:
- role: fiam.stack-role.application-protocol
term: fiam.protocol.mcp
- role: fiam.stack-role.messaging-protocol
term: fiam.protocol.json-rpc-2.0
- role: fiam.stack-role.ipc-process-carrier
term: fiam.carrier.stdio
addressing:
kind: fiam.addressing.process-spawn
value: command invocation
session_model: fiam.session.long-lived-process
channels:
- id: channel.mcp.stdio
kind: channel
channel_type: fiam.channel.bidirectional-byte-stream
mediation: fiam.mediation.direct
interactions:
- id: interaction.tools-call
operation: operation.mcp.tools-call
binding: binding.mcp.stdio
channel: channel.mcp.stdio
temporal_semantics: fiam.temporal.synchronous
participants:
initiator: node.agent-host
responder: node.mcp-server
- id: interaction.read-file
kind: interaction
operation: operation.tool.read-file
binding: binding.mcp.stdio
channel: channel.mcp.stdio
temporal_semantics: fiam.temporal.synchronous
participants:
initiator: node.agent-host
responder: node.mcp-server
realization_status: fiam.interaction-status.executed
assertions:
- id: assertion.mcp.protocol
subject: binding.mcp.stdio
predicate: fiam.property.communication-protocol
value: fiam.protocol.mcp
evidence:
mode: fiam.evidence.declared
source: MCP specification
confidence: 1.0
assertion_kind: property
polarity: asserted
- id: assertion.local-boundary
subject: binding.mcp.stdio
predicate: fiam.property.execution-boundary
value: fiam.execution-boundary.local-process
evidence:
mode: fiam.evidence.inferred
source: stdio binding semantics
confidence: 0.99
assertion_kind: property
polarity: asserted
- id: assertion.mcp.catalog-elements
assertion_kind: relation
subject: shape.mcp.tool-catalog
predicate: fiam.relation.element-shape
polarity: asserted
object_ref: shape.mcp.tool-descriptor
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
slot: tools
role: fiam.shape-role.element
- id: assertion.mcp.tools-list-produces
assertion_kind: relation
subject: operation.mcp.tools-list
predicate: fiam.relation.produces-shape
polarity: asserted
object_ref: shape.mcp.tool-catalog
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
role: fiam.shape-role.response
representation: fiam.representation.json
- id: assertion.mcp.tool-discovered
assertion_kind: relation
subject: operation.tool.read-file
predicate: fiam.relation.discovered-via
polarity: asserted
object_ref: operation.mcp.tools-list
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
- id: assertion.mcp.tool-contract-embedded
assertion_kind: relation
subject: contract.tool.read-file
predicate: fiam.relation.embedded-in
polarity: asserted
object_ref: operation.mcp.tools-call
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
slot: params.arguments
- id: assertion.read-file.accepts
assertion_kind: relation
subject: operation.tool.read-file
predicate: fiam.relation.accepts-shape
polarity: asserted
object_ref: shape.read-file.args
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
role: fiam.shape-role.request
- id: assertion.read-file.produces
assertion_kind: relation
subject: operation.tool.read-file
predicate: fiam.relation.produces-shape
polarity: asserted
object_ref: shape.read-file.result
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
role: fiam.shape-role.response
- id: assertion.read-file.actual-input
assertion_kind: relation
subject: interaction.read-file
predicate: fiam.relation.accepts-shape
polarity: asserted
object_ref: shape.read-file.args
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
role: fiam.shape-role.request
representation: fiam.representation.json
- id: assertion.read-file.actual-output
assertion_kind: relation
subject: interaction.read-file
predicate: fiam.relation.produces-shape
polarity: asserted
object_ref: shape.read-file.result
evidence:
mode: fiam.evidence.declared
source: FIAM v0.2 semantic specimen
confidence: 0.98
facets:
role: fiam.shape-role.response
representation: fiam.representation.json
- id: assertion.mcp.tools-call-accepts
assertion_kind: relation
subject: operation.mcp.tools-call
predicate: fiam.relation.accepts-shape
polarity: asserted
object_ref: shape.mcp.tool-call-request
evidence:
mode: fiam.evidence.declared
source: MCP contract fixture
confidence: 0.98
facets:
role: fiam.shape-role.request
representation: fiam.representation.json
- id: assertion.mcp.tools-call-produces
assertion_kind: relation
subject: operation.mcp.tools-call
predicate: fiam.relation.produces-shape
polarity: asserted
object_ref: shape.mcp.tool-call-result
evidence:
mode: fiam.evidence.declared
source: MCP contract fixture
confidence: 0.98
facets:
role: fiam.shape-role.response
representation: fiam.representation.json
- id: assertion.mcp.call-embeds-tool-args
assertion_kind: relation
subject: shape.mcp.tool-call-request
predicate: fiam.relation.embeds-shape
polarity: asserted
object_ref: shape.read-file.args
evidence:
mode: fiam.evidence.declared
source: MCP contract fixture
confidence: 0.98
facets:
slot: params.arguments
role: fiam.shape-role.payload
information_shapes:
- id: shape.mcp.tool-catalog
kind: information-shape
name: MCP tool catalog
shape_kind: fiam.information-shape.collection
- id: shape.mcp.tool-descriptor
kind: information-shape
name: MCP tool descriptor
shape_kind: fiam.information-shape.object
- id: shape.read-file.args
kind: information-shape
name: read_file arguments
shape_kind: fiam.information-shape.object
- id: shape.read-file.result
kind: information-shape
name: read_file result
shape_kind: fiam.information-shape.object
- id: shape.mcp.tool-call-request
kind: information-shape
name: MCP tools/call request
shape_kind: fiam.information-shape.object
- id: shape.mcp.tool-call-result
kind: information-shape
name: MCP tools/call result
shape_kind: fiam.information-shape.object