Implement the advanced authorized-only workflow that turns a structured build request into a bounded linked prim object with optional validated LSL, while preserving operator control and cleaning up partial construction.
Plan before mutation
Accept requests only from authorized IM or authenticated operator origins. The LLM must produce a versioned declarative build plan: primitive shapes, transforms, materials/colors/textures from already-owned assets, link relationships, names/descriptions, and optional script source.
Validate all numbers, UUIDs, permissions, prim count, dimensions, distance from agent, land build rights, link topology, script size, and total operation duration before sending any mutation. Reject NaN/infinity, cycles, out-of-region placement, arbitrary asset URLs, uploads, purchases, and parcel/estate changes.
Expose a dry-run summary and estimated resource use. Small plans may run under configured policy; larger plans require a bound, expiring operator approval. The model cannot approve its own plan.
Transactional execution
Execute via existing native object/inventory APIs with per-step correlation and timeouts. Confirm object updates rather than assuming sends succeeded.
Record created object IDs immediately. On failure/cancel/reconnect, stop new work and attempt bounded cleanup of only objects created by this transaction; report any orphan IDs prominently.
Set ownership/permissions deliberately. Do not transfer or deed the result unless a separately authorized explicit action and supported safe policy are defined.
Optional scripts must pass the same native LSL validation rules as script delivery. Never run arbitrary downloaded code or invoke external compilers.
Acceptance criteria
Fake-grid packet tests validate representative builds, linking, permissions, script insertion, dry-run, approval binding, progress, and final object identity.
Adversarial tests cover huge plans, bad geometry, cycles, unauthorized origins, prompt injection, stale approvals, permission denial, partial replies, disconnect, cancel, and cleanup failure.
Default limits are conservative and documented; no L$ spend or permanent unrelated deletion is possible.
The control plane/TUI can observe progress, cancel, approve/deny, and identify recoverable orphans.
Dependencies
Depends on LLM tools, policy/approvals, lifecycle, perception, LSL validation, control plane, and observability. Schedule after core social/operational behavior because it is an advanced feature.
## Objective
Implement the advanced authorized-only workflow that turns a structured build request into a bounded linked prim object with optional validated LSL, while preserving operator control and cleaning up partial construction.
## Plan before mutation
- Accept requests only from authorized IM or authenticated operator origins. The LLM must produce a versioned declarative build plan: primitive shapes, transforms, materials/colors/textures from already-owned assets, link relationships, names/descriptions, and optional script source.
- Validate all numbers, UUIDs, permissions, prim count, dimensions, distance from agent, land build rights, link topology, script size, and total operation duration before sending any mutation. Reject NaN/infinity, cycles, out-of-region placement, arbitrary asset URLs, uploads, purchases, and parcel/estate changes.
- Expose a dry-run summary and estimated resource use. Small plans may run under configured policy; larger plans require a bound, expiring operator approval. The model cannot approve its own plan.
## Transactional execution
- Execute via existing native object/inventory APIs with per-step correlation and timeouts. Confirm object updates rather than assuming sends succeeded.
- Record created object IDs immediately. On failure/cancel/reconnect, stop new work and attempt bounded cleanup of only objects created by this transaction; report any orphan IDs prominently.
- Set ownership/permissions deliberately. Do not transfer or deed the result unless a separately authorized explicit action and supported safe policy are defined.
- Optional scripts must pass the same native LSL validation rules as script delivery. Never run arbitrary downloaded code or invoke external compilers.
## Acceptance criteria
- [ ] Fake-grid packet tests validate representative builds, linking, permissions, script insertion, dry-run, approval binding, progress, and final object identity.
- [ ] Adversarial tests cover huge plans, bad geometry, cycles, unauthorized origins, prompt injection, stale approvals, permission denial, partial replies, disconnect, cancel, and cleanup failure.
- [ ] Default limits are conservative and documented; no L$ spend or permanent unrelated deletion is possible.
- [ ] The control plane/TUI can observe progress, cancel, approve/deny, and identify recoverable orphans.
## Dependencies
Depends on LLM tools, policy/approvals, lifecycle, perception, LSL validation, control plane, and observability. Schedule after core social/operational behavior because it is an advanced feature.
hugo
added this to the 14 - metacrate grid agent milestone 2026-08-17 19:31:37 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Implement the advanced authorized-only workflow that turns a structured build request into a bounded linked prim object with optional validated LSL, while preserving operator control and cleaning up partial construction.
Plan before mutation
Transactional execution
Acceptance criteria
Dependencies
Depends on LLM tools, policy/approvals, lifecycle, perception, LSL validation, control plane, and observability. Schedule after core social/operational behavior because it is an advanced feature.
Implemented in commit
64edd8d. Added a versioned, strict declarative prim-build plan with conservative 16-prim limits, finite/bounded geometry and distance validation, topology/cycle checks, current-region parcel build-right checks, owned texture resolution, hardened native LSL validation, exact dry-run resource/duration estimates, and policy-bound approval above four prims. Added native live-grid execution for rez/update confirmation, names/descriptions, transforms, materials/colors/textures, restrictive permissions, linking, task-script insertion, per-step timeouts/correlation, cancellation, reverse transaction-owned cleanup, and recoverable orphan reporting. The control plane/TUI now exposes active build progress and orphan counts and routes cancellation; existing pending-approval controls provide approve/deny. Related fake-grid/adversarial tests cover representative linked scripted builds, unauthorized origins, dry-run, approval threshold, land denial, invalid/huge/cyclic/URL plans, cancellation, partial replies/timeouts, reverse cleanup, cleanup failure, progress, and final UUID identity. Verified focused build/policy/control/TUI/dependency tests, live-grid compile, rustdoc, and clippy -D warnings. The dependency namespace gate is green: all new code is metacrate-grid-agent/metacrate, and no libremetaverse facade references MetaCrate crates.