Repository navigation
feat(api): agent-facing config overlay route and heartbeat instance registration (11/15) - #479
Merged
gusfcarvalho merged 3 commits intoOct 6, 2026
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
force-pushed
the
lisa/agent-config/11-agent-config-sync
branch
from
October 5, 2026 19:35
35e447b to
1ef87c8
Compare
This was referenced Oct 6, 2026
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/11-agent-config-sync
branch
from
October 6, 2026 10:40
1ef87c8 to
67c0552
Compare
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/11-agent-config-sync
branch
from
October 6, 2026 13:06
67c0552 to
30c9505
Compare
…egistration Eleventh layer of the agent remote-configuration stack (split from #465): GET /api/agent/config returns the authenticated agent's current overlay with an opaque ETag (If-None-Match -> 304), agent JWT only and agent:sync; authenticated heartbeats refresh the instance's last-seen time and, with config_digest/config_revision, register the instance. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Say in the heartbeat route description and next to the agent role's sync grant that removing sync does not stop heartbeats carrying config_digest from registering instances. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GetConfig loaded the whole current revision (SELECT *, overlay included) before comparing If-None-Match, although nearly every poll is a 304. With an If-None-Match header, read only the revision head (id, revision, created_at; same indexed query) through agentcfg.CurrentHead, compute the ETag and return 304 on a match. The overlay is loaded only on a miss, and the response is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccf-lisa
Bot
force-pushed
the
lisa/agent-config/11-agent-config-sync
branch
from
October 6, 2026 14:24
30c9505 to
64f2362
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 11/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 #478 (
lisa/agent-config/10-agent-authz). Review and merge in order.What's in this layer
Eleventh layer of the agent remote-configuration stack (split from #465): GET /api/agent/config returns the authenticated agent's current overlay with an opaque ETag (If-None-Match -> 304), agent JWT only and agent:sync; authenticated heartbeats refresh the instance's last-seen time and, with config_digest/config_revision, register the instance.
Size: +594 -5 = 599 changed lines (without docs/go.sum).
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