An invitation. Always a choice.
Um convite. Sempre uma escolha.
Open the interactive study · Abrir estudo em português · Guided walkthrough · Reproduce the examples
Rehearse a voluntary robot encounter. Participation, pauses, withdrawal and recording permissions remain separate and visible.
Research question: What should a facilitator's workflow allow after a pause, a refusal or withdrawal?
This is a working, independent software study for a proposed Vbot companion-robotics program. You can run every example without a robot, account, package installation or API key. Physical validation has not been performed.
- Open Pause and resume.
- Inspect the chart and the explanation below it. The starting result is active · recording: false · 0 rejected.
- Adjust a control or select a contrasting example. Download a printable HTML report, a CSV evidence table or the full JSON analysis.
View a portable example report.
The JSON editor is available under Advanced; the main study uses guided controls.
- Separate participation and recording choices, with a finite state machine.
- Interactive choice buttons constrained by the workflow's current state.
- Pause removes recording permission; resume does not inherit it.
- Withdrawal is final for the session; a new invitation starts a new encounter.
- A minimal journal and recording sequence windows without free-text input disclosure.
All five studies include a responsive English/Portuguese interface, keyboard focus styles, synthetic narrated examples and local report exports. Analysis runs in your browser after the page loads.
| Example | Question it exposes | Reproducible core result |
|---|---|---|
| Encounter with withdrawal | Permissions change during an encounter ended by choice. | ended · recording: false · 0 rejected |
| Invitation declined | Declining ends the invitation without requiring participation. | ended · recording: false · 0 rejected |
| Pause and resume | Resuming participation does not restore recording permission. | active · recording: false · 0 rejected |
| Withdrawal is final | Attempts to resume after withdrawal are recorded as rejected. | ended · recording: false · 3 rejected |
| Recording is a separate choice | A recording request before accepting participation does not authorize it. | ended · recording: false · 1 rejected |
These are deterministic scenario results, not field measurements. Experiment notes distinguish expected regression outputs from independent arithmetic and failure-case tests.
Install Node.js 22 or newer. No npm dependencies are required.
git clone https://github.com/galafis/vbot-inclusive-encounter-kit.git
cd vbot-inclusive-encounter-kit
npm run serveOpen http://127.0.0.1:8765. The local server binds to your computer only. Stop with Ctrl+C. For another port, use node server.mjs 8766.
npm run check # syntax, domain tests, examples and server checks
node cli.mjs examples/pause-and-resume.json # core analysis
node study.mjs examples/pause-and-resume.json # analysis plus derived insights
node cli.mjs examples/baseline.json new-result.jsonThe CLI refuses to overwrite an existing output file. Exit 1 means invalid input or an I/O failure; review findings are valid analytical outputs and do not change the exit code.
stateDiagram-v2
[*] --> Invited
Invited --> Active: accept
Invited --> Ended: decline
Active --> Paused: pause and revoke recording
Paused --> Active: resume without recording
Active --> Ended: withdraw or finish
Paused --> Ended: withdraw or finish
Ended --> [*]
Method: Finite state machine with independently granted recording and minimal public export. The core engine and the insight layer are pure local calculations shared by browser and CLI. Architecture · Domain method · Input contract.
| Evidence available now | Next evidence needed |
|---|---|
| 19 automated tests, five reproducible fixtures and a real interface screenshot | Measurements from a specific supplied Vbot unit |
| Deterministic calculations and explicit counterexamples | Repeated permitted exercises with operator observations |
| Bilingual methods, reports and example inputs | Appropriate authorization before institutional or participant studies |
A standard Vbot without an open SDK is welcome. The proposed first hardware stage uses native features, the official app and manual observations. Any later programmatic integration is optional and must be permitted by the manufacturer. Native workflow · 90-day study plan.
src/ Pure domain engine, contracts and derived insights
examples/ Five narrated inputs and reproducible expected outputs
app.mjs Guided bilingual browser workbench
styles.css Responsive, printable visual system
cli.mjs Core analysis from a local JSON file
study.mjs Complete study from a local JSON file
tests/ Domain, insight, reproduction and HTTP checks
docs/ Walkthrough, experiments, method and study plan
Ensaie um encontro voluntário com o robô. Participação, pausas, retirada e permissão de gravação ficam separadas e visíveis.
Pergunta do estudo: O que o fluxo do facilitador deve permitir depois de uma pausa, recusa ou retirada?
O projeto está pronto para exploração em software. Os exemplos são fictícios e a validação física ainda depende de uma unidade. Uma unidade comum, sem SDK aberto, é suficiente para iniciar a fase proposta com recursos nativos e observação manual.
Abra Pausar e retomar. O resultado inicial é active · gravação: false · 0 rejeições. Observe o gráfico, mude um parâmetro ou escolha outro cenário. A interface explica os resultados e exporta relatório HTML imprimível, tabela CSV e análise JSON.
- Participação e gravação são escolhas separadas numa máquina de estados.
- Botões interativos respeitam o estado atual do fluxo.
- Pausar revoga a gravação; retomar não herda essa permissão.
- Retirar a participação encerra a sessão; outro encontro exige novo convite.
- Diário público mínimo e janelas por sequência, sem copiar notas livres.
| Exemplo | O que permite examinar | Resultado reproduzível |
|---|---|---|
| Encontro com retirada | Permissões são revistas durante o encontro, que termina por escolha. | ended · gravação: false · 0 rejeições |
| Convite recusado | Recusar encerra o convite sem exigir participação. | ended · gravação: false · 0 rejeições |
| Pausar e retomar | Retomar a participação não restaura a permissão de gravação. | active · gravação: false · 0 rejeições |
| Retirada é final | Tentativas de retomar depois da retirada ficam registradas como rejeitadas. | ended · gravação: false · 3 rejeições |
| Gravação é outra escolha | Pedir gravação antes de aceitar o encontro não a autoriza. | ended · gravação: false · 1 rejeição |
Use os comandos da seção em inglês com Node.js 22 ou superior. Não é necessário instalar pacotes. npm run check executa verificações de sintaxe, testes e reprodução dos cenários. O guia DEMO explica um percurso de exploração; EXPERIMENTS registra os resultados e suas limitações.
Sugestões úteis incluem novos cenários fictícios, cálculos independentes, melhorias de acessibilidade da interface e protocolos de observação autorizados. Veja CONTRIBUTING.
01 · Companion Follow Lab · 02 · Portuguese Interaction Bench · 03 · Community Cargo Planner · 04 · Inclusive Encounter Kit · 05 · Community Observation Lab
Created by Gabriel Demetrios Lafis · Applied AI and robotics portfolio
MIT-licensed independent work. Vbot is a third-party brand; this is not an official SDK or an announced Vbot/USP partnership.
