Stub in framework for new .net Open Jibo cloud
This commit is contained in:
66
OpenJibo/docs/device-bootstrap.md
Normal file
66
OpenJibo/docs/device-bootstrap.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Device Bootstrap Path
|
||||
|
||||
## Supported First Path
|
||||
|
||||
The first supported OpenJibo recovery path is:
|
||||
|
||||
```text
|
||||
QR Wi-Fi -> controlled router/DNS -> redirect Jibo hosts ->
|
||||
RCM/device patch -> Azure-hosted OpenJibo cloud
|
||||
```
|
||||
|
||||
This is the path we can document, repeat, and improve.
|
||||
|
||||
## Why This Path Comes First
|
||||
|
||||
- it matches what the current Node prototype already requires
|
||||
- it keeps the hosted cloud work grounded in real device traffic
|
||||
- it avoids blocking the entire revival on OTA before cloud compatibility exists
|
||||
|
||||
## Bootstrap Checklist
|
||||
|
||||
1. Connect the robot to a controlled Wi-Fi network.
|
||||
2. Redirect legacy cloud hostnames to the OpenJibo environment.
|
||||
3. Prevent fallback DNS from bypassing the controlled resolver.
|
||||
4. Gain RCM/device access for targeted TLS or host validation changes.
|
||||
5. Verify robot startup, token flow, socket flow, and first-turn behavior.
|
||||
|
||||
## Required Host Routing
|
||||
|
||||
At minimum, watch and validate:
|
||||
|
||||
- `api.jibo.com`
|
||||
- `api-socket.jibo.com`
|
||||
- `neo-hub.jibo.com`
|
||||
- `neohub.jibo.com`
|
||||
|
||||
## Scripted Helpers
|
||||
|
||||
Bootstrap helper scripts live in [scripts/bootstrap](C:/Projects/JiboExperiments/OpenJibo/scripts/bootstrap):
|
||||
|
||||
- `Discover-JiboHosts.ps1`
|
||||
- `Generate-JiboDnsOverrides.ps1`
|
||||
- `Test-OpenJiboRouting.ps1`
|
||||
|
||||
These are intentionally conservative helpers for discovery and verification, not destructive patch tools.
|
||||
|
||||
## TLS And Runtime Patching
|
||||
|
||||
Patching requirements will vary by device version and by where certificate validation is enforced.
|
||||
|
||||
Near-term guidance:
|
||||
|
||||
- record each patch location by software version
|
||||
- prefer small, repeatable changes over ad hoc edits
|
||||
- keep a versioned host inventory and patch checklist
|
||||
- do not describe OTA as the primary bootstrap method until the hosted cloud is stable
|
||||
|
||||
## Smoke Test Goals
|
||||
|
||||
The first real-device smoke test should confirm:
|
||||
|
||||
- robot startup reaches the hosted cloud
|
||||
- token issuance succeeds
|
||||
- required sockets connect
|
||||
- the robot can complete one simple turn
|
||||
- update metadata calls do not break startup
|
||||
70
OpenJibo/docs/protocol-inventory.md
Normal file
70
OpenJibo/docs/protocol-inventory.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Protocol Inventory
|
||||
|
||||
## Purpose
|
||||
|
||||
This document tracks the currently observed cloud surface area for Jibo and helps keep the .NET port aligned with real behavior captured by the Node prototype.
|
||||
|
||||
Confidence levels:
|
||||
|
||||
- `high`: observed in code and currently represented in the .NET scaffold
|
||||
- `medium`: observed in the Node oracle and documented, but not fully ported yet
|
||||
- `low`: expected or inferred, needs more robot validation
|
||||
|
||||
## Known Hosts
|
||||
|
||||
| Host | Purpose | Confidence | Notes |
|
||||
| --- | --- | --- | --- |
|
||||
| `api.jibo.com` | HTTPS API target for `X-Amz-Target` operations | high | Main request dispatch path in the Node prototype |
|
||||
| `api-socket.jibo.com` | token-authenticated WebSocket path | medium | Node accepts tokenized connections and intentionally sends no greeting |
|
||||
| `neo-hub.jibo.com` | listen and proactive WebSocket traffic | medium | Path-driven split between listen and `/v1/proactive` |
|
||||
| `neohub.jibo.com` | likely alias/spelling variant to watch | low | Mentioned in docs; validate against real traffic |
|
||||
|
||||
## HTTP Dispatch Families
|
||||
|
||||
Observed from `open-jibo-link.js`:
|
||||
|
||||
| Service family | Example operations | Confidence | Current .NET status |
|
||||
| --- | --- | --- | --- |
|
||||
| `Account_*` | `CreateHubToken`, `CreateAccessToken`, `Login`, `Get` | high | initial dispatch implemented |
|
||||
| `Notification_*` | `NewRobotToken` | high | initial dispatch implemented |
|
||||
| `Loop_*` | `List`, `ListLoops` | medium | initial dispatch implemented |
|
||||
| `Robot_*` | `GetRobot`, `UpdateRobot` | medium | initial dispatch implemented |
|
||||
| `Update_*` | `ListUpdates`, `ListUpdatesFrom`, `GetUpdateFrom`, `CreateUpdate`, `RemoveUpdate` | medium | list/get scaffolding implemented |
|
||||
| `Media_20160725` | `List`, `Get`, `Create`, `Remove` | medium | not yet ported |
|
||||
| `Log_*` | `PutEvents`, `PutEventsAsync`, `PutBinaryAsync`, `PutAsrBinary` | medium | upload endpoints reserved; detailed handling pending |
|
||||
| `Key_*` | `ShouldCreate`, `CreateSymmetricKey`, `GetRequest` | medium | pending |
|
||||
| `Person_*` | `ListHolidays` | low | pending |
|
||||
| `Backup_*` | `List` | low | pending |
|
||||
|
||||
## WebSocket Flows
|
||||
|
||||
| Host/path | Flow | Confidence | Current .NET status |
|
||||
| --- | --- | --- | --- |
|
||||
| `api-socket.jibo.com/{token}` | token-authenticated socket for API-side signaling | medium | stub endpoint implemented |
|
||||
| `neo-hub.jibo.com/{listen-path}` | listen turn flow with JSON and binary audio traffic | medium | initial JSON flow implemented |
|
||||
| `neo-hub.jibo.com/v1/proactive` | proactive connection flow | medium | stub endpoint implemented |
|
||||
|
||||
## Upload Paths
|
||||
|
||||
| Path | Purpose | Confidence | Current .NET status |
|
||||
| --- | --- | --- | --- |
|
||||
| `/upload/asr-binary` | async audio/log upload target | medium | placeholder endpoint accepted |
|
||||
| `/upload/log-events` | async log upload target | medium | placeholder endpoint accepted |
|
||||
| `/upload/log-binary` | async binary upload target | medium | placeholder endpoint accepted |
|
||||
|
||||
## First Core Revive Slice
|
||||
|
||||
The first .NET hosted milestone should fully support:
|
||||
|
||||
- `Account.CreateHubToken`
|
||||
- `Notification.NewRobotToken`
|
||||
- `Loop.List` and `Loop.ListLoops`
|
||||
- `Robot.GetRobot`
|
||||
- `Update.ListUpdates`, `Update.ListUpdatesFrom`, `Update.GetUpdateFrom`
|
||||
- root probe and health checks
|
||||
- basic listen/proactive WebSocket acceptance
|
||||
- normalized turn and reply mapping for simple chat
|
||||
|
||||
## Fixture Source
|
||||
|
||||
Sanitized fixtures live under [src/Jibo.Cloud/node/fixtures](C:/Projects/JiboExperiments/OpenJibo/src/Jibo.Cloud/node/fixtures) and should be expanded as real traffic is captured.
|
||||
24
OpenJibo/docs/public-site-plan.md
Normal file
24
OpenJibo/docs/public-site-plan.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Public Site Plan
|
||||
|
||||
## Goal
|
||||
|
||||
Stand up a small public site on `openjibo.com` that makes the project understandable in a few minutes.
|
||||
|
||||
## First Version Content
|
||||
|
||||
- project overview
|
||||
- current status
|
||||
- links to source repositories
|
||||
- links to device bootstrap docs
|
||||
- explanation of the hosted-cloud direction
|
||||
- contribution/contact or waitlist path
|
||||
|
||||
## What The Site Should Not Pretend Yet
|
||||
|
||||
- zero-touch recovery
|
||||
- complete parity with the original cloud
|
||||
- public production readiness before device validation is repeatable
|
||||
|
||||
## Initial Repo Asset
|
||||
|
||||
A simple static site scaffold lives in [src/OpenJibo.Site](C:/Projects/JiboExperiments/OpenJibo/src/OpenJibo.Site).
|
||||
33
OpenJibo/docs/support-tiers.md
Normal file
33
OpenJibo/docs/support-tiers.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Support Tiers
|
||||
|
||||
## Purpose
|
||||
|
||||
This document keeps the revival effort honest about what must work first, what can wait for parity, and what belongs to later modernization.
|
||||
|
||||
## Required For Core Revive
|
||||
|
||||
- hosted replacement cloud reachable through legacy Jibo host routing
|
||||
- token, account, robot, and session bootstrap flows needed for startup
|
||||
- basic WebSocket connectivity for listen and proactive channels
|
||||
- minimal turn handling and a normalized `ResponsePlan` path
|
||||
- Azure deployment foundation
|
||||
- Azure SQL-backed persistence design
|
||||
- bootstrap documentation for router, DNS, RCM, TLS patching, and smoke tests
|
||||
|
||||
## Optional For Parity
|
||||
|
||||
- broader `X-Amz-Target` family coverage
|
||||
- richer media management
|
||||
- more complete key and sharing flows
|
||||
- higher-fidelity update metadata behavior
|
||||
- more native-skill bridging and expression parity
|
||||
- more complete per-version device behavior mapping
|
||||
|
||||
## Future Modernization
|
||||
|
||||
- OTA-first recovery for non-technical owners
|
||||
- paid hosted plans, subscriptions, and donation flows
|
||||
- deeper on-device modernization
|
||||
- richer runtime orchestration and AI providers
|
||||
- community plugin or skill ecosystem
|
||||
- OS, bridge, and firmware modernization beyond hosted-cloud recovery
|
||||
Reference in New Issue
Block a user