Before any agent reads source content, raw PDF/Word must be converted to supported text. Built-in preprocess handles PDF/DOCX, validates DOCX through a bounded fail-closed OOXML gate, and writes source-hash provenance. (The DOCX and GitBook paths are not validated against a real source: none of the thirteen benchmark cases has a Word or GitBook source, so their evidence strength equals the benchmark's skipped.) The exact converted bytes must still pass manifest-bound inspect-source-risk. The scan never rewrites a source or echoes a matched payload; assess-sources --source-risk embeds the verified audit, and assemble --source-quality revalidates its binding.
The DOCX ZIP/XML fallback design is adapted from MIT-licensed virgiliojr94/book-to-skill at pinned revision efda3b2212ce1b2c052126e85e14de40a32442e8. This project has no runtime dependency on it and does not inherit its EPUB/RTF/MOBI scope; loop-apidoc adds bounded validation, batch preflight, provenance, and fail-closed contracts. See the third-party notice.
Protected documentation that an interactive browser can render may be imported offline with import-rendered-url. Versioned capture provenance binds the original/canonical URL, timestamp, method, local file, and SHA-256; only a verified coverage match suppresses that origin fetch. Source-quality rejects may also expose explicit, bounded required_source_refs without crawling them. Every outbound fetch passes the same egress gate first: HTTP(S) only, no URL userinfo, and every address the host resolves to must be publicly routable — a redirect into a private or cloud-metadata address is refused too, and proxy environment variables are ignored. When a source URL carries a signing credential, the credential is used for the actual fetch but recorded as ?X-Amz-Signature=[REDACTED] in corpus.json, coverage.json, provenance sidecars, and the generated documents; the rest of the URL is preserved byte for byte, and the redacted identity still matches.
Claim-level semantic evidence links deterministic support relationships to exact fragments; optional v1 evidence[] references re-materialize and verify source identity, locator, digest, and claim path before a run exists. Prose without a parsed scalar can support only its one exact bound claim, while allowlisted, versioned OpenAPI derivations are recomputed by Core. See core/relationships.json in legacy-compatible shadow runs.
Core retains tested, pure GraphQL/AsyncAPI compiler seams, but exposes no CLI or run workflow for either format until a named downstream consumer supplies a real source set and acceptance contract.
When GitBook exposes llms.txt (a path equally unvalidated against a real source), deterministic Markdown caching and line-cited draft facts reduce model-side transport. scaffold-extraction can then produce review-only extraction-shaped JSON; copy and complete it in the work directory rather than passing it directly to --extraction. Sources and deterministic verification remain authoritative.
The always-written integration-contract.json carries source-stated transport, amount direction, idempotency, line-currency policy, and cross-endpoint operational rules. Missing request currency never implies a single-currency line. Validation also exposes supported sources with zero material citations and hollow response schemas, while score reports response-field and hollow-operation metrics.
Supplier sources remain the sole authority for the Normative Contract. The passive feedback workflow assesses normalized observations without network I/O, binds proposals/composition to the complete release digest (contract + documentary fragments + support relationships), and persists immutable candidate inputs. A case may receive one non-approval review; only separate independent-human approval publishes an immutable exact-scope Effective release, and observed behavior never becomes documentary support. Time-aware current lookup rejects queries before approval/composition, expiry, a non-current normative base, and stale pointer/artifact digests while exposing validity, open/untested, stale-amendment, and unresolved-contradiction counters. Same-target conflicts fail closed unless explicit same-scope supersession preserves prior lineage. Global current stays normative, finite tests never prove universal “100% truth,” and a formal Provider Erratum re-enters the complete source pipeline.
The optional --focus lets a requester declare, before the run, what this particular integration cannot ship without — a settlement callback, a wallet transfer operation, a supplier's error codes. The directives enter every extraction subagent's prompt and the agent answers each one exactly once: a satisfied anchor must be pinned to an exact source fragment (a filename alone is refused), and a not_found must list every readable source. There is deliberately no "not applicable" outcome. A falsified assertion becomes a FOCUS_UNMET validation failure while the artifacts are still written; focus material never reaches provenance, the score, or Foundry, so two runs over the same sources with different focus files stay comparable.
loop-apidoc review opens a local single-user workbench to compare a candidate with current/baseline and save structured handoff; only explicit human approval updates the Foundry current asset.