Skip to content

feat(wizard): pull provider context packs via get_context_pack - #62

Merged
itelo merged 1 commit into
mainfrom
itelo/eng-2939-wire-get-context-pack
Aug 25, 2026
Merged

feat(wizard): pull provider context packs via get_context_pack#62
itelo merged 1 commit into
mainfrom
itelo/eng-2939-wire-get-context-pack

Conversation

@itelo

@itelo itelo commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

The wizard used the context-mill's example-apps (get_example_app) but never its context-packs — the per-(provider, SDK) SKILL.md guidance the MCP already builds and serves (list_context_packs / get_context_pack). This wires them in.

src/lib/steps/integrate.ts buildSystemAppend now instructs the agent to call mcp__seam-docs__list_context_packsget_context_pack for a targeted provider, alongside the existing example-app instruction.

Design decisions (from ENG-2939)

Resolved against the real tool contract (get_context_pack requires provider + sdk; packs exist only for javascript/python):

  • SDK-gated: the instruction is only added for JavaScript/Python projects — the mill compiles no Ruby/PHP packs, so it would only produce dead get_context_pack calls there.
  • Provider-conditional: the agent fetches a pack only when a specific provider is targeted (e.g. the developer named August/Schlage). With a Connect Webview the end user picks the provider later, so there's nothing to key on — generic Access Grant guidance applies, and the agent skips it.
  • Agent-driven discovery: it lists packs first, so it only fetches ones that exist (no guessing).

ARCHITECTURE drift

seam-ai context-mill/ARCHITECTURE.md's "A wizard run" diagram already showed the wizard calling get_context_pack({ provider, sdk }) — the shipped wizard didn't. This wiring makes the diagram accurate, so no doc edit is needed.

Testing

  • npm run lint clean
  • npm run typecheck clean
  • npm test — 170 passed

Prompt-only change (the buildSystemAppend builder is private and untested, same as the existing get_example_app wiring). Verified the context-pack lines are added for js/python and omitted for ruby/php by construction (SDK-gated spread).

Security & Compliance

  • No security impact

🤖 Generated with Claude Code

@itelo
itelo requested a review from razor-x as a code owner August 25, 2026 14:14
The wizard consumed the context-mill's example-apps but never its context-packs.
Extend the integration agent's system prompt (buildSystemAppend) to call
mcp__seam-docs__list_context_packs + get_context_pack for a targeted provider,
so runs benefit from the per-provider SKILL.md guidance the MCP already serves.

Gated to JavaScript/Python (the only SDKs the mill compiles packs for — none for
ruby/php), and phrased to fetch a pack only when a specific provider is in play
(a Connect Webview defers the provider choice, so generic guidance applies then).

This also makes context-mill/ARCHITECTURE.md's "wizard run" diagram — which
already showed get_context_pack — accurate.

Closes ENG-2939.
@itelo
itelo force-pushed the itelo/eng-2939-wire-get-context-pack branch from babc9c9 to 388b7da Compare August 25, 2026 14:25
@itelo
itelo merged commit 909f2bb into main Aug 25, 2026
11 checks passed
@itelo
itelo deleted the itelo/eng-2939-wire-get-context-pack branch August 25, 2026 14:27
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