[Grid agent] Complete opt-in live-grid validation and the milestone acceptance gate #135
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objective
Prove the completed milestone behaves safely, credibly, responsively, and observably on an OpenSim-compatible grid, then publish reproducible acceptance evidence. This issue integrates and validates existing work; it must not hide missing functionality with test-only substitutes.
Deterministic gate
Opt-in live-grid matrix
Evidence and completion criteria
ubuntu-latestonly and pass within the established project CI budget.Dependencies
This is the final milestone issue and depends on every other backlog item. Live actions are opt-in validation only; deterministic offline evidence remains the required CI gate.
Implemented and pushed as commit
b56b280. Added a production metacrate-grid-agent acceptance module and CLI, versioned redacted JSONL schema, create-new/syncing evidence writer with secret-canary and forbidden-field scans, measurable startup/control/chat-scheduling/reconnect/shutdown budgets, exact generation-rollover and zero-resource assertions, and independent fail-closed live capability opt-ins. Added the human-readable milestone handoff/live matrix, current release evidence (28,857,688 bytes; SHA-256 b2c93a6acd6fa856669fdb4e08110d700218255f57ec2f7908977eeabea7c470), and an Ubuntu-only required-CI evidence step. Verification: complete all-feature metacrate-grid-agent suite passed (137 library scenarios, 37 integration scenarios, one compile-fail doc test), including policy, secret redaction, persistence recovery, bounded load, control/TUI conformance, visuals, and cleanup; focused acceptance and dependency/namespace audits passed; strict Clippy, rustdoc warnings-as-errors, formatting, and diff checks passed. The seven-stage executable evidence run passed and contained no secret markers. No live grid action was attempted because the required independent per-capability opt-ins were absent; the committed report explicitly records that limitation and the exact dedicated-account procedure. The local Windows target remains externally blocked by the absent x86_64-w64-mingw32-gcc needed by existing AWS-LC; the portable target is retained in the project release matrix. Namespace audit confirms all milestone agent code is metacrate-grid-agent, no libremetaverse agent crate was created, and compatibility lib.rs files do not depend on or re-export metacrate crates.Reopened after operator review: the per-action live environment opt-ins introduced in
b56b280are the wrong configuration and authorization model. Corrective work will move persistent grid/LLM setup into platform config.yml, remove action-specific opt-ins, retain privileged avatar UUIDs as the mutation authority boundary, and add a TUI preferences editor. The issue will remain open until the corrected design and migrations are implemented and retested.Corrective implementation completed and pushed as
db25a97. Removed the per-capability live environment opt-ins and their CLI validation. Persistent setup now lives in platform config.yml (Linux: $XDG_CONFIG_HOME/metacrate/config.yml or ~/.config/metacrate/config.yml), with YAML examples and updated service packaging. Grid login, AI endpoint/key/model, operating mode, and privileged avatar UUIDs are editable through a secret-redacting TUI Preferences panel; --preferences supports first-run setup and --import-env performs an explicit one-time migration from the legacy .env format. Runtime environment overrides for application configuration are no longer accepted. Unknown YAML settings survive preference saves, Unix config permissions are restricted, and authorization is documented as public/ordinary IM/privileged UUID/local operator rather than landmarks/scripts/build/visual switches. The metacrate/libremetaverse namespace dependency gate remains green and no compatibility facade references metacrate crates. Verification: cargo test -p metacrate-grid-agent --all-features passed (137 library tests, 38 integration tests, one compile-fail doc test); strict all-target/all-feature Clippy, rustdoc, formatting, diff, packaging, config/TUI, namespace/dependency, LLM transport, and deterministic acceptance gates passed. The executable gate wrote seven ordered redacted records with no secret marker. Release binary: 29,487,544 bytes, SHA-256 1ccbd11baf69372d76767c419b59319447ecf088bc0ae83ce1640709f6507ad0, under the 40 MiB budget. Live grid actions were not performed because no dedicated external test account/land was supplied; as specified, the deterministic gate is required and the documented live matrix is supplemental.