Skip to content

Extend SourceMap with identifier and nested-value provenance for providers #328

Description

@e54-bot

Problem

SourceMap (mapped-text-v1) maps declarations (span + name span), rules, conditions, actions, and action-argument roots — but cannot carry ActionProvenance.identifier, RuleProvenance.event_name/name, or ValueProvenance.children.

After wrightkit/wright#433, Wright consumes recorded identifier provenance directly and reports unmapped when it is absent instead of guessing from an enclosing span. A provider-mapped program therefore reports exact declaration spans (the map carries name_span) but unmapped for writes, subroutine calls, subroutine-event definitions, and any read nested inside another value — the coarse action/argument spans no longer substitute for identifiers. The providers own the actual authored spans; they just have no way to attach identifier-level provenance to the mapped program.

Scope

Notes

  • Wright side stays unchanged once providers attach the provenance — Program::action_identifier_span, rule_event_name_span, condition_value_span, and action_argument_value_span already expose it.
  • Until this lands, provider (OPY/DEL) consumers see unmapped spans for non-declaration references — honest per wright#433's contract, but a fidelity regression worth tracking.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions