Skip to content

RFC-0007: Intent Portfolios v1.0#

Status: Proposed
Created: 2026-02-01
Authors: OpenIntent Contributors
Requires: RFC-0001 (Intents), RFC-0004 (Governance)


Abstract#

This RFC formalizes Intent Portfolios as organizational containers for multi-intent coordination. While RFC-0004 introduced the basic portfolio concept, this RFC clarifies the portfolio's role as an organizational boundary with no execution semantics — distinct from Plans (RFC-0012) which handle execution strategy.

Motivation#

As the protocol evolved, the relationship between Portfolios, Intent Graphs, and Plans needed clarification:

  • Portfolios group related intents for visibility and shared governance
  • Intent Graphs (RFC-0002) express structural dependencies between intents
  • Plans (RFC-0012) define execution strategy with conditionals, checkpoints, and rollback

A portfolio is analogous to a project folder — it organizes work but doesn't dictate how work is executed.

Clarified Semantics#

What Portfolios Do#

  • Group related intents under a single namespace
  • Provide aggregate status across all member intents
  • Apply shared governance policies (budgets, deadlines, constraints)
  • Enable portfolio-level subscriptions (RFC-0006)
  • Scope coordinator leases (RFC-0013) to a set of related intents

What Portfolios Do NOT Do#

  • Define execution order (that's Intent Graphs / Plans)
  • Manage task decomposition (that's RFC-0012)
  • Control agent assignment (that's leasing, RFC-0003)

Portfolio as Namespace#

Portfolios serve as namespaces for organizing work:

{
  "id": "portfolio_01HABC",
  "name": "Q1 Product Launch",
  "namespace": "product-launch-q1",
  "intents": [
    { "intent_id": "intent_01", "role": "primary" },
    { "intent_id": "intent_02", "role": "member" },
    { "intent_id": "intent_03", "role": "member" }
  ],
  "governance": {
    "budget_limit_cents": 100000,
    "deadline": "2026-03-31T00:00:00Z",
    "require_all_completed": true
  }
}

Cross-RFC Interactions#

RFC Interaction
RFC-0001 (Intents) Portfolios contain intents
RFC-0002 (Graphs) Intents within a portfolio can form graphs
RFC-0006 (Subscriptions) Subscribe to all events within a portfolio
RFC-0009 (Costs) Aggregate cost tracking across portfolio intents
RFC-0012 (Planning) Plans can scope to portfolio intents
RFC-0013 (Coordinators) Coordinator lease can scope to a portfolio

Endpoints#

Method Path Description
POST /v1/portfolios Create a new portfolio
GET /v1/portfolios List portfolios
GET /v1/portfolios/{id} Get portfolio with aggregate status
PATCH /v1/portfolios/{id} Update portfolio metadata
POST /v1/portfolios/{id}/intents Add intent to portfolio
DELETE /v1/portfolios/{id}/intents/{intentId} Remove intent
GET /v1/portfolios/{id}/costs Aggregate costs across portfolio