frontend-patterns/research/candidates/IndependentFeatureBoundary.md
tegwick b8eec87f08 Distinguish feature organization from independent release boundaries
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
2026-09-26 23:06:16 +02:00

2.7 KiB
Raw Blame History

title status maturity families scales admission
Independent Feature Boundary draft hypothesis
composition
execution
L1
L4
research-candidate-only

Independent Feature Boundary

Context: a cohesive frontend capability needs a release cadence different from its host or neighboring capabilities. Delivery autonomy competes with integration cost, shared experience and runtime dependency management.

Proposed solution: define the capability's public composition contract and package it as a separately releasable unit with an explicit activation mechanism. State supported host/API/dependency versions, lifecycle and cleanup behavior, route ownership, and which shared state may cross the boundary. Validate compatible old/new combinations before changing the binding that activates a release.

Publishing bytes, activating them and retiring the old version are separate actions. Plan for cached bindings, lazy loads and running sessions that retain old code. Define rollback scope, artifact retention and failure behavior; neither an asset rollback nor unmount reverses accepted domain operations. A new incompatible contract may require a coordinated migration despite separate pipelines.

Result: compatible changes can be activated without rebuilding unrelated features, but compatibility testing, observability and composition policy add cost. A directory, repository, lazy chunk or lifecycle export alone does not provide this independence. Shared runtime/startup dependencies can still couple failures. Code in the same browser context is not thereby security-isolated. Preserve usable navigation and focus across partial loading, replacement and teardown.

Evidence: deployment-boundary review D04–D09 locates runtime binding, lifecycle exports and separate workflow definitions in one example family, with documentary alternatives. CI success, actual deployment independence and complete-pattern recurrence are unverified. No canonical identity or admitted graph relations; hypothesis only.

Alternative: a coordinated application release with Vertical Feature Slice when separate cadence is unnecessary. Proposed relations: may use Failure Boundary for a specified fault scope and URL-addressable State for shared route contracts. Neither separate activation nor Islands of Interactivity entails the other. Boundaries can coincide without becoming the same pattern.

Next test: VC-06 proposes compatible and incompatible feature releases, failed loading and binding rollback across fresh and already-open sessions. These runtime checks have not yet been executed.