Story: Account for the grid's usage — the remaining work

Table of Contents

This page documents a story in Sprint 30, carried unfinished from Sprint 29 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

The grid's global view answers which tenant is using what, from what the installation observed about its own operation. No policy is widened, no cross-tenant read is added, and no tenant's content leaves its tenant.

2. Status

Field Value
State BACKLOG
Parent sprint Sprint 30
Now Not yet started. Split from Account for the grid's usage, which closed in sprint 29 with its done tasks.
Waiting on Nothing.
Next Triage into a sprint.
Last touched 2026-11-08

3. Acceptance

  • The compute service writes a usage row per completed result, carrying the tenant, the host, the app version, the duration, the cores and the outcome, at the moment it already acts inside that tenant.
  • A usage row carries no tenant content: not the input bundle, the config, the output, the stderr or the report definition.
  • The super administrator reads the whole ledger under a permission, and can answer which tenant used what over any window the retention keeps.
  • The grid's load and capacity screens draw per-tenant usage from the ledger, and the work counts they state are true rather than a slice.

4. Tasks

Task State Start End Description
Record a usage row as the service works BACKLOG     The compute service already enters each tenant to dispatch its work and to take its result back. Record what it did there as installation data.
Serve the usage ledger to the super administrator BACKLOG     The ledger answers the global question, but nothing reads it yet. Serve it whole to the operator, and draw per-tenant usage on the grid's load and capacity screens.

5. Decisions

  • Split from Account for the grid's usage on 2026-11-08 at sprint 29 close. The acceptance above is copied from that story; its done tasks are recorded there.
  • Reviewed on 2026-11-08 at sprint 30 start. Compute has a telemetry repository and handler that may already hold part of this. Check them before starting.

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)