Skip to content

Protected command reads by default for new models #1007

Description

@woksin

New Cratis applications should run with Arc read protection On; the dotnet new templates already do (Cratis.Templates v1.8.0). In Screenplay, protected command reads are opt-in per model through the command reads protected preamble (decision 0085).

0085 ruling 1 already says new-model scaffolding and samples declare the preamble by default, but only 9 of the 61 sample folders carry it today, and the new-model scaffolding paths have not been checked.

Wanted

  1. Now, within 0085: every new-model scaffold (CLI, MCP, Studio, templates) writes command reads protected, and the samples carry it wherever their reads are admissible (PLAY0786 already offers the repair).
  2. Decision: whether a later ESM version makes protected reads the default without the preamble, with an explicit opt-out for models whose reads cannot be guarded. 0085 is reversibility: costly, so this needs its own record amending 0085; the Founder's direction (2026-10-20) is that new applications have read protection on by default.

The renderer side (an assembly-wide <CratisReadProtection>On</CratisReadProtection> in rendered applications) is tracked in Cratis/Stage#660.

Status

State: Parked — not started.
Branch: None.
Delivered: Part 1 shipped (PR #1043).
Remaining: Part 2.
Next step: Write the decision record amending 0085.

Activity

  1. self-assigned this
    on Oct 20, 2026
  2. reopened this on Oct 22, 2026
  3. changed the issue type fromtoon Oct 25, 2026
  4. woksin commented on Oct 31, 2026

    @woksin
    ContributorAuthor

    Direction

    Option B: draft a decision record with status proposed that amends 0085: a later ESM version makes protected command reads the default for new models, with an explicit opt-out; legacy models and bytes stay unchanged (0085 L39 keeps explicit opt-in). Accepting the record is the decider's call; no rollout of an implicit default before that.

    Researched against origin/main and the decision records, and independently verified by a second reviewer. Reversible; the owner may override.

  5. removed their assignment
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions