-
-
Notifications
You must be signed in to change notification settings - Fork 0
Dev App Probe Contract
The ignored app/ project is Effuse's local ecosystem laboratory. It exercises
published package boundaries in realistic browser flows without becoming a
second product or adding generated end-to-end test files to the repository.
- Every route owns one
<domain>-pageroot target. - Observable state uses
<domain>-status,<domain>-count, or a specific state name when a page exposes several independent contracts. - Commands use verb-based targets such as
<domain>-fetch-usersor<domain>-increment. - Collections and rendered results use
<domain>-list,<domain>-items, or<domain>-output. - Probe names describe behavior, not layout or styling.
- Existing targets are treated as stable integration contracts. Renaming one requires updating this matrix and the browser verification notes.
| Route | Page root | Primary state | Actions | Results |
|---|---|---|---|---|
/forms |
forms-page |
form-user-count, form-error
|
form-name, form-submit
|
form-user-count |
/store |
store-page |
store-count, store-stats
|
store-increment, store-add-todo
|
store-todo-list |
/query |
query-page |
query-status, query-cache-status
|
query-fetch-users, query-fetch-posts
|
query-users-list, query-posts-list
|
/use |
use-page |
use-network-state, use-debounce-state
|
use-draft-preset, use-interval-start
|
use-storage-state, use-interval-state
|
/layers |
layers-page |
theme-metric, event-count-metric
|
toggle-theme, record-event
|
event-list |
/server |
server-page |
server-output |
call-route, call-action, call-file-route
|
server-output, file-api-events
|
/commerce |
commerce-page |
commerce-session, commerce-count
|
commerce-login, commerce-add
|
commerce-items, commerce-events
|
/contracts |
contracts-page |
composition-status, reactivity-status, memo-status
|
contract-increment, contract-stop
|
lifecycle-status, capability-status
|
/docs/routing/groups |
route-groups-page |
route-path, route-groups
|
shop-root-link, shop-deep-link
|
route-pattern, route-slug
|
Additional pages follow the same vocabulary. Their targets remain useful, but the matrix above is the minimum ecosystem gate for framework changes.
For each affected capability:
- Build the workspace packages and the dev app with the supported Node and Bun toolchain.
- Open the relevant route in the Effuse in-app browser.
- Locate the page root and state anchors directly; do not scrape broad body text.
- Execute the primary action and assert the named state or result target.
- Inspect warning and error logs before accepting the change.
The browser gate complements unit and package tests. A failure in this app is treated as a framework or integration gap until the owning package proves otherwise.
The app remains ignored so experiments, local fixtures, and browser state do not create repository churn. The public contract is this wiki page; the local app is its executable implementation.
See also Production Readiness, Routing, SSR, And Server APIs, and DX Gaps And Roadmap.