Skip to content

Docs re-read: correct skills where the AgentBase docs differ (inbound auth header stripping, rate-limit fallback, memory limit, MCP) - #11

Merged
khanhphamj merged 4 commits into
mainfrom
docs-sync-2026-11
Nov 9, 2026
Merged

khanhphamj merged 4 commits into
mainfrom
docs-sync-2026-11

Conversation

@khanhphamj

@khanhphamj khanhphamj commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

What

Re-read all 41 English pages of https://docs.greennode.ai/ai-stack/agent-base and corrected the skills where the docs say something different or the skills were silent on something an agent builder needs. Docs-only: no assets/ template code changed, descriptions untouched.

Most important fix: in Runtime Inbound Auth IAM Permissions and JWT mode the platform strips Authorization before the container (only No authorization forwards it), and the Console now defaults a new Runtime to IAM. The skills told the agent to read the user JWT from Authorization behind a Runtime JWT, which would 401 every request.

Other items: key-level Rate Limit is shared by all models of the key (a fallback model does not bypass it), Memory event pagination from ≤ 5000 is documented, Outbound IP of a Private Runtime, vCR backendName / robot username / expiry, runtime env vars "non-sensitive config only", stateless contract, ephemeral filesystem (vStorage S3), gateway JWT settings (Discovery URL/JWKS, Principal claim), connector Header key/prefix, default scopes, M365 VNG bundle, Slack as Custom provider, 22 policy operators + AND, a Built-in Tools row in the decision guide. Full list in CHANGELOG.md (Unreleased).

Verified live (2026-11-09, temporary resources, all deleted): deleting a Policy Group does not detach it from a gateway as the docs say (the gateway keeps the dangling policyGroupId; unbind first with PATCH {"policyGroupId": null}), and the documented policy-group limits were not enforced on the test account (100 policies per group accepted, 429 errors.quota.policy at 101; 43 groups). The skills now say so. Gateway identity gw-<id> and runtime identity runtime-<id> noted.

Second live lab (2026-11-09, one account, one gateway, IAM inbound): a gateway with no Policy Group bound let every valid IAM caller's tools/call through (skills said 403; a 2026-10 run saw 403) — now written as a security rule (bind a group before callers can reach the gateway). Bound group with zero policies or a dangling id ⇒ deny; a deny was HTTP 200 + MCP tool error Request denied by policy. (no 403 seen); deny wins over allow in any order; bare iam / jwt principals rejected by the API (400) — use iam:*, jwt:*, *; policy changes apply in seconds, PATCH bind needs UPDATING → ACTIVE; targets at <gateway endpoint>/<target name>. Not tested: JWT-inbound gateways, non-owner callers, conditions, a real Runtime service account.

Not changed (needs a decision or a live check)

  • BFF jwt mode and the Expo app send the user token only in Authorization, so they cannot work behind a Runtime JWT; the skills now say so, the code is untouched (small fix, needs web/frontend tests and a dev check).
  • What grn / the API default to for inbound auth is not documented; agent.yaml.tpl, the deploy skill and the ci.yml smoke test still assume "No authorization" for grn deploy up.
  • Built-in Tools: no template or recipe (session creation tool, token acceptance, REST base URL unverified).
  • Open questions and docs inconsistencies: see the report in the shared notes folder (REPORT-docs-sync.md).

Checks

  • uv run -q --python 3.12 --no-project python3 .github/scripts/check_skills.py — green (includes drift checks)
  • .github/scripts/check_drift.py — green
  • No template files changed, so template test suites were not re-run.

🤖 Generated with Claude Code

khanhphamj and others added 4 commits November 9, 2026 06:48
… auth header stripping, rate-limit fallback, memory limit, MCP, vCR)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… as documented (verified live 2026-11-09)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…rincipals (verified live 2026-11-09)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@khanhphamj
khanhphamj merged commit 006cbd7 into main Nov 9, 2026
10 of 12 checks passed
@khanhphamj
khanhphamj deleted the docs-sync-2026-11 branch November 9, 2026 00:26
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