Skip to content

Adapter-onboarding skill — generator for the provider tail #2950

Description

@kyle-sexton

Parent

Refs #2933. Source: topic pocock-shipping-breakdown (PR backfilled when opened). Locked direction: HYBRID shipping model — bundled hardened adapters for the majors, this skill for the tail.

What to build

A skill that helps a CONSUMER generate a work-item-tracker adapter for a provider we don't bundle, via interview + live exploration of their actual tracker instance (the jira adapter's history is the proof: per-instance semantics like done-state categories and blocker-link types could only be settled by inspecting the real instance). Shape constraints from the interview:

  • Deterministic parts scripted (/discipline:script-the-deterministic-work); reasoning (semantic mapping, interview) stays outside scripts
  • Security posture is template-driven, not re-derived: the generator bakes in the jira-grade guards (token via env-name indirection never argv, host validation, deny-by-default egress) as the starting skeleton
  • Verification: generated adapter must pass the existing conformance suite (the skill also generates the bindings/<name>.sh conformance binding) — plus the normalization-fidelity check being added under the contract-hygiene item
  • Generated adapters land in the consumer's repo (consumer-local adapter dir), owned by their review/CI; the contract-version handshake protects against silent skew as the core evolves
  • Honest capability manifests: verbs the provider can't support are capability-gated, never faked

Acceptance criteria

  • Skill exists with interview + live-exploration + generate + conformance-verify flow
  • Security skeleton templates match or exceed jira-adapter guards
  • A generated adapter passing conformance is demonstrated end-to-end (Gitea/Forgejo item is the designated dogfood)

Blocked by

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions