Concept family 04 · infrastructure behavior
Open Mercato Runtime Services and Provider Boundaries
Search, cache, queues, schedules, webhooks, and storage are distinct runtime services. Some are always local-capable, while full-text, vector, distributed queue, Redis cache, or provider storage require separate infrastructure and configuration. Their abstractions support substitution but do not assign monitoring, retry, backup, credential, or recovery ownership.
Pluggability is a substitution mechanism, not an availability or disaster-recovery guarantee.
Source snapshot:
ae856df1ecfc · ARCHITECTURE.md sections: 17, 18, 19, 20
Direct answer
Position in the system
This family sits below modules and events, where application work becomes cache entries, search documents, queued jobs, schedules, outbound calls, inbound adapters, or stored objects.
Runtime service responsibilities
Read acceleration, asynchronous work, recurring work, external delivery, and object durability are separate contracts with separate owners.
SearchService coordinates registered token, full-text, and vector strategies and filters unavailable strategies at runtime.
infrastructure-package
→CacheService is a strategy-backed abstraction; tenant-safe keying and invalidation remain application responsibilities.
infrastructure-package
→Queue strategy resolves to local or asynchronous delivery; retried workers must be idempotent and process restarts are part of operations.
infrastructure-package
→Recurring schedules, signed webhooks, and object storage use separate services or provider packages with their own failure and credential boundaries.
infrastructure-package
One external integration cycle
The trace separates system-of-record decisions from adapter verification, asynchronous execution, and reconciliation.
The implementation defines which system owns each identifier and state transition.
documented-conventionprovider-addon
A provider adapter or route verifies the external contract and credentials.
product-factprovider-addon
Queues or schedules isolate retryable and recurring work.
product-factprovider-addon
Acknowledgement, deduplication, reconciliation, and outage recovery remain implementation obligations.
documented-conventionprovider-addon
Service choice and operating consequence
| Mechanism | Editorial implication | Limitation | Decision owner |
|---|---|---|---|
| SearchService coordinates registered token, full-text, and vector strategies and filters unavailable strategies at runtime. | Treat it as an “infrastructure-package” contract and confirm project-specific fit separately. | The surface is optional or separately configured and must not be read as universally enabled. | Platform operator and integration owner |
| CacheService is a strategy-backed abstraction; tenant-safe keying and invalidation remain application responsibilities. | Treat it as an “infrastructure-package” contract and confirm project-specific fit separately. | The mechanism does not prove performance, security, availability, compliance, or production readiness for a particular deployment. | Platform operator and integration owner |
| Queue strategy resolves to local or asynchronous delivery; retried workers must be idempotent and process restarts are part of operations. | Treat it as an “infrastructure-package” contract and confirm project-specific fit separately. | The surface is optional or separately configured and must not be read as universally enabled. | Platform operator and integration owner |
| Recurring schedules, signed webhooks, and object storage use separate services or provider packages with their own failure and credential boundaries. | Treat it as an “infrastructure-package” contract and confirm project-specific fit separately. | The surface is optional or separately configured and must not be read as universally enabled. | Platform operator and integration owner |
Footguns and failure modes
Queue strategy resolves to local or asynchronous delivery; retried workers must be idempotent and process restarts are part of operations.
The surface is optional or separately configured and must not be read as universally enabled.
Inspect pinned sourceRecurring schedules, signed webhooks, and object storage use separate services or provider packages with their own failure and credential boundaries.
The surface is optional or separately configured and must not be read as universally enabled.
Inspect pinned sourceSources and method · 8 evidence records
Every fact, node, connector, and flow step has a stable ID, claim class, source locator, scope, limitation, and pinned revision. A local verifier checks every file and locator and ensures sections 1–33 are covered exactly once.
SearchService coordinates registered token, full-text, and vector strategies and filters unavailable strategies at runtime.
- ID
section-17-search- Class
- product-fact
- Scope
- infrastructure-package
- Source
- packages/search/src/service.ts ·
export class SearchService
CacheService is a strategy-backed abstraction; tenant-safe keying and invalidation remain application responsibilities.
- ID
section-18-cache- Class
- product-fact
- Scope
- infrastructure-package
- Source
- packages/cache/src/service.ts ·
export class CacheService
Queue strategy resolves to local or asynchronous delivery; retried workers must be idempotent and process restarts are part of operations.
- ID
section-19-queue- Class
- product-fact
- Scope
- infrastructure-package
- Source
- packages/queue/src/factory.ts ·
export function resolveQueueStrategy
Recurring schedules, signed webhooks, and object storage use separate services or provider packages with their own failure and credential boundaries.
- ID
section-20-runtime-providers- Class
- product-fact
- Scope
- infrastructure-package
- Source
- packages/scheduler/src/modules/scheduler/services/schedulerService.ts ·
export class SchedulerService
The implementation defines which system owns each identifier and state transition.
- ID
flow-integration-authority- Class
- documented-convention
- Scope
- provider-addon
- Source
- ARCHITECTURE.md ·
### Webhooks
A provider adapter or route verifies the external contract and credentials.
- ID
flow-integration-adapter- Class
- product-fact
- Scope
- provider-addon
- Source
- packages/webhooks/src/modules/webhooks/lib/adapter-registry.ts ·
export interface WebhookEndpointAdapter
Queues or schedules isolate retryable and recurring work.
- ID
flow-integration-async- Class
- product-fact
- Scope
- provider-addon
- Source
- packages/scheduler/src/modules/scheduler/services/schedulerService.ts ·
export class SchedulerService
Acknowledgement, deduplication, reconciliation, and outage recovery remain implementation obligations.
- ID
flow-integration-reconcile- Class
- documented-convention
- Scope
- provider-addon
- Source
- ARCHITECTURE.md ·
Workers and subscribers MUST be idempotent.