Action class
backend-guarded
Allowed to call an approved backend API after auth. Still only draft/profile/offer/RFQ/quote/evidence truth.
Phase 206
This phase turns the Phase 205 boundary audit into testable submit states, safe API error mapping, and stable DOM metadata for every role workbench.
Core rule
Every workbench action must reveal its action class, submit state, payload preview, safe result state, and safe error code. Backend permission remains final authority.
Action class
Allowed to call an approved backend API after auth. Still only draft/profile/offer/RFQ/quote/evidence truth.
Action class
Allowed to prepare a packet locally. Must not create backend records, payment, stock, invoice, order, or ledger truth.
Action class
Allowed to create licensed partner execution draft only. Payment outcome still depends on partner callback and reconciliation.
UI
No active submit attempt is running. Operator can inspect payload and edit fields.
Fail if
Button looks ready but payload preview is missing.
UI
Operator changes form data. Result panel must clear so stale success is not trusted.
Fail if
Old success or error remains visible after the payload changes.
UI
Operator can see exactly what will be submitted or prepared before pressing the button.
Fail if
A submit button exists without a visible payload preview.
Workbench
Preview-only action can prepare a safe packet but must not call a backend mutation.
Fail if
Preview-only action sends an API request or claims operational completion.
Backend
Guarded action is ready to call an approved FAEDA API with auth and backend permissions.
Fail if
Anonymous mutation, UI-only permission, or hidden endpoint call.
Payment Ops
Licensed partner payment draft can be created, but payout execution is still blocked.
Fail if
Partner draft wording claims paid, settled, wallet credited, or ledger posted.
Workbench
Button is disabled, spinner is visible, and duplicate submit must be blocked.
Fail if
Double-click can create repeated records or duplicate partner drafts.
Backend
API accepted a draft/profile/offer/RFQ/quote/evidence record only.
Fail if
Success copy says payment, inventory, invoice, ledger, or final order was created.
Partner Gate
Payment instruction draft was accepted for licensed partner processing review only.
Fail if
Draft is treated like successful payout before callback, reconciliation, and ledger gates.
Workbench
Packet is prepared locally and returned to the operator as evidence for the next gate.
Fail if
Packet is stored, paid, posted, or treated as committed business truth.
Safety
Submit failed safely and must expose a safe error code without raw backend details.
Fail if
Raw stack trace, provider credential, token, or cross-customer data is shown.
AUTH_REQUIRED
No signed-in token exists for a backend guarded action.
Sign in required. No anonymous mutation was submitted.
PERMISSION_DENIED
Backend rejects the current actor, role, tenant, or permission.
You do not have permission for this action.
VALIDATION_ERROR
Backend rejects required fields, format, quantity, price, or scope.
Fix the highlighted data and submit again.
CONFLICT
Duplicate record, stale approval, same-user maker-checker conflict, or already processed item.
This item conflicts with an existing record or state.
NETWORK_UNAVAILABLE
API connection fails or backend is unavailable.
Connection failed. The action was not completed.
UNMAPPED_ACTION
The UI action has no approved backend mutation.
This action is not wired for backend submission yet.
API_ERROR
Unexpected safe backend error after sanitization.
Something went wrong. Review the safe error and retry later.
QA metadata contract
Role QA contract
A supplier registers material and answers manufacturer RFQs without creating payment or inventory truth.
Backend guarded
3
Preview-only
0
Role QA contract
A manufacturer declares what it needs, what it can make, and which market channel should receive output.
Backend guarded
3
Preview-only
0
Role QA contract
A wholesaler bridges factory output into retailer-ready bulk supply without pretending stock is already posted.
Backend guarded
2
Preview-only
1
Role QA contract
A shop publishes source-linked local offers and receives customer demand without bypassing order/payment gates.
Backend guarded
2
Preview-only
1
Role QA contract
A family expresses demand and builds a basket while FAEDA protects privacy and regulated finance boundaries.
Backend guarded
1
Preview-only
1
Role QA contract
A rider offers movement capacity and proof packets while finance remains partner-gated.
Backend guarded
1
Preview-only
1
Role QA contract
Founder sees the full FAEDA Business Pro web ERP without weakening backend authority.
Backend guarded
1
Preview-only
2
Fail conditions
Next phase
Next we should use these stable hooks to define automated smoke checks for all seven role workbenches without relying on fragile UI copy.