Table of Contents
- Observed in-site capabilities (verified, not inferred)
- A verifiable reference-verification workflow
- Digest data collection: observable steps, not invented automation
- Integration with existing site workflows (observable contract points)
- Key constraints restated (hard boundaries, not recommendations)
- References
🌏 繁體中文版
This part does not assume any unimplemented site feature. Every workflow step is based on the observable .claude/skills/groundlane skill (with mcp__groundlane__* tool routes) and its usage-modes.md judgment flow, which includes the explicit constraint: never use the deprecated stealth_fetch or web-fetch/fetch_page; if Groundlane tools are not available, use the environment's actual available tools and label the result as a fallback rather than pretending Groundlane was used.
Observed in-site capabilities (verified, not inferred)
The in-site usage-modes.md file (part of the .claude/skills/groundlane skill) defines the following observable rules. Each can be traced back to the file content rather than memory:
- Tool route check: Before calling, verify the
tool provenanceand full schema; confirm it is Groundlane providingweb_search,web_fetch, andweb_extract. Tools with the same name from other servers do not count. - Direct call when available: If the three contracts are present, call directly — no need to know whether the endpoint is
localhost:8080/mcpor a remote deployedhttps://deployment>/mcp. - Fallback when unavailable: If Groundlane is not exposed in the current session, use whatever the environment actually provides (e.g. Tavily, Exa, Firecrawl, Jina, GitHub, papers, or platform-native tools). Label the result clearly as a fallback; do not claim Groundlane was used.
- No network tools at all: If no retrieval tool is available, use locally authorized material and report a blocker.
- Explicit deprecation rule: Step 5 of the flow states: "Always do not use deprecated
stealth_fetchorweb-fetch/fetch_page." This is a hard boundary, not a recommendation. - Credential and endpoint rules: Do not embed
GROUNDLANE_AUTH_TOKEN, provider keys, or expanded authorization headers into skills, prompts, notes, logs, or version-controlled settings. Do not assume a fixed clone path. For web-hosted agents, register a public reachable endpoint (https://deployment>/mcp) with managed connector storage; do not paste bearer tokens into conversation or repository files. - Shareability requirement: Use placeholders (
groundlane-clone>,<deployment>) instead of personal absolute paths or private endpoints.
These rules form the boundary for any in-site application: the design must work under conditions where the Groundlane endpoint may be local or remote, the clone path is unknown, credentials are not embedded in files, deprecated paths are excluded, and the tool availability is verified at runtime rather than assumed.
A verifiable reference-verification workflow
The site's writing guidelines (post skill reference section) require a ## 參考資料 (References) section at the end of each article, with at least one valid Markdown link; for technology/AI topics, references should cover official docs, papers, and authoritative technical sources. A reproducible verification workflow (using only observable capabilities) is:
- Extract the reference list: From the article content, collect all external links listed in the references section. This step requires no retrieval tool — it is data preparation.
- Check tool availability per the usage-mode flow: Verify whether
mcp__groundlane__*providesweb_fetchandweb_extract. If yes, proceed with Groundlane; if no, record "Groundlane not available in this session — using environment's actual tool (notstealth_fetch)" and proceed with the fallback tool, clearly labeling the provenance difference. - Retrieve with
web_fetch(when available): Callweb_fetchwithformat: markdownandrender: never(prefer direct HTTP; userender: autoonly when content is clearly missing). PreservefinalUrl,engine,backend,truncated,title, and the content summary. Whentruncatedistrue, record "partial retrieval — truncated by default cap" rather than treating it as full verification. - Structured verification with
web_extract(when precise fields are needed): For references that require precise field confirmation (e.g. version numbers, API names, release dates), callweb_extractwith explicit CSS selectors (fieldsstructure). Preserve the selector-to-value mapping so that each verified field can be traced back to its selector node — no implicit inference. - Record provenance and limitations: For each reference, document: the URL, verification status (full / truncated / failed), the tool used (Groundlane
web_fetch/web_extract, withengine/backendvalues, or the labeled fallback), any truncation reason (truncated: truedue to byte/output cap), and any missing-tool fallback label. Include this audit record in the article's verification notes (e.g. "Reference verification:finalUrlmatches input;engine: http;backend: direct; no truncation; selector-verified fields: version.version=v0.1.0"). - Handle failure or unavailability explicitly: If
web_fetchorweb_extractis unavailable (step 2 returned no Groundlane contract), or if retrieval fails (URL unreachable, selector matches nothing, ortruncatedindicates partial content beyond what the cap allows), label the reference status accordingly: "not verified — Groundlane unavailable (fallback used: [actual tool])" or "partially verified — truncated at default cap". Never hide the limitation by listing the link without a verification note.
This workflow's key properties: it relies only on observable contracts (mcp__groundlane__* routes and their response fields), respects the hard exclusion of deprecated stealth_fetch, does not embed credentials in files or prompts, uses placeholders for deployment paths, and produces audit evidence (finalUrl, engine, backend, truncated, selector-to-value mappings) rather than summary-only claims.
Digest data collection: observable steps, not invented automation
The site's daily digest articles (e.g. 2026-08-23-ai-agent-arxiv-digest.md, 2026-08-23-ai-agent-github-digest.md) collect structured signals from multiple external sources. Applying the Groundlane contract (only where it is actually available) yields the following observable steps — not a fully automated pipeline claim, but a reproducible procedure:
- Prepare the source list: From the digest plan or previous
seen-signal-urls.txt/benchmark-snapshot.jsonfiles, list target URLs. This is preparation, not retrieval. - Confirm contract availability: Per the usage-mode flow, check whether the current session exposes
mcp__groundlane__*. If it does, useweb_search(automatic mode or explicit provider list) for confirmation queries andweb_fetch/web_extractfor structured retrieval. If it does not, label clearly: "Groundlane not exposed in this session; using environment's actual retrieval tools (not deprecatedstealth_fetch)" and proceed with the available tool, recording the provenance difference. - Confirm source coverage with
web_search(when appropriate): For new digest topics, aweb_searchcall in automatic mode (up to two complementary providers, RRF merge, canonical deduplication) confirms whether sufficient verifiable sources exist. Preserve the provider provenance (original ranks, merged result,engine,backend) as evidence — not as a billing prediction, since the self-description notes the budget is a safeguard, not provider billing truth. - Retrieve and verify content with
web_fetch: For confirmed URLs, callweb_fetch(format: markdown,render: neverpreferred;render: autoonly when direct retrieval is clearly insufficient). RecordfinalUrl(post-redirect resolution),engine/backend(direct vs. rendered path), and whethertruncatedistrue(indicating partial retrieval due to the fixed cap). Whentruncatedistrue, note the limitation explicitly rather than treating the result as complete. - Extract structured fields with
web_extract(when precise fields are required): For content that requires specific structured fields (e.g. paper titles, framework version numbers, funding amounts, security alert severity levels), design selectors (fields) that map explicitly to those fields. Preserve the selector-to-value mapping in the audit record so that the digest's structured claims can be traced line-by-line. - Handle unavailability and failure explicitly: If the Groundlane contract is unavailable, if retrieval fails (unreachable URL, empty selector match), or if content is truncated (
truncated: true), the digest data collection should explicitly label those records: "not retrieved — contract unavailable"; "partial retrieval — default cap applied"; or "structured field missing — selector matched zero nodes". Do not present incomplete or unverified data as fully verified.
Important limitations (explicitly stated, not hidden):
- This is not an "automatic crawl" or "cache-aware routing" claim. Those capabilities are listed as "Next" in the
v0.1.0self-description and are not currently observable. - Browser interaction (clicks, form submissions) is not within the current
web_fetchcontract scope; rendering (render: auto/always) is read-only, not interactive. - Search budgets are safeguards, not billing predictions; they should not be used to forecast provider billing.
- The workflow does not assume future feature additions — it relies solely on the currently observable tool contracts, provenance fields, and fixed security limits.
Integration with existing site workflows (observable contract points)
The site already has structured content workflows (post creation with frontmatter validation, reference verification requirements, glossary coverage checks, series-order validation, and language-parity checks). Integrating Groundlane means inserting verifiable retrieval and extraction steps into these workflows, not replacing them. Observable contract points for integration:
- Post creation flow: After drafting the references section, insert the verification step (step 1-6 above) before finalizing the article. The verification record (URL list,
finalUrl,engine/backend,truncatedstatus, extractor results with selector mappings) becomes part of the article's audit evidence, referenced in the verification notes rather than embedded as hidden metadata. - Digest production flow: After collecting the source URL list (from
seen-signal-urls.txt,benchmark-snapshot.json, or manual selection), run the confirmation/retrieval/extraction sequence. The audit record (provider provenance forweb_search, retrieval provenance forweb_fetch, selector mappings forweb_extract, any fallback labels, any truncation notes) is preserved with the digest's intermediate data files, making the digest's claims reproducible. - Glossary and terminology coverage: When
web_extractis used to verify technical fields (API names, version numbers, framework terms), the verified terms can feed into the site's glossary maintenance process (glossary-maintenanceskill). The selector-to-value mapping provides verifiable evidence that a term was confirmed at a specific source node, not inferred from a summary. - Security and compliance boundary: The usage-mode rules (no embedded tokens, no deprecated
stealth_fetch, no assumed clone paths, managed connector storage for web-hosted agents) apply to all integrated workflows. Any integration design that requires embedding a bearer token in a file, assuming a fixed local endpoint, or using a deprecated retrieval path violates the observable contract and must be redesigned before deployment.
Key constraints restated (hard boundaries, not recommendations)
These constraints are drawn directly from the usage-modes.md and v0.1.0 documentation; they are not advisory:
- Never use deprecated
stealth_fetchorweb-fetch/fetch_page. If a retrieval is needed and Groundlane is unavailable, use an environment-available alternative and label it as a fallback. - Never embed credentials (
GROUNDLANE_AUTH_TOKEN, provider keys, expanded authorization headers) in skills, prompts, notes, logs, or version-controlled settings. - Never assume a fixed clone path; use
<groundlane-clone>and<deployment>placeholders. - Never claim Groundlane was used without verifying the contract (
mcp__groundlane__*with the full three-tool schema) at runtime. Tool names from other servers do not count. - Treat budget safeguards as non-billing safeguards; do not predict provider billing from them.
- Treat
truncated: trueas a partial result, not a complete one, and document it explicitly. - Treat browser rendering (
render: auto/always) as read-only, not interactive; it does not support clicks, form submissions, or interactive automation. - Treat all future capabilities (automatic crawl, cache-aware routing, expanded interaction) as unverified until observable in source and docs.
References
- .claude/skills/groundlane skill and
usage-modes.md— judgment flow, identity boundaries, deprecated-path exclusion, credential rules, remote vs. local endpoint differences - Groundlane GitHub source (
v0.1.0self-description and docs) — three-tool contracts, provenance fields, default security limits, budget semantics - In-site
postskill (tech-deep-divetemplate, reference verification requirements, glossary coverage) - Groundlane security notes (
SECURITY.md) — SSRF threat model, identity boundary design, private vulnerability reporting - Existing site digest articles (e.g.
2026-08-23-ai-agent-arxiv-digest.md,2026-08-23-ai-agent-github-digest.md) — observable data-source patterns, not speculative extensions
Loading...