Skip to content

feat(adapters): per-host notice delivery advertisements (#99 stage 4) - #362

Merged
ScriptedAlchemy merged 1 commit into
mainfrom
feat/99-s4-advertisement
Sep 3, 2026
Merged

feat(adapters): per-host notice delivery advertisements (#99 stage 4)#362
ScriptedAlchemy merged 1 commit into
mainfrom
feat/99-s4-advertisement

Conversation

@ScriptedAlchemy

Copy link
Copy Markdown
Owner

Summary

  • New noticeDelivery capability-table section on all four pinned hosts, matching the runtime route selector's vocabulary from feat(notices): #99 stage-4 delivery substrate (runtime half) #361
  • Truths enforced by a pin test: mcp-inbox/mcp-resource-updated supported everywhere; next-event/current-response supported on the three hook-bearing hosts and honestly unavailable on hookless portable; directed-push/host-toast dated-unavailable on every host per the 2026-09-02 survey (no documented plugin-initiated push or toast APIs)
  • Capability hashes re-pinned; changeset

Test plan

  • capability-states + metadata suites 47/47
  • typecheck + lint

@changeset-bot

changeset-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: cc44aad

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
agent-bundle Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@ScriptedAlchemy
ScriptedAlchemy merged commit 105c65d into main Sep 3, 2026
4 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T04:21:41.333650Z cc44aad PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cc44aad537

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/agent-bundle/src/adapters/capabilities/claude-2.1.250.json
@ScriptedAlchemy
ScriptedAlchemy deleted the feat/99-s4-advertisement branch September 3, 2026 05:25
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s when generating MCP entries

Addresses the #362 review: the per-host noticeDelivery tables were unreachable
through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery
and TargetRegistry.noticeDelivery(target) now expose the typed advertisement
(built-ins read their pinned tables; plugin advertises the three-host
intersection; the registry re-validates JavaScript adapters and fails closed),
and build/inspect pass it to the generated route MCP entry, which wires the
inbox resources/subscribe + resources/updated route only where the host
advertises mcp-resource-updated.
ScriptedAlchemy added a commit that referenced this pull request Sep 3, 2026
…s/updated wiring on them (#99, #362 follow-up) (#412)

* fix(adapters): expose notice delivery advertisements to the compiler and gate the notice routes on them

- add a per-target noticeDelivery advertisement to TargetAdapter and the
  registry, with the delivery shape defined locally in the compiler
  (adapters/notice-delivery.ts) so the optional runtime peer never
  enters public declarations; a test asserts mutual assignability with
  @agent-bundle/runtime/notices
- wire the mcp-inbox route only when the target advertises it as
  supported, and mcp-resource-updated only when both it and the inbox
  are advertised; thread noticeDelivery through entries, build, and
  inspect-bundler
- consumer-facing changeset for agent-bundle

* fix(adapters): require an ISO survey date in unavailable notice-route reasons; state the diagnostic-code impact in the changeset
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.

1 participant