Bite 31.3 — Core Business Demo Journey in pt‐BR - RodrigoMattosoSilveira/EnterpriseRemoteSystems GitHub Wiki

Bite 31.3 — Core Business Demo Journey in pt-BR

Manual Promotion Test Suite

Branch: 864-bite-313-core-business-demo-journey-in-pt-brr
Committed SHA: 6d138cef35c4b203a16cb486277d7b48eba6df63

Purpose

These tests validate that the Tenant-scoped business journey is usable and coherent in Brazilian Portuguese and that localization remains presentation-only.

The manual suite covers:

  • People;
  • Person creation/detail;
  • Collaborator/Journey creation/detail;
  • Work Periods and Planning;
  • Gold Production;
  • Expenses;
  • Current Account / Ledger;
  • Outstanding Receipts and receipt lifecycle;
  • locale switching without changing identity, Tenant, records, or financial values;
  • visible Tenant-boundary presentation.

The automated LOCAL and CI suites are already green. Do not repeat backend/API/SQL verification manually unless one of these UI tests exposes a discrepancy.


Test environment setup

Dedicated manual database

Use a disposable database for this suite so the test can create and mutate business records without affecting other LOCAL data.

Terminal 1 — backend

Start the backend with:

ERS_DATABASE_PATH=data/manual-31-3.db \
ERS_RESET_DATABASE=true \
ERS_PROVISION_E2E_ADMIN=true \
[email protected] \
E2E_ADMIN_PASSWORD='Local-E2E-Administrator-28D!' \
E2E_TENANT_ADMIN_PASSWORD='Local-E2E-Administrator-28D!' \
make local-backend

Important: ERS_RESET_DATABASE=true is for the first startup only.

If the backend must be restarted after any test data has been created, restart it without ERS_RESET_DATABASE=true:

ERS_DATABASE_PATH=data/manual-31-3.db \
ERS_PROVISION_E2E_ADMIN=true \
[email protected] \
E2E_ADMIN_PASSWORD='Local-E2E-Administrator-28D!' \
E2E_TENANT_ADMIN_PASSWORD='Local-E2E-Administrator-28D!' \
make local-backend

Otherwise the manual-test records will be erased.

Terminal 2 — frontend

Start the frontend:

make local-frontend

Verify the startup output reports:

git rev-parse HEAD
6d138cef35c4b203a16cb486277d7b48eba6df63

SOURCE_REVISION=6d138cef35c4b203a16cb486277d7b48eba6df63

Both revisions must match before continuing.


Browser

Use one normal Microsoft Edge window/profile.

Do not use InPrivate mode.

Do not manually invoke Edge translation.

All test navigation below must be performed through visible ERS UI controls. Do not type application routes into the address bar.


Test identity

Use the Tenant Administrator:

Login:    [email protected]
Password: Local-E2E-Administrator-28D!
Role:     Tenant Administrator
Actor:    e2e-default-tenant-admin
Tenant:   Default Tenant
Tenant ID/default code: default

Important localization rule for this suite

The following are not translation defects because they are canonical data rather than ERS presentation text:

  • Tenant name Default Tenant;
  • Tenant ID/code default / DEFAULT;
  • Person names, nicknames, e-mail addresses, notes, CPF and RG entered during these tests;
  • canonical record IDs;
  • canonical reference-data labels such as Salary, Underground Mining, North Pit, Drilling;
  • canonical price-list description Meal;
  • canonical codes such as GOLD_GRAM;
  • the ERS domain term Tenant, which intentionally remains Tenant in pt-BR.

An English phrase is a defect when it is application-owned UI copy such as a heading, button, explanatory paragraph, filter label, field label, empty state, status presentation, financial presentation label, or workflow instruction that should have a pt-BR translation.


Values to record during the suite

Create a small evidence note and record:

PERSON_ID=
MEMBERSHIP_ID=
JOURNEY_ID=
WORK_PERIOD_ID=
EXPENSE_ID=
LEDGER_ENTRY_ID=
RECEIPT_NUMBER=

Also record screenshots for any unexpected English UI text.


Test 01 — Sign in in pt-BR and establish the Tenant security boundary

Identity

Sign in as:

[email protected]

with:

Local-E2E-Administrator-28D!

Steps

  1. On the sign-in page, open Language.
  2. Select Português (Brasil).
  3. Confirm the sign-in screen changes to Portuguese before authentication.
  4. Sign in as [email protected].
  5. If the Tenant selector does not already show Default Tenant, open it and select Default Tenant.
  6. Confirm the visible current context is Default Tenant.
  7. In the left navigation rail, click Pessoas.
  8. Confirm the page heading is Pessoas.
  9. Locate the Tenant-boundary card.
  10. Confirm its title is:
Limite do Tenant para Pessoas
  1. Confirm the card identifies the current Tenant as Default Tenant / default.
  2. Read the explanatory paragraph and confirm it is in Portuguese and explains that profile text does not change the Tenant boundary.
  3. Inspect the left navigation rail.

Expected result

The Tenant Administrator remains in Default Tenant and the common business navigation is Portuguese.

Expected visible navigation includes Portuguese labels such as:

Pessoas
Colaboradores
Despesas
Períodos de trabalho
Produção de ouro
Recibos pendentes

Default Tenant itself remains unchanged because it is Tenant data.

The Tenant-boundary card must make it clear that the business records shown belong to the selected Tenant.

PASS criteria

PASS only if:

  • Portuguese remains selected;
  • the selected Tenant is Default Tenant;
  • the People Tenant-boundary card is Portuguese;
  • the Tenant boundary is understandable without inspecting developer tools;
  • navigation to business workbenches is Portuguese.

Promotion blocker

Block promotion if:

  • the selected Tenant changes because the locale changes;
  • the Tenant-boundary card is English;
  • significant shell/business navigation remains English;
  • the Tenant context is unclear or appears to be merely a visual filter rather than the record/security context.

Test 02 — Create a complete Person entirely through the Portuguese UI

Dependency

Test 01 must pass.

Stay signed in as the Tenant Administrator in Default Tenant with Português (Brasil) selected.

Steps — create the Person

  1. From Pessoas, click Criar Pessoa.

  2. Confirm the page title is:

    Nova Pessoa
    
  3. Confirm visible form/navigation text includes Portuguese labels such as:

    Pessoal
    Endereço
    Banco
    Emergência
    Observações
    Status do Perfil
    
  4. In the Pessoal section enter:

    Nome:       Marina
    Sobrenome:  Ribeiro
    Apelido:    B31-3-Marina
    CPF:        529.982.247-25
    RG:         3132026-1
    Celular:    (11) 99999-3131
    E-mail:     [email protected]
    Status:     Active
    

    Active may remain an English reference-data label. Do not treat that reference-data value as a translation defect.

  5. Click Criar Pessoa.

  6. Wait for the Person detail page to load.

  7. If the page automatically scrolls to the Authentication section, scroll back to the Person profile area.

  8. Record PERSON_ID from the Person detail page/URL reached through this UI navigation.

  9. Record the displayed ID do Vínculo as MEMBERSHIP_ID.

Steps — complete the profile

  1. Select the Endereço tab.

  2. Enter:

    Endereço 1: Rua Manual 313
    Endereço 2: leave blank
    Estado:     Pará
    Cidade:     Itaituba
    CEP:        68180-000
    País:       Brasil
    
  3. Select the Banco tab.

  4. Enter:

    Nome do banco:   Banco Demo
    Número do banco: 313
    Conta corrente:  31313-3
    PIX:              [email protected]
    
  5. Select the Emergência tab.

  6. Enter:

    Nome do contato de emergência: Paulo Ribeiro
    Celular de emergência:          (11) 98888-3131
    E-mail de emergência:           [email protected]
    
  7. Select Observações.

  8. Enter:

    Bite 31.3 manual pt-BR fixture
    
  9. Click Salvar alterações.

  10. Wait for the success message.

Expected result

The Person detail presentation is Portuguese.

The profile should now report:

Completo

and the action:

Criar Colaborador

should become available.

The user-entered values must remain exactly the values entered. Localization must not modify:

  • Marina Ribeiro;
  • B31-3-Marina;
  • CPF;
  • RG;
  • e-mail addresses;
  • bank data;
  • notes;
  • PERSON_ID;
  • MEMBERSHIP_ID.

PASS criteria

PASS only if:

  • creation succeeds through the UI;
  • profile tabs and explanatory text are Portuguese;
  • the final profile is complete;
  • Criar Colaborador is available;
  • all canonical/user-entered values are unchanged.

Promotion blocker

Block promotion for:

  • untranslated application-owned Person form/detail text;
  • locale changing Person or Membership identity;
  • date/number formatting errors;
  • broken tab navigation;
  • missing or incorrectly translated completion/eligibility state.

Test 03 — Create a Collaborator Journey and verify Journey presentation

Dependency

Tests 01–02 must pass.

The Person B31-3-Marina must show Completo and Criar Colaborador.

Steps

  1. On the Person detail page click Criar Colaborador.

  2. Confirm the page title is:

    Novo Colaborador
    
  3. Confirm B31-3-Marina is the selected eligible Person.

  4. Confirm the form is divided into Portuguese workflow sections including:

    Jornada
    Alocação de Trabalho
    Pagamento
    Observações
    
  5. Enter/select:

    Data de início da Jornada: 2026-09-18
    Status:                     Active
    Setor:                      Underground Mining
    Local:                      North Pit
    Tarefa:                     Drilling
    Método de Pagamento:        Salary
    Valor do Pagamento:         2400
    Observações:                Bite 31.3 manual Journey
    
  6. Click Criar Colaborador.

  7. Wait for the Colaboradores page.

  8. Search for:

    B31-3-Marina
    
  9. Open that Collaborator Journey from the search result.

  10. Record the displayed ID da Jornada as JOURNEY_ID.

Expected result

The Collaborator detail page is Portuguese and visibly includes concepts such as:

Jornada do Colaborador
Resumo da Pessoa
Ciclo de vida
Atribuição de Trabalho
Pagamento
Conta Corrente

The payment value for Salary should be presented using pt-BR BRL formatting, visually equivalent to:

R$ 2.400,00

The following values may remain English because they are reference data:

Salary
Underground Mining
North Pit
Drilling
Active

The Person, Membership and Journey identifiers must remain unchanged.

PASS criteria

PASS only if:

  • the Journey is created successfully;
  • the detail page is coherently Portuguese;
  • the payment amount uses pt-BR formatting;
  • canonical reference-data values are preserved;
  • the Journey remains associated with the correct Person and Tenant.

Promotion blocker

Block promotion if:

  • ERS workflow text is English;
  • payment formatting is English-style while pt-BR is selected;
  • Person/Membership/Journey provenance changes;
  • changing locale appears to change the underlying payment value.

Test 04 — Work Period and Planning surfaces remain coherent in Portuguese

Dependency

Tests 01–03 must pass.

Steps

  1. Use the left rail to open Períodos de trabalho.

  2. Confirm the heading is:

    Períodos de trabalho
    
  3. Click Adicionar Período de Trabalho.

  4. Enter:

    Data de trabalho: 2026-09-18
    Código do período: DAY
    Nome: 06:00-18:00
    Início: 06:00
    Fim: 18:00
    
  5. Click Criar Período de Trabalho.

  6. On the detail page record WORK_PERIOD_ID.

  7. Confirm the context heading contains Default Tenant, the localized work date, and 06:00-18:00.

  8. Confirm the displayed DAY code remains canonical.

  9. Confirm the visible tabs are:

    Plano
    Informar / Imprimir
    Resultados Reais
    Acúmulo
    
  10. Open Plano.

  11. Confirm planning labels, filters, instructions and empty/data states are Portuguese.

  12. Confirm B31-3-Marina is visible in the planning roster if eligible.

  13. Open Informar / Imprimir.

  14. Inspect the visible workflow text.

  15. Open Resultados Reais.

  16. Inspect the visible workflow text.

  17. Open Acúmulo.

  18. Inspect the visible workflow text.

Do not needlessly post accrual entries in this test.

Expected result

The entire Work Period shell and all four planning tabs are understandable in Portuguese.

The date must be presented using pt-BR formatting rather than remaining a raw ISO presentation. A 2026-09-18 business date should display in a pt-BR form such as:

18 de set. de 2026

The canonical period code DAY remains unchanged.

PASS criteria

PASS if:

  • all tabs can be opened;
  • application-owned planning labels/instructions are Portuguese;
  • the Work Period remains under Default Tenant;
  • date presentation is pt-BR;
  • canonical DAY and record IDs are unchanged.

Promotion blocker

Block promotion for:

  • untranslated planning workflow copy;
  • a broken planning tab after changing locale;
  • raw dates where the page is intended to display a formatted date;
  • Tenant/context changes caused by localization.

Test 05 — Gold Production → Accrual presentation

Dependency

Test 04 must pass and the 06:00-18:00 Work Period must exist.

Steps

  1. Navigate through the UI to Produção de ouro.

  2. Confirm the page title is:

    Produção de Ouro
    
  3. Confirm the explanatory text describes this as the authorized Gold Production workflow in Portuguese.

  4. In Período de Trabalho, select the Work Period created in Test 04.

  5. In the production form enter:

    Data da produção:       2026-09-18
    Poço / Local:           North Pit
    Ouro produzido (gramas): 80
    
  6. Click Registrar Produção.

  7. Confirm the Produção de Ouro Registrada section shows the newly created entry.

  8. Confirm the quantity is displayed as:

    80 g
    

    and is not unnecessarily padded to eight decimal places.

  9. Click Abrir Acúmulo for that Work Period.

  10. Confirm the Accrual surface is Portuguese.

  11. Confirm visible text includes concepts such as:

    Acúmulo
    Ouro Produzido
    Total de ouro produzido
    Execuções de Acúmulo
    
  12. Confirm the recorded production appears as read-only input to Accrual.

Expected result

Gold Production and Accrual form one coherent Portuguese workflow.

North Pit remains unchanged as canonical reference data.

The numeric quantity is formatted for presentation without changing the stored quantity.

PASS criteria

PASS if:

  • production can be recorded;
  • the record is visible;
  • the quantity presentation is sensible;
  • the Accrual surface is Portuguese;
  • Gold Production remains visibly the authoritative editing surface.

Promotion blocker

Block promotion if:

  • Gold Production/Accrual instructions remain English;
  • production values change during localization;
  • Accrual incorrectly appears to be the editing surface for Gold Production.

Test 06 — Create a BRL Expense and inspect its translated detail

Dependency

Tests 01–03 must pass.

Steps

  1. Use the left navigation to open Despesas.

  2. Confirm the page heading is:

    Despesas
    
  3. Click Criar Despesa.

  4. Confirm the form heading and instructions are Portuguese.

  5. In the Collaborator search field type:

    B31-3-Marina
    
  6. Select the matching Collaborator.

  7. Confirm the selected Collaborator indicator is visible.

  8. Set:

    Categoria:       Cantina
    Data da Despesa: 2026-09-18
    
  9. For the first Cantina item select:

    Descrição do Item: Meal
    Moeda:             Real / BRL
    Quantidade:        2
    
  10. Enter in Observações:

    Teste manual Bite 31.3
    
  11. Inspect the calculation preview before submitting.

  12. Confirm the price-list item Meal remains exactly Meal; it is canonical price-list data.

  13. Confirm the calculation preview uses Portuguese labels.

  14. The seeded Meal price is BRL 35.00, so confirm the total is visually:

    R$ 70,00
    
  15. Click Criar Despesa.

  16. On the Expenses list, locate the new record for B31-3-Marina.

  17. Open the record through the UI.

  18. Record EXPENSE_ID.

Expected result

The Expense detail page should use Portuguese application labels such as:

Despesa
Valor
Data
Classificação
Titularidade Financeira
Método de cálculo
Lançamento Financeiro

Exact wording may vary by section, but application-owned UI should not revert to English.

The following must remain canonical:

B31-3-Marina
Meal
EXPENSE_ID
PERSON_ID
MEMBERSHIP_ID
JOURNEY_ID

The BRL amount must remain financially equal to 70.00 while being displayed according to pt-BR conventions.

PASS criteria

PASS if:

  • the Expense is created through the Portuguese UI;
  • preview and detail text are Portuguese;
  • the amount is R$ 70,00 visually;
  • canonical business data is unchanged;
  • Person/Journey provenance is visible and correct.

Promotion blocker

Block promotion if:

  • amount or quantity changes with locale;
  • canonical ownership/provenance is lost;
  • application-owned detail text remains English;
  • the UI translates Meal, IDs, names, or other persisted data as though they were UI strings.

Test 07 — Current Account / Ledger translation and financial provenance

Dependency

Test 06 must pass.

Steps

  1. From the Expense detail page click Abrir Conta Corrente.

  2. Confirm the page heading is:

    Conta Corrente da Pessoa
    
  3. Confirm the page explains that balances belong to the Person and Journey references remain provenance.

  4. Confirm the Real balance reflects the newly created BRL 70.00 Expense as a debit.

  5. Expected visual balance after this isolated Expense is:

    -R$ 70,00
    
  6. Locate the Gramas de Ouro balance card.

  7. Since no gold financial entries were created for this Person, confirm the Gold balance is shown as numeric zero under the Gold heading/code, for example:

    Gramas de Ouro
    0
    GOLD_GRAM
    
  8. Confirm the Gold balance card does not redundantly display:

    0 g gold
    
  9. Find the ledger row created by the Expense.

  10. Confirm application presentation includes Portuguese concepts such as:

    Lançamentos do Razão
    Débito
    dedução de despesa
    Pessoa proprietária
    Proveniência da Jornada
    Origem
    
  11. Record the ledger-entry identifier as LEDGER_ENTRY_ID.

  12. Confirm the receipt status for the debit is presented in Portuguese, initially equivalent to:

    Pendente de emissão
    

Expected result

The Current Account provides a Portuguese presentation while retaining exact Person/Journey financial ownership.

The Expense deduction should remain exactly BRL 70.00 in value.

PASS criteria

PASS if:

  • the balance is correct;
  • the ledger row is correct;
  • financial direction/type labels are translated;
  • Person ownership and Journey provenance remain visible;
  • Gold zero balance presentation is clean and non-redundant.

Promotion blocker

Block promotion if:

  • balances change because the locale changes;
  • a debit appears as a credit or vice versa;
  • ownership/provenance is wrong;
  • financial labels are raw English codes where a translated display label should exist.

Test 08 — Outstanding Receipt and printable receipt lifecycle in Portuguese

Dependency

Tests 06–07 must pass.

Use the same Tenant Administrator and the same Expense-generated receipt.

Steps — Outstanding Receipts

  1. From Current Account click Recibos pendentes.

  2. Confirm the heading is:

    Recibos pendentes
    
  3. Find the outstanding receipt associated with B31-3-Marina.

  4. Confirm its status is presented in Portuguese.

  5. Record the receipt number as RECEIPT_NUMBER.

  6. Click Abrir recibo.

Steps — printable receipt

  1. Confirm the page heading is:

    Recibo
    
  2. Confirm visible sections/labels are Portuguese, including concepts such as:

    Ciclo de vida do recibo
    Etapa de impressão
    Pessoa proprietária
    Proveniência da Jornada
    Data efetiva
    Transação
    Valor
    
  3. Confirm the amount is still visually:

    R$ 70,00
    
  4. Click Imprimir Recibo.

  5. Edge should open its operating-system/browser print dialog.

  6. Do not actually print paper; click Cancelar in the Edge print dialog.

  7. Return to ERS.

  8. Confirm ERS recorded the print step and the receipt now shows a Portuguese printed status equivalent to:

    Impresso
    
  9. Locate Referência do documento assinado.

  10. Enter:

    MANUAL-31.3-SIGNED-001
    
  11. In receipt notes, if available, enter:

    Teste manual Bite 31.3
    
  12. Click:

    Registrar devolução assinada
    
  13. Confirm the receipt reaches:

    Recibo devolvido
    

    / terminal Devolvido status.

  14. Use the UI to return to Recibos pendentes.

  15. Confirm the returned receipt is no longer an outstanding obligation.

  16. On this fresh manual database, if this was the only outstanding receipt, confirm the pagination summary reads:

    Exibindo página 1 de 1 · 0 recibos
    

    specifically not:

    0 recibo(s)
    

Expected result

The complete receipt lifecycle is understandable in Portuguese.

The receipt leaves the outstanding workbench after signed return.

Identifiers and amounts remain unchanged.

PASS criteria

PASS if:

  • the receipt can be opened;
  • print/return lifecycle labels are Portuguese;
  • the receipt reaches terminal returned status;
  • it leaves Outstanding Receipts;
  • zero-receipt pluralization is natural Portuguese.

Promotion blocker

Block promotion for:

  • English receipt workflow instructions;
  • broken print/return controls;
  • receipt still appearing as outstanding after successful return;
  • recibo(s) or similar placeholder pluralization;
  • amount/provenance changes.

Test 09 — Locale switching changes presentation only

Dependency

Tests 01–08 must pass.

Use the Expense and Current Account records already created.

Steps

  1. Navigate through the UI to the Expense created in Test 06.

  2. Before changing language record the following again:

    PERSON_ID
    MEMBERSHIP_ID
    JOURNEY_ID
    EXPENSE_ID
    
  3. Confirm Default Tenant is selected.

  4. Confirm Portuguese presentation includes:

    Despesa
    R$ 70,00
    
  5. Open the Language selector.

  6. Select English (United States).

  7. Do not reload the page.

  8. Confirm the current page changes to English immediately.

  9. Confirm the same business amount is displayed using English formatting, visually:

    R$70.00
    
  10. Confirm the same Expense/Person/Journey IDs remain unchanged.

  11. Confirm Default Tenant remains the selected Tenant.

  12. Confirm the user-entered text:

    Teste manual Bite 31.3
    

    is not translated.

  13. Confirm canonical Meal remains unchanged.

  14. Open Language again.

  15. Select Português (Brasil).

  16. Without reloading, confirm the UI immediately returns to Portuguese.

  17. Confirm the same BRL 70.00 value returns to pt-BR presentation:

    R$ 70,00
    
  18. Navigate to the Work Period created in Test 04.

  19. Confirm its DAY code and WORK_PERIOD_ID did not change.

  20. Navigate to the Collaborator created in Test 03.

  21. Confirm JOURNEY_ID, PERSON_ID, and MEMBERSHIP_ID did not change.

Expected result

Changing locale affects only presentation.

It must not change:

  • signed-in Account;
  • Tenant;
  • Person;
  • Membership;
  • Journey;
  • Expense;
  • Work Period;
  • Ledger Entry;
  • Receipt;
  • persisted amounts;
  • user-entered text;
  • canonical data.

No manual page reload should be necessary when switching the Language selector.

PASS criteria

PASS only if the locale can switch:

pt-BR → en-US → pt-BR

without navigation loss, record mutation, Tenant change, or page reload.

Promotion blocker

Block promotion immediately if locale switching:

  • changes selected Tenant;
  • changes identity;
  • changes a record ID;
  • changes a financial amount;
  • requires a manual browser reload;
  • translates user-entered or canonical data.

Test 10 — Final Portuguese core-journey sweep and Tenant story

Dependency

Tests 01–09 must pass.

Set Language to:

Português (Brasil)

and keep Default Tenant selected.

Steps

Using only the left rail and in-page links, visit each of these surfaces:

  1. Pessoas
  2. the B31-3-Marina Person detail
  3. Colaboradores
  4. the B31-3-Marina Collaborator Journey detail
  5. Períodos de trabalho
  6. the 06:00-18:00 Work Period detail
  7. each Work Period tab:
    • Plano
    • Informar / Imprimir
    • Resultados Reais
    • Acúmulo
  8. Produção de ouro
  9. Despesas
  10. the Expense detail created in Test 06
  11. Conta Corrente da Pessoa
  12. Recibos pendentes

At every surface:

  1. Confirm Default Tenant remains the selected Tenant.
  2. Look specifically for English application-owned UI copy.
  3. Do not count canonical data as a translation failure.

Allowed examples include:

Default Tenant
default
B31-3-Marina
Marina Ribeiro
Salary
Underground Mining
North Pit
Drilling
Meal
DAY
GOLD_GRAM
record IDs
e-mail addresses
notes entered during the tests
  1. Return to Pessoas.
  2. Re-read Limite do Tenant para Pessoas.
  3. Confirm that, after walking the complete business journey, the relationship between the selected Tenant and its business records is still visually understandable.

Expected result

The core Brazilian demo journey feels like one coherent pt-BR application rather than a Portuguese shell surrounding English business screens.

The Tenant security/data boundary remains prominent and understandable.

Canonical business data remains canonical.

PASS criteria

PASS if:

  • no significant application-owned English text is discovered on the Bite 31.3 journey;
  • Tenant context remains stable everywhere;
  • labels, instructions, actions, empty states and financial presentation are Portuguese;
  • canonical data is not incorrectly translated.

Promotion blocker

Any of the following blocks promotion:

  • a major Bite 31.3 page or workflow reverts to English;
  • a Portuguese page contains conspicuous untranslated application instructions/actions;
  • changing locale changes Tenant or identity;
  • financial values change instead of merely being reformatted;
  • canonical data is mutated or machine-translated;
  • the Tenant boundary becomes ambiguous during the business journey.

Final promotion gate

Promote Bite 31.3 only when:

  • Test 01 passes — Tenant boundary and Portuguese shell
  • Test 02 passes — Person creation/detail
  • Test 03 passes — Collaborator/Journey
  • Test 04 passes — Work Period/Planning
  • Test 05 passes — Gold Production/Accrual
  • Test 06 passes — Expense creation/detail
  • Test 07 passes — Current Account/Ledger
  • Test 08 passes — Receipt lifecycle
  • Test 09 passes — locale is presentation-only
  • Test 10 passes — final core-journey translation/Tenant sweep
  • No unexpected English application-owned UI remains in the demonstrated journey
  • No Tenant, identity, authorization, ownership, record-ID, or financial-semantic regression is observed

Glossary impact

None. Bite 31.3 localizes presentation of existing ERS concepts. Tenant remains the intentional ERS term in Brazilian Portuguese, and canonical IDs/codes/data remain unchanged.