Imported from idenstra/messaging-runtime (
AGENTS.md). Install upstream withnpx skills add idenstra/messaging-runtime. Copyright stays with the author.
AGENTS.md
Purpose
Operational guide for contributors and agents working in messaging-runtime.
This repo owns the shared TypeScript SNS/SQS messaging runtime that consumer apps will embed into app-owned worker services.
It does not own business handlers, domain persistence, or application-specific worker behavior.
Canonical docs
Read these first and use them intentionally:
WORKFLOW.md: proof tiers, exception protocol, and handoff contractdocs/HARNESS.md: one-page harness overviewdocs/QUALITY_BAR.md: engineering standards and review triggersdocs/AI_ENGINEERING.md: AI working style for this repodocs/EXECUTION_PLANS.md: execution-plan requirements and lifecycledocs/ISSUE_TRACKING.md:issue -> plan -> PRworkflowdocs/ARCHITECTURE.md: runtime ownership and package boundariesdocs/SECURITY.md: package, credential, and publication guardrailsdocs/RELIABILITY.md: deterministic verification and runtime expectationsscripts/README.md: harness and validation script details
Scope priority
- runtime core behavior and public package surface
- SNS/SQS-specific transport helpers
- worker host/bootstrap ergonomics
- testability, determinism, and harness quality
- docs and release posture for the repository and package
Non-negotiable constraints
- Keep the repo SNS/SQS-specific. Do not broaden into Kafka, RabbitMQ, or generic broker abstractions.
- Keep a single package surface:
@idenstra/messaging-runtime. - Do not move consumer business handlers into this repo.
- Do not leak consumer- or repo-specific types into the package API.
- Keep local verification deterministic by default. Do not require live AWS for the harness gate.
- Any meaningful behavior change must update the relevant docs in the same change-set.
- Package publication posture must remain aligned with the tracked release docs and workflow guards.
Repo layout contract
src/: package source and exported runtime surfacetest/: package-level testsscripts/ci/: generic CI validatorsscripts/harness/: audit, verify, and execution-plan lifecycle toolingdocs/: harness, architecture, reliability, and workflow docs
Rules:
src/owns only shared runtime code and package-facing helpers.test/must stay consumer-agnostic.scripts/must not assume private infrastructure or sibling repos.docs/must describe the runtime itself, not internal app deployment behavior.
Quality gates before merge
- Docs-only or governance-only changes:
make audit
- Package, harness, or validator changes:
make verify-fast
- Default final gate for this repo:
make verify
Execution-plan lifecycle:
- if the PR body closes a same-repo issue, treat that PR as the closeout PR
- move the linked plan into
docs/exec-plans/completed/in the same change-set - use
make plan-close ISSUE=<number>for deliberate pre-merge closeout moves - keep
make plan-syncfor stale closed-plan cleanup after issue closure
Local style helpers:
make formatmake lint
Documentation discipline
Any meaningful change must update the relevant docs in the same change-set:
README.mdfor repo purpose and quick-start flowWORKFLOW.mdfor proof expectations- this file when repo rules change
docs/ARCHITECTURE.md,docs/SECURITY.md, ordocs/RELIABILITY.mdwhen package boundaries or verification posture changesdocs/QUALITY_BAR.mdordocs/AI_ENGINEERING.mdwhen contributor-style or AI-discipline rules change