Docs/Guides
Source guide3 min read

Compose features with explicit dependencies

Connect capabilities, operations and provider ports without hiding what a feature needs to execute.

Download Markdown ↓
Source and verification context ⌄

Source-guided

Inspect the source ↗

Repository links may require access. Source inspection is separate from a clean public-package installation.

AN INTERACTIVE READING MAP

Get the shape of this guide.

Move through the ideas, inspect their relationships, or make a focused reading path. The complete guide stays below.

READING SEQUENCEUnderstand how the ideas connect
Choose a point to look closer
01 / Guide section

Treat a feature as a set of declared dependencies

A larger feature often combines operations, policy decisions, UI surfaces and external services. Feature Hubs provide a way to make those relationships inspectable rather than burying them in application startup code.

Read the supporting context

Begin with the capability you need and list its operation references and required ports. Choose only the composition your product uses; a catalogue entry is not a reason to install the entire ecosystem.

Explore a section, then continue with the complete article below.

1 / 4

Treat a feature as a set of declared dependencies

A larger feature often combines operations, policy decisions, UI surfaces and external services. Feature Hubs provide a way to make those relationships inspectable rather than burying them in application startup code.

Begin with the capability you need and list its operation references and required ports. Choose only the composition your product uses; a catalogue entry is not a reason to install the entire ecosystem.

Follow the effect gate

The inspected effect invoker first requires an active installation. It checks that the capability declares the operation and port, that a policy is bound to that operation, and that the actor has the required capability.

It then resolves the port and evaluates the policy. Where policy obligations exist, the host must fulfill them and provide evidence before the effect callback runs.

Missing conditionExpected boundaryWhat to inspect
Declared capability or operationInvocation is rejectedInstalled manifest and versioned refs
Provider portInvocation cannot proceedHost port bindings
Allowed policy decisionEffect remains deniedPolicy input and evaluator
Obligation evidenceEffect remains deniedHost fulfillment and durable evidence
A reusable piece comes with a set of relationships.Trace the mechanism · 3 ways to look closer

A communication capability might need an operation, a provider port and a policy binding. Explore what happens when one piece is missing.

What is ready in the composition?
A CONCRETE SITUATION

You can inspect the promise before enabling an effect.

The capability is described, but no active installation or provider has been selected.

01 / Declare

Name the operations, capabilities and required ports.

What changes

The product can discover the capability and its requirements.

What stays explicit

A declaration alone does not send a message or initialize a provider.

FOLLOW THE CONSEQUENCE

Use the dependency map to choose what to bind. Do not treat catalogue presence as runtime readiness.

Where this explanation comes from

An authored situation, grounded in the linked source guides. Choosing a case explores its expected responsibilities; it does not execute an operation.

Bind providers at the host

A port is the place where your concrete implementation enters the composition. It might represent storage, a queue, a provider client or another application service. Keep its lifecycle and credentials in the host.

Provider replacement is therefore an integration task: the new implementation must satisfy the expected behavior, not merely share a method name. Test the failure and recovery paths that the feature depends on.

Qualify the composition you actually deploy

Start with deterministic fixture ports and verify the declared dependencies and denial behavior. Then qualify the selected providers in the intended environment. Record what was fixture-backed and what was exercised against a real service.

A local all-in-one example demonstrates composition. It does not by itself establish that every provider, tenant configuration or production deployment has been verified.

See it in an example.

Composition / Advanced

Compose nine feature hubs

Compose an application

Inspect one application composition with matching semantic routes for web and native.

  1. Read the composition fixture
  2. Compare semantic routes
  3. Inspect the hybrid override

Source demonstratesThe source fixture composes all nine hubs.

Does not demonstrateThat inert adapters connect to live providers.

Inspect the walkthroughBehavior · proof and limits · source checks

Follow the source behavior

A reference application composes Integration, Agent System, Agent Network, Workflow, Auth User, Auth Admin, Communication, CompanyOS, and Social Media hubs with deterministic adapters. It compares web and native route projections and applies an integration settings override.

  1. Read the composition fixture

    The fixture supplies the hubs' required ports with inert deterministic adapters. This makes the composition inspectable without provider credentials.

  2. Compare semantic routes

    The test expects nine hub keys and equal semantic, web, and native route ID lists.

  3. Inspect the hybrid override

    The reference imports a granular Integration Hub view model and uses a hybrid route/component override with the /settings/apps alias.

  4. Plan host qualification

    The result remains candidate. Replace fixture ports with your own integrations and qualify the deployed topology, including storage, queues, scheduling, recovery, and authorization.

What this example establishes
Source demonstrates
  • The source fixture composes all nine hubs.
  • The inspected test asserts semantic route parity between web and native projections.
  • The reference explicitly retains candidate readiness.
Does not demonstrate
  • That inert adapters connect to live providers.
  • That matching route IDs prove feature parity in every renderer.
  • Production qualification for a specific deployment.
Reproduce the source checks

The fixture produces composition evidence, route parity, /settings/apps, and candidate readiness.

Working directory examples/feature-hub-composition

bun run example
bun test src/run.test.ts

Commands and tests inspected; not executed here.

Continue from here.

Guides

Bind external services deliberately

3 min read

Keep a feature's requirements separate from credentials, tenant connections and provider behavior.

Look inside the guideOpening context · complete reading path

Separate requirement, connection and binding

An application can describe the capability it needs without embedding a provider account in its contract. The integration model distinguishes a service definition, a tenant's configured connection and the application binding that selects a connection for a named slot.

Work through the guide
Guides

Build interfaces around roles and intent

3 min read

Resolve appropriate surfaces for people and agents while keeping authority on the execution side.

Look inside the guideOpening context · complete reading path

Start with the task, actor and context

A reviewer, an operator and an agent may work on the same workflow while needing different information and actions. Model that difference explicitly instead of copying the entire workflow into unrelated screens.

Work through the guide
Operations

Test the promise at the boundary

3 min read

Choose checks that establish meaningful behavior, including denied effects and real consumer imports.

Look inside the guideOpening context · complete reading path

Give each test one question

An operation has several boundaries, and one green check cannot answer every question about them. Separate declaration validity, business behavior, adapter behavior and external consumption so failures tell you where to look.

Work through the guide
Next: Generation and drift: what changes, what does not →
Your view

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Your context

The different parts of you

Choose a starting point

A useful mix of context, visuals and gentle guidance.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Reading comfort

Choose your language

Interface language changes text only. Markets, prices and workflows keep their own settings.

Translation coverage

Original source

Navigation151
Graph616
Categories378
Portfolio833
Examples2,035
Source preview1,542

More translations will be added as content is reviewed.

This preference is saved on this browser.

Search the website

Useful starting points

No results. Try a shorter phrase, an operation name or another search area.

A LITTLE ROOM TO EXPLORE

Find something to explore.

Open a closer look on this page, try a different perspective, or follow the detail into its own page.

How previews and controls work
01

Look before you leave

Hover a link or focus it with Tab to see a preview. Clicking the original link or pressing Enter always opens its destination.

02

Stay with the context

Move into the preview to explore its sections. Use Alt + ↓ from a focused link to enter it with the keyboard. Escape closes it.

03

Open the possibilities

Disclosure rows, perspective choices and highlighted controls reveal more. Your view changes reading comfort and the context you explore.

A separate button for a closer look

Show small preview buttons beside links where there is room. Tap the eye to inspect, or tap the link to go straight there. This choice stays in this tab.

No browsing history is collected. Reduced motion follows your device and Your view.