Skip to content

spec(v1beta0): specify policy reference-script attachment in the core#334

Merged
scarmuega merged 1 commit into
mainfrom
spec/policy-ref-reference-input
Jun 7, 2026
Merged

spec(v1beta0): specify policy reference-script attachment in the core#334
scarmuega merged 1 commit into
mainfrom
spec/policy-ref-reference-input

Conversation

@scarmuega

@scarmuega scarmuega commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

Documents the behavior shipped in #332 / #333 and closes a dangling forward-reference in the spec.

Problem

§7.13.4 (policy) said "the semantics of script and ref fields are chain-specific and are described in §8" — but §8 never described them. The spec had no statement of what a policy's ref does.

Approach

A ref-backed policy contributing a read-only reference is a normal extended-UTxO artifact — the same "referenced but not consumed" UTxO already defined chain-agnostically in §7.6. So it's specified in the core (§7), not the Cardano section. Only the genuinely chain-specific residue — how the script contents are interpreted and witnessed — stays in §8.

Changes

  • §7.13.4 (policy) now states: a policy's script executes when used as an input's from or a mint/burn policy; in that case a ref-backed policy's ref UTxO is referenced (but not consumed), per §7.6, so the script is available for validation. Used only as an output recipient (to) or signer, it does not. Covers dedup (against §7.6 blocks and repeated uses) and the hash-only case. The remaining chain-specific pointer is narrowed to the script-kind/witness details (§8.4, §8.5).
  • §4.2.4 field-semantics cross-reference corrected from §7.10 (the metadata section — a pre-existing error) to §7.13.4.
  • §8 is unchanged — no new subsection or renumber; the core now describes the behavior.

🤖 Generated with Claude Code

§7.13.4 deferred the `script`/`ref` field semantics to §8, but §8 never
described them. A ref-backed policy contributing a read-only reference
is a normal extended-UTxO artifact — the same "referenced but not
consumed" UTxO already defined chain-agnostically in §7.6 — so it
belongs in the core, not the Cardano section.

Specify it in §7.13.4: a policy whose script lives at a `ref`, used
where its script executes (an input's `from`, or a mint/burn policy),
causes that `ref` UTxO to be referenced (not consumed) by the
transaction; an output recipient or signer does not. Cover dedup and the
hash-only case. Narrow the remaining chain-specific pointer to the
script-kind and witness details (§8.4, §8.5).

Fix the §4.2.4 field-semantics pointer (was §7.10, the metadata section).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@scarmuega scarmuega force-pushed the spec/policy-ref-reference-input branch from 18dc75c to bdb4b36 Compare June 7, 2026 15:59
@scarmuega scarmuega changed the title spec(v1beta0): specify policy script source and reference-input attachment spec(v1beta0): specify policy reference-script attachment in the core Jun 7, 2026
@scarmuega scarmuega merged commit e7d8aa5 into main Jun 7, 2026
6 checks passed
@scarmuega scarmuega deleted the spec/policy-ref-reference-input branch June 7, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant