Let a roster entry carry request headers #786
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!786
Loading…
Reference in a new issue
No description provided.
Delete branch "eng/roster-request-headers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
An authenticated hosted MCP had no supported way in. Remote servers already worked and expandRoster already resolved a secret into an entry, but there was no headers field, so a credential had to ride in the query string. addEndpoint returns early unless the URL carries an explicit port, and even then guards the host alone, so a key in a portless HTTPS query string is not among the values a reply is checked against. headers is expanded like env, rejected on stdio like env is rejected on HTTP, applied to both HTTP transports, and its values go through addOpaque so a credential cannot appear in a reply. One http.Client is shared by the roster, so a declaring entry gets a shallow copy.
closes #778
Why this replaces #779
#779 was opened through AGit flow, so its head is
refs/pull/779/headand no branch push could update it. Its CI stayed pinned to a commit cut before the twomainbreakages below were fixed, and the PR had degraded to reporting zero changed files. This carries the identical change, authored by coilyco-ops as before, rebuilt on currentmainas a single commit. #779 is closed as superseded.What changed since #779
Nothing in the roster change itself. The diff is byte-identical to
59c16a5. What changed is the base: the two failures that made #779 red were pre-existing onmainand are now fixed there via #777.test-skipswas red onTestTheGateReadsTheDeclaredWorkflow, which skipped rather than failed after the lane declaration moved to AGENTS.md frontmatter and its readers were left behind. Fixed on main.TestASecondJobInAThreadNeitherBindsNorFailsfailed intermittently on a real thread-binding race in the job store. Fixed on main.Neither was ever caused by this branch.
Verification
build,policy-check,vet,test,test-skipsand the full pre-commit suite pass locally against this exact tree, plus 500 iterations of the thread-binding tests.I have not exercised the headers path against a live authenticated MCP. That needs a deployment holding a real credential, which is an operator step.