Architecture
Overview
teksi_hooks is composed of several independent layers which transform
configuration into executable runtime behaviour.
Configuration
|
v
Parsers
|
v
Models
|
v
Resolvers
|
v
Evaluators
|
v
Capabilities
|
v
Application
Hook execution builds on top of these same components.
Application
|
v
HookHandler
|
v
Hook
|
v
HookContext
|
v
Capabilities
Components
Models
Models define the framework contracts and value objects.
Examples include:
Rights definitions
Validation definitions
Findings
Object identifiers (
Oid)Capability contracts
Models are intentionally lightweight and independent of application-specific implementations.
Parsers
Parsers convert external configuration into typed model definitions.
Examples include:
RightsParser
ProviderRightsParser
WildcardRightsParser
Parsers validate structure but do not resolve inheritance, defaults or cross-references.
Resolvers
Resolvers transform parsed definitions into fully resolved runtime configurations.
Typical responsibilities include:
Inheritance resolution
Default application
Rule expansion
Cross-reference resolution
Evaluators
Evaluators apply runtime logic against resolved definitions.
Examples include:
Rights evaluation
Validation evaluation
State transition evaluation
Evaluators produce findings rather than directly modifying application state.
Capabilities
Capabilities provide services to framework components and hooks.
Examples include:
Metadata lookup
Relationship resolution
Persistence services
Application integrations
The framework depends only on capability contracts and never on concrete implementations.
HookContext
The hook context provides runtime access to:
Parameters
Logging
Capabilities
It forms the boundary between the framework and the hosting application.
Hook
A hook implements workflow logic and declares its required capabilities.
Hooks orchestrate framework functionality but should not construct services or manage infrastructure.
HookHandler
The hook handler is responsible for:
Loading hook modules
Validating hook contracts
Verifying capability requirements
Executing hooks
Managing hook lifecycle
Application
The hosting application composes the framework by:
Providing capabilities
Loading configuration
Creating hook contexts
Executing hooks
Handling persistence and integration concerns
The framework itself does not depend on any specific business domain, application, database or external service.