Skip to content

Development lanes ​

Pick the row for the behavior you're changing. Area AGENTS.md files set local constraints; the architecture contract sets layer rules.

Lanes ​

ChangeOwner / guidanceRelevant verification
Workflow model, validation, execution semantics, portsEngineFocused engine tests; workflow acceptance for execution; public API check for public contracts
Run hosting, active retry, checkpoint/replay, execution cwdOrchestration, runtimeOrchestration tests and workflow acceptance
Catalogs, settings, storage, tools I/OOrchestrationFocused service/adapter tests; compatibility coverage for saved data
Provider transport, auth, streaming, mappingProvidersProvider tests; Bedrock lane for AWS changes
Tauri handlers, event bridge, bootstrapDesktopDesktop command/event coverage
UI state, interactions, DTOs, invoke wrappersUITypecheck and focused Vitest; native coverage for IPC changes
Cross-layer behaviorRuntime, testingFull gate plus desktop/Bedrock lanes when affected
Docs and agent instructions onlyDocsChanged links, anchors, paths, command syntax, examples, and diff

Async ownership: threading. Unclear terms: glossary. Routine edits don't need a full architecture review.

Skills ​

Use a skill when its guidance helps. File location alone doesn't pick the skill; editing crate docs doesn't need an implementation skill.

SkillUse when
openflow-engine-changeChanging execution semantics, validation, or port contracts
openflow-orchestration-changeChanging run hosting, persistence, or backend wiring
openflow-provider-changeChanging provider transport, auth, streaming, or mapping
openflow-ui-changeChanging UI interaction/state or desktop seam integration
rust-hexarc-organizerResolving uncertain ownership or dependency violations
openflow-finish-changeAssessing readiness or selecting missing verification
product-docs-writerExplicitly requested product documentation workflow
openflow-deploy-readyExplicit release preparation/execution; completion stops at draft Release

Verification ​

Local edits, builds, linting, and tests the task needs run without per-step approval. Use temporary persistence fixtures. Live-provider smoke can use saved credentials and incur charges, so it needs authorization.

PurposeCommand
Rust compile / lint./scripts/check-fast.sh <crate> / ./scripts/check-fast.sh --clippy <crate>
Engine./scripts/verify/test-engine.sh
Providers./scripts/verify/test-providers.sh
Orchestration./scripts/verify/test-orchestration-lib.sh
Execution acceptance./scripts/test-fast.sh --execution
Desktop./scripts/test-fast.sh --desktop
Bedrock / AWS./scripts/verify/test-providers-bedrock.sh
UI typesnpm --prefix crates/ui run typecheck
Focused UI testnpm --prefix crates/ui run test -- src/api.test.ts (replace test path)
Changed layer boundaries./scripts/check-architecture.sh
Changed engine public contract./scripts/check-engine-public-api.sh
Code PR readiness, release, cross-layer change, or requested full gate./scripts/verify.sh
Full workspace Rust only./scripts/verify.sh test

Use focused checks for local changes. Docs/instruction-only changes skip Rust/UI suites unless they affect executable examples or test/build behavior. Rerun passing coverage only after new changes, failures, or unresolved concerns.

The default full gate already runs workflow acceptance via test-fast --execution; don't add a standalone run. It excludes desktop/Tauri and Bedrock-specific coverage, so add those lanes when affected. --deep adds optional mutation testing. Testing workflows covers test placement, granular commands, and environment constraints.

Completion ​

Verify the behavior where it's consumed (code or UI), fix failures the change caused, and report checks and remaining limitations. Reuse results from checks on unchanged code. Report pending CI and blocked checks as such.

Stop at a requested review point, a decision needing user input, or an external blocker, and state the exact next action. Finishing verification doesn't authorize publication.

Released under the MIT License.