Skip to content

chore: nr-llm 0.33 and two settings that a deployment kept resetting - #229

Merged
CybotTM merged 1 commit into
mainfrom
chore/nr-llm-033
Aug 21, 2026
Merged

chore: nr-llm 0.33 and two settings that a deployment kept resetting#229
CybotTM merged 1 commit into
mainfrom
chore/nr-llm-033

Conversation

@CybotTM

@CybotTM CybotTM commented Aug 21, 2026

Copy link
Copy Markdown
Member

Raises the nr-llm floor to ^0.33, pulls the five consumer patch releases, and moves two settings out of the running host and into the repository.

This release replaces a hand-applied patch. nr-llm 0.32.0 shipped a fallback so that vision() and embed() use the default configuration when the caller pins no provider — and then handed KeyedProviderRegistry the wrong kind of key: the tx_nrllm_provider row's identifier (openai-dcbd8f here) where the registry is keyed by the adapter's own name (openai). Two namespaces behind one method name. 0.32.0 did not fix the failure it was written for — it renamed it, from "No provider specified" to "Provider … not found".

That is what broke alt-text generation on this installation. To get through a demo the single line was patched by hand in vendor/ on the host; nr-llm 0.33.0 carries the real fix, so this deployment replaces the patch instead of losing it.

rateLimitPerMinute: 10 → 120. The limiter is nr-ai-search's own, not the provider's. It counts per visitor IP per minute and keeps a separate bucket per widget, so everyone watching a demo from one office NAT shares a single allowance. Ten is reached within a few clicks, and the message it produces — "Zu viele Anfragen" — reads like a provider quota to whoever hits it.

partial_indexing: the trigger list, and a repair for existing rows. lochmueller/index does react to an editor saving a record — DataHandlerUpdateHook fires on datamap, cmdmap and clearcache — but it returns immediately unless the trigger is listed in the index configuration's partial_indexing column, and an empty column parses to an empty list. The seed created the configuration with that column empty, so nothing was indexed after the first bulk run: content added later stayed invisible to AI Search until somebody ran index:queue by hand, and nothing on this host does.

The INSERT is guarded by NOT EXISTS and would never repair a configuration that already exists — which is exactly the state this instance was in — so an UPDATE fills the column wherever it is empty. Same self-healing shape as the chunk-count gate further down the file.

What moves

Package From To
netresearch/nr-llm v0.32.0 v0.33.0
netresearch/nr-llm-compat v0.1.2 v0.1.3
netresearch/nr-landingpage v0.3.8 v0.3.9
netresearch/nr-mcp-agent v0.12.1 v0.12.2
netresearch/nr-repurpose v0.4.6 v0.4.7
netresearch/t3-cowriter v3.6.5 v3.6.6
netresearch/nr-ai-search dev-main d2f9ee3 dev-main 3204ede

Only netresearch/nr-llm needed a constraint change — the other carets already accept their patch releases. nr-ai-search is pinned to dev-main and moves with them.

Not covered by this change: the MBS demo content is still invisible to AI Search, and no indexing change will alter that. Its page renders 107 characters of text because the element carrying the content is hidden and the visible element beside it is empty. That is a content state, not an indexing one.

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

Raises the nr-llm floor to ^0.33 and pulls the five consumer patch releases. 0.33.0 removes a regression 0.32.0 introduced on this very installation: vision() and embed() handed the provider registry the tx_nrllm_provider row's identifier where it is keyed by the adapter's own name, so alt-text generation through the ai_filemetadata bridge failed with 'Provider not found'. It was patched by hand in vendor/ on the host to get through a demo; this release replaces that patch.

rateLimitPerMinute goes to 120. The limiter counts per visitor IP per minute with a separate bucket per widget, so everyone watching a demo from one office NAT shares one allowance of ten -- reached within a few clicks, and it answers in words that read like a provider quota.

partial_indexing gets its trigger list. lochmueller/index reacts to an editor saving a record only when the trigger is listed there, and the seed created the configuration with an empty column, so nothing indexed after the first bulk run. New content stayed invisible to AI Search until somebody ran index:queue by hand, and nothing on this host does. The INSERT is guarded by NOT EXISTS and would never repair an existing row, so an UPDATE fills it as well.

Assisted-by: claude-code:claude-fable-5
Agent-Session: https://claude.ai/code/session_0144iD1P22LotW8rxmxrNGro
Agent-Host: 0493f0
Signed-off-by: Sebastian Mendel <info@sebastianmendel.de>
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 6 package(s) with unknown licenses.
See the Details below.

License Issues

composer.lock

PackageVersionLicenseIssue Type
netresearch/nr-landingpage0.3.9NullUnknown License
netresearch/nr-llm0.33.0NullUnknown License
netresearch/nr-llm-compat0.1.3NullUnknown License
netresearch/nr-mcp-agent0.12.2NullUnknown License
netresearch/nr-repurpose0.4.7NullUnknown License
netresearch/t3-cowriter3.6.6NullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
composer/netresearch/nr-landingpage 0.3.9 UnknownUnknown
composer/netresearch/nr-llm 0.33.0 UnknownUnknown
composer/netresearch/nr-llm-compat 0.1.3 UnknownUnknown
composer/netresearch/nr-mcp-agent 0.12.2 UnknownUnknown
composer/netresearch/nr-repurpose 0.4.7 UnknownUnknown
composer/netresearch/t3-cowriter 3.6.6 UnknownUnknown

Scanned Files

  • composer.lock

@sonarqubecloud

Copy link
Copy Markdown

@CybotTM
CybotTM marked this pull request as ready for review August 21, 2026 17:07
Copilot AI lite review requested due to automatic review settings August 21, 2026 17:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@CybotTM

CybotTM commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

Self-review: 84017b5

The review this pull request demands is unsatisfiable (Copilot quota wall or repeated bot failures on this head). Per the documented fallback, the diff on this head was reviewed by the PR author; this comment is the on-the-record attestation the merge gate reads back. It stops matching on the next push.

@CybotTM
CybotTM added this pull request to the merge queue Aug 21, 2026
Merged via the queue into main with commit 74c8d2f Aug 21, 2026
20 of 21 checks passed
@CybotTM
CybotTM deleted the chore/nr-llm-033 branch August 21, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants