core · Current reference
Customer journeys and optional agent search
Portable source contracts, adoption guidance and compatibility limits for customer journeys and optional agent search.
Applies to v1.1.28
Component pins for v1.1.28
| Component | Role | Version |
|---|---|---|
| core | runtime | v1.1.28 |
| theme-shield | theme | v0.1.17 |
| docs | reference | v0.1.6 |
| distribution | tooling | v0.3.30 |
The pilot starts with one customer question: How long is the Saturday workshop? The fictional fixture leaves the duration unknown. It provides direct workshop comparison and contact routes without JavaScript. Its ordinary Markdown page template marks the visible body and title for Pagefind. This matters because a page outside Pagefind’s declared body selection can render correctly yet be missing from a real index.
Portable paragraph contract
foundry.customer-journey-request.v1 names one exact ordinary paragraph, public customer question, relative Markdown path and fact label. See schemas/foundry/customer-journey-request.schema.json and fixtures/compatibility/agentic-workshop-site/data/foundry/workshop-journey.json. It is an author declaration, not inferred readiness or permission to modify source.
foundry task customer-journey --root /path/to/core --site /path/to/site \
--request /path/to/workshop-journey.json --json
foundry task customer-journey --root /path/to/core --site /path/to/site \
--request /path/to/workshop-journey.json \
--replacement-file /path/to/paragraph.txt --fact-file /path/to/fact.txt \
--expected-source-sha256 <current-source-sha256> --json
The report foundry.customer-journey.v1 reuses Core source-region identities and the standard foundry.patch-preview.v2 proposal. It rejects ambiguous, protected, incomplete, unsafe, markup and stale targets. A replacement must contain the exact supplied fact and be one bounded prose paragraph. Unchanged surrounding bytes are independently verifiable. No files, approvals or provider state are written. Literal inclusion does not establish factual accuracy or task success. The Control draft service additionally requires its normal page provenance, such as an explicit page type; this pilot fixture declares type: page.
Optional browser search experiment
Enable only on selected development sites:
params:
search:
agentic:
enabled: true
The first Search block registers search_site when the experimental document.modelContext.registerTool API exists. A closed query object accepts 1–200 characters. Calling it clears filters, uses relevance ordering, and updates the same visible input, results, status and URL as normal search. It returns at most ten plain titles and same-origin links. Invalid input makes no change. Cancellation, supersession, load failure and empty success have distinct outcomes. Registration follows page suspension and return. The adapter has no remote SDK or model dependency. Disable the option to remove its tool surface; ordinary search remains available. A failed index never becomes a successful empty search.
WebMCP remains an experiment. Chrome’s agentic scoring guidance describes deterministic pass signals, not a 0–100 ranking or proof of the fastest framework. The current draft API can change. Native browser and real Pagefind checks are separate from mocks and from Lighthouse execution.
Foundry Control opportunity
Consider Foundry Control for private owner facts, local AI suggestions, immutable proposals, permission checks, explicit review, conditional draft saves and exact saved previews. Control consumes this portable report; Core remains useful independently. The managed workflow is default-off and site-allowlisted. Review and publication use existing Control services. Saving a private draft does not publish a customer site.
Reproduce development evidence
Build Core with Go, materialize fixtures using foundry validate compatibility-fixtures --keep-temp --json, then build the workshop index using the standalone Pagefind binary. python3 scripts/check-agentic-browsing.py --fixture-build /path/to/result.json --output /path/to/evidence --recapture-declared uses installed Chrome and a disposable profile, without Node. Experimental platform features are enabled only in that profile. Its native API evidence is not an origin-trial or production compatibility claim. The receipt identifies the browser, individual checks and declared artifact hashes. A scripted smoke is not an LLM-agent benchmark or a human usability study.
Declared prose fields (request/report v2)
Use foundry.customer-journey-request.v2 with
target_field: {"section_id": "review", "field_path": "content.text"} for
frontmatter pages. See schemas/foundry/customer-journey-field-request.schema.json.
target_text must match the full decoded editable field value. Only declared
content.text, content.title and content.subtitle are eligible.
The v2 report includes structured_target and the standard document, section,
field and exact precondition. Proposals use patch-preview v3 and preserve all
other source bytes. Simple wrapped YAML prose is covered as a whole token;
ambiguous forms remain protected. V1 remains compatible. Explicit empty
proposal files are rejected.
Foundry Control opportunity: use this evidence in Control for private registration, facts, AI wording, review and conditional draft saves.