Skip to content

Reopen ADR-119: a management surface makes the backend section question due #812

Description

@CybotTM

ADR-169 section 6 recommends reopening ADR-119. Accepting ADR-169 deliberately did not do that, and this issue is where it goes instead.

Why it is not part of the accepting change

ADR-119 pre-settles four answers for exactly this trigger: the section is called "AI", the identifier is netresearch_ai and never a bare ai, the flat entries are grouped by subject first, and old routes keep working through kept identifiers plus 'aliases' => ['nrllm'].

Applying those creates a new top-level backend section shared with nr_ai_search, nr_repurpose and the cowriter. That is a decision about three other products' backend UI, and it should not arrive as a side effect of retiring a permission grant in this repository. ADR-119's own status already reads Accepted (deferred — the placement is not finally settled, see Revisit), so nothing is misrepresented by leaving it until the question is put properly.

What has actually changed since ADR-119 was written

Two things, both verified rather than recalled:

  • The count. ADR-119 described twelve submodules. Fourteen are parented to nrllm today, and a fifteenth nr_llm module — nrllm_aitasks — sits outside the tree under parent => 'web'. That correction landed in docs(adr): correct three stale counts and anchor the ones that carry an argument #808; the record now says fourteen and names nrllm_aitasks as explicitly not part of the number.
  • The constraint that put it there. The module menu drops every top-level module whose own access check fails, so a child of the admin-only nrllm would be invisible to non-admins (ADR-131). A management surface has the same constraint. Without reopening ADR-119 it becomes the second flat web-parented module, and ADR-119's "twelve flat entries do not move as they are" arrives by accretion rather than by decision.

Has the trigger fired?

Not yet, by ADR-131's own account. Its trigger is "the first cross-consumer editor surface — a personal usage-and-budget view, a personal run history, or a lead-editor view over a group". nrllm_aitasks ships an actor-scoped run viewport, but ADR-131 states that "'Own runs' for editors is mostly the approver's view" and that agent runs "are currently started from admin surfaces". A personal run history is what that surface will become, not what it is.

So the honest position is: the trigger has not fired, and the next surface fires it. This issue exists so that surface does not ship first and settle the question by accident.

What closing it needs

A decision on whether the section is created, taken with the three sibling extensions in view rather than for nr_llm alone — and if yes, the :Status: and :Amended: edits on ADR-119 plus the four pre-settled answers applied.

Split out of #768 when ADR-169 was accepted. Ref ADR-119, ADR-131, ADR-169.

Assisted by claude-code:claude-opus-5 — Session

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions