feat(streaming): establish cost budget ledger
Add the validated frame-work profile, deterministic completion charges, and shadow admission meter before enforcing the scheduler in Slice E2. Lifecycle artifacts now expose elapsed work, would-yield limits, backlog bytes/age, and pending owner ledgers without changing accepted execution. Tests: dotnet build AcDream.slnx -c Release --no-restore; dotnet test AcDream.slnx -c Release --no-build --no-restore (8124 passed, 5 skipped)
This commit is contained in:
parent
2945896a6f
commit
ac45cb1bd7
14 changed files with 1280 additions and 71 deletions
|
|
@ -708,6 +708,16 @@ replace state produced by another job. CPU mesh extraction may still be schedule
|
|||
onto `ObjectMeshManager`'s thread-safe work queue, but the worker never publishes
|
||||
partially hydrated cell membership or shell placement to the renderer.
|
||||
|
||||
`RuntimeOptions.StreamingWorkBudgets` is the single startup profile for
|
||||
update-thread streaming cost. `StreamingWorkMeter` owns the frame-scoped
|
||||
admission ledger; `LandblockStreamResultCost` assigns deterministic charges to
|
||||
immutable completion arrays and logical retained entries without claiming to
|
||||
measure CLR allocator overhead. During Slice E1 the ledger is observational:
|
||||
the existing scheduler still executes its accepted work, while lifecycle
|
||||
artifacts record would-yield limits, elapsed work, retained backlog bytes/age,
|
||||
and pending publication/retirement counts. Enforcement belongs to the explicit
|
||||
Slice E scheduler, not to presentation owners or the worker.
|
||||
|
||||
### World-reveal readiness ownership
|
||||
|
||||
`WorldRevealCoordinator` is the single App-layer owner of each login or portal
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
**Date:** 2026-07-24
|
||||
|
||||
**Status:** Slices A–D complete. Slice E is active.
|
||||
**Status:** Slices A–D complete. Slice E is active (E0/E1 complete).
|
||||
|
||||
**Scope:** Reconcile and sequence the existing Modern Pipeline (`MP`) and
|
||||
Linux/headless (`LH`) tracks using the 2026-07-24 connected performance audit.
|
||||
|
|
@ -726,6 +726,12 @@ checkpoint retained staged or retiring bytes. Evidence:
|
|||
|
||||
**Active plan:** [`2026-07-24-modern-runtime-slice-e-cost-budgeted-streaming.md`](2026-07-24-modern-runtime-slice-e-cost-budgeted-streaming.md).
|
||||
|
||||
**Checkpoint 2026-07-24:** E0 fixed the retail/adaptation contract and current
|
||||
owner inventory. E1 landed the validated work profile, deterministic meter and
|
||||
completion charge model, plus lifecycle-artifact shadow diagnostics while
|
||||
preserving the prior scheduler's execution. E2 is the first enforcement
|
||||
cutover.
|
||||
|
||||
**Purpose:** Remove update-thread portal transactions.
|
||||
|
||||
- Introduce explicit stage queues and `StreamingWorkBudget`.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Modern Runtime Slice E — Cost-budgeted streaming and retirement
|
||||
|
||||
**Status:** active — E0 contract/inventory complete
|
||||
**Status:** active — E0/E1 complete; E2 explicit admission queues next
|
||||
**Program:** `docs/plans/2026-07-24-modern-runtime-architecture.md`
|
||||
**Baseline:** Slice D closeout commit `66690805`
|
||||
**Behavior contract:** no visual-quality or retail-behavior reduction
|
||||
|
|
@ -232,6 +232,20 @@ the active destination generation. Far-ring work may continue after reveal.
|
|||
lifecycle artifacts.
|
||||
- Preserve current execution while measuring the would-yield decisions.
|
||||
|
||||
**Complete 2026-07-24.** `RuntimeOptions` now owns one validated scheduling
|
||||
profile (time, admissions, retained CPU bytes, entity operations, requested GPU
|
||||
bytes, GL retire operations, and destination reserve). The single-thread meter
|
||||
has a deterministic clock seam, first-operation progress rule, explicit
|
||||
yield/oversize/failure/overrun facts, and no effect on legacy execution at this
|
||||
checkpoint. Immutable completion payloads receive deterministic charges for
|
||||
their exact array data and logical retained entries; this is deliberately not
|
||||
misreported as CLR heap size. Lifecycle JSON now includes last-frame work,
|
||||
deferred retained bytes/age, and pending publication/retirement counts.
|
||||
|
||||
Validation: complete App suite 3,643 passed / 3 skipped; complete solution
|
||||
8,124 passed / 5 skipped; Release solution build green. Existing priority,
|
||||
retry, stale-generation, and deferred-compaction tests remain green.
|
||||
|
||||
### E2 — Explicit admission queues
|
||||
|
||||
- Replace `_deferredApply` with stable generation/priority queues.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue