Spec Studio

The walk named as a rules file fails validation on an isolation breach

spec:validation.architecture-constraints.isolated-context-as-ruleExample / Scenario · storyready floor ready

Packs: pack:corpus-checks-v1, pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/validation/architecture-constraints.isolated-context-as-rule.sdp.md

No open questions and no blocking questions; implementation binding none, verifier binding present, and expected-outcome oracle none.

Intent
outcome
Execute the walk's shipped recipe file, unchanged, as a rules file under sdp validate --rules on one uses edge that leaves an isolated context.
assumptions
  • The world writes the probe root of the forbidden-pair example, with the layers and contexts the slots give. It runs sdp validate on that root with the walk's shipped recipe file named by --rules and followed by --params with the parameters of that example. The findings are the lines in that file's corpus section, and the rule ids are their rule ids joined by a comma and a space, in output order.
Behavior

Examples

Given a member of a component at the layer {fromLayer: "application"} in the context {fromContext: "platform"} that uses a member of a component at the layer {toLayer: "adapter"} in the context {toContext: "orders"}
When the architecture walk runs {invocation: "as a rules file named by sdp validate --rules"} with the forbidden pair domain to infrastructure and the isolated context platform
Then the walk reports {findings: 1} findings with the rule ids {ruleIds: "isolated-context"}
Then the command exits {exitCode: 1}
Verification

Verifier bindings

  • test:protocol.validation.architecture-constraints.isolated-context-as-rule · anchored · test anchor binding present · test/self-hosting-corpus-checks.test.ts:353

    External run evidence from test/self-hosting-corpus-checks.test.ts

    Test anchors: test:protocol.model.planned-architecture.differing-layer-and-uses, test:protocol.model.planned-architecture.matching-design, test:protocol.model.planned-architecture.unrealized-design, test:protocol.validation.architecture-constraints.forbidden-layer-pair, test:protocol.validation.architecture-constraints.isolated-context-as-rule, test:protocol.validation.architecture-constraints.unstated-layer-unclassified, test:protocol.validation.corpus-rules.copies-contain-changes, test:protocol.validation.corpus-rules.error-finding-fails, test:protocol.validation.corpus-rules.malformed-finding-fails, test:protocol.validation.corpus-rules.warning-finding-informs. Specs verified by those bindings: spec:model.planned-architecture, spec:model.planned-architecture.differing-layer-and-uses, spec:model.planned-architecture.matching-design, spec:model.planned-architecture.unrealized-design, spec:validation.architecture-constraints, spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified, spec:validation.corpus-rules, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.warning-finding-informs.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z

    NameSuiteResultDuration
    executes the bound example against a fresh worldA rules file that empties its graph leaves the next file's graph whole (spec:validation.corpus-rules.copies-contain-changes)passed21.88 ms
    executes the bound example against a fresh worldAn error from a corpus rule fails validation and leaves the Protocol's line alone (spec:validation.corpus-rules.error-finding-fails)passed4.69 ms
    executes the bound example against a fresh worldA finding with no subject fails its rules file (spec:validation.corpus-rules.malformed-finding-fails)passed4.13 ms
    executes the bound example against a fresh worldA warning from a corpus rule informs and passes (spec:validation.corpus-rules.warning-finding-informs)passed3.83 ms
    executes the bound example against a fresh worldA domain member that uses an infrastructure member breaks a forbidden pair (spec:validation.architecture-constraints.forbidden-layer-pair)passed15.92 ms
    executes the bound example against a fresh worldThe walk named as a rules file fails validation on an isolation breach (spec:validation.architecture-constraints.isolated-context-as-rule)passed4.55 ms
    executes the bound example against a fresh worldA component with no layer leaves its edge unclassified (spec:validation.architecture-constraints.unstated-layer-unclassified)passed2.97 ms
    executes the bound example against a fresh worldA realized component that differs from its design gives one row per field (spec:model.planned-architecture.differing-layer-and-uses)passed6.29 ms
    executes the bound example against a fresh worldA realized component that matches its design gives no row (spec:model.planned-architecture.matching-design)passed17.77 ms
    executes the bound example against a fresh worldA component design no anchor satisfies is listed as unrealized (spec:model.planned-architecture.unrealized-design)passed6.93 ms
Design view

Requirement drawing

  • Satisfying or referencing units: no recorded binding.
Requirement drawing for spec:validation.architecture-constraints.isolated-context-as-rule
The diagram as text
  • spec:validation.architecture-constraints.isolated-context-as-rule: The walk named as a rules file fails validation on an isolation breach · declared Spec
  • spec:validation.architecture-constraints: Declared architecture rules are checked against anchored structure · declared Spec
  • test:protocol.validation.architecture-constraints.isolated-context-as-rule: test:protocol.validation.architecture-constraints.isolated-context-as-rule · anchored test binding · binding present · test/self-hosting-corpus-checks.test.ts:353
  • spec:validation.architecture-constraints.isolated-context-as-rule refines spec:validation.architecture-constraints · declared
  • spec:validation.architecture-constraints.isolated-context-as-rule verifies spec:validation.architecture-constraints · declared
  • test:protocol.validation.architecture-constraints.isolated-context-as-rule verifies spec:validation.architecture-constraints.isolated-context-as-rule · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime

No implementation neighborhood recorded.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:validation.architecture-constraints.isolated-context-as-rule
  • E2: verifies · declared
The diagram as text
  • spec:validation.architecture-constraints: Declared architecture rules are checked against anchored structure
  • spec:validation.architecture-constraints.isolated-context-as-rule: The walk named as a rules file fails validation on an isolation breach
  • spec:validation.architecture-constraints.isolated-context-as-rule refines spec:validation.architecture-constraints · declared
  • spec:validation.architecture-constraints.isolated-context-as-rule verifies spec:validation.architecture-constraints · declared
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.

Rests on

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingDeclared architecture rules are checked against anchored structure
spec:validation.architecture-constraints · resolves
declaredNoneNone
verifies · outgoingDeclared architecture rules are checked against anchored structure
spec:validation.architecture-constraints · resolves
declaredNonewalk, walkAsRule

Bindings

Implementation binding: none

Design reference: none

Verifier binding: present

  • test:protocol.validation.architecture-constraints.isolated-context-as-rule · anchored · test/self-hosting-corpus-checks.test.ts:353 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.