frontend-patterns/START.md
tegwick 53bb65e7a6 Complete the bounded language 0.1 research preview
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e241-8285-7a63-8c0c-51c9cb824dc3
2026-09-27 11:49:48 +02:00

66 lines
4.1 KiB
Markdown

# Start with a frontend decision
**0.1 research preview.** Seventeen candidate patterns, all hypotheses. Use them to
make assumptions and trade-offs explicit; confirm the required contracts in your
implementation. This language has not yet demonstrated improved decision quality.
## Choose your starting problem
| Your problem | Start here | What the sequence helps decide |
| --- | --- | --- |
| Users edit shared records; writes can conflict or lose their responses | [Transactional editing](sequences/TransactionalApplication.md) | Preserve intent, reject stale proposals, resolve uncertain outcomes, refresh views |
| Users edit notes offline and must resume after restarting | [Offline local work](sequences/LocalFirstApplication.md) | Acknowledge local save, retain pending propagation, handle divergence, plan recovery |
| You need navigation, rendering, feature or interaction guidance | [Extension candidates](reference/0.1/Catalog.md#extensions) | Explore individual hypotheses with their current evidence limits |
| You need an overview of coverage | [Classification inventory](research/catalog/ClassificationCoverage.md) | Compare families, scales, responsibilities and selected forces |
Before choosing, state who can accept the relevant change, which state must survive
restart, and what the user is allowed to retain. A locally displayed result is not
necessarily accepted. Where a view is computed is a separate decision from authority.
If you cannot answer those questions, clarify them first. If you require globally
exclusive approval while fully disconnected, neither sequence supplies that guarantee.
A collaborative editor, hard real-time system or complete security architecture needs
additional domain work; an unfilled catalog cell is not permission to improvise a
validated solution.
## Read the language as decisions
A candidate explains a problem and forces, a proposed solution, its resulting context,
alternatives and failure modes. Follow conditional links only when their assumptions
hold. The eight [core candidates](reference/0.1/Catalog.md#core) connect into the two
sequences; the other nine are extensions, not mandatory additions.
[Transactional mappings](technologies/TransactionalRecovery.md) and
[offline mappings](technologies/OfflineRecovery.md) locate implementation mechanisms.
No listed product is certified to implement the whole proposed configuration.
A short example: if an edit succeeds remotely but its response disappears, preserve
its operation identity and treat the outcome as unknown. Find the result or use a
verified bounded replay contract before creating another attempt. After acceptance,
refresh observations separately; a refresh failure does not undo acceptance. Follow
the [transactional sequence](sequences/TransactionalApplication.md) for assumptions
and alternatives.
## Evidence and future versions
The [0.1 release record](reference/0.1/README.md) pins the corpus and lists supported
contexts. [Evidence profiles](research/evolution/EvolutionReport.md) separate documents,
code inspection and runtime observations. No candidate is canonically admitted; a
source locator or passing fixture does not prove its full contract.
For a counterexample, record the candidate ID, the context, expected versus observed
behavior, implementation revision and any reproducible evidence. Explain whether a
precondition was absent or the proposed solution failed despite it. Use the source or
learning-cycle templates under `templates/`; proposed corrections require a named
review with retained prior claims. Never paste private data or credentials into evidence.
Later versions may revise, merge, split or retire candidates. Preserve identities and
supersession records; do not silently reinterpret an older release. The language is
intended to keep learning.
## Agent reference
Read [index.json](reference/0.1/index.json) for stable research identities, proposed
relations, classification, evidence and gaps. It is a candidate reference export, not
an admitted canonical graph. Read the linked contracts before making a recommendation;
do not infer inverse edges, unconditional dependencies or transitive guarantees.