frontend-patterns/START.md
tegwick bd85fcd179 Add verified reference lookup and immutable consumer receipts
Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a1045b-933d-7aa1-b2db-104557487a79
2026-10-04 09:02:35 +02:00

5 KiB

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 Preserve intent, reject stale proposals, resolve uncertain outcomes, refresh views
Users edit notes offline and must resume after restarting Offline local work Acknowledge local save, retain pending propagation, handle divergence, plan recovery
You need navigation, rendering, feature or interaction guidance Extension candidates Explore individual hypotheses with their current evidence limits
You need an overview of coverage Classification inventory 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 connect into the two sequences; the other nine are extensions, not mandatory additions.

Transactional mappings and offline mappings 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 for assumptions and alternatives.

Evidence and future versions

The 0.1 release record pins the corpus and lists supported contexts. Evidence profiles 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

For an explicit candidate, force or responsibility, use the local pinned-reference helper:

python3 scripts/reference_consume.py --version 0.1 lookup --candidate CAND-0007
python3 scripts/reference_consume.py --version 0.1 lookup --force recoverability --responsibility mutation

Filters intersect; multiple candidate IDs form an allowlist. Results carry force costs, evidence gaps, conditional relations and commit-specific contract/evidence locators. A metadata match is a research lead, not an applicability or compatible configuration proof. With no filters the helper requests context; valid filters with no results produce no-match. Unknown vocabulary or unpublished IDs fail explicitly. Read the complete pinned contracts before making the consumer's decision. The consumer receipt instructions explain how to retain that decision and its unknown or later observed outcome.

Read 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.