Implement credential-safe programs smoke gate (#97)
Some checks failed
Native code generation / deterministic (push) Failing after 2m12s
Imaging and meshing gate / native (push) Failing after 5m40s
JPEG 2000 feature / linux (push) Successful in 2m50s
Native Rust workspace compile / compile (push) Failing after 56s
Skia feature / linux (push) Successful in 31m24s

This commit is contained in:
2026-08-11 17:04:40 +00:00
parent 66f10baa1b
commit a9e2711447
18 changed files with 2216 additions and 25 deletions

View File

@@ -13,10 +13,37 @@ here so a source entry is never mistaken for a completed port.
| `prim-inspector` | PrimInspector | Implemented with live and deterministic fake-grid discovery |
| `inventory-explorer` | InventoryExplorer | Implemented with live inventory and deterministic AIS fixtures |
| `irc-gateway` | IRCGateway | Implemented with live IRC/grid transports and deterministic offline scripts |
| `test-client` | TestClient | All non-voice command groups implemented with live and deterministic fake-grid backends; voice adapters tracked by #95 and #96 |
| `test-client` | TestClient | All source commands implemented with live and deterministic fake-grid backends |
| `vivox-test` | VivoxTest | Implemented with gated live validation and a scripted fake TCP/control service |
| `webrtc-test` | WebRtcTest | Implemented with gated live WebRTC and a deterministic secure loopback peer |
## Final program completeness and live smoke
`live-grid-smoke --audit-only` compares the pinned source manifest with all
nine original native targets, their offline CLI suites, the generated
`TestClient` inventory, the implementation inventory, and the runtime command
registry. It succeeds only when both pending counts are zero.
The deterministic gate runs the same nine evidence stages without credentials
or network access:
```sh
cargo run -p libremetaverse-programs --bin live-grid-smoke -- \
--fake --evidence /tmp/metacrate-smoke-fake.jsonl
```
A live OpenSim/compatible-grid run reads the shared `GRID_USER="First Last"`,
`GRID_PASSWORD`, and `GRID_LOGIN_URL` values from the process environment or
workspace `.env`. The configured URI is used directly and the request includes
OpenSim-specific response options; Second Life voice caps are not required.
Credential transmission, one local-chat marker, a brief movement/return
teleport, and creation of a folder followed by a reversible move to Trash each
have their own literal opt-in. Existing evidence files are never overwritten.
The harness never spends L$, uploads assets, permanently deletes inventory,
changes estate or parcel state, or targets another user. See
[`docs/live-grid-smoke.md`](../docs/live-grid-smoke.md) for the exact command,
evidence schema, and dedicated-account precautions.
## WebRtcTest
`webrtc-test` uses the native `libremetaverse-voice-webrtc` adapter. Its