Skip to content

Functional Requirements

Document ID: PRD-004
File Path: docs/01-product/functional-requirements.md
Version: 1.0.0
Status: Draft
Owner: Product Team
Last Updated: 2026-06-27


This document enumerates the functional requirements (FRs) for the Wovyr AI Platform — what the system must do. FRs are derived from the PRD and user stories, and each points to the spec that realizes it.


FR-<area>-<n> · Priority: MUST | SHOULD | MAY · Spec: <link>

IDRequirementPriSpec
FR-AGT-1Define agents declaratively (model, instructions, tools, memory, policies)MUSTagent-definition
FR-AGT-2Execute an agent against a goal/inputMUSTagent-runtime-protocol
FR-AGT-3Stream run progress (planner, tools, model, memory)MUSTAgents API §6
FR-AGT-4Maintain multi-turn sessionsSHOULDAgents API §7
FR-AGT-5Version and publish agentsMUSTAgents API §8

IDRequirementPriSpec
FR-WF-1Author workflows in a DSL (YAML/JSON/visual/SDK)MUSTworkflow-dsl
FR-WF-2Execute durably with checkpoint/resumeMUSTcheckpointing
FR-WF-3Support human-approval tasksMUSTWorkflows API §8
FR-WF-4Support retries and compensation (saga)MUSTretry / compensation
FR-WF-5Branching, parallelism, loops, sub-workflowsMUSTworkflow-dsl
FR-WF-6Event/timer-driven executionSHOULDWorkflows API §7

IDRequirementPriSpec
FR-MEM-1Store/version/retrieve memory recordsMUSTmemory-api
FR-MEM-2Hybrid (vector+keyword+graph) retrieval with rankingMUSTretrieval / ranking
FR-MEM-3Scope and access-control memory per tenant/projectMUSTmemory scopes
FR-MEM-4Compress retrieved context to a token budgetSHOULDcompression

IDRequirementPriSpec
FR-LLM-1Provider-neutral inference (chat/embeddings/etc.)MUSTprovider-api
FR-LLM-2Routing, failover, resilienceMUSTrouting / resilience
FR-LLM-3Token accounting, budgets, cost eventsMUSTtoken-management
FR-LLM-4Response cachingSHOULDcaching

IDRequirementPriSpec
FR-TOOL-1Execute tools in isolated sandboxes with limitsMUSTtool-runtime
FR-TOOL-2Discover/register/version toolsMUSTtool-framework
FR-TOOL-3Enforce per-tool permissions and egress controlMUSTsecurity-isolation
FR-TOOL-4Provide a built-in tool catalog (fs/shell/http/git/db/…)SHOULDtool catalog

IDRequirementPriSpec
FR-PLG-1Author/package/sign pluginsMUSTplugin-api / distribution
FR-PLG-2Install/version/upgrade plugins at runtimeMUSTversioning
FR-PLG-3Declare and grant least-privilege permissionsMUSTpermissions
FR-PLG-4Marketplace discovery + governanceSHOULDmarketplace

IDRequirementPriSpec
FR-API-1REST + gRPC management API (/v1)MUSTAPI overview
FR-SEC-1AuthN (OAuth2/JWT/API key/mTLS)MUSTauthentication
FR-SEC-2AuthZ via RBAC + ABAC, fail-closedMUSTauthorization
FR-SEC-3Encryption in transit & at rest; secret vaultMUSTencryption / secrets
FR-SEC-4Tamper-evident audit of sensitive actionsMUSTaudit
FR-ADM-1Manage orgs/projects/users/quotasMUSTprojects / users

IDRequirementPriSpec
FR-UI-1Web dashboard for build/operate/monitorMUSTdashboard
FR-DX-1CLI with API parity + local modeMUSTCLI
FR-DX-2Rust SDK + scaffoldingSHOULDbuild-system §6
FR-OBS-1Logs, metrics, traces, dashboards, alertsMUSTobservability

Each FR links to user stories and is validated by acceptance criteria and tests, per PRD §23.



VersionDateDescription
1.0.02026-06-27Initial Functional Requirements