Skip to content

Add reviewed governed-source channel adapters without implicit credential reuse #15

Description

@AjnasNB

Context

Maqam 0.3.0 adds provider-neutral governed source routing, normalized research documents, bounded host-defined checks, RSS/Atom parsing, and a feed-aware HTTP crawler. Agent Reach demonstrates the usefulness of broad, explicit source-channel setup and diagnostics, but Maqam deliberately does not copy its automatic installation, browser-cookie/session reuse, login helpers, or platform-specific command wrappers.

This issue tracks future breadth as small reviewed adapters, not a promise of Agent Reach feature parity.

Scope

Add one provider or upstream capability per pull request behind a static ResearchSourceAdapter and a registered ToolGateway tool. Start with public, read-only sources that need no login. Authenticated sources require a separate threat model and explicit allowAuthenticated: true behavior.

Acceptance criteria for each adapter

  • host-supplied client or reader; no implicit network, shell, package installation, cookie extraction, or login
  • deterministic offline fixture requiring no account, key, model call, network request, or external side effect
  • allow case dispatches exactly once through the registered Maqam tool identity
  • policy, approval, authentication, authorization, malformed output, robots/security, and unknown failures dispatch no fallback
  • only explicit ResearchSourceUnavailableError permits ordered fallback
  • normalized documents record adapter, channel, retrieval time, source URI, and bounded provenance
  • doctor status states exactly what was checked and supports cooperative cancellation
  • Node 20, 22, and 24 CI coverage
  • license/provenance review for every upstream dependency or snippet
  • documentation names direct-call bypasses, credential ownership, rate limits, data handling, and unsupported behavior
  • no partnership, certification, universal-governance, anti-bot, or parity claim

Candidate sequence

  1. Public GitHub repository/issue reader fixture using a host-supplied client.
  2. Public feed/search adapter example with explicit request budgets.
  3. Provider-specific authenticated designs only after security review.

Related: #8 covers the separate offline Google ADK FunctionTool contract fixture.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions