Skip to content

docs: consult equivalent local vendor sources before URL capture #264

Description

@Jamie-BitFlight

Problem\n\nThe committed tells agents to avoid WebFetch/MCP URL readers and to run (or the standalone equivalent) before reading the returned cache path. It also describes ╭────────────────────── 📂 Platform Documentation Fetch ───────────────────────╮

│ Vendor dir: /Users/jamienelson/repos/skilllint/.claude/vendor │
╰──────────────────────────────────────────────────────────────────────────────╯

Phase A: Clone/update git repos
⏩ Updating claude_code (git pull)
⏩ Updating gemini_cli (git pull)
⏩ Updating codex (git pull)
⏩ Updating kilocode (git pull)
⏩ Updating kimi (git pull)
⏩ Updating opencode (git pull)

Phase B: Fetch doc-site pages
🌐 Fetching cursor/rules.md
🌐 Fetching copilot_cli/about-copilot-cli.md
🌐 Fetching copilot_cli/using-copilot-cli.md

╭────────────────────────── ⚠ Vendor Drift Detected ───────────────────────────╮
│ Providers with changes: claude_code, gemini_cli, codex, kilocode, opencode, │
│ cursor, copilot_cli │
│ Report written to: │
│ /Users/jamienelson/repos/skilllint/.claude/vendor/.drift-pending.json │
╰──────────────────────────────────────────────────────────────────────────────╯ as cloning official git providers into while fetching configured doc-site pages. The instructions do not say to inspect an existing official provider clone for equivalent authoritative Markdown/RST before capturing the published URL.\n\nThat omission can cause a URL capture when the authoritative source is already present locally. It also leaves the routing decision implicit across , , and .\n\nCurrent committed evidence:\n- : disk-first URL capture and commands.\n- : standalone route, cache locations, stale fallback, and bulk-vs-on-demand relationship.\n- ╭────────────────────── 📂 Platform Documentation Fetch ───────────────────────╮
│ Vendor dir: /Users/jamienelson/repos/skilllint/.claude/vendor │
╰──────────────────────────────────────────────────────────────────────────────╯

Phase A: Clone/update git repos
⏩ Updating claude_code (git pull)
⏩ Updating gemini_cli (git pull)
⏩ Updating codex (git pull)
⏩ Updating kilocode (git pull)
⏩ Updating kimi (git pull)
⏩ Updating opencode (git pull)

Phase B: Fetch doc-site pages
🌐 Fetching cursor/rules.md
🌐 Fetching copilot_cli/about-copilot-cli.md
🌐 Fetching copilot_cli/using-copilot-cli.md

✅ Done. Vendor dir: /Users/jamienelson/repos/skilllint/.claude/vendor: are cloned/updated under the vendor directory and are fetched over HTTP.\n- : defaults to 4 hours and bypasses freshness checks.\n\n## Desired source-first routing policy\n\nDocument one decision path for vendor authority work:\n\n1. Resolve the official local clone at (when bulk sync has provided one) and look for an equivalent authoritative or source.\n2. If an equivalent local source exists, consult that file first and record its path/section; do not capture the same authority URL merely because a URL is present in rule metadata.\n3. If no equivalent cloned source exists, use (or ) and then read the printed cache path.\n4. If the published rendered page itself is the required authority, URL capture remains allowed even when a related local clone exists.\n5. State how is used only after the local-source check, or for URLs with no equivalent clone.\n\nThe guidance should cover the bulk sync context (╭────────────────────── 📂 Platform Documentation Fetch ───────────────────────╮
│ Vendor dir: /Users/jamienelson/repos/skilllint/.claude/vendor │
╰──────────────────────────────────────────────────────────────────────────────╯

Phase A: Clone/update git repos
⏩ Updating claude_code (git pull)
⏩ Updating gemini_cli (git pull)
⏩ Updating codex (git pull)
⏩ Updating kilocode (git pull)
⏩ Updating kimi (git pull)
⏩ Updating opencode (git pull)

Phase B: Fetch doc-site pages
🌐 Fetching cursor/rules.md
🌐 Fetching copilot_cli/about-copilot-cli.md
🌐 Fetching copilot_cli/using-copilot-cli.md

✅ Done. Vendor dir: /Users/jamienelson/repos/skilllint/.claude/vendor) and the on-demand commands without changing either command's existing acquisition role.\n\n## Acceptance criteria\n\n- and the relevant vendor-cache guidance contain the source-first decision path, exact local clone/cache paths, all affected commands, and the rendered-page exception.\n- A concrete QA/example check covers: equivalent local Markdown/RST (local path is consulted and no URL capture is requested); no equivalent source (URL capture command is used and its printed path is read); and published-rendered-page-required (URL capture remains permitted).\n- The guidance explicitly keeps cache lifetime/failure behavior separate and unchanged: , , stale-cache fallback, and the no-cache/network-unavailable exit behavior remain cache-contract concerns, not source-selection rules.\n\n## Non-goals\n\n- No provider-global cache.\n- No HTML scraping by default.\n- No removal of published-page capture where the rendered page is the required authority.\n- No change to the bulk clone/HTTP acquisition implementation or cache retention policy.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions