frontend-patterns/canon/Forces.md
tegwick 71a8c1424b Reconcile pattern metadata and prepare contrasting primary-source inputs
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
2026-09-24 15:23:06 +02:00

85 lines
2.8 KiB
Markdown

# Forces
Forces make architectural decisions non-trivial.
The initial force vocabulary is intentionally broader than frontend implementation concerns.
## Experience
- `interaction-latency` — interaction latency
- `perceived-responsiveness` — perceived responsiveness
- `continuity-of-interaction` — continuity of interaction
- `discoverability` — discoverability
- `addressability` — addressability
- `accessibility` — accessibility
- `recoverability` — recoverability
- `offline-usability` — offline usability
## Information
- `authoritative-consistency` — authoritative consistency
- `freshness` — freshness
- `cacheability` — cacheability
- `conflict-probability` — conflict probability
- `collaborative-concurrency` — collaborative concurrency
- `data-locality` — data locality
- `privacy` — privacy
- `information-completeness` — information completeness
## Execution
- `first-content-latency` — first-content latency
- `hydration-cost` — hydration cost
- `client-compute-cost` — client compute cost
- `server-compute-cost` — server compute cost
- `bandwidth-cost` — bandwidth cost
- `connection-lifetime` — connection lifetime
- `network-reliability` — network reliability
- `startup-cost` — startup cost
- `incremental-update-cost` — incremental update cost
## Change
- `feature-change-frequency` — feature change frequency
- `schema-change-frequency` — schema change frequency
- `independent-deployability` — independent deployability
- `team-autonomy` — team autonomy
- `release-coupling` — release coupling
- `compatibility-pressure` — compatibility pressure
## Engineering
- `implementation-complexity` — implementation complexity
- `reconciliation-complexity` — reconciliation complexity
- `cognitive-load` — cognitive load
- `testability` — testability
- `observability` — observability
- `debuggability` — debuggability
- `portability` — portability
- `security-exposure` — security exposure
## Operations
- `scalability` — scalability
- `fault-containment` — fault containment
- `deployment-complexity` — deployment complexity
- `cache-invalidation-complexity` — cache invalidation complexity
- `telemetry-quality` — telemetry quality
- `incident-recoverability` — incident recoverability
## Research questions
The vocabulary should remain small enough to reason with.
Research should determine:
- which forces are independent,
- which are merely metrics,
- which are compound concepts,
- which forces recur across most frontend patterns,
- which forces should be modeled as dimensions rather than labels.
Force IDs above are stable kebab-case keys. Improvements/worsenings describe
favorable/unfavorable effects, not a numerical increase/decrease in a metric.
Aliases or renames must preserve existing references; add vocabulary entries before use.