Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Action types

Note

Specification: draft. Implemented in part in the source build. Remaining requirements and external validation are not complete.

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL in this document are to be interpreted as described in BCP 14 (RFC 2119, RFC 8174) when, and only when, they appear in all capitals.

An action type is a dotted identifier that classifies an action. Policies refer to action types, never to host tool names.

Conventions

  • Action types use lowercase letters, digits, and dots.
  • Each top-level namespace groups related effects.
  • New namespaces go through the RFC process and produce an ADR.

Namespace fs

Filesystem effects.

Action typeMeaning
fs.readRead a file or directory entry.
fs.listList directory entries or search for matching paths.
fs.writeWrite or overwrite a file.
fs.createCreate a new file, directory, or symlink.
fs.deleteDelete a file, directory, or symlink.
fs.moveMove or rename a file or directory.
fs.chmodChange file permissions or ownership.

[AT-001] fs.read MUST cover reading a file through any host mechanism, including a file-read tool and a shell command such as cat.

[AT-002] fs.write, fs.create, fs.delete, fs.move, and fs.chmod MUST each cover the corresponding operation through any host mechanism.

Namespace shell

Effects of running a program through a shell.

Action typeMeaning
shell.execExecute a program or shell command.

[AT-003] shell.exec MUST cover any program the agent starts through a shell, a command tool, or a terminal.

Namespace network

Network effects.

Action typeMeaning
net.connectOpen a connection to a remote host.
net.fetchFetch a URL over HTTP or HTTPS.

[AT-004] net.connect MUST cover any outbound TCP or UDP connection.

[AT-005] net.fetch MUST cover any HTTP or HTTPS request.

Namespace db

Database effects.

Action typeMeaning
db.queryRun a read query against a database.
db.mutateRun a write query against a database.
db.schema_changeChange a database schema, including migrations.

[AT-006] db.query, db.mutate, and db.schema_change MUST cover the corresponding operation through any host mechanism, including SQL clients and ORM tools.

Unknown actions

[AT-007] An action that the adapter cannot classify MUST be recorded with an opaque effect rather than an invented action type.

Classifier status

shiin-classify exposes a narrow SQL classifier for simple statements and a migration classifier that marks migration contents opaque. Complex or unsupported SQL remains opaque. No host adapter invokes these functions yet, so they do not provide database interception.

Revision history

  • v1-draft.1 (2026-10-01): Initial draft.