Skip to content

Run time consumes the catalog; retire string re-parsing at dispatch #586

Closed

Description

@David-Noble-at-work

Feature: #581 · Phase 4 of resource-construction.md.

The rule (design: 4-resource-management.md §5.6): no string-to-resource conversion ever happens at run time — at graph dispatch a string is a key, never a constructor. Dispatch resolves resource-typed slot values by identity against the run catalog (the clone of the now-complete graph catalog); a miss refuses; the buildCandidateAs prefix-strip retires. Products and discoveries are the sanctioned channels for resources that come into being at run time, and run-computed paths enter through the explicit file.discover/file.resolve actions (§5.7). Construction from strings survives only in load-time rehydration (an identity decode) and immediate mode.

Task issues, one per PR:

Acceptance: the explicit-conversion scenario suite (13 items) in the plan's judgment-scenarios section — items 1–3 with PRs 1–2, items 4–13 with PR 3.

Activity

  1. David-Noble-at-work commented on Aug 23, 2026

    @David-Noble-at-work
    ContributorAuthor

    Phase 4 complete (2026-08-22). All three PR tasks merged: #609 → PR #613 (dispatch resolves by identity; a catalog miss refuses), #610 → PR #614 (same-URI production appends generations; GetOrCreate returns the canonical), #611 → PR #615 (file.discover/file.resolve, kind-honest activation, the ordering edge).

    The rule is delivered: at graph dispatch a string is a key, never a constructor — resource-typed slot values resolve against the run catalog and a miss refuses; construction survives only in load-time rehydration (an identity decode) and immediate mode; run-computed paths enter through the explicit discovery actions with kind-honest claims.

    The explicit-conversion scenario suite is 13/13 green. Plan: docs/plans/resource-construction.md; design: 4-resource-management.md §5.6–5.7, §9 items 15–18.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions