Assistant: codex Assistant-Model: gpt-5.6-luna Assistant-Session: 01a087b0-7b1e-7531-8ef3-6525ebaf7ee7
88 lines
2.4 KiB
YAML
88 lines
2.4 KiB
YAML
fiam_version: '0.2'
|
|
instance:
|
|
id: specimen.postgresql.unix-socket
|
|
kind: specimen
|
|
title: PostgreSQL frontend/backend protocol over Unix-domain socket
|
|
status: provisional
|
|
intent: Demonstrate a database interface using a non-network local carrier.
|
|
nodes:
|
|
- id: node.app
|
|
kind: system-node
|
|
name: Application Process
|
|
node_type: fiam.node-type.process
|
|
- id: node.postgres
|
|
kind: system-node
|
|
name: PostgreSQL Server
|
|
node_type: fiam.node-type.database
|
|
ports:
|
|
- id: port.app.sql
|
|
owner: node.app
|
|
participations:
|
|
- contract: contract.postgresql
|
|
mode: requires
|
|
roles:
|
|
- fiam.role.database-client
|
|
- id: port.postgres.sql
|
|
owner: node.postgres
|
|
participations:
|
|
- contract: contract.postgresql
|
|
mode: offers
|
|
roles:
|
|
- fiam.role.database-server
|
|
contracts:
|
|
- id: contract.postgresql
|
|
kind: interface-contract
|
|
purpose:
|
|
- fiam.purpose.query
|
|
- fiam.purpose.transactional-data-access
|
|
contract_forms:
|
|
- fiam.contract-form.database-wire-protocol
|
|
endpoints:
|
|
- id: endpoint.postgres.socket
|
|
kind: endpoint
|
|
address: /var/run/postgresql/.s.PGSQL.5432
|
|
address_scheme: fiam.address-scheme.unix-socket-path
|
|
bindings:
|
|
- id: binding.postgresql.unix
|
|
contract: contract.postgresql
|
|
provider_port: port.postgres.sql
|
|
consumer_ports:
|
|
- port.app.sql
|
|
binding_profile: fiam.binding-profile.postgresql-unix-socket
|
|
communication_stack:
|
|
- role: fiam.stack-role.database-protocol
|
|
term: fiam.protocol.postgresql-frontend-backend
|
|
- role: fiam.stack-role.ipc-process-carrier
|
|
term: fiam.transport.unix-domain-socket
|
|
endpoints:
|
|
- endpoint.postgres.socket
|
|
interactions:
|
|
- id: interaction.sql-session
|
|
binding: binding.postgresql.unix
|
|
interaction_style: fiam.interaction-style.session-command-response
|
|
temporal_semantics: fiam.temporal.stateful-session
|
|
assertions:
|
|
- id: assertion.not-network
|
|
subject: binding.postgresql.unix
|
|
predicate: fiam.property.network-required
|
|
value: false
|
|
evidence:
|
|
mode: fiam.evidence.runtime-observed
|
|
source: socket path observation
|
|
confidence: 1.0
|
|
assertion_kind: property
|
|
polarity: asserted
|
|
tests:
|
|
stresses:
|
|
- database-protocol-vs-carrier
|
|
- local-ipc
|
|
- stateful-session
|
|
notes:
|
|
- Database protocol is separated from TCP/IP assumptions.
|
|
expected_properties:
|
|
- id: check.evidence
|
|
kind: all-assertions-have-evidence
|
|
- id: check.no-deprecated
|
|
kind: no-deprecated-terms
|
|
- id: check.no-legacy-representations
|
|
kind: no-legacy-representations
|