VEYNDO
Handbook
src/capabilities/AGENTS.mdView source ↗

English source · 2 min

src/capabilities ownership

Root AGENTS.md also applies. Rules below were moved from the root, not weakened.

Operation registry and business-capability continuity

Read docs/platform-hardening.md and docs/business-capabilities.md before expanding agent execution or app architecture. capabilities/registry.rs binds native schemas, boxed domain routing, discovery and safe read-agent exposure; transports do not own second name/schema/visibility lists. ToolContract describes native and app tools; metadata never grants rights. Domain object/PII/CAS/business checks stay authoritative. An app output-contract failure may follow a real external effect: preserve its non-retryable/uncertain boundary, never automatically re-run it as harmless validation.

Outbox dispatch scheduling metadata is operational, forced-RLS and never a release unit. Lock scheduling rows rather than tenant roots, preserve per-event savepoints and exact original outbox consumers. A fair tenant batch is not independent subscriber checkpointing. The remaining system-role/cookie/CSP issues in the tracker are not repaired merely by safer identifier quoting or successful ordinary isolation tests.

Extend the canonical Manifest for complete business capabilities; reuse existing data, decisions, history, staged publication, Flows and central inference. No second app ledger, source-copy installation, queue, CMS, pricing owner or private Storyfront implementation. Choose the weakest actually supported runtime and keep unsupported hosting/ABI/canary/replay capabilities explicit. New operation extension points may narrow decisions but never replace core authorization or financial invariants.

Manifest.capability version 1 owns localized intent, assumptions and frozen pure commerce examples. apps/business_capability converts synthetic fixtures to the existing WIT snapshots; commerce_hooks::verify_package uses the same sandbox as checkout. Run it before immutable developer save and native installation. Never replace expected outputs from model guesses to make a case pass, claim empty cases verify behavior, or export customer history/secrets as package fixtures. Existing AI edits retain the contract; explicit new versions remain reviewable. Business code stays in its app package. These cases are not whole-app proof or human-confirmation provenance; keep the remaining business-capability gates open.