Repository navigation
feat(api): admin agent config read and save (13/15) - #481
Merged
gusfcarvalho merged 5 commits intoOct 6, 2026
Merged
gusfcarvalho merged 5 commits into
gusfcarvalho merged 5 commits into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
gusfcarvalho
added this pull request to stack #484
October 5, 2026 17:30
This was referenced Oct 5, 2026
gusfcarvalho
force-pushed
the
lisa/agent-config/13-admin-config-save
branch
from
October 5, 2026 19:35
5133f09 to
60616fa
Compare
This was referenced Oct 6, 2026
gusfcarvalho
approved these changes
Oct 6, 2026
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/13-admin-config-save
branch
from
October 6, 2026 10:40
60616fa to
dc4afa1
Compare
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/13-admin-config-save
branch
from
October 6, 2026 13:06
dc4afa1 to
892a8d7
Compare
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/13-admin-config-save
branch
from
October 6, 2026 14:24
892a8d7 to
3a862a3
Compare
Thirteenth layer of the agent remote-configuration stack (split from #465): GET /api/admin/agents/{id}/config returns the current overlay (verbatim only to agent:configure holders, redacted otherwise, fail-closed) with an admin ETag, and GET …/config/revisions/{rev} returns one revision the same way; PUT saves a new revision with If-Match (428 without, 409 on conflict, 200 for a no-op), validating the overlay on its own and against the instances a save validates against (only errors the overlay introduces block; file-origin errors are warnings). Needs agent:configure to write. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…NBody enforces the limit
validateCandidate merged and validated the overlay against every instance of the validation set. ValidationBases now groups instances by base content (BaseKey): validate each distinct base once and attribute its errors to every instance in the group, so the 422 body still lists each instance and the cost of a save follows the distinct bases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
decodeStrict checked for trailing data with dec.More(), which reports false
for a trailing '}' or ']', so {"overlay":{}}} was accepted. Require the next
token to be io.EOF instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
normalizeComment let a NUL character through, and Postgres cannot store one in a text column, so PUT (and revert) failed with a 500 from the insert. Reject it as a 400, like the overlay (O11) and report NUL checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/13-admin-config-save
branch
from
October 6, 2026 14:55
3a862a3 to
8f8c370
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 13/15 of the agent remote-configuration stack
This stack splits #465 into reviewable layers of at most ~1000 changed lines each (counted without
docs/,go.sumand Markdown). The last layer's tree is identical to #465, which already has its review history.Stacked on #480 (
lisa/agent-config/12-agent-config-report). Review and merge in order.What's in this layer
Thirteenth layer of the agent remote-configuration stack (split from #465): GET /api/admin/agents/{id}/config returns the current overlay (verbatim only to agent:configure holders, redacted otherwise, fail-closed) with an admin ETag, and GET …/config/revisions/{rev} returns one revision the same way; PUT saves a new revision with If-Match (428 without, 409 on conflict, 200 for a no-op), validating the overlay on its own and against the instances a save validates against (only errors the overlay introduces block; file-origin errors are warnings). Needs agent:configure to write.
Size: +1346 -0 = 1346 changed lines (without docs/go.sum).
size-exception: over 1000 LOC because of the tests that cover this layer; the implementation part is well under 1000.
Verification
Each layer builds on its own:
go build,go vet(also with-tags integration),golangci-lint runandgo test ./...pass, andmake swagleaves the tree clean. Integration suites for the packages this layer touches pass locally on testcontainers Postgres.🤖 Generated with Claude Code