You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resolve each src as an RFC 3986 reference, decode same-document/external Markdown frontmatter or standalone YAML according to RFC 001 Rev 3, and construct the validated I-JSON-compatible query argument consumed by #124 without embedding access authorization in the portable evaluator.
Epic: #111. Milestone: 2 — Resolution and scalar evaluation.
In scope
Parse and resolve fragment-free URI references, including relative paths, root-relative paths, URI queries, absolute URIs, and omitted src (self).
Define a host-facing resource-provider protocol and immutable resource/result types.
Decode UTF-8 Markdown with YAML frontmatter and standalone YAML using YAML 1.2.2 Core Schema semantics.
Keep URI parsing/resolution and provider abstractions in MarkdownUtilitiesCore; inject bytes/base URI rather than reading files there.
Put Markdown/YAML host adapters in MarkdownUtilities, reusing FrontMatterConversion only where it cannot erase duplicate keys, tags/aliases, or lexical scalar information before validation.
YAML timestamps remain strings under Core Schema and are interpreted later only through declared type/item-type.
Define deterministic resource-kind selection by content type/extension and actionable errors for ambiguous/unsupported roots.
A same-document lookup should reuse the authoritative source snapshot, not a lossy reserialization.
Acceptance Criteria
RFC 3986 examples resolve correctly; fragments are rejected and URI query components remain part of the resource identifier.
Omitted src reads the containing document's YAML frontmatter.
External Markdown and standalone YAML decode through one provider boundary using Core Schema rules.
Every Rev 3 query-argument rejection category has a stable structured diagnostic.
Valid aliases expand, cyclic aliases fail, and << receives no merge semantics.
Portable numeric limits match Rev 3 and selected scalar source spelling remains recoverable after JSONPath evaluation.
Resolution stops after one resource/query lookup and portable code performs no direct filesystem/network access.
Test requirements
RFC 3986 vectors plus same-document/external Markdown/standalone YAML fixtures.
Problem / outcome
Resolve each
srcas an RFC 3986 reference, decode same-document/external Markdown frontmatter or standalone YAML according to RFC 001 Rev 3, and construct the validated I-JSON-compatible query argument consumed by #124 without embedding access authorization in the portable evaluator.Epic: #111. Milestone: 2 — Resolution and scalar evaluation.
In scope
src(self).±9007199254740991, and floating-point overflow; treat<<as an ordinary string key.Relevant specification sections
Dependencies and blockers
Implementation considerations
MarkdownUtilitiesCore; inject bytes/base URI rather than reading files there.MarkdownUtilities, reusingFrontMatterConversiononly where it cannot erase duplicate keys, tags/aliases, or lexical scalar information before validation.type/item-type.Acceptance Criteria
srcreads the containing document's YAML frontmatter.<<receives no merge semantics.Test requirements
Documentation / CLI-help impact
Explicitly deferred