Skip to content

3. Context and Scope

The system boundary is the branded application with its embedded Rukh core and owner-selected trusted integrations. Extension publishers, distribution sources, optional organization services, agent applications and protected resources remain outside. Ordinary extension code is admitted for supervised execution; it does not become a trusted core integration merely because it is installed. The diagram presents the application as one unit; 5. Building Block View opens its internal boundaries. ADR-0001, ADR-0010

Rukh system context
Rukh system contextThe named CLI embeds Rukh and offers human commands plus optional MCP tools to an agent. Owners choose trusted extension sources and local policy or optional identity and permission services.CLI ownerNamed CLI applicationCLI userAgent or machine clientExtension authorApproved artifact sourcesExternal identity serviceExternal permission serviceProtected resourcesTrusted compositionCommands and interactionDiscover and call toolsDeclared releasesResolve and verify artifactsOptional identity integrationOptional permission integrationResource-side enforcementremainsRukh system contextThe named CLI embeds Rukh and offers human commands plus optional MCP tools to an agent. Owners choose trusted extension sources and local policy or optional identity and permission services.CLI ownerNamed CLI applicationCLI userAgent or machine clientExtension authorApproved artifact sourcesExternal identity serviceExternal permission serviceProtected resourcesTrusted compositionCommands and interactionDiscover and call toolsDeclared releasesResolve and verify artifactsOptional identity integrationOptional permission integrationResource-side enforcementremains
Components and decisions

CLI owner · CLI user · Extension author · Named CLI application · Approved artifact sources · External identity service · External permission service · Protected resources · Agent or machine client

ADR-0002 · ADR-0005 · ADR-0006 · ADR-0007 · ADR-0010 · ADR-0011 · ADR-0012 · ADR-0013 · ADR-0016

Communication partnerSupplies to the applicationReceives / retains responsibility forSource
CLI owner and delegated administratorApproved application code, trust/source configuration, command mounts and access rulesA coherent application; responsibility for the authority of those choices, not every publisher’s implementationADR-0009, ADR-0010
Extension publisherStatic command declarations, compatibility and runtime requirements, exact released artifactsIndependent publication; requested facilities do not grant the publisher core registration or user permissionsADR-0006, ADR-0007
CLI user / operatorCommand requests and input; separately authorized install, update or configuration requestsHelp, terminal interaction, results and maintenance diagnostics within the selected policyADR-0002, ADR-0007
Agent applicationDiscovery and typed tool requests through an approved host bindingTool descriptions and finalized results; responsibility for its own planning and tools outside RukhADR-0013, ADR-0014
Catalog and artifact sourcesPermitted candidate references and exact release bytesBounded discovery/retrieval requests; hosting does not confer publisher trust or execution permissionADR-0005, ADR-0007
Identity and permission authorities, when selectedVerified identity facts, access decisions and their validity evidenceRequests bound to the selected authority, subject, actor and actual action; their own identity/policy remains authoritativeADR-0005, ADR-0011, ADR-0012
Resource owner / serviceOperation replies, resource conditions and supported effect evidenceAdmitted operations under its own contract; control of resource-side permissions, effects and reconciliation supportADR-0015, ADR-0016

The operator is the person maintaining or using the local CLI. The subject is the verified principal whose rights apply, when the configuration requires identity. The actor is the separately bound person or application making the request on that subject’s behalf. Credentials used by an adapter to contact a service form another binding: they are not automatically the caller’s identity. A local configuration can have an explicit local context without inventing a verified organizational subject. ADR-0005, ADR-0009, ADR-0014

An extension’s authority-qualified package identity identifies the published package; its exact release binds a version, descriptor and payloads. A command has a stable identity within that package. Its visible CLI path is a route selected from the declared tree and owner mounts. Executable subcommands have their own command IDs; groups organize routes without a handler. An alias points to the same command and cannot change its meaning, requirements or authorization identity. Access to a parent route or group does not grant access to all child commands. Release version, command identity and route spelling answer different questions; a namespace’s spelling alone does not prove publisher trust. ADR-0002, ADR-0006, ADR-0007

The following are separate decisions about those objects, not interchangeable meanings of “available”:

DecisionWhat it establishesWhat it does not establish
DiscoveryThe caller may see a candidate under the selected catalog and visibility rulesTrust in its bytes or permission for all its commands
Release trust and compatibilityExact publisher/content bindings and declared requirements satisfy owner checksRights to install or invoke a command
InstallationComplete verified artifacts exist in the managed storeParticipation in the current command tree
ActivationOne validated configuration and command generation becomes the active profileA permanent permission grant for its users
MCP exposure and visibilityAn eligible active command is approved for the machine interface and visible to this callerPermission to execute it, or approval of a later external action
Invocation admissionThis exact call may start under its pinned context and current checksUnrestricted use of every resource the implementation can name
Protected-operation admissionThe specific operation may begin for the actual resource and applicable task limitsProof that an external effect succeeded or can be repeated

These distinctions follow ADR-0005, ADR-0007, ADR-0012, ADR-0013 and ADR-0016. They apply to local and organization-backed configurations alike.

An active profile binds an immutable owner-configuration revision to a complete command generation, including built-ins and exact extension releases. An invocation captures that binding; an update does not retarget the running call. Current checks can nevertheless prevent its later actions. The installed store, active command set and caller-visible command set therefore need not contain the same entries. ADR-0007, ADR-0010

Catalogs and access rules maintained as code are versioned configuration data under owner authority. Extension declarations are publisher data under a different authority. Review, Git hosting or KCL compilation does not by itself grant either source trust. Neither downloaded declarations nor help, logs and results can register implementation code, redefine identity or issue task authority. ADR-0006, ADR-0009, ADR-0013

External interactionSelected channel or boundarySource
Human invocationCLI arguments and standard streams; the core owns terminal presentationADR-0002
Agent invocationOptional MCP stdio; authenticated HTTP is a separate owner-selected integrationADR-0013
Catalog and release retrievalLocal catalog data and OCI, HTTPS or Git artifact bindings; verification is commonADR-0007, ADR-0009
Identity and permission integrationStandard OIDC/OAuth and AuthZEN mappings or registered custom/domain adaptersADR-0005, ADR-0011
Runtime supplyOwner-admitted integration verifies a selected existing environment or performs separately authorized preparation; the extension declares requirements, not an installerADR-0008
Resource accessOwner-registered core operations and the explicit OS boundary of the selected executorADR-0015, ADR-0016

The private extension channel is an internal execution boundary described in 7. Deployment View; it is distinct from the external MCP interface.

These are independent combinations, not mandatory maturity levels. They use the same extension and invocation model. ADR-0009

ConfigurationWho maintains the contextImplication for the boundary
Local shared toolsThe owner supplies a static catalog and explicit local policyNo organizational sign-in or remote permission service is required; protected resources and runtime preparation retain their own grants
Catalog and access rules in a repositoryAuthorized maintainers publish reviewed, versioned data; verified identity is added if rules target individualsRepository membership or a name in a group file is not itself authentication; approved configuration authority remains required
Organization integrationsThe owner connects existing identity, catalog and permission facilities independentlyA required service failure cannot switch the configuration to permissive local rules
Approved agent useThe owner enables MCP and a bounded task preset alongside any suitable configuration aboveA local stdio host needs no extra service; HTTP hosting and stronger execution restrictions require their separately supported integrations

MCP is a different caller interface, not a new publisher or a different source of command implementations. The initial path is noninteractive and uses owned foreground invocations; a longer-lived host does not imply background extension jobs. ADR-0004, ADR-0013

Rukh does not replace the organization’s identity directory, permission database, resource-side enforcement or the agent’s planner. Security Broker names the integration boundary, not a mandatory server. Ordinary loading retrieves verified published artifacts rather than building arbitrary source repositories. ADR-0005, ADR-0007

The core owns command admission and lifecycle, not every business effect a trusted program can perform directly. A host-trusted process retains its OS account’s authority. Required confinement and controlled effects cover only their supported enforcement and registered-operation boundaries; neither a trusted publisher nor the MCP interface expands those guarantees. ADR-0015, ADR-0016

Diagram

Drag to move · + / − to zoom · 0 to fit · Esc to closeDrag to move and pinch to zoom

100%