inspector/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 18bda28ce1 feat(test-servers): a CIMD showcase fixture that serves its own client metadata document
In CIMD (SEP-991) the `client_id` *is* a URL the authorization server
dereferences to learn the client's metadata. Nothing in this repo served such a
document, so a fixture could advertise `client_id_metadata_document_supported`
and still be unusable — exercising CIMD meant standing up a second host by hand.

That is why #2242 shipped verified by its tests alone, and why the v2.6.0
release smoke recorded it as the one contribution with an observable UI surface
that could not be reached.

The composable server now hosts the document itself when `oauth.clientMetadata`
is set, gated on `supportCIMD` — advertising a client the server would then
refuse to honour is a worse fixture than serving nothing. The document's
`client_id` is derived from the **request** rather than from a configured
issuer, so it stays correct when the harness picks the port, as the integration
test does.

`supportDCR: false` in the fixture is load-bearing rather than incidental. With
DCR available a CIMD failure silently succeeds via dynamic registration and the
reproduction proves nothing — during development a misconfigured run connected
happily and reported `Dynamic (DCR)` with a `test_client_…` id, which reads as
success until you check the client id. With DCR off, CIMD is the only path that
can complete, so reaching a connected state is itself the assertion; the test
pins the absent `registration_endpoint` so it stays that way.

Verified end to end against the fixture: Connection Info read
`Client registration — Client ID Metadata (CIMD)` with the client id equal to
the metadata URL. That drive needed a self-signed HTTPS listener, because the
Inspector requires the CIMD metadata URL to be HTTPS with no loopback
exemption — filed separately as #2305, since it is a validation gap rather than
a fixture one.

Closes #2306

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RsmR1iQstcrEzJFmgZXGLi
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-09-09 01:21:15 -04:00
..
images docs: restore the missing docs/ targets and split the catalog-seeding wording (#1811) (#1812) 2026-07-27 20:37:14 -04:00
architecture.md Merge branch 'v2/main' into v2/chore/2163-agent-skills 2026-08-29 23:06:01 -04:00
cli-smoke-testing.md docs: harden the Actions example in the CLI smoke-testing guide 2026-09-06 14:41:56 -04:00
docker.md chore: extract AGENTS.md recipes into agent skills 2026-08-29 00:36:37 -04:00
inspector-roadmap-2026-h2.md chore(scripts): rename the local pre-push gate off ci, and guard it out of CI (#2146) 2026-08-26 23:56:34 -04:00
launcher-config-consolidation-plan.md docs: restore the missing docs/ targets and split the catalog-seeding wording (#1811) (#1812) 2026-07-27 20:37:14 -04:00
mcp-app-review.md fix(web): move the app origin off 6276, bound the publish route 2026-08-24 08:45:40 -04:00
mcp-server-configuration.md feat: seed the MCP org example server as a remote first-run card (#2201) 2026-09-06 22:57:53 -04:00
publishing.md chore: extract AGENTS.md recipes into agent skills 2026-08-29 00:36:37 -04:00
quality-gate.md chore: address Copilot review round 2 (#2226) 2026-09-05 16:27:46 -04:00
skill-authoring.md Review round 8: using a fixture, not connecting, is the trigger 2026-09-05 18:03:37 -04:00
test-servers.md feat(test-servers): a CIMD showcase fixture that serves its own client metadata document 2026-09-09 01:21:15 -04:00
v1-to-v2-migration.md fix(web): bound retained app documents by size; correct the cookie claim 2026-08-24 08:45:40 -04:00