Skip to content

feat(agenthelp): runtime agent-doc collection from the cobra tree - #137

Open
steve-calvert-glean wants to merge 11 commits into
mainfrom
sc/platform-08-agenthelp-pkg
Open

feat(agenthelp): runtime agent-doc collection from the cobra tree#137
steve-calvert-glean wants to merge 11 commits into
mainfrom
sc/platform-08-agenthelp-pkg

Conversation

@steve-calvert-glean

Copy link
Copy Markdown
Collaborator

internal/agenthelp derives agent-facing usage from the live command tree (cobra is truth for structure, flags, defaults) merged with the schema registry, which gains WhenToUse and Surface (platform|legacy|raw|local) fields — populated for all registered commands. Context reports version, server, auth state (presence only, never token material), and whether legacy mode is active via GLEAN_LEGACY_APIS or X_GLEAN_INCLUDE_EXPERIMENTAL=false.

No user-visible command yet; wired up in the next PR as glean agent-help.

Part 7/9.

🤖 Generated with Claude Code

steve-calvert-glean and others added 3 commits July 27, 2026 10:03
Brings in the platform API namespaces (s.Search, s.Agents on /api/* routes)
and the WithIncludeExperimental SDK option needed for the platform-first
migration. Classic s.Client.* surface unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
BuildPlatformSearchRequest maps CLI options onto the narrower platform
shape (query, page_size, cursor, datasources via the dedicated field,
remaining facet filters as generic filters). RunPlatformSearch calls
POST /api/search and honors --timeout via context deadline since the
platform request body has no timeoutMillis. Not yet wired into cmd/search.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The flag path calls POST /api/search and falls back to the classic API
(with a one-time warning) when the tenant gate is off; GLEAN_LEGACY_APIS=1
forces the classic path. Platform responses are emitted as-is (snake_case,
never cleansed); CleanseSearchResponse and --raw now apply only to legacy
responses. Explicitly-set flags without a platform equivalent produce a
stderr note instead of silently doing nothing.

--json payloads are platform-shaped and never auto-fall-back: the body is
coupled to the endpoint, so gate-closed produces an actionable error naming
GLEAN_LEGACY_APIS=1 (under which the payload is parsed as the classic
shape, exactly as before).

MockTransport gains per-path Routes so tests can drive the platform 404 →
legacy 200 fallback sequence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-06-agents-migration branch from cdcefab to 78f3b3e Compare July 27, 2026 17:05
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-08-agenthelp-pkg branch from ce787c6 to c2f421e Compare July 27, 2026 17:05
steve-calvert-glean and others added 2 commits July 27, 2026 10:11
Spec gains Endpoint, FallbackMode (Auto | EnvOnly), and LegacyRun. When
LegacyRun is set, Run is the platform call: gate-closed 404s either retry
via LegacyRun with a one-time warning (Auto) or produce an actionable
error naming GLEAN_LEGACY_APIS (EnvOnly, for user-authored bodies).
GLEAN_LEGACY_APIS=1 routes straight to LegacyRun and skips parsing the
payload against the platform request type. LegacyRun receives the
normalized snake_case payload — the CLI's canonical input shape.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-06-agents-migration branch from 78f3b3e to 67145f7 Compare July 27, 2026 17:12
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-08-agenthelp-pkg branch from c2f421e to 256c2f7 Compare July 27, 2026 17:12
steve-calvert-glean and others added 2 commits July 27, 2026 10:15
list/get/schemas call /api/agents/... and fall back to the classic API
(one-time warning) when the tenant gate is off. run calls
POST /api/agents/{agent_id}/runs with the agent_id folded into the --json
body (the platform route takes it as a path parameter); because the run
body is user-authored and shaped differently on the two surfaces, run
never falls back automatically — gate-closed errors with GLEAN_LEGACY_APIS
guidance, under which the classic messages/fragments body is expected.

agentIDRequest's canonical tag becomes agent_id (camelCase agentId still
accepted via cmdutil normalization).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-06-agents-migration branch from 67145f7 to 02430f1 Compare July 27, 2026 17:15
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-08-agenthelp-pkg branch from 256c2f7 to eed9ca6 Compare July 27, 2026 17:15
steve-calvert-glean and others added 2 commits July 27, 2026 10:19
internal/agenthelp derives agent-facing usage from the live command tree
(cobra is truth for structure, flags, defaults) merged with the schema
registry, which gains WhenToUse and Surface (platform|legacy|raw|local)
fields — populated for all 17 registered commands. Context reports
version, server, auth state (presence only, never token material), and
whether legacy mode is active via GLEAN_LEGACY_APIS or
X_GLEAN_INCLUDE_EXPERIMENTAL=false.

No user-visible command yet; wired up next as glean agent-help.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@steve-calvert-glean
steve-calvert-glean force-pushed the sc/platform-08-agenthelp-pkg branch from eed9ca6 to 60affa8 Compare July 27, 2026 17:19
Base automatically changed from sc/platform-06-agents-migration to main July 27, 2026 17:22
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