Skip to content

Use parsed CEL structure when rewriting Registryctl consultation roots #574

Closed as not planned

Description

@jeremi

Follow-up to #565.

Why

Registryctl rewrites authored consultation roots to generated Notary aliases with a hand-written quote scanner. It handles ordinary quoted strings, but raw, triple-quoted, and byte-string literals with embedded quote characters can expose literal contents to the rewriter. That can change a valid literal while generating Notary configuration.

This is pre-existing compiler hardening and is not required for the structured-claim or registrar-offer behavior in #565.

Acceptance criteria

  • Base consultation-root rewriting on parsed CEL structure or a lexer/token stream that follows the CEL grammar.
  • Rewrite only direct consultation-root member selections that resolve to generated consultation outputs, matched, or outcome.
  • Preserve helper namespaces, comprehension-local variables, comments, escaped identifiers, and every supported string/byte literal form byte-for-byte.
  • Add regressions for ordinary, raw, triple-quoted, raw triple-quoted, byte, and byte-raw literals with embedded quotes, plus comment and macro-local cases.
  • Fail generation clearly if a safe source-preserving rewrite cannot be produced.

Non-goals

  • Do not redesign the project CEL authoring model.
  • Do not add new CEL capabilities or expose structured outputs to runtime CEL.

Activity

  1. added this to the 1.0 milestone on Jul 30, 2026
  2. jeremi commented on Jul 30, 2026

    @jeremi
    MemberAuthor

    Triage decision for 1.0: required compiler correctness.

    Registryctl must not silently change valid CEL literal contents while generating the runtime configuration. This is a deterministic-build and configuration-integrity defect, not optional parser polish.

    Use the existing parsed CEL representation or grammar-correct token spans to rewrite only proven root selections. Preserve all other source bytes and fail generation clearly when a source-preserving rewrite is not possible. Do not redesign the CEL authoring model or add another expression language.

  3. jeremi commented on Aug 13, 2026

    @jeremi
    MemberAuthor

    Closing as not planned following the removal of registryctl in #716. This issue targets the retired CLI or its project-authoring and generated-deployment model. If the outcome is still needed, it should be specified against evidencectl, relayctl, or another current product surface.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions