Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0cffe-206f-7323-89d3-b20ca4cf4bf9
85 lines
2.8 KiB
Markdown
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.
|