feature/Resolve-refs-over-paths · L-261016-0b2e7e

Merged
LC
21d ago
+546-34

A file reference can now be resolved over a set of tree paths, from a holder or from the root, with resolve_reference_in_paths, and the URL context's steps are public as url_path_of and percent_decode_url_path, so a runtime holding only a tree's listing, or a bundle parsed from a content string, resolves by the standard's steps without its own copy. resolve_reference and the new entry point share one implementation, and every corpus reference probe runs through both.

Closes L-261016-0b2e7e
Advances L-261012-989e43

🤖 Generated with Claude Code


Summary by cubic

Adds resolve_reference_in_paths, which runs the standard's file-reference resolution steps over a set of tree paths instead of a MethodTree, so a runtime holding only a tree listing, or a bundle parsed from a content string, can resolve references without the tree. With holder=None it resolves from the root, exactly as a reference written in a file at the root; resolve_reference and the new entry point share one implementation, and every corpus reference probe now runs through both. The URL context steps 1 and 3 are public as url_path_of and percent_decode_url_path, and lexical_join takes holder=None to join from the root.

Closes L-261016-0b2e7e. Advances L-261012-989e43.

Notes for callers

  • A refusal as not in the tree names no membership rule, which a set of paths does not record; only resolve_reference adds it.
  • A holder that is not one of the tree paths raises ValueError, for both entry points.