From bab4f4787eecbc4ccdf30ef26ebd816a63088008 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:29:29 +0900 Subject: [PATCH 01/10] docs: add design terminology domain content --- design-terminology/concept-families.md | 78 ++++++++++++ design-terminology/conflict-cases.md | 118 ++++++++++++++++++ design-terminology/index.md | 63 ++++++++++ design-terminology/relation-types.md | 103 +++++++++++++++ design-terminology/source-kinds.md | 76 +++++++++++ design-terminology/source-vocabularies.md | 79 ++++++++++++ .../design-terminology-domain-scope.md | 56 +++++++++ 7 files changed, 573 insertions(+) create mode 100644 design-terminology/concept-families.md create mode 100644 design-terminology/conflict-cases.md create mode 100644 design-terminology/index.md create mode 100644 design-terminology/relation-types.md create mode 100644 design-terminology/source-kinds.md create mode 100644 design-terminology/source-vocabularies.md create mode 100644 quality/claim-records/design-terminology-domain-scope.md diff --git a/design-terminology/concept-families.md b/design-terminology/concept-families.md new file mode 100644 index 0000000..a0bccab --- /dev/null +++ b/design-terminology/concept-families.md @@ -0,0 +1,78 @@ +--- +type: Domain Guide +title: Design Concept Families +description: Classification of design terms into foundation, interface-artifact, guidance, governance, consumption, and tooling-construct concept families. +domain: design-terminology +lifecycle: experimental +--- + +# Design Concept Families + +Primary role: design-term concept-family classification guide. + +## Repository Boundary + +This guide classifies design terms by the decision each term serves, as a property of the term's concept, independent of what kind of source uses it. A system's name for itself is not a concept family; see [Design Source Kinds](source-kinds.md). The families are review tools, not a universal ontology, and they never rename StyleGallery's own terms. + +## Reusable Method + +1. Capture the term inside its native source context with a named source. +2. Identify the underlying concept, then assign one primary concept family. +3. Record scope: whole system, one library, or a single artifact. +4. Record audience and medium: designer-facing, engineer-facing, or tool-layer. +5. Express relations to other terms only through the typed model in [Design Term Relations](relation-types.md). +6. Cite the named source and document surface; never generalize from one source's usage. + +## Concept Families + +| Family | Question it answers | Typical terms | +| --- | --- | --- | +| `foundation` | What are the smallest reusable inputs? | token, design token, variable, primitive, core, base | +| `interface-artifact` | What are the built interface units? | component, element, control, block, module, variant, state | +| `guidance` | How is intent communicated? | principle, guideline, heuristic, standard, specification, recipe | +| `governance` | How does the system change? | contribution, deprecation, versioning, adoption, migration, maturity | +| `consumption` | Who uses which form? | package, library, kit, theme, plugin, preset | +| `tooling-construct` | What does a tool's data model expose? | design-tool variable, mode, tool component, library file | + +`pattern` is recorded as `guidance` or `interface-artifact` depending on the cited source's own scope, never both at once. + +## Classification Cases + +| Case | Rule | Example | +| --- | --- | --- | +| Same term at different scope | Classify by the scope the source actually defines | `pattern` as workflow guidance in Carbon versus a spatial arrangement in a pattern library | +| Same term for different audiences | Record audience as a separate axis before comparing | `token` in design tooling versus in generated CSS | +| Era shift | Classify by current source usage; note the older meaning as history | `style guide` narrowed as `design system` broadened | +| Tool layer versus system layer | A tool construct is `tooling-construct`, not the system's term for the same concept | A tool's variables versus a system's published token format | +| Local override | A product may rename a family term locally; the family is shared, the authority is not | A product calling patterns `blocks` | + +## Opinionated Guidance + +- Classify the term as the named source uses it today, then compare through relations; never build one merged definition first. +- Keep family and scope separate: `component` stays `interface-artifact` whether it names a button or a page region. +- Prefer the narrowest scope the source supports; widen only with a second cited source. +- Treat missing terms as gaps in that source's vocabulary, not omissions to fill by inference. + +## Platform-Specific Guidance + +Record the named source, its kind, and the review date for every classification. Route platform convention comparison to [Platform Guides](../platform-guides/index.md), motion terms to Motion, and StyleGallery's own term decisions to the [Controlled Vocabulary](../guides/vocabulary.md). + +## Unsupported Absolutes + +- One source's family structure is not a universal taxonomy. +- A term's popularity does not establish its definition. +- A tool vendor's feature name does not define the industry term. +- Absence of a term in one source does not invalidate its use in another. + +## Verification Contract + +For every classified term, verify the named source still uses the term in the recorded family, scope, audience, and medium; re-check era-shifted terms against the current source; and confirm every cross-source claim carries a typed relation with a boundary. + +## Source, License, And Attribution + +This page is a locally authored, project-neutral proposed taxonomy. It cites named systems only as usage evidence and reproduces no upstream definitional prose. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [Design Term Relations](relation-types.md). diff --git a/design-terminology/conflict-cases.md b/design-terminology/conflict-cases.md new file mode 100644 index 0000000..3d14ebc --- /dev/null +++ b/design-terminology/conflict-cases.md @@ -0,0 +1,118 @@ +--- +type: Domain Guide +title: Cross-System Term Cases +description: Typed-relation term records and three representative cross-system scenarios with non-equivalence boundaries. +domain: design-terminology +lifecycle: experimental +--- + +# Cross-System Term Cases + +Primary role: applied cross-system term relation record. + +## Repository Boundary + +This page applies the typed relation model to recorded term records and conflict scenarios. It does not rename StyleGallery's own terms, and its relations are working judgments with boundaries, not claims that one source's definition is correct. V0.1 records these as Markdown; the structured registry is a promotion prerequisite. + +## Reusable Method + +1. Name the sources in tension and the shared term. +2. Record each side as a term record with source, kind, concept, status, and scope. +3. Assign one relation type per pair per scope. +4. Write the non-equivalence boundary: where substitution breaks. +5. Stamp `reviewed_on`; re-verify when any involved source revises its term. + +## Term Records + +| Term | Source (kind) | Concept | Status | Scope | Reviewed on | +| --- | --- | --- | --- | --- | --- | +| `figma.variable` | Figma (`design-tool`) | named-design-value | current | file- or collection-bound | 2026-08-18 | +| `figma.mode` | Figma (`design-tool`) | theme-context | current | variable collection | 2026-08-18 | +| `figma.component` | Figma (`design-tool`) | tool-instance-model | current | file-bound | 2026-08-18 | +| `dtcg.token` | DTCG Format (`specification`) | interchange-record | current | format-bound | 2026-08-18 | +| `css.custom-property` | CSS (web platform) | runtime-value-slot | current | document/runtime | 2026-08-18 | +| `polaris.token` | Polaris (`design-system`) | published-design-value | current | system-wide | 2026-08-18 | +| `carbon.pattern` | Carbon (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | +| `polaris.pattern` | Polaris (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | +| `stylegallery.pattern` | StyleGallery (`pattern-library`) | spatial-primitive | current | repository | 2026-08-18 | +| `primitive` (shared usage) | multiple systems | base-layer-input | current | per-system | 2026-08-18 | +| `hig.material` | Apple HIG (`platform-guideline`) | visual-surface-treatment | current | OS platforms | 2026-08-18 | +| `material.system` | Google (`design-system`) | system-collection-name | current | brand-wide | 2026-08-18 | +| `styleguide` (historical) | industry history | visual-style-governance | historical | org-wide | 2026-08-18 | +| `designsystem` (general) | industry usage | layered-system-collection | current | org-wide | 2026-08-18 | +| `foundation` (layer label) | Material, Fluent, Carbon, Polaris | base-layer-label | current | per-system | 2026-08-18 | +| `variant` / `mode` / `state` / `theme` | tool, code, tokens | theme-variant-context | current | per-surface | 2026-08-18 | + +## Recorded Relations + +| From | To | Type | Boundary | +| --- | --- | --- | --- | +| `figma.variable` | `dtcg.token` | `partial_overlap` | Exportable variables intersect the format; tool features such as modes exceed it, and not every variable is a portable token | +| `figma.variable` | `css.custom-property` | `implementation_representation` | Variables can bind to custom properties in codegen; the binding is a representation path, not semantic identity | +| `dtcg.token` | `css.custom-property` | `implementation_representation` | Custom properties are one serialization target for token values and also hold non-design values | +| `polaris.token` | `dtcg.token` | `implementation_representation` | The format is one representation of Polaris's published values; the system, not the format, owns the values | +| `figma.mode` | `variant`/`theme` cluster | `near_equivalent` | Modes, tool variants, component states, and token themes overlap as context switching but diverge in binding level | +| `figma.component` | code component | `same_label_different_meaning` | Tool instance model versus shipped code unit; swapping definitions breaks handoff | +| `figma.component` | system component | `same_label_different_meaning` | A tool construct versus a published system unit with API and support | +| `carbon.pattern` | `stylegallery.pattern` | `partial_overlap` | Both are reusable solutions above atomic controls; Carbon patterns are workflow guidance, StyleGallery patterns are spatial primitives | +| `carbon.pattern` | `polaris.pattern` | `near_equivalent` | Both name system-level workflow guidance with content and maturity differences | +| `carbon.pattern` | Carbon component | `broader_than` | Within Carbon, patterns compose components into flows; the containment is system-scoped | +| `primitive` | `foundation` terms | `near_equivalent` | Shared base-layer usage across systems with unstable extension: sometimes tokens, sometimes atoms | +| `hig.material` | `material.system` | `same_label_different_meaning` | HIG names visual surface treatments; Material names a design system; the shared label is coincidence | +| `styleguide` | `designsystem` | `partial_overlap` | Era- and org-scoped: a historical style guide governs visual style; a design system layers foundations, code, and governance; both labels coexist | +| `foundation` (Material) | `foundation` (Fluent, Carbon, Polaris) | `near_equivalent` | Near-equivalent layer labels whose contents each system decides independently | + +## Scenario A: Component vs Pattern + +Question: is a component a pattern; at what level do `primitive`, `component`, and `pattern` sit? + +Query phrasing covered: `component versus pattern terminology`, `difference between component and pattern across design systems`. + +Answer shape: per system, not universal. In Carbon, `pattern` is `broader_than` its components within Carbon's scope; `carbon.pattern` and `stylegallery.pattern` share the reusable-solution region only as `partial_overlap`; `primitive` is `near_equivalent` to foundation terms with an unstable extension. A merged one-line definition would erase these boundaries. + +## Scenario B: Variable vs Design Token vs CSS Custom Property + +Question: are Figma's `variable`, DTCG's `token`, and CSS's `custom property` the same thing? + +Query phrasing covered: `figma variable design token custom property`. This is the same-label different-meaning case. + +Answer shape: no single equivalence holds. The three terms come from different source kinds (`design-tool`, `specification`, web platform mechanism) with different concepts: named-design-value, interchange-record, runtime-value-slot. `figma.variable` → `dtcg.token` is `partial_overlap`; `dtcg.token` → `css.custom-property` is `implementation_representation`. Substitution breaks in both directions: tool modes do not survive export, and custom properties carry non-design values. + +## Scenario C: Style Guide vs Design System + +Question: is a `style guide` the same as a `design system`? + +Query phrasing covered: `style guide versus design system`. + +Answer shape: no; `partial_overlap` scoped by era and organization. The historical `styleguide` record carries `historical_scope`: org-wide visual governance, dominant before layered systems with code and tokens; `introduced_in`/`deprecated_in` are not globally datable because adoption is per-organization, which is exactly why the relation is not `renamed_to`. Named-source evidence: the four recorded design systems each publish foundations-plus-components-plus-guidance, which no cited historical style guide scope covers. + +## Opinionated Guidance + +- Resolve a conflict only after naming every source involved; silent resolution creates the next conflict. +- Prefer surface-prefixed translations over merged definitions when handing off. +- StyleGallery's own [Controlled Vocabulary](../guides/vocabulary.md) stays authoritative inside this repository. +- Add a case only with at least two named, cited sources in genuine tension. + +## Platform-Specific Guidance + +When a case involves a platform guideline source, cite that platform's surface and route deeper convention comparison to [Platform Guides](../platform-guides/index.md); engine terms route to Game UI; motion terms to Motion. + +## Unsupported Absolutes + +- A working relation is not a standard. +- One source's revision does not obligate others to follow. +- A recorded case does not close the conflict outside its boundary. +- Tool feature names do not settle system-layer definitions. + +## Verification Contract + +For each relation, verify both cited sources still use the recorded terms and meanings, the typed relation and boundary still hold, `reviewed_on` is current for the claim, and every case names at least two sources in tension. + +## Source, License, And Attribution + +This page is a locally authored relation record with locally written summaries. Cited sources remain authoritative for their own definitions; no upstream definitional prose is reproduced. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [StyleGallery Domains](../DOMAINS.md). diff --git a/design-terminology/index.md b/design-terminology/index.md new file mode 100644 index 0000000..84a5da3 --- /dev/null +++ b/design-terminology/index.md @@ -0,0 +1,63 @@ +# Design Terminology + +Design Terminology owns the decision surface that binds design terms to their named sources, classifies them by source kind and concept family, and judges typed semantic relations and conflicts between them. + +## Scope Boundary + +In scope: source-kind classification for named vocabulary sources, concept-family classification for design terms, a typed relation model between terms from different sources, source-bounded vocabulary inventories with freshness fields, and cross-system conflict cases. + +Out of scope: StyleGallery's own canonical naming, actual UI behavior or implementation methods, accessibility rules, platform-specific interaction adaptation, universal prescriptions about which term is generally better, and authority over any external vocabulary. + +This domain decides: which source a term belongs to, what kind of source that is, which concept family the term serves, and what typed relation holds between two terms with its boundary. It does not decide what StyleGallery calls things internally, whether an implementation is correct, or which external definition wins. + +## Evidence And Research Boundary + +V0.1 is a Markdown-only browsing and verification stage. Term records and typed relations are authored and reviewed as Markdown tables in [Cross-System Term Cases](conflict-cases.md); a machine-readable term, concept, source, and relation registry is a prerequisite for promotion beyond `experimental`. Material v2 currently exposes these pages through document search only; it does not answer structured crosswalk queries. + +Representative questions this domain answers: are Figma's variable, the DTCG design token, and the CSS custom property the same thing; is a component a pattern; is a style guide the same as a design system; which of two clashing labels came from which source. + +## Promotion To Stable + +Promotion beyond `experimental` requires all of the following, each pass/fail checkable: + +- A named review owner, secondary reviewer, freshness owner, and dispute resolver are recorded. +- A machine-readable registry with schema exists for terms, concepts, sources, and relations. +- A relation invariant validator derived from the forbidden error states in [Design Term Relations](relation-types.md) passes. +- Every term carries a direct source locator. +- Every relation names both sources and a non-trivial boundary. +- At least three representative user tasks are verified: judging same-label different-meaning, judging a cross-system relation, and separating a historical term from a current one. +- Representative findability queries return a target document or record. +- Unresolved semantic disputes: zero. +- Stale sources beyond their re-review trigger: zero. +- Usage evidence from at least one real human or agent consumer exists. + +## Content Review Contract + +Before any merge or promotion, a full semantic review covers every term and relation (not a sample) against this checklist: + +- Is the source kind correct for each cited source? +- Does each term description match what its source actually supports? +- Is each relation type appropriate for its pair? +- Is each relation boundary sufficient? +- Are both terms compared at the same abstraction level? +- Is official-source authority overstated anywhere? +- Is each historical/current status correct? + +The review result is recorded as: terms reviewed, relations reviewed, counts of accepted, revised, and unresolved items, reviewer name, and review date. Author self-audit alone does not satisfy this contract. + +## Available Guides + +- [Design Source Kinds](source-kinds.md) classifies what kind of thing a vocabulary source is before its terms are read. +- [Design Source Vocabularies](source-vocabularies.md) inventories named sources with kind, version boundary, status, and review date. +- [Design Concept Families](concept-families.md) classifies design terms by the decision each term serves. +- [Design Term Relations](relation-types.md) defines the typed relation model and the term record shape. +- [Cross-System Term Cases](conflict-cases.md) applies typed relations to recorded term records and conflict scenarios. + +## Domain Contract + +[Vocabulary](../guides/vocabulary.md) owns StyleGallery's canonical internal word set; Design Terminology compares the meanings and relations of terms used by external named sources. Platform Guides compares platform interaction conventions, not terminology; Motion owns motion terminology. Naming rationale: topology suggests a relation graph this domain does not yet provide; terminology is the accurate name for comparing definitions, usage scope, and conflicts. Scope decision: [Design Terminology Domain Scope Decision](../quality/claim-records/design-terminology-domain-scope.md). + +## IA Navigation + +Parent: [StyleGallery](../index.md). +Next: [Design Source Kinds](source-kinds.md). diff --git a/design-terminology/relation-types.md b/design-terminology/relation-types.md new file mode 100644 index 0000000..cf6bbc3 --- /dev/null +++ b/design-terminology/relation-types.md @@ -0,0 +1,103 @@ +--- +type: Domain Guide +title: Design Term Relations +description: Typed semantic relation model between design terms from different named sources, and the term record shape. +domain: design-terminology +lifecycle: experimental +--- + +# Design Term Relations + +Primary role: typed term relation model. + +## Repository Boundary + +This guide defines the closed set of typed relations used to judge how two design terms relate, and the shape of a term record. It does not decide which external definition is correct, and its types never rename StyleGallery's own terms. Relations are judgments recorded with evidence, not standards. + +## Reusable Method + +1. Record both terms with their sources, kinds, and concepts. +2. Choose exactly one relation type from the closed set below. +3. Write the boundary statement: the specific scope in which the relation holds and where it breaks. +4. Stamp `reviewed_on`; a relation without a date is unverified. +5. Re-verify the relation whenever either source revises the term. + +## Relation Types + +| Relation type | Meaning | Invariants | Required boundary statement | +| --- | --- | --- | --- | +| `equivalent_within_scope` | The two terms denote the same concept inside one named scope | Symmetric; a named scope must exist and be recorded | The scope, and what changes outside it | +| `near_equivalent` | Mostly overlapping meaning with known divergences | Symmetry must be declared per record; the axis creating the divergence must be named | The divergences and their axis | +| `partial_overlap` | Some instances satisfy both terms; others satisfy only one | Symmetric; both the common region and each non-common region must be recorded | Which instances fall on each side | +| `broader_than` | The first term's extension properly contains the second's | Directional; the reverse side must hold `narrower_than` when recorded from the other term; a counterexample direction must exist | The contained region and a counterexample direction | +| `narrower_than` | Inverse of `broader_than` | Directional; must be the inverse of the paired `broader_than` record | Same as above, inverted | +| `implementation_representation` | One term is a way the other is serialized, stored, or consumed | Directional and fixed: the from-term is the representation, the to-term is the semantic concept; the direction must not flip between records of the same pair | The representation direction and what is lost or added | +| `renamed_to` | A source replaced one label with another | Intra-source temporal: both terms must belong to one named source, with a dated or versioned rename event | The rename event and both statuses | +| `deprecated_in_favor_of` | A source withdrew one term in favor of another | Requires a deprecation basis and a replacement source of record | The withdrawal scope and migration note | +| `same_label_different_meaning` | Identical labels, distinct concepts | Requires evidence that label is identical while concept or scope differs | Both meanings and the confusion risk | +| `not_comparable` | No meaningful relation holds at the cited scopes | Symmetric; the comparison axis that fails must be named | Why comparison fails | + +### Forbidden Error States + +A relation record is invalid when any of the following holds: + +- The same term pair records `broader_than` and `narrower_than` simultaneously in one direction (these are inverse views, not two facts). +- The same pair and scope records `equivalent_within_scope` and `not_comparable` (or any other contradiction) at once. +- `renamed_to` lacks a time or version basis for the rename event. +- Either term lacks an official, named source. +- The boundary field is empty or restates the type without adding scope. + +These rules are the human contract for v0.1; when the structured registry lands, they become validator rules unchanged. + +## Term Record Shape + +```yaml +term_id: figma.variable +label: Variable +source: figma # named source from source-vocabularies +source_kind: design-tool # from source-kinds +concept: named-design-value +status: current # current | deprecated | historical | unknown +scope: file-or-collection-bound +reviewed_on: 2026-08-18 +relations: + - target: dtcg.token + type: partial_overlap + boundary: > + Some tool variables export as interchange tokens, but tool features + such as modes exceed the format, and not every variable is a + portable design token. +``` + +In v0.1 this shape is authored as the Markdown tables in [Cross-System Term Cases](conflict-cases.md). A machine-readable registry holding terms, concepts, sources, and relations is a prerequisite for promoting this domain beyond `experimental`; until then Material v2 answers document search only, not structured crosswalk queries. + +## Opinionated Guidance + +- One relation type per pair, per scope; two relations for the same pair require two named scopes. +- `partial_overlap` with a stated boundary beats an unqualified equivalence. +- A relation between different source kinds must say what the kind difference contributes. +- Reject a recorded relation whose boundary restates the type without adding scope. + +## Platform-Specific Guidance + +Relations involving a platform guideline source cite that platform's surface; deeper convention comparison routes to [Platform Guides](../platform-guides/index.md). + +## Unsupported Absolutes + +- A relation is not a standard and binds no source. +- Popularity does not decide `broader_than`. +- Tool-layer feature names do not settle system-layer relations. +- Absence of a relation between two terms is not evidence of equivalence. + +## Verification Contract + +Every recorded relation names two term records, one type from the closed set, a non-trivial boundary, and a review date; verify both sources still use the terms as recorded before promotion. + +## Source, License, And Attribution + +This page is a locally authored model. Cited sources remain authoritative for their own definitions; no upstream prose is reproduced. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [Cross-System Term Cases](conflict-cases.md). diff --git a/design-terminology/source-kinds.md b/design-terminology/source-kinds.md new file mode 100644 index 0000000..61123c2 --- /dev/null +++ b/design-terminology/source-kinds.md @@ -0,0 +1,76 @@ +--- +type: Domain Guide +title: Design Source Kinds +description: Classification of vocabulary sources into design system, platform guideline, specification, design tool, pattern library, and brand style guide kinds. +domain: design-terminology +lifecycle: experimental +--- + +# Design Source Kinds + +Primary role: vocabulary source-kind classification guide. + +## Repository Boundary + +This guide classifies what kind of thing a vocabulary source is before any of its terms are read or compared. Source kind is a property of the source, not of a term; a term inherits its source's kind for reading rules only. The kinds are review tools for comparing sources, not a ranking of authority. + +## Reusable Method + +1. Identify the named source and its official link. +2. Assign one primary source kind. +3. Record what the kind implies for reading its terms: audience, stability, and versioning behavior. +4. Record the version boundary: specification version, product version, OS release cycle, or a dated review set for living sites. +5. Re-classify when a source restructures, such as a design tool publishing a system layer. +6. Never compare terms across kinds as though the kinds were identical. + +## Source Kinds + +| Source kind | What it is | How to read its terms | Examples | +| --- | --- | --- | --- | +| `design-system` | A maintained, layered collection of foundations, components, and guidance, usually with code | Terms name layers of one system's current release; expect drift across releases | Material 3, Fluent 2, Carbon, Polaris | +| `platform-guideline` | A platform owner's rules for software on that platform | Terms are scoped to the platform's release cycle and certification context | Apple Human Interface Guidelines | +| `specification` | A versioned interchange or conformance document | Terms are defined exactly for the version; meaning changes require a new version | W3C Design Tokens Format | +| `design-tool` | A product whose data model exposes tool constructs | Terms name tool features, not industry definitions; product versions rename freely | Figma variables, modes, components | +| `pattern-library` | A curated collection of reusable solutions, with or without a full system | Terms name the collection's own units; scope is the collection, not an organization | StyleGallery Layout patterns | +| `brand-style-guide` | An organization's visual and voice governance document | Terms govern expression, not interface structure; often narrower than a design system | Historical print-lineage style guides | + +## Classification Cases + +| Case | Rule | Example | +| --- | --- | --- | +| Platform guideline mistaken for a design system | A platform guideline binds a platform release; a design system versions itself | HIG is a platform guideline even though it looks system-like | +| Specification mistaken for a system | A specification defines an interchange shape; it ships no components or guidance | DTCG Format defines the token data model, not a token set | +| Tool feature mistaken for an industry term | A tool construct is evidence of the tool's model, not a universal definition | Figma `variables` is a feature name | +| Pattern library inside a system | A library can be part of a system; classify by what is being cited | Citing Carbon patterns cites the system's library layer | +| Brand guide that grew into a system | Classify by what the cited source governs today, and record the history | An org guide that now ships tokens and code | + +## Opinionated Guidance + +- Record source kind before recording any term from that source. +- Treat kind and authority as separate: an official source of any kind is authoritative only for itself. +- Prefer the narrowest kind that fits the cited surface. +- Date every kind assignment; sources restructure. + +## Platform-Specific Guidance + +Platform guideline sources are recorded here only for terminology. Bounded comparison of their interaction conventions belongs to [Platform Guides](../platform-guides/index.md); engine vocabulary belongs to Game UI. + +## Unsupported Absolutes + +- Source kind does not imply quality or maturity. +- One system's layer structure is not a template for other kinds. +- A tool's market share does not convert its feature names into industry terms. +- A specification's precision does not extend to systems that consume it. + +## Verification Contract + +For every recorded source, verify the official link resolves, the source kind still fits the cited surface, the version boundary is stated, and the review date is current enough for the claim being made. + +## Source, License, And Attribution + +This page is a locally authored, project-neutral classification. Named sources are cited only as examples of their kind; no upstream definitional prose is reproduced. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [Design Source Vocabularies](source-vocabularies.md). diff --git a/design-terminology/source-vocabularies.md b/design-terminology/source-vocabularies.md new file mode 100644 index 0000000..4839b97 --- /dev/null +++ b/design-terminology/source-vocabularies.md @@ -0,0 +1,79 @@ +--- +type: Domain Guide +title: Design Source Vocabularies +description: Freshness-bounded inventory of named vocabulary sources with source kind, vocabulary surface, version boundary, and review status. +domain: design-terminology +lifecycle: experimental +--- + +# Design Source Vocabularies + +Primary role: named vocabulary source inventory. + +## Repository Boundary + +This page inventories the named sources whose terms this domain records, with the fields needed to re-verify each reading later. It records which surfaces each source publishes, not what any surface should contain. It does not adjudicate a universal definition of `design system` or rank sources. + +## Reusable Method + +1. Name the source and its owner. +2. Assign the source kind using [Design Source Kinds](source-kinds.md). +3. Record the published vocabulary surfaces as verbatim layer names. +4. Record the version boundary and status, and stamp `reviewed_on` and `retrieved_on`. +5. Re-verify before any promotion beyond `experimental`, and record what changed. + +## Recorded Sources + +| Source | Owner | Source kind | Vocabulary surface | Version boundary | Status | Reviewed on | +| --- | --- | --- | --- | --- | --- | --- | +| [Material 3](https://m3.material.io/foundations) | Google | `design-system` | `foundations`, `components`, `styles`, `design tokens` | Living site; reviewed page set below | current | 2026-08-18 | +| [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/) | Apple | `platform-guideline` | `components`, `materials`, `layout`, patterns | OS release cycle; reviewed page set | current | 2026-08-18 | +| [Fluent 2](https://fluent2.microsoft.design/) | Microsoft | `design-system` | `foundations`, `components`, `patterns`, tokens | Living site; reviewed page set | current | 2026-08-18 | +| [Carbon](https://carbondesignsystem.com/) | IBM | `design-system` | `foundations` including tokens, `components`, `patterns` | Living site; reviewed page set | current | 2026-08-18 | +| [Polaris](https://polaris.shopify.com/) | Shopify | `design-system` | `foundations` including design tokens, `components`, `patterns`, `icons` | Living site; package versions for code | current | 2026-08-18 | +| [Design Tokens Format](https://tr.designtokens.org/) | W3C Design Tokens Community Group | `specification` | `token`, `group`, `alias` data model | Specification draft version | current | 2026-08-18 | +| [Figma](https://help.figma.com/hc/en-us) | Figma | `design-tool` | `variables`, `modes`, `components` as tool constructs | Product and help-center version | current | 2026-08-18 | + +All entries cite official first-party URLs (`authority: official`); `retrieved_on` equals `reviewed_on` for this revision. + +## Freshness Policy + +Every recorded source carries: `source_url`, `source_kind`, a version boundary (specification version, product version, OS cycle, or dated reviewed page set), `status` in `current` / `deprecated` / `historical` / `unknown`, `reviewed_on`, and `retrieved_on`. Living sites without publishable versions record the reviewed page set and a re-review trigger. Terms with era history additionally record `introduced_in`, `deprecated_in`, `renamed_to`, and `historical_scope` in [Cross-System Term Cases](conflict-cases.md). + +## Reading The Inventory + +- Four of the seven sources are design systems; HIG is a platform guideline, DTCG is a specification, Figma is a tool. Horizontal comparison is valid only within a kind, or through typed relations with boundaries. +- `foundations` labels are near-equivalent as layer names, but each system decides what the layer contains. +- The DTCG row records an interchange format, not a published token set. +- Dates above are the reading bound; any later restructure is new evidence, not a back-fill. + +## Opinionated Guidance + +- Cite surfaces verbatim; do not translate one source's layer names into another's inside a record. +- Add a source only when its vocabulary surface is public, named, and officially linkable. +- Record doc-surface and code-package vocabulary separately when they diverge. +- Treat a renamed surface as new evidence with a new review date. + +## Platform-Specific Guidance + +Platform-owned sources appear here only for terminology records; interaction-convention comparison routes to [Platform Guides](../platform-guides/index.md). + +## Unsupported Absolutes + +- A source's layer count is not a maturity measure. +- Absence of a surface does not mean the source lacks that capability. +- This inventory does not verify any link resolves today beyond its recorded review date. +- Inclusion here is not an endorsement for product adoption. + +## Verification Contract + +Before promotion or material edit, re-verify each cited surface still exists and still publishes the recorded layer names; update `status` and `reviewed_on`; confirm no entry quotes upstream definitional text. + +## Source, License, And Attribution + +This page is locally authored. Every cited source remains the authority on its own vocabulary; links are usage evidence, and no upstream prose, tables, or code samples are reproduced. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [Design Concept Families](concept-families.md). diff --git a/quality/claim-records/design-terminology-domain-scope.md b/quality/claim-records/design-terminology-domain-scope.md new file mode 100644 index 0000000..c821e79 --- /dev/null +++ b/quality/claim-records/design-terminology-domain-scope.md @@ -0,0 +1,56 @@ +--- +type: Decision Record +title: Design Terminology Domain Scope Decision +description: Decision to add Design Terminology as the sixth StyleGallery domain, with four placement alternatives compared and the domain's independent decision surface defined. +--- + +# Design Terminology Domain Scope Decision + +## Decision + +StyleGallery adds Design Terminology as a sixth explicit domain. The domain's independent decision surface, in one sentence: + +> Design Terminology binds design terms to their named sources, classifies them by source kind and concept family, and judges typed semantic relations and conflicts between terms from different sources. + +Concretely, this domain and only this domain decides: which named source a term belongs to, what kind of source that is, which concept family the term serves, and which typed relation with which boundary holds between two terms. The five existing domains keep their boundaries unchanged. + +The domain does not own: StyleGallery's internal canonical naming (the [Controlled Vocabulary](../../guides/vocabulary.md) keeps it), actual UI behavior or implementation methods, accessibility rules, platform-specific interaction adaptation (Platform Guides keeps it), and any universal prescription about which term is generally better. + +## Alternatives Compared + +| Candidate | Strength | Weakness | Disposition | +| --- | --- | --- | --- | +| Extend `guides/vocabulary.md` | Close to existing terminology stewardship | Mixes StyleGallery's internal canonical word set with external systems' term meanings on one authoritative page; the vocabulary would then compete with external definitions it is supposed to route around | Rejected: internal canonical control and external comparative meaning are different decisions with different evidence and freshness rules | +| `platform-guides/terminology/` | Reuses an existing comparative domain | Tools (Figma), specifications (DTCG Format), and pattern libraries are not platforms; hosting them under Platform Guides would erase the source-kind axis this domain depends on | Rejected: source kind, not platform comparison, is the primary axis | +| Shared non-domain `terminology/` | Easy to reference across domains | No named owner, lifecycle, validator, or review authority; consumer-reference already carries the no-second-authority rule for shared infrastructure | Rejected: ungoverned placement reproduces the silent-collision problem the content exists to solve | +| New sixth domain `design-terminology/` | Owns an independent lifecycle, review owner, validator coverage, and experimental-to-stable promotion path | Widest infrastructure blast radius: manifest, validators, schemas, sealed material cardinality, and package inventory all change | Adopted, with the conditions below | + +Adoption conditions: content starts `experimental`; a machine-readable term/concept/source/relation registry is a promotion prerequisite; every external meaning claim carries an official source and review date; typed relations replace plain term-pair tables. + +## Naming + +Terminology, not topology: topology suggests a formal relation graph or ontology that this domain does not yet provide; v0.1 compares definitions, usage scope, and conflicts. Terminology, not vocabulary: the [Controlled Vocabulary](../../guides/vocabulary.md) owns StyleGallery's canonical internal word set; this domain compares the meanings and relations of terms used by external named sources. + +## Context + +Named design systems, platform guidelines, specifications, and design tools define overlapping terms differently, and handoffs between them fail on silent term collisions. Recording these definitions inside Layout would violate the pattern boundary; the controlled vocabulary page is for internal canonical terms; Platform Guides compares interaction conventions rather than terminology. + +## Warrant + +A separate domain lets terminology comparison name its own evidence boundary: cited official sources, dated structural readings, typed relations with boundaries, and working translations that never override repository policy. + +## Consequences + +- `design-terminology/**` begins `experimental` with a named review owner and validator coverage. +- The domain manifest, root routes, quality scope, vocabulary domain list, and governance rows record six domains; Consumer Reference remains shared infrastructure and still cannot add a domain row. +- Domain identity and cardinality are currently sealed in multiple surfaces (closed schema enums, identity sets, discover cardinality, package inventory, snapshot tests) requiring synchronized manual edits when a domain is added. This is recorded technical debt, not tamper evidence alone: one author changing all copies in one commit weakens duplication as independent evidence while keeping drift risk. Revisit triggers: a seventh domain id is added, manual-change sites exceed twelve, a cardinality drift incident occurs, or registry generation changes. Target structure when triggered: one canonical domain registry generating enums, lists, and package inventory, with an independently reviewed sealed digest as the tamper check. Named review owner for this debt: the Design Terminology domain owner until a governance owner is designated. +- Term relations recorded by the domain are working judgments, not repository policy for other domains. + +## Boundary Or Limitation + +This decision establishes ownership and governance only. It does not verify that any cited external vocabulary is current beyond each record's review date, does not make any external definition authoritative for product implementation, and does not claim the typed relation model is complete beyond the recorded cases. + +## IA Navigation + +Parent: [Claim Records](index.md) in [Quality Gates](../index.md). +Next: [StyleGallery Domains](../../DOMAINS.md) for the active domain manifest. From 6137b356080a7d6197ec493e7c53504ffa50d120 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:29:38 +0900 Subject: [PATCH 02/10] governance: register the sixth domain --- AGENTS.md | 2 +- DOMAINS.md | 4 +++- GOVERNANCE.md | 4 +++- README.md | 13 ++++++++----- guides/vocabulary.md | 2 +- index.md | 3 ++- log.md | 5 +++++ quality/evidence/executable-evidence.md | 2 +- quality/index.md | 4 ++-- 9 files changed, 26 insertions(+), 13 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a742fd5..5cfd6e3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ description: Rules coding agents must follow when editing this governed multi-do # Agent Instructions -This repository is StyleGallery: a governed gallery with Layout, Motion, Design Engineering, Game UI, and Platform Guides domains. Read [StyleGallery Domains](DOMAINS.md) before adding a domain, changing a domain boundary, or adapting an external source. +This repository is StyleGallery: a governed gallery with Layout, Motion, Design Engineering, Game UI, Platform Guides, and Design Terminology domains. Read [StyleGallery Domains](DOMAINS.md) before adding a domain, changing a domain boundary, or adapting an external source. Before editing generated artifacts, validators, lifecycle state, or ownership policy, read [Governance, Lifecycle, And Docs-As-Code](GOVERNANCE.md). diff --git a/DOMAINS.md b/DOMAINS.md index 6b626b6..6d5bc8d 100644 --- a/DOMAINS.md +++ b/DOMAINS.md @@ -19,6 +19,7 @@ This manifest is the source of truth for top-level StyleGallery domains. A domai | Design Engineering | [Design Engineering](design-engineering/index.md) | `experimental` | Product-layer craft questions and evidence-bearing decisions. | A second shared principle system or taste as proof. | Design Engineering domain owner | | Game UI | [Game UI](game-ui/index.md) | `experimental` | Game-interface classification, hierarchy, reference records, and implementation guides nested by engine. | Reusable Layout CSS or claims that one engine structure is universal. | Game UI domain owner | | Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` | Comparative references for a named platform and version context. | Affiliation, brand imitation, or authority over web standards. | Platform Guides domain owner | +| Design Terminology | [Design Terminology](design-terminology/index.md) | `experimental` | Source-kind classification, concept-family classification, typed term relations, and cross-system conflict cases for named vocabulary sources. | StyleGallery's own controlled vocabulary, motion terminology, visual token values, universal naming prescriptions, or authority over external vocabularies. | Design Terminology domain owner | ## Page Manifest @@ -29,10 +30,11 @@ This manifest is the source of truth for top-level StyleGallery domains. A domai | Design Engineering | `design-engineering/index.md` | `design-engineering/interface-craft.md`, `design-engineering/consumer-migration-readiness.md`, `design-engineering/reference-profiles/index.md`, `design-engineering/reference-profiles/governed-local/index.md`, `design-engineering/reference-profiles/external-adaptation/index.md` | | Game UI | `game-ui/index.md` | `game-ui/classification.md`, `game-ui/screen-hierarchy.md`, `game-ui/reference-record.md`, `game-ui/unity/architecture.md`, `game-ui/unity/ui-systems.md`, `game-ui/unity/cli-loop.md`, `game-ui/unity/repository-map.md`, `game-ui/unity/org-wiki.md` | | Platform Guides | `platform-guides/index.md` | `platform-guides/apple-interaction.md` | +| Design Terminology | `design-terminology/index.md` | `design-terminology/source-kinds.md`, `design-terminology/source-vocabularies.md`, `design-terminology/concept-families.md`, `design-terminology/relation-types.md`, `design-terminology/conflict-cases.md` | ## Shared Non-Domain Infrastructure -[Consumer Reference](consumer-reference/index.md) is shared schema, provenance, routing, evidence, lifecycle, and machine-retrieval infrastructure outside the five-domain contract. Its source-bound material v2 index classifies admitted pages by these five domains but does not own their prose. It owns no profile implementation, visual values, or product CSS and cannot add a sixth domain row. Consumer or profile records may depend on Layout; Layout and its generated corpus cannot import consumer-reference, profile, material-registry, or transport records. +[Consumer Reference](consumer-reference/index.md) is shared schema, provenance, routing, evidence, lifecycle, and machine-retrieval infrastructure outside the six-domain contract. Its source-bound material v2 index classifies admitted pages by these six domains but does not own their prose. It owns no profile implementation, visual values, or product CSS and cannot add a seventh domain row. Consumer or profile records may depend on Layout; Layout and its generated corpus cannot import consumer-reference, profile, material-registry, or transport records. ## External Adaptation Contract diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 0281f8b..6da2d40 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -42,6 +42,7 @@ Use this file before editing repository documentation. It names which file is au | Design Engineering domain guidance | `design-engineering/*.md` | Manual | None | `experimental` | Upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Design Engineering domain owner | | Game UI domain guidance | `game-ui/**/*.md` | Manual | None | `experimental` | Classification, hierarchy, engine implementation, evidence boundary, or route changes. | `scripts/validate-domains.mjs` | Game UI domain owner | | Platform Guides domain guidance | `platform-guides/*.md` | Manual | None | `experimental` | Platform version, upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Platform Guides domain owner | +| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs` | Design Terminology domain owner | | Pattern data and examples | `scripts/pattern-data.mjs` | Manual data source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `generated` output from `stable` source | Source-lineage URL changes, generated drift, category changes, or pattern count changes. | `scripts/validate-patterns.mjs`, `scripts/validate-catalog.mjs`, `scripts/validate-governance.mjs` | Pattern-data owner | | Pattern generator | `scripts/generate-patterns.mjs` | Manual code source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `stable` generator, `generated` output | Generated structure changes, generated-warning changes, or generated metadata changes. | `node -c scripts/generate-patterns.mjs`, generated drift check, `scripts/validate-governance.mjs` | Pattern-data owner | | Validation scripts | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs` | Manual code source | CI validation output | `stable` | Validator scope changes, fixture changes, or CI parity changes. | `node -c`, matching fixture tests, `.github/workflows/validate.yml` | Validation owner | @@ -98,7 +99,7 @@ Use these states in reviews and governance notes. Do not invent new lifecycle la Default lifecycle: - Root docs, guides, recipes, quality docs, validators, and CI are `stable` unless a page explicitly says otherwise. -- `DOMAINS.md`, the scope decision, and `layout/index.md` are `stable`; domain leaves under `motion/`, `design-engineering/`, `game-ui/`, and `platform-guides/` begin `experimental`. +- `DOMAINS.md`, the scope decision, and `layout/index.md` are `stable`; domain leaves under `motion/`, `design-engineering/`, `game-ui/`, `platform-guides/`, and `design-terminology/` begin `experimental`. - Generated pattern docs, generated pattern indexes, and `CATALOG.md` are `generated`. - Draft research artifacts under `.omo/` are `draft` or `experimental` and are not contributor-facing source of truth. @@ -125,6 +126,7 @@ Consumer-reference ownership records the current truth as `owner.enforcement: "p | `tests/**`, `playwright.config.mjs`, `consumer-reference/baselines/**`, `scripts/*baseline*.mjs`, `scripts/*sentinel*.mjs`, `scripts/*renderer-purity.mjs` | Repository governance owner with Validation owner | Pure rendering, computed semantics before screenshots, immutable browser pins, required consumer-conformance semantics, optional raster capture, calibration cardinality, and pending owner approval. | | `game-ui/**` | Game UI domain owner | Player-task classification, hierarchy responsibility, reference records, engine-specific subtrees, and cross-engine boundaries. | | `platform-guides/**` | Platform Guides domain owner | Platform/source/version limits, comparison boundaries, and stale review. | +| `design-terminology/**` | Design Terminology domain owner | Term-family classification, comparative system definitions, conflict-case boundaries, and external vocabulary citations. | | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs`, `.github/workflows/validate.yml`, `.github/workflows/evidence-freshness.yml` | Validation owner | Validator scope, negative fixtures, blocking/advisory boundaries, CI parity. | ## Shared Promotion Governance diff --git a/README.md b/README.md index 33f9378..d12342d 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,18 @@ description: Governed gallery of portable interface knowledge organized by domai # StyleGallery

- StyleGallery infographic connecting five governed interface-knowledge domains to shared consumer and agent infrastructure + StyleGallery infographic connecting six governed interface-knowledge domains to shared consumer and agent infrastructure

-StyleGallery is a governed gallery of portable interface knowledge. It separates reusable spatial patterns, product-layer motion guidance, design-engineering practice, and platform-specific references into explicit domains with different evidence and ownership boundaries. +StyleGallery is a governed gallery of portable interface knowledge. It separates reusable spatial patterns, product-layer motion guidance, design-engineering practice, platform-specific references, and comparative design terminology into explicit domains with different evidence and ownership boundaries. Primary role: repository guide. The existing Layout corpus remains a gallery of minimal, portable CSS layout patterns at its current paths. Each pattern documents one primary spatial problem and the smallest robust HTML/CSS structure that solves it. Motion, visual treatment, and platform guidance do not expand reusable Layout pattern CSS; they live in their own domains and carry explicit evidence boundaries. -[Consumer Reference](consumer-reference/index.md) is shared non-domain infrastructure for optional consumer-owned reference handoffs. It carries schema, routing, provenance, and evidence metadata without owning profiles, visual values, components, or a sixth domain. +[Consumer Reference](consumer-reference/index.md) is shared non-domain infrastructure for optional consumer-owned reference handoffs. It carries schema, routing, provenance, and evidence metadata without owning profiles, visual values, components, or a seventh domain. -[Agent-Native StyleGallery](consumer-reference/agent-native/README.md) is the machine-facing entry point over that governed knowledge. Frozen v1 provides claim/evidence/governance records through `sg` and its MCP; isolated material v2 indexes admitted Markdown and exposes `sg-material` plus a separate read-only MCP. Lifecycle records own extension and archive dispositions. These material, trust/conformance, transport, and extension planes do not create a sixth domain, replace the Markdown corpus, permit mutation, or feed visual defaults back into Layout. +[Agent-Native StyleGallery](consumer-reference/agent-native/README.md) is the machine-facing entry point over that governed knowledge. Frozen v1 provides claim/evidence/governance records through `sg` and its MCP; isolated material v2 indexes admitted Markdown and exposes `sg-material` plus a separate read-only MCP. Lifecycle records own extension and archive dispositions. These material, trust/conformance, transport, and extension planes do not create a seventh domain, replace the Markdown corpus, permit mutation, or feed visual defaults back into Layout. ## Quick Start @@ -115,6 +115,7 @@ CLI와 MCP의 상세 사용법은 [Agent-Native StyleGallery 가이드](consumer | [Design Engineering](design-engineering/index.md) | Product-layer craft decisions and verification questions. | A second universal principle set or taste as evidence. | | [Game UI](game-ui/index.md) | Game-interface classification, hierarchy, reference records, and engine-specific implementation guides. | Reusable Layout CSS or claims that one engine structure is universal. | | [Platform Guides](platform-guides/index.md) | Bounded comparison with named platform conventions. | Affiliation, imitation, or authority over web and accessibility contracts. | +| [Design Terminology](design-terminology/index.md) | Comparative design-term definitions, term families, and cross-system conflict cases for named systems. | StyleGallery's own vocabulary, motion terminology, visual token values, or authority over external vocabularies. | The canonical domain manifest and provenance policy are in [StyleGallery Domains](DOMAINS.md). @@ -137,6 +138,7 @@ Use each root hub for one primary job. | [Design Engineering](design-engineering/index.md) | Design Engineering domain hub | You need product-level interface-craft decision guidance. | | [Game UI](game-ui/index.md) | Game UI domain hub | You need to classify a game interface or understand its screen hierarchy. | | [Platform Guides](platform-guides/index.md) | Platform Guides domain hub | You need a bounded platform comparison. | +| [Design Terminology](design-terminology/index.md) | Design Terminology domain hub | You need to compare how named design systems define or classify design terms. | ## Task Routes @@ -151,6 +153,7 @@ Each common task has one primary route. Use secondary links only after the prima | `compare adversarial consumer identities` | [Reference Profiles](design-engineering/reference-profiles/index.md) | It keeps non-default product values in related Design Engineering examples over one pinned Layout source. | | `classify a game interface or map it to an engine` | [Game UI](game-ui/index.md) | It separates engine-neutral roles from implementation-specific guidance. | | `compare a named platform convention` | [Platform Guides](platform-guides/index.md) | It requires platform and evidence boundaries before adaptation. | +| `compare how design systems define a term` | [Design Terminology](design-terminology/index.md) | It separates external terminology comparison from StyleGallery's own controlled vocabulary. | | `turn raw content into a homepage or ordinary webpage` | [Webpage Generation Workflow](guides/webpage-generation-workflow.md) | It starts with use case, content-to-layout fit, harmony, and handoff. | | `plan a screen before the layout problem is obvious` | [Layout Planning Guide](GUIDE.md) | It sequences task, content, scroll, recipe, and verification choices. | | `choose a pattern when the name is unknown` | [Decision Tree](guides/decision-tree.md) | It routes from constraints to pattern categories. | @@ -177,7 +180,7 @@ Each common task has one primary route. Use secondary links only after the prima ## How To Use This Repository - Start with [StyleGallery Domains](DOMAINS.md) when the owning domain is not already clear. -- Use [Layout](layout/index.md), [Motion](motion/index.md), [Design Engineering](design-engineering/index.md), [Game UI](game-ui/index.md), or [Platform Guides](platform-guides/index.md) as the domain-local entry point. +- Use [Layout](layout/index.md), [Motion](motion/index.md), [Design Engineering](design-engineering/index.md), [Game UI](game-ui/index.md), [Platform Guides](platform-guides/index.md), or [Design Terminology](design-terminology/index.md) as the domain-local entry point. - Start with [Layout Planning Guide](GUIDE.md) when you are designing a screen before a layout problem is obvious. - Use the [Webpage Generation Workflow](guides/webpage-generation-workflow.md) when raw content needs to become a homepage or ordinary webpage before a layout recipe is obvious. - Use the [Documentation Mode Taxonomy](guides/documentation-mode-taxonomy.md) when adding or reviewing docs so each page has a clear primary reading mode. diff --git a/guides/vocabulary.md b/guides/vocabulary.md index e740018..898bb6d 100644 --- a/guides/vocabulary.md +++ b/guides/vocabulary.md @@ -15,7 +15,7 @@ Primary role: vocabulary and scannability contract. - Canonical: `domain` - Concept: top-level knowledge ownership - Definition: A governed StyleGallery decision surface with a named scope, exclusions, lifecycle, source-of-truth, validator, and review owner. - - Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, root routing, and `domain` frontmatter on governed leaves. + - Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, Design Terminology, root routing, and `domain` frontmatter on governed leaves. - Canonical: `category` - Concept: domain-local browse placement - Definition: A canonical grouping inside one domain; it cannot change the owning domain or its evidence boundary. diff --git a/index.md b/index.md index 7b36d1a..fbba1ce 100644 --- a/index.md +++ b/index.md @@ -4,7 +4,7 @@ okf_version: "0.1" # StyleGallery -StyleGallery is an OKF-style knowledge bundle organized into governed interface-knowledge domains. Existing Layout paths remain canonical while Motion, Design Engineering, Game UI, and Platform Guides own separate product and reference boundaries. +StyleGallery is an OKF-style knowledge bundle organized into governed interface-knowledge domains. Existing Layout paths remain canonical while Motion, Design Engineering, Game UI, Platform Guides, and Design Terminology own separate product and reference boundaries. Primary role: OKF bundle map. @@ -16,6 +16,7 @@ Primary role: OKF bundle map. - [Design Engineering](design-engineering/index.md) - Product-layer interface-craft decisions and verification questions. - [Game UI](game-ui/index.md) - Game-interface classification, hierarchy, reference records, and named engine implementation guides. - [Platform Guides](platform-guides/index.md) - Bounded comparative references for named platforms. +- [Design Terminology](design-terminology/index.md) - Source-kind and concept-family classification, typed term relations, and cross-system conflict cases for named vocabulary sources. - [Consumer reference](consumer-reference/index.md) - Shared non-domain receiver contract for declared repository-local JSON records or reasoned non-applicability. - [Agent-Native StyleGallery](consumer-reference/agent-native/README.md) - Machine-facing identity, retrieval, operation, CLI, read-only MCP, task projection, and governed-learning contracts. - [Consumer migration readiness](design-engineering/consumer-migration-readiness.md) - Experimental Design Engineering method for consumer-owned conformance, runtime proof, and source-bound page evidence. diff --git a/log.md b/log.md index e64b689..fc9aac6 100644 --- a/log.md +++ b/log.md @@ -2,6 +2,11 @@ ## 2026-08-18 +- Added Design Terminology as the sixth governed domain: source-kind and concept-family classification separated as distinct axes, a typed term relation model, freshness-bounded source vocabularies, and cross-system conflict cases with three representative scenarios. +- Added the Design Terminology domain scope decision record comparing four placement alternatives and defining the domain's independent decision surface. +- Recorded six-domain scope in the domain manifest, root routes, quality scope, controlled vocabulary domain list, and governance rows; recorded sealed-cardinality duplication as accepted technical debt in the scope decision. +- Admitted the new domain pages and scope decision into material v2 and regenerated the material registry without modifying the git index. + - Added the StyleGallery homepage example planned from a clean npm installation and verified across desktop, tablet, and mobile Chrome CDP viewports. - Added pinned Pretext text-layout measurement as an npm-installed verification dependency while keeping browser Canvas execution outside the Node CLI and MCP surfaces. - Added deterministic hero-heading line-count, DOM overflow, accessibility, console, request, and screenshot checks. diff --git a/quality/evidence/executable-evidence.md b/quality/evidence/executable-evidence.md index 9295380..1ffb6b3 100644 --- a/quality/evidence/executable-evidence.md +++ b/quality/evidence/executable-evidence.md @@ -32,7 +32,7 @@ Executable evidence identifies which claims are machine-enforced, which are only | Markdown links resolve inside the repository. | `scripts/validate-links.mjs` | `node scripts/validate-links.mjs --json` | All checked Markdown links resolve to local files or are intentionally external or anchors. | A local link that escapes the repository or points at a missing file must fail. | Proves link targets exist, not that the target content supports a claim. | | Catalog and generated pattern indexes match the pattern data source. | `scripts/validate-catalog.mjs` | `node scripts/validate-catalog.mjs --json` | `CATALOG.md`, category indexes, and expected pattern files match `scripts/pattern-data.mjs`. | Missing, unexpected, or unlisted pattern files must fail. | Proves catalog consistency, not pattern usefulness. | | Governance, lifecycle, generated-file, ownership, and stale-content policy remain discoverable and CI-enforced. | `scripts/validate-governance.mjs` and `scripts/test-validate-governance.mjs` | `node scripts/validate-governance.mjs --json`; `node scripts/test-validate-governance.mjs --json` | `GOVERNANCE.md`, `.github/CODEOWNERS`, generated warnings, generated metadata, root link targets, lifecycle states, `scheduled_stale_audit` metadata, and CI wiring are present. | Missing governance file, generated warning, generated metadata, CODEOWNERS coverage, or stale policy fixtures must fail. Preferred governance prose and link labels emit warnings. | Proves governance policy is present and linked, not that CODEOWNERS users have verified repository write access. | -| Domain topology, metadata, provenance, scope boundaries, and root routes remain enforced. | `scripts/validate-domains.mjs` and `scripts/test-validate-domains.mjs` | `node scripts/validate-domains.mjs --json`; `node scripts/test-validate-domains.mjs` | Five governed domains and their declared leaves are reachable and attributed. | Domain metadata, immutable provenance, scope boundaries, and root-route fixtures must fail. | A full SHA proves content identity syntax, not publisher authenticity, source ownership, or local quality. | +| Domain topology, metadata, provenance, scope boundaries, and root routes remain enforced. | `scripts/validate-domains.mjs` and `scripts/test-validate-domains.mjs` | `node scripts/validate-domains.mjs --json`; `node scripts/test-validate-domains.mjs` | Six governed domains and their declared leaves are reachable and attributed. | Domain metadata, immutable provenance, scope boundaries, and root-route fixtures must fail. | A full SHA proves content identity syntax, not publisher authenticity, source ownership, or local quality. | | Consumer-reference handoffs, schema/runtime parity, repository-local record paths, lifecycle separation, ownership truth, and dependency direction remain enforced. | `scripts/validate-consumer-reference.mjs` and `scripts/test-validate-consumer-reference.mjs` | `node scripts/validate-consumer-reference.mjs --json`; `node scripts/test-validate-consumer-reference.mjs --json` | Declared and reasoned-not-applicable fixtures exit zero, every shipped schema rule has accepted/rejected parity coverage, all repository handoffs declare applicability, fixtures remain related, and ownership discloses placeholder single-account review. | Unknown top-level or nested properties, invalid schema fields, missing handoff or reason, stable with ended support, boolean independence, unresolved/absolute/scheme/network/parent/item-or-record-symlink/non-JSON paths, scaffold success, sixth-domain classification, literal or supported computed reverse imports, and repository handoff omissions must fail with named finding codes and non-zero child exit. | Proves receiver-contract consistency, bounded static dependency detection, and path containment, not general JavaScript data-flow safety, visual quality, independent adoption, verified owner permissions, or consumer implementation conformance. | | Promotion governance remains a closed JSON-only, invariant-scoped, deferred example contract. | `scripts/validate-promotion-rfc.mjs` and `scripts/test-validate-promotion-rfc.mjs` | `node scripts/validate-promotion-rfc.mjs --json`; `node scripts/test-validate-promotion-rfc.mjs --json` | The manifest-declared policy and two canonical examples pass with deferred decisions, zero attestations, exact support commitment, and no promotion claim. | Manifest-declared invalid fixtures plus forged, unregistered, duplicate, path, extension, support, evidence, canonical-drift, and lifecycle mutations exit non-zero with named findings. | Synthetic validation does not authenticate adoption, organizations, owners, support capacity, provenance, or a promotion decision; the current canonical inventory supplies no real independent consumers. | | Portable token source and generated CSS agree through the pinned restricted adapter. | `scripts/build-reference-artifacts.mjs`, `scripts/validate-reference-artifacts.mjs`, and `scripts/test-reference-adapters.mjs` | Build with `--fail-on-warning`, validate the generated manifest, then run the adapter fixture harness. | Dimension, color, duration, tested border values, and whole-token curly aliases emit nonzero CSS declarations with matching counts and hashes; output references remain CSS variable references. | `$extends`, JSON Pointer, resolver/modifier/theme documents, unknown reserved fields, non-string descriptions, adapter-unsafe path segments, untested type/unit, partial/dangling/cyclic/type-mismatched aliases, missing output, zero count, warning, scaffold/unknown manifest fields, missing/duplicate declaration, object sentinel, unresolved or forged value, and count drift must fail with named findings and non-zero child exit. | Proves the pinned adapter preserves this tested subset and that committed artifacts independently rebuild from their canonical source, not that tokens are product defaults, portable beyond the tested adapters, visually suitable, or adopted by a consumer. | diff --git a/quality/index.md b/quality/index.md index f477c05..2e0c3ed 100644 --- a/quality/index.md +++ b/quality/index.md @@ -1,6 +1,6 @@ # Quality Gates -`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, and Platform Guides claims are admissible. +`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, Platform Guides, and Design Terminology claims are admissible. This shared layer does not make the repository a visual design system. Layout pattern files still own spatial structure only; domain guidance cannot bypass these gates. Quality gates explain how claims are framed, what evidence can support them, and when review or debt is required. @@ -48,7 +48,7 @@ Use this script for lightweight tree tests: | Name an observed motion effect. | [README](../README.md) | [Motion Vocabulary](../motion/vocabulary.md) | The first selected route is Motion and the term reference is reached within two hops. | | Review product-level interface craft. | [README](../README.md) | [Interface Craft Decisions](../design-engineering/interface-craft.md) | The first selected route is Design Engineering and shared quality gates remain visible. | | Compare an Apple interaction convention. | [README](../README.md) | [Apple Interaction](../platform-guides/apple-interaction.md) | The first selected route is Platform Guides and source/version limits are reached within two hops. | -| Declare whether a consumer reference applies. | [README](../README.md) | [Consumer Reference](../consumer-reference/index.md) | The handoff reaches the shared contract without classifying it as a sixth domain. | +| Declare whether a consumer reference applies. | [README](../README.md) | [Consumer Reference](../consumer-reference/index.md) | The handoff reaches the shared contract without classifying it as a seventh domain. | | Prove a consumer migration preserves declared behavior. | [README](../README.md) | [Consumer Migration Readiness](../design-engineering/consumer-migration-readiness.md) | The reader reaches the Design Engineering method and its evidence gate within two hops. | | Find the authority route for uGUI, UI Toolkit, or NGUI. | [README](../README.md) | [Unity UI Systems](../game-ui/unity/ui-systems.md) | The first selected route is Game UI, and the system-specific source and version boundary is reached within three hops. | From 2ea0eadd5151ac5898bc16e0981dbc75da498248 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:29:38 +0900 Subject: [PATCH 03/10] material: admit terminology documents and refresh registry --- .../agent-native/v2/admission-policy.json | 37 ++++++++++++++++++- .../agent-native/v2/material-registry.json | 2 +- .../v2/schema/admission-policy.schema.json | 6 +-- .../v2/schema/material-record.schema.json | 2 +- package.json | 7 ++++ 5 files changed, 48 insertions(+), 6 deletions(-) diff --git a/consumer-reference/agent-native/v2/admission-policy.json b/consumer-reference/agent-native/v2/admission-policy.json index 0c04911..c834eb4 100644 --- a/consumer-reference/agent-native/v2/admission-policy.json +++ b/consumer-reference/agent-native/v2/admission-policy.json @@ -64,6 +64,36 @@ "domain": "design-engineering", "lifecycle": "experimental" }, + { + "repository_path": "design-terminology/concept-families.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/conflict-cases.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/index.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/relation-types.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/source-kinds.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/source-vocabularies.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, { "repository_path": "game-ui/classification.md", "domain": "game-ui", @@ -459,6 +489,11 @@ "domain": "platform-guides", "lifecycle": "experimental" }, + { + "repository_path": "quality/claim-records/design-terminology-domain-scope.md", + "domain": "shared", + "lifecycle": "stable" + }, { "repository_path": "quality/claim-records/index.md", "domain": "shared", @@ -712,5 +747,5 @@ "code": "material_path_internal_excluded" } ], - "version_id": "sg:policy/material-admission-v2@sha256:017b5de61c5e98779ec9b32880b3cd897c5f7012e726bdb73392572800b1f837" + "version_id": "sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870" } diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index e259b1e..293babe 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:017b5de61c5e98779ec9b32880b3cd897c5f7012e726bdb73392572800b1f837","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":6999,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e"},{"byte_length":3146,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"ebbaf9b22d6924714a1bb6069bab4622ffe9fd0aad76c6cf718cd76cff7b2eb9","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:ebbaf9b22d6924714a1bb6069bab4622ffe9fd0aad76c6cf718cd76cff7b2eb9"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8688,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"8b5d68d428b12ce2d2b399cddf98aef0b0761189838cac223bbfbac4d2c10da8","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:8b5d68d428b12ce2d2b399cddf98aef0b0761189838cac223bbfbac4d2c10da8"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3306,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"24db0f026c37844f3e379021798152f17c850beb39159c7f368253524ebe7ff8","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:24db0f026c37844f3e379021798152f17c850beb39159c7f368253524ebe7ff8"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8721,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"67571ee3b85430f17999189a52fc3ed871aab135e7e5127f63ee57b2ce11cd19","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:67571ee3b85430f17999189a52fc3ed871aab135e7e5127f63ee57b2ce11cd19"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":17580,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"2ce02c5d9adec638ec8d0fb0ea91a23f698cce5218123c553550d0577cfccb50","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:2ce02c5d9adec638ec8d0fb0ea91a23f698cce5218123c553550d0577cfccb50"},{"byte_length":29668,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"b892e0df464b0527b50b201830db7ab87507069862281e7781ad1eecb56f77b7","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:b892e0df464b0527b50b201830db7ab87507069862281e7781ad1eecb56f77b7"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18957,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"a0ae7f2c355ab26293cdb9e96b31d91d50a024ed404aa0c8297a65b91af73a33","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:a0ae7f2c355ab26293cdb9e96b31d91d50a024ed404aa0c8297a65b91af73a33"},{"byte_length":6400,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"614586f29a42e5c611f682dfe97460354b4b02aeb34e4d2cc9ea374628aac61e","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:614586f29a42e5c611f682dfe97460354b4b02aeb34e4d2cc9ea374628aac61e"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5311,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"3a69c67f9d4ab36a1bf741332fae02f3960414a610243c343281f934503e8c1a","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:3a69c67f9d4ab36a1bf741332fae02f3960414a610243c343281f934503e8c1a"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:d70c376491a434755cc076fcb3bcde00b46173108bdfd8e7a43546db2602c072"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":6999,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":5853,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"b591f3219a88a1edfa880919de46b963d4996c6ac7409b81ff19c05a5481f69b","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:b591f3219a88a1edfa880919de46b963d4996c6ac7409b81ff19c05a5481f69b"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":4860,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"6f8ef8b6b5a663a6a3edd671e103f8b93dcc638b2c836371d1b410a912e06c0f","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:6f8ef8b6b5a663a6a3edd671e103f8b93dcc638b2c836371d1b410a912e06c0f"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"639294ef6a6ec32aa49e4befbc2099e917ceba45a36662a1593d9a050b5ca330","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:639294ef6a6ec32aa49e4befbc2099e917ceba45a36662a1593d9a050b5ca330"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30135,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"d3efd17bb3414fc14acf3b545ef79893ec1dc1bacf26d38ca3e21e1fed268d5c","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:d3efd17bb3414fc14acf3b545ef79893ec1dc1bacf26d38ca3e21e1fed268d5c"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9004,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"ab627bdd4c435b6246c6a3dca308901d0c177130dbcc69759cdca61084425810","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:ab627bdd4c435b6246c6a3dca308901d0c177130dbcc69759cdca61084425810"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":4841,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"5a5f8f10dc08fca13b21852627e9ae3ca7b1ff61cacaf793593b83cdb0b6190f","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:5a5f8f10dc08fca13b21852627e9ae3ca7b1ff61cacaf793593b83cdb0b6190f"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:73c0164916df4feec1f6a3459b0d798366c81b63d16c731edea15a686ddd6a17"} \ No newline at end of file diff --git a/consumer-reference/agent-native/v2/schema/admission-policy.schema.json b/consumer-reference/agent-native/v2/schema/admission-policy.schema.json index 43915a1..b6470b9 100644 --- a/consumer-reference/agent-native/v2/schema/admission-policy.schema.json +++ b/consumer-reference/agent-native/v2/schema/admission-policy.schema.json @@ -13,15 +13,15 @@ "media_type": { "const": "text/markdown" }, "allowed_materials": { "type": "array", - "minItems": 126, - "maxItems": 126, + "minItems": 133, + "maxItems": 133, "items": { "type": "object", "additionalProperties": false, "required": ["repository_path", "domain", "lifecycle"], "properties": { "repository_path": { "type": "string", "pattern": "^(?!/)(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._ -]+(?:/[A-Za-z0-9._ -]+)*\\.md$" }, - "domain": { "enum": ["layout", "motion", "design-engineering", "game-ui", "platform-guides", "shared"] }, + "domain": { "enum": ["layout", "motion", "design-engineering", "game-ui", "platform-guides", "design-terminology", "shared"] }, "lifecycle": { "enum": ["draft", "stable", "deprecated", "experimental", "generated"] } } } diff --git a/consumer-reference/agent-native/v2/schema/material-record.schema.json b/consumer-reference/agent-native/v2/schema/material-record.schema.json index 365f566..f5dae9b 100644 --- a/consumer-reference/agent-native/v2/schema/material-record.schema.json +++ b/consumer-reference/agent-native/v2/schema/material-record.schema.json @@ -15,6 +15,6 @@ "source_sha256": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "byte_length": { "type": "integer", "minimum": 0 }, "lifecycle": { "enum": ["draft", "stable", "deprecated", "experimental", "generated"] }, - "domain": { "enum": ["layout", "motion", "design-engineering", "game-ui", "platform-guides", "shared"] } + "domain": { "enum": ["layout", "motion", "design-engineering", "game-ui", "platform-guides", "design-terminology", "shared"] } } } diff --git a/package.json b/package.json index 619e632..10356b9 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,12 @@ "design-engineering/reference-profiles/governed-local/editorial/profile.json", "design-engineering/reference-profiles/governed-local/index.md", "design-engineering/reference-profiles/index.md", + "design-terminology/concept-families.md", + "design-terminology/conflict-cases.md", + "design-terminology/index.md", + "design-terminology/relation-types.md", + "design-terminology/source-kinds.md", + "design-terminology/source-vocabularies.md", "game-ui/classification.md", "game-ui/index.md", "game-ui/reference-record.md", @@ -132,6 +138,7 @@ "patterns/viewport-shell/sticky-header.md", "platform-guides/apple-interaction.md", "platform-guides/index.md", + "quality/claim-records/design-terminology-domain-scope.md", "quality/claim-records/index.md", "quality/claim-records/samples.md", "quality/claim-records/stylegallery-multidomain-scope.md", From 1329995063583c6797b0a5a30961ee9d4d12f666 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:29:38 +0900 Subject: [PATCH 04/10] test: extend domain and material validation --- .../agent-native/v2/material-admission.mjs | 2 +- scripts/agent-native/v2/material-identity.mjs | 4 +- .../agent-native/v2/material-mcp-adapter.mjs | 2 +- scripts/agent-native/v2/material-queries.mjs | 2 +- .../v2/test-material-admission.mjs | 8 ++-- .../v2/test-material-mcp-stdio.mjs | 6 +-- scripts/agent-native/v2/test-material-mcp.mjs | 6 +-- .../agent-native/v2/test-material-query.mjs | 4 +- .../v2/test-material-registry.mjs | 2 +- .../v2/test-sg-material-package.mjs | 2 +- scripts/governance-test-fixture.mjs | 5 ++- scripts/test-validate-domains.mjs | 39 ++++++++++++------- scripts/validate-domains.mjs | 37 ++++++++++++------ scripts/validate-governance.mjs | 1 + 14 files changed, 74 insertions(+), 46 deletions(-) diff --git a/scripts/agent-native/v2/material-admission.mjs b/scripts/agent-native/v2/material-admission.mjs index 6b6d77e..8df5cb9 100644 --- a/scripts/agent-native/v2/material-admission.mjs +++ b/scripts/agent-native/v2/material-admission.mjs @@ -17,7 +17,7 @@ const MANIFEST_REF = "sg:manifest/material-admission-v2"; const MATERIAL_REF_PATTERN = /^sg:material\/path-sha256-[a-f0-9]{64}$/; const MATERIAL_VERSION_PATTERN = /^sg:material\/path-sha256-[a-f0-9]{64}@sha256:[a-f0-9]{64}$/; const HASH_PATTERN = /^[a-f0-9]{64}$/; -const DOMAINS = new Set(["layout", "motion", "design-engineering", "game-ui", "platform-guides", "shared"]); +const DOMAINS = new Set(["layout", "motion", "design-engineering", "game-ui", "platform-guides", "design-terminology", "shared"]); const LIFECYCLES = new Set(["draft", "stable", "deprecated", "experimental", "generated"]); const RECORD_KEYS = new Set(["schema_version", "record_kind", "stable_ref", "version_id", "repository_path", "media_type", "source_sha256", "byte_length", "lifecycle", "domain"]); const MANIFEST_KEYS = new Set(["schema_version", "record_kind", "stable_ref", "version_id", "admission_policy_ref", "admission_policy_version_id", "materials"]); diff --git a/scripts/agent-native/v2/material-identity.mjs b/scripts/agent-native/v2/material-identity.mjs index 02bb993..3e4d0b8 100644 --- a/scripts/agent-native/v2/material-identity.mjs +++ b/scripts/agent-native/v2/material-identity.mjs @@ -6,7 +6,7 @@ export const MATERIAL_STABLE_REF_KINDS = Object.freeze(["domain", "page", "patte const KIND_SET = new Set(MATERIAL_STABLE_REF_KINDS); const KEBAB = /^[a-z0-9]+(?:-[a-z0-9]+)*$/; const PATH_ID = /^path-sha256-[a-f0-9]{64}$/; -const DOMAIN_IDS = new Set(["layout", "motion", "design-engineering", "game-ui", "platform-guides"]); +const DOMAIN_IDS = new Set(["layout", "motion", "design-engineering", "game-ui", "platform-guides", "design-terminology"]); const MATERIAL_ID = PATH_ID; export class MaterialIdentityError extends TypeError { @@ -56,7 +56,7 @@ export function materialIdentityForRecord(record) { if (typeof repositoryPath !== "string") fail("material_record_identity_invalid", "record has no bound source path"); let kind = "page"; let id = `path-sha256-${sha256(Buffer.from(repositoryPath, "utf8"))}`; - const domainMatch = /^(layout|motion|design-engineering|game-ui|platform-guides)\/index\.md$/.exec(repositoryPath); + const domainMatch = /^(layout|motion|design-engineering|game-ui|platform-guides|design-terminology)\/index\.md$/.exec(repositoryPath); if (domainMatch) { kind = "domain"; id = domainMatch[1]; } else if (/^patterns\/[^/]+\/[^/]+\.md$/.test(repositoryPath)) kind = "pattern"; return deepFreeze({ diff --git a/scripts/agent-native/v2/material-mcp-adapter.mjs b/scripts/agent-native/v2/material-mcp-adapter.mjs index 6c78643..11bbd0f 100644 --- a/scripts/agent-native/v2/material-mcp-adapter.mjs +++ b/scripts/agent-native/v2/material-mcp-adapter.mjs @@ -16,7 +16,7 @@ const manifestPath = path.join(repositoryRoot, "consumer-reference", "agent-nati const exposedNames = new Set(["material-context", "material-discover", "material-get", "material-search"]); const descriptions = Object.freeze({ "material-context": "Build a deterministic, provenance-bound material context within a token budget.", - "material-discover": "Discover the five governed StyleGallery domain entries.", + "material-discover": "Discover the six governed StyleGallery domain entries.", "material-get": "Read bounded UTF-8 bytes for one canonical v2 material StableRef.", "material-search": "Search admitted material deterministically, optionally returning only repository-relative paths.", }); diff --git a/scripts/agent-native/v2/material-queries.mjs b/scripts/agent-native/v2/material-queries.mjs index 514b82f..220e7b7 100644 --- a/scripts/agent-native/v2/material-queries.mjs +++ b/scripts/agent-native/v2/material-queries.mjs @@ -325,7 +325,7 @@ export function materialDiscover({ repositoryRoot, fileSystem = fs }) { .filter(({ identity }) => identity.kind === "domain") .map(({ record, identity }) => ({ identity, source: sourceIdentity(record), lifecycle: record.lifecycle })) .sort((left, right) => compare(left.identity.stable_ref, right.identity.stable_ref)); - if (domains.length !== 5) fail("material_domain_set_invalid", "material manifest does not contain the five governed domains"); + if (domains.length !== 6) fail("material_domain_set_invalid", "material manifest does not contain the six governed domains"); return deepFreeze({ schema_version: "2.0", manifest_version_id: manifest.version_id, domains }); } diff --git a/scripts/agent-native/v2/test-material-admission.mjs b/scripts/agent-native/v2/test-material-admission.mjs index a686c26..e3b0d82 100644 --- a/scripts/agent-native/v2/test-material-admission.mjs +++ b/scripts/agent-native/v2/test-material-admission.mjs @@ -27,8 +27,8 @@ const v1SchemaDirectory = path.join(repositoryRoot, "consumer-reference", "agent const v2Directory = path.join(repositoryRoot, "consumer-reference", "agent-native", "v2"); const temporaryRoots = new Set(); const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex"); -const EXPECTED_PATH_COUNT = 126; -const EXPECTED_PATHS_NEWLINE_SHA256 = "897c48cb3dec29fdb210e99c91d1fdfe24ea70562ba182143495b476909d2744"; +const EXPECTED_PATH_COUNT = 133; +const EXPECTED_PATHS_NEWLINE_SHA256 = "4f6ed8314a5684ca9a1d198567f47e1bc158ae03b506c043210ba26f96b80a52"; function run(command, args, options = {}) { return spawnSync(command, args, { encoding: "utf8", maxBuffer: 8 * 1024 * 1024, timeout: 30_000, ...options }); @@ -111,7 +111,7 @@ function policyVersion(policy) { test.after(() => { for (const root of temporaryRoots) fs.rmSync(root, { force: true, recursive: true }); }); -test("policy is closed, versioned, exact, and seals all 126 current paths", () => { +test("policy is closed, versioned, exact, and seals all 133 current paths", () => { const policySchema = JSON.parse(fs.readFileSync(path.join(v2Directory, "schema", "admission-policy.schema.json"), "utf8")); const ajv = new Ajv2020({ allErrors: true, strict: true }); assert.equal(ajv.validate(policySchema, materialAdmissionPolicy), true, JSON.stringify(ajv.errors)); @@ -127,7 +127,7 @@ test("policy is closed, versioned, exact, and seals all 126 current paths", () = assert.equal(Object.hasOwn(materialAdmissionPolicy, "public_roots"), false); }); -test("actual repository manifest admits exactly 126 paths with deterministic identities and source versions", () => { +test("actual repository manifest admits exactly 133 paths with deterministic identities and source versions", () => { const materials = materialAdmissionPolicy.allowed_materials.map(({ repository_path }) => sourceRecord(repositoryRoot, repository_path)); const manifest = createMaterialManifest(materials); const result = validateMaterialManifest({ repositoryRoot, manifest }); diff --git a/scripts/agent-native/v2/test-material-mcp-stdio.mjs b/scripts/agent-native/v2/test-material-mcp-stdio.mjs index 5d27137..97fe488 100644 --- a/scripts/agent-native/v2/test-material-mcp-stdio.mjs +++ b/scripts/agent-native/v2/test-material-mcp-stdio.mjs @@ -115,7 +115,7 @@ async function rawProtocolProbe(script, cwd) { const afterMalformed = next((message) => message.id === 61, "post-malformed response"); send("{malformed-json"); send({ jsonrpc: "2.0", id: 61, method: "resources/list", params: {} }); - assert.equal((await afterMalformed).result.resources.length, 126); + assert.equal((await afterMalformed).result.resources.length, 133); assert.equal(allMessages.filter((message) => message.id === undefined).length, 0); } finally { child.stdin.end(); @@ -242,7 +242,7 @@ try { assert.deepEqual(Object.keys(material.client.getServerCapabilities()).sort(), ["resources", "tools"]); const tools = (await deadline(material.client.listTools(), "list tools")).tools; assert.deepEqual(tools.map(({ name }) => name), ["material-context", "material-discover", "material-get", "material-search"]); - assert.equal((await deadline(material.client.listResources(), "list resources")).resources.length, 126); + assert.equal((await deadline(material.client.listResources(), "list resources")).resources.length, 133); assert.deepEqual((await deadline(material.client.listResourceTemplates(), "list templates")).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); const calls = [ @@ -291,7 +291,7 @@ try { await rejected(() => v1.client.readResource({ uri: materialResourceUri(selected[0].stable_ref) }), /not found|resource/i); await rejected(() => material.client.readResource({ uri: "sg://self" }), /not found|resource/i); - process.stdout.write(`${JSON.stringify({ ok: true, transport: "stdio", cwd_with_spaces: true, direct_run: { real_path: true, symlink_with_spaces: true }, import_guard: importGuard, tools: 4, resources: 126, domains: 5, generated: selected[5].stable_ref, source_hashes_verified: 6, concurrent_requests: 8, raw_protocol: rawProtocol, frame_boundaries: frameBoundaries, oversized_frame: oversizedFrame, epipe, v1_tools: v1Tools, stderr_empty: true }, null, 2)}\n`); + process.stdout.write(`${JSON.stringify({ ok: true, transport: "stdio", cwd_with_spaces: true, direct_run: { real_path: true, symlink_with_spaces: true }, import_guard: importGuard, tools: 4, resources: 133, domains: 6, generated: selected[5].stable_ref, source_hashes_verified: 6, concurrent_requests: 8, raw_protocol: rawProtocol, frame_boundaries: frameBoundaries, oversized_frame: oversizedFrame, epipe, v1_tools: v1Tools, stderr_empty: true }, null, 2)}\n`); } finally { if (v1) { await deadline(v1.client.close(), "v1 shutdown"); diff --git a/scripts/agent-native/v2/test-material-mcp.mjs b/scripts/agent-native/v2/test-material-mcp.mjs index 9de0758..029ceff 100755 --- a/scripts/agent-native/v2/test-material-mcp.mjs +++ b/scripts/agent-native/v2/test-material-mcp.mjs @@ -106,7 +106,7 @@ try { assert.equal(nullPrototypeResponse.structuredContent?.ok, true); const resources = (await client.listResources()).resources; - assert.equal(resources.length, 126); + assert.equal(resources.length, 133); assert.deepEqual((await client.listResourceTemplates()).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); assert.ok(resources.every(({ uri }) => uri === materialResourceUri(resources.find((entry) => entry.uri === uri).name))); @@ -123,9 +123,9 @@ try { assert.deepEqual(envelope(response), executeMaterialCli(cliArgs)); } - const domainRecords = manifest.materials.filter(({ repository_path }) => ["layout/index.md", "motion/index.md", "design-engineering/index.md", "game-ui/index.md", "platform-guides/index.md"].includes(repository_path)); + const domainRecords = manifest.materials.filter(({ repository_path }) => ["layout/index.md", "motion/index.md", "design-engineering/index.md", "game-ui/index.md", "platform-guides/index.md", "design-terminology/index.md"].includes(repository_path)); const generated = manifest.materials.find(({ domain, lifecycle }) => domain === "layout" && lifecycle === "generated"); - assert.equal(domainRecords.length, 5); + assert.equal(domainRecords.length, 6); for (const record of [...domainRecords, generated]) { const response = await client.readResource({ uri: materialResourceUri(record.stable_ref) }); const payload = JSON.parse(response.contents[0].text); diff --git a/scripts/agent-native/v2/test-material-query.mjs b/scripts/agent-native/v2/test-material-query.mjs index ad25a82..3965516 100644 --- a/scripts/agent-native/v2/test-material-query.mjs +++ b/scripts/agent-native/v2/test-material-query.mjs @@ -100,13 +100,13 @@ test("v2 identity grammar is closed and v1 rejects every v2 kind", () => { assert.throws(() => parseMaterialStableRef({ schema_version: "1.0", stable_ref: "sg:domain/layout" }), { code: "material_identity_version_invalid" }); }); -test("material-discover returns exactly the five governed domains and deterministic projected identities", () => { +test("material-discover returns exactly the six governed domains and deterministic projected identities", () => { const first = invoke("material-discover"); const second = invoke("material-discover"); assert.equal(first.ok, true); assert.equal(canonicalize(first), canonicalize(second)); assert.deepEqual(first.result.domains.map(({ identity }) => identity.stable_ref), [ - "sg:domain/design-engineering", "sg:domain/game-ui", "sg:domain/layout", "sg:domain/motion", "sg:domain/platform-guides", + "sg:domain/design-engineering", "sg:domain/design-terminology", "sg:domain/game-ui", "sg:domain/layout", "sg:domain/motion", "sg:domain/platform-guides", ]); const layout = recordForPath("layout/index.md"); const page = recordForPath("patterns/index.md"); diff --git a/scripts/agent-native/v2/test-material-registry.mjs b/scripts/agent-native/v2/test-material-registry.mjs index 556db04..680d11d 100644 --- a/scripts/agent-native/v2/test-material-registry.mjs +++ b/scripts/agent-native/v2/test-material-registry.mjs @@ -85,7 +85,7 @@ test.after(() => { for (const root of temporaryRoots) fs.rmSync(root, { recursiv test("generated registry is canonical, exact, source-bound, complete, and v1-isolated", () => { const beforeV1 = fs.readFileSync(v1RegistryPath); const generated = generateMaterialRegistry({ repositoryRoot }); - assert.equal(generated.materials.length, 126); + assert.equal(generated.materials.length, 133); assert.deepEqual(validateMaterialRegistry({ repositoryRoot, manifest: generated }), { ok: true, failures: [], materials: generated.materials }); assert.equal(generated.version_id, recomputeManifestVersion(generated)); assert.equal(generated.admission_policy_ref, materialAdmissionPolicy.stable_ref); diff --git a/scripts/agent-native/v2/test-sg-material-package.mjs b/scripts/agent-native/v2/test-sg-material-package.mjs index a54b851..523bfd6 100644 --- a/scripts/agent-native/v2/test-sg-material-package.mjs +++ b/scripts/agent-native/v2/test-sg-material-package.mjs @@ -181,7 +181,7 @@ try { try { await bounded(materialClient.connect(materialTransport), "installed material MCP initialize"); assert.deepEqual((await bounded(materialClient.listTools(), "installed material MCP tools")).tools.map(({ name }) => name), ["material-context", "material-discover", "material-get", "material-search"]); - assert.equal((await bounded(materialClient.listResources(), "installed material MCP resources")).resources.length, 126); + assert.equal((await bounded(materialClient.listResources(), "installed material MCP resources")).resources.length, 133); assert.deepEqual((await bounded(materialClient.listResourceTemplates(), "installed material MCP templates")).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); } finally { await bounded(materialClient.close(), "installed material MCP shutdown"); diff --git a/scripts/governance-test-fixture.mjs b/scripts/governance-test-fixture.mjs index 74c29db..3b55664 100644 --- a/scripts/governance-test-fixture.mjs +++ b/scripts/governance-test-fixture.mjs @@ -39,7 +39,7 @@ export const files = { "index.md": "# StyleGallery\n\n- [Governance, lifecycle, and docs-as-code](GOVERNANCE.md)\n- [StyleGallery Domains](DOMAINS.md)\n", "DOMAINS.md": "# StyleGallery Domains\n\n### Consumer Reference Promotion\n\nConsumer-reference promotion does not add a domain. See the [canonical promotion contract](consumer-reference/contract.md#promotion-boundary) for the full human-readable rules and the [canonical JSON promotion policy](consumer-reference/policies/shared-experimental.json) for machine policy.\n", "consumer-reference/contract.md": `## Promotion Boundary\n\nThe [shared-experimental promotion policy](policies/shared-experimental.json) is the canonical machine-readable policy, and the [promotion RFC schema](schema/promotion-rfc.schema.json) owns the RFC record shape.\nThe StyleGallery-local \`>=2\` independent-consumer gateway applies only to consumer-local → shared-experimental invariant eligibility. Shared stable has no numeric adoption threshold. Normative correctness may waive adoption count only.\nThey are not accepted or promoted RFCs. Synthetic examples have zero adopter attestations and record no promotion. A stable contract whose evidence later fails cannot be silently relabeled experimental.\nReview truth uses one enum; boolean aliases are invalid.\n${sentinelProvenanceClauses.join("\n")}\n`, - "consumer-reference/index.md": "Consumer Reference is outside the five-domain contract.\n[Promotion RFC schema](schema/promotion-rfc.schema.json)\n[Shared-experimental promotion policy](policies/shared-experimental.json)\n", + "consumer-reference/index.md": "Consumer Reference is outside the six-domain contract.\n[Promotion RFC schema](schema/promotion-rfc.schema.json)\n[Shared-experimental promotion policy](policies/shared-experimental.json)\n", "consumer-reference/fixtures/promotion/manifest.json": '{"id": "promotion-fixture-inventory"}\n', "consumer-reference/policies/shared-experimental.json": '{"review_independence": "single_account", "promotion_occurred": false, "adopter_attestations": 0, "stable_numeric_threshold": null}\n', "CATALOG.md": `# Layout Pattern Catalog\n\n${generatedWarning}\n`, @@ -59,7 +59,7 @@ export const files = { "quality/evidence/executable-evidence.md": [ "| Claim | Validator or test | CI command | Positive evidence | Negative evidence | Evidence boundary |", "| Governance, lifecycle, generated-file, ownership, and stale-content policy remain discoverable and CI-enforced. | `scripts/validate-governance.mjs` and `scripts/test-validate-governance.mjs` | `node scripts/validate-governance.mjs --json`; `node scripts/test-validate-governance.mjs --json` | `GOVERNANCE.md`, `.github/CODEOWNERS`, generated warnings, generated metadata, root links, lifecycle states, stale-audit decision, and CI wiring are present. | Missing governance file, generated warning, generated metadata, CODEOWNERS coverage, or stale policy fixtures must fail. | Proves governance policy is present and linked, not that CODEOWNERS users have verified repository write access. |", - "| Domain topology, metadata, provenance, scope boundaries, and root routes remain enforced. | `scripts/validate-domains.mjs` and `scripts/test-validate-domains.mjs` | `node scripts/validate-domains.mjs --json`; `node scripts/test-validate-domains.mjs` | Five governed domains and their declared leaves are reachable and attributed. | Domain metadata, immutable provenance, scope boundaries, and root-route fixtures must fail. | A full SHA proves content identity syntax, not publisher authenticity or local quality. |", + "| Domain topology, metadata, provenance, scope boundaries, and root routes remain enforced. | `scripts/validate-domains.mjs` and `scripts/test-validate-domains.mjs` | `node scripts/validate-domains.mjs --json`; `node scripts/test-validate-domains.mjs` | Six governed domains and their declared leaves are reachable and attributed. | Domain metadata, immutable provenance, scope boundaries, and root-route fixtures must fail. | A full SHA proves content identity syntax, not publisher authenticity or local quality. |", "Consumer-reference handoffs, schema/runtime parity, and containment remain enforced; repository handoff omissions must fail.", "Promotion governance remains a closed JSON-only, invariant-scoped, deferred example contract.", "Synthetic validation does not authenticate adoption, organizations, owners, support capacity, provenance, or a promotion decision.", @@ -307,6 +307,7 @@ export const files = { "| Design Engineering domain guidance | `design-engineering/*.md` | Manual | None | `experimental` | Upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Design Engineering domain owner |", "| Game UI domain guidance | `game-ui/**/*.md` | Manual | None | `experimental` | Classification, hierarchy, engine implementation, evidence boundary, or route changes. | `scripts/validate-domains.mjs` | Game UI domain owner |", "| Platform Guides domain guidance | `platform-guides/*.md` | Manual | None | `experimental` | Platform version, upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Platform Guides domain owner |", + "| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs` | Design Terminology domain owner |", "| Pattern data and examples | `scripts/pattern-data.mjs` | Manual data source | `patterns/**/*.md` | `generated` output from `stable` source | Source-lineage URL changes, generated drift, category changes, or pattern count changes. | `scripts/validate-patterns.mjs`, `scripts/validate-catalog.mjs`, `scripts/validate-governance.mjs` | Pattern-data owner |", "| Pattern generator | `scripts/generate-patterns.mjs` | Manual code source | `patterns/**/*.md` | `stable` generator, `generated` output | Generated structure changes, generated-warning changes, or generated metadata changes. | `node -c scripts/generate-patterns.mjs` | Pattern-data owner |", "| Validation scripts | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs` | Manual code source | CI validation output | `node -c` | Validation owner |", diff --git a/scripts/test-validate-domains.mjs b/scripts/test-validate-domains.mjs index 7c83627..f3a23e2 100644 --- a/scripts/test-validate-domains.mjs +++ b/scripts/test-validate-domains.mjs @@ -12,11 +12,11 @@ const revision = "220e8607c90b17337d210125777b7b695f26c221"; const repository = "https://github.com/emilkowalski/skills"; const unityCliLoopRepository = "https://github.com/hatayama/unity-cli-loop"; const unityCliLoopRevision = "61a0fe6d7da0aa9d0bcbc6d95944dd069c483ff0"; -const vocabularyDomainList = "Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, root routing, and `domain` frontmatter on governed leaves."; -const qualityDomainList = "`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, and Platform Guides claims are admissible."; -const readmeConsumerReferenceBoundary = "without owning profiles, visual values, components, or a sixth domain"; -const qualityConsumerReferenceBoundary = "without classifying it as a sixth domain"; -const executableEvidenceDomainCoverage = "Five governed domains and their declared leaves are reachable and attributed."; +const vocabularyDomainList = "Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, Design Terminology, root routing, and `domain` frontmatter on governed leaves."; +const qualityDomainList = "`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, Platform Guides, and Design Terminology claims are admissible."; +const readmeConsumerReferenceBoundary = "without owning profiles, visual values, components, or a seventh domain"; +const qualityConsumerReferenceBoundary = "without classifying it as a seventh domain"; +const executableEvidenceDomainCoverage = "Six governed domains and their declared leaves are reachable and attributed."; const gameUiFindabilityScenario = "| Find the authority route for uGUI, UI Toolkit, or NGUI. | [README](../README.md) | [Unity UI Systems](../game-ui/unity/ui-systems.md) | The first selected route is Game UI, and the system-specific source and version boundary is reached within three hops. |"; function indexPage(title, links) { @@ -121,8 +121,8 @@ const localLeaf = leafPage({ }); const baseFiles = { - "README.md": `# StyleGallery\n\nConsumer Reference is shared non-domain infrastructure ${readmeConsumerReferenceBoundary}.\n\n- [Layout](layout/index.md)\n- [Motion](motion/index.md)\n- [Design Engineering](design-engineering/index.md)\n- [Game UI](game-ui/index.md)\n- [Platform Guides](platform-guides/index.md)\n`, - "index.md": "# StyleGallery\n\n- [Layout](layout/index.md)\n- [Motion](motion/index.md)\n- [Design Engineering](design-engineering/index.md)\n- [Game UI](game-ui/index.md)\n- [Platform Guides](platform-guides/index.md)\n", + "README.md": `# StyleGallery\n\nConsumer Reference is shared non-domain infrastructure ${readmeConsumerReferenceBoundary}.\n\n- [Layout](layout/index.md)\n- [Motion](motion/index.md)\n- [Design Engineering](design-engineering/index.md)\n- [Game UI](game-ui/index.md)\n- [Platform Guides](platform-guides/index.md)\n- [Design Terminology](design-terminology/index.md)\n`, + "index.md": "# StyleGallery\n\n- [Layout](layout/index.md)\n- [Motion](motion/index.md)\n- [Design Engineering](design-engineering/index.md)\n- [Game UI](game-ui/index.md)\n- [Platform Guides](platform-guides/index.md)\n- [Design Terminology](design-terminology/index.md)\n", "DOMAINS.md": [ "# StyleGallery Domains", "", @@ -135,6 +135,7 @@ const baseFiles = { "| Design Engineering | [Design Engineering](design-engineering/index.md) | `experimental` |", "| Game UI | [Game UI](game-ui/index.md) | `experimental` |", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |", + "| Design Terminology | [Design Terminology](design-terminology/index.md) | `experimental` |", "", "## Page Manifest", "", @@ -145,12 +146,13 @@ const baseFiles = { "| Design Engineering | `design-engineering/index.md` | `design-engineering/interface-craft.md`, `design-engineering/consumer-migration-readiness.md`, `design-engineering/reference-profiles/index.md`, `design-engineering/reference-profiles/governed-local/index.md`, `design-engineering/reference-profiles/external-adaptation/index.md` |", "| Game UI | `game-ui/index.md` | `game-ui/classification.md`, `game-ui/screen-hierarchy.md`, `game-ui/reference-record.md`, `game-ui/unity/architecture.md`, `game-ui/unity/ui-systems.md`, `game-ui/unity/cli-loop.md`, `game-ui/unity/repository-map.md`, `game-ui/unity/org-wiki.md` |", "| Platform Guides | `platform-guides/index.md` | `platform-guides/apple-interaction.md` |", + "| Design Terminology | `design-terminology/index.md` | `design-terminology/source-kinds.md`, `design-terminology/source-vocabularies.md`, `design-terminology/concept-families.md`, `design-terminology/relation-types.md`, `design-terminology/conflict-cases.md` |", "", `Source snapshot \`${revision}\`.`, "", "## Shared Non-Domain Infrastructure", "", - "[Consumer Reference](consumer-reference/index.md) is shared infrastructure outside the five-domain contract and cannot add a sixth domain row.", + "[Consumer Reference](consumer-reference/index.md) is shared infrastructure outside the six-domain contract and cannot add a seventh domain row.", "", "### Consumer Reference Promotion", "", @@ -188,6 +190,12 @@ const baseFiles = { "game-ui/unity/org-wiki.md": leafPage({ title: "Unity Organization Compressed Wiki", domain: "game-ui", parent: "../index.md", next: "../../platform-guides/index.md" }), "platform-guides/index.md": indexPage("Platform Guides", [["Apple Interaction", "apple-interaction.md"]]), "platform-guides/apple-interaction.md": leafPage({ title: "Apple Interaction", domain: "platform-guides", sourcePath: "skills/apple-design/SKILL.md", parent: "index.md", next: "../layout/index.md" }), + "design-terminology/index.md": indexPage("Design Terminology", [["Design Source Kinds", "source-kinds.md"], ["Design Source Vocabularies", "source-vocabularies.md"], ["Design Concept Families", "concept-families.md"], ["Design Term Relations", "relation-types.md"], ["Cross-System Term Cases", "conflict-cases.md"]]), + "design-terminology/source-kinds.md": leafPage({ title: "Design Source Kinds", domain: "design-terminology", parent: "index.md", next: "source-vocabularies.md" }), + "design-terminology/source-vocabularies.md": leafPage({ title: "Design Source Vocabularies", domain: "design-terminology", parent: "index.md", next: "concept-families.md" }), + "design-terminology/concept-families.md": leafPage({ title: "Design Concept Families", domain: "design-terminology", parent: "index.md", next: "relation-types.md" }), + "design-terminology/relation-types.md": leafPage({ title: "Design Term Relations", domain: "design-terminology", parent: "index.md", next: "conflict-cases.md" }), + "design-terminology/conflict-cases.md": leafPage({ title: "Cross-System Term Cases", domain: "design-terminology", parent: "index.md", next: "../layout/index.md" }), "quality/claim-records/stylegallery-multidomain-scope.md": "# Scope Decision\n\nStyleGallery supersedes the layout-only repository identity.\n", "guides/vocabulary.md": `# Controlled Vocabulary\n\n- Canonical: \`domain\`\n - ${vocabularyDomainList}\n`, "quality/index.md": `# Quality Gates\n\n${qualityDomainList}\n\nThe handoff reaches the shared contract ${qualityConsumerReferenceBoundary}.\n\n${gameUiFindabilityScenario}\n`, @@ -199,7 +207,7 @@ const cases = [ { name: "empty_manifest", mutate: ["DOMAINS.md", baseFiles["DOMAINS.md"], "# Empty manifest\n"], expect: "DOMAINS.md: missing canonical domain contract" }, { name: "manifest_extra_domain", mutate: ["DOMAINS.md", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |\n| Other | [Other](other/index.md) | `experimental` |"], expect: "DOMAINS.md: missing canonical domain contract" }, { name: "consumer_reference_sixth_domain", mutate: ["DOMAINS.md", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |\n| Consumer Reference | [Consumer Reference](consumer-reference/index.md) | `stable` |"], expect: "DOMAINS.md: missing canonical domain contract" }, - { name: "consumer_reference_four_domain_contract", mutate: ["DOMAINS.md", "five-domain contract", "four-domain contract"], expect: "DOMAINS.md: missing canonical domain contract" }, + { name: "consumer_reference_wrong_domain_count", mutate: ["DOMAINS.md", "six-domain contract", "five-domain contract"], expect: "DOMAINS.md: missing canonical domain contract" }, { name: "promotion_stable_by_count", mutate: ["DOMAINS.md", "Shared stable has no numeric adoption threshold.", "Shared stable uses a numeric adoption threshold."], expect: "DOMAINS.md: missing promotion boundary Shared stable has no numeric adoption threshold" }, { name: "promotion_related_as_independent", mutate: ["DOMAINS.md", "Editorial and terminal are related examples in one fixture set.", "Editorial and terminal are independent consumers."], expect: "DOMAINS.md: missing promotion boundary Editorial and terminal are related examples in one fixture set" }, { name: "promotion_yaml_route", mutate: ["DOMAINS.md", "Promotion records are JSON-only", "Promotion records may use YAML"], expect: "DOMAINS.md: missing promotion boundary Promotion records are JSON-only" }, @@ -209,6 +217,8 @@ const cases = [ { name: "missing_domain_index", omit: ["design-engineering/index.md"], expect: "design-engineering/index.md: missing file" }, { name: "missing_domain_leaf", omit: ["motion/vocabulary.md"], expect: "motion/vocabulary.md: missing file" }, { name: "missing_local_domain_leaf", omit: ["game-ui/classification.md"], expect: "game-ui/classification.md: missing file" }, + { name: "missing_design_terminology_hub", omit: ["design-terminology/index.md"], expect: "design-terminology/index.md: missing file" }, + { name: "missing_design_terminology_leaf", omit: ["design-terminology/source-kinds.md"], expect: "design-terminology/source-kinds.md: missing file" }, { name: "missing_unity_ui_systems_leaf", omit: ["game-ui/unity/ui-systems.md"], expect: "game-ui/unity/ui-systems.md: missing file" }, { name: "missing_unity_cli_loop_leaf", omit: ["game-ui/unity/cli-loop.md"], expect: "game-ui/unity/cli-loop.md: missing file" }, { name: "missing_unity_repository_map_leaf", omit: ["game-ui/unity/repository-map.md"], expect: "game-ui/unity/repository-map.md: missing file" }, @@ -233,6 +243,7 @@ const cases = [ }, { name: "undeclared_local_leaf", add: ["design-engineering/rogue-local.md", localLeaf.replace("title: Consumer Migration Readiness", "title: Rogue Local Method")], expect: "design-engineering/rogue-local.md: undeclared governed domain document" }, { name: "undeclared_nested_game_ui_leaf", add: ["game-ui/unity/rogue.md", "# Rogue\n"], expect: "game-ui/unity/rogue.md: undeclared governed domain document" }, + { name: "undeclared_design_terminology_leaf", add: ["design-terminology/rogue.md", "# Rogue\n"], expect: "design-terminology/rogue.md: undeclared governed domain document" }, { name: "unknown_domain", mutate: ["motion/vocabulary.md", "domain: motion", "domain: unknown"], expect: "motion/vocabulary.md: unknown domain unknown" }, { name: "wrong_domain", mutate: ["motion/vocabulary.md", "domain: motion", "domain: platform-guides"], expect: "motion/vocabulary.md: domain platform-guides does not match motion" }, { name: "missing_lifecycle", mutate: ["motion/vocabulary.md", "lifecycle: experimental\n", ""], expect: "motion/vocabulary.md: missing lifecycle" }, @@ -268,12 +279,12 @@ const cases = [ { name: "omo_directory_dependency", mutate: ["motion/vocabulary.md", "Verify the claim on its actual surface.", "Verify with [draft](../.omo)."], expect: "motion/vocabulary.md: tracked document must not depend on .omo" }, { name: "omo_reference_dependency", mutate: ["motion/vocabulary.md", "Verify the claim on its actual surface.", "Verify with [draft][work].\n\n[work]: ../.omo/research.md"], expect: "motion/vocabulary.md: tracked document must not depend on .omo" }, { name: "canonical_while_experimental", mutate: ["motion/vocabulary.md", "Treat practitioner preferences as hypotheses.", "This is canonical universal policy."], expect: "motion/vocabulary.md: experimental document claims canonical authority" }, - { name: "vocabulary_missing_game_ui", mutate: ["guides/vocabulary.md", vocabularyDomainList, vocabularyDomainList.replace("Game UI, ", "")], expect: "guides/vocabulary.md: missing canonical five-domain vocabulary list" }, - { name: "quality_missing_game_ui", mutate: ["quality/index.md", qualityDomainList, qualityDomainList.replace("Game UI, and ", "and ")], expect: "quality/index.md: missing canonical five-domain quality scope" }, + { name: "vocabulary_missing_game_ui", mutate: ["guides/vocabulary.md", vocabularyDomainList, vocabularyDomainList.replace("Game UI, ", "")], expect: "guides/vocabulary.md: missing canonical domain vocabulary list" }, + { name: "quality_missing_game_ui", mutate: ["quality/index.md", qualityDomainList, qualityDomainList.replace("Game UI, ", "")], expect: "quality/index.md: missing canonical domain quality scope" }, { name: "quality_missing_game_ui_findability_scenario", mutate: ["quality/index.md", `${gameUiFindabilityScenario}\n`, ""], expect: "quality/index.md: missing Game UI findability QA scenario" }, - { name: "readme_stale_consumer_reference_ordinal", mutate: ["README.md", "sixth domain", "fifth domain"], expect: "README.md: missing canonical Consumer Reference boundary" }, - { name: "quality_stale_consumer_reference_ordinal", mutate: ["quality/index.md", "sixth domain", "fifth domain"], expect: "quality/index.md: missing canonical Consumer Reference boundary" }, - { name: "executable_evidence_stale_domain_count", mutate: ["quality/evidence/executable-evidence.md", "Five governed domains", "Four governed domains"], expect: "quality/evidence/executable-evidence.md: missing canonical five-domain validator coverage" }, + { name: "readme_stale_consumer_reference_ordinal", mutate: ["README.md", "seventh domain", "sixth domain"], expect: "README.md: missing canonical Consumer Reference boundary" }, + { name: "quality_stale_consumer_reference_ordinal", mutate: ["quality/index.md", "seventh domain", "sixth domain"], expect: "quality/index.md: missing canonical Consumer Reference boundary" }, + { name: "executable_evidence_stale_domain_count", mutate: ["quality/evidence/executable-evidence.md", "Six governed domains", "Five governed domains"], expect: "quality/evidence/executable-evidence.md: missing canonical domain validator coverage" }, { name: "success_path", expect: null }, ]; diff --git a/scripts/validate-domains.mjs b/scripts/validate-domains.mjs index c926318..8fc5004 100644 --- a/scripts/validate-domains.mjs +++ b/scripts/validate-domains.mjs @@ -18,28 +18,28 @@ const referenceDocuments = [ const requiredCrossDomainStrings = [ { relative: "guides/vocabulary.md", - required: "Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, root routing, and `domain` frontmatter on governed leaves.", - failure: "guides/vocabulary.md: missing canonical five-domain vocabulary list", + required: "Use for: Layout, Motion, Design Engineering, Game UI, Platform Guides, Design Terminology, root routing, and `domain` frontmatter on governed leaves.", + failure: "guides/vocabulary.md: missing canonical domain vocabulary list", }, { relative: "quality/index.md", - required: "`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, and Platform Guides claims are admissible.", - failure: "quality/index.md: missing canonical five-domain quality scope", + required: "`quality/` is shared StyleGallery infrastructure for deciding whether Layout, Motion, Design Engineering, Game UI, Platform Guides, and Design Terminology claims are admissible.", + failure: "quality/index.md: missing canonical domain quality scope", }, { relative: "README.md", - required: "without owning profiles, visual values, components, or a sixth domain", + required: "without owning profiles, visual values, components, or a seventh domain", failure: "README.md: missing canonical Consumer Reference boundary", }, { relative: "quality/index.md", - required: "without classifying it as a sixth domain", + required: "without classifying it as a seventh domain", failure: "quality/index.md: missing canonical Consumer Reference boundary", }, { relative: "quality/evidence/executable-evidence.md", - required: "Five governed domains and their declared leaves are reachable and attributed.", - failure: "quality/evidence/executable-evidence.md: missing canonical five-domain validator coverage", + required: "Six governed domains and their declared leaves are reachable and attributed.", + failure: "quality/evidence/executable-evidence.md: missing canonical domain validator coverage", }, { relative: "quality/index.md", @@ -82,7 +82,22 @@ export const canonicalDomains = [ { path: "game-ui/unity/org-wiki.md", provenance: "repository" }, ], }, - { slug: "platform-guides", label: "Platform Guides", leaves: [{ path: "platform-guides/apple-interaction.md", provenance: "external", sourcePath: "skills/apple-design/SKILL.md" }] }, + { + slug: "platform-guides", + label: "Platform Guides", + leaves: [{ path: "platform-guides/apple-interaction.md", provenance: "external", sourcePath: "skills/apple-design/SKILL.md" }], + }, + { + slug: "design-terminology", + label: "Design Terminology", + leaves: [ + { path: "design-terminology/source-kinds.md", provenance: "repository" }, + { path: "design-terminology/source-vocabularies.md", provenance: "repository" }, + { path: "design-terminology/concept-families.md", provenance: "repository" }, + { path: "design-terminology/relation-types.md", provenance: "repository" }, + { path: "design-terminology/conflict-cases.md", provenance: "repository" }, + ], + }, ]; export const domainRegistry = canonicalDomains; @@ -155,8 +170,8 @@ function checkManifest() { && content.includes(`snapshot \`${revision}\``) && content.includes("## Shared Non-Domain Infrastructure") && content.includes("[Consumer Reference](consumer-reference/index.md)") - && content.includes("infrastructure outside the five-domain contract") - && content.includes("cannot add a sixth domain row"); + && content.includes("infrastructure outside the six-domain contract") + && content.includes("cannot add a seventh domain row"); for (const domain of domains) { const domainRow = domainRows.find((row) => row[0] === domain.label); diff --git a/scripts/validate-governance.mjs b/scripts/validate-governance.mjs index a77a9c8..14c21b7 100644 --- a/scripts/validate-governance.mjs +++ b/scripts/validate-governance.mjs @@ -66,6 +66,7 @@ function requireGovernanceMatrix() { "Design Engineering domain guidance", "Game UI domain guidance", "Platform Guides domain guidance", + "Design Terminology domain guidance", "Pattern data and examples", "Pattern generator", "Validation scripts", From 6c5015fec9d4fae0845c396be553c78cb8f3ed43 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:29:39 +0900 Subject: [PATCH 05/10] fix: restore okf frontmatter in homepage example --- examples/stylegallery-homepage/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/stylegallery-homepage/README.md b/examples/stylegallery-homepage/README.md index 83da7e8..89cc001 100644 --- a/examples/stylegallery-homepage/README.md +++ b/examples/stylegallery-homepage/README.md @@ -1,3 +1,9 @@ +--- +type: Worked Example +title: StyleGallery Homepage Example +description: Static product-layer homepage example planned from a clean install of the published npm package. +--- + # StyleGallery Homepage Example Static product-layer homepage built as an end-to-end npm package usage test. From 83f6d32ff1c9245090066fb4bea1a63c164d8491 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 18 Aug 2026 20:22:09 +0900 Subject: [PATCH 06/10] feat: enforce design terminology consistency in-repo and rescope semantic review to stable promotion --- .github/workflows/validate.yml | 4 + AGENTS.md | 1 + GOVERNANCE.md | 2 +- .../agent-native/v2/material-registry.json | 2 +- design-terminology/conflict-cases.md | 20 ++-- design-terminology/index.md | 8 +- design-terminology/source-kinds.md | 1 + .../design-terminology-domain-scope.md | 1 + scripts/governance-test-fixture.mjs | 2 +- scripts/test-validate-design-terminology.mjs | 35 ++++++ scripts/validate-design-terminology.mjs | 107 ++++++++++++++++++ 11 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 scripts/test-validate-design-terminology.mjs create mode 100644 scripts/validate-design-terminology.mjs diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ecbdde7..8135a2a 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -42,6 +42,8 @@ jobs: node -c scripts/test-validate-governance.mjs node -c scripts/validate-domains.mjs node -c scripts/test-validate-domains.mjs + node -c scripts/validate-design-terminology.mjs + node -c scripts/test-validate-design-terminology.mjs node -c scripts/validate-consumer-reference.mjs node -c scripts/test-validate-consumer-reference.mjs node -c scripts/consumer-reference-case-runner.mjs @@ -118,6 +120,8 @@ jobs: run: | node scripts/validate-domains.mjs --json node scripts/test-validate-domains.mjs + node scripts/validate-design-terminology.mjs --json + node scripts/test-validate-design-terminology.mjs - name: Unity organization compressed wiki check run: | diff --git a/AGENTS.md b/AGENTS.md index 5cfd6e3..64f3019 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,6 +18,7 @@ Before editing generated artifacts, validators, lifecycle state, or ownership po - Treat `consumer-reference/` as shared non-domain schema, provenance, routing, and evidence infrastructure; it owns no profile values, visual defaults, component implementation, or product CSS. - Keep dependency direction consumer/profile -> Layout. Do not import consumer-reference records, profile data, tokens, or decorative values into `layout/**`, `patterns/**`, `scripts/pattern-data.mjs`, or `CATALOG.md`. - Include the consumer-reference handoff field in implementation handoffs. For this repository-wide agent surface use `consumer_reference: consumer-reference/agent-native/registry.json`; otherwise use one normalized repository-relative JSON record or `not_applicable` with a sentence reason. +- When an implementation handoff relies on design-terminology records, declare the term identifiers and relation types used and whether the named sources were re-checked in the session; unverified reliance must be marked as such. - Keep material v2, v1 trust/conformance, CLI/MCP transport, and A2A/AG-UI extension planes separate. Material admission never imports profiles, source code, fixtures, schemas, tests, `.omo`, or visual defaults. - Validate canonical evidence v2 against its recorded immutable Git revision. Use current-authoring source checks only when creating or finalizing new capture evidence; do not recapture merely because later repository changes differ. - Treat `consumer-reference/policies/lifecycle-dispositions.json` as the lifecycle index. Preserve named owners, caller status `unknown`, deadlines, extension dispositions, and immutable archive bindings until their machine gate authorizes a transition. diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 6da2d40..46a31fc 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -42,7 +42,7 @@ Use this file before editing repository documentation. It names which file is au | Design Engineering domain guidance | `design-engineering/*.md` | Manual | None | `experimental` | Upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Design Engineering domain owner | | Game UI domain guidance | `game-ui/**/*.md` | Manual | None | `experimental` | Classification, hierarchy, engine implementation, evidence boundary, or route changes. | `scripts/validate-domains.mjs` | Game UI domain owner | | Platform Guides domain guidance | `platform-guides/*.md` | Manual | None | `experimental` | Platform version, upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Platform Guides domain owner | -| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs` | Design Terminology domain owner | +| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs`, `scripts/validate-design-terminology.mjs` | Design Terminology domain owner | | Pattern data and examples | `scripts/pattern-data.mjs` | Manual data source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `generated` output from `stable` source | Source-lineage URL changes, generated drift, category changes, or pattern count changes. | `scripts/validate-patterns.mjs`, `scripts/validate-catalog.mjs`, `scripts/validate-governance.mjs` | Pattern-data owner | | Pattern generator | `scripts/generate-patterns.mjs` | Manual code source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `stable` generator, `generated` output | Generated structure changes, generated-warning changes, or generated metadata changes. | `node -c scripts/generate-patterns.mjs`, generated drift check, `scripts/validate-governance.mjs` | Pattern-data owner | | Validation scripts | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs` | Manual code source | CI validation output | `stable` | Validator scope changes, fixture changes, or CI parity changes. | `node -c`, matching fixture tests, `.github/workflows/validate.yml` | Validation owner | diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index 293babe..c3b4b4d 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":6999,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":5853,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"b591f3219a88a1edfa880919de46b963d4996c6ac7409b81ff19c05a5481f69b","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:b591f3219a88a1edfa880919de46b963d4996c6ac7409b81ff19c05a5481f69b"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":4860,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"6f8ef8b6b5a663a6a3edd671e103f8b93dcc638b2c836371d1b410a912e06c0f","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:6f8ef8b6b5a663a6a3edd671e103f8b93dcc638b2c836371d1b410a912e06c0f"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"639294ef6a6ec32aa49e4befbc2099e917ceba45a36662a1593d9a050b5ca330","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:639294ef6a6ec32aa49e4befbc2099e917ceba45a36662a1593d9a050b5ca330"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30135,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"d3efd17bb3414fc14acf3b545ef79893ec1dc1bacf26d38ca3e21e1fed268d5c","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:d3efd17bb3414fc14acf3b545ef79893ec1dc1bacf26d38ca3e21e1fed268d5c"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9004,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"ab627bdd4c435b6246c6a3dca308901d0c177130dbcc69759cdca61084425810","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:ab627bdd4c435b6246c6a3dca308901d0c177130dbcc69759cdca61084425810"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":4841,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"5a5f8f10dc08fca13b21852627e9ae3ca7b1ff61cacaf793593b83cdb0b6190f","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:5a5f8f10dc08fca13b21852627e9ae3ca7b1ff61cacaf793593b83cdb0b6190f"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:73c0164916df4feec1f6a3459b0d798366c81b63d16c731edea15a686ddd6a17"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":6999,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30178,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9216,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":5456,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:4dcb00e2b26c96222927a2930f8fbb966cb6f2c06d79d9c50bb80deadfed60ff"} \ No newline at end of file diff --git a/design-terminology/conflict-cases.md b/design-terminology/conflict-cases.md index 3d14ebc..d4d80ea 100644 --- a/design-terminology/conflict-cases.md +++ b/design-terminology/conflict-cases.md @@ -29,8 +29,10 @@ This page applies the typed relation model to recorded term records and conflict | `figma.variable` | Figma (`design-tool`) | named-design-value | current | file- or collection-bound | 2026-08-18 | | `figma.mode` | Figma (`design-tool`) | theme-context | current | variable collection | 2026-08-18 | | `figma.component` | Figma (`design-tool`) | tool-instance-model | current | file-bound | 2026-08-18 | +| `component.code` | Codebases (`design-system`) | ui-building-block | current | codebase | 2026-08-18 | +| `component.system` | Published system units (`design-system`) | published-ui-building-block | current | system-wide | 2026-08-18 | | `dtcg.token` | DTCG Format (`specification`) | interchange-record | current | format-bound | 2026-08-18 | -| `css.custom-property` | CSS (web platform) | runtime-value-slot | current | document/runtime | 2026-08-18 | +| `css.custom-property` | CSS (`web-platform`) | runtime-value-slot | current | document/runtime | 2026-08-18 | | `polaris.token` | Polaris (`design-system`) | published-design-value | current | system-wide | 2026-08-18 | | `carbon.pattern` | Carbon (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | | `polaris.pattern` | Polaris (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | @@ -40,8 +42,8 @@ This page applies the typed relation model to recorded term records and conflict | `material.system` | Google (`design-system`) | system-collection-name | current | brand-wide | 2026-08-18 | | `styleguide` (historical) | industry history | visual-style-governance | historical | org-wide | 2026-08-18 | | `designsystem` (general) | industry usage | layered-system-collection | current | org-wide | 2026-08-18 | -| `foundation` (layer label) | Material, Fluent, Carbon, Polaris | base-layer-label | current | per-system | 2026-08-18 | -| `variant` / `mode` / `state` / `theme` | tool, code, tokens | theme-variant-context | current | per-surface | 2026-08-18 | +| `foundation` (layer label) | Material, Fluent, Carbon, Polaris (`design-system`) | base-layer-label | current | per-system | 2026-08-18 | +| `variant` (`mode`/`state`/`theme`) | tool, code, tokens | theme-variant-context | current | per-surface | 2026-08-18 | ## Recorded Relations @@ -51,16 +53,16 @@ This page applies the typed relation model to recorded term records and conflict | `figma.variable` | `css.custom-property` | `implementation_representation` | Variables can bind to custom properties in codegen; the binding is a representation path, not semantic identity | | `dtcg.token` | `css.custom-property` | `implementation_representation` | Custom properties are one serialization target for token values and also hold non-design values | | `polaris.token` | `dtcg.token` | `implementation_representation` | The format is one representation of Polaris's published values; the system, not the format, owns the values | -| `figma.mode` | `variant`/`theme` cluster | `near_equivalent` | Modes, tool variants, component states, and token themes overlap as context switching but diverge in binding level | -| `figma.component` | code component | `same_label_different_meaning` | Tool instance model versus shipped code unit; swapping definitions breaks handoff | -| `figma.component` | system component | `same_label_different_meaning` | A tool construct versus a published system unit with API and support | +| `figma.mode` | `variant` | `near_equivalent` | Modes, tool variants, component states, and token themes overlap as context switching but diverge in binding level | +| `figma.component` | `component.code` | `same_label_different_meaning` | Tool instance model versus shipped code unit; swapping definitions breaks handoff | +| `figma.component` | `component.system` | `same_label_different_meaning` | A tool construct versus a published system unit with API and support | | `carbon.pattern` | `stylegallery.pattern` | `partial_overlap` | Both are reusable solutions above atomic controls; Carbon patterns are workflow guidance, StyleGallery patterns are spatial primitives | | `carbon.pattern` | `polaris.pattern` | `near_equivalent` | Both name system-level workflow guidance with content and maturity differences | -| `carbon.pattern` | Carbon component | `broader_than` | Within Carbon, patterns compose components into flows; the containment is system-scoped | -| `primitive` | `foundation` terms | `near_equivalent` | Shared base-layer usage across systems with unstable extension: sometimes tokens, sometimes atoms | +| `carbon.pattern` | `component.system` | `broader_than` | Within Carbon, patterns compose components into flows; the containment is system-scoped | +| `primitive` | `foundation` | `near_equivalent` | Shared base-layer usage across systems with unstable extension: sometimes tokens, sometimes atoms | | `hig.material` | `material.system` | `same_label_different_meaning` | HIG names visual surface treatments; Material names a design system; the shared label is coincidence | | `styleguide` | `designsystem` | `partial_overlap` | Era- and org-scoped: a historical style guide governs visual style; a design system layers foundations, code, and governance; both labels coexist | -| `foundation` (Material) | `foundation` (Fluent, Carbon, Polaris) | `near_equivalent` | Near-equivalent layer labels whose contents each system decides independently | +| `foundation` (Material) | `foundation` | `near_equivalent` | Near-equivalent layer labels whose contents each system decides independently | ## Scenario A: Component vs Pattern diff --git a/design-terminology/index.md b/design-terminology/index.md index 84a5da3..56f10fb 100644 --- a/design-terminology/index.md +++ b/design-terminology/index.md @@ -21,7 +21,7 @@ Representative questions this domain answers: are Figma's variable, the DTCG des Promotion beyond `experimental` requires all of the following, each pass/fail checkable: - A named review owner, secondary reviewer, freshness owner, and dispute resolver are recorded. -- A machine-readable registry with schema exists for terms, concepts, sources, and relations. +- A machine-readable registry with schema exists for terms, concepts, sources, and relations; until then `scripts/validate-design-terminology.mjs` enforces record consistency on the Markdown tables. - A relation invariant validator derived from the forbidden error states in [Design Term Relations](relation-types.md) passes. - Every term carries a direct source locator. - Every relation names both sources and a non-trivial boundary. @@ -33,7 +33,7 @@ Promotion beyond `experimental` requires all of the following, each pass/fail ch ## Content Review Contract -Before any merge or promotion, a full semantic review covers every term and relation (not a sample) against this checklist: +Record consistency is enforced mechanically from v0.1 by `scripts/validate-design-terminology.mjs`, which parses the term and relation tables and rejects unknown types, unrecorded terms, empty boundaries, contradiction pairs, malformed dates, and orphan terms. Human semantic review is a **stable-promotion gate only**, not a merge gate for `experimental` content; it covers every term and relation (not a sample) against this checklist: - Is the source kind correct for each cited source? - Does each term description match what its source actually supports? @@ -43,7 +43,9 @@ Before any merge or promotion, a full semantic review covers every term and rela - Is official-source authority overstated anywhere? - Is each historical/current status correct? -The review result is recorded as: terms reviewed, relations reviewed, counts of accepted, revised, and unresolved items, reviewer name, and review date. Author self-audit alone does not satisfy this contract. +The review result is recorded as: terms reviewed, relations reviewed, counts of accepted, revised, and unresolved items, reviewer name, and review date. Author self-audit alone does not satisfy promotion. + +This domain is a working method template: consumers may fork it and re-record their own sources, terms, and relations. Forked records are consumer-owned and never feed values back into StyleGallery. ## Available Guides diff --git a/design-terminology/source-kinds.md b/design-terminology/source-kinds.md index 61123c2..944d9bb 100644 --- a/design-terminology/source-kinds.md +++ b/design-terminology/source-kinds.md @@ -31,6 +31,7 @@ This guide classifies what kind of thing a vocabulary source is before any of it | `platform-guideline` | A platform owner's rules for software on that platform | Terms are scoped to the platform's release cycle and certification context | Apple Human Interface Guidelines | | `specification` | A versioned interchange or conformance document | Terms are defined exactly for the version; meaning changes require a new version | W3C Design Tokens Format | | `design-tool` | A product whose data model exposes tool constructs | Terms name tool features, not industry definitions; product versions rename freely | Figma variables, modes, components | +| `web-platform` | A browser or platform runtime mechanism | Terms name runtime behavior standardized across vendors, not one system's vocabulary | CSS custom properties | | `pattern-library` | A curated collection of reusable solutions, with or without a full system | Terms name the collection's own units; scope is the collection, not an organization | StyleGallery Layout patterns | | `brand-style-guide` | An organization's visual and voice governance document | Terms govern expression, not interface structure; often narrower than a design system | Historical print-lineage style guides | diff --git a/quality/claim-records/design-terminology-domain-scope.md b/quality/claim-records/design-terminology-domain-scope.md index c821e79..3f7b8ff 100644 --- a/quality/claim-records/design-terminology-domain-scope.md +++ b/quality/claim-records/design-terminology-domain-scope.md @@ -43,6 +43,7 @@ A separate domain lets terminology comparison name its own evidence boundary: ci - `design-terminology/**` begins `experimental` with a named review owner and validator coverage. - The domain manifest, root routes, quality scope, vocabulary domain list, and governance rows record six domains; Consumer Reference remains shared infrastructure and still cannot add a domain row. +- Record consistency is machine-enforced from v0.1 by `scripts/validate-design-terminology.mjs` (closed relation types, recorded terms on both sides, non-trivial boundaries, contradiction pairs, date and status shape, no orphan terms). Human semantic review is required at stable promotion only, per the repository promotion rules; it is not a merge gate for `experimental` content. - Domain identity and cardinality are currently sealed in multiple surfaces (closed schema enums, identity sets, discover cardinality, package inventory, snapshot tests) requiring synchronized manual edits when a domain is added. This is recorded technical debt, not tamper evidence alone: one author changing all copies in one commit weakens duplication as independent evidence while keeping drift risk. Revisit triggers: a seventh domain id is added, manual-change sites exceed twelve, a cardinality drift incident occurs, or registry generation changes. Target structure when triggered: one canonical domain registry generating enums, lists, and package inventory, with an independently reviewed sealed digest as the tamper check. Named review owner for this debt: the Design Terminology domain owner until a governance owner is designated. - Term relations recorded by the domain are working judgments, not repository policy for other domains. diff --git a/scripts/governance-test-fixture.mjs b/scripts/governance-test-fixture.mjs index 3b55664..0bf2072 100644 --- a/scripts/governance-test-fixture.mjs +++ b/scripts/governance-test-fixture.mjs @@ -307,7 +307,7 @@ export const files = { "| Design Engineering domain guidance | `design-engineering/*.md` | Manual | None | `experimental` | Upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Design Engineering domain owner |", "| Game UI domain guidance | `game-ui/**/*.md` | Manual | None | `experimental` | Classification, hierarchy, engine implementation, evidence boundary, or route changes. | `scripts/validate-domains.mjs` | Game UI domain owner |", "| Platform Guides domain guidance | `platform-guides/*.md` | Manual | None | `experimental` | Platform version, upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Platform Guides domain owner |", - "| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs` | Design Terminology domain owner |", + "| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs`, `scripts/validate-design-terminology.mjs` | Design Terminology domain owner |", "| Pattern data and examples | `scripts/pattern-data.mjs` | Manual data source | `patterns/**/*.md` | `generated` output from `stable` source | Source-lineage URL changes, generated drift, category changes, or pattern count changes. | `scripts/validate-patterns.mjs`, `scripts/validate-catalog.mjs`, `scripts/validate-governance.mjs` | Pattern-data owner |", "| Pattern generator | `scripts/generate-patterns.mjs` | Manual code source | `patterns/**/*.md` | `stable` generator, `generated` output | Generated structure changes, generated-warning changes, or generated metadata changes. | `node -c scripts/generate-patterns.mjs` | Pattern-data owner |", "| Validation scripts | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs` | Manual code source | CI validation output | `node -c` | Validation owner |", diff --git a/scripts/test-validate-design-terminology.mjs b/scripts/test-validate-design-terminology.mjs new file mode 100644 index 0000000..86ce334 --- /dev/null +++ b/scripts/test-validate-design-terminology.mjs @@ -0,0 +1,35 @@ +#!/usr/bin/env node + +import fs from "node:fs"; +import os from "node:os"; +import path from "node:path"; +import { validateDesignTerminology } from "./validate-design-terminology.mjs"; + +const source = fs.readFileSync(path.resolve("design-terminology/conflict-cases.md"), "utf8"); +const termLine = source.split("\n").find((line) => line.includes("`figma.variable`") && line.includes("named-design-value")); +const relationLine = source.split("\n").find((line) => line.includes("`partial_overlap`") && line.includes("Exportable variables")); + +const cases = [ + { name: "ok", expect: null }, + { name: "unknown_relation_type", mutate: [relationLine, relationLine.replace("partial_overlap", "overlaps")], expect: "unknown relation type overlaps" }, + { name: "empty_boundary", mutate: [relationLine, relationLine.replace(/Exportable.*\|/, "|")], expect: "boundary must be a non-trivial scope statement" }, + { name: "unrecorded_relation_target", mutate: [relationLine, relationLine.replace("`dtcg.token`", "`dtcg.unknown`")], expect: "to-term must be a recorded term" }, + { name: "orphan_term", mutate: [termLine, termLine.replace("`figma.variable`", "`figma.ghost`")], expect: "orphan term figma.ghost" }, + { name: "bad_date", mutate: [termLine, termLine.replace("2026-08-18", "Aug 18")], expect: "reviewed_on must be YYYY-MM-DD" }, + { name: "bad_status", mutate: [termLine, termLine.replace("| current | file-", "| maybe | file-")], expect: "status must be current, deprecated, historical, or unknown" }, + { name: "bad_source_kind", mutate: [termLine, termLine.replace("`design-tool`", "`cool-tool`")], expect: "source must name a closed source kind or an aggregate marker" }, +]; + +let failures = 0; +for (const testCase of cases) { + const dir = fs.mkdtempSync(path.join(os.tmpdir(), `sg-term-${testCase.name}-`)); + fs.mkdirSync(path.join(dir, "design-terminology"), { recursive: true }); + const content = testCase.mutate ? source.replace(testCase.mutate[0], testCase.mutate[1]) : source; + fs.writeFileSync(path.join(dir, "design-terminology/conflict-cases.md"), content); + const result = validateDesignTerminology({ root: dir }); + const passed = testCase.expect === null ? result.ok : !result.ok && result.failures.some((failure) => failure.includes(testCase.expect)); + if (!passed) { failures += 1; console.error(`FAIL ${testCase.name}:`, result.failures.slice(0, 3)); } + fs.rmSync(dir, { recursive: true, force: true }); +} +console.log(JSON.stringify({ ok: failures === 0, cases: cases.length, failures })); +process.exitCode = failures === 0 ? 0 : 1; diff --git a/scripts/validate-design-terminology.mjs b/scripts/validate-design-terminology.mjs new file mode 100644 index 0000000..12c50e8 --- /dev/null +++ b/scripts/validate-design-terminology.mjs @@ -0,0 +1,107 @@ +#!/usr/bin/env node + +// Validates Design Terminology record consistency in design-terminology/conflict-cases.md. +// Enforces the human contract in relation-types.md as machine rules: closed relation types, +// recorded terms on both sides of every relation, non-trivial boundaries, forbidden +// contradiction pairs, date/status shape, and no orphan terms. + +import fs from "node:fs"; +import path from "node:path"; + +const RELATION_TYPES = new Set([ + "equivalent_within_scope", "near_equivalent", "partial_overlap", "broader_than", "narrower_than", + "implementation_representation", "renamed_to", "deprecated_in_favor_of", "same_label_different_meaning", "not_comparable", +]); +const SOURCE_KINDS = new Set(["design-system", "platform-guideline", "specification", "design-tool", "pattern-library", "brand-style-guide", "web-platform"]); +const AGGREGATE_SOURCES = /^(multiple systems|industry history|industry usage|tool, code, tokens)/; +const STATUSES = new Set(["current", "deprecated", "historical", "unknown"]); +const DATE = /^20\d\d-\d{2}-\d{2}$/; + +export function validateDesignTerminology({ root = process.cwd() } = {}) { + const failures = []; + const relative = "design-terminology/conflict-cases.md"; + const target = path.join(root, relative); + if (!fs.existsSync(target)) { + return { ok: false, terms: 0, relations: 0, failures: [`${relative}: missing file`] }; + } + const content = fs.readFileSync(target, "utf8"); + const section = (heading) => content.split(`## ${heading}`)[1]?.split("\n## ")[0] ?? ""; + const rows = (body) => body.split("\n") + .filter((line) => /^\|.*\|\s*$/.test(line.trim())) + .map((line) => line.trim().slice(1, -1).split("|").map((cell) => cell.trim())) + .filter((row) => !row.every((cell) => /^:?-+:?$/.test(cell))) + .slice(1); + const codeTokens = (text) => [...text.matchAll(/`([^`]+)`/g)].map((match) => match[1]); + + const termRows = rows(section("Term Records")); + const terms = new Map(); + termRows.forEach((row, index) => { + const location = `${relative} term row ${index + 1}`; + if (row.length !== 6) { failures.push(`${location}: expected 6 columns`); return; } + const [termCell, sourceCell, concept, status, scope, reviewed] = row; + const tokens = codeTokens(termCell); + if (tokens.length === 0) failures.push(`${location}: term must carry a backticked identifier`); + const kindTokens = codeTokens(sourceCell).filter((token) => SOURCE_KINDS.has(token)); + if (kindTokens.length === 0 && !AGGREGATE_SOURCES.test(sourceCell)) { + failures.push(`${location}: source must name a closed source kind or an aggregate marker`); + } + if (kindTokens.length > 1) failures.push(`${location}: source must carry exactly one source kind`); + if (!concept) failures.push(`${location}: missing concept`); + if (!STATUSES.has(status)) failures.push(`${location}: status must be current, deprecated, historical, or unknown`); + if (!scope) failures.push(`${location}: missing scope`); + if (!DATE.test(reviewed)) failures.push(`${location}: reviewed_on must be YYYY-MM-DD`); + for (const token of tokens.slice(0, 1)) terms.set(token, location); + }); + + const relationRows = rows(section("Recorded Relations")); + const pairs = new Map(); + relationRows.forEach((row, index) => { + const location = `${relative} relation row ${index + 1}`; + if (row.length !== 4) { failures.push(`${location}: expected 4 columns`); return; } + const [fromCell, toCell, typeCell, boundary] = row; + const type = typeCell.replaceAll("`", ""); + if (!RELATION_TYPES.has(type)) failures.push(`${location}: unknown relation type ${type}`); + const from = codeTokens(fromCell)[0]; + const to = codeTokens(toCell)[0]; + if (!from || !terms.has(from)) failures.push(`${location}: from-term must be a recorded term`); + if (!to || !terms.has(to)) failures.push(`${location}: to-term must be a recorded term`); + if (!boundary || boundary === type) failures.push(`${location}: boundary must be a non-trivial scope statement`); + if ((type === "renamed_to" || type === "deprecated_in_favor_of") && !/\b(19|20)\d\d\b/.test(boundary)) { + failures.push(`${location}: ${type} requires a time or version basis in the boundary`); + } + if (from && to) { + const key = `${from}->${to}`; + const reverseKey = `${to}->${from}`; + const existing = pairs.get(key); + if (existing === type) failures.push(`${location}: duplicate relation for ${key}`); + if (type === "broader_than" && existing === "narrower_than") failures.push(`${location}: ${key} cannot record broader_than and narrower_than together`); + if (type === "narrower_than" && existing === "broader_than") failures.push(`${location}: ${key} cannot record narrower_than and broader_than together`); + if (type === "equivalent_within_scope" && existing === "not_comparable") failures.push(`${location}: ${key} cannot record equivalent_within_scope and not_comparable together`); + if (type === "not_comparable" && existing === "equivalent_within_scope") failures.push(`${location}: ${key} cannot record not_comparable and equivalent_within_scope together`); + if (type === "broader_than" && pairs.get(reverseKey) === "broader_than") failures.push(`${location}: ${key} conflicts with reverse broader_than`); + pairs.set(key, type); + for (const token of [from, to]) { + const count = relationRows.filter((other) => codeTokens(other[0])[0] === token || codeTokens(other[1])[0] === token).length; + terms.set(token, `${token} referenced ${count}`); + } + } + }); + + for (const [token] of terms) { + const used = relationRows.some((row) => codeTokens(row[0])[0] === token || codeTokens(row[1])[0] === token); + if (!used) failures.push(`${relative}: orphan term ${token} has no recorded relation`); + } + if (termRows.length === 0) failures.push(`${relative}: missing Term Records rows`); + if (relationRows.length === 0) failures.push(`${relative}: missing Recorded Relations rows`); + + return { ok: failures.length === 0, terms: termRows.length, relations: relationRows.length, failures: [...new Set(failures)] }; +} + +const isMain = process.argv[1] && path.resolve(process.argv[1]).endsWith("validate-design-terminology.mjs"); +if (isMain) { + const result = validateDesignTerminology(); + if (process.argv.includes("--json")) console.log(JSON.stringify(result, null, 2)); + else if (result.ok) console.log(`ok: ${result.terms} terms, ${result.relations} relations`); + else console.error(result.failures.join("\n")); + process.exitCode = result.ok ? 0 : 1; +} From d8bdf0bd5b5aec2fbc38e322a9ac7a1d31fd1332 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Thu, 20 Aug 2026 17:00:28 +0900 Subject: [PATCH 07/10] fix(material): improve specific search ranking --- consumer-reference/agent-native/README.md | 13 +++- .../agent-native/v2/material-registry.json | 2 +- scripts/agent-native/v2/material-queries.mjs | 70 ++++++++++++++++--- .../agent-native/v2/test-material-query.mjs | 29 ++++++-- .../v2/test-sg-material-package.mjs | 26 +++++++ 5 files changed, 121 insertions(+), 19 deletions(-) diff --git a/consumer-reference/agent-native/README.md b/consumer-reference/agent-native/README.md index c531d9a..ce79ee1 100644 --- a/consumer-reference/agent-native/README.md +++ b/consumer-reference/agent-native/README.md @@ -10,7 +10,7 @@ Primary role: machine interface guide. Agent-Native StyleGallery lets a person, script, or agent inspect the governed StyleGallery knowledge graph without learning repository paths first. The Markdown corpus remains the human-readable source material; the agent-native layer gives its governed fixture records stable identities, closed schemas, deterministic operations, and protocol-specific projections. -This is shared non-domain infrastructure. It does not add a sixth StyleGallery domain, make example profiles canonical, or allow an MCP client to mutate repository knowledge. +This is shared non-domain infrastructure. It does not add a seventh StyleGallery domain, make example profiles canonical, or allow an MCP client to mutate repository knowledge. ## Mental Model @@ -56,6 +56,17 @@ All machine-mode results are deterministic JSON on stdout. A failed request retu | `context ` | Build a deterministic, bounded context package with a snapshot, member manifest, policy, and cache key. | | `ops` | List all operation specifications, including internal governed mutations and their exposure metadata. | +## Governed Material v2 + +Material v2 is an isolated, read-only interface over admitted Markdown. Use `sg-material discover`, `search`, `get`, and `context`, or the equivalent `material-*` tools exposed by `stylegallery-material-mcp`. It does not merge material with v1 trust records or expand the admission policy. + +Search keeps the fixed field weights `title: 16`, `path: 8`, and `body: 1`. For a multi-token query, each field contribution is multiplied by `ceil(material_count / max(1, token_document_frequency))` so a specific, uncommon term such as `sticky` is not outranked by a corpus-wide term such as `layout`. Results expose the document frequency and multiplier for every normalized query token; ties remain ordered by projected StableRef. `--paths-only` preserves the same ranking while returning repository-relative paths. + +```sh +sg-material search --query "sticky layout" --paths-only --limit 5 +stylegallery-material search --query "design terminology source kinds" --paths-only --limit 5 +``` + ## MCP Start the stdio MCP server with: diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index c3b4b4d..4239364 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":6999,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30178,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9216,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":5456,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:4dcb00e2b26c96222927a2930f8fbb966cb6f2c06d79d9c50bb80deadfed60ff"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30178,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9216,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":5456,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:c4159ce0f7a4f3e3b2754815b63750cce7b346acb3072a7e00f43d6f9e048269"} \ No newline at end of file diff --git a/scripts/agent-native/v2/material-queries.mjs b/scripts/agent-native/v2/material-queries.mjs index 220e7b7..1e3e9ac 100644 --- a/scripts/agent-native/v2/material-queries.mjs +++ b/scripts/agent-native/v2/material-queries.mjs @@ -310,11 +310,36 @@ function titleOf(text) { return /^#{1,6}\s+(.+?)\s*$/m.exec(text)?.[1] ?? ""; } function fieldMembership(fieldTokens, queryTokens) { - const members = new Set(fieldTokens); let count = 0; - for (const token of queryTokens) if (members.has(token)) count += 1; + for (const token of queryTokens) if (fieldTokens.has(token)) count += 1; return count; } +function queryTokenMembership(value, queryTokenSet) { + const matches = new Set(); + for (const token of tokenizeMaterialText(value)) { + if (queryTokenSet.has(token)) matches.add(token); + } + return matches; +} +function rarityWeightsFor(documents, queryTokens) { + return queryTokens.map((token) => { + const documentFrequency = documents.reduce((count, document) => count + Number( + document.titleTokens.has(token) || document.pathTokens.has(token) || document.bodyTokens.has(token), + ), 0); + return { + document_frequency: documentFrequency, + multiplier: Math.ceil(documents.length / Math.max(1, documentFrequency)), + token, + }; + }); +} +function weightedFieldMembership(fieldTokens, rarityByToken, fieldWeight) { + let score = 0; + for (const [token, multiplier] of rarityByToken) { + if (fieldTokens.has(token)) score += multiplier * fieldWeight; + } + return score; +} function sourceIdentity(record) { return { stable_ref: record.stable_ref, version_id: record.version_id, source_sha256: record.source_sha256, byte_length: record.byte_length }; } @@ -334,20 +359,19 @@ export function materialSearch({ repositoryRoot, input, fileSystem = fs, sourceR const state = snapshot ? requireSnapshot(snapshot) : loadMetadata(repositoryRoot, fileSystem); const { root, manifest } = state; const beforeInventory = snapshot ? state.inventory : trackedInventory(repositoryRoot, gitRunner); - const ranked = []; + const queryTokenSet = new Set(normalized.scoringTokens); + const documents = []; for (const record of manifest.materials) { const bytes = readRecord({ repositoryRoot, root, record, fileSystem, sourceReader, gitRunner, inventory: beforeInventory }); let body; try { body = utf8Fatal.decode(bytes); } catch { fail("material_source_utf8_invalid", "material source is not valid UTF-8"); } const title = titleOf(body); - const titleCount = fieldMembership(tokenizeMaterialText(title), normalized.scoringTokens); - const pathCount = fieldMembership(tokenizeMaterialText(record.repository_path), normalized.scoringTokens); - const bodyCount = fieldMembership(tokenizeMaterialText(body), normalized.scoringTokens); - const score = titleCount * MATERIAL_SEARCH_WEIGHTS.title + pathCount * MATERIAL_SEARCH_WEIGHTS.path + bodyCount * MATERIAL_SEARCH_WEIGHTS.body; - if (score === 0) continue; - ranked.push({ - repositoryPath: record.repository_path, - result: { identity: materialIdentityForRecord(record), source: sourceIdentity(record), title, score, match_counts: { title: titleCount, path: pathCount, body: bodyCount } }, + documents.push({ + bodyTokens: queryTokenMembership(body, queryTokenSet), + pathTokens: queryTokenMembership(record.repository_path, queryTokenSet), + record, + title, + titleTokens: queryTokenMembership(title, queryTokenSet), }); } const afterInventory = trackedInventory(repositoryRoot, gitRunner); @@ -355,6 +379,28 @@ export function materialSearch({ repositoryRoot, input, fileSystem = fs, sourceR assertTracked(record, afterInventory); if (canonicalize(beforeInventory.get(record.repository_path)) !== canonicalize(afterInventory.get(record.repository_path))) fail("material_source_race", "material source tracking changed during read"); } + const rarityWeights = rarityWeightsFor(documents, normalized.scoringTokens); + const rarityByToken = new Map(rarityWeights.map(({ token, multiplier }) => [token, multiplier])); + const ranked = []; + for (const document of documents) { + const titleCount = fieldMembership(document.titleTokens, normalized.scoringTokens); + const pathCount = fieldMembership(document.pathTokens, normalized.scoringTokens); + const bodyCount = fieldMembership(document.bodyTokens, normalized.scoringTokens); + const score = weightedFieldMembership(document.titleTokens, rarityByToken, MATERIAL_SEARCH_WEIGHTS.title) + + weightedFieldMembership(document.pathTokens, rarityByToken, MATERIAL_SEARCH_WEIGHTS.path) + + weightedFieldMembership(document.bodyTokens, rarityByToken, MATERIAL_SEARCH_WEIGHTS.body); + if (score === 0) continue; + ranked.push({ + repositoryPath: document.record.repository_path, + result: { + identity: materialIdentityForRecord(document.record), + source: sourceIdentity(document.record), + title: document.title, + score, + match_counts: { title: titleCount, path: pathCount, body: bodyCount }, + }, + }); + } ranked.sort((left, right) => right.result.score - left.result.score || compare(left.result.identity.stable_ref, right.result.identity.stable_ref)); const selected = ranked.slice(0, normalized.limit); const envelope = { @@ -362,6 +408,8 @@ export function materialSearch({ repositoryRoot, input, fileSystem = fs, sourceR normalization: "Unicode NFKC; ECMAScript locale-independent lowercase; Letter/Number-led Unicode words retaining attached Marks; unique query-token field membership", query: normalized.query.normalize("NFKC").toLowerCase(), tokens: normalized.tokens, scoring_tokens: normalized.scoringTokens, weights: MATERIAL_SEARCH_WEIGHTS, + rarity_weighting: "ceil(material_count / max(1, token_document_frequency))", + rarity_weights: rarityWeights, }; if (normalized.pathsOnly) return deepFreeze({ ...envelope, paths_only: true, paths: selected.map(({ repositoryPath }) => repositoryPath), total_matches: ranked.length }); return deepFreeze({ ...envelope, results: selected.map(({ result }) => result), total_matches: ranked.length }); diff --git a/scripts/agent-native/v2/test-material-query.mjs b/scripts/agent-native/v2/test-material-query.mjs index 3965516..9a5d6c6 100644 --- a/scripts/agent-native/v2/test-material-query.mjs +++ b/scripts/agent-native/v2/test-material-query.mjs @@ -138,10 +138,13 @@ test("search normalization preserves attached Unicode marks and delimits standal assert.equal(canonicalize(plain.result.results), canonicalize(normalized.result.results)); }); -test("known Layout ranking uses title=16 path=8 body=1 unique-token field membership", () => { +test("known Layout ranking uses rarity-weighted title=16 path=8 body=1 unique-token field membership", () => { const response = invoke("material-search", { query: "Layout", limit: 100 }); assert.equal(response.ok, true); assert.deepEqual(response.result.weights, MATERIAL_SEARCH_WEIGHTS); + assert.equal(response.result.rarity_weighting, "ceil(material_count / max(1, token_document_frequency))"); + assert.equal(response.result.rarity_weights.length, 1); + assert.equal(response.result.rarity_weights[0].token, "layout"); assert.equal(response.result.results[0].identity.stable_ref, "sg:domain/layout"); const layout = response.result.results.find(({ identity }) => identity.stable_ref === "sg:domain/layout"); const source = fs.readFileSync(path.join(repositoryRoot, "layout/index.md"), "utf8"); @@ -149,11 +152,24 @@ test("known Layout ranking uses title=16 path=8 body=1 unique-token field member const expected = Number(new Set(tokenizeMaterialText(title)).has("layout")) * 16 + Number(new Set(tokenizeMaterialText("layout/index.md")).has("layout")) * 8 + Number(new Set(tokenizeMaterialText(source)).has("layout")); - assert.equal(layout.score, expected); - assert.equal(layout.score, 25); + assert.equal(layout.score, expected * response.result.rarity_weights[0].multiplier); assert.deepEqual(layout.match_counts, { title: 1, path: 1, body: 1 }); }); +test("rarity weighting ranks the specific sticky intent above generic Layout hubs", () => { + const response = invoke("material-search", { query: "sticky layout", limit: 5, paths_only: true }); + assert.equal(response.ok, true); + assert.deepEqual(response.result.paths.slice(0, 3), [ + "patterns/split-sidebar/sticky-aside.md", + "patterns/viewport-shell/sticky-header.md", + "patterns/viewport-shell/sticky-footer.md", + ]); + const sticky = response.result.rarity_weights.find(({ token }) => token === "sticky"); + const layout = response.result.rarity_weights.find(({ token }) => token === "layout"); + assert.ok(sticky.document_frequency < layout.document_frequency); + assert.ok(sticky.multiplier > layout.multiplier); +}); + test("paths-only search preserves ranking while projecting repository-relative paths", () => { const standard = invoke("material-search", { query: "Layout", limit: 5 }); const projected = invoke("material-search", { query: "Layout", limit: 5, paths_only: true }); @@ -201,10 +217,11 @@ test("synthetic equal scores tie strictly by projected StableRef", () => { const paths = ["motion/index.md", "game-ui/index.md"]; for (const repositoryPath of paths) fs.appendFileSync(path.join(root, repositoryPath), "\nzzztietoken\nzzztietoken\n"); rebindSources(root, paths); - const results = createMaterialOperationRegistry({ repositoryRoot: root }).invoke("material-search", { query: "zzztietoken", limit: 10 }).result.results; + const result = createMaterialOperationRegistry({ repositoryRoot: root }).invoke("material-search", { query: "zzztietoken", limit: 10 }).result; + const results = result.results; assert.equal(results.length, 2); - assert.equal(results[0].score, 1); - assert.equal(results[1].score, 1); + assert.equal(results[0].score, result.rarity_weights[0].multiplier); + assert.equal(results[1].score, result.rarity_weights[0].multiplier); assert.ok(results[0].identity.stable_ref < results[1].identity.stable_ref); } finally { fs.rmSync(root, { recursive: true, force: true }); } }); diff --git a/scripts/agent-native/v2/test-sg-material-package.mjs b/scripts/agent-native/v2/test-sg-material-package.mjs index 523bfd6..60f5f4b 100644 --- a/scripts/agent-native/v2/test-sg-material-package.mjs +++ b/scripts/agent-native/v2/test-sg-material-package.mjs @@ -29,6 +29,11 @@ const sentinels = [ "scripts/sg-mcp-shadow.mjs", ]; const mandatory = ["README.md", "package.json"]; +const stickyPaths = [ + "patterns/split-sidebar/sticky-aside.md", + "patterns/viewport-shell/sticky-header.md", + "patterns/viewport-shell/sticky-footer.md", +]; function relativeImports(source) { const imports = []; @@ -70,6 +75,10 @@ async function bounded(promise, label) { ]).finally(() => clearTimeout(timer)); } +function toolEnvelope(response) { + return response.structuredContent ?? JSON.parse(response.content.find(({ type }) => type === "text").text); +} + function copyPackage(source, destination) { fs.cpSync(source, destination, { recursive: true, @@ -156,6 +165,15 @@ try { }); assert.equal(install.status, 0, install.stderr || install.stdout); const installedRoot = path.join(installedProject, "node_modules", packageJson.name); + const materialCliPath = path.join(installedRoot, "scripts", "sg-material.mjs"); + const installedCliSearch = spawnSync(process.execPath, [materialCliPath, "search", "--query", "sticky layout", "--paths-only", "--limit", "5"], { + cwd: externalCwd, encoding: "utf8", maxBuffer: 16 * 1024 * 1024, + }); + assert.equal(installedCliSearch.status, 0, installedCliSearch.stderr || installedCliSearch.stdout); + assert.equal(installedCliSearch.stderr, ""); + const installedCliReport = JSON.parse(installedCliSearch.stdout); + assert.equal(installedCliReport.ok, true); + assert.deepEqual(installedCliReport.result.paths.slice(0, 3), stickyPaths); const serverPath = path.join(installedRoot, "scripts", "sg-mcp.mjs"); assert.ok(fs.statSync(serverPath).isFile(), "installed v1 MCP entrypoint must exist"); const transport = new StdioClientTransport({ command: process.execPath, args: [serverPath], cwd: externalCwd, stderr: "pipe" }); @@ -183,6 +201,12 @@ try { assert.deepEqual((await bounded(materialClient.listTools(), "installed material MCP tools")).tools.map(({ name }) => name), ["material-context", "material-discover", "material-get", "material-search"]); assert.equal((await bounded(materialClient.listResources(), "installed material MCP resources")).resources.length, 133); assert.deepEqual((await bounded(materialClient.listResourceTemplates(), "installed material MCP templates")).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); + const installedMcpSearch = toolEnvelope(await bounded(materialClient.callTool({ + name: "material-search", + arguments: { query: "design terminology source kinds", paths_only: true, limit: 5 }, + }), "installed material MCP search")); + assert.equal(installedMcpSearch.ok, true); + assert.equal(installedMcpSearch.result.paths[0], "design-terminology/source-kinds.md"); } finally { await bounded(materialClient.close(), "installed material MCP shutdown"); } @@ -201,7 +225,9 @@ try { bins_executable: true, declared_runtime_roots_derived: true, installed_v1_mcp_official_sdk: true, + installed_material_cli_search: true, installed_material_mcp_official_sdk: true, + installed_material_mcp_search: true, installed_external_spaced_cwd: true, }, null, 2)}\n`); } finally { From 534bc69db77ba01cfd23e45effbd4ba4fd5b06c2 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 8 Sep 2026 12:55:44 +0900 Subject: [PATCH 08/10] feat: complete non-layout workflows and browser verification --- DOMAINS.md | 14 +- GOVERNANCE.md | 8 +- README.md | 14 + .../agent-native/v2/admission-policy.json | 72 +- .../agent-native/v2/material-registry.json | 2 +- .../v2/schema/admission-policy.schema.json | 4 +- design-engineering/component-contract.md | 98 + design-engineering/decision-tree.md | 69 + design-engineering/index.md | 12 +- design-engineering/worked-examples.md | 105 + design-terminology/comparison-workflow.md | 98 + design-terminology/conflict-cases.md | 95 +- design-terminology/index.md | 12 +- design-terminology/relation-types.md | 18 +- design-terminology/source-vocabularies.md | 20 +- examples/domain-interactions/README.md | 72 + examples/domain-interactions/app.mjs | 276 ++ .../evidence/detail-375.png | Bin 0 -> 106435 bytes .../evidence/long-rtl-320.png | Bin 0 -> 103423 bytes .../evidence/manifest.json | 48 + .../evidence/native-desktop.png | Bin 0 -> 146262 bytes .../evidence/nested-dialogs.png | Bin 0 -> 156467 bytes .../evidence/reduced-motion-320.png | Bin 0 -> 109100 bytes .../domain-interactions/evidence/report.json | 3592 +++++++++++++++++ .../domain-interactions/evidence/sources.json | 27 + examples/domain-interactions/index.html | 114 + examples/domain-interactions/qa.aside.js | 199 + examples/domain-interactions/styles.css | 46 + examples/domain-interactions/verification.md | 77 + game-ui/decision-tree.md | 81 + game-ui/index.md | 12 +- game-ui/screen-recipes.md | 101 + game-ui/verification-workflow.md | 100 + index.md | 8 + log.md | 14 + motion/decision-tree.md | 68 + motion/index.md | 12 +- motion/interaction-recipes.md | 90 + motion/motion-brief.md | 89 + package.json | 14 + platform-guides/adaptation-workflow.md | 76 + platform-guides/android-interaction.md | 74 + platform-guides/apple-interaction.md | 10 +- platform-guides/compatibility-matrix.md | 85 + platform-guides/index.md | 13 +- platform-guides/windows-interaction.md | 75 + .../v2/test-agent-v1-compatibility.mjs | 15 +- .../v2/test-material-admission.mjs | 8 +- .../v2/test-material-mcp-stdio.mjs | 6 +- scripts/agent-native/v2/test-material-mcp.mjs | 2 +- .../agent-native/v2/test-material-query.mjs | 6 + .../v2/test-material-registry.mjs | 2 +- .../v2/test-sg-material-package.mjs | 23 +- scripts/test-validate-design-terminology.mjs | 100 +- scripts/test-validate-domains.mjs | 78 + scripts/validate-design-terminology.mjs | 187 +- scripts/validate-domains.mjs | 18 +- 57 files changed, 6279 insertions(+), 180 deletions(-) create mode 100644 design-engineering/component-contract.md create mode 100644 design-engineering/decision-tree.md create mode 100644 design-engineering/worked-examples.md create mode 100644 design-terminology/comparison-workflow.md create mode 100644 examples/domain-interactions/README.md create mode 100644 examples/domain-interactions/app.mjs create mode 100644 examples/domain-interactions/evidence/detail-375.png create mode 100644 examples/domain-interactions/evidence/long-rtl-320.png create mode 100644 examples/domain-interactions/evidence/manifest.json create mode 100644 examples/domain-interactions/evidence/native-desktop.png create mode 100644 examples/domain-interactions/evidence/nested-dialogs.png create mode 100644 examples/domain-interactions/evidence/reduced-motion-320.png create mode 100644 examples/domain-interactions/evidence/report.json create mode 100644 examples/domain-interactions/evidence/sources.json create mode 100644 examples/domain-interactions/index.html create mode 100644 examples/domain-interactions/qa.aside.js create mode 100644 examples/domain-interactions/styles.css create mode 100644 examples/domain-interactions/verification.md create mode 100644 game-ui/decision-tree.md create mode 100644 game-ui/screen-recipes.md create mode 100644 game-ui/verification-workflow.md create mode 100644 motion/decision-tree.md create mode 100644 motion/interaction-recipes.md create mode 100644 motion/motion-brief.md create mode 100644 platform-guides/adaptation-workflow.md create mode 100644 platform-guides/android-interaction.md create mode 100644 platform-guides/compatibility-matrix.md create mode 100644 platform-guides/windows-interaction.md diff --git a/DOMAINS.md b/DOMAINS.md index 6d5bc8d..c6f165e 100644 --- a/DOMAINS.md +++ b/DOMAINS.md @@ -26,11 +26,11 @@ This manifest is the source of truth for top-level StyleGallery domains. A domai | Domain | Manual hub | Governed leaves | | --- | --- | --- | | Layout | `layout/index.md` | Existing `GUIDE.md`, Layout-specific `guides/*.md`, and `recipes/*.md`; generated `patterns/**/*.md` and `CATALOG.md` remain at current paths. Shared `quality/**/*.md` infrastructure governs every domain without becoming a Layout leaf. | -| Motion | `motion/index.md` | `motion/vocabulary.md`, `motion/review-workflow.md`, `motion/practice-reference.md` | -| Design Engineering | `design-engineering/index.md` | `design-engineering/interface-craft.md`, `design-engineering/consumer-migration-readiness.md`, `design-engineering/reference-profiles/index.md`, `design-engineering/reference-profiles/governed-local/index.md`, `design-engineering/reference-profiles/external-adaptation/index.md` | -| Game UI | `game-ui/index.md` | `game-ui/classification.md`, `game-ui/screen-hierarchy.md`, `game-ui/reference-record.md`, `game-ui/unity/architecture.md`, `game-ui/unity/ui-systems.md`, `game-ui/unity/cli-loop.md`, `game-ui/unity/repository-map.md`, `game-ui/unity/org-wiki.md` | -| Platform Guides | `platform-guides/index.md` | `platform-guides/apple-interaction.md` | -| Design Terminology | `design-terminology/index.md` | `design-terminology/source-kinds.md`, `design-terminology/source-vocabularies.md`, `design-terminology/concept-families.md`, `design-terminology/relation-types.md`, `design-terminology/conflict-cases.md` | +| Motion | `motion/index.md` | `motion/vocabulary.md`, `motion/review-workflow.md`, `motion/practice-reference.md`, `motion/decision-tree.md`, `motion/motion-brief.md`, `motion/interaction-recipes.md` | +| Design Engineering | `design-engineering/index.md` | `design-engineering/interface-craft.md`, `design-engineering/consumer-migration-readiness.md`, `design-engineering/reference-profiles/index.md`, `design-engineering/reference-profiles/governed-local/index.md`, `design-engineering/reference-profiles/external-adaptation/index.md`, `design-engineering/decision-tree.md`, `design-engineering/component-contract.md`, `design-engineering/worked-examples.md` | +| Game UI | `game-ui/index.md` | `game-ui/classification.md`, `game-ui/screen-hierarchy.md`, `game-ui/reference-record.md`, `game-ui/unity/architecture.md`, `game-ui/unity/ui-systems.md`, `game-ui/unity/cli-loop.md`, `game-ui/unity/repository-map.md`, `game-ui/unity/org-wiki.md`, `game-ui/decision-tree.md`, `game-ui/screen-recipes.md`, `game-ui/verification-workflow.md` | +| Platform Guides | `platform-guides/index.md` | `platform-guides/apple-interaction.md`, `platform-guides/adaptation-workflow.md`, `platform-guides/android-interaction.md`, `platform-guides/windows-interaction.md`, `platform-guides/compatibility-matrix.md` | +| Design Terminology | `design-terminology/index.md` | `design-terminology/source-kinds.md`, `design-terminology/source-vocabularies.md`, `design-terminology/concept-families.md`, `design-terminology/relation-types.md`, `design-terminology/conflict-cases.md`, `design-terminology/comparison-workflow.md` | ## Shared Non-Domain Infrastructure @@ -47,7 +47,9 @@ The initial five domain leaves are independent method rewrites inspired by [emil - If recognizable upstream expression is added later, preserve the full upstream MIT notice and record the copied material separately before merge. - Tracked repository documents must not depend on `.omo/`; stable upstream blob links and tracked repository contracts carry contributor-facing provenance. -`design-engineering/consumer-migration-readiness.md` is the separately declared StyleGallery-local leaf. It uses `provenance_kind: local`, carries no external source fields, and remains experimental. Its presence does not change the external-adaptation inventory or make its consumer-local method universal policy. +The workflow, brief, contract, recipe, and comparison leaves added under the five non-Layout domains are StyleGallery-local synthesis with `provenance_kind: local`; their worked scenarios are proposals, not captured product evidence. The domain indexes route selection, authoring, application, and verification. + +`design-engineering/consumer-migration-readiness.md` is a separately declared StyleGallery-local leaf. It uses `provenance_kind: local`, carries no external source fields, and remains experimental. Its presence does not change the external-adaptation inventory or make its consumer-local method universal policy. ## Promotion And Staleness diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 46a31fc..fe6d91e 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -42,12 +42,18 @@ Use this file before editing repository documentation. It names which file is au | Design Engineering domain guidance | `design-engineering/*.md` | Manual | None | `experimental` | Upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Design Engineering domain owner | | Game UI domain guidance | `game-ui/**/*.md` | Manual | None | `experimental` | Classification, hierarchy, engine implementation, evidence boundary, or route changes. | `scripts/validate-domains.mjs` | Game UI domain owner | | Platform Guides domain guidance | `platform-guides/*.md` | Manual | None | `experimental` | Platform version, upstream revision, evidence boundary, or guidance changes. | `scripts/validate-domains.mjs` | Platform Guides domain owner | -| Design Terminology domain guidance | `design-terminology/*.md` | Manual | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs`, `scripts/validate-design-terminology.mjs` | Design Terminology domain owner | +| Design Terminology domain guidance | `design-terminology/*.md` | Manual; term and relation tables remain authoring sources | None | `experimental` | Source-kind, source-vocabulary, concept-family, relation-model, or conflict-case changes. | `scripts/validate-domains.mjs`, `scripts/validate-design-terminology.mjs` | Design Terminology domain owner | | Pattern data and examples | `scripts/pattern-data.mjs` | Manual data source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `generated` output from `stable` source | Source-lineage URL changes, generated drift, category changes, or pattern count changes. | `scripts/validate-patterns.mjs`, `scripts/validate-catalog.mjs`, `scripts/validate-governance.mjs` | Pattern-data owner | | Pattern generator | `scripts/generate-patterns.mjs` | Manual code source | `patterns/**/*.md`, `patterns/**/index.md`, `patterns/index.md`, `CATALOG.md` | `stable` generator, `generated` output | Generated structure changes, generated-warning changes, or generated metadata changes. | `node -c scripts/generate-patterns.mjs`, generated drift check, `scripts/validate-governance.mjs` | Pattern-data owner | | Validation scripts | `scripts/validate-*.mjs`, `scripts/test-validate-*.mjs` | Manual code source | CI validation output | `stable` | Validator scope changes, fixture changes, or CI parity changes. | `node -c`, matching fixture tests, `.github/workflows/validate.yml` | Validation owner | | CI workflows | `.github/workflows/validate.yml`, `.github/workflows/evidence-freshness.yml` | Manual | GitHub Actions runs and audit artifacts | `stable` | Validation step, explicit-deadline schedule, generated drift policy, or owner changes. | GitHub Actions, `scripts/validate-governance.mjs` | Repository governance owner | +## Domain Workflow Verification Boundary + +The non-Layout hubs route selection, briefs/contracts, applied recipes or cases, and verification. Their local leaves declare `provenance_kind: local` and remain `experimental`. Worked examples contain expected outcomes, not captured product or engine evidence. `scripts/validate-domains.mjs` checks declared membership, provenance, sections, and routes; it does not execute those examples. + +The Design Terminology Markdown tables additionally require directly located sources, labels, valid dates, explicit comparison scope and direction, and consistent relation graphs. `scripts/validate-design-terminology.mjs` and its negative fixtures check those record invariants; semantic accuracy and independent promotion review remain human judgments. Material v2 indexes only the admitted Markdown bytes. Changing the allowed document set requires updating its closed inventory, digest, package exposure, and generated registry together, without admitting code, schemas, profiles, or fixtures as material. + ## Generated Artifact Policy Generated files are not source of truth. Do not hand-edit generated artifacts to change pattern content or catalog structure. diff --git a/README.md b/README.md index d12342d..7be3dd8 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,20 @@ CLI와 MCP의 상세 사용법은 [Agent-Native StyleGallery 가이드](consumer The canonical domain manifest and provenance policy are in [StyleGallery Domains](DOMAINS.md). +## Practical Domain Workflows + +| Task | Start | Apply and verify | +| --- | --- | --- | +| Design a transition | [Motion Decision Tree](motion/decision-tree.md) | [Brief](motion/motion-brief.md), [interaction recipes](motion/interaction-recipes.md), and [review](motion/review-workflow.md) | +| Build a product interaction | [Design Engineering Decision Tree](design-engineering/decision-tree.md) | [Component contract](design-engineering/component-contract.md) and [worked examples](design-engineering/worked-examples.md) | +| Compose a game screen | [Game UI Decision Tree](game-ui/decision-tree.md) | [Screen recipes](game-ui/screen-recipes.md) and [verification workflow](game-ui/verification-workflow.md) | +| Adapt a platform convention | [Platform Adaptation Workflow](platform-guides/adaptation-workflow.md) | [Apple](platform-guides/apple-interaction.md), [Android](platform-guides/android-interaction.md), [Windows](platform-guides/windows-interaction.md), and [compatibility matrix](platform-guides/compatibility-matrix.md) | +| Resolve a terminology conflict | [Design Term Comparison Workflow](design-terminology/comparison-workflow.md) | [Directly sourced term cases](design-terminology/conflict-cases.md) and [relation rules](design-terminology/relation-types.md) | + +Layout 외 도메인도 선택 절차, 작성 양식, 적용 사례, 검증 경로를 제공합니다. 예제의 기대 결과는 실제 실행 증거와 구분하며, 공식 출처를 확인한 날짜와 적용 범위는 각 문서에 기록합니다. 문서 확충만으로 `experimental` 상태가 자동 승격되지는 않습니다. + +[Interaction Lab](examples/domain-interactions/README.md)은 저장·검색·중첩 팝업·보상·입력 사례를 실행할 수 있는 브라우저 예제입니다. [검증 기록](examples/domain-interactions/verification.md)은 실제 Mac 브라우저에서 관찰한 결과와 모바일·네이티브 엔진 미검증 범위를 구분합니다. + ## Repository Entry Roles Use each root hub for one primary job. diff --git a/consumer-reference/agent-native/v2/admission-policy.json b/consumer-reference/agent-native/v2/admission-policy.json index c834eb4..66e0570 100644 --- a/consumer-reference/agent-native/v2/admission-policy.json +++ b/consumer-reference/agent-native/v2/admission-policy.json @@ -49,11 +49,21 @@ "domain": "shared", "lifecycle": "stable" }, + { + "repository_path": "design-engineering/component-contract.md", + "domain": "design-engineering", + "lifecycle": "experimental" + }, { "repository_path": "design-engineering/consumer-migration-readiness.md", "domain": "design-engineering", "lifecycle": "experimental" }, + { + "repository_path": "design-engineering/decision-tree.md", + "domain": "design-engineering", + "lifecycle": "experimental" + }, { "repository_path": "design-engineering/index.md", "domain": "design-engineering", @@ -64,6 +74,16 @@ "domain": "design-engineering", "lifecycle": "experimental" }, + { + "repository_path": "design-engineering/worked-examples.md", + "domain": "design-engineering", + "lifecycle": "experimental" + }, + { + "repository_path": "design-terminology/comparison-workflow.md", + "domain": "design-terminology", + "lifecycle": "experimental" + }, { "repository_path": "design-terminology/concept-families.md", "domain": "design-terminology", @@ -99,6 +119,11 @@ "domain": "game-ui", "lifecycle": "experimental" }, + { + "repository_path": "game-ui/decision-tree.md", + "domain": "game-ui", + "lifecycle": "experimental" + }, { "repository_path": "game-ui/index.md", "domain": "game-ui", @@ -114,6 +139,11 @@ "domain": "game-ui", "lifecycle": "experimental" }, + { + "repository_path": "game-ui/screen-recipes.md", + "domain": "game-ui", + "lifecycle": "experimental" + }, { "repository_path": "game-ui/unity/architecture.md", "domain": "game-ui", @@ -139,6 +169,11 @@ "domain": "game-ui", "lifecycle": "experimental" }, + { + "repository_path": "game-ui/verification-workflow.md", + "domain": "game-ui", + "lifecycle": "experimental" + }, { "repository_path": "guides/decision-tree.md", "domain": "layout", @@ -179,11 +214,26 @@ "domain": "shared", "lifecycle": "stable" }, + { + "repository_path": "motion/decision-tree.md", + "domain": "motion", + "lifecycle": "experimental" + }, { "repository_path": "motion/index.md", "domain": "motion", "lifecycle": "experimental" }, + { + "repository_path": "motion/interaction-recipes.md", + "domain": "motion", + "lifecycle": "experimental" + }, + { + "repository_path": "motion/motion-brief.md", + "domain": "motion", + "lifecycle": "experimental" + }, { "repository_path": "motion/practice-reference.md", "domain": "motion", @@ -479,16 +529,36 @@ "domain": "layout", "lifecycle": "generated" }, + { + "repository_path": "platform-guides/adaptation-workflow.md", + "domain": "platform-guides", + "lifecycle": "experimental" + }, + { + "repository_path": "platform-guides/android-interaction.md", + "domain": "platform-guides", + "lifecycle": "experimental" + }, { "repository_path": "platform-guides/apple-interaction.md", "domain": "platform-guides", "lifecycle": "experimental" }, + { + "repository_path": "platform-guides/compatibility-matrix.md", + "domain": "platform-guides", + "lifecycle": "experimental" + }, { "repository_path": "platform-guides/index.md", "domain": "platform-guides", "lifecycle": "experimental" }, + { + "repository_path": "platform-guides/windows-interaction.md", + "domain": "platform-guides", + "lifecycle": "experimental" + }, { "repository_path": "quality/claim-records/design-terminology-domain-scope.md", "domain": "shared", @@ -747,5 +817,5 @@ "code": "material_path_internal_excluded" } ], - "version_id": "sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870" + "version_id": "sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d" } diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index 4239364..0b8d98e 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:f306613097c233ca309a1360fa736233dfe5858c8828c5238b956fff8e253870","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":6071,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:f717f58502cd4ff83ce3b25fd238323c08ed15644a9efacf3a002d46dffa555e"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1163,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:5d95bfbaa850bd03b87f7bd35a60af7eb023d88f5968908a2714a13af5e2f9e6"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":3934,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:f557d2c886eacc6a382bc1354ad14a5cc54ba165b2c4553b956b0681591a43a6"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":6658,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:e4013b5498a2ff7b0613b9c17a8fd6a31e1cb799c08f062dfbb2bf540e713cea"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":3511,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:662b57e8b32bc4324252ebef262308d19e2e1780ae7b9d09acabeda02fb789d7"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":18299,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:749a3561b3ebb60a9a42a728abd88be0d15ddab0314101a1d1e73564626ea817"},{"byte_length":5191,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:1303cc67d67af8ed032bbd3d891b55dcd13ee9deda593ae568309a9339c22e44"},{"byte_length":30178,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:5c1762e7d837c376a923ea264fab8a3b53ab68add07deb2284252e40e30ba926"},{"byte_length":1474,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:cb572b933752d801962d8cc4b25a50faa79159659a9e56de69d3d6399f43b635"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7090,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:a64d8ed3a0261167aefa51fc44bd1409974a6e12f3a7be8ad4f00bdeb3d613fe"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":2821,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:9402e16d92bf5f17df39d7ccfd2eb4328113e02a155abd02524a2e5482fd3d68"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9216,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:d4c19e286041e9222a6ce07419b52ee7f981609ca652c7b644bf4af5531d3b27"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1051,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:c7066fbcb1ae5cf2acc9fdb9b7f6a65b2af4fa2480001d781566ac91ba8950b8"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":5456,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:6843bf9ce3accffc7a5812fff077d4533d10d3239fc225b4c5662e883902f9ac"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:c4159ce0f7a4f3e3b2754815b63750cce7b346acb3072a7e00f43d6f9e048269"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6823,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:702b931ef0047c0a2671def208639e19342d9f4c2a55a64bca3cdf2c1022a2c6"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":5672,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/component-contract.md","schema_version":"2.0","source_sha256":"eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4","stable_ref":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278","version_id":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278@sha256:eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":7416,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8"},{"byte_length":4671,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/motion-brief.md","schema_version":"2.0","source_sha256":"01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf","stable_ref":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137","version_id":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137@sha256:01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":5802,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/verification-workflow.md","schema_version":"2.0","source_sha256":"3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7","stable_ref":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d","version_id":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d@sha256:3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":4381,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/decision-tree.md","schema_version":"2.0","source_sha256":"8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f","stable_ref":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103","version_id":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103@sha256:8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":5815,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/compatibility-matrix.md","schema_version":"2.0","source_sha256":"924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671","stable_ref":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85","version_id":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85@sha256:924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1918,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"3484a70d32d23eb71db529a039fe773bd17b97c051f8c5ba22c9e5a4a6970975","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:3484a70d32d23eb71db529a039fe773bd17b97c051f8c5ba22c9e5a4a6970975"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":6552,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"56203ac3eb8832e3fa2191f83461b8f9c45eb8868ad58eef853032ef495f48ad","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:56203ac3eb8832e3fa2191f83461b8f9c45eb8868ad58eef853032ef495f48ad"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":4985,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/android-interaction.md","schema_version":"2.0","source_sha256":"a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332","stable_ref":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89","version_id":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89@sha256:a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":7646,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-recipes.md","schema_version":"2.0","source_sha256":"34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb","stable_ref":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461","version_id":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461@sha256:34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb"},{"byte_length":8158,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":6749,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/interaction-recipes.md","schema_version":"2.0","source_sha256":"6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821","stable_ref":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e","version_id":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e@sha256:6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821"},{"byte_length":4104,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":6041,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/comparison-workflow.md","schema_version":"2.0","source_sha256":"2c8482838e9622bebd363f1a8bb8f6d8b394f8487ab789a032e6a58053b001be","stable_ref":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d","version_id":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d@sha256:2c8482838e9622bebd363f1a8bb8f6d8b394f8487ab789a032e6a58053b001be"},{"byte_length":4989,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/windows-interaction.md","schema_version":"2.0","source_sha256":"f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d","stable_ref":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32","version_id":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32@sha256:f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d"},{"byte_length":20266,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38"},{"byte_length":7121,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a"},{"byte_length":4802,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/adaptation-workflow.md","schema_version":"2.0","source_sha256":"8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece","stable_ref":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561","version_id":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561@sha256:8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece"},{"byte_length":31273,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526"},{"byte_length":2082,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"4a635b8afbda9af66d10d3e84b23ec5493e433f45436bfdb59b9476a91df0f73","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:4a635b8afbda9af66d10d3e84b23ec5493e433f45436bfdb59b9476a91df0f73"},{"byte_length":6870,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/worked-examples.md","schema_version":"2.0","source_sha256":"0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1","stable_ref":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0","version_id":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0@sha256:0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":4646,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/decision-tree.md","schema_version":"2.0","source_sha256":"4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb","stable_ref":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa","version_id":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa@sha256:4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":7918,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"075fe2092d6dd647d9e4ed26ed89a804c35d131ba3d7e5de3c332fcd2d9126ef","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:075fe2092d6dd647d9e4ed26ed89a804c35d131ba3d7e5de3c332fcd2d9126ef"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":3433,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9887,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1668,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"09594262d3b40f0a608138d7c8cc633d2f836b19d5c580a862364db8e146dcf9","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:09594262d3b40f0a608138d7c8cc633d2f836b19d5c580a862364db8e146dcf9"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":6086,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"d0ee1b606d312dcf7fc3cc81acb16b2bd6b23cc99752f56e755e698512cc305e","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:d0ee1b606d312dcf7fc3cc81acb16b2bd6b23cc99752f56e755e698512cc305e"},{"byte_length":4863,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/decision-tree.md","schema_version":"2.0","source_sha256":"d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4","stable_ref":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15","version_id":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15@sha256:d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:b02b69ef909dd9282d27807062e851a5a1115545c9b698510f3b6d9ff6897458"} \ No newline at end of file diff --git a/consumer-reference/agent-native/v2/schema/admission-policy.schema.json b/consumer-reference/agent-native/v2/schema/admission-policy.schema.json index b6470b9..e3228ee 100644 --- a/consumer-reference/agent-native/v2/schema/admission-policy.schema.json +++ b/consumer-reference/agent-native/v2/schema/admission-policy.schema.json @@ -13,8 +13,8 @@ "media_type": { "const": "text/markdown" }, "allowed_materials": { "type": "array", - "minItems": 133, - "maxItems": 133, + "minItems": 147, + "maxItems": 147, "items": { "type": "object", "additionalProperties": false, diff --git a/design-engineering/component-contract.md b/design-engineering/component-contract.md new file mode 100644 index 0000000..9591f39 --- /dev/null +++ b/design-engineering/component-contract.md @@ -0,0 +1,98 @@ +--- +type: Domain Guide +title: Component Contract +description: Define product component semantics, states, events, asynchronous ownership, and verification before visual treatment. +domain: design-engineering +lifecycle: experimental +provenance_kind: local +--- + +# Component Contract + +Primary role: product component implementation handoff. + +## Repository Boundary + +This contract describes consumer-owned behavior. It does not create a shared component library, new Layout primitive, or default visual values. Existing profile records have their own closed schema; this planning template cannot substitute for their evidence records. + +## Reusable Method + +Start with semantic HTML or the platform's native control. Name the public inputs, emitted events, internal state, and owner of persisted data. Then describe each transition and its observable outcome. Use the [Worked Examples](worked-examples.md) to check common failure paths. + +## Contract Template + +| Field | Required answer | +| --- | --- | +| Task | The user action and the outcome the component supports | +| Semantics | Element/control, accessible name, description, value, relationships | +| Inputs | Data and callbacks, required/optional values, identity and revision | +| Outputs | Events, payload meaning, when they are emitted, who commits the result | +| State | Initial, active, selected, disabled, pending, empty, error, completed as applicable | +| State ownership | Controlled inputs versus internal temporary state; reconciliation rule | +| Input and focus | Keyboard, pointer, touch, focus entry/return and unavailable actions | +| Async ownership | Request identity, duplicate action policy, stale result handling, cancellation | +| Content | Empty, long, localized, unbroken and unavailable data | +| Spatial composition | Layout source, parent constraints, scroll owner and overflow behavior | +| Presentation | Product-owned values, density, visual hierarchy and optional motion brief | +| Lifecycle | Creation, navigation, rerender, removal, event/listener cleanup | +| Evidence | Expected behavior, actual result, runtime, source revision and artifacts | +| Handoff | `consumer_reference` record or `not_applicable` with a reason | + +## Worked Contract: Save Action + +Task: persist the current editable document. The form owns the draft; the save operation owns a submitted snapshot; the server owns the persisted result. A success for snapshot A must not mark newer draft B as saved. + +| Current state | Event | Next state | Required effect | +| --- | --- | --- | --- | +| Clean | Edit | Dirty | Keep entered values; mark unsaved changes | +| Dirty | Submit valid draft A | Saving A | Capture A and a request identity; acknowledge pending | +| Saving A | Submit again | Saving A | Apply the declared duplicate policy; this example ignores the duplicate | +| Saving A | Edit to B | Saving A with dirty B | Preserve B and distinguish it from submitted A | +| Saving A | Matching success | Clean if draft still A; otherwise dirty B | Record persisted A without discarding B | +| Saving A | Matching failure | Dirty current draft with error | Keep values and offer retry | +| Any | Stale response | Unchanged | Ignore responses outside the active operation | +| Any | Unmount/navigation | Disposed | Stop UI updates; cancellation does not imply the server rolled back | + +Implementation sketch, independent of framework: + +```text +on submit: + if a request is active: return + validate the current draft + copy the draft into submittedSnapshot + create requestIdentity + start persistence(requestIdentity, submittedSnapshot) +on result(identity, result): + if disposed or identity is not active: return + clear the active request + if successful: set persistedSnapshot to submittedSnapshot + else: expose a recoverable error + derive dirty state by comparing current draft with persistedSnapshot +``` + +A real application also defines revision conflicts, server normalization, and retry semantics. The sketch is not a distributed consistency protocol. Its handoff is `consumer_reference: not_applicable` because this fictional example selects no consumer profile or conformance record. + +## Opinionated Guidance + +Use state names that expose meaningful differences. Two booleans can accidentally permit “saved and failed”; a state transition table helps reveal impossible combinations. Do not merge input validity, request state, and persisted revision into one visual status. + +## Platform-Specific Guidance + +For web forms, preserve native label and form relationships. Validate custom semantics against the applicable [accessibility evidence gate](../quality/gates/accessibility-evidence.md). Framework scheduling, request abort behavior, and server idempotency require separate implementation evidence. + +## Unsupported Absolutes + +A state table does not prove accessibility, successful persistence, race freedom, or device coverage. Cancelling a client request does not prove its remote side effects stopped. + +## Verification Contract + +Resolve responses out of order, edit during saving, fail then retry, activate repeatedly, and remove the component before completion. Inspect both persisted and displayed values. Include keyboard-only operation, long content, and constrained parents. Record actual outcomes; the table above is an unexecuted reference contract. Review when a public input, event, or state meaning changes. + +## Source, License, And Attribution + +Locally authored contract and pseudocode; no framework or upstream implementation is copied. Shared quality gates own evidence admissibility. + +## IA Navigation + +Parent: [Design Engineering](index.md). +Next: [Design Engineering Worked Examples](worked-examples.md). diff --git a/design-engineering/decision-tree.md b/design-engineering/decision-tree.md new file mode 100644 index 0000000..812ade7 --- /dev/null +++ b/design-engineering/decision-tree.md @@ -0,0 +1,69 @@ +--- +type: Domain Guide +title: Design Engineering Decision Tree +description: Route product craft work from the uncertain decision to a contract, example, and appropriate evidence. +domain: design-engineering +lifecycle: experimental +provenance_kind: local +--- + +# Design Engineering Decision Tree + +Primary role: product implementation planning route. + +## Repository Boundary + +This route turns a product request into a bounded implementation decision. It owns neither shared quality policy nor a default design system. Use the existing Layout corpus for geometry and Motion for temporal behavior. + +## Reusable Method + +1. Write the user's action and the expected result in one sentence. +2. Identify what is uncertain: content, structure, state, identity, platform behavior, or perception. +3. Select the route below and produce its named artifact. +4. Implement the smallest slice containing the risky state, including failure and recovery. +5. Verify the observable and record the remaining limitation using [Interface Craft Decisions](interface-craft.md). + +## Task Routes + +| Uncertain decision | Primary route | Artifact to produce | +| --- | --- | --- | +| What should this screen contain? | [Webpage Generation Workflow](../guides/webpage-generation-workflow.md) | Content inventory and task model | +| What owns size, flow, and scroll? | [Layout Planning Guide](../GUIDE.md) | Layout brief and pattern composition | +| What happens after activation or failure? | [Component Contract](component-contract.md) | State, event, focus, and asynchronous ownership tables | +| How should a form, search, or destructive action recover? | [Worked Examples](worked-examples.md) | Scenario-specific acceptance cases | +| Does a product detail serve the task? | [Interface Craft Decisions](interface-craft.md) | Claim with an observable and evidence boundary | +| How do distinct identities use one Layout contract? | [Reference Profiles](reference-profiles/index.md) | Explicit profile selection and value ownership | +| Will an existing consumer survive migration? | [Consumer Migration Readiness](consumer-migration-readiness.md) | Thirteen-dimension consumer-owned conformance record | +| What should move and why? | [Motion Decision Tree](../motion/decision-tree.md) | Motion brief with interruption policy | +| Is a platform convention transferable? | [Platform Adaptation Workflow](../platform-guides/adaptation-workflow.md) | Native fact, web mapping, fallback, and runtime matrix | + +## Worked Intake + +Request: “Make saving settings feel responsive.” The risky decision is whether acknowledgement means persistence. Begin with a component contract: clean, dirty, saving, saved, and failed. A saving label acknowledges submission; the saved state waits for the persistence response. Preserve unsaved edits when requests fail. Only then evaluate a completion treatment through Motion. This order exposes duplicate writes and lost edits before visual review. + +An acceptance statement can be: “A failed save leaves the entered values available for retry.” “Feels responsive” remains a human perception hypothesis until measured in the relevant task. + +## Opinionated Guidance + +Prototype the uncertain state rather than an entire polished screen. A good first slice includes the initiating action, its failure, and a recovery path. Add complexity when it resolves an observed limitation. + +## Platform-Specific Guidance + +Distinguish browser, OS, assistive technology, framework, and component library versions in evidence. A library's state name is an implementation detail, not the user's task definition. + +## Unsupported Absolutes + +No selected framework, profile, token set, or prototype proves product quality. Component completion does not demonstrate migration readiness for an entire consumer. + +## Verification Contract + +The route succeeds when a reviewer can find the decision owner, artifact, failure case, and evidence needed without guessing. Verify one ordinary, one exceptional, and one interrupted task. Revisit when a route sends the reader to the wrong domain or cannot produce a testable acceptance statement. + +## Source, License, And Attribution + +Locally authored routing and settings example. Linked repository documents remain authoritative for their own contracts. + +## IA Navigation + +Parent: [Design Engineering](index.md). +Next: [Component Contract](component-contract.md). diff --git a/design-engineering/index.md b/design-engineering/index.md index 95823d5..fefcc47 100644 --- a/design-engineering/index.md +++ b/design-engineering/index.md @@ -8,6 +8,16 @@ In scope: purpose, frequency, interaction detail, implementation review, prototy Out of scope: a second universal principle set, unsupported claims of beauty or adoption, and overrides of semantic, accessibility, Layout, or shared quality contracts. +## Start Here + +| Task | Route | +| --- | --- | +| Route the uncertain product decision. | [Design Engineering Decision Tree](decision-tree.md) | +| Specify semantics, state, requests, and focus. | [Component Contract](component-contract.md) | +| Apply settings, search, and destructive-action contracts. | [Design Engineering Worked Examples](worked-examples.md) | + +These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract. + ## Documents - [Interface Craft Decisions](interface-craft.md) connects product purpose, implementation detail, and verification without treating taste as proof. @@ -25,4 +35,4 @@ See [StyleGallery Domains](../DOMAINS.md) for lifecycle, provenance, page member ## IA Navigation Parent: [StyleGallery](../index.md). -Next: [Consumer Migration Readiness](consumer-migration-readiness.md). +Next: [Design Engineering Decision Tree](decision-tree.md). diff --git a/design-engineering/worked-examples.md b/design-engineering/worked-examples.md new file mode 100644 index 0000000..e763c61 --- /dev/null +++ b/design-engineering/worked-examples.md @@ -0,0 +1,105 @@ +--- +type: Domain Guide +title: Design Engineering Worked Examples +description: Apply component contracts to settings, asynchronous search, and destructive list actions with explicit recovery cases. +domain: design-engineering +lifecycle: experimental +provenance_kind: local +--- + +# Design Engineering Worked Examples + +Primary role: product interaction recipe collection. + +## Repository Boundary + +These fictional examples connect decisions to expected behavior. They are neither shipped components nor captured product evidence. Values and presentation belong to the consumer; the referenced Layout recipes retain their spatial boundaries. + +The separate [Interaction Lab](../examples/domain-interactions/README.md) implements the save and search contracts as a local web prototype. Its [browser observations](../examples/domain-interactions/verification.md) apply to that exact example and source snapshot; they do not prove a consumer backend or the destructive-action recipe below. + +## Reusable Method + +Choose a matching user task, adapt its state ownership through the [Component Contract](component-contract.md), and execute the listed failure cases in the consuming application. The decision is incomplete until expected and actual results are recorded separately. + +## Settings With Explicit Save + +Task: edit preferences, inspect changes, and save intentionally. Compose the [SaaS Settings recipe](../recipes/saas-settings.md); let its selected patterns own page structure and scrolling. The form owns the editable draft, the operation owns the submitted snapshot, and persistence determines success. + +Keep field errors beside their inputs and provide a route to the first relevant error. On network failure, retain all entered values. A successful save of an older snapshot must leave subsequent edits dirty. If leaving the screen can lose changes, define discard/cancel/save behavior and what happens if saving fails. + +| Test | Expected behavior | +| --- | --- | +| Submit missing required input | Expose the error and retain other values | +| Submit, edit again, then receive success | Confirm the submitted snapshot; preserve later edits | +| Fail and retry | Keep the draft; issue the retry under the declared request policy | +| Cancel navigation with dirty data | Stay on the form with the same draft and a usable focus target | + +Evidence still needed: keyboard/error announcement, persistence responses, and source-bound runtime capture. A prototype cannot prove real data was saved. + +## Search With Detail Selection + +Task: search a collection and inspect an item without losing the search context. Compose [List Detail](../recipes/list-detail.md). Separate query text, submitted query, active request, results, and selected item identity. Displayed detail must name the selected item even when the result set refreshes. + +Keep typing responsive; a request for an older query cannot replace a newer result. Distinguish “no results” from loading and failure. On a tight surface, preserve selection and query when navigating between list and detail. If the selected item disappears, choose a documented empty detail or next-item policy instead of silently showing stale data. + +| Test | Expected behavior | +| --- | --- | +| Submit A, then B; resolve B before A | Results remain for B after A arrives | +| Receive zero results | Show the submitted query and a recovery action | +| Resize with detail selected | Preserve selection and query; keep focus on a logical available target | +| Remove the selected item remotely | Explain its unavailability or choose the documented next target | + +Evidence still needed: out-of-order response trace, selection identity, tight/wide rendered states, and input coverage. Motion is optional; use [Reorder and Filter](../motion/interaction-recipes.md#reorder-and-filter) only when it communicates stable identity. + +## Destructive Action In A List + +Task: remove a selected item with understandable consequences. Separate the initiating control, decision surface, pending operation, and final list update. Choose confirmation or undo from actual reversibility and product requirements. Do not offer undo when the backend cannot restore the item. + +Name the affected item and scope. During pending deletion, prevent unintended duplicate operations according to the contract. Failure preserves the item and a recovery path. On success, return focus to an appropriate neighboring item or list heading if the invoker was removed. A dialog's visual exit must not leave a blocker behind. + +| Test | Expected behavior | +| --- | --- | +| Cancel confirmation | No deletion; return to the invoker | +| Fail the operation | Explain failure and preserve the item | +| Succeed while filters change | Remove by stable identity, not old row position | +| Remove the final item | Present an empty state and a logical focus destination | + +Evidence still needed: actual operation result, focus trace, dialog semantics, and recovery behavior. Use [Modal Transition](../motion/interaction-recipes.md#modal-transition) only for optional presentation. + +## Implementation Handoff + +```yaml +example: # settings-save, search-detail, or destructive-list-action +consumer_reference: not_applicable +consumer_reference_reason: These fictional examples select no consumer-owned profile or evidence record. +layout_source: # the selected recipe and the consumer's pinned revision +state_owner: # component, screen, and persistence responsibilities +acceptance_cases: # adapted rows above +observed_results: not_run +remaining_evidence: # actual runtime, input, device, and user evidence +``` + +## Opinionated Guidance + +Preserve the user's work across recoverable failures. Status text should explain the real operation; motion and color alone are insufficient descriptions of what happened. + +## Platform-Specific Guidance + +Native navigation, browser history, component libraries, and platform controls differ. Record the exact implementation of cancellation and focus return rather than copying a screenshot's apparent behavior. + +## Unsupported Absolutes + +Confirmation is not always safer than undo. Optimistic updates are not always appropriate. A worked example does not certify a consumer migration or establish universal usability. + +## Verification Contract + +Execute all adapted acceptance rows plus long text, empty content, relevant constraints and preferences, and every claimed input method. For a migration use the larger [Migration Readiness](consumer-migration-readiness.md) contract. Review these examples when an observed failure lacks an owner or recovery action. + +## Source, License, And Attribution + +Locally authored scenarios and expected-result tables. Repository links provide spatial and evidence contracts, not proof that these scenarios have run. + +## IA Navigation + +Parent: [Design Engineering](index.md). +Next: [Interface Craft Decisions](interface-craft.md). diff --git a/design-terminology/comparison-workflow.md b/design-terminology/comparison-workflow.md new file mode 100644 index 0000000..6447f19 --- /dev/null +++ b/design-terminology/comparison-workflow.md @@ -0,0 +1,98 @@ +--- +type: Domain Guide +title: Design Term Comparison Workflow +description: Resolve source-specific terminology questions with a scoped relation, explicit uncertainty, and a reusable handoff. +domain: design-terminology +lifecycle: experimental +provenance_kind: local +--- + +# Design Term Comparison Workflow + +Primary role: terminology lookup, authoring, and handoff route. + +## Repository Boundary + +This workflow answers what two named sources mean and how those meanings relate. Internal naming still belongs to [Controlled Vocabulary](../guides/vocabulary.md). Implementation behavior belongs to its owning domain. Document retrieval does not execute a structured terminology query. + +## Reusable Method + +1. Capture the exact question, both labels, intended audience, and comparison scope. +2. Identify each named source and [source kind](source-kinds.md). If either source is missing, report insufficient context. +3. Check [Recorded Sources](source-vocabularies.md) and open the direct term locators in [Term Cases](conflict-cases.md). +4. Record each label, concept, status, and version independently. Classify through [Concept Families](concept-families.md). +5. Select a [relation type](relation-types.md), direction, and non-trivial boundary. A composed-of relationship is not automatically subtyping. +6. Return the scoped result, term IDs, source recheck status, and a counterexample or missing observation. +7. For a new record, update the source inventory and term/relation tables, then run their validator and fixtures. + +## Decision Table + +| Situation | Result to produce | +| --- | --- | +| Identical labels, distinct meanings in two named sources | `same_label_different_meaning`, both meanings and the confusion risk | +| Shared region but source-specific features on both sides | `partial_overlap`, intersection and each side's difference | +| One form stores or consumes another concept | `implementation_representation`, representation first and the loss/addition boundary | +| Genuine set inclusion with a counterexample | `broader_than` or `narrower_than`, explicit direction | +| Meaning overlaps across versions or systems | `near_equivalent`, declared symmetry and the divergence axis | +| One source records a dated label replacement | `renamed_to`, same source and verifiable event | +| The proposed comparison uses incompatible axes | `not_comparable`, the axis mismatch | +| Source, scope, or meaning cannot be established | No relation recorded; say what evidence is missing | + +## Handoff Template + +```yaml +question: # the consumer's actual terminology question +term_ids: # exact identifiers from conflict-cases.md +relation_types: # closed types actually relied on +scope: # the recorded comparison scope +answer: # locally written scoped conclusion +boundary: # where substitution breaks +sources_rechecked: # date and source locators, or unverified +unknowns: # missing evidence, or none within the recorded scope +consumer_reference: not_applicable +consumer_reference_reason: This blank terminology template selects no consumer record. +``` + +## Worked Handoff + +Question: can a CSS custom property be called the same thing as an interchange token? + +Term identifiers: `css.custom-property`, `dtcg.token`. Relation type: `implementation_representation`, from the CSS representation to the token concept, in scope `token-to-css-output`. Answer: a custom property can consume a translated token value, but the runtime slot does not carry the full interchange record and can also store other values. Sources rechecked: the direct CSSWG and DTCG 2025.10 locators in [Term Cases](conflict-cases.md), 2026-09-08. Consumer reference: `not_applicable`, because this is a terminology explanation with no selected consumer record. + +This judgment does not prove any actual converter preserves aliases, types, or metadata. + +## Reader Verification Tasks + +| Task | Expected result | Failure signal | +| --- | --- | --- | +| Compare Figma and Carbon “Component” | Two source-specific records and `same_label_different_meaning` | One merged definition | +| Compare variable, token, and custom property | `partial_overlap` plus representation-first mapping | Equivalence or reversed representation direction | +| Compare the second DTCG draft with 2025.10 | Historical/current version scopes and no invented rename | Treating the draft as the current implementation contract | +| Compare “style guide” and “design system” without organizations | Insufficient context; request the two sources | Universal history or deprecation claim | + +These are expected lookup outcomes. A maintainer records actual reader task results and participant identity separately before claiming findability or promotion evidence. + +## Opinionated Guidance + +Resolve ambiguity explicitly; a qualified answer is more useful than an unsupported winner. Retain historical records with their own scopes when a current reading changes. + +## Platform-Specific Guidance + +Direct source authority is limited to its named platform, system, tool, or specification. A platform terminology comparison does not establish a target's support for the named feature. + +## Unsupported Absolutes + +Do not infer equivalence from an absent relation, source popularity, or shared spelling. A passing record validator cannot determine whether a semantic judgment is persuasive. + +## Verification Contract + +Verify table consistency mechanically and meaning against both sources. Run the reader tasks for an actual findability claim. Re-review when either source revises its term or a reader encounters an unresolved ambiguity. Stable promotion still requires the complete [domain promotion contract](index.md#promotion-to-stable). + +## Source, License, And Attribution + +Locally authored workflow relying on the term identifiers and relation types declared above. Named sources were rechecked through the direct locators in Term Cases on 2026-09-08. No upstream definitional prose is reproduced. + +## IA Navigation + +Parent: [Design Terminology](index.md). +Next: [Cross-System Term Cases](conflict-cases.md). diff --git a/design-terminology/conflict-cases.md b/design-terminology/conflict-cases.md index d4d80ea..e1765c1 100644 --- a/design-terminology/conflict-cases.md +++ b/design-terminology/conflict-cases.md @@ -1,7 +1,7 @@ --- type: Domain Guide title: Cross-System Term Cases -description: Typed-relation term records and three representative cross-system scenarios with non-equivalence boundaries. +description: Directly sourced terms and scoped relations for tool values, runtime representations, components, patterns, and historical formats. domain: design-terminology lifecycle: experimental --- @@ -18,75 +18,64 @@ This page applies the typed relation model to recorded term records and conflict 1. Name the sources in tension and the shared term. 2. Record each side as a term record with source, kind, concept, status, and scope. -3. Assign one relation type per pair per scope. +3. Assign one relation type per pair per explicit scope and declare its direction. 4. Write the non-equivalence boundary: where substitution breaks. 5. Stamp `reviewed_on`; re-verify when any involved source revises its term. ## Term Records -| Term | Source (kind) | Concept | Status | Scope | Reviewed on | -| --- | --- | --- | --- | --- | --- | -| `figma.variable` | Figma (`design-tool`) | named-design-value | current | file- or collection-bound | 2026-08-18 | -| `figma.mode` | Figma (`design-tool`) | theme-context | current | variable collection | 2026-08-18 | -| `figma.component` | Figma (`design-tool`) | tool-instance-model | current | file-bound | 2026-08-18 | -| `component.code` | Codebases (`design-system`) | ui-building-block | current | codebase | 2026-08-18 | -| `component.system` | Published system units (`design-system`) | published-ui-building-block | current | system-wide | 2026-08-18 | -| `dtcg.token` | DTCG Format (`specification`) | interchange-record | current | format-bound | 2026-08-18 | -| `css.custom-property` | CSS (`web-platform`) | runtime-value-slot | current | document/runtime | 2026-08-18 | -| `polaris.token` | Polaris (`design-system`) | published-design-value | current | system-wide | 2026-08-18 | -| `carbon.pattern` | Carbon (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | -| `polaris.pattern` | Polaris (`design-system`) | workflow-guidance | current | system-wide | 2026-08-18 | -| `stylegallery.pattern` | StyleGallery (`pattern-library`) | spatial-primitive | current | repository | 2026-08-18 | -| `primitive` (shared usage) | multiple systems | base-layer-input | current | per-system | 2026-08-18 | -| `hig.material` | Apple HIG (`platform-guideline`) | visual-surface-treatment | current | OS platforms | 2026-08-18 | -| `material.system` | Google (`design-system`) | system-collection-name | current | brand-wide | 2026-08-18 | -| `styleguide` (historical) | industry history | visual-style-governance | historical | org-wide | 2026-08-18 | -| `designsystem` (general) | industry usage | layered-system-collection | current | org-wide | 2026-08-18 | -| `foundation` (layer label) | Material, Fluent, Carbon, Polaris (`design-system`) | base-layer-label | current | per-system | 2026-08-18 | -| `variant` (`mode`/`state`/`theme`) | tool, code, tokens | theme-variant-context | current | per-surface | 2026-08-18 | +| Term | Label | Source (kind) | Concept | Status | Scope | Reviewed on | +| --- | --- | --- | --- | --- | --- | --- | +| `figma.variable` | Variable | [Figma](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes) (`design-tool`) | named-design-value | current | variable collection; dated help page | 2026-09-08 | +| `figma.mode` | Mode | [Figma](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes) (`design-tool`) | value-context | current | values selected within a collection | 2026-09-08 | +| `figma.collection` | Collection | [Figma](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes) (`design-tool`) | variable-organization | current | collection containing variables and modes | 2026-09-08 | +| `figma.component` | Component | [Figma](https://help.figma.com/hc/en-us/articles/360038662654-Guide-to-components-in-Figma) (`design-tool`) | tool-instance-model | current | reusable design object and its instances | 2026-09-08 | +| `dtcg.token` | Token | [DTCG](https://www.w3.org/community/reports/design-tokens/CG-FINAL-format-20251028/#design-token) (`specification`) | interchange-record | current | Format Module 2025.10 | 2026-09-08 | +| `dtcg.group` | Group | [DTCG](https://www.w3.org/community/reports/design-tokens/CG-FINAL-format-20251028/#groups) (`specification`) | token-organization | current | Format Module 2025.10 | 2026-09-08 | +| `dtcg.token.draft2` | Token | [DTCG](https://www.designtokens.org/tr/second-editors-draft/format/#design-token) (`specification`) | interchange-record | historical | Second Editors' Draft, 2022-06-14 | 2026-09-08 | +| `css.custom-property` | Custom property | [CSSWG](https://www.w3.org/TR/css-variables-1/#defining-variables) (`web-platform`) | runtime-value-slot | current | CSS Custom Properties Level 1 | 2026-09-08 | +| `carbon.component` | Component | [Carbon](https://carbondesignsystem.com/all-about-carbon/what-is-carbon/) (`design-system`) | published-ui-building-block | current | Carbon design and implementation resources | 2026-09-08 | +| `carbon.pattern` | Pattern | [Carbon](https://carbondesignsystem.com/patterns/overview/) (`design-system`) | workflow-guidance | current | Carbon patterns catalog | 2026-09-08 | +| `stylegallery.pattern` | Pattern | [StyleGallery](../layout/index.md) (`pattern-library`) | spatial-primitive | current | repository Layout corpus | 2026-09-08 | + +The external locators and local Layout contract were rechecked on the dates shown. Current status is bounded by the named source/version, not a promise about every later release. Concept labels are local classification summaries. ## Recorded Relations -| From | To | Type | Boundary | -| --- | --- | --- | --- | -| `figma.variable` | `dtcg.token` | `partial_overlap` | Exportable variables intersect the format; tool features such as modes exceed it, and not every variable is a portable token | -| `figma.variable` | `css.custom-property` | `implementation_representation` | Variables can bind to custom properties in codegen; the binding is a representation path, not semantic identity | -| `dtcg.token` | `css.custom-property` | `implementation_representation` | Custom properties are one serialization target for token values and also hold non-design values | -| `polaris.token` | `dtcg.token` | `implementation_representation` | The format is one representation of Polaris's published values; the system, not the format, owns the values | -| `figma.mode` | `variant` | `near_equivalent` | Modes, tool variants, component states, and token themes overlap as context switching but diverge in binding level | -| `figma.component` | `component.code` | `same_label_different_meaning` | Tool instance model versus shipped code unit; swapping definitions breaks handoff | -| `figma.component` | `component.system` | `same_label_different_meaning` | A tool construct versus a published system unit with API and support | -| `carbon.pattern` | `stylegallery.pattern` | `partial_overlap` | Both are reusable solutions above atomic controls; Carbon patterns are workflow guidance, StyleGallery patterns are spatial primitives | -| `carbon.pattern` | `polaris.pattern` | `near_equivalent` | Both name system-level workflow guidance with content and maturity differences | -| `carbon.pattern` | `component.system` | `broader_than` | Within Carbon, patterns compose components into flows; the containment is system-scoped | -| `primitive` | `foundation` | `near_equivalent` | Shared base-layer usage across systems with unstable extension: sometimes tokens, sometimes atoms | -| `hig.material` | `material.system` | `same_label_different_meaning` | HIG names visual surface treatments; Material names a design system; the shared label is coincidence | -| `styleguide` | `designsystem` | `partial_overlap` | Era- and org-scoped: a historical style guide governs visual style; a design system layers foundations, code, and governance; both labels coexist | -| `foundation` (Material) | `foundation` | `near_equivalent` | Near-equivalent layer labels whose contents each system decides independently | +| From | To | Type | Scope | Direction | Boundary | Reviewed on | +| --- | --- | --- | --- | --- | --- | --- | +| `figma.variable` | `dtcg.token` | `partial_overlap` | value-interchange | symmetric | Exportable design values overlap; Figma prototype values need not be tokens, while the format has composite structures not supplied by one scalar variable | 2026-09-08 | +| `css.custom-property` | `dtcg.token` | `implementation_representation` | token-to-css-output | directional | A custom property can consume a translated token value; it also holds non-design values and does not preserve the entire token record | 2026-09-08 | +| `figma.collection` | `dtcg.group` | `partial_overlap` | value-organization | symmetric | Both organize named values; a Figma collection includes modes, while a format group can nest groups and carry format-specific metadata | 2026-09-08 | +| `figma.mode` | `dtcg.group` | `not_comparable` | context-versus-containment | symmetric | A mode selects value context; a group organizes token records. Containment alone does not choose the active context | 2026-09-08 | +| `figma.component` | `carbon.component` | `same_label_different_meaning` | handoff-artifact-identity | symmetric | A reusable tool object and a system-published UI unit share a label; a design instance is not by itself the system's implementation contract | 2026-09-08 | +| `carbon.pattern` | `stylegallery.pattern` | `partial_overlap` | reusable-interface-guidance | symmetric | Both describe reusable interface arrangements; Carbon includes task sequences and flows, while StyleGallery Layout covers spatial constraints without those interaction contracts | 2026-09-08 | +| `carbon.component` | `carbon.pattern` | `not_comparable` | catalog-unit-subtyping | symmetric | Composition is not set containment: a workflow can use components without being a broader class whose instances include component instances | 2026-09-08 | +| `dtcg.token.draft2` | `dtcg.token` | `near_equivalent` | versioned-token-concept | symmetric | The named-value interchange concept overlaps; the 2022 draft and 2025.10 format have different conformance details, so historical files need version-specific validation | 2026-09-08 | -## Scenario A: Component vs Pattern +## Scenario A: Component Versus Pattern -Question: is a component a pattern; at what level do `primitive`, `component`, and `pattern` sit? +Query phrasing: `component versus pattern terminology`, `difference between component and pattern across design systems`. -Query phrasing covered: `component versus pattern terminology`, `difference between component and pattern across design systems`. +Distinguish Figma's design object from Carbon's published component before comparing either with a pattern. `figma.component` and `carbon.component` use `same_label_different_meaning`. Within Carbon, components participate in patterns; composition does not establish the set-theoretic `broader_than` relation. Carbon and StyleGallery patterns have `partial_overlap` within reusable interface guidance, with different behavioral boundaries. -Answer shape: per system, not universal. In Carbon, `pattern` is `broader_than` its components within Carbon's scope; `carbon.pattern` and `stylegallery.pattern` share the reusable-solution region only as `partial_overlap`; `primitive` is `near_equivalent` to foundation terms with an unstable extension. A merged one-line definition would erase these boundaries. +## Scenario B: Variable, Design Token, And CSS Custom Property -## Scenario B: Variable vs Design Token vs CSS Custom Property +Query phrasing: `figma variable design token custom property`. -Question: are Figma's `variable`, DTCG's `token`, and CSS's `custom property` the same thing? +These are different labels from three source kinds. Their relation is not the same-label case. `figma.variable` and `dtcg.token` have `partial_overlap`; `css.custom-property` → `dtcg.token` is `implementation_representation`, with the representation first. A tool-to-code binding requires a consumer-owned translation; it does not establish equivalence or guarantee a lossless round trip. -Query phrasing covered: `figma variable design token custom property`. This is the same-label different-meaning case. +## Scenario C: Historical And Current Token Formats -Answer shape: no single equivalence holds. The three terms come from different source kinds (`design-tool`, `specification`, web platform mechanism) with different concepts: named-design-value, interchange-record, runtime-value-slot. `figma.variable` → `dtcg.token` is `partial_overlap`; `dtcg.token` → `css.custom-property` is `implementation_representation`. Substitution breaks in both directions: tool modes do not survive export, and custom properties carry non-design values. +Query phrasing: `historical design token format`, `DTCG second editors draft versus 2025.10`. -## Scenario C: Style Guide vs Design System +The retained 2022 source describes a historical draft. The versioned 2025.10 source describes an intended-for-implementation format. Both remain records; a common label does not make their file contracts identical. The relation is `near_equivalent` for the concept, not `renamed_to`: the label did not change. Neither Community Group report is a W3C Recommendation. -Question: is a `style guide` the same as a `design system`? +## Scenario D: Style Guide Versus Design System -Query phrasing covered: `style guide versus design system`. +Query phrasing: `style guide versus design system`. -Answer shape: no; `partial_overlap` scoped by era and organization. The historical `styleguide` record carries `historical_scope`: org-wide visual governance, dominant before layered systems with code and tokens; `introduced_in`/`deprecated_in` are not globally datable because adoption is per-organization, which is exactly why the relation is not `renamed_to`. Named-source evidence: the four recorded design systems each publish foundations-plus-components-plus-guidance, which no cited historical style guide scope covers. +Result: insufficient context until an organization and dated source are named on both sides. “Industry history” cannot stand in for a specific historical style guide. Do not create a universal rename or deprecation event; request the two sources and then use the [Comparison Workflow](comparison-workflow.md). ## Opinionated Guidance @@ -108,13 +97,13 @@ When a case involves a platform guideline source, cite that platform's surface a ## Verification Contract -For each relation, verify both cited sources still use the recorded terms and meanings, the typed relation and boundary still hold, `reviewed_on` is current for the claim, and every case names at least two sources in tension. +Run `node scripts/validate-design-terminology.mjs --json` and its fixtures after editing. Verify both direct source locators, the comparison scope, direction, and boundary. The validator checks record shape and graph invariants; semantic accuracy still requires source review. Re-review when a named source changes the cited meaning. ## Source, License, And Attribution -This page is a locally authored relation record with locally written summaries. Cited sources remain authoritative for their own definitions; no upstream definitional prose is reproduced. +Locally authored summaries and judgments, with direct source links per term. Rechecked 2026-09-08: Figma variables/components, DTCG 2025.10 and second draft, CSS Custom Properties Level 1, Carbon system/pattern pages, and the local Layout hub. No source prose or code samples are copied. This is an author source review, not independent semantic approval. ## IA Navigation Parent: [Design Terminology](index.md). -Next: [StyleGallery Domains](../DOMAINS.md). +Next: [Design Term Comparison Workflow](comparison-workflow.md). diff --git a/design-terminology/index.md b/design-terminology/index.md index 56f10fb..a984e88 100644 --- a/design-terminology/index.md +++ b/design-terminology/index.md @@ -33,7 +33,7 @@ Promotion beyond `experimental` requires all of the following, each pass/fail ch ## Content Review Contract -Record consistency is enforced mechanically from v0.1 by `scripts/validate-design-terminology.mjs`, which parses the term and relation tables and rejects unknown types, unrecorded terms, empty boundaries, contradiction pairs, malformed dates, and orphan terms. Human semantic review is a **stable-promotion gate only**, not a merge gate for `experimental` content; it covers every term and relation (not a sample) against this checklist: +Record consistency is enforced mechanically from v0.1 by `scripts/validate-design-terminology.mjs`, which parses the term and relation tables and rejects unknown types, duplicate or unrecorded terms, missing source locators, empty boundaries/scopes, conflicting directions, containment cycles, impossible calendar dates, invalid temporal relations, label mismatches, and orphan terms. Source meaning and authority remain review judgments. Human semantic review is a **stable-promotion gate only**, not a merge gate for `experimental` content; it covers every term and relation (not a sample) against this checklist: - Is the source kind correct for each cited source? - Does each term description match what its source actually supports? @@ -47,6 +47,14 @@ The review result is recorded as: terms reviewed, relations reviewed, counts of This domain is a working method template: consumers may fork it and re-record their own sources, terms, and relations. Forked records are consumer-owned and never feed values back into StyleGallery. +## Start Here + +| Task | Route | +| --- | --- | +| Resolve a source-specific question and produce a scoped handoff. | [Design Term Comparison Workflow](comparison-workflow.md) | + +These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract. + ## Available Guides - [Design Source Kinds](source-kinds.md) classifies what kind of thing a vocabulary source is before its terms are read. @@ -62,4 +70,4 @@ This domain is a working method template: consumers may fork it and re-record th ## IA Navigation Parent: [StyleGallery](../index.md). -Next: [Design Source Kinds](source-kinds.md). +Next: [Design Term Comparison Workflow](comparison-workflow.md). diff --git a/design-terminology/relation-types.md b/design-terminology/relation-types.md index cf6bbc3..a4e1708 100644 --- a/design-terminology/relation-types.md +++ b/design-terminology/relation-types.md @@ -47,7 +47,9 @@ A relation record is invalid when any of the following holds: - Either term lacks an official, named source. - The boundary field is empty or restates the type without adding scope. -These rules are the human contract for v0.1; when the structured registry lands, they become validator rules unchanged. +The Markdown validator enforces unique source-qualified term IDs, direct source locators, actual calendar dates, explicit scope and direction, identical labels for `same_label_different_meaning`, temporal status/event requirements, inverse consistency, and acyclic containment within each scope. It ignores fenced examples and HTML comments. Locators must be HTTPS or existing repository documents; the validator does not authenticate source ownership or evaluate semantic truth. + +The term table has seven columns: identifier, label, source/kind with direct locator, concept, status, scope, and reviewed date. The relation table has seven: from, to, type, scope, direction, boundary, and reviewed date. Scope is a non-empty kebab-case comparison identifier. One directed pair has one relation per scope; a separately recorded inverse must agree. Symmetric types use `symmetric`; representation, containment, and temporal relations use `directional`; `near_equivalent` declares either explicitly. Self-relations are invalid. Boundaries must contain a substantive sentence; a length check can reject blanks but cannot establish semantic adequacy. ## Term Record Shape @@ -55,18 +57,22 @@ These rules are the human contract for v0.1; when the structured registry lands, term_id: figma.variable label: Variable source: figma # named source from source-vocabularies +source_url: https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes source_kind: design-tool # from source-kinds concept: named-design-value status: current # current | deprecated | historical | unknown scope: file-or-collection-bound -reviewed_on: 2026-08-18 +reviewed_on: 2026-09-08 relations: - target: dtcg.token type: partial_overlap + scope: value-interchange + direction: symmetric + reviewed_on: 2026-09-08 boundary: > - Some tool variables export as interchange tokens, but tool features - such as modes exceed the format, and not every variable is a - portable design token. + Exportable design values overlap; prototype values need not be + tokens, and one scalar variable does not provide every composite + structure in the 2025.10 format. ``` In v0.1 this shape is authored as the Markdown tables in [Cross-System Term Cases](conflict-cases.md). A machine-readable registry holding terms, concepts, sources, and relations is a prerequisite for promoting this domain beyond `experimental`; until then Material v2 answers document search only, not structured crosswalk queries. @@ -95,7 +101,7 @@ Every recorded relation names two term records, one type from the closed set, a ## Source, License, And Attribution -This page is a locally authored model. Cited sources remain authoritative for their own definitions; no upstream prose is reproduced. +This page is a locally authored model. The illustrative `figma.variable` and `dtcg.token` relation uses `partial_overlap`; its named sources were rechecked on 2026-09-08 as recorded in [Term Cases](conflict-cases.md). No upstream prose is reproduced. ## IA Navigation diff --git a/design-terminology/source-vocabularies.md b/design-terminology/source-vocabularies.md index 4839b97..2c87c0d 100644 --- a/design-terminology/source-vocabularies.md +++ b/design-terminology/source-vocabularies.md @@ -31,10 +31,24 @@ This page inventories the named sources whose terms this domain records, with th | [Fluent 2](https://fluent2.microsoft.design/) | Microsoft | `design-system` | `foundations`, `components`, `patterns`, tokens | Living site; reviewed page set | current | 2026-08-18 | | [Carbon](https://carbondesignsystem.com/) | IBM | `design-system` | `foundations` including tokens, `components`, `patterns` | Living site; reviewed page set | current | 2026-08-18 | | [Polaris](https://polaris.shopify.com/) | Shopify | `design-system` | `foundations` including design tokens, `components`, `patterns`, `icons` | Living site; package versions for code | current | 2026-08-18 | -| [Design Tokens Format](https://tr.designtokens.org/) | W3C Design Tokens Community Group | `specification` | `token`, `group`, `alias` data model | Specification draft version | current | 2026-08-18 | +| [Design Tokens Format](https://www.w3.org/community/reports/design-tokens/CG-FINAL-format-20251028/) | Design Tokens Community Group | `specification` | `token`, `group`, `alias` data model | Format Module 2025.10; Community Group report, not a W3C Recommendation | current | 2026-09-08 | | [Figma](https://help.figma.com/hc/en-us) | Figma | `design-tool` | `variables`, `modes`, `components` as tool constructs | Product and help-center version | current | 2026-08-18 | -All entries cite official first-party URLs (`authority: official`); `retrieved_on` equals `reviewed_on` for this revision. +All entries cite official first-party URLs (`authority: official`); `retrieved_on` equals the corresponding `reviewed_on`. Entries retaining 2026-08-18 are prior bounded readings, not rechecked claims for the current session. + +## Direct Sources For Current Term Records + +The [Term Cases](conflict-cases.md) use this narrower source set, rechecked 2026-09-08. Locators in the term table point to the exact document or section, not a general vendor home page. + +| Named source | Source kind | Reviewed surface and version | Re-review trigger | +| --- | --- | --- | --- | +| Figma | `design-tool` | [Variables, collections, modes](https://help.figma.com/hc/en-us/articles/14506821864087-Overview-of-variables-collections-and-modes) and [components](https://help.figma.com/hc/en-us/articles/360038662654-Guide-to-components-in-Figma); dated help pages | Tool data model or cited help meaning changes | +| DTCG | `specification` | [2025.10 Format](https://www.w3.org/community/reports/design-tokens/CG-FINAL-format-20251028/) and [Second Editors' Draft, 2022-06-14](https://www.designtokens.org/tr/second-editors-draft/format/) | A comparison changes version; retain the historical scope | +| CSSWG | `web-platform` | [CSS Custom Properties Level 1](https://www.w3.org/TR/css-variables-1/#defining-variables) | The cited runtime-value definition changes | +| Carbon | `design-system` | [What is Carbon](https://carbondesignsystem.com/all-about-carbon/what-is-carbon/) and [patterns overview](https://carbondesignsystem.com/patterns/overview/) | Component or pattern scope changes | +| StyleGallery | `pattern-library` | Local [Layout hub](../layout/index.md) and its repository contract | Layout ownership or pattern contract changes | + +The DTCG 2022 reading is historical evidence of a draft, not an implementation recommendation. A direct locator and a recorded reading establish provenance for the local summary; independent semantic approval remains separate. ## Freshness Policy @@ -42,7 +56,7 @@ Every recorded source carries: `source_url`, `source_kind`, a version boundary ( ## Reading The Inventory -- Four of the seven sources are design systems; HIG is a platform guideline, DTCG is a specification, Figma is a tool. Horizontal comparison is valid only within a kind, or through typed relations with boundaries. +- Four of the seven broad browse sources are design systems; HIG is a platform guideline, DTCG is a specification, Figma is a tool. Horizontal comparison is valid only within a kind, or through typed relations with boundaries. - `foundations` labels are near-equivalent as layer names, but each system decides what the layer contains. - The DTCG row records an interchange format, not a published token set. - Dates above are the reading bound; any later restructure is new evidence, not a back-fill. diff --git a/examples/domain-interactions/README.md b/examples/domain-interactions/README.md new file mode 100644 index 0000000..6d7459d --- /dev/null +++ b/examples/domain-interactions/README.md @@ -0,0 +1,72 @@ +--- +type: Worked Example +title: Domain Interaction Lab +description: Executable browser examples with local, source-bound observations for state, interruption, recovery, and keyboard behavior. +--- + +# Domain Interaction Lab + +This standalone browser example applies the [component contract](../../design-engineering/component-contract.md), [Motion recipes](../../motion/interaction-recipes.md), [Game UI verification](../../game-ui/verification-workflow.md), and [platform target matrix](../../platform-guides/compatibility-matrix.md). Product implementation belongs to Design Engineering; the inventory and reward scenarios are web adaptations of Game UI tasks. No native engine project is implied. + +The lab has five sections: explicit save, search/detail, nested inventory dialogs, reward reveal, and disclosure/range input. Responses are manually resolved in the interface so failures and out-of-order completion are reproducible. Data exists only in memory and resets on reload. + +## Run + +From the repository root, start a loopback-only static server on an available port: + +```sh +python3 -m http.server 0 --bind 127.0.0.1 --directory . +``` + +Open `/examples/domain-interactions/` on the printed address. No build, service account, dependency installation, or real purchase is required. + +## Repeat Browser Verification + +Follow the repository's `aside-browser` skill, including `aside guide` and `aside guide repl`. Start `aside repl`, inspect existing tabs, and open this example if it is not already open. Read `snapshot(page)` before running [the QA source](qa.aside.js). + +Inside the REPL, with the interaction lab selected: + +```js +const qaBase = page.url().replace(/[?#].*$/, ""); +const qaSource = await (await fetch(qaBase + "qa.aside.js")).text(); +await eval("(async () => {" + qaSource + "\n})()"); +``` + +This executes the repository-authored QA source in Aside's browser session. It uses visible controls and keyboard/pointer events, reads a fresh snapshot after each action, and records expected and actual DOM states. Only the RTL content fixture changes document direction directly. Viewport and media-preference overrides use the tab's Aside CDP connection and are cleared on completion. The report and viewport screenshots are saved in the printed Aside `artifacts/domain-interactions-*` directory. + +Before recording a new run after a source change, update [sources.json](evidence/sources.json) with the SHA-256 and byte length of the four named files. It is a working-tree source snapshot, not an immutable Git capture receipt. Keep the browser report with the exact source version it tested; do not silently relabel old observations after changing code. + +## Acceptance Coverage + +| Concern | Executed scenario | +| --- | --- | +| Save state | Submit A, edit B, ignore duplicate Enter, confirm A, fail/retry B, validate empty input | +| Search identity | Submit A then B, resolve B first, ignore late A, remove selected result, recover from empty/failure | +| Navigation | Select detail, resize, return to the invoking result, browser history forward | +| Modal ownership | One Escape closes one layer, Tab/Shift+Tab stay in the top dialog, repeated open/close restores focus | +| Delayed equipment | Request A, select B, close the view, resolve A, reopen with B selected and A equipped; failure retains equipment | +| Reward lifecycle | Grant once before reveal, skip without another grant, switch reduced motion during reveal, start with reduced motion | +| Native controls | Enter/Space disclosure, arrow-key range input, pointer preview followed by Escape and release | +| Content and surface | 320/375/768/1024/1440 CSS-pixel widths, 300-character unbroken Korean content, RTL at 320 | + +## Evidence Boundary + +[Verification notes](verification.md) identify the observed runtime, results, fixes, artifacts, and missing coverage. These are local observations of this example. Mock response controls do not prove a backend, real persistence, commerce, network cancellation, or game-engine teardown. Automated keyboard and pointer events do not prove manual human usability or assistive-technology announcements. + +The smaller viewports run inside the Mac browser; they are not Android/iPhone hardware tests. The existing immutable consumer-reference evidence, lifecycle records, v1 trust records, and domain promotion state remain separate. Example code and artifacts are excluded from material admission and the npm package. + +## Implementation Handoff + +- `consumer_reference: consumer-reference/agent-native/registry.json` +- Owning domain: Design Engineering product example, with explicit Motion and Game UI adaptations and Platform Guides verification axes. +- Semantics: native forms, labels, buttons, details/summary, range/radio inputs, and dialog elements. +- Spatial owner: example-local CSS; normal document scroll, modal overflow owned by the open dialog. +- Constraints: `65rem` content maximum, `40rem` list/detail change point, intrinsic wrapping, `90dvh` modal maximum. +- Product presentation: local colors, focus outline, and optional opacity feedback; no new reusable Layout pattern or visual defaults. +- Source identity: individual file hashes in `evidence/sources.json`; uncommitted working tree explicitly declared. +- Terminology records: no design-terminology term/relation records are used by this implementation. + +## Navigation + +Parent: [Design Engineering worked examples](../../design-engineering/worked-examples.md). +Next: [Verification notes](verification.md). diff --git a/examples/domain-interactions/app.mjs b/examples/domain-interactions/app.mjs new file mode 100644 index 0000000..7c2df36 --- /dev/null +++ b/examples/domain-interactions/app.mjs @@ -0,0 +1,276 @@ +// The example owns its product state. No profile or Layout source is mutated. +const byId = (id) => document.getElementById(id); +const motion = matchMedia("(prefers-reduced-motion: reduce)"); +const animations = new Set(); +function present(element) { + if (motion.matches) return; + const animation = element.animate([{ opacity: .4 }, { opacity: 1 }], { duration: 240 }); + animations.add(animation); + // Cancellation is expected, including a preference change during playback. + animation.finished.catch(() => {}).finally(() => animations.delete(animation)); +} +function motionChanged() { + byId("motion-preference").textContent = motion.matches ? "Motion: reduced. Status changes immediately." : "Motion: normal. Status changes immediately."; + if (motion.matches) { + for (const animation of animations) animation.cancel(); + finishReveal(); + } +} + +// Draft, submitted snapshot, and persisted value have different owners. +let persisted = "Original"; +let saveRequest = null; +let saveError = ""; +function renderSave() { + const dirty = byId("draft").value !== persisted; + byId("save").disabled = Boolean(saveRequest) || !dirty; + byId("save-success").disabled = !saveRequest; + byId("save-failure").disabled = !saveRequest; + byId("persisted").textContent = persisted; + byId("save-error").textContent = saveError; + byId("save-status").textContent = saveRequest + ? `Saving “${saveRequest.value}”.${byId("draft").value !== saveRequest.value ? " Later edits are unsaved." : ""}` + : dirty ? "Unsaved changes." : "All changes saved."; +} +byId("draft").addEventListener("input", () => { + saveError = ""; + byId("draft").removeAttribute("aria-invalid"); + renderSave(); +}); +byId("save-form").addEventListener("submit", (event) => { + event.preventDefault(); + if (saveRequest || byId("draft").value === persisted) return; + if (!byId("draft").value.trim()) { + saveError = "Enter a display name."; + byId("draft").setAttribute("aria-invalid", "true"); + renderSave(); + byId("draft").focus(); + return; + } + saveError = ""; + saveRequest = { value: byId("draft").value }; + renderSave(); +}); +function resolveSave(ok) { + if (!saveRequest) return; + if (ok) persisted = saveRequest.value; + saveError = ok ? "" : "Save failed. Your draft is retained; try again."; + saveRequest = null; + renderSave(); + present(byId("save-status")); +} +byId("save-success").addEventListener("click", () => resolveSave(true)); +byId("save-failure").addEventListener("click", () => resolveSave(false)); + +let searchSequence = 0; +let selectedResult = null; +let results = []; +const narrow = matchMedia("(max-width: 40rem)"); +function renderSelection({ focus = false } = {}) { + const item = results.find(({ id }) => id === selectedResult); + byId("detail").hidden = !item; + byId("search-panes").dataset.view = item ? "detail" : "list"; + if (item) { + byId("detail-heading").textContent = item.label; + byId("detail-description").textContent = `Details for ${item.label}. Query and selection survive window resizing.`; + if (focus) byId("detail-heading").focus(); + } +} +function selectResult(id) { + selectedResult = id; + history.pushState({ result: id }, "", `#result=${encodeURIComponent(id)}`); + renderSelection({ focus: true }); +} +function renderResults() { + const hadResultFocus = byId("results").contains(document.activeElement) || byId("detail").contains(document.activeElement); + byId("results").replaceChildren(...results.map((item) => { + const li = document.createElement("li"); + const button = document.createElement("button"); + button.textContent = item.label; + button.dataset.result = item.id; + button.addEventListener("click", () => selectResult(item.id)); + li.append(button); + return li; + })); + if (selectedResult && !results.some(({ id }) => id === selectedResult)) { + selectedResult = null; + history.replaceState(null, "", location.pathname); + byId("search-status").textContent += " Previous selection is unavailable."; + } + renderSelection(); + if (hadResultFocus) (selectedResult ? byId("detail-heading") : byId("query")).focus(); +} +function returnToResults() { + const previous = selectedResult; + selectedResult = null; + renderSelection(); + const button = [...byId("results").querySelectorAll("button")].find((node) => node.dataset.result === previous); + (button || byId("query")).focus(); +} +byId("back-results").addEventListener("click", () => { + // An in-session detail entry has a known parent. Direct entry stays local. + if (history.state?.result) history.back(); + else returnToResults(); +}); +window.addEventListener("popstate", (event) => { + if (event.state?.result && results.some(({ id }) => id === event.state.result)) { + selectedResult = event.state.result; + renderSelection({ focus: true }); + } else returnToResults(); +}); +narrow.addEventListener("change", () => { + if (narrow.matches && selectedResult && byId("search-list").contains(document.activeElement)) byId("detail-heading").focus(); +}); +byId("search-form").addEventListener("submit", (event) => { + event.preventDefault(); + const query = byId("query").value.trim(); + if (!query) return; + const request = ++searchSequence; + byId("search-status").textContent = `Searching “${query}”.`; + const controls = document.createElement("div"); + controls.className = "actions"; + for (const outcome of ["results", "empty", "failure"]) { + const button = document.createElement("button"); + button.textContent = `Resolve ${request} (${query}): ${outcome}`; + button.addEventListener("click", () => { + controls.remove(); + if (request === searchSequence) { + if (outcome === "failure") { + byId("search-status").textContent = `Search “${query}” failed. Previous results retained; retry the search.`; + } else { + results = outcome === "empty" ? [] : [1, 2].map((n) => ({ id: `${request}-${n}`, label: `${query} · ${n}` })); + byId("search-status").textContent = results.length ? `Results for “${query}”.` : `No results for “${query}”. Try another query.`; + renderResults(); + } + } + // Removing a focused response control must leave a useful focus target. + byId("query").focus(); + }); + controls.append(button); + } + byId("search-responses").append(controls); +}); + +// Session data outlives either modal view; responses target captured identities. +let selectedItem = "A"; +let equippedItem = null; +let equipTarget = null; +let equipRequest = null; +let equipMessage = "Equipped: none."; +const inventory = byId("inventory-dialog"); +const decision = byId("equip-dialog"); +for (const dialog of [inventory, decision]) dialog.addEventListener("keydown", (event) => { + if (event.key !== "Tab" || (dialog === inventory && decision.open)) return; + const controls = [...dialog.querySelectorAll("button, input, [tabindex]")].filter((node) => + !node.disabled && node.tabIndex >= 0 && node.getClientRects().length + && (node.type !== "radio" || node.checked)); + const destination = event.shiftKey ? controls.at(-1) : controls[0]; + const boundary = event.shiftKey ? controls[0] : controls.at(-1); + if (destination && (document.activeElement === boundary || !dialog.contains(document.activeElement))) { + event.preventDefault(); + destination.focus(); + } +}); +function renderInventory() { + byId("equipment-status").textContent = equipMessage; + byId("equip-success").disabled = !equipRequest; + byId("equip-failure").disabled = !equipRequest; + if (!inventory.open) return; + byId("inventory-status").textContent = `Selected: ${selectedItem}. Equipped: ${equippedItem || "none"}.${equipRequest ? ` Pending: ${equipRequest.item}.` : ""}`; + byId("equip-item").disabled = Boolean(equipRequest); +} +byId("open-inventory").addEventListener("click", () => { + inventory.showModal(); + renderInventory(); + inventory.querySelector("input:checked").focus(); +}); +for (const radio of inventory.querySelectorAll("input[name='item']")) radio.addEventListener("change", () => { + selectedItem = radio.value; + renderInventory(); +}); +byId("equip-item").addEventListener("click", () => { + equipTarget = selectedItem; + byId("equip-title").textContent = `Equip item ${equipTarget}?`; + byId("equip-status").textContent = "This changes the equipped item."; + byId("confirm-equip").disabled = false; + decision.showModal(); + byId("cancel-equip").focus(); + present(decision); +}); +function closeDecision() { + decision.close(); + if (inventory.open) inventory.querySelector("input:checked").focus(); +} +decision.addEventListener("cancel", (event) => { event.preventDefault(); closeDecision(); }); +byId("cancel-equip").addEventListener("click", closeDecision); +function closeInventory() { + if (decision.open) decision.close(); + inventory.close(); + byId("open-inventory").focus(); +} +inventory.addEventListener("cancel", (event) => { event.preventDefault(); closeInventory(); }); +byId("close-inventory").addEventListener("click", closeInventory); +byId("confirm-equip").addEventListener("click", () => { + if (equipRequest) return; + equipRequest = { item: equipTarget }; + equipMessage = `Equipment request pending: ${equipTarget}.`; + byId("confirm-equip").disabled = true; + byId("equip-status").textContent = "Pending. Closing this view does not cancel the operation."; + renderInventory(); +}); +function resolveEquipment(ok) { + if (!equipRequest) return; + if (ok) equippedItem = equipRequest.item; + equipMessage = ok ? `Equipped: ${equippedItem}.` : `Equipment request failed. Equipped: ${equippedItem || "none"}. Reopen inventory to retry.`; + equipRequest = null; + renderInventory(); +} +byId("equip-success").addEventListener("click", () => resolveEquipment(true)); +byId("equip-failure").addEventListener("click", () => resolveEquipment(false)); + +let rewardGranted = false; +let revealTimer = null; +function finishReveal() { + if (revealTimer !== null) clearTimeout(revealTimer); + revealTimer = null; + if (rewardGranted) byId("reward-status").textContent = "Reward received."; + // Keep focus useful when a focused skip command becomes unavailable. + if (document.activeElement === byId("skip-reveal")) { + byId("reward-status").tabIndex = -1; + byId("reward-status").focus(); + } + byId("skip-reveal").disabled = true; +} +byId("claim-reward").addEventListener("click", () => { + if (rewardGranted) return; + rewardGranted = true; + byId("claim-reward").disabled = true; + byId("reward-count").textContent = "Rewards granted: 1"; + byId("reward-status").textContent = "Reward received. Revealing…"; + byId("skip-reveal").disabled = false; + if (motion.matches) finishReveal(); + else { + present(byId("reward-count")); + revealTimer = setTimeout(finishReveal, 1500); + } +}); +byId("skip-reveal").addEventListener("click", finishReveal); + +const position = byId("position"); +let committedPosition = position.value; +position.addEventListener("input", () => { byId("position-status").textContent = `Preview position: ${position.value}. Committed: ${committedPosition}.`; }); +position.addEventListener("change", () => { + committedPosition = position.value; + byId("position-status").textContent = `Committed position: ${committedPosition}`; +}); +position.addEventListener("keydown", (event) => { + if (event.key !== "Escape") return; + event.preventDefault(); + position.value = committedPosition; + byId("position-status").textContent = `Committed position: ${committedPosition}`; + position.blur(); + position.focus(); +}); +motion.addEventListener("change", motionChanged); +motionChanged(); +renderSave(); diff --git a/examples/domain-interactions/evidence/detail-375.png b/examples/domain-interactions/evidence/detail-375.png new file mode 100644 index 0000000000000000000000000000000000000000..0275cb89173aaa735b63ebd871c17f693efecde1 GIT binary patch literal 106435 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

=M(GG^y&J%a6+Y#j6nzA$k$fho)+?QuO|5MLk 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

g8(_t>s6LBoxt5by5 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 scmAk>MhLQ|9mAa+ACpmX>$#*3~g2BrGw| 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

V9?>a@?L_4+6nN)O-H zv9KT!lSyb#DTmni6tPog9x|_#okM^E0T7vO?p-;g>xq^v%qFK+SGU!q@SN<8I=)_h zzLSaEl-KOkLI&j|$4_P^_mlmapYLA)|J|LNLx7giG7p?|`N$vSnAwjfsX!{4wX4}Y zId(X)VUa#R!gyWiskLfViml@_neUN#1^wIOeH=2)11CHzq5(GA!|$W;DgrameOYA7 zMuZ}RQ9(h$j->v28=GT1!wG!a}lR>Qz7gD-S_Tx`8qP5zgU3GIeV6{hMFZO8=G9? zSAEP&=}NTsTVAr4m4(oMd2yW<85?B6bz3DcXuM7o$1d;=jmbW@7Oj2&`GTHeBXjMtm|IKSb9Y_s?3O?$cq~LP5n*Y9 zo@EAt+>X~L#Gsd$;uUAT;%o>w%l3irSr+9^tvyh(bj9H2!;&D_?jP55gOc|e8#Ohx z(rP!e@(TA}nDCc|hDHeDB7bBV$F74`_t=8pI@D;~>?ji&vOC{3US_h_4J6dcO1Y!2 zzM`BcE*Rz&6>N>*E+928GqUB9j@GQ)mnFz z=^=zdy`T9{v5=8cx$*omrxkH4P;q9?DbLBlEbesn_d7e@)Z^cvGE~3A%3@(**29X* zyDE`8TEAB(j^Ww@+&g&@uC9W`r(@l*#zRp_va#HxFW2iBV_&ixUL`%K(P6D5zfEKa zB7;jPTqG^>6M&o&8kcD){i<57CsL00>B^{lYVi75gK3sIVZeCSpBzI&eMP36@WoS9uw?Z~@5f-Y}7y3ZLs+IW;1c)DdU8+Sm(D0R2)tSDes>twW}Ym^0wb zAbWBBIS9jtNV(|p8*|4AF%qYFh1!2;eme7O^A*tZ<4weWgX;-IHrUN2-{qHhuf^$? zUx`klE9P^Wi1d*t>lOjLDWfa-+)s_nGlyhko<0n_9`)MlTN7l815n$=)`J}3KzIL^ zn?FK0CBv_fEnFf+9mC@w4?4R)J8NXUsj00Eu0yKE;_e6@ z7mMGC?P1v=MywD+x(j+tSZh~xp|=qDElLY5EEdbk>@fjIkDU!6I#3Y*%M$pxODM0i zDMTPQhjYae_CT?6((Hs!=8qrEjm=)8&hHEv5B0;|fnuzeITqE=#l^i%YRyjG8v-a8 z>MQ%dIBzT8cDukU`CWm4W(+C!N~sEydVD-hwz-AuEvW*0(HYDN<^F{q>tZE&VUkadz!7=XG3G7qY-@jCJ;`{ zDbRNsvcGwnzEaKm{8H%Y$mFKs6C;EQ?B+&|qCj1ZE%b0RwZk5{lEQhg62r~Ig~KC= zlM`b>8#qtQPH#*HyU=gF}5GzIBHGfd5W#K@9H zP`*yxOo^xxqn5+3{Hxj^;vJ`)Th!omnjm-Er>rRbB$c{m_Kx}Rm)W#A=9`=`Qb-;y z!(XkV_swobO+uu$%{`AsBMeW8>dlbLm26S4Y5(%|8tGga3S*13rL=$Va@PG9 zWo?QvRme1EX#gl)(4+%FV0ZgC2#X_%$wOLZL{2^EBWE<<<2-8Q<9!_5_4YZ2K06=? zRKKv&waU(T>qB0BQs<<{O0f(ZWFAG_EiJHJPnQZrgU7MkstCl0uL);GPwLAKv^VkkK1E1wnjHgs5=T0+@%U`CU8aElOpmf2cUTc(ONLjzp}~Uv z?zf4zT-@yPOx#xjCQ4bBY^$o?f_696yO&SHRg=52QXynM;;R_3EU_ha2x6MR7i45- zys^fDmn<+?Pi5Qo!$2Un+=c~n=~CELpJz@pCh;bEC2s3A^-?W+a4F zHMuFr2b0JKTZgnxWCA8#R!>1DDku7 z{{VAXL-d^OyYi?&SEylUV94-NNgf+AX=S1cR!Bu+e0wtdv?ysw;u0;Nx2GsF1PPS| ze8}o=`yAIc7T0=QG`XCr|7S|I%Z#=TO8AntwD9b^+mu(Y@S7j^2@fJu9w$s?obE`m zlb-d97ZwP%A1t0UV%0Ijow-Ggn+p?gLiy-9WTA9280r<@7&5vp$6nBT5}i8+&e5W7MteB(y5w^e5MkYH+SA-F*xWOA)cpn+h`*Y zQV_Q7Ne<{?s3(&a!S1cM0GhH#05$_E+1fgiWaH28t@wy6E|q!G#K^RBdQ8ycCu8@5 zV2l0$hW!3U@YxaEjtG8cjFhoh&?<=`$#gXVCra3%e-borVT$_i2{+$-Xk#UElHu$Q=|#7?oeo43Uy#r1nGL)!E{KZ1kT;fYIaKYw#s zfxndfqu~8(WI_mL7Ibk9)eNdBmXyGR3t0a+Ot8EI**{SDwi@J*G7?2VBjk;q6= zHtWFH{k~W~7nCDnd9cW)o~EmA${Ihfv!8~?jNk^kyOnJX2p|R(_gSq}OOADdkKU!T z-z7;hSn9-a0Q``Bn;=H5MV|eMtf-Wly3*7Zx3xXV6x9YN9zTuM1gM1ApczGukCt2y zYVwyIq`DG2OG$Ode#;;?BOLg}vMG5bMcD<#d7L5~LLB=q(32UFz_B$j&t_NLutfOE zDjs%y4u*_~h*d`iKUyY>LhP20F#^@N%#=Hfn(E4Bs`qHK7$GcnHB3ZZON~$u%o=h) ziVbu_qw!V5vD9aJt=9Wj(ii9^#P*MrRc8!-_iH*zv{JFS7#iBcZFor~1{Hx=bsod) z2UIPLQ6SdiQF{omp+Bbx^xGM3PEJecfu}kbzwXsDzh@A_t zAlrbZyss^CGc+;%j~&nK4aqLw$uz^^QSO*{ix|X4pRC_U9Xx)2L`3@!16i^ixjf%- zdE36XKjrj2jXRS!jF3>K4L!FUfsc3MwVqh~1c6V_WWVK4y18FNh8x}zDGu+MI!?4Q zbk5vj`RT{uQtr~M9Cz~XjOam)sMw+5!FNF5HMVi#+0&Rkr$$sx4NSd}s{n+L-dlGgNMB+;*Zg=eFQTHq$KzYvZ$I6eK;hM3BF;0EA9G&mll6-H zMj$;OhJh0iQCOop&^`zhezZIPvj>ox8J`v&JH;c~wki!%bHCx>L+K4KbCGBS6@xo= z0#3c3vI*PbOoJD^G~(fhzA7DztJ_a@@H8GCmtd;~bb)lg0VA>$xIjH}6^4`tuqD(3 z6n|cQzk-GpLimlWZF{D2E?C?~(gYf1YifB##R_`+8GJLS|LEZ`v!sS|4CiHx+e zOL$W4DQON7?H%>C@EO+t2I4`q51$BYnyy4?6`B6`?*;uYELmUFP*wYj1;D-kKhOse zCxTf%a`%IY*66k*x-3xiB=ymw2`4cAT5=gLj>z3nT~*IijqRnpt$d;62KR-FSR} zqi+tsCVfK~?0b}j*kK8$M@oKXc9NNiXqJ~S@QS0ywq0DDx;r~BhJ32}cVw9BWAJ;A3Bx-@#D9S>HbE%B zqoGOtmJ>k*#Snj9UxR*nc#_e-yB2r!7!maum{@)q3%1PGuS6_9beUNRiHXX8fAaO) zFGoq}Uw+lMcuek5r$A);a2S618m$F7YxHMe&WDJI;?l}?BE$&LSJ>DB+y7pIx3IIj zJ48t_L`5;hTjjnGniCQ1PD)<^7sDr8$dn47rT+f`=V1^3c!8-2lIPd-@j)|d( zq4`_aKt%O!eqsLA!hGs06XrCN)YMmbl|&-3Ux^H44z+p^en>A!r+UxT?RIJ^^X;@L z70!Jm=fU+~@3RRYA0Hxmz27|2QajS)0=t2`i72;lzH}4{p{Y3-d`saHtEQ@oO46U3Z(VgdumZCu>Khs& zgFNMQbTa$PDl0{8bj{5(Oh`g&n_5~_ESr!c?vXJu=B#1nd&4g1XzTi0e#>JEnW&h% zx^MWBBGTLb2OQLFq#%?ARGT`Tjg zTTbY*t*9R>n>{)LI~&ms!}pLV8^b88njHNGkT@c|`0pehjQ_R$q!)!YjCOk_7Qxy8 z)O+Nx^Q)QWXeEu=p^~lcbd6ZowYt1KPLOfnXc1h`X<${bY}(sdkIq~nJR*l-r%>99 z7cOX8*WFB=GcVtn{{AHF_MdCmKK-+YXMZ|x&R@KAX}UfF=o_hYD;pb8M)Ca~K*tf@ z8nihjJ@XQGp(!cWJt8)i_Uu_*oDpWRFEo;Hd-39aYnz)|Mb=YQWFn^8y0CJegx>jV z_xCQY{j-jqXO?05KTFW0yvES;@TgFVRr9GCR(hVChCXzAt(x0iDms2wIK(vw*CQle z6lC~r0?jU~|HDP*zenio*FXQV%+e?@?Sor{WDJj4|K!4g08EU>5n?IZ(kEf8YsRpq zVFt~5CtJnHsPDb-EGT_h7l^{+2D089o!;NuYplg$1}u=KeJ^yz=jNQILR3r|LTdxD zAF24{HJV#mVmS=`b-f_TO-3WAdI?q}9${=j;RhzL7-d#Sp<{#2>c z`b!aGW8?O1WqT9mHVR904|WtR76jpZ44Y@B`ztjFz?q!{)eE3x>!T6T{KKc3-FS!Hq0WJj59 z-MUA+&@6!NJkOhxo7==Jxcck-xn`Y0%Q3DV%^;wPg=K1$C~Fjsc~jCjjvnHpAR{B2 zV&}^=jB%=Y#_PW4NJ|@gky-gmnr;iOgU+9~^3zW_Ik{DMm;`1B0OFV_Yx^8SwNJ9d zq*RVALR%lH1-eVuVQohQu(Dh;bm&$yWYH*Sboc2;64p}*x_lr>mR2nzEzM=KOXZA9 zE9pKA@AMV+N%#{98JSAcwcUHc(7aNn*z>xFUfZ`v0>G~AObK$+RZ|O(Q}ev;A{MW| zboux6KPHlzASOXdZnwGF#l_XdmCwbMpKrGo4QAhR87z|UW~V~*56gvgr2Fm?GS{F< zercFFv(&mvNrexaS6H|`9ceKPmIzh_dTQ!>zoLP`bZ@raQpcS;>Dp!3()H#@e!F?N z-T9@VZA39>8fZI?d0}>#F*v9RDtFs8A1N2&<8vbHAzhip9x4ul#!4>|F;UTAjme|1 z*j>cNAj|7kd6Myq3W1vi8&G{W@aNB;rKP1%>%}r4zRSbFP*a*75l3O%up(ZP^)AeSQh6p_dN^;KvybvNO(A(o^Q22~N;Qm~ z9yv|Lpwf5$_+XAMPEO9wj)A5mL_}1nDJezM5wA2gcZz0W6qYpNubeD~bvWJrge^bH zSx+Q6GZPw*T0?X2paLx1->~C^-~027{5sN+F4aXnX2B%xK+o_Zp@^~XH%^@!c3xl+ ztGicAb^hYTn|N;oHEr%Y(&|mseCsNJ`SNtT;9udivzaD{v4UCdy0cO@2mr z_&RP{Zf06qcG710O43Sp(vS4>U5{<=fFsOIG@C_misiUYm&z&2DQGY@9Kw}*;L5eN zKi)nH_ixx7#plOxbQ_D6q95*9AJMr;|Et`2(?nw7RojNRkBw363#gTvm_V8jscV`F zx$kzSC?K}Sh`R(OB_;K0{X@LqFq9S9@6`063lNmoAU$~!PJG`2K^I8dtz&DW&>q1b+u}p(J}Z8>cDgCD zDTQ8L8hJ&*!ND*s`!JoMQ}grlTO$ZO z9Gx7Q1&*uZ)B^TKGqVMHrom=+&ePJ;Rwc>%fYb8@={)|PvC)e#d|}BZHN$8wv;I8T zz#~x?ZU~glB}N7-lsRt_@WI`Uxp>nsi^eba{M&6=izWl%@KkTG+ulW^Bm!v6ntfDr z4g5@si)>~hNH$CT5)u-0tGutU3l6)kOH-WZz0J&=BoobVGySwdR#spsPrUXPVTr#! z5*QX{`1ljzb!@;&nrcgY+Xg%C9n<&e)29{eLgp*uQ`D7UBog&4PJqFE!dA8cg^C55Hemit zP`hvnbpxM?Ne~usqHL_W&iK^SX19jLnZs5KVSljzD&E$tM9r&HijN=v1_PA8ct*d( zb;Nx){X#^KAlPcdrikwWiua!XB}=*!eWLB45Wr2ZDA@+X7OHFAER z-I>eUAsQ`;?cLW4wlkhr!3vHZ}cWvNa4Q_|TE#mrpUu#t=aBNEPj@ z=N|p&#-d1Z~`rxlbU*pHn0z~{@+Sfir^cQ=FEBqdYJ2lU4JW{w)Ndi}Fnu_MPD;|AA zV$k>{t{(|B2aQl5eC-e%#S7*`#Y#&K(~ZYhVg2&m=Ao$fdLktyPx|rly-H19+u3I} z1@+(_7%;7_tbF2Psns_Q3=qct)-?Lvd-?A3*HK<^=bIzA76`VN-Mt33Cist%HalPL z>1n$x<-;aE@CACGR1(91#>HiK?%9b`D=I{-R)nWc_gSY1qFMdxobL#$Ycz4F#37QT zsY+$GvBN2kCte}|vyn%mEf*{QYq&XDpv&DboQK0|{NYrNR*5~|4(H9A)tZ+tUp8X> z7!bfiG0%}&n4Xbg4&J19Wp8h9oS094n4_a3oWjfCSmdw;*QjN`s0N^&ddYRFK4iMm zm#us|9Xb4>|G>Yz8+1)nTQ}wC1&EGI%f9$f-}iwK=(T^sw^Zoi`*WmcAaVo=tK%&= z?d{ePr;qHOWWRHs7lN-DqXF>Q(=cW$qZR(bAKt(JY{S!deB6~aP&vnK*Sxs7MzoKQl|$q{QN;?o&fBWfk~ScR4RRI~#^_1Ee3|^<47JiE~m+naP1!qLxI5 z0Bkr;02@9QW3i_ORw%(lgU|4jfs>Q-#*J^1k-=eMktETJ2|IcmdE7Hx(BVzH#6CSP zD+AQUkf zY23L|91(GKJqco#T|O5vzAuH7udgrd^}otYG5Fow3`bflwVS$*js??PUvAPtILpfr zcl0Dva@hg0blKy`eIGe31!g>UXAQ6@qNa1y)Ml)j;OoFwEsDxr6CyGS3!!htpk}#V zEooP~JAU5*$f12X)tbF23XJ(9HyIf-wafa;>AATJqFX+U7enP_+g({dO1N>G#q3&j zcU$mssol57FgIZVDIMHv68+a_N?LRk$3$pp;ZYy5dPYPo?#JR$RU27153`;7>({R@ zBw;KX(?)KLw0zlcvQ19DwAq1#T8g?lSWPfIEG-M*z22o@pr=pXZ+3->TvLgzWlQ0` z6|pW;a7UIQl$w~CF~lV!{SNM&)9cc+);Avg|p$O$B`y4 zl1q0SXQCZg%eP;M?LZ<0Dhm~+6jfEf6s>^Or{yvUjL~ThJ!dDztnQ+!J|jj zaCAOr4O0Muluce&V>ri|o9#U1us}Lw1f&VZhDiO*e;aNq0}ivY@eKaZWC<3krly9F z=dWignmo5N`$>$n?FqMO@2HXXMVA~Nn=!orA^Sf4us*WN&!M6A>rFgq-S?pMRf5K8 zGNWX<{fUW*$>hhzq+2q=J1@H;l+)Ffw6vCT(c5`|IfObjfolXl8A>)**n6!n*RVmt zyRx&h6Upv!0oJRw^<*;j0T@s`Kr6vItssU zv9mT6rtO^K<0GM~I|fzuaIBj&aKZk2+$CCCR@T&acWntyO84rEDj%i!+&0f6FMVeHaXru=MEbyYx#2VLZ|yik>9%AGOXuNKP&{Zjumf?c~?4^ z=1n1RJ4pyUu0GW3c}xIZa8nE`~}Jt=3Q~mC)N2M2SoVE67-t z>q5cKr|V*k)Y}lX4x$kXTP1K~=8^aw>i_Se4 z0%y}yVL^_6*lkNotPUK9J3Kl_b3%Xxub+qhhN|(fU>qiYf6n-^13^7caWeoBROimM z&zjUy**twkf8%Ma@KCi40ddhxF$@~CZeYnk+tdf&lBN!s1jjIn>s4ryp}>Boim|*+ zobHJ;5;7wDwl-t1Vq(DC(m8kKig8hqQ{q1;o2}8G3E;g9ARCKj;Y#6zzfE~RcmW8A zlGAE_)z%`w#b{o?EH5u_&=Rw>G_-bJ4JbC{fF;2;x61MFT!NKjHKiGGo142^(8!Yx zXj~A%4r*AGO^ss#u$h6s&!N$o{okXasEU@S*9iN%==smrhrm&vwyqN7&5?np+n5&Z zIR5^haFm$*FJgE0?Ag>Su5NB;2xt^or7r>w8T#{85L`m^k@PhDo2Cr_b9k`P;KFB5 zB@tX-fG>(|=U(8Lpc-3;^u&p~ndCGy8CMC=Be-&AV2-Eh&)o{=HtPpgFnF-(5tVC& z(*_p^m=*Xt8Rb}$2HT^#PgslS>F6c^=dsEw?{sQUkOa^(R@lwi$S9el#Ps*?dlc$1 zZ}dt1nEgx{%*mOskHYS#-7s62n&L9;&4Q!o7?F{oLFsPD9%yH0GJ%h7{&MD0 z9ja}NMKGF)C@(OSwv>Xf#`*sbd2bn2W!wFWV$&$40)j|)NJuN)-6u-6x#@c=9Cb=}uB=dUIy0YUiXM70d* zT+5K)V4KkQ@`l;TAvQG0c7}!%Lqp}+q2lJSHB46hZGeI8tmN|l&vHQjJ;wikcFOVZ z)pufj@ZkAmg>^s+dLdT&L#&3gg|hIDkVq}9k)|fmb6?+1 ziOPVi_wIUQ|i^<%Ig1hBe3RrkXM;Dilxo7#VYH<7geXNzX?_ zIEo+3cm|x?BM@d!Bx_olY;0}$9cQQWbvOvZN98_Tz<&T>yPTpTqz37v@&0|lc`lB@qn$u+b#wf&M|rMVC{_rV69n!bKQN~uO=PFWe^bR#t2^;Y}SUqNm!p!;cF zuu}#WW~{ms=AVt^>rf^B{(U%T6%`$gl3bbtmdO9iV&O}W{>_uE`fXwg!0X}+3gDE2 zCawAWBwuje`{(Ct`uuQG3y~Qezi@=k6(0R$(7|Ak=@=O$M@Pq*s50WjvOM?l3iJq{Mu@X=ZGit~?t+Lb=K8yp;5fE{w_;^dm`0{E_lmgCJei9~*Wx};;|inLjE zL`_UgltskGE}twrHXdl(*yOR=fwcjUyvd?TL(h|xIc$nE{a2$UkX}-VgN%t`d{E-D zHVF8tK4~yyVgSMfr1s$vcZeaU~F7(E&fStVS)6~lYFkb(kq9(nNl5Iot>Rc9oky|C0iI%-S1@u znijfuyJuAkj zn}vlzECZbzHa`AgIZW76(|ez4645Bs)}U`}EDEoQQGMmgwaz#jr4-|oXV18PJl4|E z0-!e!c$hbVfdu4y1(2jfN%`$J63SV)4aY`CJiNRJZgGBUi0eZ}*h8!+CpY&PFuf{h0AUSJbU-?R*Z%5v)X1*}0rd_%az0kQGD&6{25z8-SBTo$ zgB)iY^zzu+eoR*87tA$!xp&>R87($3ap>BPbRN?l2N-=YO99F?ww{rCcgNiH=u2|- zK=ml{4fM*A$s8`Otua}hKvBywg~1SJ$sAcH*X1}>r4(E5vUU%tC?}_;Y+-464%92c z7}zxg>xA>;GzE86W#!(mJ9w97iAhM-7-nmofm=F^lMoX4z;g<6YLpq?9YFwahS#1g z#kDp7J(iu7MRM~d109_lIsR>K$=a^a#txE5B`7dybtLsGp}7jAK)fwG5ZMg=b$l#0 zWX%$XM9MWs`InS%c72O$qQ;}cfdc(do`ql2h> z_wGG`R*Av|fX1@g4Zq~@MEMHfV_6zZ+0(1ah!ey!DDtyB zvg|F0CRBNo(|MVhnKO5H?Lp05^@_FqwX8v`SLZY)yY{U2jjWlatG^+;B-0C*jHlhH zxZ|r4pwdZ?fgeB@-bcOv?t%(*uIndpBYPh;wbFFebDL?Ato-KYRO5SH$%0=y=H%Qn zt!`;oQN>V#mX3<>TN8ASXz}u?c+fpDkT7U`R4nD_?&%TP@0X~wXuZr%IM)bJtBD7S zq_vl>3cY8C0rAS4B?|g1Z)i;p;)@)hbpS%kDe5gJkPqYzHIEV{rQOlFUO+Z1C*fl4 zplLufnC~H`k*(|lSP|~=JsB#W3R0K2hui3uq-Fto(_rSxO~aoc$p*wD!TkXQ@J(dD zS=q#avw_WunPf;E?@4Px0c&djp-$6YuMirtkvIlipH7MPhQnSdG$h#}>~-zao`{!} zo~!9EUPu$#0BLXl?D9<054uoT%0gxo% zk#0-WR=ghm30<_B()Za}bnwBS^P^?}A}Tr1yeJC06U#eTyr{hrpay&LvWuyu3ykK|U1m z=gAya)+H178CNu2eTEHejTf*M6?qA@1IbIiF;z%XzG-d5eNn(C@`7*+cc9OuL<4Lr z-cK^v{`_nufVTOa7g9w*VTj|y{&f%5Ta?d;=oO#;$jwHt#~$cXwZw9yDGi~ubV`Z( z*8&_8{9PkbSyCrbhIa3K4g=V^xxH74SdSBTMZI!zG*8v!lp|URd2B2~ATPVbqv1d@zV)L6jI*5+`xwChGg@cFZBs?z-aNb!4wOBQ74!fLS2Qf&>vpf>6-ZmeZ8()z>#T$HT)?3vJ9` z-;99L!vH%sDmB$^oq_EJ8DT+!NT0;ImO=YS%=twB%lv$D_NVsA`y>X%M_4#GuCC8h zJhk+->FXoCWY}d~T`PybxJfl!vJdUQj-0OMR-YP-QlI*GuzV&bhJ|%f4Fyf0e$(_E zH?mqwI!t%M>9ux;C~C5UjoCdXBW0RG-5|HDutf_rX?O&e{QmU!Kd#M=F~}SoJX+d6 z+8P?_8@-G;F*P+cHcnyRl2JBf);824LKXfU{fA#7^-K0;- zCF5D+!Sh%a1u7b(RzN_fAe@pXD z4+siy)0L<{>j&XoyLwd_%8CIIJLuy##!CTK2|T93`l0Yb`{F0UU~TpYDn&wF-pd-U z05t1Y+8`yJDlbsuLWqb$*ChJhLbyILIE}K z2vB?^bfFPC6W?R0mhJ#zBE3IAk@FY-fnpP%jAs>OKsxxccIOpC%J(n#^1^m@jD|^i z_~+1YU(@fk?9>!N*F4nh5>1dChkgYkHT9#)B=jkiB0Le%^})`{eNc{p&A36A+*BNp z18O#il(g9^%ESSrnS@RX0b5IG z=XwfoI(szA%0MJ4oZmr9osK$R+d`4h70U)?XyQK*%|00Fo07-v-}>Qv7tj}DWQ1W8 z?M;~jpOXx4jsu$?E$oLL3}(B?(`+705qy+l&WmEHI@=@h4KW(=#7_MNas3`eHiXn2u?a31|Y$Cz0 z3f^W4KSt&2aY+RH0V)5mKYZ5`E)A0D zwXh)ypQHw1C3jmZW?7(?vG=iMclLiOPDMK0>XvrPsm%Nm6dg_I<6YoK5?NBcpEPr- zEypgI&ZZ%?Rg?MUa@QN?u}bO6$^_d`J*%$UgS`8(WdV=oQ5hJ1ezi&zR~GHP)Q+$C zzZY_UpDLxV68l3gb$@RU=@zm6!B5}PRsC>73=bEZht{b=5tS9CHF8_192@7TgJtmB zr<-b#Ho=!J38+3ejMEL+~f-n4T?2-PsCbQR*o0+qH6kvd3o1+%dJl4 z`&svR_mi-(-o|e9b|6z_2Jr_s0$fsqgRz|*<<>^Oa=*+NXnTCEY*d=G7fuX-=INQ4 zf1tBwfk~}Y0p@HMXgR_6yb{hJ=J+u|el+Vlkka@JKz%BYrASD*=I=N38>n&E0Vt`cIB>>{+>_m0toiNZFB{y;*a@pa#TqP`SpNhqmyA9uNZlrX0#Az+ zuRST-1UW=bG3$ZYcEjGjH%=iQ5g{SE#OM<}RTM%?BJoA`Rb@Uu_uAUDAIZ}KsU=}H zTBzC5+Io{!H!XC_38;#=TOMMg}uWc$Om0eGWZd&$PC7u#D+H9ZE?xDHrcz6JM}TA z3p{jNSt5=jKKe0W6awQy{S$~D1P6!E;aVRbxlQs_Vva3l z?~wa`!?g2?l1Q;-XCKFO6HVj5NTzm~zMNdpD0=d+uh&T>XPfBrOsWo&fBezt6+!%&=1-?-USqmPnl zS@>PuWL=^4ltMwT0?i}aT)FTqwm(r%o%0IqZYvm6Z*$5F;XU~?HRuN0A%jcseG`q^ z#j0$pco{9O=yRGec0T$#jqC>_c5Lb%h1!Dw%AT4I#=fR%&$f-(IF;+CZ>ryBV0p4N zO?QWht27#+l)@&KF))Ha>@5-3xo%E#hJ_*XI+=6hS)8pcwtJZvS)+_4SP zXXJMb(TmWOrgV61ERVm4%|9G8N@za1;UMv`iVU|!QK}NOBU?{aI0d@xZXEO8Er3Uccq{RzF@^oyzfKKBE<9{qC`6$dCX_QEyIF z{}-@O{jrWfiPjp!U7S~TC3_n-6i}#WpUU1FnrvAe$bd7@%f5(6;7x@AGk%#msdTM5(gsQAQn8aqfxgC+5-M;T$obA z)}Z9^XE}!COdW`($#9%&njDF%mv-m?P<&4t8al*FfJrJGvluvl99oK28ErxiRiys- z8oCven3#X$*IJsXjUW(A$ocAuFhQbO z#g?BifC%oZ<%n^c=$2TI<12~P4&@0AEwX0gu@mI?9x%2eF5m3JNw1j3kM8gP=FA#n zPnkq-L?2n@6Bs>=J=0sTA)PUXxO4wLTT5RrNc{-!I;!^=4J6r&0s1&zku`7`b7m_k zi6?)yvK53vMy>I;Cj|05^z(KRQhW}RgR8EQB!lLiE-08O zdgAzWsg%P?-`H}%Adfjelgp@McD&qIOX6Ob;l&YR505MGE30G)wxHf{QS!lc!$hyR zv+FlHNn6IQA$~zcm+a_}>X&vcotH5A45;7PYA)|5YoI0>B&F5=4Qj(%S2NI}8#o5N z?T?{G<8<@|Mt9uGF(=@ALJKAEQuZDlQFNZQ5RQX}k1Ek(K(sDuJUr#;J=2*^`4EA5 zP-U=@l&ElE;^GbmvPDLeh~DV~cKKj}3uJ?MB3=?iOllmPf(r7>>;vp#4xxw)kxp6o&_<%$e1<)UOi~5@s&uo+(UrI=R!* z)BhN%k-g*#%R835H<4eZFQ>oV7cIrLhgbC*J$>ypBNvvRtt9J%+ZGiV;EOasdLgTi zK&rPoLEd@zyi|qW3*a6AZY{hXOuLR5O_uFbbjca~U6`NFB>{HkQF!G0eVNSw&!3Rt z?K?~z`yOHTw^_;cW&58@C2OQALqgc3CmGo)$qr1nIeQ^P$9gJ};-^C2xOF`Drzr9j z6s16aZ?axq5bfor`}sSCNs4P9gf(MELb788@CcdtwwY;Z$EPZfnP@SlpYpx?s{KAR zFw{u#3L`rc6Z2&DYf!z{f(X@44kNaMrRTd_CDPt4>LYy&F){J-rjVSfhliA}Mj1a( z&-Nzl(xoi6)gdDCMakv$X=(?Z2gDH+Hwhnf%6IiRi}Nzuw}qY5c}jd8G?eAOAMtH& zG{(xZl|rIE;kQdvpog02&^_lZk*iZ;XGk9}P(h87LQTQHk_a%BkqP=DM%nxk zkCkMrlwdmctvNMs*1)z0n-xQ}ogmBGC~4hC*-uqj<3KOoPrBqnuNeP$R_o9C8F~wK zuI1x;QwkDlZ zRI~{&zR5DtuN|NaJFu{Sa2>5;SQB6mDp3gC;7P!490nYRB_(Rb4uRFnw7r%mGs9j83qHi*HJvP6vkcESTgN>y) zj~oBP-5X()OfwCJIH}uIgsndbeikzpI}vLD>kt-f)82@QgU8j}XRK*xmy-4wF&Xx= zF+)`L#T@r73i@l94()7=Ol;-2a}INn1Nm0L2&L%W{JM|Yyzjcz94L?OJ$TUGW!py} z>4SYMC|t1f(azBk4gt>I&!3De9My_J=G9JDJrl#WmwuuGL*4?2+d2Audn_>OhrKt*jX7h&V)Bd|%t^htIbx(4l1&--HFZ2!_1xWl0skW%s z+nYO?PFIVS>ymg9Vt=NKQB`f>Uy6f~Kv2I!*x>a7P0Z)s8hm$Z*IZuC@& z=ll-1Af>4Hb0?<~8{Wf=o8#+%rGmUct99DR%OUt+eQZ4y7@!AY96tM)GSgF2AVI0P zQu}s!`c4lBVJePI4lm^fpg7GJz-EFL5Nmu4sP}kc+s=r5`F_ z#xUTp`Gt=4i7$tV%lf1g!Sg_W|8H&I?52}!-kQbo=Kw{h!{%um6qH=yU$Bv6^l@yI zh)D2wJNZ~j$I#F$tR#3mepPwrnT_L{qKZsA=RBz|bPOED&Z-}5-nrbus_QZtK^cNn zizPqrqMbyUf_bM*!0^kmvfar9eF+CuwNj~zGP-XSE=&^U3+OE@nr#kAe#p2-S7M(s zAR#VOMC%0aN`Uskcx!ojqr5^F?Jc|Bz?_PZ)wo!s-p6yeCXxk5>sX9(COHZXsKXdSzjSXt&o$F zl{vK1x31X^Xkh)>?!d^=@jJ7}eQ^cCAJ^=5g8dYv^r)aV;4Z1-P>po?hJZ?AN$3_$Pylvfi3?1Sp8ZSrc$1`@cpI3Eho z>9ieV!0O=OIuTEb;Jtc{vZM0Sa&tuS`iPDfyMi)#B{9>@ztjDd~8A zuCQvg;_hN4g@T!p3y*)0-#a-p8BmKP%$~El6CMzQzxQ$Qil(_8lMuD%V+tCq*!>^FlNhuOAp3q2eJ?P3{pSgL4x!DJ;`+#ff zhasqa9tdzfN?rXdL&nU+)$gxJ({*hHtIkVBBONP_Ggea84J^?3``QS)w%;i!44l@w^$naAK}{$NMS)$%xgOer}h-kcG4@RYNyK5ANwASdV+Ip8ZyH`j#!>ML9X;+}5#~j$-HoQRoUe^9rj$)kXlh!`txiW`Hyk1;sRRn4KbQEOQs_FEIQU z3jj$o@8QQkDf5gtZO1Zf>|6t;p819x_Mgl4YSjJy76>QL4ie%8a{UyZ74QCCH1jV$ zV^U!BbJIG+Mb_S@rKM%3pXAh)G6)I};gY11Qq;`!z{Ea{tCf&omA=El&J^_am%BFp zy0y@uvZ&cHY14UFlL*AEPIPh_$~-cSw2*((+qh>FRX6F`B^<>LIy(L_^Nb9fkl>#0 zPpm6S8tu(;W#o0J+Ki;CW{?(10fr0pho?LZ2E|we&erF|BN4v{*-b)=mRD>eqc!Ko zS8uATNOXpk(MiZ+P8-?>69&IUBF%o-Uh76~3*O42zY+V|vrugAIs*9u`RH zv3%l5zVMlFZ>TO5rO3m@H9*=r^1NMxtL*vQ^TLf$;m$BRv3&33ip@1SIjln!5*V}F z+u`tyEOGyq@PmWRDfiI=Jus7YgA#WS0NYYHg#ZF@h27$45lN}D(`YU> zwnBqyhrE#j{mLKX=HVmFA`oK-n+=EQ_D`qd^np(vT1MG2O@1K#M%8dHx2&#;co=~& z1Hih9Y1I_+NyeLpmuR1RdK%l()EiYijWonLy+CLT2u4y;5_m&Pl%(&JG=Fhk>8&)B z={m8w6`5c9SsZ}#*^)$lM{WEE$L&~S<)00OWBJ%3C*8^J&H(vG5jvZ`ts$m&R2N;4 zl$=~R^5oag@4ew8p3_Z#m30`OUZR5)o^pYP28pco@HoawULX%pdAfc*?#yLO5bJZo z%5qMAeznP?4*~%-MiOuNnbgE+_A2fWnv9uO#OhtSqWx$g0NEAF!Y^5z9QJd2)`M5h zHT0{{J|T8x3PqcQ|J7@NYUd?|seNBrSzlbY%ey0B_@cR)`W|~vj>@$RJAr%4coGsu z31VO0p9DO*VzUmy8~Z=SMcTZ{9<&~zNins7tB>ybjFNk)-5AxQSBs2fOZoKOva;~w z`v_Yr4?z+XsUH5IYh{g>lWK%O#yue+nI=%epoTsL9J~D%Y1H319#lsb7garPGdig~ zNV-eOEXX~$c^SXUyyLY3l~-$u@NKB?5PK9&{e~92mH~!auP&}<#~$1Jo>^AgDelRV zdwLuZn}3=;t~nCy!g>d|+*r}nT`GSNfJ|Ci?z%nWq-0U@!lnF@S=m<|iS9!hf%zp6 z{t2VkB#o1;q{d}(Ar5&e4~qgg)5@xdsHk0#$&z2aUqT`9O$7Mv5mNZBwDtALh>4#V zuK>_<|K<-ZGLVFVR#j^Vuc~&lY6=((H0y!(2!aqkVi%6b)z8M%-U)5U+W11?as!M67(*KyU@J*ubj zGJYeya@dF`c9N8~xThCMA+7a%Oc^cI4ylv)^o8 zFpVKO(B_^Z76n3`u-`s@UP4c0iaK#auk7o2&#B^+16Oh_4R~ji7s4D;b%>ZBlTh-h zQ0_P)f3wX7RKMd|e|6`J%chj%o4D<1D;wt^3WegK>@_BCIw#q8b6xpsdl@77!JXJa zA8*FR$Tbv7NhcEEmN>9eQ3Vdn)#-=4ArG<=A{+eHHYOulXlutBLH{gcvh&f#5U0Ao zvu7L*LU;~D>yar_)Sr(d=F=h~<{x8)@o~guWHFm)m`ARfzjw&mA#if;y@`5!F%rWs zPzV>(>G_`EWFk+4v5y6 zQk1;8c@DTR2jK7k`F1nZegiU8NJoIF=e^IsTm}`k^`hHv;MB5{-4Z;KAwe9iiY|+Y ziJ|54LKPJ^oyZ$RkR@b)(5T2-oRW-c7jP;bLi~+beoQjF1Go~8JPAaTfmQ-hQGcSy-A`g24iO|WAV4m6 zU$K*$sd78}_WQT^2riqJN7wW0=IHuw)wi)IwA;!W@Q!?!ST{d;6d_sm`6{{tb`I?Q zsab?$e&gD>6z1jSO*j0uw-!1#E-x~T%Ki9GZg{wD{t*f=<)-0fV0ZZa^4e0my1K|` zkQ4|AkqfISDrsD9i38&u%5v=v`%P~ zumgy6PWkxxk3i9o%xw{j3dl}E1RIakZ`E}*h{Mz^shdVFbv=+Ik@*Dnl}Z1agxA>oHu!66VzcmI*aJA495#yhFMY}q#cD;j4@~J za%*!x7}llT%fyO?m(bHGs1$69=Hz=a|9rIHs@u|PLbmr+f;gyp{;tTsg`x)C+{5zA zSFX8j1KIX1DLOh|ke)y#+)rkBJpbu7RY8aXBm}<+c(Z!Ra=5D73DZH@XHfme54PTx zsh!jHShYXP;ke%y*Ugm)n3-pzKdI@f+sxAPWbV8aIoF!&SKxP;G!xMKcCMr2_-rPb z;Kugi5c@Ym+w;nz>h(P}wMe-jEOrM*F65@rV0oDvi+iOeitT7|5#_{q$D_CAOuH0S z+CV|ob*y-=$MJ#>!Lku=lKHw~Hl3Ke=b`MgM!fPe=c6od96{&JwFGf3R-DZ=?I}9mLs_4 z-`)+70%F?ab=0ha>k%NUILS@))gCR>d)9U*n@z#i1#V6lJpd5~Fal{5A++Cs?FEJg z9TT6*Ds+?r+Qf6nwFqs`pWiED;OR)=`2`UX6>FAH0s#bzz~QnTEr3m<*=A1Q9oji! z??P0$Jx-#$T0Y*LA|eEQc;y?A{Mq0D*|}#CXJkor&cVV0%kLbWhU&LxZ+M&LOK77U zixHF{le-`(qGefqPqo{wU*nYSbMZ|hL_UZFF2))-baZtMiA8+_bFad*vIU3<2+%s3 z;Kt}L)+05*%T+i=M@1<=_OWoCWZ^z-ga8ypt z+ondZZ*5-%Q|qLvSy-kvDZ*m&8mdt!=Ol7X4UI*&h zc~6+2w;zKO^pU?VAG~~E#g{gSr78}j^n41SIUT~glPO#FmtkVC)WjeMbTtJD-!r3? z0ma9L@oHYM`2ZcX2{9s}!NK5biM3IKb`V`Z_6^D^DUCQY!PdXbh%M@K;*y(K}@m1-&%^^(d69F=w)ue(2!!(x5m#?kj5^nL>(5=3HbqOcr-Fu!J-_tuS2sL{02g9I72m2pyc;>PXvHoREnxG9K!(DUq+_nf_wsL8hp zl&Q~3xe&DqOGSVOv$H>o+KGrxWLVGt2u+ih-V85_1pmGrGxKz_o3S>(j)zp%S^3jB za{-0D~(P zcOsP_82-$`%Jdoh<<@iTRRdz^Py)K8Idx|V#;NNUAtVQ#I|G($UICgykRiWBBp}it z#z)2gZDmKFd`&?D3Xi|NyM5AdU)+t6#deb>PJ;aQSKl-AZS$(1vZ$xb4I)?2i8-D^ z-ry(PElzr6lY-VML6*^A-`8nVKr>fP=-kX50WpGP9Feum=zWb-SY?|!5sk@cuEAU` zaH7QYb*vLjkL|5oDgAE)t9O)zVSPiM5i<7G1KENXJEICO-W(5N)N9~ zj}&qMFDKUNM~(V{H0C(|7K zvBF*nImv!iZ9_wSn*@#GJ)L#sHKRKx zCgj(71<@tm$FL!*kgWH}`IPoze0;UYDC!!;V723Rz<1J%1;*9LMJ=t``-0*MTC=-F zOe`$!JXSK!(ki9hY))koD~r^;2fjMJ%$5Q+{;q=lhQ<5)il@ch$$AcbRH&5|auSjW z0fAD-)Re&eb(%ZUl)bUGaAVb$wUXM!o_#y6k@56R&$u~y&;t!ekHKvUkfK1n(tPqG z{{ZVI4-*qp9Ar8{HMGy9VEAmtbquXOTi6QN9mtSDpKTyA3CrlujUHAH^;M^&qy+g( z^_TNN+}mak-n{t(N3Nky_oY+I;l!4Km;1<`P%07pYi z9It{RjqDn&XCngD37c@caPMbW<4}U-Th%>p%emxB~3|_1$yO6F|93z zO5dVh%hRDl7`oI*ladOg9qC%Jfgp!m`ZeJDt)F@qM!}K&3nZsTRFz$gjdG^|BG>?_ z6tD}9QIP-j`0`-3-tI{eIfdhPU`2f($#qnZoZn&i8Y`Cz!5L}!2A_I0T0K*gkRFLj z(QkNOnj&CIN<{@?yB}zct|~jj0k~7+g2AxG>Yh9f*EM`JNcY?K|+!B z_Z0r*`~BGxmK8I`DkcJ(Y?ka@s7=eQOAZF*Zm$IxG63cjZ5s8<@9F7L>1*d9?o5@Z zo3~+%ndwYbA`h(@XJKWXjJ2fjrxq1uXXn%Z<8~VM?)UGDt%9$w9#&6(j~%wBqdQ$P zZJ$d!J>XTAHPO~@vR26R3A&6)XBQD2ZENxrpJ;15GSVtf@lR7@V<90KI8a#f51S|) zLkwY*ySjSjOn+1~ zdL3{QFhr-C)cDBMrE>~0b90prr5K?|He~xa3(``XUZUvw9g6@Yy7}JtLfqcwL}Oy$ zis()N?C_z9)w*E?oKGM6=}0$Of3{HwjB{}OH7s}eY>u&}u&*n3t;g72zU3+AjoZrE z#vP5;%JSnYZx1?!9pq(Yo#d<816rU8F^nAfQ@~qHb>|K;{<fRm%aPiFh+Y;J`R6&&D6&JvcaB@|11w@qU{uR1Q_sE$jmp zbxqv{UieXI#&>=%P_`5fG znyTvc8#mx~4W~b=ny-Un1l$l1^C$0*dYG4m+*Bfr>aVoWp9L(|xq~i_(LnP#_|jvA zB7eZd6c!N?qr2gNJvQh0|VXHN0p|YfLv~HE{07=QnYMZmFx*f$;z54 z?42|SrFn@Ml#@ifs#qI9eIL!BGKvkpSrlQ{Vm=%y2<%w$Z(qM!OU%HHFWp5Gxe}H1 zDye?jq0CfORn`2Od$v$+z#P%;(nCZI;J^@TQ~Mw+ggnze>quTmm!7;<=Qy^|*jAYF z#ij9g?#)qtVjia?ASs&+-IxyeGZ=(VpoYqK)YjVgVd3HNF*vm! zgZz@4_CmYTinsB*GbUCZmq6}-O*-MZuDQ9s{Vyf&c8)fOy2i%ZxD6DP4exE85_|Bx z^EOwWf6Ajj5#eQ;5dJZXdHees^-$#Uo4s!=4G*{w*iwGfIM>C(ycASu#k2-H0>9&g%`HtDX6}1Txu&b(r>8Gp#^+EOGmB92z@=QG zT^0fMb%c|$XO9H2UAnY^&1X1aN?ZS>hKcF%G_?=jMLQ8($UhEtKg+^ zj?0jJQe*U~EHjhG{uE#2w)iW*M2%`eGM(nek}JH)#e_F*IP`X4V&U^$i=w-lT4f&S z^TkM?#@?$=U?gMUHD6%y$n!BmgPtyyoB`w9Ir1P}g6iHt*_qf;&fY+K-nFaXUh5v} z#M~qQ;jp*A`;K$7hoXT1%X)IXB(}A~PDRCWd~a4dV!hJZId5-`K|eM_?=dLRH8h66 z-WD7zzckllQ1#wRnS6J5mxtiDs*X-IovVS~TJxr!30N+#J71K1teRH5iO_8lW+QmN z>%;MKU(5RPUV^XNo@o2ox;-zyyhJz~lWmT=4~~wpz}6d(AZBJ;byl)4GxzrN7&Jd~ zc24!BJQaStX+K^e^@HhJRO@DEXB9)p_`_793YkA6{|r2qKwLp{CP3?e%bXf0wh9=u(M zB0N^#)bchgknG3v9~l{$6qfw_`O#o}n7XOiVHo)w=aPT1qZV>!bi77jWNwaw_5nmb z7>FVrtebesUKMYP&IsN8)Lb(@ZZ;UX-;~)GKXebNQ)T+tZL>2LuP47_QMpO8D<~)k zinYkRx?eF>4E7ct%~lrMu^iUAwcI2m$k=T9)T>i?^Bkc}1cG}u>MX~I-D%aT_dzi% z!el8}%ZJ_VcJW+vJhZx$CcC;UtjuNJ-2s>RMQ2`o6bOGr(Op#cBM+p;y5w&bjmh=i zhK7#NxAenw+%7iJ5C3uG_YZJ^KucFaUh!$~##%=Z*5QSNfcH3x%q&w~m#>G(st#Qz ztYX+)WW3JE)y#QqyG@~@IHzV@?J%Gs5!HU3?Q7r8T09-S%kIuI-P;VNUF^xxjSc#{ z3>H9mmuqeC)q-eY%2hj>=KS1u(3HZ5d2@~Ng7_BF?^^Uv z)qwYAF7T=Aoe|vbTb&&}@dhDb8RWioL^H7bE$c8aPR-D3m44teC6f_< z9pCS!mtVFeS`Tky&B2CE@q2G)3xnW0tT&nBa)pi2jvNBGhL8XmI~4MOkevL^?UA}6 zI|Xmei>d5QY1?b4i9*|z;X><^Y5pQvc#{+qIr`eIE_^oxv=?ih8v13;8n0x&>B*g< z@XvCMEuOEYq%ukE?U0*t&*ZPO)P=beaXMXL>-`i!R)gzXnLSz$&Q=gF`1}&%;h_by z=ZEd0ZOJcRzs6f_MW{Ar*b$VI<~EcW5l`%kGNEK7H^-=*5AZc3BO}KQokMMY z-6qb{Zv!Bh>iYG&IAD#Gjpl3kk(ZA^konR}%gFq@@Go9tfDv_G_2J`(sk0&gqbFoj zJJkd=`@;3_sh4Rg^sfdsTSnwMT*)MUXVz;Puu47US#oyHVk@I}mKQXm$DO<(ep; z4`g*_E_RCVjwfAz5U(sQ(x_1CxIwDydyp(}?{!Q~{P3w{Dm)NY4^i+Ni*Q*2zvCAeFj-|+UPZT=&~X-U5|KC;T>U76)V&F z2*$e(-RDN)5JGLvO~1zoXfvX6EFQP`!k>RP1@(DDi+pGWaM{{ z;MRH^$I@JoO`9a`4Bg#FFcpknTtTIKX1er%p|0z@e7yFD`8l%;`~PAAOh)xFF|o_2 z4$@JdyP%bm@4e4DJcN3$k>IKK`r;+jG}~0a2YsmXESR3_-KU_Hv8sCrdkENOU~D?F za3WDq=arR)a=*7;Ym4~l!CIvd!&nl=(&i@H1;BMN+o>_%c9&!P+s>*XB%YR1b zRs|aRP?_&yzzokG(V4A z-{=P;Ni=y|Jx#aBaGJ3euco1(f@^Z#(f&_()kx*J;pscI`y@!M%E4nBTja*qRt-ua z#P+XWe1&5pJi>KkySIL1wR(Aab}e?b)mO5Z7-+CG${*4mg@kKP_4SpHoM^Q!O4%4r zaSjE#%rA=>AI@&$;W30`u06+tCU0tKs?gY)KW;RBS8M_q9_|jLyiM&&Dvzs_R8~?` z#QN0Fc>9`2pQXT1n}O^Cl=;tve8-q@hniJQXiA)%5_h(AcDETEn?FFlPJLwZ)X!iw zm*>}R5s+gL(|~YqotE?##q@YQk@A(xzq;ZC8Rga?OQIvrMkQ0bNvR`qXLq;4NV2kd zB!6@5c5JGoj8v7ZOO=oD-4RaN7lF+>UIn^~!esQhJN9mQu>gN+IPk4H`eRi}U)EQGVeRlo|5+UmFwx%s zhhCZn2B7U*0Q|MH3*sX0^n_o(eY@yCzXVQ#9T+r#{xwzAh?LTyW5JzgrKhHcr2o$^ zY+OUfUiDL7`E}a%P4d5|By1+=0TUQ$i&&VLtFwh6f!Tro#Jli^pDv&^7LaoZJ$L*n zqY8)0Kcf)*=*6Wg=)8dn89?S?p}V@eg5KE}(nEYfQ|f!Z8{V9HGxwhy68#RYQK0jF zo`#Eyze4?IE&=@C`T0*Q4d@^L_whe5tK+|~1^@n!2jBb)W5Re5#%enfWt8vRV^p2T zX|FM{l{}L575hQW@n!$Z-(0ZQ2k+-?&;RoO@1pe0?}DxY-L22Fl~hXlZReXfAeGDzpiPdBp!^} zh8O*L9(!^ARoOj!})5*JJp4H%~OCJ{g;7!x|NdwaJ$U5rL-3tNxboS-pQ2)RHf@aQd+1+5urQ&2_S6ck{zgC2%zvGa?o9b5 z6=U#BorGH@(-`iyrxE;%otwB z{!-uYDX2|g{40~!IAi+z4mV%?O}v9kBvfTRYYaNs1tsbReqLTZ-lKW9E;WHv4xCF8uczOcw7>7ob$;EZDc*7RHC>3@L=1 z-dvo&i2jR6^0wcR(`JZ_f0xAezaO^3#IN!2sjD@lF}&)R5!f*0 zHvsaX!GGt{q$M*?mVOoXkawB;{KOH%A$qD!I4*elDWd-0lWM@A6L<)QS>*FK{y8WX zE6|Nj=v7_85DbXPtT7KfXm;vejlATQM?d-N*kHNkd$leB$tNPheu3ugCHj*e!O^(> zi26HjGiU!k7(V*OhUa@nPL(XOKD14O;lh}^rngHMUM#mlakQ~Xlu(u{f94sMp4m4p zS9(b%eryQ~Yuwp)u0x5oI?D7pdF>2(OM%5&^=}D0Y;zh74JS&x+@Ibdp-5>_RGeCA zBR8?7C}BE>Q^Zx=K}6{EWx&U(3AyAJo%nY~&ci7fRSQq?@S4+NMtSq;CfquAl7u^# zUM??m)@z^HFv{I}W~h5}(fhhE^@SDIZJ}D^QUEt`g5%$bHRGxOc?Yv>28}`dT^A@g zmtN9`^XiOt8&!9zM!^~jAWVsP!2*A{hiB2WhJL$`{m}U~=v(IKe5?T)f_Wil z&n?F=fhEo(w=18#%i|px_mutyC7wqA9T4*3a5Ip^mKcNLp`mvHa&y+2k*hDY1wK&Z zu_f1>>T=@W2#!OBf2*a!9j+uc2L4@k(a}7G5Ij0x)5xt&?El5yUj{_kwf&jNU^I@h`KIF9u@D)|3i_c(9FQJ0R&|6|6X<41pg{=ZJefc-VA=x6PvW1;6} z>}PEdd2;q!2E<4GrK0B>J0OttfBA*tl_N4WCQ`Xqaok)QJ)_kF^`v4j;h{|^pZ{vcuqEi7>th2Tz>s;z#AaV*is>IhwJI;=M6Yz$I$R$ zQT{I_{5xV-z~+UfJbJgs0m!hEth>qCkaDbgI(lk$6fbLolNX|X!tNYG`|k@!Kg#wD zX=r5HtuKtlNH!;^9s;#y608|l-x4eY~ZUNBYx|#uU(Av zfXc_Sj=VRnGMC_F@bAzI7;d^&dE{^ztIR4gQGa-c4Mw>p;&7}5H&E0yf$imPAl{PirD7Hgr_i~Sts^O-J&n9&I8_)qEf--1?P;A8+QejO2~0-`2dp+Q1L?U!a_jlaVpW za#ZTAgJ?C8lMZZx>J_shb0+B{*n>X<9ti512Wi8zZBp>if|+l*bFXw z&%DKrSlc@jZy-i+SkRFt)%kFUybU~y8w+@hAz2hm8pI8P+yP>^8a}!A&Gg?M9;H?Q%2Qz^C`5d|U4TQ5M9EIDo!BRJ}PxWSah{-6JmE=4K?j zJqzQQ)-AprGOi56HXf#fsvkrzq&?VeVh zCIvHekq&&?maO5XXEJwPjS-98VMpW_<4O|~J14HF+QGmsQ>_o2@~wD*v&k+~LM^Av zfSOx^@E&dNEvblvhUvhPKNDR5PZei-=yA|fQ`nR6N`x}PNyy_Wn@pulZ1@3N?pDZy zOIcHd%1n*}fJ5w_*ZcskL%kQj17%>g)1u?GERpWtV9N!~4^` zmstdX4=qO+IpBq!v9q$>qT2%#vVRnrnBohvKsEl-Mc*G5GNZ|E=qVuGN9oi4I-l{= z#)potroh{PS*K2Kpc4u51>vB>Ut&sP*`8F#>qZ4o>4|1(v zgb}66FRZmPBl;dGH@`Y9ot&4}5sZ1T>G2D87{>VC#^ zRrz zqvPW?K^2va9g$V#7fFk$x@~b&n3-bPUmJJq~l&M4V zF8JASRjSLps*w-ZJ=w*t!_l%iYPNp+rO0~F;1G0C)!WU~Z$HiV@Mo*}6>C3blcnFe z#b~#+z$>O#y63*;hUfItC6KtIwWZwJ9Dv9@wl`&ZhugA?8kZtCz!F>egG8m*csB9T z&Rk8KAU1n$+llk&3KFIgI_}bU6a}1y2G6+0sVfQObWzJBKT;6Cr(ct2uwKhYBlyM@ zRd)X8yG?{94-6_{=2_&R{fkrBpmeopPd9KkL9-fto7ym=2f(jhpeC`?)4;*3i2-+4 z*0Evs@=@by(r7F4^mA1X!WdQi+=Xq?5}p&a8V4==t3EIcoh{o-=hilFwTK0!5E@cUVS}9xrVM?(y(` zVY|QHT8tfh^6)Z{6sty;BSj8k*PSx;@Zs{z?lD- z3Ipv!psmbS;*p>m1vo9Uq8h0va97vJBDw24p|IRUPL zpb!Wc??D2*x5LfcHr=8Tp0UWOWW@XV+boFKCW(eW7I9OqSVU({btq%2u?TUmJwqWN zC1Xo|OaGgJzBzW5AD8wE%V6XEXI387?3*Y6KqzV)Vyp0IcHOAxAq7m}ZjHZuD8ji67JDjxJ# z6aiPxR_wqx(I|PXjAeDs+snd1W`5n&bcxP%&bIeZkhKX!DD48;J>JFtEiPp*Xrz_A zxJpe9h!xtL=@Xm6&vp5)oa_qtM?_lv z=>8pWzn_+=_&z<$7F{ITY(8JceB9&=NSw zI5GQ~WvlhoX590>$s51NJBgUEvL-9iH5fg&I&Ox4_yYd4;QUM&1bVQx*ZWS(I$+%& z+o{_H4c(>d{6g7ZrK%=Tmbl}am)G{vTd^WFQ1w6i;}RU@Uzz|xYkyfSS`)}pp)4#6 z&#*vU;dEJxH1 zl2ca#u|ZmAv{=C-t729l4=aI3lVz~UPI^-Uj#|jfeTe{7@cUu)_{8&q7dPx*ViCL- zupCn5%LI7F1GU2V(xz6|@tgyW2EAX_?py1T)Dl5S%ws3>8T)ZLS!{USqT>`D2VhZ= zF^GPZ=Dm1v4|{dUg{39%;7?W5gKw5Tb9^YMcQlYl;_=6` z#i2j@nXNJ|w31u5YcTE4S)L4^_p<81G~N-qw*hSa(aOFJmC!Q~A_<7K-U~#lxdcch z`vBuKcx|%Q>bmuH6`2&&0yNGhT0-qPNaM~uk^+7{dVeftvu#xF0d|J`HK*yq(cry# zbAVm&amqjj=`G2JKo~0cU>I(!BMAb5fEV`KrvScLHpbk@-C^NQ(3^5MHz#*g_o67s zR7-vT7gVOnrx8?b=-ltgy&!>me4-ncjJrUJPp7F?QU1F7(1JyP%(YM^8J|hw4lkJq zDOtHqcB066rFcx`Xrv*r_MGjL2~*Pq>3mEt-g=ZEl=dTRAH&Qv3we8L0gU~fX5Oha zNGtv+@$)EhYyV*~Rl|6$zdjo~QPAqj3io!`DjQF0a-VGXxfe=*9`cicf9#$W84 zAidH()cS=8^&D}dh}02|^*Tzc4J;FBu6AK1D{Vw0jB$h~uduMxye4S6N6eJqsrij= zaea8(vhVWcba6bwG(FH16@SC2K*qsNdAqVP&)dm?04Wyl>PN5m+w?~GSZ2ZfXP?kI zeoM_1-w$DPBlfecs$2bfH#9dRAAuJ}6srBQE*6xj1Oyonb+h|}zgO(in*CLF=O}na zON~chb!~~*R1wxRY+qwFzooWefsvlhT8eZxH{F+9y-Ll<%XYdqt+}~q*gsuc;eywqH27z$>hdsRZiU{4x_Tj z|IkST^32OsKY1kY1Urw-sQ@oOfcNdw7K+ow=jShXy_2gc%v;R1b;;NUnE8h7IAOkF zy2duq5MO$I5=F*E%U;)ElX|Mz`}MU@AbxY=b=iI0{8w-+QArBj!98qmZ(#xiTMXD6 z>)lWe@R4&@=K$g@d6r32{{R`xbB-AF?5%$?4HwuV$!lf&{eub7*ATXC&9)*w%W&#y zG(70V&K}1)Tgbk15J?+#ERI^tj@lGNff!8V--krlJQB2URQtfV%ywkQ)(DU z9IKb8W7@=RPTg-Z%8R@<@!S;C>evrm4v{j!n=)z-TGm=n;7bc-zKW>Fcfcvj@cWEU z2dB7{0s&Tvb>Y6>uo`jQL^a~HOum`xE*-~<-ibT;fq$$IR$dpVpWa`{cOKNy7J6*p z)z=k4&8NLd^wc!l9s6Ly(Ao8#X?WRSf!_Myt`q=)VTl40Glnl$Hca>za4DSF9ZZ{Y^ZEh zC5m(1eMz>}bu=<7%YHmheNksH>C6v$85(9mUYs+|u!li<$%ZGX#Y?h9^sl#9`dHFD zhOeMVgnaQCxJo{IVPyC&em*|*oP4I`&ii?h7P9FdYg_giC^6kl_M*g?%yBYHyzQIpMV@r8FA3Wtq#I)v zPoAYFyw7~Ai_I2>>aP1HoARdmZH+EVO?me(NUV!NS1TkeiHkDi>}lR~F-%d#RCgxpEIX4)$Q3m)&C4JTo3f4am&}1C9Nr(O(kl3rJ zW2R$C#gzx~DfBiPIVPqP-))WVTZYne{V#m(+#m+DPW4z9 z#l6#V8yaP_-s~Sw;La%(1Ux>!RG*Pl3DR5r?wB|2@=VVFgt*FBzdPkm*TXL$<sU-kXI-xFZGoYIizk@XuU83%X)gn0YD3;9` zJLM0YLMb*1e`QKgI3^y#>8GoIFQLkD&dn?Oa_1I+b65pOUW|sPAGCcIOSpks8`9vATR}%NPujYC zQbQe*smU}5{}V_`k@tMkum&Iq0vxc_t*oDpaWX-?>#Q`ekf*)$gkfR-ZPWVGBi zEYmhGUlewd>UX$uL`)C(uUE*w^oVLYCPcf5Ti^sFT}Mx?^fR!NOk4J;CJd^ z7eW-stvXasBqKk4h7jH{yY}Mjaz0DrU?^@k;z^$<-J9jB%uHM7`qqT&>%JwHAnkk> z1adU6QTMc+GR|igmKELvcU~A(l9iJ?i$jRweyY(WKDlz;Fy`kT!2GJMLCMhopuNW5 z?0XO&s=es$c(BlkqU6o8f)+!+Rwii8Ztw1oESL;z-v$E z|2fzb7NIMeXV$!fe}%aWF@b9H+b_{O-e3BpTockegHLE9rGgd~63#hESXA>~RhF;G zh}Q5KeqB{_2A}0o;WRI3|09S`!(~tE}sEc8Vfit4RlM}ZE-2r3S?u`~| zA7n|1ybQS5_WngKCGGx6ld-YWgK$BwFY0~ZN%iaPdL)NIrJ7o9uL>SbR0?+Y?eolnxLLoH*RO`{uJsq|}T;9yJU9KFtK9;ha5+%!+r)6`) z06SaCt_N0yJ3&u3*7PacrKyXu4CnWOG(O1r_$4KY{vQGE%|UAF&rQql)2I|6EC|Mh zt(EY~nx98gR`M0bjLRAXJ?g9u z?`r6e~!+#T969^@7fTXzj`eS|$KEtf4-k3_v!Sq&`Jx?~Oc@L<~ zLFtzQoKscCKVED3(^`npxL;q8BP+o5RLm4WdiK$PK84>>$1p(#NaU_er()@b(yZcW zHjFq;OG~hnw5bm4Rs-|}kU-K*F$dUj@|G)Ce&!3)|IElRsYR?zN?BNXf4k1(jb`?Y zicSbQTyZU3jP^1`r5-E*{Hzp|a`B4WaC?4_5x|;(8ytIv9Q-~)Pt@hbDNEqj?W+N5 z;0K!8aKO@aMRZVI&8eF8Ty4IyaFglmv^BVR$({lNlC}+ZFLcR%i*g8=^gEj0%!Plh zSLKGLMs;?RYjj(_;=q0M2uBtM?jrf?GU4YLjpYt@WP}uoea1fmardjg@&HkmSP>UP z8R?K$z6g7>y^f2dtKi7KuT+(VrZ{n4hZzwVk%KYd%G|97hfCS~dtq~LMQ$NGYD zo>GXe$KFmIG|dP096+%r!T0p`*wYp`n(#kn6k2W4eNO3Y^mdOk-%o$~Jmxv%waS!@mq>Iu6{-Y`U&I`}7K zdx=zf^o2a4XkRnty_;!;{!|WL_RxSKN|W>P2Pz&y*N=w(Q{@XlhV5?rdPhNDjjy@z zhMs2S)@Jff(3=8~BQDT; z?+<3RG_Ap|Px=*k0cRN#bHmmOm7`4XG;I(cbuX^(%Hy`M>(%onwzWuYb&`HOD=uYy z|EJyhD&WPAj*s_m5RcLc^gPsNN%P;>rpU?o?9Rws_)wQPt~p%x%>%q1k-=nEz7Nr+ zO8I@OG|%?Xy|y#>JGY2?ql+K`d$fsA7;~yI6XX+mV%jB)%s(Y7ACMjhp#B(>LPS=} z*H_v5YBBrM+%9sGyYp20*W1+_^u=4+Yotw*rNH=VETY@&Zp*`-gp=F> z(=V9jSW{$7;M)K&!bm^=*#^nd*Zk&aj%kdJSe=tDWs{9*g<}N>2(-SiI;W>+U~XY- zFm)dYE|H9w%{sfkv4I)g#v!B38>H~<=V^k)#c&@lx#`hMF(1i#afwA7AhHMf4Ei<0 z`qq<^YJh4Xz2yOQS)l_ZpIuwl9~2U&Mn45V$F`fInhAvnyq&1s+gw&~wT|0wc_hQ( zA{c>L}<(eHD4^QBH?W*+nhW_kT4E87eGXEu}-0FK3?0s8vC*F=qD3@-An z4c;kp|L3IosYeX*m^aBzR(nxkmj~y}p`ujV(Z@qZTfR6sC%?s?>5OJF&LdeZfO~C< zFY`GzA%9{7M@B35nPA&e=+0|a?O9(k#W9p|{6{SWuq>IHil8>lSELAk zg-Ed1cXT_bF|1|_n?|v_u;){UM5Bh70bi{nkur3H{sAdwvuIK_MdVR%dgOxw9~Kq~ zd=OrNunPe3FUmZo^ppi)nmzp0A?)4Ee)r~XKaxjoYVnJ1=ENqT0g$~wQ2m38Bks$o zDBxHK{?1kjlXN>0GjgqJ&!V=%YlyO}BUoH8^dyR{k~gi`+GS$jJODQ)%-!uC zGSO8&FiYcs=Looxey8odd1|lfBh5M$;NiKGV|kEM9;1k!b=i4$B1o>uvoa7|tXy1BG?s|H_VWba!@HS) zIsm_xz*I~_gPG{S$kc>nk)JhkO9$Gadws$`Ni@fLhI2<;^snPGHkg}_D2IC&z$`N*SME_slW=ZWTBxFn5U&3k>YO|cyE?SA!O)U ztfE<`4&Faky)GVW-r_pW1#2S{md`rfejxrE@mg3O(-m{e_JK=7J>k{~9D9RXvthT2 zFsd}Zw~@LAmiK$sYSBzQAK_3k^_*T=T&rbjxXWC+{qA>!)B*^E&*seol&QvL09r%E z?XP29ER(C$rE2Cg`lfzYv=LI`+DIT!tKW{0Qv(piV2l^#2m?s9df66=L&2@Rp%ds+ ziVBB{Mh06Buy_rCz$w@T?(7TNHfhTTV0wktpo}ns%6NIF&w&I?@o+EyDbyw1kGDCOk-~9K%Afv zb#+TF5I@<;IwrMzIA>315z`rq!*o=qS&}Pz@XlKS_GPUC2N3cE`{3MdREu|X`aEuU zYkmJ=C2)WnTHT2Xpml4UxzZ%z8Fe$@Y{x|XL5Kb14IKUeI_NO~2dHrAmHv^i;h3qO z=W>21YR_;t_;BT57eGT50!chhuUPsrEzAv@sjkb1c7>|?FFsKgo0mfv*Vhl;u*mrj z``W(&U6DeJ3nRIy?OC9JtzM~~2M3#Uq6hy-Azpwy2oU=cOOXY_y3)%N;kGy9V$%*N5>WZ=A+zv_ z_-_VwCu#xIUu-j{O~MIfY-}(LDD6Ni{c`-{&Qc3N((B!TXvD3o${9Zu;7U2g$Ui1I zSybITAF76o8EC>`vL(#-x9JxEgL0FgHCbFqrhw zS`4^8J3Vwqux-|4O{aR^AHA@d7IJ#msATfaoUOH{CV@0L&Gj%nJ)U3B7Iyog=jHzK ztux^Uwt>XmrJFK<%m%Omsq0FruYS7o=>p1*N^4Bu!J6FE9M=y)mKnGYTqW^$VKg*X zP&Z(%Z6`l!tPw#ilRfB&&>;s5;{erIfRE<2iK?m~P6f)6Eb){RtSf;%_bt>H5=fnU zKR@(-zA}s2(Bkeg%fW)6lpqdGd@W3Z0Aq-Jl{sVm5&@u0Aer3KM&Z)!gC$%QOE$S-!M;fe2WHkq%o$F{`9L1&L1)d zOS}}yp#~;xNIks-H{`vZUqjjpYG{IzTiX_h^IyI;L%X%ro$R@cG+lZvNQ!{2e;J9>cd!2izS+>_N`g6Ck`-^D#9kv`dC zmroI`NBzmB=lZ*AIcfJtT5tNS4-@!jcJ;Q(&H-reSfvD4$st-7eAh>AuivOWm)a^Q zIQU%38TBnkRpOiLtY_1SdpU*xL=Wirr)WjEk@)s#=utX*Hjj2P4)R=+%i>k8|I{B% z4#6Q?LV2CHCSj4*Vh|cHi5>{zBRBCnPTtrpB){MhdIIk;1*}7?#r^^g#f!!!NKJfYT@L>;bNt2GJaDpUf^1H|QHI zW^`MS?Xfta79xHth^R(2Y-+_7(f~SoHOnA~tRVL5xB_u*kHc^U)$#aax(Hza!1#-7 zUDSP~iFuuX0(xNlh}r>AYoBrXNVx=%XTeD47ca_q`I&l3s@KA6+=oETexmxnSim3E z&~C;vz?Y@O3d6~U<0O=028gtG`?iI=etme?I2or$CHf157z2>}*d){~~;{ zn_gJtY;gzAeM5S1!=C1+aCME(@xsOfw6kI{&{g}+^Yjem!mG*GI4vt;vnWCGMSM!{ zNi{e9CtH%278Y`^o;|za$2mC-6Xg-nU$Y4i6P*Y^ooGX6P7xlxV?d!s53W04pA_p z4^cF4*%{8O&9b0Z+(AK>Dbo82bu5XPa|cr>x}F3vueEPsxpdZO=6efLW34jOM4^1G z2P0H~$zJzGf&m$4B)@TB9F@>u>OYh166ib;f10S0~gDa;mFFMqxva+EsDFvwudy(!#=qq0Ln?{K`YlNU7wCH^yH}U#?!41dabaQV^l_Lx?hO6Q>9vrf>k(F|le8=`xnPHe)*kzOLgr|gi2k`{0B#1TZ zMx?4lqaT#xk&g~X>b3&agF<^N2)ak5CZ$3M>6*#r$Y*mIR0Yx=co$B!ld3na`kV?8 zRye4lgHz)8C6*nLgg)vp6dw;JKpZyjnVhf)A}%#p5;{9BoYKCLND!h7QZXpXFc{B! zBi6UCg0u{w9`3SGZY7l=-a81{?0m>**&BdRs+KJpo`G{Uh7X&-+rsF9HJ<}U3Y@wG zC4x|+^krEoim*F*E@duh!N*z1Oy0^kUJ5M zR$g}Ag|swVH!MkERDS#c2X#rfsBICnTQ_p4ae4m`MGRroiM(LPaR;`3!^I+nT;)Q_ ziT}lP_N1H~dt&=5=fjG_#Z$||TG3AmHsb4CSgV8>oc%q2zN*L(og^bCa;pzAGNk3? z@8-r!60nm1F6t(OVVvCt z_;T!je(0}muJU0iSn7@sbx;^=79WsPzYn9fh(Bi_h12%K5+I20i7|6Qb(5EzMy#g2 zp+6aZL}r(N?>k6KY2G5`1ZII2rb>`=zf8eo;p*0llzCHO3WZ7rJJfH|ZpwLVO`emA zhnO{t65AU$-4$-WtR0h?5Hro;*B>fLh60z6p9|ZV z0#>6B%$5}7HX%uSGLVs=7KM44990KwI1z3sE5>8l6<7ErwFg38sYynL;~Wd%!plCM z_ixpy+4sAv)VRmOZW6O1hPyp+4Mt@nfsrl+RrI+1!vR{MjGE~ub(wW8{WZvY=qGVY z9{7zMM2&N=5Y!JOKFziBTOIK4M0xnXEiiJ%Dg6XSIX zHY36R0e&chLGA0yZxehhuW2_Xxd+xqVA|g@l1jw% z@tBJNSx-l#x$33``k0%%ZM!8AL{}&n*sdw*?AH-r-YQ)8t3_nj*aUGiAtw4cuV4Sq zmxKV~Mca-rWK-3MtEJd$k9u=lM1Dv0YL+~eplX|bzNM%I5{<*T6 zj7-61c?&S_ExLl+S|2{7`;&m_mf6eF>eFjg_ z(y;M0m0p%HYJV0@CwNa^&7;ov2Cu6?S?CoRwaFLsPOG5T-vxOf(^=Xw7(-JrIisGo?3n?d zcBOL{a;TJe@;P_Vuew`N*C|o(6iANnYCUZDgv`GSL^Gubm?X3DrR2IVI01QH;x9|y z(=-*JAL105M3~e+GCD7@T&K1*)>wE^nHJx#I;K=9)_T@+7;0wU~bQ-qAX|D3`+rm=S*7 z_0U|$jw`o5H7jEvzN-D6%3vB1qKDREa{3X(6dwfUe#e=hUPw0kNJF!+imr2M_OaEo z5Y=2?ySOq9-i+rz-}ycD7DlV(utV(F_&GS?!N>E!U|NdL4hQYB?U#HC^zz~axyG=z zzq0q!l(K%jb^SNGe4Xxat+AwF?x8?Q@hVs;PRmw*nd!WWoNfEvv_AVuS{`L=sf#La zDDlnjCJ&~oAQDp{M+=g{_mFsRViTbgCV#UO7ypd&vTl@7zMPO6Iow(Nyskj(kZy|` z)72__nM-dPl1EO`DCP&Qfyq?EuvJ|s<%%C4TL5)2gBp9heST7o+(y*y#g%rMc>w^nN`oNk^)UZjTkSoMzoh4{EY2J zud&#ToeC4-3jAKgcgtT$oxeA)|4W#A{b%%`VozvMcEQ`|jA!~;rI-hnQSdp_;_SIa zx+Zih6I~6g&aPqb?mfaGUtikLb8LTSzXGT zr_pwjCE+5T(@zU?!6DA zJI|kp*{tNvAF{Qkn`Zk&4Fzi?^#UJnB)^r9>z>5q(kb3h3E6r6-yTGX0)XVKI-0Is zOFSQKux=~n z6a3-&jW$0}Qjl z0<%jX&ZmMs%C05aF1ui5A^)Rz_Fs3mzZ1}T0dN9x9Wfk}h!{mOpOimvg+eF4QrO22 zUuIC2Ne%^bub3n7BNHz%W^s+a4q8-4!RB1;lF-^t`UXik6R22mdmtY1hrFD>h~8@) zIak3}vR^&t)eu^=kiXI((#R=KdgXP<{M`Jc+MOi6MgA?F3kTD06OzvWtSso(q*)MD zxuC#3QEuYF-%>O|68A@iFe%6V8!y*a~V&18((toxL3 zT2lFRiDB`i!vl%+y@hLE7kUzCxd&DC25rhtORTfV^t4H&i%4aO*|YsBb`nO)BcF53<|5) zAuyO@y8!kBvfQQ?PhvM(tLIJ4_nY1+ZUd2?($ghG`WZluYOb7Y?#^)-dgLrza-9nB z9e@1B$6C-N_QQeJvOC_a^%haA?Ap|qB|2WdAr8csC-f`eCm`{Sn)$no3h4;;pVpam zwzmf2`p}CT!lf=LtH33%-+ z^~9hSZ^Fhc*r(FP+iCg%a#qCH0qs*4Aanw z8C`H+5iLU+_gt^k>Sc~g1-))nkxpw7ugYP#by;&|xLxUk)&Iy1u53rkZ(dbh>-O4P z%4#JiEA;f1Ei-__KsH;`^m&N=r6B}N*P6tVp;Af(!QjWvx01_|yz6^PB9o~bJN^AS zGM@>VH?()vKNH#FvtP`_xV6mV#*#}7OH92@vkER3R#SqiPBV;l%#CkB(eG!HO^xZD z(e5Fk>u7g8AYs!={0M18%J1TTJJ_wyOh<^hVElv}1QG*?1CQs=9kUx?0)tLPG` z=+c@7cfr`k`ZnXUa;1vhvQ+Dc+;0*|{hP9-?L9d3hNe{sv!+l6U>08)38$nl{|Fte zB^yI8BmT#+Pci}U6Aj*kq3PyIze|_D(rceD1UVJFSgW}cHzC#0GqZ4)(XxMclTU0_ zs|@=sZ7h-zXLvpahN|IZ{ddpI9v*q>1|RTNX+&Pw2gZznk8UUYS2FtP_SXS>OG264 z8cPWle-*)#Aq+^V|LeqD1*i{AGpc?Am%I__D609t9$h;kOwZcm>;=^`x|f(<#`G;4 z=v|EviPg*#5sg?sga50n{o9q!2|QwDa23X%VED$yTr~` znp7ngko|wIyq-ah`KM*d>YkX#7^Ha$nMX4skw7?WfLb}~@$B7WulCvcfZca{(1Q?L zCYom9E_!We$5Mew@akN$RD=TAqK|DeMv#nXoz)NLR6oj-u#{W;MUcr&6;+!q`{jNS{V%mz!gzFM`Rb$ ziFq1k&s|?gU%nAr4*)5%y??e@ z6n6eV4?lpnQKT8&0?-rZ5=aaFtDDaD+WKo<*@f%r1;$@xxL#HVG?@mhqcbRs;HRQ{ z^AHkpVu8bmc6)a^m%+WP6`Krnr&ConDFHmw-xetVh*&TF+MuPf>B_rOy0d#&P6U@V zZR1gmyPZ^2auS3DQy?KYHRkH`D7?Kt570D*_NCZ)bg~^QIahD2weS04exR1)u?pwc>LSGlsObFXQ0X+7BBI*3!b{?dY+Q8T>>N>Q-&z~u{R(&s4 z^-tH|uSMPdcicK(fpL$qPzhp<^E6Yp=+%;=AKv*pvd(CLyOR zjz2B@9t|x|sRnS+XYXs=C7hzpP?ar;A<+6=0$o-y#HA0ZULtI}KvJXM^cL5R4sab& z0JTzw+Bg}(c87EM$8#P4tng2UQ=rya9;nyJo41bJ1LAuoA3i)9JPmJ}G0dzox!)F4*BvKwKaV_fcm2OX-e433Ot2$i0`6-aR>fb;Df4^aO>ZqA-f3g6i z;O`Xt{VNTdNa)ie8uxEm5jmd!YT-By7_`t+6?lkfuZAd38F3!fv12?U)PQ{pOSH-& zDpK9-|Ma}>DgzA4pQR0~m@CV0D}%jdr-E4n^qsL6T{zE(89!`D$wXHm3N} zQHAQTV=Hcqsc~u?csb$2mmk1zH%)d`)LR(}*ZzNck=Xaf#@Qk+T%xQGaIFt+`icXp zF?Abp{@o~;f9Uo*L?fY=M8pBOB9{KBLy55vMW8_gDAUo{6{nAPrt2-!l)3e-R_-eb zff)0@^#)r{&iEb(;-4M6Gtm4~@hK4V+Fq2+jLr$P&I(K*f;TV{S5nUN z?g7Hu;YeZMi{1Vq6DTylbK$7nEj0jOwWRLAfvK6)BD8Y^28bR_;?D{u-8{5qU0fGH zV~=9i@SZ(dDK?L8-?!FotuC&2Ap%=S6ZIU?ckIzHE2E>PSZ>4~YP!rE{^B>{Vy(W; zK-s57-3|a4`NEf@1|nA5G6D@x{M5LJ_|gMaCd&g;5>-d!0PT`m8106iXP*LaPEPVW zi;PYU5rCaYzI(RXtIE}Sc?tmZGE5m9L?KY(Sp47lnDsTK12)V%#b}^=KZ}5`(`05N zgD|-brsHsnM(RjI#O1|-g`>T-bxKqMGSf)FjoG~TyF6;gv^H~(D`#gfgR+eo50Vy< z7n2m(+*;rB1$oQd1VoMCINmso&eyS}uD&2^H)}Vclx|=ifli%1UIs~l%gFCgkLMPp zka>m+-Oy+==~9Ma4iGlXwBqAQSD(Fr87O%}&4Aa{=!A6H2f^y349gZyDv$X1@d;-< zZl-?yqV1VXX@CCNvXh={eMi*pr+HV&(U<-$0|v)c|NXz`(EuGeOGeVLMMa}ZwpppFb zIpmd4V%4M*uuLzhLHMN3Jk_&r=9drvAKh(~?(Wx)48$oj!XDp?!~1~uKwjgAk?^1b zh1t09@iJu4PNZX#ut3%(iaO70#?YiioweO+2EEpq`*>sXfDwx)k}Xn3S+%*8Qz}g9 z_(PN`CU>bb5O7D1mWlyM*V0cOfUB-JmX9AeLbtz7zU^T-58kcePAteC-)F&Bv;tF2~6kUN?RXH%uPnY_PkDm>j$-7x!6_SI5+42JUsdwJNY&B*j z8%mh>;uy{9sid6J&G(7k&8$xx_Cc{{CJaHWlcK(2tbs`zN|MbpJ!Hk@X z7I>Slj^_iKke$*6OWzfe#Q_A2Q|{~d6)OYpQk?ZspzZ)_!X9_m=PkM_ug-z|VfV=t z<>}MFP6=-M4Di-9rt=|YF#W^{`d{qD*f$Cav@}0w1T1x4$ohvU?Q}w*iT!WlR(tm# zt=X`y4 zcPEY7PL(8BlJ{u=t=y9q-Il{8?C5}@yyXiElrJ{Tbd4NQd+uoC`dsy&1;~+uuU+}m zyE&ps?)) zW)HM|swWQ-!M}z0ZaRkYlG=chdS8ENk;lNJW&Q0rFQ=F@6dl}@!a+&6h`&Nt@Bz!o zAe!3eH0Dkq(uKfm&qLe0#zMVq-xZA^K}CQ;%bi#G!-Z6_-4B%3sWpfiYJ{0G#aO@zA>p+|HRI;*(CjOSi}{;u({;lQLK@KD_Q7 z#jxM=m@6GX!@EDC*5yq%+fZ*rLh4@qy}j#=GEW|^?qr3}QIr5^t@S}28{#v!wQm#p8nse0SV!}gjXo55;%2#HMN(5(SN8%U+UFfy*T;T41YmEm z#1C8CTi)1h)L)&uihL!Wk#slmFs2V}n=tm~w^g0Fw4BhHn6Gf5Gr2S!=zLXLo-iVs zrY-gmgO5kg<|(Do3TfG233;`n3*A{r-k_g}a50k+6TdtD1;%nx}b~^AIK3Ip^f;z1QCBTi>^qZ9D+A?X24X6e5?&U01|d z7by~c?}l;E@bB^VQyKeyb;7aoDy*0PCmuYQ&l#1YcQ&?pFS}zgQbtP;pCf;>S`Q%8 zdW3;;`TkW2kKbkYFCTiE(h3{{%*GBbq9g@E;V!R1AvoQr#V3O!}0?l z^xNrjof!RG&+O5squ^4i2|*g~FPJD>p7-RHaAwZSHhYU8Xz7pIYYZ zyEu#>h+iBFvVO^(pHDM0dmq&3vFn~=)R#I>aRrM`$8r!|gCDsOaitBn0Y5mawcPGMOqnP0;ABIcM|0$QbQaXVH|Z2^)nh zq%v&Wj$uR81V_O6J@xc&)bTHlflxK?S*a zr5Yg@LFkRk!P5_jxOeBi&+qNuJ$5rkXrZd)voSom#fYy(q8AAyq;5h~O-Fkz<6kZg ziW+rkgm@70O?z`v<*OHavC9=>sYk|5xoMiPldxr`_jKfn=YZR= zP^Kux;DE;1$j6b~wvlYw@zXTvim^mX`_9Ivc*x=BTQWF4zsTf5Um8acpK(4e=`j7afeOI_$4xAc39k5p&OA8u5vb#*N}BdYs^_VW-n8CmaoD zRw*7bh&Yln!0$*q_`O?w-Urf9Br}ESS+k_}Uf@ox2%Na6t6!W&NpU%$$t+9>~KQw+RKfW_>qy1RBhBB%>zLjXS4#0Q`dNmeF`> z^+ZNajHmd_KP5Qa_cx<uY|4q`9A}8$MPN>K`Ia@x;U|`etd2m@?IYMGl}*_KykoOY zv~Dk{RyjJu2;Weo@lawmz@U@7*{>qOK}^`Z=(svwFB0HJ3U!_wyFT zJ-ht;m}GBqa!N8Psu5`W?`7MWbv~!AkRxBcyKrP{UBMe{4*;tkvI~r?MWX5t*!( zdOk)F62bGD6v#7>@QjRDY3C05dI-YC+qxBdn6va{aS}g%B11>X$viI))cCOC?FkK) zZX?Q;^q_a_Ha*78@3>E0*&W^^+TjZ#6A{S#(1qI`V zVi^!gsQ}%#->zP%CjzB|PLVX;-+UU;)?cnwY_zy78EkmE)w0YaMPA5tf91HqObn+vYyYn%;O`D^*Rw2ev+$4);;bh{BGIJn?&u800B;#Aaa2MA5+{E|fOp_tE;2aQOLtqDSOWbJ5K0yPuRYl0Wn_v!QNRl|H^NbhID4U7bF6dcpxS?D#+w>z1dJlPqDq*0T{irKM3byW8;Rc8tHl zw%xrc+C1-kvMf^Rx23u4r{9RE>Vp@D*O#-xnGK3OCl!GFC%A-ooQFg_)+EgEbYZ^0 zx&!M%QN}lo(8g`b+BKYx5TG*~E3&BT-vRDKk69S)v^1;7{y}rIr50AN)soY9`=MgF z%46a;kW4BN0zmAt5Yxoofh}=I%q;J2-fop~M}2K5c`RS=VxnOAm(Ce~T+2nQqDan7 z{)~4!arJwBw@hCn=s95DA`fKf0&@Uk)urpX`|?P=S`rB~?#QA4r=urf#a1nHUVH}& z<=H+6tAS^@z!GoAx11xIj*KwEwi3U03augPY(c+@RzJ?NXFdJd8odhj%Oaaf)b&`$ z<=2;&M7kQ4>7<;ExgG?#E=M6BO#Z!c{Z?$k=~HUHCpuH&q>8I(3bfwkz-m1EjVKio zh#i*;X*=ES;Gl3D24nLncuAhHH$A_H9S8u@jM7n8^lRUkT2Dy)~2(a4oOklY83~~iPpH7TQxY?EHxz24}*;E z-Mll#6OK0J8cx-~<1PJLKL<5g~CB#FC@YmXmkc66#~sAj54I7UT6 zd@W7C`LGGRYC%2T7yM&qoo|SMnwL-gn~hACKF(m*w>=jFo241(=8jF7D~hZ0!@D;o zy<3dUxtEtor`WTyweysonZrJR?OmGwFoSW(Qe7>OX3#%ZSDtR*=637%--Y%Z6y*+@ zTRY@9>XpWA^sR53mZ7Ctfk4GLNGh~Asxv<2iDjw7E^=Tb2=;!fyE zj8K`U|B<&yDaRe8gvquvL+<1AktDbmhkm)1bmNT=58JUW5k&jEUVQOAMFCYNc>vz0 z6>+Q~o;=M1o#re1JK-{fL3xlyt!d=}n{VMl73*;m3!;`Niy0y&opfl5B)Ye- zO?!#kPdpo#34d?hHJm@zoQWN1gs|ZOi23k=P5Ld&rwcHf^&1+p8>~1HzU$}+%b@23 zUi{To0=e|}UDEyTruF-*yt3MtT^ho*8&V|HM@FM``xd_hT$B*$o&W4-j_hIU zeuBL?z|$dauYeDYx;L1GgYa07(J1jF!HII+k_SN-U=Jv*_$Zp~;$Y@D+w~-YY;zPU zgEr;FTv-g?gH931%Zd?u_O+tB=Au5z;9k?ko<|t^7$_1%<>7$O%xOc4O!I4j`OH%p zJmrfMJ06cP4w8Y^mwz%m9>$aEnTT=8u*T0zC7H(^mEO^SCt`rDkA*2)6f7Z9%-U+@_Q(RE&n&qF<9Nfs4hyg3q|sH>&c)_$^v z#j>b3Z++X4)u?wrPaM@1D1T?)5s}qypu516B+AR!Lv(Mi=X3HA9X`*7=#4A(zus

z}|F8f+NB-{m zh@RsnGGzN@8s3Q2kry*Od{quo&b@UC9JghIM!E;89tAdP&52+e{k|}>#2W)j{p9bA z&UguEV2Cz`R=4#J^~ilCu-|?cte3TyUsn$nnywenJQm~`STECPf(l!9@*fW!8WgUs z%?1`V=8?{R3_<4dVqzt*L@$~3jMsSS|LV*cZ2!P-jd?u1GIE-m3}7ZI>3X02@bhIr zAim^;wRDM{AFJDp8*{EdXC3I6mE~C@#{QKl$znJT5SIAH3&-9%-(w7ESxt9^+xBp_ z=*(jNy{#(Z@$StH*Ufb?AAR;zVMLu1&%5A8EM78i}R2mZ|QO( zdcm;&;$k&&_Xcy5n60&~n0Kb#tIC}Ctmbr6Ebqi1oNcMA%fSjR_w^7>)wVV8&JG(s zBfiM9dQ&>1%GaAGxfiSu1wwg)bHynM$-|l4aJl^PqM)db`D8K*-abyad>VbMLFVER zvzl*D-{OvE6&+GFy4~QV+G>nPN8ZHqjIWe7lb}R=OrPAn^}$|X>RcObB`U+D0Wnv= z<@4o&z2A1*R?_a5y5P*+BVnA=Snmx!W+R;-KTAJyGW{Cf3$SVKwqn!k+OG#hAjDWO zBQ$QrDvpCB#IBw%O}BZ%u4~ zV*kayn;|HoIJ&rR+>>;pT$wm$>?QBv8|L~(3Zs8dG7%7`fl; z+!gvoU2|*5kI9)i4Q>=7RezxeTa&mSihHu0Ps`eou1Vs0Or0DntdOpVihjf6h-)G@ zjjW3`?Rd#8vN#%C#I43XZKd!Kt}N-j!!wPcq!XPl7n|_Gj-Es9p$K~lf`|RWeE+v% zCigl;hF8pF`aZR1VL$t57Dwmc>hb+(l#ghr3Orx5J5-@Ejfh%J6<+7QlB|l`(@gfQ z@cHPEDy}bI9keW>6*@r3*-6faRq6{0Ua}V-!)70w82>3m@QwbG;w30aqd|XvYn_UX zjDX+(&ySXEYVP)4T=3vK^N6|BSFp)QbDohI!-?I4l}>xV(>u}R6cjbC4SQp7%Gb=X zu5mQl$P?7cVMA`9rg*sBzlBW{Xt7YFpyF5y*ql0gz8=vjiX9dVgk~irDc4jlENtU@b>K z(e%vgEYhUX;_+&-5UV+SWbEndrcr&GP@Y=Ox_q%8XE{%4K%HsQ!d_OxhKBpo!Mu9Y z^SRCke?35{nuuF!p7~&h`Wnx|ZryVj(12ug2d4FFYvJ?haS_X&ZzP?Ckq=0|4GqE% zk(U|TxZ$Ef;a`**A(F}s2|lh(%U<2Tk?=Y-`@If7RT8C)MYf$#lSkuml2i)yliTKD znhJ?=mhVcw`tFjZ5ZX#+=*zC#jxdT}4v5hABVBA&O01SSjt7>_uo5jj9egXl+(|dr z=C3jKp5Ima4mZ`f#5{%BVc%HLBb#_C(Q-u=uIsWHTz!t?!M)>_9KZvUagu#s+Qvl1 zQxE`o8X()^-etiBm*WjV9X6zTEq2Re<};y>Vs}+zw^dC+;O*bM{eqX#wlTlfRX2}O z+nLQFf!JK(PfLJ2&Bl>>*xSqI!k|~kBp!f>nZN|M$$X4+_TXO|f1DI{lH)2^xokG{ zgzY1Jj@zs?SH|I*C?BE+jj0SZ%4)Z%R0+852pP{mue1EQ^>?xlYvGa^5~Lx$L%Hhg zcRgOlwm3XzcsVexNhN=?Ps`40#E2<+e~XOyO5!uSnZ%PpD@|SPAziAB*RMl)=O3&j z_-hi0L*k2kee_K>{`!gC-$?#ZLO$)eJkq>q*>TSxes@qdYmt${5MRp2b#dg^P&j9E zK8m{Xn#iV^*g^JqY*R;rY>Xz&?^o9fy=-OjE(~T4@G#c;Pp{for7?(#cW0I~houuP z@>EcR^r@ga`!_}N0+Uvn#5;s zT1Je{akJ7`2uJv9VW(Fk^eGZB@FBNG=;IZ98$1Q6>y_Tp=@}4>9*+JA)ARoY(9m~$ zt|tf5PrQZ#>CueG-x4PrB<@i5Ew$MTu-u_U>-ph*qLTl@9Fr5%8_Bwyv#=AJtsY|R6CoSvOd!1Wg)lH!G5$z4thX+{fCS{`{uMa-4Zv>(G5 z1w;L{<%V@WRH35)we-yohip>3SuZB)Pd>^)MxPzIKXYBZNo!0d`fG8rj{5_Mcepad zU79dED)kvZ(T>j6&;U1#eGbzGQKl?(FGz_@GNR!5l(Af z@7_48Ss>%6PglNZt1@_Tz+E1pf)+&gbS9H%w7?zryQlVnwxi%-xKy4#oldM4t>>Lj(zzZ3hn4hK&c=;)_2_)LQ+~j=UUr05}wtn-F zk5q%gw%4`-+RZsA6k=7k!Gq|n>pqSv?M-QNGdq-Li^0=-A=)V_c%T0r%@w@oK_$i+ z&6+J?(I4CdqoN2yowd1={+$z&tbp1b1*FKOEY zj=^qIE$u<6+~RPs9J?XwqrHXwmdLK9a&Pj2l+b`ZZ~Tgj^m4wUe$lfnMgc3_A1*gq zuhGYx;nEBE@$)jGO=VJ{Q!)Ku2%g_F<$m->$17Vp`5fHXA5buLbX~8-nFN=4^(+8WF3>D@>3KQ2edonePX*QQh~pp?BQ9@+;eDD-Uy{fvEUSNkPzVT; z?4bcL33e6a?C;hj-liMlw;5M3_z}cgxPBu1PVe7gRL$FzYe)=w8G1NqDY`e%1_E*Y z>t8fIM@y7L&z>cw*m^Gu=wd=%$4XM%$yow)=KkrL{rDLlPrmhcNYQ(P?kelw zzVifkqr0R4t(~>dKctN+#A51h@ao_zm(Obx)0XzCh{%wiQw(l~vQ0{L;lULlDf%@T z^5$LQp1#x^O)%9z-UZ=RKnWS(+_V%UC}Hx8A>C=y5;hPs#5U0)8IwKr=nm4Bmd40)s9Pnciz+V?yMk^6yEttBMptQQ5&0{?2uJYghEx z&$@&10A*^jB5ss#kMlvY&k=P>*1_)L*owr8CVp_!X zdVyE*$?5P)t34x{uKK~06MfTmh~hP}NS!A@8HTjLO26G(i@n?QLLZSgIPcJPM}=x=yLtXa zy<67Mj9;7eIl%N$8#wH)*S@S~-$q>(i7R>u0I^LUy%(Zn_vL*6*J4W~);d6oE5n6w zm}Vu)m91z7Hz~EY+up2Oa(eLh=h*3`%Zb%B!N)9OGwEi#^UHk^s+*EiOrD!AulJQ2 z=w1)!q}VO+c34t8Rj9_;ZFYIZCr-VZwtnLFa-}u}rVK@d%49L2?p$^Cg&F8Bkmx5h zWZWal>c^P&9|GGqKM*(n5I%@^Kd56qRjC^I1sNFuFzXfVM^Vz{TG<4%Pl>zS>yr#S zzL#k64}U{qkJ}hwh|2v5)h!ET$nwXA;G35N4*lQ zdL!P#!h&`2A1nA(Sy`SW3p?iSv;N)=wzjYG+V}bt3Nj8{SGR#l{XO}$z*|l>QtrEh z&dd?{ojKnnaUxz_hq8oQ4xZjezgk_J9=IaZ>HcOnLs0R*&tJ~T?9sov-49!M zAV7!tcGrLE3l06YX*KT5G+pd379F;U`PR2uIGWR;Kp1trb@yuVdRj*PR{Oy$A&tl0 zP)*K*GsVEEgEmFcRJX?cW{T0!I%MGY$fG@ghWW*}@=La7rFg#VM?6qTX*yUXa(&S` zbvc^6FBVxm#qM5BSq2E1Lxb9H-B5qZrVMY3xYf@1-vSAuO^2GI z$DgNf8G2QH;Vga}cIYlM2G2ifnP4{)7 zWmekWjF8HN?0Ut;`$J?^;X2arv~|9HB7rh$lIJoC<@(pQDPChXb_ik;q-I|BWr@*d zYnR6Nm+cC<(x$$mm}5jLNV-r+F(f5>{G-9FJjl(q_s`De#~i;>Jod_!H0q*JXxaOo z26I+c_6dwDJk7;fm-W%8cxqT!Zve~M9m>U{v+=Q&;%O0EE_edMPzjS@s0UafLctI2 z+1P3b{@f%uV$+aqd5rz_D@n+y+kmQoK852K2kY8=*1dbyctoD{)PXI9?;lUX;UZp3 z<)ioK-!gsScETSI_GvN{V@Ef83s6Z+e+lXe;*{mR7x~uA6q{R>t<{pySL5q7E3BkfC4-ZLk>((&cSbDDa4%lMnNeMR28Pm8RO zGeC!3lcS9J=u(B;p6K@h`zc01rYs*!OC``pXn*-TjX4ltw^34QK`}QDCJE~#w1~*& z-RcrZOnA#(%p7d`+3In91%Rrqh&V?n`o4g71BS$||L>RII%dkwD&_)<8uH`;7YO7P z*Z~ggzH_j-C5x@kc^(06X0}@W*)YA^@a#)>18RE9+YrJXU zGQQZws^uQP`Euni@QjMsfhB3*=fc(yID;DNHdaemJvYEoM7q9)J}tqyevAKJoAI`l z819%f*+Wl=lsbN1Q*_^y4n7^sm@a?Q+qSC3$a-g;;z7fE%|ON2Ye1qfD~$L5%d&bojqQ%M>FV($BHKF20YJ2yFbx&C_kdK}8G897mbwzqPhAD5eeLF+I5x50$ahMhmV z7Qv7|XdF|t$MTd_9qT(T_-4cMClY=>xctL;6E`Tcn9_73w-p2dYotDgyI8T5_DJSy zgmlc01gvQh-AXIT9$k-R12GwCXRK`(BC3J(uD^aTCq!__y3HEmwLeY}*s|$RhlJ;s z;NP#BK#f|tyN;x1GCj4OtS>loSwEo4L#^$50*2gavALduse7H64f^#nN(BZPqUg6d z3yi$8#S`;EpX2c9D7qHOPjM+dOCSN{gL?r1czF4hEyt`ZG^6_zv9u|6Gw{J&{&6?hHe6tbsf(h1z$#b&&N50-xma2VdPrl^B!yPfE|3?Meb9?*pDlv7``qZPa&4r z;0*Qq%Sy!ENC%@@J_)!(EAL>OK+t>&BF>ZDu3%@HLQcicr+xf;&T(8ZjOYnzr2E3C z&t5`nz`g)j>2bn^PdCMi&YpKnsPg6eNqn+n%ipXylomc-q^aLIju6R|s+dv;^fKF7 z1o|&@f2X6#p`?jF}aoSz_i`u3|Yh$|~1>;;k@&ZiL^I(m9`D-%qotE|3zQQk;BT*_x! zFgNEKKr9Bc?AF*UNX;b6P5ka~J_!%VA=(*%BV(^93MSpLvnG#zk^Z6-osdjDX*;^A zI>AYsLxR?S@d#4re!c;xno|2J(}u)TQO$xLH3#bEgvWVsq9&d z$sGtuRZpwm+aM?)#{@ien1Ggi?N1T0sj|b{qKnENPUZA6@wP6n8f|haz~IrzLq(BS zXTLtL9KY~Qtu}G?8-VUbG~vX921i(#u7YeUjXN!x2+{tt0#c9xr7ULZiDu6-zS!}x zSNlMc!@Fy++5ywg{za#=>e?cR9_$!2bqn~IVz?r)UyHlByfa7J>xQuN3e#Lj9K44# z&JS@hXP1J|B^;?|bU-%2HXp;BucR&Rhl!mRiPbtf`IzP8cBp9X5-*+3U*KA5V&9z! z1hqzkQ>Z^TI5TM6jvl>a-V91$Zr@gE;aiHkSjp=j4TJ)c-zBrhk;F0J!S7%^AfhdG zE#^&o*U7$6?sL{5Hp-`Nj`@Nl?ZHxh|32?O%8?te$Yl`NCMj!8GiuP{JLwNtj2D2V z1j2dNi4QESe9xxhT|rH=nq3B!)r(_5Us`Y1llLNBl{-MW*#YdsCuR!%j!ph0w9#=9 zTFJhxlh9RHMS4E3nH+(t_;v=tkn|L>(ciFl#p?U)(HH(IWgQC5g;e7+g)?K4Kkzj z0uL8zLwm?97k0R59npNedkFo*VxJxODtg)lBru6Le(qom0j1yN$hhRFV1k>C{dD#$ z-iny~_jc>rnkNqlcOT`GC)69*iC~EeTIFk3FZPB%JAAZ;)YaFMhqZ-?DBdF=yhlI~ z&`irwZJPN$l>bQKmq5zYM zM>{vQ-vpbTP7PoW!@};#Ztq>MIZVcfoVb2z#d(_N=uw!Y(fj$GS#qG|4yF!e0-+T; z95Y@eJ|Df=eHW*?l@5tS?X^+Vnh>(Pt5ZHJ9lQfGPdn68ZtQNN)^&9HMM(RFTs2CU z#`h89ovfsNDK0gx!Vb^G=wxr+@=Hyamh!xQJ~x+&E9mkU6sr0QALL@{x&vnU*7+=9 z3=ZnPFl6EK6{J&vsZx1qguKu0$6_589d8C%wSS4_|9x>jDwenZV;i+>h|sot@hNBu znneDjSci?}XDdDUP6sf=FFeS`6m_nRd=TQlp0@8JLu}pxbuz@h$96o7Y{X zpSk()4ukR&dM1D@&Qtt4?TS4GV^l#G^YsRiQjiQ>Lnc=ox!p`-c5%cfnkSgb;`UfT z9&mW^ykNj|qD^JY9HZQSgTW_#`Z7LHZ?jZBYbq|r?ua5vqmqg73DxZz-pSIeCDoOK z-E80e8$*#p($PZ8awi-iFsWe8C6A3+W=cPOc%`j@%k`KPWH zWjeAVMlsjfC@6G$iTRz;UlLobWzIM^#2D=4X6?dMZK6{i;k~d{*mGJ_wL`73L9{+$==~67(3>VP1MY}kbS_Mu`%Vd$aIY!PZ z)y-s2WOSRB9qTE$S_`KJmU9UBl?tK#P#UE+RYqqpXB3YKc^V{Odvs)oEil~U z>7CP;+ar6jdiG`D>I`V~_FQ!J&-@V`erWke;t4+gVAJojH#qpyAduD{=IQ}siBr1# z+W(~m?3~)5`NMz{wNnj?BO%g=Y9X(KbR`PRtr!^Bm46($k zazc(ssMlgt6ux_A$Y01jI8|c_`v>OLE(Si`_}Uh#r?k)|KIug z7B0a4KP=$#?*3o?kV%(QgQ{!xqwBK;AL{N7IPm;&Al?4eSWdbCIn1LEbq08LHz(CU zgr@-+1*rOp|BoJNw$SOq|M|_?!qK0)SKS_en>W|Eypzq>{|TY)-SDKY0RqA5kS_U` zwl{OdtMjfTq0l6MhQQN5wb4OyNkuX5?aAT4ui0yUS>oWkic$ubQV;vPNGTw^f}pG%|LLw_V$6JuP^Tifcngrm#)?oIooRUQiy1P!E9|As~^igyMhJj z8oew{XV39f0|nWygZmVbLjLouum5!R4}JM-Z)ki^ORs$(oGbhjlese9a{td6FVA{; z{Qr`yf1U$){ZEcIOZJ=uf5(nJD=0vLP_&- z4vKM7qRR&SO#e(O`_M-{5iRY}7XN+zM)2(N>Dwn>=5heNO4hZ^wPVK+rw0D`f4+dI zuEOl!PgVaYKnVlAdm}k0a&c`yLkV<)26)bYW3v*4&EmGc)%;(=-5e0 z^hb)&@kav*TE|;6(_R$X#njGSnm#HX84EUsle{-rE) z9lyXN)LH;)3ss?P=>TT8XK zL43!e{g{nL2q-0ZWh16%840%*hKIL)iE>v#z~!Hoc746cNx$%t0);l}fnx9?T&2>!Dqo&IY?ZbW{Q6@0+SXhMRRGOj?dl0>78x!{*SPod2? zRjZS9_t={~x*xir_@~33UIOFbP`G#J#{$=Lk3X7l@VC3~oCoja2mc=bU$o>K000Z| zzf>##d)R-@2Q?XTh1{0t2D8!DqF%U|383NKl))M_7_gGaGa*Gt``~N~C;xrL{t=iu zALt#;pzKl7m8A z{nJsG*RF56>};X@!orU3B=+*<4Y;ZoJGTh$liNqbC7@s^3&)?ny=;1A*8ERfcah{+ z6fY_ctm^;!?8?dIlD{##UE5%w$U36%l(MD8Z|wz;5~wl9cA2tigdpdD?>zpFg{w*F zS?A|p%BVq2(=KCWxExa!a?su?N3B+iH9@ZXxt03+A-K1PYAFoH5dXR{vd`4C*|K5` z0B4=cyIrQtNpWn?>ZX=l>+(l#(LAfkKQ&Zf+HkFFGiJ9FqmXS4@duJ6=eoqD9XS}s z+vm|SGLQAYdpgTMRu@i|Hsh|*Gq?+_LN`!XS(Zz}I89?E=xFzu{N1FLDGBF;+g>Y& z%QKmZ*o4b@e<9(Xlyznk)8A%yhqY%)dzq^WT$uUK< z8s1Uy5rCDVao6om@=+VIpptXjZHRGtpJX_5im8s5~vAnvh8S8dM4+~-ilBH#?IvyudCQU(itEUJ? zbH%6};cpiizP!~gQ4=E!ED^}I#7D8eQ5S^WJfn+Y)9Q&WYYHjYFRRHKVSoLnZ-O^I@fjw9zAJk}Ko6TjK_`#b4u=rz{@ z9{&)D*VcIt!L__ME*PA=%}!%aJS(bmI|(gthoYzT7%-103wtMnC6<>+P3i7$DJm-D z-xLR4CGP~q3YLQENny}Sj-vbkKFE7xM`O84S2L)nDj~#*!BJR%b92|@y$*@4p5Dli zl5-2FnnoXHS&{uIb!%^i-owJn2F{XV^{F z+vvRmn2f>r9-2F=!Jx{rPfH&l*Hw1?mT-dRc?SxUH9*<+c+Uox8?iQe_s!SYJv)<& zH&w~q$f3sPd||=e(C(Wy=Yh)zbFifdnT{^eh+1jo&ypx3#1u5~`Nz|BKAHGLwDqNQ z21s7^MbM$4_lSrHhYiEfa;~mEoCbW($`PYNyaKiryhnvYk|@mUN~R2yqkL$+L4@A- zgCwcku4VjEnHOZaaE?HZ3T8LI1Rlcq)vpO;DM^N7QDbmECy*8{Ei+rm1o)h>TZGDuRQN6(q>wR)Sh{5c#5Lxefrg3(9otY$ryA0p+WrO4k zvN)t>$|ofs7B!jfu1)?QJ0Ce9_Y(1QexPgop?HlmWg4BNW=l))ahhu^+ObIO={g@( zg+$BOgavc_5-covWsBC=)3jLGb@M>dltHbHwF-)Dt?xc3C%Ls#U5igI-yZ08#o&6i z^sjQQ{t81>t(Eb8)@!#~|4C67XJl(s0)Duz1JqTNa$3m-y=W{ni=HfrzkZoq@So$I z;vO(+1c@R}YrR#|7O>-%p6O=`_*G_0dkeP!T6}n%sE~D|zKTvcsB=WBl_+8w{|$^& zO@P4I$ili(V$M(w9#00tO3{VyxmVnB*2@Lb29bH{z5pJl1g?3+^ ztFvl!M%ryVYjeL<_lD$4a$X5kd}tWyx92!(5Yb^-rqdf+-(}9jRENy$g_g}=qi>d? ztrk2?@I&G`DY9Ysk{UzwAiSWr#T4KDi6u`iG{PdJMz1fSchj+iYQcKM{Dkhtf8ASf z$-N_|ctUMC7V@%%5#=LYED+rX@ftOSpzoPT=HrRuoOZ>~X#puz6T9U*rPr_Zh4~C0gf5nCvcZNK%#02t#(!Asa0tACy*l z8v>~;=M-XCYpO356yO}OcXNd7lkc8nBwxqs*X1x;er}-vx6eR~jE)A~ZBT?KaQBQ{ znkhQSeF)=Fq3_cBXvhD!t$XAbbhmAHd5@K#=5~g0kwIPR*^|40`-1UIId0ChLMTKN zCH82nv$^?;Yi7DFAEb)h08(1CyWF<|e_0x;_p1u~%d(>OaggQps2knuI;>E(k1e)U z7>@@dhSpR9h}!E0|C^a^m&=d|@lv==QO+92%qe*grGx zSW~Y2Vj*&WgCJ}I^JS%O#O8yv_HSOac%(M)xL%g4Xg3GeNp z;xB%!S^#1^HxGX`b-wdaRG%q^ux>38_o0?K;@+3uI4<{vAMdY<+oB9 zuDOK*=!9w4h2Q8+lQg-)&q3QI{*D1sFCN8(_3&oOTj3vhdP)XZMpw0WNJi(xjFkEF zOb0wC&C1NO#5qJgWY9$l`gNsq=duxSRQjd#+ThjwBSi&w^&|Nxit0*2ZbTnM3z{+o zs_-($j?ibCn9%RHaB3CAl?*;``OF|X^^FXYXF!y(EgxKgFRiDI?}PoSjR{D7bgytC zvq$?0!|S4tJMAokD<3~L;-t%_odU*!CDf9ri>iDgZ==II^q&XCoen;SmZ8_Thxs5kw8D96gU1#q4{!-m#PcRFWyX+gV83ga($6S^&^xZ7l0zW{+2;q77_t zz5ing>SQKO!^h%bqK|E##AQ39DrMHpv)WP0HXYh;6BOa?S3RzRd-j$VR4z+IzuYFRNCJ0hvJiEVDQEJL=*rhqfC^60o@gOl@&2L9RHLJZ4`*J>cA9+in!TP)8tt??p)9T%<~p{@V#i{ilxVPUe6 zj&(d0fsGA<_kY)9CPa`ZzqrThI5xDZR#p|-zp2Y6FW!b{G`X>`P@VDif`qt|4*?{* z&sf&nhaTDjy@9BqV$1vTG^LC|kxHS!Vy$2F^y2g_;^Q};U$oEPIh#86&oC|-o0-up z%K_HTgt4b?|2kT&QX6xpWhlsL3OOGezrju(*6r}d#Nq5q9DTjV`aun_XO!WUd4;qv zt5xTAjB5@_`4EG;GGm@!nN~sI5Q&a6nORxG|7KqKB~Ue{3o_>sH>m~oTjoq=0I>|M zp*cU-8|I{G82$0*f-|EIY6@wxvgWSoVEh8GH9`DsBX1musVH@6tX1!yi{`C{A3n|hJc^yL~PHdMo zWKlRfX(m;x^;b6hvCe`IgCtIH*Vbm$tD>h2&^oy>c5`;`A0tp>3?WciKOJ7e8Iuav z-H;L5AUnXg^IrohinlPU z1-5$Og3-2-UrQ?<*Kl(`MM#jJ}uf|#-uE<(! zmd}kH-o-yHzb@zwA#(q}Sv|Hvp*gZA)Pf0{d^{jo!?*-fG#p{rxx9nZg*!`LL-lGn z*D;rjRqVfGt`Jd?EK!OnhA|MU+dO}q79%rMPUiXJ=*0>J$D_Mdo4-uCg&g@IeDuVX z@#4|(1rNnF$80Ls;;KSj++T_qM6@WclFs%0vStP9q*zlr4=*Uld#iHyEr^XNG|#)PTi^j}>v(3p%=k#Q>!lScpKv~kkQ}klSDvfK z&IfY1Wu4sHb9u+`KzE-m#>&UU#HtDQ(|OC9dh37NaIdwcfejE1``679a6f3@m^}SG zWLq^8HTU!UTxLa+ZavkWUzz&+W%H2cG^~H#K^BPMq|@D~vVJV@T25I@^B;qd?Z*!@ zMpf_2YP5uDKboNcw8E-vddIpa&xn)ZmNlix_xTONld+Y*M^^u)Y^%fS$J;l4o{Q~@ zk!IMV#D}9PR@Cv9?5$}+hErw3dsoS*s7r+iNm3v=IbA^%e0Em8Q?)Ru*YgHN9hM~w zs;llU)%VpKiE|lC4&56DwQ~CJ+)1%}Lnk64!k$GR-PK+0GwbM(@T=n0(OEJtz|%w_ zwbg2Cl0fQc(BLYbw_wd~w$b}W0}KjtU9uJI%-E#L;>HaDgs5S}=sYJ}4lHE#B{}g; zO+{6h+=;Na@(Q6naMbyi00BG5$yuXu$uk@I;B?X-UuWs?J7t+wW4*iwEm5oX3}156 zjkaPy&@JNduK7trp^q(ry;{eP7c!xuMz8@!%BUzc@D>WSjOul}$f$?93D4gS7D zDMfgJL@}((xvkQYf=`DgFYuKTye$0e&0Suh-C(pV!lld$w$gt7e#w(_mhDUI9MCA+foG6n1eCrh^$*FdH83jl0XyGOb5P^1a| zCE{UQWc4JWFnnM1?bKA!R&5IijrLio(_z);Tm_Iw%*XNQag=jaa$B~TkI?l0dZ_!0 zbTb{ZX!kAbWGEY!fWmppuw?<^-mDj-WiF8kKt2yXZ0_$;V=&E?*?X&bybYYhb`Q9G zB{L2Doy1S({k`S+S1UpI<1}izT!Snv{NxQGEnW!; zwk~?S&?-|Rch5$DAc~mqd>IPs^{E9L{54HAn%#QvWs?LM&gKIF-%NS!V2sfG;d>qv z37&jGN*tQCwEora9|GPR;2Gc+%_O!1Q#<|&-c_{vM2v$0e~|})4^e-cbtSvE8DJOxe;ODu#HBy z2`9w18o?nz>==_Z7wr@LYwyHcF)VB&{=-l5!@|Pw{{GBkjhCBrimYoE<*jpTW&NcS zhef~EgzM(P_i~@PE^aDH+3s6R?@ks!ojf_fuKSPj)Rw8jaJ38r0vUgtw|eR=I=ZXv z1zeFVff(6pAFBx(O?Ds7XLyyplXQMbJ2h0W^uZ!KdB8Fv^y3e^(}&Yz_V)Ju{XE@r zkLI&7Q-4{l9)=EUaCYPX=!anm_U@-_{7}EgX?-h)@533U9coe?NyL<+^$0+=Ela)t zu#pH$<;i%FhIDjTx%*HTfQU&Ai~Nk1jDM;D_p!K@i9QZGi;aBa&PkO4OKy|d5h_tNhJ^Z66fBGBeDRE_inoS^{;Qm< zHvs$w(Y6oIp^{U#pL^{Gi({qJ<_(kXdA`*~KgnJvS4^wi7}eXZ{|ef)oD zasT)8{y%!16Mk&?FBb4mQ~$3IBlI?wKy3eN&OTr#=~+1hqV(`VI~Lt1d?mQkww+rY zTp{l}!EWw+k9r9JjSph_Q0^iCPxm%f6=zak{xHg$?_qcc^MvTHP3?@%DC*~WwBIrK zf8O-sy3r@cte$YccoEq_vc6A3d^bp_yMM&aL!2(U-$rGpAk9^Ad);kgrr?%)pZVNB z2@RZu`8lwHUI?X)h%K|S-N(Xy;-y)i)EhFRx3W_t7D6K!R4V@MKizW$y4OYk`1vG? z|0&ISs#Omu+CWw_)oI=lAs|@#&u7yD2C#Bj_KeuT3;XE(!D(!!>gsyp-Bh7HvCS`V1Lb)oRtS9t2nhwtNiEGzW4Jku_r z(eX0bb@lZrO8MG72|{Z}sCQ2t_)?4wOnAs~=*z6VZ8Wka<*S<-QdOR)S{<%;mye({ zux95{t1fH=$Y&=$KWH7KxPOM|Ng7Oh;IyQ8Eao^*p)>%MUz3oj0=7F)nBf zB+yV@uY3KaZyN{?o}rd6b`K|Xv3H{=v%$Qo{^3({96sWh4*m~8NJs67Rvj@e7vq%A zy?`|>T}{h8$WbX*3u?Dn!ijRN54(pwdL?Lgd@duE1w>dmcz@hN6xFc|S4)&SsI1VR zS=-e7(>7L+!cF6)u_9xJhgjKnPnHpLb8Dw)omvM62OzQ&K|Xw;JT2i>qG>N+WoE0; z_bzQv?Ih4E9$P}3E9u!g$XBg<#Ejc9ajX-OMRr6*sX8>&3In8lGCZ8noGcso$Dk8K5Bq9W|6#{Hpxw~0Gb54~+@{Zcm!fTEB2w#bv=WPt? zPnv)**()F~;nZ2;Zh(@{+}HIVllPy4j{9Z)Nat46)dv9Wh~dRy!!0f?vGX73%He(g zro4pvLL5?{Rj70u+_j`B9;^z2dK5&y^<_Yz_Is6YiKrC|ZH_L7h|zkzf+nfgwzQc3 zhwIQ*y1q$|6>SK_ATT1_2#k)7KJ#x$wXUNh==yP%+_yb^^-19k%9eprv5ZZgo2=>` z;9~R7!~y@fQv-3U+BB7)#7#{QS-k!_x8f>f45W-CB*6RG-)|SF0O18gUK{{q0-*c# z#!_b8KwuoeyTM(I+7rd2Y~_~AEy-yG8Iy(=)9+tzR7U)5;>DMd zHA_CK`1*uPYoQd&&;zT;N#n7)$=-&P;^L>Io@pi#Oz1d|>P!h>{5ou7OROrX&PTqf zoE%V6Res_GEb;cB$YNc7X9c0Oe#>ui25E>@=ZPrv6h$HSq%yajn84)UHPw=1PmA1H zxX=SDZbAkfR%PUMCqz}DZ>=hHaHY|9tl-_sMTZd|+-Qh{iJLX9h#sn>xI&Z75&iPiNMp|@@(6C480)SH{HbG}l}Xt4 zC~d59Smg@?`CiDlE+)3dpP6#yTLT~h&cA*O$>kWdLc&NaVJWV;i37RFJQJ+x=>%K@ z@?MG~(MnvHyxsV!WNnOOqGDq2TUa7GG5z*CW_-ZJU2^qks_u0aO&OW)&K)f+19>~~ zfOTm*h3+qlB{hdQNhe2^t|SCbTEkijf`@ z1(dm>sDmzJ)E$H)lnS&Jq*``TYRZYEUujz*Saof%b!-P?Ug=$^3|e_TJ{N&c@@zKdW+Z^i3x#McB zK?c(@YiH-z9uAVk>Z8RX0wS;RT+2#JUg^)({Tv=vs@_X9|0}L%d1E70rEaElD0X3+ zSr7E&7b7Vt>5`WB(q~>0GFJmG5}1Lp{_u&fj}JQ~0fJT;Fz&Rrs<(?)TCz0(BGF4H zx?fC;ud?hlY;>Zta}`uC6}3g+YvxqeI5qbwN{;cyK9x=rMZ5LfEQ>FthHzn2=Pggi zqRjg|5r3bC7aBDMgA%Zf|i`BE`3AmTli$rK^HDU_63r*+7MsD2wu zMXsJww9lP@tTL9L?~I2~&fT5W#P0=2I)Q+jY;>-g@^30$vlV+)<~%sMX9+7B2-y7P zO||Sg2@u@T+N^qz^tX~fslw&q*->=ZS{E?Bd>4OeN*>qAt%C#GJn9CwhV*p3ofT%D6AiC=fsxY4N!>@)OU0NehH zl&-8{@08E8L>0u(q&^Ru*UzKX(Aons{hFLSdQ;V-!vHEG(-@JfYzJMX9_tQ8m^HlH zN}eo7)aFOwD%jn3)hm2=B^4MWVEx99nwolaHm;_%zMh%%fOuqjot!va0lqN2fPFi_ z|0h|!)4IdL&lK&8_D&Gf^*!0_ROq->?W zHbXgzYInmkO;zg0vADjIljh){NUC~+C0})AWrK3h2ntvZl{IsK!Ri9pvoPxST_e|S zkkw=CSrk*EQV*v8>_uMe7iPUw)1C`eU8X)BP+7AT1=pV?>Rf!oGgK_n=j`mgMY(YJ z{?u>LkdbOuX|%q^=@Z~xYb-SVnj-Y$-3gMO<@LRC`buO)kQT{bg)y2v5kT5_5~_pk zR8XZ^xMhyH$cPPprEXR@V{DPJl(c|Id0mw;sg2%B!O!7?gR}L5>S|ho$&aJS^aH|i zlyP@+?%lfp(y?9e71MM!4!t6Bl&TPskoXoI@nadd{M+W(75R6AhM1j@D&q$k z(b0J0pR9Ev@=JwG<+;b}Lpz3IALqkd0;Pdv&{7Uq`aRk-)NgOp8wc3fe1#=72orxj6Ml@x9pg%l$Tb$0{`4^1=1U*`8jBr>yJ-BaCGENQ#$c|Fj{CsqxNC=sI}AI zQF{tP@u)M*3xdaFQ#Sger2DT}9UfbDqXgm(Q{sx~=}J*emPxwHT%wY1n3(We_x?G- zSP1~N+WFfj7x&t}>a_zaSiRILJMlU~3yhPf-+};9(*Oaul^;pOzO-rltkFMpak1Y0 z(%2eSp3c{KRVhxU35zc|A2goyN1QtBJ~{3&$k)$~ui6k(c9g zNk8{w?b>vnP?q)H+WKyqqcO!N*+QQ*lG3+kF;qt$7`Hyuz8EL>&GMMOOi?LqaE)09 zBKd>!P`I|{+e=@HoC46;*irHqIO=n|e#w|6I}k>+>Y4sC%F5~O&a?Ep2T{CS`F$wQ z#^ttLEW?Y)vE%NcUn86wk&mC?a8Nvl2SLd}RpMKKJwe8T#AIyncw;J+9GQT#Ux(Cs ztR-(0TL5}onR8dQ7EEIUCGap*wYBTvs|VZ=zL~&XI~*P50db>iOXk@3Ik%}$DgTkH zM)biwRi(w*5(OYHQtX|iNTu7p7Y{kQa)A(_cl8L2dzrc(metS!5r%62x(x8Q3zczs z>!C}Sq!bxn^9DApRj3siFJ^3Hq?e&h@ZAwRZpFQ^_cUTS)U4%Tg)4kWOeUT*EgGSpfebmfN_8(1dUN}h@;~>MWjF9`4EC13B zq$m&gRXq(8(%zw;`lTjl=dlNaG>eT!661tbw=45j(G<>%RFwds$?L=4Wi4gc`WUjZ z<+#TtO8?+M)~1K3H)!cGAmB-`rKftSevI8aRjW)ZW=4bnn7DcB`%dbD-Bo!P|L*eF z%E{s@1an%C(&mVd9~CtTrR_kG^t8a`L!Xsx|b zqBSH%T}x*oBm1TpQ0@xq^EPD!QQz9`U@#X(2l;p9s$sO@IwT^?siWM=;Tl%_xl3`w z)ZpVuYmcaxK_eop@jV+A>TjwO2#U(|c+~3>I+v?KS!=U=cr_NZlrrov{Vg*CgI6p@ z4FpDHcup}k{6a!SU_(qm)(@#;PwLqT+V!%#EN@#{dPkS*uJ#&?t1ce&f8#IIF|5f$ zg!4vlV&}-m4%GmO0SxG>+Pz~7Txnv9#=@#T8-bpCh*R)>@f4zjaj!kVEAyt~YF6y_{Gn;_7@^?dBU!W~&}C&PL(!OCLk>5GKyvBkM}{ z1&lixpjR|yf}ci(UT}gCL@o2J3tKuRcslSM>jlq{JhESr*irTeIDV&MUsYe?$AmHT{mkA8 zQb#mbHtlnFRlt~7PBU(2^1gP%mX|4|>%&)PW^^U4yqw~Z3mYY~jLVM3`~(SkOj&f> zh-}TT!W!`$Pj#oJjVAT-hF)7^3-Airme>t+UB|0&OKeN@DyqLrsLc?DwmfgsE>Xag zLX{lKwLTn3=B_r%wXMaIvu>*yX8i-8&Qjc5lbLi2I)BpYYeq+d4js zALr)gC%q<=l50%@ys?c88 zRJiS1r9H&N;zmrn1#gm}1$Z5u$Uj?-rZrPvDT>GP6Ek@~W$HxSW2ux?7;lHzjP3g| z@?9>zQAvQr;iBl?m2%8g5=Z^0!}H)s%f?kVy6yV>W?Y31piRJ#fV_ZPqvK8N)=x%%zAGaz zVpAxj@aK}ufgwp=KC8Q;<{`tq(8tocgKj1nb>u4TU--O1#V|IrZ3JAvvjFBj$soB2@v zID*=W+;jQnz?;$hq_8qBPWIIEVyltbzbNx>^#=C_!|vvtwxSvS_%HHLx@acZA3jd& z8R+LZIZ9CQkKcqv-9r93wStynZkYXAHw?tj#ySq4a&oY5Gh2*qz1I$(+Tdjm7ea&# zq~SxHU#gew)K3O~Vj02lpP;TNFRw$l`$!XAylH9tvAXSZOOq7vbxUMpX4ctlO9 zk7tf@NHa)OvIMbNvGi*O+~|=!RL>Y+U-`z8C(fMkk?*!G-W}SJV6Og+#wAAwkrwKT zS0B+dM2siJS8OdPh3~NoSVH4Gv;)nk@7HAw8pdoqW8glpw7puidOH{OH%;^#rv&mR zh?^lkOTF)mB~h@?CksXN&a`mzv9sovW#B)KS0gN|$lPwb7c*4Q;b<{xoH1l6jN)kJ z&@Kd{sa4IIsZRymd+Qpj7n1UP`^=quGSP0| z&Ph07RB8}4L{;Y&xK`Up?{1c$xUcF3g+Rn@H{_}+YQFSYsjIOs-BA_Xh;p8ulh!xp zEGsEVd2wT-2`UT5!fp$uZq;fvgmNLJ+G3S5DG;e8P%y);Kkef{fz>WyyHShpV`ElZ ze9c#{akF10Q0mqxdQIuox`C2G6d);gaeyhMzS9@pYg)Ufu z&4GX?LmjVlr?rQ8eA{#P^X%W-4;Xx3i&eMOkef7yk?M6)M20%s)runwt4*CoZL5b2 z5q8J5yER$TzG9Nn1pGrbLUXNi^q2+>!|t#Vf3XZ&yg{NXU-XH;JK@flxx#yh^GO|h zrfcotG%{qc!8RE@M0Iwh#+l{z%U`sm%Bf+3f2Lq5u@4|3QC?R@=CzFSlMXFfh|aWs zARn+_2m#S47iFaDh#_~zIu)M4Z_xR+CDyiEdtYS?7|Bk;U^F^v>Ph4jWo5#no5%6J zsJ&2{O-%c+etoWFk(&x7!xB>Pbcu_IT|v0%rPonW=frUfX=;g;d&vad==RLp^e{UR z1kuFi%(C0uMup6~866|yqVoFi`p{B8#QVj^v@S?T9?#Mcb#f7>SyBZ!JwQeZ4L!TP zc07z4wWz0c%nqP#=-=PpN6m+j;#47Q1xHnxcD~!p$Gfv&E>R=l0tgJgvRf?y>A=H` zf;mj;!d3-Q>rcV8^aANj)l2e@fv-oe`azo!)n|3or>7<-=h(=k*QRssNVUta)D=sq zAu%-fMEE9uB2&eZ`ooN>s>q@X4NC%?y(jFC^mr}}5QYXVR!Wb6k-_rjG!A{R_lumn zR19AiJOYE+eZl*y64{Iy>3vrhRT@p#dRaSU^P{DF=uF>HbCA-hBF*g83=c8Bz(&;0 zLrBZG-7yL~{*4FBbEW{VU)-dh_T=4ZL^j&)_z=;(;*{{RF8F4vu%xKu@r1QeNh_2l z^#?TJToy5vf@0oZI!c-!xg76hW*Ho*AMu#a%}jKg8h1-=u#@@>QHXK;VA3kdz!m}N zf%3ZA>xT7HX!oB-XV_2Uhf=8HEU_aeS_A_tuGN)$v;g4`gcq~;+xA+KkB!8>29 zyw@f7gpmcTRizsb`jb7n&3>#p2Ha~=VvJ=Y$5qd=kD?FXu9&-g;(9X@5>mHmu?QW^ zvqg#+cXzhUv^zzlM5*vg%QeJWr9?B-)^N`kFd4{ZRD^Oqa&mf(p_$#YEyzj9rb4rt zuS#VrcMl9!oStTA-`*+~^ZTaH_9+v;@m)hNs4zX6aN$amk$U^9rmEM>{=SR5Z?mJ9 zlarH=pqd&xWMfLEf(RJ{4Aa_6V?5Q7`jH@Jy{Cx-U0D;-BKFl58`0(~U?XB7>$8^= zCz}3VUOcOR<9hT4V}g?j8@1KhOt*fNcM%d0=2P5{Vj#F&P>LQP^hIMYd`BXilS!=f zqx^tiC;MHBVtU51gZ&<5@8G67qRrgUQ_-94wie-ha)0eJN-s3tl&3UZT8zAX(&<9t zmyLi$BqmD-I%WZaFqqHKV1xqHGE0C?B9VjHr)_iYkfxV5RVe8UI>Q`J&t4skzhF;PGW({}CH$T&D{Wi&HlQ%} zSST6qt-rUlj?`@PoRp+w8e4Tp&Hy+Asi`Y6%G#S7L&|W(YD#5OJ4H$rtpPnNZ=9~L zn+beZK}$Skj%wBBBzOp5V4XfxT}jHQntAO z1P!$~*JTiH$P?9B?<$ia*nM{SbzMzHS~S%#s=4{FTum&Vd&cMke}gtnK(uCep{tJ= z9A{=-1P45e-riP*+&{{J!C-_8o?%A3QVid1rt@R!K+tB)0$i8D3!M2`g@uBLU>X8h z(zr`krW7VCUc7+%`fbWaNU?+r^i+aUsbsfSS_LnPh#ZQSXCA>F!xE?BcgeK3y!>rV z=6H}F=N2tJU6kI6EPQ8YS8q{9UJpFQ+tP}Fg?JMHTs4+`-0c=v3y9t!Y`z0r!gQyQbS!HI;lt7WDMAVMaD5mW-M-zORZcD!e7?&O|s*R{N(z zhhLWK0nCO?;`zAIn_K*wG;$=5@l$dB?h|yX0onjy+_a7`E!H=6lO_jJ-kBuxW|L9lb z)fr??7U$fr;1o>aQRdrvCw(Rx9wNT*siN6GQxeBZ=JY<2MW+io9{n|5i5VV--EKY>>W>aM+eDvE7rL`wW|Nps*jIO69~c-Iw0OUguA*)^3u8Fi zI8Jje4qe^wY&6GLY%UFKT9LZ?9#7Rb86sVAGJ?Hu9@=8@+iAy4h{+l2r((gKlCrX> z0DQ!ZM#lr@i1?-WeQJdQ2#}e#K(Nt4I?PBic1``3* zQ>oDsZ5Tmr>#~)WnSJ`iM~0(3m?e$>SH}=jcAS^kNgS)X&>LwEoup1L$Fl^DNqmnZ z^Zo!gJEn%_YDD4?^Od<^=eWdu20hN%r9B#1FB`bHks)VHtzW@MLZwgqb)S6RySV63 zf4TshLiy@yd?lLqFDK)b-%iOLS=zbzokd&`kI!YV@jO5a9DP9zHW;Y`ZZw0LQdF(K zq__5ejV^^QJG;lk^pYwiEp_>_eWl-G*x6kHC%?aURiWMNOqwmx zRC!S$DNBfo@pJ~!fhucjgu2j&_Q-6wT<~MrPH}7f!K-3&3Z4gaR+p153;LA!IYiN^ z@k_n?Lp|lu^rnIV&d8a0$&nE#F@7c8f&{IvU;i)U)ZW0(?l0eNr-sCpmEn$MNAm?| za{RU0Jp;H@YX$MO$>+Y6Oo>Tq47DkxDW4RD{@&K)$iB4im-f@|9Yjyf&-YBqYik*< zOsR8)+igR*1*C*kC$g7JDz1x0U{;5{RGT+PnMvf$+4R5d_XuU?jBwuwfi*or;T=ls%OcQsW)@1zBi%{3g#e?#NY;pijKH*`JNOcBh{xW+M|A3B%Oc1W5W*_kM zs5v+Hr%nOKsE90@ftGf3BWhm|Pw-fyh%il}Su^`EqRQ7ehdBx`h6GDV2bi55#d zfu!Z-I_2@_<$#}0HzU;RclJJcfC)(P#jM%l8R+TM@iHqa8%SE@28ygJvIM)u?CEIf z5w_L)gNBBtI9x;o6UpO#w&Lyk2wsj zj`zBWFNmS!C)|I8`QmBRUaeBKpeM zt9?*IPZ{82d>cxXdR*lO9f|g7ei51Lq{R%l-jskE$2VC>do)%VTAoN8TpXv_Xn0=i zgLg~)&3WS0)X8!kExf#(l6MW}^f&Y0-;;5vK%&MeWKG;m8_@&~-iplugu8kG{+P1i z>6_u%IK9b2f+?vhBJzFb;nVzmVeA3N=v+R<_B9|!;W@jJ6oYSAW9#3juOAN*nuEcn zUzC_f3XfFPa4|_$;@S0lDQTX&rnSO0%gd76J%qlPpgylbA&5b8U--qUjGK^AN%`)o zbI5EVJVdq_vBNM>sAGE+*NZ~!444W~&c1fz52#A^T(`~`$WXsMqNrLn9ysXi7h38K zpB4A@vW1HWjQZ2x9NFW$G9{k+S7EHfLtXgSJ`YaexZ1*^yaYZk^J#oc*wdArD(!sk zEQDf$_j%KAC{xMx8JH{DuFbxc`}4fdZezDyhNc>1JD=_^$f`1?J)Eiw)sPy@t*rHV zRiNAfTG`zV9ly^!hR)QOkKg$f=9TdG4v}AdwuX($tm`hGHnGV`qdbTk=tjfxj*0;Z+4G=i=hCDUStEV zNxGWTaq5-EE7bJSXY~E+-zUs;CorSs$>|K88TggE$6uc*+pHKT; zBPB6_@QLFf0MCKyb*V%p+y(Oe4kH7D=y{H~zPE1mXvtPlTl!G!v%KGZQ7~5gm*M!# z8n_4i^SH76hu!r*?$6Gz#1e6&r?=JawsGPO7QkVfDk7S9%>GWv`c1Gq>wMshWgIv7 z7Cz_$A-?qt7tX)2wHet1(JM(e&LfY))?HQ2X!r@14Yxk{(oVlYe5dAVDjSBpWa`-=y zk{SOroy&y9ZDhh-D~|MmR0O&=X>_l-)w@rPu42^^DWxrNiZuyIrpv?M3#LA0wS8^6 zgZ|S@txC|HN1dxv!{0Smstj?j#iTE>eXw@E>Tu3zdyIrrCzqkcTW{9bUO&k^*54FY z@+~?)vp}223NR$EoOB!4H|;_{ZkmCdQ!!W&so>ro{pvpzzXJNNv@o}#hZ&J*qxcz4 zeX{_9$`ttirQE(Qy$j@l{`0H?-T3FfuLu5z{n=Z9B>Za7w3gy#n6R*n?esM$$tket z|GGsmKlG9ronNe0OY^_}#>xr&man~F4Mm3k`S4OfPBy$qT&$RnSlD|umiGeR2&QiT z@lKdGgnyJ#2)g4faaSZrkttpcoYfC%9O3l({BS3~LkU!m(cby$0B00bAKz!%%S z#Ia9fL{Qu zbUn#XdU!9`IXxZ0_`8mvr*K9YHa4J^yL;X@jr^2(oTbJ*y}i>@i1&x6=lqI|Ap|JI z9P$w;RB%&By)aq*NsbSM`8Q~Uh4m?<{l!0pfUZOVT{#05P)BI{Gq{Vh-;|@*pT_2C z$RqyBwtS}I6vFtiM?0vCjqa9&Op3ctp^ik!7|`bTeS^nYT&u9c1dZS83d_$(EW@#S zwiuD7c}?=mvM@Pm7K{EVFas4hfdO1e6a%)$h7etv%ePnR~4DT8B zaYM6O?X;~Ib-yPJK`*7>{gxcZO6?XsFHnICZeYYpWr`0>*Qu&K%LdXq{AWCzx|J~y@y{EB%YxP))W%M37p)Akn=J$c~lfKzAU)!l>BMS7-T;B0%)}UJtn=Tjo zJoxrtQbjB=0*f9vbmv{fp$I#QAwUx};7;4Q{s3eFj%%;^UG<*FhKDb3`$p^tq;6Y5 zO`ML(4mp?ka6|p>?%4o`MvQLbh$yhIGaT#8x~(J6?b#Fm?A)L-6ULO6tlB7dcC!0_ zR(Plp1Yzr?)X|g;$O2%McqbTcpY#}%j7JWmmKS9nUxt(a5jJy~I_w6f-4w1V8X`8e zja~T&4Uz6|i7!5Mbs;v|mPU5m!%$Iv+^`0nxIY}uR6Ik?p~B#^1rU01-&ui=F*9kArEXP*T&6?fTBPg9e=hDyy6x2FBb4$GLr4%?HC0pGOLg~NmcPrW#iQ3WMLhD1u4FuBl8xR3U007 z`?n{~CFU=(xqt@fe|H1r2_MuM{`KPbdu^EP!=+Om+zy$$GceQIae)7abYx6X zVMbpgmvs@g+qH9M)zjMxWt(*JT3Tup1miJ-ZMWv`^L9FZ+3MwqH5dF z=!=FNDg3gn4!~d#tw0VH;bP`F=-?!`)QD4St8MkvQVbdHIR#IqykAXx{0JNZiH}#R zou&(HV(9R`I=UG56h{JJ8d3C|F*iU|r{1r|MPp8-O}!eM_p!6=9XPqa{650x(*TL& zOyS#z-j&|^A(g1YB1?Sny|a04THL!8W9}WO!-Kb}!A5pxsO&b4^L2rcR3P}+rZOSD+g%cW2sSN)2GvVk~Br`*?gGSx1xiC;i!h!-pgBC z#gjHxZj*mI={M48Uv3uNZv<)`T$t3O&x$Vh#i@oU~VyNFH2c^iGeCR=e^(_F4SidbOhNwu{J6JLMmt8G6`d zRiTmWy}Uhrx}?n{AFP>lg$_iI|5m<&6bGCqv1;Aiy^Rag70kjQkj;%yFc?fcSHo(Q zMjBIGRz{T++6Co(`0_$#)OO#XVNu4#-$9Vp3%5gk5XeZj*51Ap^CZ5fq`wDJH*53z z)3N-bJ^{mzo8h^3Jk9g=ENXs!Z#~r-z2r8!5h^3KXq4FZ_IlgwsuET^XD>tw1O>Es z@9|djwp9rTsw#a3Ae43h(iycjm`NTH3M_!StR73D@o{>48SdXBvU+njBcF8&T=#4o zO3DU7g{3`sFZTB@DQ zXzcj-IEg^9+TpX~!+bmdg;H$3ALNVJR?W1StMiDi{C*|-IB2g+|YG30>T*IBt_a+)_jqXxz1}xM_cRbz=(K? zZR@Z%SF|)#Rf%8-tgR6M$OxOX4ZAi3W;v0LEs31GZ-tGw-VZV)AugHbU9Mx;y;@01 zI0k6U#|O;2;b)u3m>6}j?SV5Uz%5=Q-9BC|-*?K3d@LL3SUa^1ctC8Fq1^MTG}w~* z>I*$Y%+`FE>{ovTM=G!E_3mY&(bx#Xl1Uqda5-=AuBn9j6CMXo{aSc{@=54m|H?tA zU#SKgXIN?C-%{H873DspgeOL*#SHk#$+*Kz0hRC2t6W!izv27hWkYye#ABRUgMeKl zqC@?(AjL^f zP9EV!8?%;4-3lsUpru1>W~UwHpP?9%&;8Cs{aqjP%MFwgP`%c4T_8gm_A&i&cOX z9&q`gV5ucNf+)`}X=t4WUh~@xBm`zFxYhYf4}Q*-{uwSrpyq;FoNvPeuQ|l@|00df z&j~T-M>9!>@)SZK->IsJYdGS2B>Wo$n?bdbelp@&YW|8Ls`oS49sgQN6QEsQpv*Eo zaLn*?joi7={k}=px zw6N2hstOgXPM^S|WzMXbAaS4qOoQ9eE*Hc^W-Pt6rBbY-zjpCR{RZ{!HK3ufOWWLB zVuqKuZPxCxfR=jVOG^5W!?EGwDvJ7mHvx;?o91;ubgFaKG&LPzym%B^!*CV{c1-K! zwZq~^X&JycE1qm;l7T1g4Os6%C8}kIW;oKJT$t@sy(N5oD8f`C@JqwQyatcowYl}_ z!5TqPH{9WASm>Lg@>*g~?ezvy!mxhzyaDh$j)RB^(%8i0f%wk&+!bXOgmo)b<1_v2 zoW5D$g{2!~I3M5PHjb0X%nQh7ZOAze%1Or}L0wPci zZPD97IRNW;?r`CH=T6~%eE2d$*<5pr}$JwR;eB zw(p!!8!?E+h$tGNg|bg&s= z-JCA+!)It=Xut7vdSs3o4#MXu$C$IGOTa5cGwkaWwy4BuMHY^(`pR0PvaV&ZO^uA` z%%F{QQWdIXmoe8@yA`N-TVq1JIkG_N>7RpJ%M9b&hb>CK1s|h!0oIHhYzSus9*&Jp zJewYUVZFJo6_CRd-xKojSMR~Wk0s2(go?H1`@<9D{%C#-Zb!KWS>W-7>YI(YBbRI; z^4^@*%M)K;d+$#ckMr6@*`;HkDkdRx`1jJ2y}u28G5{awqe@MkF30Dtsf=9HoPB&w zYFn=l*Vmskd@yX@2YRiZaHq>d9BCGK{pNII5PzCP%F!p1{<%$j>-AC+U|2!cHrAe= z240bP9vx}(&y{MdVAh;k!5asHQB?T7@Yd`73uGgq@a}eYq}n&(&QOK3<67xFSsAA6 zN_1`DC7($^CXo`5!ncaETvvy`W3LcG_$BBtWJD1^|$8&0tGW>lTC92FAv9?n}gRY9+<4ej62CVU0cpP zJIZn%!^vM+KMa}Wi=9pOT!ZIpbazF+b^%36=jsfo$T)&FZf`#1;HFy8AL=%0s;cVE5`FyYuJ0Q{$`W9C{@vZ8D>TA0f% zObf&o=_$6B2$SQhs1p$-31G`mlNjC@>>_a!y_y{T6813D)ZTnSqHV~&ragbomNHS= zv{_0LgI)99NdC~<OmM>KJMTsMCeC1%Xr5Z-~y0aTmBlL~F zzS$uEcxG8)DTxdBg2m&_+6tFk^Va6`(g$`P@ZiOPC&h@S`PR}Qq2GJhi%p)zBt@ zJwJbhdDeUpg?$ zw60|l$LC3&jr^F08r(_46cFqFqIe*d)PtJ^vsdy;5zDw_8l|RQxwqT{5^}tMip@{g z4VYSil#th^Ic76cjeaG81-jCKCjzl5a;Ge@>#gr0v-drUQP!|YdwpnmSU(7+C7Q;a zN>5ME#lywLeFCA$tvFXzkfGv>@A(uU*=V5>s}W%*WHh-o5vRSh!DI4iZ^&NY4L^{> zD7&is^Wd6nw#)VW>xOkx==k735iV}W`Uy!e6@KR(4$}70pKoDNR)+*DZ7H}M@jT0$ z)fc)Pq!D>`c58a@LBB?sL;=q)QNIoVYp7HfZZl(XoBM|oU}Z(-YKggxNW02htFVyj z<#Nd6Pa&s)%qo(lYa|X53_nC;^HR)#I|8ou!J2-S{{9Y5PS@L` ziCx((g2kh&ZuJ@z8EoodGE--x?BjR`nvzf}7=`?ZDcij2JrN}eCcktLv|?J&w8+fN z2(xsYhWeq>Y})z?!8Mwwrw57%Emy7AfZJ71_vjoP9dXtKP}N+ZcTEXs9v7eQ_q<}$ zAK>UDzId;nA|oZerI(F&d7=8ViDoJH2xjY1GhN+C!yf}*?YtPtH-e+HmF*oIFRwO^ z-H(sf&%81By56ykNClo)CU-ya2> z7~@ulTBBdb^mxb)hN^ddotgW-nPX4*Y}VpUuQW9DD4Ki#Z@1P-;7<1)fh*uu3Y-%- zzpRMbwfC`AgVkJJ!F%ae%Ad zpt4f#{1FsGOCYb`-l;T88spLB5G>2-5*BcNd>WqZSb9-BrDOA`X)r6`!eydbX3(tf zZ4!Ck^?7ZeN`|YG0Lf25zLcM1t3GGZ_a*DcH$%(9ovlIO!Ht9A=|VvXadD#t+PQE# zj<;2T)`%X4`G3TlXEJb=P&)Q`(~yc@JU{fM>s^eu=(;pBywtB|=lb#KwTrg|%s}U3 zR^SD1Lf$>SW>#6dkl}ZHiFnoLnBboImqKZn1@tb9A?IkbjG&!G4{*`3b`JF~;N(^{ zk(HMEtk8%|X}K%y+2g}x)%{_(z;J96o3qo&yhNscXLvX~fX?wkmAYSj@HuhKVm?C) z;LOq+I_%1*l&cM=KGcQD;IVh*4y}bH1zsb67PZ!rC^boA&SYCPd@AMumJdLkNHwh- zx}0c-AxoW)RL#oiP0{Waf+Ry;Jej93f+Q2&Oa|fZS51^rd8A@)Y%`^tJgPiYI6V+< zFF#s0EUCbY~-;QYVD& zVMR%^O(ZE=hiSm0w;xvfNN&i(D7-2o?scH|zv^Gd9v^qOsvK?at&dEfF((iFI0ExE zT;hKj_}1!s?)UcX`^ztbNNytj$LZ(Sm-$&^W1z?mnTfvaUHrzQVuGyPIu}sh67|So zQ3ypClVqv`YwOxSr*;|uZ#w6qdbDK>pgO6C9hHhMvehx_;v_|H`?TfPHBL7?t@yvd zPkGFK2(?cdc=+gtMjcm&^KL7~s7veD*X1=Cv#YkAuLm3-tPGIKx5QUao0fpGyt6cZ z(ntBWHZ)uws!M;GyU;sV4|Q{$Oh&o-WKln7OzOMZL-tJ+558iyA`HX99L?|sZ?;-X zM1EJ5n4F@_3bV3#!|q0UjQxSKkLag+qecFc^>Mj;LxIt-abcE5ZMMr=LtglYPiTM_ z5MS6M9de^?N2Wb`CounFOP`|Rj#|iRO6CC5$r+s&xYMb28uJyNu-ob@Dw)^=V>QZZ zTD)$dX_Yn^UR>s-A7dv&=Tk(}jjix!bY>K{Uqw8vV9iP5$?9l=KU`Y(dzT0HEkxMf zQ2G4mLL?86eQQg#00jv$xR;+5(EURd!ViVB#`klo$UkIVq>fT>^I?c0G34J`KK1T^!C86XL58t6~>vSTg%@nn@IQ@+8k8Jm%!Bh z$(p=CB14;=BQ zLoKLAB+I2a3^&dL@}g&0j`u;LdtTRQ0Ry@ZdBuLClC1&>61{ufQI+J&69-R zhdxcWbsSjOFS2K-f#YX?BrpdHzYERJ;W2t=ZZ1|>4uerRE)cQduYL!(ian#8;6xmM z9{z_i)Ts*#u!c&3eLCPqFUv}YFX~1uJTk^c=RKFvn!dE5E+?LwXojRXc)78@zmD){Weo42GoFk4ct83t;#+IMS+_jZB2N% zfXQ}4Fb~FKMh&4!@Zx^TK7Hiurn6@=K7mo4zvEZ$aFc2tKSU-M5LPFhGsFSn!1k)TPqII zkZJ`pb0zLazB#iq860zQHhQsia5vmjpPV-2S(hIr%24-Vol~-_^&9#fH?r3?yWO~6 zIespNiFjL={~(-pv{!n29SUNAyb||N$jB#9r-KQk2Ud==TkiwQ+(T8%l@Tqy>$hC> zYA-qzLbV4654Y$-x2PTyt_ZiX6z@&{gJ0RpEs(v$y^FTVwS1ts4~S?(OK&Y{_eutr zu;;9=#B$Mdh%;xJLi0XHorTm$9jX0EiHnQt?~Ted)xS$w*1gg;uOXPg>a{0AD|^~L zs=O;DsjSUqn#s zXlj?(*2=-rZFRpsPks0Yy*v}8e$H;gZz;Hkf|41`SF4I74B=0%q|^lN#~nH!)kcmZ z2fZSa8xKAaX2ym`MjVFb;S-JZ9W6x$OZ`hSIGba%@LgpJuX0zHCi8DG>yEO}I}E6d zz-!y2&7rS=$80yX{ngp;C)EWx70Kiv{drn|N8h=z4F8K*?WUB@3Vqd_s#P1`n|xz zJKLoek)L<`$nTQAXA8xe{|j~oe|qEK*)tr`Hb)5g;4_2U!FiF9lq^vl`KpZ)p0j^T zE${R%9baJA=k&sNxVcC3i)xbD;`7Q`1Gu81qIk{o;p**&wBbdZ7ZNG}f^d}P8)i8d z-YfP=X1dUrE*uD~WNvh6M*L_mNxtN@S&K+G4ihxyHvn9Gcne!lVL7i;n*i9|4>4U< zHqwG$YKGn|0L)#~n=|-of(9$w>;7_0*XW08MW!NM!WVw$%DibPk`VR>{6hL8M?C5I zCMeTJiGf4I=?6oUZjOQ*H>PcKd$Ql=eV=Ng9#Tn2JGB|dl^r#z@#@fJSRF=PoS)iV zeIpL{U1T28!b92%I&_rc8w}CRZg-9l$=@lHOXyFS1&5CMR^01?$iYR!Im^Wzo$cJ8 z4;csh&WUTikqH01lc;`i>deR5<$-~=fjPBGV+Exp)ZaG}@Q#fcySofFJX6V}Y380@ z@U+#{+X)O|qA&IAr+pkK@o2Q>R!et&T<_Aa9L*SjYl`$mHcQKH@1~t&klF(>1MmI+ z;+#5Ty{VvcrQAs9!6{jl^J(b;7hHe`hAv$t6jpO_Y9ZCB*kXh54|nEsIkN_EGEi1q zw<12>t{;!E5oB!bfiY@CgsKGkZH!a~8zFAnV9fC2dEXs%zsuTJy163^R_;U3qRY)8MJC~$0@qt(8|d>;G#R{0}a*IP?Z|GAV+EA z9NQd!e_A{z`>uESaHoxJ+HNXoy1b!6mT^i}F3+j3M8{*Z`RIC*+E~gX0o3TPIG3QI zMx$8x@X@ndCgj+&&V+^itGgRJmHh?IwWeNvq~NZ~;!7Mz^(bghPqA_1upPjbDMfyP zsdjP1OCnxgqGk&XMikk=K;mZnjdlS6=4%~jbnAwj@eOC~5M1;Qar%l-0^TlLU7>@6gBi}xuIWdlHtep8 z*-+vk+9z5 z@*(+PbdoB!G3704URa3Wnr$>nF1)U-RVSXoo^0gf=NA*v@^pFZH@x+fc20RUul^jB z3$zE~I)AKFo;HQJ9d6m`wDBSUT8ABMS#tsJ3J%+^;L;&o%tJUp#io7T-4|n=!`cI`bK1AcihbiZg0Ox&w!?Z3$p3$sny=8Xe zvV?2@tRZ{?vA1~_a$X|$>cCR;B-Q6u`ky4NS-tDK8((=_Vqj)wmwN6pd5zsl3J!W< zQ*V|BmAIII6lG9kh8<(KRFK_Mp8pmc@O^35%WJO+vaAIr-$bXLIzu5X!GQ(?eLIYA zd12jv`9)5qp8eDB{#YAr9ajB1;arrEPa z&i0w7wW~O^#2=h*p#1%OinWXkun6FP|=&n@j;UHw!K9%j8OHUWfi zW&gSa4fK1*)*jSHgs=7+qggj!`A>|>+Zo_2fi_fw>LZ)OO7_6LFyxzAZbTca>foS( zeqP7<#ygd3`C4kA4V@!eY2y2IIzRNzZ}6FsZG@@4WFZMcAvqd#O!t$@mPn+JwNA@E zXKw>e``G(-djRcOId1vn&sQ541s!cVN}YKW!YySM%sXOa0#aR|K=WQ>?s9T=LL6OV zR0^Va9Jn2Q-D?r{$oSTxk~LhDZ&Y9Pk!d_Q0gYZ+Ngr})qclIQxm&$079B)emPH%t zM-^mdm7m_5#Jp0r_O!MJ!Za(Es)PO4qmxqhz0cxq`_u<22zBwLx)X>8(HQ@XkTI)>l*pv(W zby%Z^kK5IK^|prtv#Jy3}wq<1tw+8mTplYw;CLjY-b;jwFUkOmTqRq z(a|uzAcO93A%A4CbMxDF)LCzk+!~3PFA8PyG?yE*?HKvziNYv!`tfAI*X(O?!N}8X);$6{k?rGR-$6V+4)Zw4P*#G_k^MY)Q zR`2G;?5@C2mFYOcAH3Y{A;K!2!YOrqa)|52^n<+Lve?Gs5)#l&N5uKmixuyi5wt-R zQqB#|%Zz58MY}C3u71;QwHNDMoXR9qyFhCn!ZO3p$Nu9pe|PEJC};@*QV9bu7(_Q2v`4Jdo!xdiXin`$NnA{|KeP1J zN&3$4^*S`LEgv-zoTJW)2FWYuEpu~0d-MBPZm@QSw9W|RX97i=i^J&@mCU~sEYxc& zTo4F}jVB^(uXi>ky@^@}^QfRPN~ybxi>&z90Ko}Jz^0XJ*`!})uJ7p6^*9;3T#)hv z9VRs`udalT{&zkOk zUC{s9Y<@k%#Dr6(@G}Eo=4bLyr?EZTeqol9PzS@rq>@O!tM6@lGeS1ko16P6Q0k>~ zOOj`_3a{zQyuO79B!oKz*ilRG<7ri79bk(7^4+{4+>E1d@vB)Iae1j3(pf{&_f<2G zcnz+nUD76KBdhfUe^7Tyf|TWz0KJ-ssOakIYB(;6yZ1Urn!ufKhVfeojXMrHHGN^dyX%*_-!s*b zwM$gHukGyzNG%oeZzUc7M1- zn172JMz4L}-xIDt10|n%8-_zssgZR$ERfP~mqNO|IU(1#N4@ID zS3H8{#OZO-xz5=4HmrV z1@@;}ipgEGCxq?iq7gK-H0!s3Y1Q;E`YB=h=M4Z-{VAlWNU8|i`2tOJsD((K4$fw&!nhrjiaw^p4n0X7b-*nP_C7efHID8tlX=f*>C)D zQJ`^ArNTI_5`7{D;K{K%^~t(qa!nJy?s;BGaeK=y8@yv?Ooj$}An_1iaSy&OrlND6 zEWBO!bx(ysQOxaUcb*2B2wXz0+4hH}=wXb8g{&072m#eH=y4rq}z#|QaQCHx%>ho2#5TV+=KpHc`X41lQ>lsfR3p!a3Nrpi@Wa6B$74=jmPbSW_a_tI@_>9q^aq#_ zSvR^O{ca_$+!)hW=RjIR6_to2wxnxRQhE(X`^;E2hl5DdkK@l&E-p}y4zh=##gr>Y z$fiJ)*0$s=P~e&Y{mm=9LzVHd%HZstejbn(bl6B53LgQbH>@P--qqutidLXJ#<-v# z6mYwB{3&ynv%Px^an$35b3TjzQJQ^dmXLFd|<7hfYyhtOvEf5T-S3}+RcU@hBs&{H?wX5;=dw#6etE4veLxXfa7A73p(BxwZ+!vjMIq@lJD z&Sq;EFMx`h21PmO?EvPiy{kA&%n8Z=`62ME5u-<8 zYU5vQ@E|0fX?!Xmkb_kSwV3W082J2&J148+9iHV~oZF^21&gxs(B)+?epA!njDrGEq~t zYu4h5#BBETAf=sS0+(jc>EXcb ze)dmf-AuV{-{fZCsDo1gFz1K2Eq{=H`l8ftTH9{drhpq(V{|j5Upq(t=`(@dCq^loKyZeu7){3;lNWwC`6aNQ zGpiVPpj!h3*7rlhx+>nru;TtI>^QKisB@I?&HC4&e0Y&=*Bgl8tPbi$J(>*asjivT zAMnIT&sXn?=BC`4hMQsZj{Rp2Yk}vtLW&1JCrr`jXwDdC;Jw}ljMzOe>tSGGiZZ+1 zRVN#vfa@Qar1Kej&aVWb7#tJmZp5Y>-6>{~1}9ZYipN1dZmmLL#o4yhGjDqq$?l}f z*KmL6eRDYxp}ZH-Vdtmo(`3_h$#|N%JRqevrRij1MB`%++!>zvmdQ3SFE*DI6g4Qud()FcXWoC$tnZ$M~wG&;GSUJ zi%=Cx_&g`}kV>T+J4}Rrn#@r?NV@uS$asP(} z0mKo1|9P^NwKedfN;fXroyKZQv9Az_aa+oGFc+(ls3RADk3Z;Wy1u-8kQjvwzqDNe*!+f$mBD1BKO_~$D)Nm5L3EiL7jvcO?5A zJiXyTGuQh5<*t&JajrT4bK^h1Of97c)>teM|5)AJw0>o|sg@GB*M!qr_~;VDVP8(6 zNCIUghmAmtc3rwLtBaTpGhovM-(^}!Fir@d9#EH%y@1!xr!$a*Dij6i(EJ)on?XQq zn-GZu0U!y_Ie)IUyNP-vam1wrw%CQW_()Pj=wKqmxl6BBcEf3CXc`Ph@XwgIr%K($ zZ_OE{jV^K2oNDZ8ZLbhc^--*XsGdtPDj(2MR2pPT`mu>K@ZT$Ca`q2L!S-hdMg+zG zg86vpkxRYDP@J>x*XxXg3U&UJC@%Z>y=1LwG#yJQ2bO7~{B-wKsR#H-4|zGi-Km9& zKD%hxzDK~dI`r06RZ$12QGuMwatF{*4H}EvLC=B|oINrF?CG&tgG^4g0&#NF1tCh&s1zi3>vx(T9Ti}5Ocey&1ZvF|?Wj_q`ISYaX z@7suZ0{<-ECXA#a>r0EWQsDFAJl(TEI2I_tZk9g08N&mYTEz28aiRFWSV`7KW=*ZH zFI2b%PJNIh0@R^YciQ&g3N3Snl5(xouznG&BrOdU5Aq+o7l5*j!$p7n8%sM{G_X36 zV`=+yiGO-^9ZJIkb#{94oS<>*U3zqan}lbEMRM}zt0`JXdypU*u4ao`Xv2M0s~DZCo}6mmiMZ8ZC{W!NOPo9;t>=p5oUbk*lPJ{y}TdoH}8oa z^iEC;v|C&WB2kDgXWoHUPdu{De~2m$RW`x!kI{wa|R15O#wn-?rb-wjXiX+}P+#DEVE-RiVB z_?{xHw6U?O#wYR#{^9<1j!u;ts=lty&By1Wvo56mtFpX&Bgu#74tPMRsY}e9AH7|~ zG~kNijxlM?|5uVXbs+v7^{*ojxCEuTcq&^I-Z#4;w%P$-K5OBM%V zm3^PUp9pee>$4u~zSI+!DdaHnn<>-?j;;bPmr}IOANEHeI>E1qDGc0$JSIL<)-;n z6}2Vi9Rgn~XnNFK(-+T)A8YlIF4`65__-`;8eOv={^s*=C35($Re!w~P>I-%5D90Y zv2S_b_43%qCpsQ?UlqmVCb1U=dRq8Iyl}2g)fm6V?E{rd4HS#hHb>Z17zvqD=|fHD zDn`uFn5@pWMT_q!mRW+2KvvQkcZT9)6OC}2vny`mhaC&Uy8D)TS30vHRrBk!h9#OF ztb?)yEDAUqSeP5-4Hzb^FF~<>d0DOo~94ucM~$ zTZjGZ6RKi!d1Ym7sY?>!$`_mRGNf&rn`V*04TXU}N@SDS| z<$*dvowP4Fm-B>MS_8)}PjOV2w)y=a+N^0Qo`07AJ)33!z-@RNR8H?5>9TW(?fgKU zE_ij%Sxl2TVWn`=?iU45y^jeNp)%twaLIIU{v~*o_3GBfO^J0 zB@0-rCT84?-a(Z3NJiP$Z2Fj}Z=B6NJpeVNXPM18C8!K$SAM=8>+I}L?+euqeDltWt3~f(hCa4!FtT6sIuWB0Ur`U znRzVlt~_%WW5A2%E#3rq=324-rE4V_ukECyH22CS=}==Ku9&iW5BcMI*be@HdyJ&_ z-4x0q>4UZ$@NKO2u1{Dt3+WkI*#){Ap!>AVvHf;3=uM3Ixan}MvmUV$L@+pU9<*d9i_?~^JU41i z=X!#2#<{jQK@g1%|I}AQNu()XKRP(T)$2O*fg!)Zjz&Jcp|reSLA>$=Qdqx#oZ{u< ziGvi$V8`vQ^PxID??0B+)zp4urxVJi&JQllJrp#Ln(uS)q-<4JGnbRZS`m<3apg~Hx1f8GwW=Q>?VU4sQ>g1doVMw+ zZY#W$89l5IPl!PJRMo!K7CAo74_ z4&LyAITM}Ag%qdkTkP}M{SFUAOONBgL#=CZfCDr=h{u;ZiPSe#TpZW)*&3ozm(^Bp z4juJE+7ly@$ARK$ykp3$H?8FRGT`wK+(q(pUF2Tqu*s{N}GK zOj#M%wiUWm`f>kE_~b%TN3Y|jP{giu$&vsh%sn7=O5 z_1APp7f@ql3nlOaum&jP~!ljgzGjJ2dcx_J19V)?DZdel>2MLD( zg&>x2MkBX!;=2fZF(Iwr*j^;7W%-ux#i$7zz;5c~$h5$6AK6M*{q^&b5emmqaHM`5 zt1IjkfL1(rPU~=kWHU3P7=T!@x`BP(Qk$m&mroaB+3e%12#U@9@!E2EeS{6Qc^1!rv?cFl%9U8)>OcV4p`MZX;kxT`#A6ydy9II>`- z>Iicxw#iX@dnP>-GJjrQjqi>WCvN14%^M@zek6XuRPv$vf{;lnXVz59Zut0saCoGw ztgMri0D*qo+1u6|?gLS{XLc8r;}a`E^sEQa9sWGnBgg4>wY5Et z7p(j`vRRiN0q0Q5(P?08d-Mv6&6?&LhjmYh^JVp(^h})Z0*P@Z!1t=_d2Rn7O_SQX z1PYj^gAvl?Ny?F19zxk(rGyPLF;PFK#EJ8&_UBRFpB`@W$>2kE9UbtK1E;6g z*w}jgNBa6U`ZhZD4ZKIvOX+hG@D7y&cG7tL7YPVTL!Y+FJkN!QSkWIj?!vQ?H0pNY zd!wT(yGCJIgA73-I%jzqowIH~I7iyDxQXPuDWz&?W3uE1(KR!a1DnGtJ9-Z17Y<$z=6N z`nq$i(;U5I079!IDS)a97c`pMTIyrER5}pcnG3IL^lZ z{Y;RXu?cV2)2QEhv&>P>X-E>I!BoA#QszA#4oSAf$%us>*t0cZ(F`OhRy&8XGS4=y zE$Z}8umDx!AbOCtM>W326cN3%v$Dc~H3wS^=&#*szcx!w=c$#KC`tQ$J{VaPNEJ`T zIXgQqFKkKxVTwsP;bV|$#ylVH(HMoW$)=ZTWGv; zVeSw4A;_8P85Qw#jZkHMrGgmI#CuxBem;K}w)OS7miQ|_QCl_+ZLF@V;+T*dW8mCb z>`$Fm1AMimoxV>z)6H(AqgetzyCL9E1d#GCMo#Az0w)HO80(Y88^!+Ok0;6$%Hd&F z9CByyp>)r@#H?QCo35yNrjeDNprZpDDUQ##0{yE;d7!@Gz-guI4JTSgd6`=si3c$W zpi1qN%$XBuo#xJH&@nz`8(EW=^5PVV+&&Uug2-1(vTB<&Xs_A2rM6@Q&*5H;#n89B~lO| z587YgcxriU8BdI^1U$#hE9fqy=*^3kY$h;M)5j#)yL~QMKaE%00Krb}QY;AFKRO2N zNTo(Yj893^Fe78*n+e5fmwqkM*PwSacC_m?zgJz4n`4oC4)Xxm24G?M`Mv0qI!Cyp z0f0~H9;&1_KYC$PmU((Mh)NDX8zT=xfUV+;p;IpB-u6OSs+M|R{qVQ7y%-9~p?<>d z0feP$k9xFeW3e6;i|uTe)8B2I;kYwRr%remrLLq_wHMQ(3}g~XhVl)MW}5)YUB7B+ z;xWq~+6xeB7%JnzYHTSjb;H4*x*)aq0K@smu+whqmTi{n-`T?PtguEzAntd3?d$%8 zewAs2Vni?*t5!bAtad-Nz=EBGP)0o5aO1fWt5sZh6XL&XCDs2$AmHfVftN`4geI@#5h~=i&Ci45Z?%~qN(mL1g`LJ;AeUm%&`Wj5Pw_*Fb{K-%DU7l^fp4Z?CWHj+-e?mvWfB+uBE_RVS0Yxz+wAu&`QEg z*j10FH~;uM&q{(z0Spe4mBA_5@62oYGSj`}fB;F3-Gdea1}2lD73x_tX{RCzhE1+$ zFYHD@g;KQ9YnD~OC2G*Vx*p?vh0*vHxr2WNa0Dt;6h7z&xT9zmu&^MJXh6+<5$Nu5Qf*|4dpnHq40y3lBG7acQ!?uHBh+J7r$~wf7DjX#<{L z{Aq$O*CTCfSs$Ow!O%vw9Xw~~f3=rwq)AGj3<m)y?H$Cx_0l?{(o}&NrU4528`d55$acs|cF|0%{ zH>*SleUb~0>HQz)9{KZ%|BHt6oQlLKI6ClY;%U-Gu7$iYa{A;WT%Wj_oE#+P?XJ`m z$e-Og%WWxU)Au{mh``>Mq*`S1Nf3HI$Q^~nE>Kc@owB^t>Kr-MrnPkA#O z%uK&K?2vs*pHAreGF`kgc3C=iv0ELr$isV_+!fP-VnCL2!#sYyssIKc^6t9zBP~?albaWuL{cAQzctq$g`0;2jocRNHrGJggzTOs->%1> zr3Dye+@*1ol2HY?G&XoT4UE-fbNBMc8Qegmsb2Xq>lUgaJFn;o+WI|D#LmzH*3G>T z8TJsobZXHP*+OV1v70S*UCCdTkO@-kVJrqW?>=oJkpe$zxxm1JiKZa<;(>R)e;5GV4&H}0zA@(s7j6t8e+ z2q#au^#&d8%>Pe!fyB+Sp_z;bEGP&^Y#i`B<%^%7ryll9Ssr#&!J zTwr*=-L?SKG{b(F!1#$XEJ=y)n>+6B?9Gc71H8XW@iT9)c^k9#CHionZ$sia_0MB` zcIN#2_$r#Hu6tydScx&1^*fR5QJ@qBNXMXS;;MvUE zjN?W=^KqBM?#C4w6&uJYlteGx2XpFeAxiXZ!^o8t9I%T+hNE6K{c9=$@hg>N5v<+e zff+2z^1{EwwKHIaqisix%n!F_3vz`zhDp9h%VZc8D~n=W9fCJe(k^+!YyEBcU<-Ai zN)r6!>SjDT@@~~pzdkBCq$NEqig0qdpA79Xe|Pc6{%c&+KDin`Np7!w4J+Zzk>^oD zfXlvu{?V*u&C!*0R`^;m1qv{v8 zzBSsJLsGT)lOplN=&sz(M_f-Gx18nOSE|*nAdXfhsr!=2n&<{5tv$CCcLqSG+?{h{ zs~ziStrQU{7KP@;gTXSzO^#bV$3^~F;x*R5F<_bq1kQc}`eso6!<_gWx2q@DA2xnDRL3_)3s$@YgtJEUW>PDAMlLFIE!}PPfL$J?-ZXH z*P)8(W4~}3v@I8Dm?j^g8{F_m!4wy9+T+-NzHu^;aP8-(709&WxEvHSHfKSLOKG7?Y;fMxYKgP-Ky?gw&ALtI4y_0)!^e(E` z!)?l0#$Xaa66~_7bfMCit>2-@)oa2540VxDF9hA)``5@NO^T_Co6dUy+tGpL!yFgF^F+H0whx1+>RVfdUv_b| zO;78}$|~^wDH|62v_b>=gfF!#Og>#3(>FBM;O;y8=y_JnQ7z5g{o*};UTy7yW`=L5 z8Z1=a6K|cOC4FY@tV=h{V?s$$UOvLOU~CtYvK`$-hYg}B*SY!ks$db0D1itJbs% zDg-EEP#>KpA}7nbop)U*x}`f5kOf_WT_OZOF?#Ff^%pyM7M47Esd{o9G?O|2 zI`!HljU9|Q#D~Zpc~mquCgK7`zWp`mW+Zg+y|&=w^;oUK!uZ7Zoyi7UavTRd8Qrve{``2FeN|K)#i#cxv zk#s@ya46!T6H3^`9xCV;J+txh>4^G+i!F<$b2-$QO~yvwt#(<@HP3e-fGLo%Xm}SN+B(z|z4VBRNv3MNa&Za<J~wU zo)#RN>irJF`vXO4za_c!g6OYK+cmq%#zq$mF>g2^kh-W86cuPJf8|2mZ|P}jFzcy@ zD@FDGylQ>XTU)@76d5V*^z4~|;|{EZ&D2Jr1qD(gFihT~-c^Fn1Ma`%mxFY93&x|_ zr2+M%ylZ@7Q@1;UB+-DjaJ{}bQ+B9qx?8FTyML9*7GwrXjsgEPiX`=pW6E9kiGnpz z*N@hCgXY|ZXTIsx<0BN1A=Mm8YeLK|7L)aqRMiaK7!vvzlA^o-r{TsHJr+O3{*z z>k7#5s)eT2O@UE?KI7mvh#U|XWMAL9$&%z%RsFKo3I443!S`vqY6XFuepw8oa@VGt z_|LVaz_~OV!CheB2&M??`thY`Df@1_%&7o^)t>iit0?xt`AK%rc{*Dyy>{B1CD6)M zIPt54^?~IBetl-kCa;s{l8lqNPa}DiDPm)4&hc%;N)gU(jOdYH**h){ECNI!knxcb zt(=_m+@a>{)ZL|C;Cm@KZz>|vO3=&mAitE&0xrMBI)SyTI@3)0w_gUDS_8rgdK zIx-yX!6ix#>r<2-EbX2EfiKJd%RGv*eHD?|JIaDc>UA7%Sa`N4mZG5?xc|g`tH)~D z(qqG6w%R;nwyjdD7&3Qoun71u+4-p!j&N-rri)J1)|KYvyT{Cd7Xuw1GIdNL|v*R01YQU-E zH2H}(#u>L+K zt0=D$q7>TTiDy0e!&e}c_*69O1_x8Q( zz!dmf*8gr|Lo@hTzrI-iJ7eTM{M+A>~pJTl_+ c@ppgF9DWbTZ)Ov+Kfbp6cePcERi3>3Z-5@gNB{r; literal 0 HcmV?d00001 diff --git a/examples/domain-interactions/evidence/reduced-motion-320.png b/examples/domain-interactions/evidence/reduced-motion-320.png new file mode 100644 index 0000000000000000000000000000000000000000..5b2873563860ea4e6225caaaf5943a6d4fd6ffcb GIT binary patch literal 109100 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 >fQ3M#tmZ^sj&7QXd zDGjv_OI;y`)^Q-@u?5OC;}~=(#Oq5h!u|+_^Q)I5xZPH`aeMXJPJ9+O<7o7SAp^5h z8o0d~4Gw|TUK`KrUa62jq9jJmPgoEo#*8?Ig!jwZ}sl!c>18O;u8dA)v_XkxlS7+yr+Yz9? zSQqr3@bLSGhaZ0x@~&=tCykfi0#pc}y(?o)ERZIC{P=Nhr2J~x)6HGb8<4`~Du<`< z^jKnHCxmU?X2JVC9aNoc1e!gQ44Qu8X;o7Zm3D(Ai4pSRFF~GV!g|i*dX4y|-u$wE zX)Ahqyhtn#x|mKTo#6on1nRbP9yd#r<1g~0Epyx(9pj*@$kN`?gn8D6g=BqX%t85kbG=?5yq z`GDi`IyjP6`K|42@sl#r9_11F{iV1P(6m>eM{<2(CJmy(qL0u#FGOP@in%hIFFG*- zLpgWSJhA3ly_r_1uSP@L@h{ThGc&-WRtO$yfGSzlL&op6oS*9;Eu#e&d+P{+e%)UH zpPh|kRE+&hZg7s~qrX<`U@F0D3=X6kxsTB=)}kmg+#>wj=JS-%G;(J>|45_^w!LLT zJKiOyy%+lMflsk!!6wjiS6tJ0s%LqW#ROzqep{V`$^FJi-u&>5Z`&M5`+$)sm{CIa z#OyD2Wnc4`g7)JXyv&8$=J44yM%{8ZJF-HR_Wmsds^ z?Pc|A4hCRzCNoWO^b;NG_{0U~qJRBcRLe!gQI>dOX~a*g)V!i)rZFU6KQC)%z!j5Z?bI4Of;##wv)tdw(|NX$gX53{Q?V?= zSirOc`F!+%^j3J230r`)!`y6&Glurb^@ZN*ce zwvtD3LGT|Nz)kw@n24;&6`UkRF;-1Ia=c+(=AeCBr^w9~fVA_&2)|8_H!VcnPLwA2 zT!^H_X+AS{@AN zE93@uh?-l%Nf|Cy^aC6O@S)}}1cLkLStJ2V)a!Z!7?iTVUnjS;RU)Slv|vlG$r+Bo z{+)01U=-B9;^t2v;xj5_CZ6{Y@e zrc|&A;PN=0pOUxyQ?OJ&{f4V|c28EgEKlGVHn%(;{wzGp*k;}atS6xaUwbQ#lk2wy zotzr!peG$FTx>w9uWW3#O+CQn=Pv7wECY_KLtFiB-fWNaXq_+Id;!r6H zh+l$cT6f0MJi76bw04;z!+n0c2mH8YM325vG(Y?s99fN0k6HFQFKrB1c8b2(ueHM9 zCQO-zx5}o2muL^F3j-{~f%*1LMu+(&qsiCw>)?HatHSN-I-{n5<;{y88A!mm#gxUQ zE^2y#&ZK}!$*-q4L_~8y?FFx+&D$vQoL{$Gx{G$RZ%OA$)hZT4XFWb;Wi zZ4Z|+ZJZjFE6lb0M~z`K&j9@p-4zV~u@s+k&cPluh(DzI(j*}% zKRXLDdp~vV29x`Ul$%m0@D!PCAN?2^ECwO7!{`Q1(?Pvb?UJe`MA(TND9jx7waNyQ zmxleBgnH~pYxviwQvjejlUzhqV3t&jYr&pr9SUg#a?PaWcRL75(+Wg5IBD#DSN2ob zn%Io7@&E*mMQj@2Sxd*|(@SqlDtJJoDSaq();V5mI22iJE5ud&gV$w=oedjTFXHB! zM%ml0W>hCjd^$7dap5y!$KiWZj3uawhyym~O-Lb@<@JABTV68D~Q>BXxwAHq; zT$gIMd=vc+%-6?~dik_^TZ{#-spq8TMf=p0u~|hF#yf`Z>zP{srMj;&jMWjs=DQ$ z-dIMVvbC|Lk~160V4Lf%hqN(Xc6H!Y*|X3CW{@kVqXn-=3 zMi6TJ(IU+n(Rc$C$pYC|d1aH=&Eb!(WI*t9M0U1~Zo&%tmdE7~5H0FlFxK})vB$Tc z67nm~wvAy*RZy}oh_On`wy?&bt;|y;u3>D=WF12TYkoZ?l@NS(ejj*q1-y1D!h@yo zp~iX^JRnIr090#D4$Hzb{i1XK+v>vI4&ZQba_lc0HqQYb`zzh%@lwr@&!4lkm^QFT z^X|#i4S4WHC@yzPS4^T_IvHAo;xm!#*01PPAzIx5aTDD;eenj>JVWN94H$ExUE#nH z$3G8=b*9rTZ(ix9wei(y(JxtwvDNBW8X_0oFTZQZStjgZJ;JZpnJ>#pPm`FhBf0?2 zf&zo4VG?Yd6OdORq@ERrUoN=*{i$tm}lacC;W<|r%yT+i95XL0Oa7Ld{H&6pFa|x`zLc1cgq`PR)qKz zL^C=BHM^Y`8$3i^9qydIGa7xxrNbNNB_ zy#gt#9s}Of9oy;JEau1eh-+n21;nfSfj3N+!_B83XZ}7n#pK&eszSi=f_i2b!zO-7 zk$k^Um+qx&G;?Lzd@ISs;&_+{vW}sq=%#1DTB&Sxkw;vT>!(|yNjYOLlX@~)w`kU| z3d&o+t^tq4!oopa$^%M7?)_x*>wTe4p#IsI z91S~iWx+EJY8-qu-!b1waWZHAvbfERDukjqaDv*e2oi|SxWr?>3`^s(ZZ#6EvmOaJ zX^Jk}1GDHw0pC+OYftBE__$zN8SpST9^%l_VbuUT<^jrt8aZDk7w&oT6W=x9fWYjN zQZIh_O`FeSDQxNLPH?ADOO%Jd1`b!EaY=St(_e26t+(Ux>68@C;HqrDc$h`MgB{y zmqWRH06t!F)^FhMunP9~1Q=MvNTa?bh6;En-)C8MqoU{p*Y;>b+->;f=X-}p* zE?>nT&%-d`ZhlCt^0W*q9Kkrh)TEqJyVoD)yfO9UykE$>8Do~L%?6WH&nTHb6?Oa%(fk()S9V$Xw;MFvk@$dYZjdZ zHbZ%YxCI*s?dh74cGd30N42K0L%GD+OHDyYPej8&8v4LelAOLN!}iIX@}fkcSCSH# zvc(M*#4>0$`nA@6*pElE>k@Q(oB0#N`r#h+PszGi7Y`pG zeGqoM59lM_H!of-#bjOkNq}Z(+!PY+xYzzgJn{0a9=iaHNFijO8w(t9!%Uh(G0Lkr zEty>A8sheg@v^TIY5hRUMlSbl(kKU3;hLV$xc;GZQN`i*WR|*}`_)R)6~Z78S1H43 zcS=*~yx@%R0UT;`?@CNfUi#re+w2@XSB^4W@;HhPf6!{Oj%j>KB3`e>Cv@wcjOe@b zew896)@vNvMEO}Am0vHQA3=i@m>Qe)7zBobtfQnFj0=bWg}dg?PeZd(DwI0N@pqYG zVX%)R-#c5v&(Ie$ohP*&3?c(&svG>cv zr%rZnd}mc=ORZnA&WK34L}Ne6)Z9%=2x5RQ!t% z57b{jZ-Up4_7gZDbDDK&%!eu-)6WB%uUHFeF{c&q$=M|=O;be>jIt>o9VkEkBNIVT z%TS?FiKj%pM9TMKLnFLG*S+Se`_V~Sy0p?VqiBmkYL}gZbl8<8&~BcNE3oEK*)fV98Z~FU1v97@U%Ss^hC7n<2>FA%-Z`&%t?Q!Z3kR#e{ltq2Dx(INxKg#{w00APcJ>1q}9vEZ4m-eI-FW0g-%3Q zx|dVX$P58PG0Aip^3N-#6(RFY1(QkY`O)uGKWu+C>_(q1p(Duwt(_ow@B(=Cors9B zX^3I$#?X~_+1vBHfu!!yU0bO^L+sSqG!ci&1tzK{+{Inn@Eqj|8)7h%<8uW^+wF$I z)Rw{=A+|49+!L}xS4$+CI!>l>>nPw^ z}UtJ*yo&zWY~y!D=qcClX2*SgB4oX=kUh3-qc&$BIX(pl1p>r2r8mA#+^ z7LdU0q1OMaJZlB@wL;PFqtz1R$!6_JwnLSFF~4|3O24NNd?=;EAY+esRb4Dvc?X(p zXruu9Oje6a6n^#xI&`#@hwm-s?#dvqjMRKlQ&k_`Q3XyTxvcY#Bso&M3yTdSn zXEPxIv#nLPMk4F%8KTi!z3L0Jo}IrN^;-^;VwLiE8(JhNcYx>#M2B|B^c6Rr{>jR^ zCzFQ>YhOaN`)soR^p;5F_Kwh#47?3^Qig3Ytp7<4gg$URH~P~%K4_unb+~K!xY3dF z?N3&G0?ia-7iJUN=$B^~<}G;Gb0rmW;)S1a2aWfc@I~8xsrMWas+q1T^>VM%ZKvB zpts8|nDWpgFRBQbPlK9Hv#WGrB!re+yvi?E74D%e$QanUs-+Bb~A5x`}PHF zoa5=`FMmoJ21%PJ`P*0A`$=hjJ$Gc>2zEqx+pick$3+$H2_sY!BTftYQ>i&d!EqdIuO z#JYv_JB30}Gd5p(wWR4U78YJBg8g}k=?kYJ?8uLl&r7?jtk{h(b9S(j(o#*CJ1ttX zab;b1w5qPPRGVynVbV&?;&)CqkN@MZHf@=N6Jl5ywi z$FT$?MF_9czM$17+jSX&&A@Wq4j!XehbHl< zzQiqmx`|^Q0J|_3-|ZqG-YJqhTS+qm;yK*6f&p>&YB$6?B*I=`d=OZUwD2d>jKQr8Po*?UE$wl zOE1U)4@8)IB$T3QpDYls#6e&D6$pYTmD=vlIsRFx`U#vn5-IQmCcVu>F@bz`_|w)m zH*7kZfzWM9__}6SJL=93UQ6+^o-@VZN!Z$U z7o>2MH-L)c^On3cvU#USxnXtBV5%m-iD3HJq~=5B@aHefd8OJ5r08RD>imm8tMgK{ zm_8o@vjAd(jg4@upoQ;zL#t3%&?stsNfdn~Wl~L9I5?4>54d#IuJ$yYpAraG1O5$D z5y`@oP<|Mm!e*Pf1WFkC#d((C9P4!VnJ0Yy&XfDwuf zX$XHU=nOO*s9@`&zXt|GzDj@&yC<|>edJp^4wUj%z-1y_AQL41Kf90u^c1y|J=Zu| zff%>4&iUZuaz?pjv1b!5`$kk&{CtIh1?eeqc-V4BPonwMxP zA1oxl*1!?#`1+8I+Oj2q(+@BV=xlyDwK6u@hyy6bd~ES44{^tmqDWrJ*W|ociJI&? zk%&^owjb9X%&3YE6}qhAd^bV$G1qTQzt>}0CxZjLHiAKo6t}O*d4FtTSp0YsA*oc& zq(ZhIYaiq+ob~f4u!f2ab+td;`6evn5r4p_D~LBl?{~f>O)VZVktZk_LPbOFSwvuT zgPB94bto11nXM~RIg+yVP0F;H`mriyJcTlpar2tr!X@5_u#k&V`FDITNNET^TQsf7 zW@HXUk3r-wU*c^#toP@y^WqGXSi!eo(SuIp3Cu~XYO|}gbsyPHi@ofoacHCAkA}YI zX0Jcd2hdFofVaBg?FR6XH2&sp#9qY-+dE9vQVT}4Tx_<2i@K8isYVBo8+#{qA059g zJ%WHmVkppDRB;$G;oM+0`ss9y!z1F0q^c>QIuoZ2b`_}fB%ZGMIFwEO@aN{wmO^`V zp9Dz(?zlhZ*V{f;JPpyH-pQXiv4M6XO=5^FXEEL@n2DQLKiZ9X|jU0UubK--t2FSo{`Q!QeIRl^~pL4%Y(x@KpOTqRzM~ zKZO`FZ4t?zUNK#i>F{{l9YE_s6Dq#ViRv8`W?gSjluDtAEZ&gd2Dg4KIojZvTVE+8 z@;Z5ZeHa0>#~(nCg&A)&ynm<+i%EFkWXI`z_1h$T%Vw(8UsE3^AqzbcG+@=)AT+uo z=s+L~q{=yM7wYV{<*Yjtm?iG8nd!gl987=54SBMcb*dbKqbb;E%(r_k><`Rx0f%!r zwQg&pN}cp)^~O&(cD_#lAhXqJb*ANX-+Z|*gX>h#<3|)Q0H*VK9xUege)>eVtFa6V zzf<9eCt>ilxQ3zaNznD@qX)pt-j`yRMF1?7w0z$e`67An{r|IeP~Ju(>3^{ImT_6X z?Ybw3fPhGY3W%UINGj5T(%nc3NDD|e7$68pcjrw>NjD-P-5@R9-90DIe?4oz*lT9q z?Dg3*pP9Fap!a?MuIr5B_#RBN6zATVBS0&2b2~RFPAPG)=@buAsgX{MxrvT0c;p6s zwAflgndn%IkzHXApgen3QhYtgVbRv_a(Oa`&Tk77q+HJIA%?xLeY6L=E;70l7N(Jr zk=-$5*;9X{b1wjm0c<**y4^c>E+aTiL#6L=yy}ilMstRF#)*j6`M$@+X$0k4QgJJb zh_PP1JgBx)yV`&y$4}zk7fDRKueY(@e}Ak=O3>3qYJV@Ce-(mBLLW=KHMg)B4#B4y z{jYZ#|0BQfE+OH63lsCd7s(iTJ2ef^iC`?AJ!l^nNXYZIMf@qUPB**(D_S58HV8iK zZEouWGZh*VF7mCvCcj6vWU8OIKXKNY^CW%}Y_)Q}a_wQkMgA`}2x8BW-aNkfo^#N+ zSDezl&Aa0P%9n3CMem9IcVS6sFfB4#XKs}^QjmLpT2Z@occ zz0c5_8Yh=jN7r+89`ms%>n2mu3CzbJ(UvLvLmDaR8YlPxLYpkWZ@bd+*9!b$TZ3u! zZx_F!j2FW)*T~4)I#iGk;@<&>s7{A0##N->9Lu8zzaKm>cYpJFZqg^60L|}2`rpg_ zUIkegrrkyQP$YjN@C!s4zq5!inrz7%bcv;M{;~LNjf5dMN~ozF#R9f_&1nYpFk=kFI2*SoWx^$S-B*&L&i`FGv*)~ zc=E~s?g(oze)r2pc(S3ZfMg+!boomdFNr74x8zmBW~|b7>*u#PN05Ncys;9)f<`JK zhvJtz3Q$_WE^4>BegZ4<=^A%2mT*|3=U|sfhQ%^`oRlPT><(Ah`G`ZoUkSrT_F~wp zyX^<8acu!hXb&)W5a$&{N-JCTJ^!_qHgtuGU_WZ6%y(Gl#>K^bm>9+`;%64ofn{Yg zGKCWA)0^25!i;qtX$ITeZRjJH7f*I0612wxRyM$Es!?o~aT8;WH?-t9t?0Gy}6)73T`U)Eo9?5zNa0Mc#@W7!Jf0Hl5$`YZr4 z#MqeK+%6n8xnJb&WQ?rAF(%-7G8;SI~_Fx^RK~4NX>CYI#v%9Be$`+v2P6av695m+|B_tvs_e+eBfx95~!2L z0iKE$yW@SC-j*;xLbTOFl>vV#>Rf@aD$KZZ(s4U0(AdGceXv-n8ZM%at^Pw)d+7RxI{Abv5a23J|Saj_+vQpo`}qX5DO2mvEm)57qbbD7=XX#MPP)JX_Y zO%sJ8=*_SwP9r!y2CYnree<9Zg2)nIx#o#>b{Xu7?Yss{d;Y@a6g*ignOD7iWBpOR zBx-p&#lU4{Lpm0Fb%peR^<4UtW`)4_#7gx*Y`L8ofyvKDsu4W8?U@B$oFw3(-6a0eb^yC5W!q^Md0$M6iky^Fh@Z<&7_NX%n<_Dzea|H z462NU`J1LcZR0TAF=K7RERZi7tahXjHWF~6D>$UnNyptHcwwfR*R;R4F<#!ykIpb9 z(p3xaDPIznO_<*iPM^o4N-;(<=Xvfi^HUBe>oZPOgH@~<%?ZiZ>{`y0rD5IZ`SL_P zKv~+fx8`%1$vr_c@qsV)bFD#Q%%DPfU^!h{0AQ^rXZ;c8yQu%hA@r0n$J(v;T_;(E zHg8UPrpqA}Xz;<#F0}@Ix4A=YC3~Lje13()2=mUN14m}S0xd2mX2W7-fdxXP8*pD0 zs2u6VrFtRVj~U%||MXs3!fyPIG4JueX92M=^?F;x_6QBQ9*wu{*5~gvFYaBlB{oNt zD$Hgo{ngC4%&2wWMVyJc-*AHEF7y2nxfpiT0XrW=Ea~Z!#~r<8G7+4>Ycoc|Efu+9 zSO%6wSDb**T?}sBL@h?*Ze^{|!#Rjsn~A!e%5U_Ifk^DO;;lEH+Nuc$*)^Unv2=Q>2(E_D!}E3E8_(bqcwWop@iiAfdSe_8|&?{Dam<>G-&|@oCY!;P^r-`{o zxGxiJ32v83btm@p@~EEk-KX*7mayGhAnFMJsXPgaCyTaoF01L+ni+a{FMQ~C{c%C7 zchyLZbJC^_HyP3D%%iZ^Y88ETZYK;Z@57+u9Iy^}YXr)aBMKe{s{wxNQ!PL)M-vm4 zfb%H4Q#$ssbzI~(;~rgxn5+IZmCg9kyGXAr`UF4NwjI7IkqbADhUibehIld#)--wS z!zC8o>&R@vWBP}|mnUzV!c0i#KQf3fAfJOGjF`>dOjRX*x<ZFXzV|zQHgHHbTN(5V=B9eU}riHZhth z#i%Q-XgB=v#$PB&21Q-LGy-&u+dLAYaq${0K0l<4PtB1CVeK(~_YqXL3mhQBV^xVU z@Fwlr>e4)s)_cy(O-t*&Q|UIntdTK>rk{oamCY56R>04jmXnnuDX#VJO5snRKf|_EDPQ9vivX=fB7`a?&~<=eh$=dLJSru15fcYf@opEx>pzv!n2yvk zR7n!pZGhOr5C8D!ZFi#~sD$*d>d=D{&8pWxfx4?Cn=So4uU*5(7sng#shU$xIQ;?# z^$057-oB!V&=ScMsO?dZ-|^){L^!@MjGf|=Asx1Muu0c8>whefwHtg{Y#Z30Hvcbc zuC||$zF|bHDGBb~tmjwX6g9IiQ`a%eCDVcvpj_!IJHK|-b3lmFU8JVRx8BTYSGv3u zNEW*o8@lF?(Ua$li-=Qz#lIHVEh>Mw5&Gqp(-A#`3B+Tk;)3oEQe5WfsvC*03V6`g z-Hz2$>L@=MhX9uw-J+poZ;*XAq{i~FDZ7}deXY+btLF6)9KpXt<-%FwIW$!TQk<~I z0FH8jlJ5N%s%k)@>Eq#YGxAL!v(3M=`0gE|bJGsD5NvcOjXDK7)mDEPl9Fhnh8b_7 zyeRQPdX_lrJwN|*Zzt_4G-8vfo!91ka2?fCWm|F03MyMdsW8h7zn!lY)^qJWEB%8+ zEO;%4RWqx&=2*@&R92{ll-T&kI_cxT> z+54(>E*Bu&VSMr$R4IC6^kIz>Pi;w__`X}*5wOGwwc$=D2RS9No zHLXmN6tyylbP#P)h$M|62F7lye#BmkEs68cjiJt?b;12cL!1+R?6skQ3_CC}_1%Tg zgQ(F_34uMZOM{0pMOd$!?6uWYm3fo*-k?29@0uA8eF0S-5)|D9P&!q%ZMx=PwNGk= zr0W_v4DEt@((yf$ex^KnbA4B|O_;jy5p+a0m+DQ%!fo~TN4Z+LsU~8DD}SR_;lO@8 zQsx@HN{39^12ou*hjgOVV=%wEvR%o=k@UAr81r3HE>Qd^f*Dru9_TNfb}fNq-wm`F z$hRzZ;1L7!KF%jyZy{#{;PX=jx^LeBse(;d>f1l{%lXLTJ-tt5)h zfz773OLPfU%E(k5coV_YyL5I$0WZjp(lXiLhXNdto-dM@q*y4Xx#~PT?4*Mqdbshp zh{p|!?qF&o;o5gPOp9HW<*Xo1C7kn{PX{+j<=H zI_H%FG>aj(kjduKC1dp8Bw2!iN7H)Y_<~YuVdGTzipz}u&HdUAe(C3iI67TRwRgZMf&vh~d= zkc?-(vY0dz4O*i%32Kbu|*gmtLh8M?+3hUo-eNo+}~&zM?RD4J@xEyVed z)yBY^Sbum}R9I42T86;M&(qP~?K7D@@sCno*xS57hj2wG{;$tmkvG^-fo*t++>^c{ zW>!u%nYqz<4kW<-e3bzJMVg-e-cjPiXu|5fG&zYqfc7ucZY8zZ#c}ITnMfGq8F-&D zWcFyAjHaN=R75b9=?ziE{;4wP$=XpeZG=RP69ZQwiqdyORS;u3aC2icXlt6L6K<}P ziZ%`ipJ8}icb(p0DCw&HFUFw#7OxkLnMwhl(Q(5UW}e>s_-PeZ-9$`7DbRQOIsQ!G zau=>08(OgXtpCHU6wNIrV-ErTm5-*GXA4k8TIMO{{`?yJvpbfK1*(~yMNTnkq+?2# z8uZ%SPM^^R-O~Y%ub%9RWN9;&)7fz(#1fCcfpW&()y_yV&gX9FOSwcgHD3$lyq=#I zuEfmYy6n2=eRPtpIAoNs+xCY7NV(O2B-oyQ*Ms1xC1fQuu)6cun59bq@7mk69cM=y zZuG4&*X>>ff_d^B(>q<6g(-~$99rKBjaFa~GvT={ZXE-`*qr1zOs-rwVS|Gf!TQz`RKa z;6bXLX#M65+YZ`iQ1*1*cHCaZus&U#+aJX$NnBXz;G8z9HQFF9Q16g_3zYP(ar=l& zmdbhSJcl$@5TKa3GFf227wIK>KK*+Z5LPe`(%Jzbq&&qP>AgI?56iTtNnZ#}pZ0^n zU&%D?2({X7K?A7iUV!P3ueVS$!Q}Zfu974F1vAZYlmEHX@pC~5JHVyGX$n>hL$uV@ zQN?Eecs|=i1icJL2Lm^Z>f3pD@KXq4f*`|eSi8x3Sv5y}yWow>1BSW*vZ`DVf;=$B z=~xr??(BxKtGmwW;2@c-=Wv0x0R*-XEB5p3^a;MWY~Vk88HRA4JH^0nGCu7)wCT($ z67UyKzhgT zBrYzQra&V9)iCOo%YeGV%98M&O9WU5_oZU-ju zxUM&u3fMLjvUSVG%rCs@H{KS%ywef+WM*}Jf2`H9IrhNLw}BIN2U2Dg3{g1TusJ^5 zWkJNFOW%{GX0=VqQT}0~_n;yCeWNr(ZP)9>Kh~0#t^cMFcHORe znhS|?Mrf%#{0|!99M?Ao(!%Da+|h$>v2+no&)Y-bNWbF=;yo!ZUrzF_vI<}q;)p?hk+d)wgONP2{qxx`X1qP>VC~dmk6{S^1 z7sLWW*?b@d5lG-QJ|vb|Ra#&s=P3-n@9OA>4#|L|7u?1_**$J5!6w!33Axn|kkZ4G z9RLdXfnV^Ldz-rKsW3zmU8cwG!AN&o_^Qz`_ayeaCgaq6e`hE1e_T{VJQY zNW-50dL_}YMI_F!{Pc>4#Wi1N%n-2X))E_8PW%Xylb0}@`QA25PBt`=ug)4~<9}7T z)r)6T;kPhxe3M8LShGx(j%$Iv>{LX&$4xN(bnqU+A2`G7k4jVQhW6-q|4SDyA!7?y z!E36oFNIx=Q~We_u-pZ{Uycs9#NH>5p(NDp_ANc#TVi1-+F7yjM1KLBk|k+UIpzVt z@}{KW8dbp9j5(G=rDs25j^lxd^neYetgi47N^#~F)fvSMQ1-n${D*N0D*>ym##g?7d&WZTo=`8KDSFYAI%0r#GOWmBdxRIVR!w%o>{F=*+ z_i9xEAJ$3A0@Od-(K#NXQTp3I46VN%udto$%@2Fdw8|yzVdTUO9rl9={S9LK`Fdvt zEPTv0Xdd;d71{kF~&_UWNav{l`|-lkq8#PZYD6$uY3VXQh+ zi+9IOP_TNrRv+B^el}CWoAx6?VCj(r;gjH~Eo{?iG1DeembSNZ{!rEhBx zw{?P{G3X~vz368swKmNweJX(MoGdSw`-o7cdC$;fhqL(5oZ}WP-I-S{8=J*Tb;f+g ze{P2s6(NX&Zax~d;7A~I+p#eri0$nszI*rg?VW+Fu#haps2qor{i#9?69%K5Q)4si zt~lPz!tGWhlqY^iPw9N`rAjv2xCv`vF%JrI<*50`eCjig$U&4>u%sEOwTp^aX6ezE8J4ik&^u`v`5jVqDVsM`eMt!wt>z;~i!u{f-{1K7!Ik*+jM=)9%xa z$vhN-Awez+Wi_oF*$67`q-5>+bhckaN#AU^gwBIQC5@OrbD4&5O6ccoF4CrMYnWJH z*bdc;6|!r*8fGYcb!TNdOhczfyTWeqJOjFmZ7B_FICW1iFT~=Azr}E4%%rO?nD36v z4juIH*OsW53y$38q46-l!y_7IZ4jgsy;)e97NuF%t{qK$T8fZ7F%DXsou_;9H8#=! z4L#>?20wX(3*4XJX^KBoTG~of75=8*O*WbnLxXBwOw(_)em%c^v~LoMwXiaq#r;i^5|cWqEwq+> zXK`BqOP17r^<_I~hDz~T4|Lhy!6ESNAlcdAZAb&NHEGuI~h0xBmQ}0a|N{9)2 zS&$_}xwGz_>BdG7I33RW9g7Wh8%|cjsL|T3UeH8GUSDai6qZ>TKzJ(F4!Tz^f%BL~q9OH!mr6GJfkShqU3wBm>dggwvY2E(^UU z1ex{Q`=NqvBXyr;#_dwZ(^qU?-&D>c9J`cMsXN2*F1yK<&tl!}%}IZzb(G9`ZX4x}zyY@aR#Q>IE18zKyvH26JNB+CUpuRL?;4*<2HL?p>4 zKUfkIc#;WFZUq@}0w&pO1@^9O)15O0nPc`F9B_7ljS=1Bl&O=X`!9aCEtXoTWJ&}X z_zbmbEyLVC#_SPe7-XpA%SVcQur|N@u*EMCxif9#JE|@Nuj1$ew0KaknfF%}_YN60 zCD%1(*gW4cEj@@U-NXOZC$td`#xaxWQkJI=2ADsQC}i581yPSBfwVlj=eu%BfLl?d z%*z7xYrH%Z7+=N4w|D-HBC9rwHlh~OVr%1QqrKqr&V^97qy(O)y=9* zq40k@@HG6N|Nj?@2BY>#a3x}s9~d9MIQg^xRvuDt#>>MyJ0ZdX6nw`|{dH>g+tq45 z8MFi+YM7zyRX8Zox%GDXI^rV^N1&c9F03oq_wpkT|FXYTdene-i6$qx4CXIH73g}Ww!p;X_zmi; z&(=hR{RsiNtpjns>rarx!^U1%%(SW6uCgA;!NJM*^gEq|E+@HF<#X=U2kAU&f#28Eo}@D% zU(zp6YkLL}NfwlvcFo?tgLmJ?pFLGug5lFFV;P%oIYizoKqY2HS=qA@{jTD(?=a5wolGDrNS?7{ zCxz$e-RtpMB~2{I(V|QzKiT-gu195&RheyVjIvbTurd{hYvF1Jl;*Ko;>W_|GDxgiNA^$cB7pQK}Om8 z@Qd|6++~dP{7Yga%joze;K_KJDG}Oz{AN17vdOxa$*VhZ?QRhT* zSzt3fZ8xjCp)1L5W;49^HV=dgko}zSAPxeaFXUEIN~7Ivaz90paBOAc->J9#G$qBt(9_Ra^4va^ zKjGlu(9cuE=utUa4zMXnRfO4C=Lg}08x1F{$Y>qDsjFDAxm@n973I6M6Ik^XKuJLsm4X8t8BlfCtq zZXTw7-!$=Dy8-F6%xf(TM3**teOQEB2|5*i5iFATy3YimHDU5A zk_^*`mNho-czDC^dnd%SK*8lrgGthwCT*Xjk&0ZsI&2;7O>csC}=9)kvhIuyW#S?9Vn~ z(ddbe4sB8!7@W`f5?OSwb&msUPi4k4iyRrkb1Z41NHIT?hq+RQnMs@q3=6%SixNEAg7fj+hHFh zzMLPmMP&Q*K(5RDJ>Xu}?7N5%(1+3%OGT;LY(WX9<9fy_Lz+{navuS?^qC}yET&Y3 z?Svp26iz%zyMm=Nz~&#E^FD`-9Pn}cN%bL!;iO}34BJHz5@o`!b*lzp0FHc5A;RLm zb@>a(4D#QsjYy0&)cnlVf3O2uQnd8p{*t+sZXJ@$M3rrj951&KY_bGoj!$bLW;xQk zglxQ5%>TD5f_jVJNt|G3w#DAM`*G(E6bE~L_q4R*mwSV+w~EC#qI+e_?7pV1aam2Mbwxh23&D04jRP#4?z8{z5-U(avEt{88RPl$4wfm!o{`EXBk zv3P%dfPRJJQQ$sENlucP@h6A6N{XTu{sQq!xuDr*pUCq)2iC+;7{#q(3I_oB8B z`=Ic^ULW{o>Ii(QP4|}qYI&;>OR}W(Fx-VPsZ^xtQG2;Q%y7D@%?0$5-_IWIrqTsKPp!>$u!U_aiUI~`5~mWMDe|sPuiU1DGebLMt&iU zOTg=lz!{g?{S?>)a!W`Z7CpOwcw-oLn)dr{R;^oWM=L=NGjbz5z#T;c)&wI7ku zY09I|$iG^C4@7-euTFvDAF_>tJ2Tl`0K8+u-ywKsw8#}ob^9j9FkahD{Wi?f`4uVI zL~h+0tpi(<0@h--O@1t3iO|aFvRj|VTe|zOBKbP&Yhgs!-0pa6Zq9g8`>${jDlDS# z|I8Kau!Lp$sCa45471K^D+-x%x2Bwycvz|yd%#aKf>VbTgW|`Bo4m9V1c&V4v zHas-RrhYfA`8f<{fVtx>2(wpZ&F~9578drlH6tc zKyJDlRQ@p0fN8Xw%5xt2)!eZZCCUn8`6h4jBD#c$QB@XmqVUT}}c){<%Py&MD z;rEb6sO)js`8Aa0&x`>L#!9vMfZ5o|?h1HmD4>y(SnHN9PD)_6ovH}=9D~RQjQOeg zu+RKY&_FIA*SL>(2=skd&_)aZ=w*pXy*<;kzFvQZN$+9E42mn)yU~zV4C+^tu|rOp zHr(a-e9YatRf^T3L^IjlS{08y76I7hi*npv+N)z4P7prZi3@}Sa1H^{b_zEut~4jwt%qmBROQ%BA(>(8+|W>s|pzcllf2%^{IJF42f>H`$5+*B<;m zgdFawhwg|il$wq|5fD0hlE|SV&K^jWqn+Cuslkx5tE1esR?3wGQpw=-R)W&4 z&CwqYGwbwrVUCO(7;{s_>aZqhhU+n*CMzXDPS9!J3;D%u0;L#$Qhcf1~H{xvf7=O1>zlctMYA#-9CR4o@{OJr#6sPm`QaR&{^jQSjJ&k_)HT zZWPU?(b@*92s5w4p6OUe2Rcs5C+$g%q2v9_&nfolAgyp_P(m#&4@%lru9=F{DbdMW zJ^waY>8R_Jqh!pojiJHai3<~h&;m~LTu#_lE)3WmH-;tN4=8_!gFW}ry^8)2`N6Z~ z@@3|PB?9G-owUmh3$SPgad-|Qm2dL#MWJ-#@)47$1@Uf-u-?T^nDIX`xu`PPVa!)a z7vw6uQfR+Y^*13gnvfz+Fi046@udRtf}WE%5yT{y7-xJ13tYL0R+1w(0tQRubKSKm zb6%YJx>85QC+IgZYdx5lnC$9#1kZfa9Q3E+qJGo^SB=ve+R{s9Z~_uPiMHBr3U+vH z_G^*37X`i^Bm1$QczB0>tyJIK`M)Z3SV}P?UdhN!N1fE@xJ2Wr~vXq8s9RD20v{TZb@D8 zIeD7F_}dJWgj6f0Qp#CvcKD9@h*@@=ztD4EaoHiU(DaANukWC?S4Z?;yqgVdpX9{; z#v{MMLu7k$A`bV?46@ryDmuAH}NU3HmQvQ8Gx-v(>OHkC5 zYEM9Eq7dzIw8@XUP1<)f8&97$ywn+z;1g5Go^9be99{$fkU39GV_b!Gm0Ybl4|soH zY1*=$@?(LzJiVfpK5-QriR~36@FBDl=ND(gzxv65G<9sYZm?G&SrF~!a{abi*M|pW zMATU3lD`P;)$+X)(`;D3Usi(U5hHw8hl!On_};9sIu@s=w#~VnN%hu@0cCAz_J_6k z=#Roxka#L>Ye_`(AQq(Vb;jhrm=?x*__J31ICCU+m69)s9Q zquz#cD9Jx6y)%yAlb)Pt=v}X3tAg6ASM&TRNG1eIEuR9DmGw}V6|$}Sqi6g&ge>{um-&VoH z`+0O5DVYw!*WTSsNm7Q{B*Zxf`}_ds@4 zA$StjMX%)5q{z@`AG@Msp$8fYa)FfRO^^6<;F_>YdlUq-a|powWOf{b;B?#my+eb& z${NPr=8A?C+^`^fK((J-X?J18_3FpTMA1;vf&uh80;Ok$_IPz=q(JwS$!H8-wFb%$2eZVg zX6au#ca)6UNRD?G%$E{T;>uQpxtt^3T@>~`IDEiI6)&eHwqi#k()c0*2y-Msy3Bt{ zw;p<~fIZo735*T1#)$#3+$r)XR$B*^R{&i8%@Dh9PEozKUdL**oxxi}Q;W;bdjgFIeB7f9oL ztNH!U!Zg2R&^bHlw_;ANgSeOd;_gu*GLqd3q&06zE7++1y-w5Ctgwq<9YY%kP#pbt zL^7mKrF^d4XSe~4`mE4$ogO2FkN?o+i=&my%&3{{7Me8V}gSyF1)#W5?!BJjmYfd zUB+7s6>cV3&I73*;@Mi+(r9G~zR<0VrIhy8pZ@Z>{#;B|*c;EOCOk&bQlf$d;Ac7G zf!nO9nqwu;-1I?d4_eZ2%rF`59v%!~raJrB_^_t9FAq1=3=n8vPh2g^PaxX^u>s#>4g-S#WNX|));bhnn#g%lD5`LWkR zURBw@n`3CV=h?k0Xm*Q&G)AYYP?PA=I*VBCF17OB6ubS_gz9mzjDL$8=Q|f>4HV^Y z7LBYI@fFsa6Seh}OztZQoK}j06I@IJ-0gWb2>|BTisyiCq6>1B%6$Iwo%DxEp;iBT z7?1oj3;1Vh$Rf$!H$-^z+F$*w?0s#liuX=@48oY0;}yi{fW?W&xrOhNwmI(kOf-$V zqoq~^oHlJhi~rWp$vIia{``*=ah68*M1RDl+ZYURfcRM{lz7&)B>$!_xe@q#kCbcLd$Gpm#Ap;Dc zY&7AD9DJfrE5i`)Opg3+0-o?*N(~huO${&Ai`RE`(COB>3^YyLnKqLDBTnN)r%v`; zPA1Nl*~pLVvQ{Gpdtx3;1sZCZP<87fryb!l2F>$}XIXC`k#fmmO--IsWf#|P=szZo z`b*>UZD9&R-{cq%r-^w)it7i)9)jFq@`pqAHZnI4P4rX4_4Vwz$B$?^x>{F8GcNLF za&uKe>!?qkD-WlC#()|lwA$n#QJ^HOy)M+Yh|UG1ujQU+E;|R&F^3WNV7NCVwIut1 zmoGP~PJ`|gYin5Xkm&AdqIcEu@lFK#L}AGb!>2Dgi8=(gu{bg#cwe4g?wjOT`J{O^ zLc<3^KrUy;z4?4Hv4hW4Rf&m19O+&z6kf|gKYql(e=Kg5B)il3SG>@4JbyD5YjhYA zLHpKw8REFi=-E5jivnOVGBR>xq;-~LQf$#dHkv2QJ90+^ zVAPV*`*goiMt}bc%pf$?HOzP)v(LDqeenFR8Jgc1Obp~F`YlJu<}TM>a^yrk@(;~Q z6>tvxj>i93A=Qhg#c}Wpd(Y#v7kgo8w+*k~N8Fbz|FZ;i?88s-!CPZFuV2Rg4r4@z zksk^rd?~!zR|g3xEd}%b|H{eQU(dtt8+?9q*mF|JgpLxo@U^6hW;cl^CjF|b2^~j- zt#K6TESt44!#zX(;!fQ7`Rl5y%TV26E3o>}+qRv{MAu#ELx&>=W8=kyturGd3^pW8 zR!T2ieI&v+!nY`!kmwq`aD{!5Z4#h+Yli*qxd zXJ=+V4~N+C_xinjv$FT!_No-VVw@PIAQ9k4ZhL0jR;PIGA(p%``LOf&O^OS*-K!ZWs9w6&l0h1zbF)VI7KXXjRq$pvIt#Ve3%-i( zioI|B@hZ14G`*BkfeS9^;l{#J08nW9Cm;Q>-tT>-z2f$iqI~>rSM)34r&Y$|HJA2X z3HLb>ea~<&dI36QmK*uC6%HG#rEhiGZ03Kbc)4r6{*Zg_@OL;tO#Ikg{BrxV*a!TV zlwNf0L*m{!B+hxb_=xSJqk6}!sRQ7q{e*`O6^mH8@%a-{lrI}t2ksfKxJjdrT6{{B zb%h_Vbzdgq;t%^i;CF#QD!nt&K>U--+A~O3RBC*lPv78shS{^1(ZCe0Bg`3JJ?F4S zkNzf<731x5gD(N%4R<`Y|9-@ewC<9uFq_71o_9u^;_HVLdl0_CSN(`aD-%ojHCL^G zLGRwkcdsbRo8BIHM=G}{BP%YWZ%8+?!XeTy4gD4){5hEywGmn0Id#*0IUR4MTNuR+ zw_2t@d_baR`la*F2Oa(~3Tdxers>)_ym9rvs)tn2P-FZ$K0BMU3a3*DFAOlpe4q2! zdYjAgx#0CTq!*poJjVZ0>A3aavL%Q@7o(#Bfuz=zbkmc+Q9A`s+E;|#S^k5BI_lyU zyiOt8ySs{w?C?u6ezcx(=h5P4Psl2K#^?+F$=}OCgBtB6kz99`ct-LS-iOB1)ZQn& zx6D<2z9(*4Q_&;GOx$^l;h4xS?VB!)D95DK!xk?nDA+18Xw^Zh2}pW)$yG{bH<+c6 z@TV(c%V1d&;6t})(IxnxMQ*?ux4~khcV$&P_qITopPG9?-Big znU6YubM|{-_(psVqs|`-?c-CKV9r=aObH{?%xkvt+Ez$BeVLpy`}lc;@U0WfbeXt( z(XQCORFMHs?{CKpGWYYA+TeNcszBQCyNU7sY@xe{{L`sl7(AKy^h$`+QfL1(u{+aM z_G_E9)qg@+g@ongdUS0T0R;MK?duI`@jpnrD@0scYZ)H{TR!6*c`wD3u~4QUd6m8R zDeSP>`GAd556ySE5_yJ~$ToRQ->%;d$UvV<6 zUYC90aQ%`S%d9n5V=1A3{jd|jp{a-S+w985@}h&D>j7h?rCY`6_Ai0~R|NwRg};dI z(8pxo@t$4n>-K8#j^i=yr~T}f$=yE)#+?l{(Lmc?9a>xC zvh3FVp?_G@?3eAR^F#RC75OwE7T$RW7j!!6A&dFq3WSI?PSn4pV5``QdE~j&nW*xv z-eGRBA;o}D`1g@yy0{=hBH=oHo`dFFB&qxGWd`ogmf+s>yp-5{-*?mw_f)WW(lhLE*g`rQcPH{X?C$$CG(ae~YXz-*QWv2{o!d_6 z*4fd=m4S>F$|Uk8>!Ya)&+c>AxkZa~Jd5^l%7kU}>D}tR9p5aKBGT30B0@?TC;urEpZ>-Fd z!>%~4Yy2($QBwWYo-%z{rc45Rh)=Z#*V7TJ37(_rlQl$*d&&)zs!b?ITpC3Ch zS9=7RveQ-WOMP>#J9Etk`|o=~n5E`_hYX%Iy!`y>ksMKoy1^0p7Eie2{>gI`=~fO{dA2h8?{2Q z>x+I(%T%5xbgEVjy+IeV`=&}AWe1HS(;#q<=W$mB402moS0c|7gVU1JX_0|}qjEgh zZ4JNM8Y#8~uZ#z&fWyYA%(3I{A3Z=}$gdl$1x`Xt2>0IB73a9#!qMt5rByyz?1sZs zg10};Ejo>|9P#Oz_lklZ*xJEVhB?0bCrappZ+nUb|@M$6HKmlkg%2s4-4*l#&rQ!ki zo;?HdrIglw98zz3 zXf<9Lh5H4dQHL8TUTk6vpXmB2B%Y#JcQt2uzX#5Sn%=JCoRbbn;3Er{#X{J=+@}l*H4SmA!2Rb zFQFCneZ}8>`XNkup2N)`wm`V>#aL1j{>?r_Pa@abd8Z3CnCPre|D=~M{`V{(SL%3M zLl-d<5%}kqBM;8qmT&7bsY5SLhPR3hTc=mQs9?V;dC}(Qa)4^m_)yvPh@$_Uk3i|> zpi)8In{8j~$`>j#V!6G&S93!kK)n+`jYXjy!VnxlLi>yDC#~nvmXT9_)W@$Ib=*P_b4tSM*q1vR$MO~!BZ&A^Z={l zhsVIPXQDj}&x-L{BxBl34_0%dZ+rvxhfvu>rTGIibynRc&JwW+eL7ewNTg-&M%>P} z`wUX*{zm=%)gZ}OrSnFAx&&Xd+BUlK_r4be#7L+G4r!6#unp5>2xlR8 z8=M?4zB1k^AI_hq!(TS@^#W-elNpVK#3bT6Xu;by{le;J1R2z!AfijIZW>d9AYK=y&c=Ho2ZljPasHgX}L_E=X>{^yILq1kyj>A{p zIB(-?Pg)*8CMa_0ufwoj31os))ajEWouVSw>7S6NGdTY9+2)fb)A7pkbt=1!UItJj zSz6Bgo&8)HMA|C)=cNi`q(3R&B5JI1xwU!7w`2f*ieN5axlvTW4}kF;9nC?`P+{}V z#rS&6kFSZr>-!CCI^W+TPpqFgZb7o{50jW6{Z&>7IDXUIIDOD6{78h#Gf}J3qYW)h z&^0oN^Gv-%)CnuDWR>o*4BKm0LrKDB)ObF3hw;G4#s=ZCl9fU8h1BVplB<(U>E{@h z*!`$#mBv&!Cj>r$WMQW9xSJ-=ixwgcXgj;866;#>END%p8Ar^Rl*vXaUD~uvf2NK6 zDX|yZiGFeTJtpMiCI&tkpUu00;e^?H2kU}2^}=<37z^DeQKj>Iz(=2cHCA)5lvE<1 zvTq-l#K+wK{>0BKje35~db8$4R>_GvjPzyU3!d1dPt!}xk?!t%3tIJW<)Ub);~B5B zE38ZEpIN;eUF$tnbM`HQ=c4C`vBCFO8|S%|3o_b*R8;gcJujo7JEI~Z{*~4T`1c-u z#2?8~&3?bakVj_=m_W*e=EpRp{rgiQw#zV8tx0zYz6h2dr<*(W z+8~`4!cV;b=|09%&M~G3$0+W1%_5|B+Wu|z^j@SQdz zSvTkzf)zNHm|nPC{d}bO0lUDi$)j#MgU-_zS4gxH=qkz6$P4z1^K7RM zmGU3?pb}|;)0H}Q24nl(NRFi?nIXBnw4wIn-WJLx#v!%d`?0TcV`p#iUQW?6cBTp< z%=F7m6*GMDY8HQgVDTMjrH2{Y%*e{5p^%8UU=Rf@^z_b^#uIBz0YbF#qE1N zihJwLliQ?!G}EKovmTfs#TyrnVa{KjLP4_&*G`mX@ zX02qqgx@{4W_|_T6TszWbzQB1>&8r$j)*WJ z5g2{GCD)fjk7F${1fwl3F0Kq1pIX&+M3k63H|hwzH^t$`Y49AfKU}|hZ7t+dA+JeR zScg9}$ntKs&Z(^`QzO&+KYBaMhAx0_TPq=Q9Iav=PCDo0!326lOXPjJF5@6<3n#1^ zXEG_`Nd+^~Gp^ut;X{V{?~6^Eq-%>oF(v#&uFu3iFMa26uasGku7sZ58^1Asd`yrm91^HsM!Ko>S`?il*jus?*==puqWul^w@X8E}0I(EYHY9+Ba6 z8$c?J%%TQCB7$@i^NtwyhVlU;5^6^HOmw}@_-S=dsmizeKO;am^sq}(!aeR+b; zT+r=${urhfo?%gy9C5(-i>fRfPx*GGVzn_OktIeY%FS3}4MJfAwvpcrO?D2kkfOHdmx4-FC5<@ZuZ>r-?TJu~sn%Sd`mg=%C z=nL{66x$3~X&qidDO0b@ec}|8>QA!Ux|6Wb&B2buT|%lRZ6X8z)06kb?>rd16fOKF z!eZB~_rD^oD*Ys>zxRZ`dw%>fzZ*foU*Q=<$rkkM`|>&a(Ly=5qn8RR;4srpQk63> zr}0V|FS=&$JRn@U58In5s4t3zKI2KLe(WuN%PsTSTVMMu7UO%5E~eJBW5CV` zh<>iu2+i-6Z!oE~)vN#FOBGrQeV-(~;Yw3+n=Y$LPC(uca#$@Ezv6^-T>Y4u3 zfm@vesxTx1WT!QG6i^6Mu{wLhn!|Qy2UBIaQK^f%g6+}4{7>0`OWT*ZyVHIqbJZyt z4~>`Eq548kG(8C?zlo)C0%s7lc4|DVY<6)73SO3JKWwE4tVhF&)^dh~(i{ z-$kdRGJi@22%SHn#oBOEcn9^cOmD4}*VWr>E@uGrtWPGDzCE?&M~dlt;WaeF7pgoi z^j%!A;#bm?L>l01ik5LJta7yJywSm~z&@GM@s!YCO73O4i zdCdO`s|R)2OdiXb=GqO|dEZ?sd`@E*VL0gn@Sxqqs5KlZa%YSo@lZku6ELdotjr*l zIGS%$#NiAPq<3n{KOS@kPwTlI9&}S= zQZ_bgkZhSIK>E7=`>Q5nL}a3$t=-ONSrh?AZu{T3Z|IXp*S9G&SuDL}O!P;E-+N}! z)_# zVVPT?!RW93GI{we9>>#z!`OsP^xsL7QP%G(EArfB?q+sk82k--f8n1I(F#W5Y0$f^ zi`^ObMEe`WpWAM|J%h|@cMjM$7S^i!`ZloBZRyLj#4E+m1RI^D0n}=W0K%_EIS9XB z$emv6L7L`fqgN_s>^83R;j3msrC(uC%TVc!_5;r(f^wVPtkUq> z`jOmc{UgJ3+8Jn7N{J>tO?aKXubRW__?$u#8>Vn5*?B*}jYz~w!3wU;rch{Fhq{sg zJs*2|{+}7y1fAj8qcsVbDr3x`LJYdof%>>JBC<-eNj}`KTokUfnw{Kd?SaQREQSV! z+0zZi@cE1a0Vt_NZgN9DxQ|v>PbU_xVza~{jr?m;oAdpFndgXNcS~S0E$N@xIf=}r zj(iED%)W{8QENHjc?XPA_;74~<)^UD!n!0Z&QL9U*i0^{+U*yeZJZqF*p?>hd z0q0Ef2Pvsy6Fi*)p|g(>$4AyknD1t@KN~Kl@9ILD1_LTEJjHpt5!<(Q7wuz6vH)zm zobNNZAW)c)eI&Bg{RH`DLlZ=aX9w3GPiXRnB4EHr zT;EYKpVOX6BnWc15=7MqHW99(noEM)<+o_HNJJi)Fq}r=hHc`Kh?HtcL`PNzn*l|6 z8hhe$wvSL>zbjr1^hC&0JbnzEqLV<9~vP&u4u86Bd;v?;qq8AP1Im zSG<5Cge?Dftapc07>=V;A}TIYWs} z&P2j^vMZUC?db~SQcE38kY5g{S~gq{SS=&U0OC5yt^2NBwSrEkUQ)-TkZpLI2;^2l z0JLSS@U4*8re9T2kQ-2rZ}Z8aJ*Ha@O_I(P9@!+7%L3@7Kv-fdv}@`SJ4cr_xVfCF zPX5EyVymUe0HfpXtkAu_T&0`6)uQ#8crS}J44Is$(7#$cCd-ul zck0%UAj5v0H_!W8oHZF8&Ss&Znlx9-s7M99?B>QDYSc&<<4`r>BtTPTFB83k^| z3tx+jq%w&}LI;pUCaOtx~mg0RY#oVFVR_zHv*UDn92Wjty$h!yVTk%<7?$I|#w$ zoB(BDSUe+xfli^#;Iifne04gf3(Hc}1TkP~50`f&EKAD|$*gaT%vOdZ;`$IL#Zu)zAgkSb z45(Q^x}MVjzGloWl}^5Q?=mhO5nuwMtA}<>IGN+PY_69_@rt^)Svy_o502&VD?bl1 zP(`PrZkT%JvhGb)K)W`iK38Ar@`bH=#tqgMMKS#o2;pw0_`lqz4m~oPJ~!Ps3{qG0 z1Fc?9q&EZ)$1x$EM!tB$ie$g5aa;7Q4RTVGta3 z25K1x-l?$ZQ|{^ZY~^YvR?=sIr^;VLIjs2no*PcLE5Hr_=CMfHN72>&o4xT(O;4w@ zF@wIy1df=X&&ZaLkKgZ0_+v~LvPY@}vXGj=yAxRj>G}JIE{I}|%&cHE-DY>_S?{6h z*A;{^`){cdVSZpdV39t`wuRtZM1&nW4SJr2J#GBO7UkEK8PKatoJ%{=cVp#~PUG)y zL-={WHjS>l{7_|27YQUgr1oIXoSxb8lO|lN#a;au>r+jgvbkWlZCh8-_ zbOR7Dm2@{CI>{z;T3po0?xc#_{rB!GRs+$^J1-~ejV4hHD5wNzKBrqQG41i59h_4^ z_`8TA;em`rqS$LpeN5!O@ih@Rf#?b0JI1%*NuHb^0z`S#Z_wpgEKzkok2sAL`HrwUVy+ z-eU*`Lb?N8GKuar z{ay-PupOypiz<;(OyJ35=T(bHH-g*gbel?nO}F~OB`m?~;wnWjo!D1U>!0U>K)@`K z9~6-}*XT*d-eCQ+Ho#&~K07~yn<1T-46F`3(apNkZiRTO+oKBjP8g-L+ATI{A%m(F z<%?BK0vXuwHn{Lr7O0H+zYQf&!?0snLJBoJ7#?)g>unKG@$uo(z#-w!bqcx4?|j!k zlA+t~3i3;W8LE{!Q7Ie<_&Yz=yB&_lxD@gUrdP>rWhp05;Ls?4Q&DzSNZg%Sp@|}W z;{9fxFCNoeZ(aN{aC?zJ#r*n(7$}#4uvJ1&$UY+R$dF)mdNPkeq57%tiS5!|2CZhtXVD4L5KwC* z&oRfmq{9w_iXJ}X%4||N82RP-vD5A~gWvYZFrG5Trd|5eghAfY{Yl%S$>{U0+r4@C z$MM>ycocTntlAy_xm|F(i95SC_JyF~z%_=0j~7G`t8Txu`Wj+SjC9*r;6VxsT!2mQ ztXyieS)@@%T{6Bfl$f5?BeY&=<@6fIn%y~lbKJ3Cst-dw8`Zml=E1h*bYl_ zKc}52l#19zr7`~SY&H6nwfUFWM_N>c~D}2IlBpqc^$UtPC+2L&S_x2z_ zsvU`dueG@D88AEA9~K=@M!_73v=AqR>tU?~Xu6|DplE3~>hkdFCkaoH7(cCOoDx-(4|s?yCw+5rtc6T;WJwL!Ggu0 z0|ln#a`UAgYH_$pf;Z;0X2D1*4XEvNK~p55e51Y5HKM1}NodO(kdoa8Ht5qq6tt8Z z!pD+5psM@;LsMCC#d!G37GAt?jkfDP3u8m9UU46qF^pU2=K1|?T7!hj2BCZp)ZG%IjB|2k{^VQDq(>) zT5mDxdCfO{_)3l1(^_MDEeWLxs=EE?aRSVGd#1k< zOn*-=j@wvFl#sO7aIiQ5;~dw=*|}yc&?&`xO9pVl;v1`aQZKs-|vw}V};{Lemae?!j||LKYf1B+})@%7EN z1=HzhHpO_mmHPIfUqOlV&xMKd&7eyaGKzg4_#{hw<)$a7Aq|U30nPfDuJHmiQ zl@jdA?_l7`V)OIq@*`rX^}m$8@!T7iz;I6Z5({+tJmGQQqVJkcM=R|XQ4jv&@eJCz zdM`^TB%=ON*a)R}Gd;ZP#eM{7B`-pvX0&=*i;tb11{5;Gx~+msNhJ&y|EmQ|ovl6u zXN*sx>*Q6(6+{7X;d_}vj#fhGHn2174z4;D9X(sa0eWUNj|@6|eN|53h0G;}YiRP_Vb* z!my~+^5xn)Z+(gcYA83@0BW-U5rI@XQ-XBrU1Hw9^CJZqV3%v;m+Eqi}X#og(6rN(5^|x(xkJN zdG6HJI`t;5=0Q`1oHRYcGpwAw4bv_)ZAs74Cx9KNCTDY1t)#%cAat7gxR|7ME7iICH+1b0MGW6HOa)01_YdW^jbVd0_fxIU)u@QuCRV^@QX$~7-Q zX$;sVWy>AQo+{aG14{pDfgM9k;O}l_vWZkl=&TPs%)}9>iXdcAjHU;yR$D4K=YPje zyOmJ%*K~5_fwsk$_?BX5HOYd;3!vEyB{S=uaN7Rp04l|R*LZp0ILX9;s2D>hL^2{m zTEncaH=$Ifez&J!UQ~guRggo)S_c)(v#1h*{8f$ZSQ%C31m_h2`18agN?>Lm={HHFpg^B z3?%~0@J?akJ(%hZ`t4j*B_|YrmlXNAzrsQ?f@IM_SivX0PQ>zIy7q!CFvGP~!^ryn zl&*st8caS_SE@Ddl`t5>q}U+me4l{Xi}R_)z%NQk{m1=59goOB$gk!pAiISXQRyv* zLhoS?3XT0Nnw-OBG@B_p0oMMODkk*YxPoPb+#n;4QpK_wdN>$b_duIj?m2Lv6WJWK zCoCezm!Rfge9(~q@u7vx&GQnQ8+6A=CKI+lAYUbbv{82QKxfmY+wW~UwHgR~>uMnY zSzGvJN_*QkFPAS;EnrY*a;Op1&8REB2U`U+gk9*CFGNA9=jYD0plUjY&E#ocGAS3& zzD9>j=B_1=8Xw{kQ5Lwy-2X{4n~gXAy0`Yi`}2Xipk`XdsPY4tF4-21rZE?3nHqKl zUS`<*wQukY>vT2-P~OMC<}Mbg=mLtEzUVrC#|qKS zIB)_;(8n>0+xv0r9w0tS1e=6i)g)M0y6tCBPS3#B;noV28YA?w4rQ@QT*eQ^)4n?m z6VKv%tfu;rOUxk#Qg%tJ_RQBs(?VlyWo4uu(4Yl9ENE*&; zP|F7c5rT;;=5wn466KK}j;0uL$hcp);3oSqY*ydd6NpF{nvJ@pHBfqw zsSL|UIZlPylbP`j+Z&#?#%4V>VZPQ-1?fYVk#iDV@vDP<5zN(rxm)ycQl3>E7TvX( zR!8E);+BpCtKUL8CDNNVG8`J+0_hVn)b^xGjitA3jL*>;b8nZq>U}bNScHv$P}xtT zhR2TFaH9dS9KM=zz z$D9P9#Jpg66uQs-bZDQ{4rHp{QApOY3exp`&qnb?_%u;~;^YdF2sXyM)V`D1;m6$0 zYK)xPQ-_M()2-Bvx9a7w^XoR-2M(Wj%%{s@UcR4gcT&;ePAxhei>NBw&}oTz%dZ)7 zm76to;D2R)zS?It^DB@ta9MH(sZYb>Huvpj&mg6&5e@}u#VI2$qaQ&^z7+(Lts;x6 z(VU8+&wu_!41~>>M}0;|Y^w=`5qgKaRk&TBl#a2L$MlV*vu19T5DKTUp0`cMb2T2> zKupUJn~5B2_GsR#|A3!;s!WAZ_axo4k&deXEWaxRgbv^3t=G;g?pkHMv<0cG@%?vO zm3NtsafPz$+inj-y4V5hJwY9MlMg7h+~40&w9?9dV$QE?M2deGm=_V(dHVcYi6oQv zee){7_)xNqhrh$>4{mSve|36^6<4EO4E>9$+(M5&`NjT!q6yXXouRcqA8Os(aBI=* zHx1X_K|*2RKsT+y>;^6-RF5CbX2yU^hH^SxPSP>8j}`V2v!i}UQ%1g*A02txP-&oG2S&7!UXO8T1y^-_(WM&zn&2lCGgJ0X!Z zCUOnN%1xIZ(|$BcV0LiV$x=&YBW?v6Wa3*5r(1tVd|#P7Y0Y#_ifDKr#Da|jLIQWp zQGqJSKsx9mDY^xR>w##Y$X_2k*1Z2k1dIpBvG>SmR8;?;j6en@Qm9$GWRR7|A-e@P z;E@DPVUfygeLJRc*hi%+=TFj>H3Ku<( z9(Z>vie=h%hE;Ow%pq&_K}6zc)xBWhD&5gm8}!DST{V^?uv{ZVW}D80+A6P=3gcG0 z71qNb;>|mq^>_93ZMD81`#IYQtS~k+IZZ~0(!=O?{ ztDc^nglZ_$imPmDcd|{WsP0kanYVWL6(EA$lrP02V1VNMJJ> z2m?GLk_QSIY4qgoS=Etyli|`_^;WfQaN@f?t1WSXM1ZBwVlNZQR|?XIRNn;CKLR9` z6Pweptg>iRc+p(ePI5)U0y{v_)Ou4~I@1(-Mz%GQBE(|@<@e2t?HRYRti(Qn` zUO4@}7d0z@CbmBRuJ4a0I6G2~brZ441ws2*ZyJn}9AXrNhpak{*S_U8pZW&G7j7nfn%r7*Kq**6L6(m4O@cuCElFSHO_&akXA*tpgNs zt=K#GuldM&psEK6{+|zs2b1OC#!kKSO)oc%d7tE-lZ43|N~z6+N8u>PPH&YSWrWlg z%HY0h)9Oqx>IkmM3D@phj^yf_-gkQ zR7u$LfS+7bwnNze2@{lNK2r)*%9C`;DETu$J@*3pGL#yQK&VY)`enheLWQ+d<>_jH z&)ghjw>n}Htc1{JZ3IjPqGbxo%cK0TFZz6c-lcQlRZ}F~;bao}qhP99e^ZAo9548t$Mxd+dw9PM8Y5hf zKWn$#(y-lw28^)9sEj+YO!Z&hpOX#e6-PhXAYO@YJ;e!$MXE3D0vXAs7DS+xq^-U& zYAC~{dd;g7KrMsm^{9ed{l+@P=mjQv*#XdndUK#W!=0`Fu|EKs329229k=%2!h+m6 zBNGqCh8Qi5=B;)9z^GQJ>O#q}NQqO+C`0j{;<-a9Q>XTER;o9^y_j&iqEMHv(0ME< zF?o#N)?7TVb3uH#RFV-moNKG})cRxD(ZYJbe#)vx$*1pP-^((oN-7$jk&kqcO=r4X zT_~OxF=%9$Z=@!0Fwo|`(a5aBG%%-&mDs{+)KiFd=QX%G zu2)f~P;+t?`bTj9hhAMURHjqd&GJc!=rFJ6Q~uZ8%x*WdUu^jeE`;6-WC|VXi!`eI zjz01|UO0>@^-Y$k?2ZUXA@(Ok>?#%Nl{yeu_(b2kOfJGX^^=RB*aqf8Cbv6m+Yt~6 z*v;N8eZ5nweHHXSvs&-1b2u3HS{&g$s61=jMh#E#dboQ)7aJ5B!QGk0U%T|C3Pdhj zA`mE3z%ZxIf?Vlv)OO`}xlpna2oY?GeVswn8R&^;iz4qaQmUMlZu4aDbUoHh^Rk>Y zdaU5Rn?rjpQ7(`DK+0}9qr!`Uag3c=@WG`%q;VYi%^R3731I;xQ|w>ZDBae!D%)U) z#JT(Si>W2e%y-J2j3C$!!$IoBd6Z4^&6#}U+^5b;8r>&E*}x*B&$2i(tfR!e4a~-) zs+ILNpeEK`bX0G%f@Ffp%^WHiTn_(PAedTBIKn9GI+fthR*C`9sNhG9_5)e>*1^OJ$;7R#V&*K?D?Dg{E{VJ#bXueK zFwEm-;>v+|+J}c>oNHn1?`86JzC0yP4Uv=%-Okvb?OFK9!Z7|=J}fs;U`C;T*jt{y zk;ea@M{!w>BX?4X+WTV#AQ|KHxrT3e3_q}_Q(%ks8g3h~6J3H4Z9RqGi}h20X+Blo zqz|)VB$o(iaAWE^0LOT3_S@$nR@@)X{v}2cVs9Lt$IXMac)K@RamH zrEQTvj?R4UXjYYdC-U|wa{tD8&|CM|os>rxM;JZq}{cJm9jUY_W;%LfB z-nbb>-0t{Xz*4Lbd^WU~1DQP_=zpc2lZ>fp^?cZeu{p)(w-nj37js!(r~n0Z+p^x8 z%5Q=CaGEPK;L?f8vRYdZPIb56Z5WvtBw-LZ^LbSA6hhif=pSXX?Dq|wsZ{0Qfz?#JAfx5I}Z zKrn6nUD(UCZM0hhK||b3{;)!CuT#f%A`AgYnlt~AG|jtWnbB;k(}1ZmsB<0O>Hs7$=c~Pt373Y=zi9L*%}yl}cE8f;yf&Ps^s*$


bfVv!BK;C0^VS zuX}s8mOC~XoXL6lGRA}Zpj;LkJlZ^eQiu&gmQ9o&CJGg?T>84&o444mAMK3~U+7sX zATz=2PSGaApk#2k!scstz!Q2lOFgQTCXGygkU?Q*wYtk*PMhUmxoJ1+;YypK74Z8x zk65aIm(4dx9xjLD;;ds=5D~OY666OLo#Iws@fA<&&6Kw6BAITr0w1)C?M|mz&bQRo zfGhpYK;^J&zXs54ve@h?Qdx1#dg+9rXrg~w@4%+Ar!-3Q6Hm z*`m@o{Q7cPR+woJy~W^9b>Y0b(&%af-Z5L44QpDqwVO5DjZh-2v{FbF-#~Dok>^=5 zjgQ|T5WYf`}i^VF7ZVMW!twL89CnPB$Ylme|0TpLnIT@)xm7}>5@%Y{4E-=Mp@Y# zew@A4a362O7aQ#P7hRD39fHR#p)ZSbt=o3bTZ{R@_ zmK|ha@Ktgavi&R0$yfWWX-26qtq=I#p(8b@p + + + + + StyleGallery interaction lab + + + + + +
+

StyleGallery · executable examples

+

Interaction lab

+

Explore state, interruption, and recovery. All data stays in memory; response controls simulate a service.

+

+
+
+
+

1. Save without losing later edits

+
+ + + + +
+

+

Confirmed name:

+
+ Save response controls +
+ + +
+
+
+
+

2. Search and return to the same item

+
+ + + +
+

Enter a query.

+
+

Results

    + +
    +
    + Search response controls +
    +
    +
    +
    +

    3. Inventory and nested decisions

    + +

    Equipped: none.

    +
    + Equipment response controls +
    + + +
    +
    +
    +
    +

    4. A reward independent of its reveal

    +
    + + +
    +

    Reward ready.

    +

    Rewards granted: 0

    +
    +
    +

    5. Disclosure and direct manipulation

    +
    + Delivery restrictions +

    Some destinations need an additional delivery day.

    +
    + + +

    Drag or use arrow keys. Release commits; Escape cancels an active preview.

    +

    Committed position: 50

    +
    +
    + +

    Inventory

    +
    + Selected item + + +
    +

    +
    + + +
    +
    + +

    +

    +
    + + +
    +
    +

    Example only. Reload resets data. Browser behavior is distinct from native engine and service behavior.

    + + diff --git a/examples/domain-interactions/qa.aside.js b/examples/domain-interactions/qa.aside.js new file mode 100644 index 0000000..e06f99e --- /dev/null +++ b/examples/domain-interactions/qa.aside.js @@ -0,0 +1,199 @@ +// Execute inside Aside REPL after opening this example and reading its snapshot. +// This uses the real browser tab. Size/preference overrides are scoped to that tab. +async function runInteractionQA() { + if (!/\/examples\/domain-interactions\/(?:[?#].*)?$/.test(page.url())) throw Error("Open the interaction lab first."); + const started = new Date().toISOString(); + const checks = []; + const errors = []; + const captures = []; + const captureMetrics = []; + const onError = (error) => errors.push(String(error)); + page.on("pageerror", onError); + const cdp = async (method, params = {}) => page.cdp.send(method, params, await page.resolveSessionId()); + const runtime = await cdp("Browser.getVersion"); + const base = page.url().replace(/[?#].*$/, ""); + const sources = await (await fetch(`${base}evidence/sources.json`)).json(); + const artifactRoot = `artifacts/domain-interactions-${Date.now()}`; + await fs.mkdir(artifactRoot, { recursive: true }); + const state = () => page.evaluate(() => { + const e = (id) => document.getElementById(id); + return { + draft: e("draft").value, persisted: e("persisted").textContent, + saveDisabled: e("save").disabled, saveStatus: e("save-status").textContent, saveError: e("save-error").textContent, + active: document.activeElement.id, activeText: document.activeElement.textContent, + query: e("query").value, searchStatus: e("search-status").textContent, + results: [...e("results").querySelectorAll("button")].map((b) => b.textContent), + detail: e("detail").hidden ? null : e("detail-heading").textContent, + listVisible: getComputedStyle(e("search-list")).display !== "none", + openDialogs: [...document.querySelectorAll("dialog[open]")].map((d) => d.id), + selected: document.querySelector("input[name=item]:checked").value, + inventoryStatus: e("inventory-status").textContent, equipmentStatus: e("equipment-status").textContent, + equipDisabled: e("confirm-equip").disabled, + rewardStatus: e("reward-status").textContent, rewardCount: e("reward-count").textContent, + claimDisabled: e("claim-reward").disabled, skipDisabled: e("skip-reveal").disabled, + disclosure: e("delivery").open, position: e("position").value, positionStatus: e("position-status").textContent, + motion: e("motion-preference").textContent, animations: document.getAnimations().length, + viewport: innerWidth, overflow: document.documentElement.scrollWidth > document.documentElement.clientWidth, + }; + }); + const check = async (id, action, expected) => { + await action(); + const view = await snapshot(page); + console.log(view.diff); + const actual = await state(); + const mismatches = Object.keys(expected).filter((key) => JSON.stringify(actual[key]) !== JSON.stringify(expected[key])); + checks.push({ id, at: new Date().toISOString(), expected, actual, snapshot: view.diff, ok: mismatches.length === 0 }); + console.log(JSON.stringify({ id, ok: mismatches.length === 0, mismatches })); + if (mismatches.length) throw Error(`${id}: ${JSON.stringify({ expected, actual })}`); + }; + const click = (id, target, expected) => check(id, () => page.locator(target).click(), expected); + const fill = (id, target, value, expected = {}) => check(id, () => page.locator(target).fill(value), expected); + const key = (id, target, value, expected) => check(id, () => page.locator(target).press(value), expected); + const escape = (id, expected) => check(id, () => page.keyboard.press("Escape"), expected); + const result = (id, name, expected) => check(id, () => page.getByRole("button", { name, exact: true }).click(), expected); + const size = (width, height = 900) => cdp("Emulation.setDeviceMetricsOverride", { width, height, deviceScaleFactor: 1, mobile: false }); + const preference = async (value) => { + await cdp("Emulation.setEmulatedMedia", { features: [{ name: "prefers-reduced-motion", value }] }); + // CDP acknowledges the override before the browser dispatches matchMedia's change. + await page.evaluate(() => new Promise((resolve) => requestAnimationFrame(() => requestAnimationFrame(() => resolve())))); + }; + const reset = async () => { + await page.goto(base); + await page.waitForSelector("#save:disabled"); + console.log((await snapshot(page)).tree); + }; + const capture = async (name) => { + // Explicit bounds avoid capturing the native backing surface after a size override. + const clip = await page.evaluate(() => ({ x: scrollX, y: scrollY, width: innerWidth, height: innerHeight })); + const bytes = await page.screenshot({ path: `${artifactRoot}/${name}.png`, clip }); + const pixels = { width: bytes.readUInt32BE(16), height: bytes.readUInt32BE(20) }; + if (Math.abs(pixels.width / clip.width - pixels.height / clip.height) > .01) throw Error("Screenshot dimensions do not match the observed viewport."); + captures.push(`${name}.png`); + captureMetrics.push({ file: `${name}.png`, cssViewport: clip, pixels }); + }; + let failure = null; + try { + await preference("no-preference"); + await cdp("Emulation.clearDeviceMetricsOverride"); + await reset(); + await check("native-desktop-start", async () => {}, { persisted: "Original", saveDisabled: true, overflow: false }); + await capture("native-desktop"); + await fill("save-edit-A", "#draft", "A", { saveDisabled: false }); + await click("save-submit-A", "#save", { saveDisabled: true, saveStatus: "Saving “A”." }); + await fill("save-edit-B-during-A", "#draft", "B", { saveStatus: "Saving “A”. Later edits are unsaved." }); + await key("save-ignore-duplicate", "#draft", "Enter", { saveStatus: "Saving “A”. Later edits are unsaved." }); + await click("save-A-preserves-B", "#save-success", { persisted: "A", draft: "B", saveStatus: "Unsaved changes.", saveDisabled: false }); + await click("save-B-submit", "#save", { saveStatus: "Saving “B”." }); + await click("save-failure-retains-draft", "#save-failure", { persisted: "A", draft: "B", saveError: "Save failed. Your draft is retained; try again." }); + await click("save-retry", "#save", { saveStatus: "Saving “B”.", saveError: "" }); + await click("save-retry-success", "#save-success", { persisted: "B", draft: "B", saveDisabled: true }); + await fill("save-empty", "#draft", ""); + await click("save-required-error", "#save", { active: "draft", saveError: "Enter a display name.", persisted: "B" }); + await fill("save-recover-validity", "#draft", "B", { saveError: "", saveDisabled: true }); + + await fill("search-query-A", "#query", "A"); + await key("search-submit-A", "#query", "Enter", { searchStatus: "Searching “A”." }); + await fill("search-query-B", "#query", "B"); + await key("search-submit-B", "#query", "Enter", { searchStatus: "Searching “B”." }); + await result("search-B-before-A", "Resolve 2 (B): results", { results: ["B · 1", "B · 2"] }); + await result("search-stale-A-ignored", "Resolve 1 (A): results", { results: ["B · 1", "B · 2"], searchStatus: "Results for “B”." }); + await result("search-select-detail", "B · 2", { detail: "B · 2", active: "detail-heading" }); + for (const width of [320, 375, 768, 1024, 1440]) { + await check(`selected-detail-${width}`, () => size(width), { viewport: width, query: "B", detail: "B · 2", active: "detail-heading", listVisible: width > 640, overflow: false }); + if (width === 375) await capture("detail-375"); + } + await click("detail-parent-return", "#back-results", { detail: null, activeText: "B · 2" }); + await check("detail-browser-forward", async () => { + // Aside's navigation waiter expects a load event, but this is same-document history. + const history = await cdp("Page.getNavigationHistory"); + const next = history.entries[history.currentIndex + 1]; + if (!next) throw Error("Missing forward history entry."); + await cdp("Page.navigateToHistoryEntry", { entryId: next.id }); + }, { detail: "B · 2", active: "detail-heading" }); + await fill("search-empty-query", "#query", "empty"); + await key("search-empty-submit", "#query", "Enter", { searchStatus: "Searching “empty”." }); + await result("search-selection-removed", "Resolve 3 (empty): empty", { results: [], detail: null, active: "query", searchStatus: "No results for “empty”. Try another query. Previous selection is unavailable." }); + await key("search-retry-submit", "#query", "Enter", { searchStatus: "Searching “empty”." }); + await result("search-failure", "Resolve 4 (empty): failure", { results: [], searchStatus: "Search “empty” failed. Previous results retained; retry the search." }); + + await click("inventory-open", "#open-inventory", { openDialogs: ["inventory-dialog"], selected: "A" }); + await click("decision-open", "#equip-item", { openDialogs: ["inventory-dialog", "equip-dialog"], active: "cancel-equip" }); + await key("decision-tab-wrap", "#cancel-equip", "Tab", { active: "confirm-equip" }); + await key("decision-reverse-wrap", "#confirm-equip", "Shift+Tab", { active: "cancel-equip" }); + await capture("nested-dialogs"); + await escape("cancel-one-layer", { openDialogs: ["inventory-dialog"], selected: "A" }); + await escape("cancel-second-layer", { openDialogs: [], active: "open-inventory" }); + await click("inventory-reopen", "#open-inventory", { openDialogs: ["inventory-dialog"] }); + await click("equipment-A-decision", "#equip-item", { active: "cancel-equip" }); + await click("equipment-A-request", "#confirm-equip", { equipmentStatus: "Equipment request pending: A.", equipDisabled: true }); + await key("pending-dialog-tab", "#cancel-equip", "Tab", { active: "cancel-equip" }); + await escape("equipment-close-decision-pending", { openDialogs: ["inventory-dialog"] }); + await check("select-B-while-A-pending", () => page.getByRole("radio", { name: "Item B", exact: true }).check(), { selected: "B", inventoryStatus: "Selected: B. Equipped: none. Pending: A." }); + await click("close-before-response", "#close-inventory", { openDialogs: [], active: "open-inventory" }); + await click("equipment-A-after-close", "#equip-success", { openDialogs: [], selected: "B", equipmentStatus: "Equipped: A." }); + await click("equipment-reconcile", "#open-inventory", { selected: "B", inventoryStatus: "Selected: B. Equipped: A." }); + await click("equipment-B-decision", "#equip-item", { active: "cancel-equip" }); + await click("equipment-B-request", "#confirm-equip", { equipmentStatus: "Equipment request pending: B." }); + await escape("equipment-B-close-decision", { openDialogs: ["inventory-dialog"] }); + await escape("equipment-B-close-inventory", { openDialogs: [] }); + await click("equipment-failure-retains-A", "#equip-failure", { equipmentStatus: "Equipment request failed. Equipped: A. Reopen inventory to retry." }); + for (let n = 1; n <= 3; n++) { + await click(`repeated-inventory-open-${n}`, "#open-inventory", { inventoryStatus: "Selected: B. Equipped: A." }); + await escape(`repeated-inventory-close-${n}`, { openDialogs: [], active: "open-inventory" }); + } + + await click("reward-granted-before-reveal", "#claim-reward", { rewardCount: "Rewards granted: 1", claimDisabled: true, skipDisabled: false }); + await click("reward-skip-once", "#skip-reveal", { rewardCount: "Rewards granted: 1", rewardStatus: "Reward received.", skipDisabled: true, active: "reward-status" }); + await key("disclosure-enter", "#delivery summary", "Enter", { disclosure: true }); + // Explicit key code is needed for Space's native default action in Aside. + await check("disclosure-space", async () => { + await cdp("Input.dispatchKeyEvent", { type: "keyDown", key: " ", code: "Space", windowsVirtualKeyCode: 32, text: " " }); + await cdp("Input.dispatchKeyEvent", { type: "keyUp", key: " ", code: "Space", windowsVirtualKeyCode: 32 }); + }, { disclosure: false }); + await key("range-keyboard", "#position", "ArrowRight", { position: "51", positionStatus: "Committed position: 51" }); + const range = await page.locator("#position").boundingBox(); + await check("range-pointer-start", async () => { await page.mouse.move(range.x + range.width * .51, range.y + range.height / 2); await page.mouse.down(); }, { position: "51" }); + await check("range-pointer-preview", () => page.mouse.move(range.x + range.width * .75, range.y + range.height / 2), { position: "75", positionStatus: "Preview position: 75. Committed: 51." }); + await escape("range-cancel-preview", { position: "51", positionStatus: "Committed position: 51" }); + await check("range-release-after-cancel", () => page.mouse.up(), { position: "51", positionStatus: "Committed position: 51" }); + + const longLabel = "긴이름".repeat(100); + await fill("long-draft", "#draft", longLabel); + await click("long-draft-submit", "#save", { draft: longLabel }); + await click("long-draft-confirm", "#save-success", { persisted: longLabel }); + await fill("long-query", "#query", longLabel); + await key("long-query-submit", "#query", "Enter", {}); + await check("long-query-results", async () => { + const response = page.locator("#search-responses > div:last-child > button:first-child"); + if (await response.textContent() !== `Resolve 5 (${longLabel}): results`) throw Error("Unexpected long-query response control."); + await response.click(); + }, { results: [`${longLabel} · 1`, `${longLabel} · 2`] }); + for (const width of [320, 375, 768, 1024, 1440]) await check(`long-content-${width}`, () => size(width), { viewport: width, overflow: false }); + await check("rtl-320", async () => { + await size(320); + // A declared content-fixture mutation, not an interaction shortcut. + await page.evaluate(() => { document.documentElement.dir = "rtl"; }); + }, { overflow: false }); + await capture("long-rtl-320"); + + await reset(); + await click("motion-reveal-start", "#claim-reward", { rewardStatus: "Reward received. Revealing…", skipDisabled: false }); + await check("motion-preference-during-reveal", () => preference("reduce"), { motion: "Motion: reduced. Status changes immediately.", animations: 0, rewardStatus: "Reward received.", rewardCount: "Rewards granted: 1", skipDisabled: true }); + await reset(); + await click("reduced-motion-from-entry", "#claim-reward", { animations: 0, rewardStatus: "Reward received.", rewardCount: "Rewards granted: 1", skipDisabled: true }); + await capture("reduced-motion-320"); + await check("preference-return-to-normal", () => preference("no-preference"), { motion: "Motion: normal. Status changes immediately.", rewardCount: "Rewards granted: 1" }); + await check("no-runtime-errors", async () => { if (errors.length) throw Error(JSON.stringify(errors)); }, { openDialogs: [], overflow: false }); + } catch (error) { + failure = String(error); + } finally { + await cdp("Emulation.clearDeviceMetricsOverride"); + await cdp("Emulation.setEmulatedMedia", { features: [] }); + page.off("pageerror", onError); + const report = { kind: "local-browser-observation", started, finished: new Date().toISOString(), runtime, sources, inputs: ["automated keyboard events", "automated pointer events"], emulation: "Viewport sizes and media preferences only; no mobile hardware emulation or touch claim.", checks, errors, captures, captureMetrics, failure, ok: !failure && errors.length === 0 && checks.every((entry) => entry.ok) }; + await fs.writeFile(`${artifactRoot}/report.json`, JSON.stringify(report, null, 2)); + console.log(JSON.stringify({ artifactRoot, checks: checks.length, ok: report.ok, failure })); + } + if (failure) throw Error(failure); +} +await runInteractionQA(); diff --git a/examples/domain-interactions/styles.css b/examples/domain-interactions/styles.css new file mode 100644 index 0000000..2a4f5b4 --- /dev/null +++ b/examples/domain-interactions/styles.css @@ -0,0 +1,46 @@ +/* Product-layer demonstration styles; not reusable Layout pattern CSS. */ +:root { + color: #182331; + background: #f3f5f7; + font: 100%/1.5 system-ui, sans-serif; +} +* { box-sizing: border-box; } +body { margin: 0; padding: 1rem; } +header, main, footer { margin-inline: auto; max-inline-size: 65rem; } +h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; } +h2 { font-size: 1.35rem; } +section, dialog { + background: white; + border: 1px solid #9eaebe; + border-radius: .5rem; + margin-block: 1rem; + padding: 1rem; +} +section, article, p, strong, button { overflow-wrap: anywhere; } +form, fieldset { display: grid; gap: .65rem; } +input, button, summary { font: inherit; } +input:not([type="radio"]), button { min-block-size: 2.75rem; } +input:not([type="radio"]) { inline-size: 100%; min-inline-size: 0; } +button { + background: #173f69; + border: 1px solid #173f69; + border-radius: .25rem; + color: white; + cursor: pointer; + padding: .5rem .9rem; +} +button:disabled { background: #e0e6ed; border-color: #788b9e; color: #3a4857; cursor: default; } +:focus-visible { outline: 3px solid #a23c00; outline-offset: 3px; } +summary { cursor: pointer; padding-block: .65rem; } +.actions { display: flex; flex-wrap: wrap; gap: .75rem; } +.search-panes { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } +.search-panes > * { min-inline-size: 0; } +ul { display: grid; gap: .5rem; padding-inline-start: 1.5rem; } +dialog { margin: auto; max-block-size: 90dvh; max-inline-size: min(34rem, calc(100% - 2rem)); overflow: auto; } +dialog::backdrop { background: rgb(15 25 40 / 55%); } +[hidden] { display: none !important; } +[role="alert"] { color: #9d270a; } +@media (max-width: 40rem) { + .search-panes { grid-template-columns: minmax(0, 1fr); } + .search-panes[data-view="detail"] #search-list { display: none; } +} diff --git a/examples/domain-interactions/verification.md b/examples/domain-interactions/verification.md new file mode 100644 index 0000000..64b4347 --- /dev/null +++ b/examples/domain-interactions/verification.md @@ -0,0 +1,77 @@ +--- +type: Verification Record +title: Interaction Lab Local Browser Verification +description: Source-bound observations from a real Mac browser, with explicit mock-service and native-device limitations. +--- + +# Interaction Lab Local Browser Verification + +The [Interaction Lab](README.md) completed 84 action/observation checkpoints on 2026-09-08 with all expected-state comparisons passing and zero observed JavaScript runtime errors. [report.json](evidence/report.json) contains the ordered actions, expected and actual states, snapshots, runtime identity, and capture dimensions. This is a local browser observation of an uncommitted example, not a canonical consumer-reference capture or independent attestation. + +The final run finished at `2026-09-08T02:07:11.475Z` (`11:07:11` KST). The [artifact manifest](evidence/manifest.json) records the host inventory and the hashes and byte lengths of the report, source snapshot, and five screenshots. + +## Environment And Source + +| Field | Observed value | +| --- | --- | +| Physical host | Local Mac, hardware identifier `Mac16,8`, `arm64` | +| Host OS | macOS `26.5.1`, build `25F80`, read with `sw_vers` | +| Browser | Aside-controlled Chrome `151.0.7922.171`, JavaScript `15.1.206.21` | +| Tooling | Aside CLI `1.26.906.1630`; repository-required `aside-browser` skill | +| Input | Automated keyboard and pointer events in the real browser tab | +| Initial surface | Native desktop browser viewport; exact observed width is in the first report checkpoint | +| Size fixtures | 320, 375, 768, 1024, 1440 CSS pixels in the same desktop browser | +| Preferences | Tab-scoped reduced-motion media override, changed during an active reward reveal and before entry | +| Data | In-memory mock responses, no external service or persistence | +| Source | [sources.json](evidence/sources.json): base Git revision plus SHA-256/byte length for HTML, CSS, application, and QA source | + +The browser's reduced User-Agent string reports Intel/macOS 10.15.7; that is not the hardware/OS inventory above. Small viewport fixtures do not turn this run into an iPhone or Android device test. Media emulation verifies the web preference handler, not the operating system's settings UI. + +## Results + +| Behavior | Actual observation | +| --- | --- | +| Draft and persistence separation | A completed while draft B remained editable and unsaved; failure retained B; retry persisted B; invalid empty input focused its error field | +| Search identity | B results survived a late A response; empty results removed the selected detail; failure exposed a recovery status | +| Detail navigation | Query, selection, and logical focus survived all five sizes; parent return focused the previous result; browser forward restored detail | +| Nested modality | Tab and reverse Tab stayed in the upper dialog; one Escape closed one layer; final dismissal restored the invoker | +| Equipment lifetime | A request completed after both views closed; reopening preserved B selection and showed A equipped; a failed B request kept A | +| Repeated opening | Three additional open/close cycles retained correct selection and left no open dialog | +| Reward and preference | Exactly one local grant before reveal; skip preserved the count; reduced-motion changes completed the reveal and left zero running animations | +| Native controls | Enter and Space toggled disclosure; arrow-key range input committed; pointer preview cancelled with Escape and remained cancelled after release | +| Content | Unbroken 300-character Korean values produced no document-level horizontal overflow at all five widths; RTL at 320 also passed | + +## Issue Found And Fixed + +The initial nested dialog allowed Tab from its final button to leave the dialog. The example now handles the tab boundary in the currently active dialog, skips disabled and unchecked radio controls, and wraps forward/reverse traversal. The final run includes both directions and the pending state, where only the dismissal command remains available. + +Tooling adjustments preserve actual browser actions: Space uses an explicit CDP key code; same-document Forward uses the browser history entry because Aside's generic navigation waiter expects a document load; the long-label response control is checked by exact DOM text before activation. Screenshots use explicit observed viewport bounds and record their PNG dimensions. Unbounded captures repeated the backing surface after a size override and were rejected; they are not the retained evidence. + +## Artifacts + +- [Native desktop entry](evidence/native-desktop.png) +- [Selected detail at 375 CSS pixels](evidence/detail-375.png) +- [Nested dialog and visible focus](evidence/nested-dialogs.png) +- [Long content, RTL, 320 CSS pixels](evidence/long-rtl-320.png) +- [Reduced-motion result at 320 CSS pixels](evidence/reduced-motion-320.png) + +Raster images are viewport observations, not complete-page visual certification. The DOM report supplies states and relationships that a screenshot cannot show. The application source hashes were checked again against the report after capture. + +## Not Run + +Android hardware, iPhone/iPad hardware, Safari, Windows-native APIs, Unity/player builds, controller or touch input, VoiceOver/screen readers, haptics/audio, native predictive Back, safe-area hardware behavior, performance profiling, and real network/persistence operations were not run. No Android debugging bridge or Xcode device tools were available, and the host USB inventory listed no attached devices. Browser results cannot fill those evidence cells. + +The fictional native-engine workflow and unimplemented recipes retain their existing `not_run` status. Domain lifecycle remains `experimental`; no consumer adoption or lifecycle transition is claimed. Existing immutable evidence was not recaptured or edited. + +## README Compatibility Repair + +The shared agent-native README changed in commit `d8bdf0bd5b5aec2fbc38e322a9ac7a1d31fd1332` to add Material v2 guidance and correct the domain count. The v1 compatibility test still required its earlier digest. The test now separately pins that reviewed documentation revision to `6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e`. + +All 21 original core/source digests, six CLI byte-output goldens, registry records, schemas, and runtime interfaces retain their previous values. `npm run test:agent-native` passed after the repair. The README content itself was not rewritten to satisfy the old hash. + +Implementation handoff: `consumer_reference: consumer-reference/agent-native/registry.json`. No design-terminology term/relation records are used by this runtime implementation. + +## Navigation + +Parent: [Interaction Lab](README.md). +Next: [Game UI verification workflow](../../game-ui/verification-workflow.md). diff --git a/game-ui/decision-tree.md b/game-ui/decision-tree.md new file mode 100644 index 0000000..de91f48 --- /dev/null +++ b/game-ui/decision-tree.md @@ -0,0 +1,81 @@ +--- +type: Domain Guide +title: Game UI Decision Tree +description: Select player-task recipes, ownership boundaries, and engine routes from the screen's purpose. +domain: game-ui +lifecycle: experimental +provenance_kind: local +--- + +# Game UI Decision Tree + +Primary role: game screen planning route. + +## Repository Boundary + +This route selects game-interface responsibilities independently of engine and art direction. The [Classification](classification.md) remains the local taxonomy; the [Screen Hierarchy](screen-hierarchy.md) defines ownership roles. + +## Reusable Method + +1. Write the player's question while the interface is visible. +2. Choose one primary task class from the table below. +3. Decide whether play continues and which input actions must be blocked. +4. Assign lifetime, focus, sorting, and state ownership. +5. Adapt a [Screen Recipe](screen-recipes.md), then run the [Verification Workflow](verification-workflow.md). + +## Player Task Route + +| Player question | Primary class | Recipe | +| --- | --- | --- | +| What is happening during play? | `hud` | [Play status and input](screen-recipes.md#play-status-and-input) | +| How do I perform an action? | `input-surface` | [Play status and input](screen-recipes.md#play-status-and-input) | +| Where can I go, pause, or leave? | `navigation` | [Pause and navigation](screen-recipes.md#pause-and-navigation) | +| What decision requires attention? | `dialog` | [Blocking decisions and connection](screen-recipes.md#blocking-decisions-and-connection) | +| Is the game ready or connected? | `system-status` | [Blocking decisions and connection](screen-recipes.md#blocking-decisions-and-connection) | +| What can I equip or compare? | `inventory` | [Inventory and comparison](screen-recipes.md#inventory-and-comparison) | +| What have I earned or unlocked? | `progression` | [Results and progression](screen-recipes.md#results-and-progression) | +| What can I obtain, and at what cost? | `commerce` | [Offers and acquisition](screen-recipes.md#offers-and-acquisition) | +| What should I learn next? | `tutorial` | [Teaching and narrative](screen-recipes.md#teaching-and-narrative) | +| What story is being presented? | `narrative` | [Teaching and narrative](screen-recipes.md#teaching-and-narrative) | + +If a screen contains several tasks, classify regions independently. A purchase confirmation inside an inventory screen is a dialog owned by a commerce operation; it is not another inventory slot. + +## Ownership Decisions + +| Decision | Record before implementing | +| --- | --- | +| Lifetime | Application, session, scene, screen, entity, or one operation | +| Play relationship | Continues, pauses locally, or requests a networked pause; identify authority | +| Input | Active action map, focus owner, pointer/gamepad coexistence, cancellation | +| Ordering | Screen, HUD, world-linked, modal, or transient host; name competing hosts | +| Data | Authoritative state versus preview, selection, pending operation and stale data | +| Exit | What is restored, destroyed, retained, or reconciled | + +## Worked Selection + +A loadout screen shows owned equipment, character attributes, and a purchase button for an unavailable slot. Inventory is primary; comparison is a supporting region. The purchase flow is commerce and any confirmation is a modal decision. Closing the modal returns to the same slot. Losing connection updates operation status without clearing the loadout selection. A server response after the screen closes belongs to the operation owner, not a destroyed view. + +## Opinionated Guidance + +Separate the player's task from visual genre. Assign one cancellation owner for each active layer so the same Back/Cancel input does not dismiss a dialog and its parent screen together. + +## Platform-Specific Guidance + +For Unity, select the [UI System](unity/ui-systems.md), map [Architecture](unity/architecture.md), then use the [CLI Loop](unity/cli-loop.md) for the declared stack. Other engines retain these role contracts but require their own verified API mapping; no cross-engine runtime equivalence is claimed. + +## Unsupported Absolutes + +A pause menu does not imply multiplayer simulation can pause. Hierarchy order does not prove input blocking, focus, or sorting. A taxonomy label does not establish rendered behavior. + +## Verification Contract + +Check one ordinary screen, one overlay composition, and one unexpected interruption such as disconnection or scene teardown. Every active layer needs a named lifetime, input, sorting, and exit owner. Revisit the route if a real player task cannot be classified without forcing unrelated responsibilities together. + +## Source, License, And Attribution + +Locally authored route and fictional loadout case. It imports no game assets, third-party hierarchy, or engine code. + +## IA Navigation + +Parent: [Game UI](index.md). +Next: [Game UI Screen Recipes](screen-recipes.md). diff --git a/game-ui/index.md b/game-ui/index.md index 8df8815..d03d789 100644 --- a/game-ui/index.md +++ b/game-ui/index.md @@ -14,6 +14,16 @@ The player-task classes and classification axes are a local taxonomy proposed fo Interface In Game was reviewed on 2026-07-14 through its [home page](https://interfaceingame.com/), [games index](https://interfaceingame.com/games/), and representative records for [Team Fortress 2](https://interfaceingame.com/games/team-fortress-2/), [Genshin Impact (Mobile)](https://interfaceingame.com/games/genshin-impact-mobile/), and [Gris](https://interfaceingame.com/games/gris/). In this bounded sample, the site exposed site-local facets such as Genres, Themes, and Platforms, while screenshots used Elements. The sample informs the local separation of player task from other axes; it does not cover the archive or establish the site's full information model. +## Start Here + +| Task | Route | +| --- | --- | +| Choose by player task and ownership. | [Game UI Decision Tree](decision-tree.md) | +| Compose all ten player-task classes with failure cases. | [Game UI Screen Recipes](screen-recipes.md) | +| Record input, state, hierarchy, and teardown evidence. | [Game UI Verification Workflow](verification-workflow.md) | + +These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract. + ## Available Guides - [Game UI Classification](classification.md) separates player purpose from visual language, input, state, and motion. @@ -32,4 +42,4 @@ Game UI describes interface purpose, screen composition, and how named engines c ## IA Navigation Parent: [StyleGallery](../index.md). -Next: [Game UI Classification](classification.md). +Next: [Game UI Decision Tree](decision-tree.md). diff --git a/game-ui/screen-recipes.md b/game-ui/screen-recipes.md new file mode 100644 index 0000000..fef11b8 --- /dev/null +++ b/game-ui/screen-recipes.md @@ -0,0 +1,101 @@ +--- +type: Domain Guide +title: Game UI Screen Recipes +description: Engine-neutral screen compositions with player task, lifetime, input, state, recovery, and acceptance cases. +domain: game-ui +lifecycle: experimental +provenance_kind: local +--- + +# Game UI Screen Recipes + +Primary role: game screen composition catalog. + +## Repository Boundary + +These are fictional compositions of [Screen Hierarchy](screen-hierarchy.md) roles. They prescribe no engine tree, artwork, or reusable Layout CSS. Use the [Decision Tree](decision-tree.md) to select by player task; record real references with the [Reference Record](reference-record.md). + +## Reusable Method + +For the selected recipe, name the persistent owner, screen or entity owner, active input recipient, exceptional states, and exit behavior. Each acceptance case below is an expected result awaiting consumer execution. + +## Play Status And Input + +Primary classes: `hud` and separately classified `input-surface` regions. A session-owned HUD presents player status, objectives, and contextual prompts. Entity-linked markers follow entity lifetime; virtual controls own their active press/drag state. HUD data observes gameplay authority rather than predicting confirmed rewards or inventory changes. + +Keep critical state understandable when an effect is absent. Distinguish zero value from unavailable data. Record how spectator, respawn, controller disconnection, and menus change visibility and input routing. + +Acceptance case: open a blocking menu while an action is held; release the action, close the menu, and confirm no stuck input remains. Destroy a marked entity and confirm its marker and subscriptions are removed. + +## Pause And Navigation + +Primary class: `navigation`. A screen host owns destinations; a pause overlay owns its focus scope and return target. The simulation/session owner decides whether play pauses. Audio, background input, and timers have explicit policies. + +Preserve navigation selection when opening settings and returning. Loading a new destination invalidates old screen callbacks. Cancel should consume one active layer at a time. + +Acceptance case: pause → settings → confirmation → cancel three times. Verify each step closes only the intended layer and restores the previous selection. For network play, verify the UI does not claim the world is paused when it continues. + +## Blocking Decisions And Connection + +Primary classes: `dialog` or `system-status`. A modal host owns blocking and focus; a connection service owns retry state. Keep message, available actions, retry state, and outcome distinct. Only block input that conflicts with the required decision. + +Reconnection success must reconcile the current screen, which may differ from the screen present at failure. A retry response from an earlier attempt cannot dismiss a newer failure. Define whether a system notice supersedes, queues behind, or composes with an existing modal. + +Acceptance case: lose connection during an inventory operation, open a system notice, then receive an old retry response. The current error/operation state remains authoritative and dismissal leaves no invisible blocker. + +## Inventory And Comparison + +Primary class: `inventory`. A screen owns filters, selection, and focus history. The data service owns item identity and confirmed equipment; a detail region owns the selected item's presentation. List/grid cells receive explicit data and selection state. + +Compare by stable item identity, not cell position. Separate selected, equipped, unavailable, pending, and failed states. Preserve selection where possible after filtering or sorting; document a fallback when the item disappears. + +Acceptance case: select item A, request equip, select B, then resolve A. A's result updates inventory truth while detail remains on B. Test empty inventory, maximum content, long localized attributes, and a disabled first item. + +## Results And Progression + +Primary class: `progression`. The completed-match/session record owns final values; presentation may stage reveal of those values. Reveal completion does not grant rewards. Skip reveals the confirmed final state once; replaying a presentation cannot duplicate a grant. + +Distinguish provisional, confirmed, and unavailable results. Preserve a readable result summary after a flourish. A disconnected client must not present an unconfirmed reward as owned. + +Acceptance case: skip twice, navigate away, and reopen results. The grant count stays unchanged, and the same authoritative result is shown. Test zero rewards and a reward list longer than the visible region. + +## Offers And Acquisition + +Primary class: `commerce`. The catalog owns offer identity, the purchase service owns transaction outcome, and the UI owns selection and acknowledgement. Show the item, total cost, currency, and eligibility before commitment. Pending, rejected, cancelled, expired, and fulfilled are different states. + +Do not derive success from a button effect or optimistic currency subtraction. Reconcile price/availability changes before accepting a commitment. Duplicate input must follow the transaction contract. + +Acceptance case: change availability between selection and submission, fail a request, and retry. The UI explains the current offer and never reports an unconfirmed acquisition. Actual payments and platform purchasing rules require consumer-specific verification. + +## Teaching And Narrative + +Primary classes: `tutorial` or `narrative`. A step/story controller owns progress; presentation owns text, highlight, voice/subtitle synchronization, and skip controls. Identify whether gameplay continues and whether a teaching step intentionally restricts input. + +A tutorial must explain a usable alternative when the expected device is absent. Narrative skip semantics distinguish advancing one line, finishing a scene, and suppressing future presentation. Progress must not depend only on a reveal animation finishing. + +Acceptance case: switch input mode midway through a tutorial, interrupt dialogue with a system modal, and return. Prompts match the current input, the story/step index remains correct, and required instructions can still be read. + +## Opinionated Guidance + +Keep screens thin enough that authoritative data survives their teardown when needed. Give each modal, transient effect, and world marker an explicit owner even when they share visual treatment. + +## Platform-Specific Guidance + +Map roles through the engine-specific guides. Safe areas, scaling, text shaping, controller focus, and accessibility capabilities require the actual engine, version, and target platform. A browser prototype is not evidence of console or engine behavior. + +## Unsupported Absolutes + +These recipes are not a universal game UX taxonomy, tested architecture, or proof of accessibility. A successful screenshot cannot prove operation integrity, input isolation, or teardown. + +## Verification Contract + +Run the chosen acceptance case with every declared input, target aspect ratios/safe areas, long localization, error/empty states, and interruptions. Record observed results in the [Verification Workflow](verification-workflow.md). `consumer_reference: not_applicable` applies here because these fictional compositions select no consumer record. Review when a runtime observation contradicts an ownership or recovery rule. + +## Source, License, And Attribution + +Locally authored fictional recipes with no copied game assets or implementation. Player classes and hierarchy roles come from this domain's local contracts. + +## IA Navigation + +Parent: [Game UI](index.md). +Next: [Game UI Verification Workflow](verification-workflow.md). diff --git a/game-ui/verification-workflow.md b/game-ui/verification-workflow.md new file mode 100644 index 0000000..d67b848 --- /dev/null +++ b/game-ui/verification-workflow.md @@ -0,0 +1,100 @@ +--- +type: Domain Guide +title: Game UI Verification Workflow +description: Convert a screen recipe into repeatable input, state, hierarchy, and teardown evidence. +domain: game-ui +lifecycle: experimental +provenance_kind: local +--- + +# Game UI Verification Workflow + +Primary role: game-interface acceptance and evidence procedure. + +## Repository Boundary + +This workflow verifies a declared game-interface contract on a named runtime. It does not authenticate third-party captures or convert a hypothetical recipe into a real gallery reference. Shared [Quality Gates](../quality/index.md) determine what a claim's evidence can support. + +## Reusable Method + +1. Select a [Screen Recipe](screen-recipes.md), build/version, scene, starting data, and supported inputs. +2. Record the active hierarchy's lifetime, input, sorting, focus, and teardown owners. +3. Reset to known state before each scenario. Name any non-resettable external dependency. +4. Execute actions in order, including an exception or interruption. +5. Compare expected and actual state, selection, input recipient, and surviving objects. +6. Save artifacts with source/build identity; classify pass, fail, not-run, or not-applicable with a reason. + +## Minimum Scenario Matrix + +| Dimension | Scenario | Inspect | +| --- | --- | --- | +| Entry | Open by each supported input | Correct screen and initial focus/selection | +| Navigation | Visit first, middle, last, and unavailable actions | Predictable order, visible target, no unreachable required action | +| Modality | Open overlay above a screen, then another interruption | Exactly the intended input recipient; world input policy | +| Cancellation | Back/Cancel during entry, request, and exit | One-layer dismissal; no click-through or stale blocker | +| Content | Empty, long localized text, unbroken identifiers, many rows | Readable critical information and reachable actions | +| Surface | Target aspect ratios, safe areas, scaled UI, constrained window | No obscured controls or accidental scroll ownership | +| Data | Delay, fail, supersede, and complete requests out of order | Current identities and truthful operation status | +| Device | Switch/disconnect a claimed input device | Updated prompts and a viable recovery action | +| Lifetime | Reopen repeatedly and change scene/session | No duplicate handlers, surviving blockers, or stale view updates | + +This is a selection matrix. A title that supports no touch input records touch as not applicable; it does not claim a touch pass. + +## Worked Scenario: Inventory With Confirmation + +Precondition: local fictional test data has two items, A and B. The inventory is open with A selected; no real commerce operation is involved. + +| Step | Action | Expected observation | +| --- | --- | --- | +| 1 | Navigate to B and open its action dialog | B remains selected beneath the dialog; focus enters the dialog | +| 2 | Press Cancel once | Only the dialog closes; focus/selection returns to B | +| 3 | Reopen and trigger a delayed operation | Dialog exposes pending state and the declared duplicate-input behavior | +| 4 | Close/change the screen, then resolve the operation | Data owner reconciles the result; destroyed views do not update | +| 5 | Reopen inventory | Confirmed data appears; selection follows the documented restore policy | + +Actual result: `not_run`. This procedure is a test design, not engine execution evidence. + +A separate [web inventory adaptation](../examples/domain-interactions/README.md) exercises nested dismissal, delayed equipment responses after view closure, selection restoration, and reward reveal. Its [local browser results](../examples/domain-interactions/verification.md) are browser evidence only. The native-engine scenario above remains `not_run`. + +## Evidence Record Template + +```yaml +scenario: inventory-dialog-return +build_revision: # immutable source/build identity +runtime: # engine, UI stack, packages, OS, device +surface: # resolution, aspect ratio, safe area, UI scale, locale +input: # exercised mode and device +precondition: # scene, data, selection, connectivity +actions: # ordered, reproducible steps +expected: # visible state plus hierarchy/input assertions +actual: not_run +artifacts: # capture, recording, hierarchy trace, operation log +limitations: # missing channels, device scope, mocked dependencies +consumer_reference: not_applicable +consumer_reference_reason: This blank procedure selects no consumer-owned reference record. +``` + +## Opinionated Guidance + +Capture hierarchy and input evidence together when a screenshot could hide the failure. A visually dismissed overlay with an active blocker is a failed dismissal, regardless of its appearance. + +## Platform-Specific Guidance + +For Unity use the source-pinned [CLI Loop](unity/cli-loop.md) and its UI-stack-specific capabilities. If a runner cannot inspect focus or controller routing, mark those checks not-run and collect them on the real engine surface. + +## Unsupported Absolutes + +A successful editor inspection does not prove player-build behavior. Mocked operation responses do not prove a live service works. Device and accessibility coverage must be named explicitly. + +## Verification Contract + +A completed record binds actions and actual outcomes to a build and runtime, includes exceptional-state evidence, and lists missing coverage. Failed required cases need remediation and rerun. A real gallery entry must also satisfy the [Reference Record](reference-record.md). Review when input routing, engine version, hierarchy ownership, or the recipe changes. + +## Source, License, And Attribution + +Locally authored test procedure and fictional inventory scenario. No real game reference, asset license, or runtime result is implied. + +## IA Navigation + +Parent: [Game UI](index.md). +Next: [Game UI Reference Record](reference-record.md). diff --git a/index.md b/index.md index fbba1ce..d4b21f5 100644 --- a/index.md +++ b/index.md @@ -35,3 +35,11 @@ Primary role: OKF bundle map. - [Quality gates](quality/index.md) - Principle-backed gates for admissible layout and design evidence claims. - [Consumer migration evidence gate](quality/gates/consumer-migration-evidence.md) - Blocking contract for declared migration evidence. - [Update log](log.md) - Bundle update history. + +## Applied Workflows + +- [Motion Decision Tree](motion/decision-tree.md) - Choose a behavior from the user task. +- [Design Engineering Decision Tree](design-engineering/decision-tree.md) - Route the uncertain product decision. +- [Game UI Decision Tree](game-ui/decision-tree.md) - Choose by player task and ownership. +- [Platform Adaptation Workflow](platform-guides/adaptation-workflow.md) - Record native facts, target decisions, and fallbacks. +- [Design Term Comparison Workflow](design-terminology/comparison-workflow.md) - Resolve a source-specific question and produce a scoped handoff. diff --git a/log.md b/log.md index fc9aac6..c172ef7 100644 --- a/log.md +++ b/log.md @@ -1,5 +1,19 @@ # StyleGallery Log +## 2026-09-08 + +- Added fourteen local guides across the five non-Layout domains: task selection, motion briefs and recipes, component contracts and worked examples, game screen recipes and verification, Apple/Android/Windows adaptation, and terminology comparison. +- Connected the guides through domain hubs and root routes, declared their membership/provenance, and included them in the closed 147-document material index and npm package. Layout retains its existing 46 patterns and spatial boundaries. +- Replaced unsupported aggregate term records with directly sourced records; corrected representation direction and the confusion between composition and set containment. The Markdown validator now checks dates, source locators, labels, scoped direction, temporal relations, inverse consistency, and containment cycles with negative fixtures. +- Examples remain expected behavior rather than claimed runtime evidence. Domain leaves remain `experimental`; no lifecycle promotion or consumer adoption is claimed. + +- Follow-up runtime work added the [Interaction Lab](examples/domain-interactions/README.md), a standalone web adaptation with explicit mock responses. Its [verification notes](examples/domain-interactions/verification.md) bind actual browser observations to local source hashes and separate desktop execution from simulated viewport sizes, untested mobile devices, and untested native engines. Fixed the lab's modal Tab boundary after observing focus escape in the real browser. +- Fixed the v1 compatibility suite's stale README digest. Commit `d8bdf0bd5b5aec2fbc38e322a9ac7a1d31fd1332` had added material-v2 guidance and corrected the domain count without updating the test. The exact reviewed documentation digest is now checked separately; all 21 original core/source pins and six CLI output goldens remain unchanged. `npm run test:agent-native` passes. + +Implementation handoff: `consumer_reference: consumer-reference/agent-native/registry.json`. + +Terminology reliance: `figma.variable`, `figma.mode`, `figma.collection`, `figma.component`, `dtcg.token`, `dtcg.group`, `dtcg.token.draft2`, `css.custom-property`, `carbon.component`, `carbon.pattern`, and `stylegallery.pattern`. Relation types used in the records: `partial_overlap`, `implementation_representation`, `not_comparable`, `same_label_different_meaning`, and `near_equivalent`. Their named Figma, DTCG, CSSWG, Carbon, and local Layout sources were rechecked on 2026-09-08; this is an author review, not independent semantic approval. Direct locators and comparison boundaries are in [Term Cases](design-terminology/conflict-cases.md). + ## 2026-08-18 - Added Design Terminology as the sixth governed domain: source-kind and concept-family classification separated as distinct axes, a typed term relation model, freshness-bounded source vocabularies, and cross-system conflict cases with three representative scenarios. diff --git a/motion/decision-tree.md b/motion/decision-tree.md new file mode 100644 index 0000000..c5e833c --- /dev/null +++ b/motion/decision-tree.md @@ -0,0 +1,68 @@ +--- +type: Domain Guide +title: Motion Decision Tree +description: Choose a motion responsibility from a user task, state change, and failure case. +domain: motion +lifecycle: experimental +provenance_kind: local +--- + +# Motion Decision Tree + +Primary role: motion selection workflow. + +## Repository Boundary + +Use this route to decide whether a product interaction needs motion and which behavior contract to write. Layout continues to own final geometry, semantic order, and scrolling. This route selects a responsibility, not a timing preset. + +## Reusable Method + +1. Write the before and after state without animation. If either is unusable, fix that state first. +2. Name the information motion would add: acknowledgement, continuity, progress, or guidance. If none is needed, use an immediate update. +3. Choose the first matching responsibility below; compose only when one transition has multiple explicit jobs. +4. Complete the [Motion Brief](motion-brief.md), including interruption and a reduced-motion path. +5. Use an [Interaction Recipe](interaction-recipes.md) and verify through the [Review Workflow](review-workflow.md). + +## Selection Table + +| Observed task | Choose | Failure to prevent | First verification | +| --- | --- | --- | --- | +| Explain an already rendered effect | [Vocabulary](vocabulary.md) | Inferring an API from appearance | Exact, ambiguous, and unknown observations | +| Acknowledge a command | [Action feedback](interaction-recipes.md#action-feedback) | Decorative feedback mistaken for successful completion | Pending, success, failure, repeated activation | +| Show or hide supporting content | [Disclosure](interaction-recipes.md#disclosure) | Hidden content retaining focus or delayed access to content | Keyboard activation and reversal | +| Enter or dismiss a modal task | [Modal transition](interaction-recipes.md#modal-transition) | Focus or input blocking tied to an animation timer | Focus entry, cancellation, return | +| Preserve identity when items move | [Reorder and filter](interaction-recipes.md#reorder-and-filter) | Visual movement changing logical reading order | Stable identity and focused-item removal | +| Explain an operation that takes time | [Progress and completion](interaction-recipes.md#progress-and-completion) | An invented percentage or success before confirmation | Delayed result, cancellation, failure | +| Follow direct manipulation | [Drag and settle](interaction-recipes.md#drag-and-settle) | A cancelled gesture committing data | Release, reversal, cancellation, alternative input | +| Decorate an idle surface | [Practice Reference](practice-reference.md) | Repetition competing with the user's task | Compare against removal and reduced motion | + +## Worked Selection + +A search result list changes after a filter selection. The task is to understand which results remain; it is not to watch every row arrive. Choose reorder/filter only if stable result identities can be preserved. Keep the filter control focused. Announce the resulting count separately from any visual interpolation. When no results remain, present an actionable empty state immediately. If identity cannot be mapped reliably, replace the list without implying continuity. + +The decision record is a proposal until tested on the consuming product. It does not establish that motion improves search comprehension. + +## Opinionated Guidance + +Prefer one explanatory event over a sequence of unrelated effects. Evaluate high-frequency interactions with realistic repetition; a first-use recording can hide accumulated cost. + +## Platform-Specific Guidance + +Choose implementation APIs only after the behavior contract. Native gestures, browser navigation, scroll timelines, and animation libraries have different cancellation and lifetime behavior. Platform adaptation starts at [Platform Guides](../platform-guides/index.md). + +## Unsupported Absolutes + +An immediate update is a valid outcome. A recipe name does not imply a spring, compositor execution, fixed duration, or proven usability improvement. + +## Verification Contract + +For the selected row, verify normal completion, interruption, repeated input, the reduced-motion path, and a failed or empty result where relevant. Record the actual outcome separately from the expected outcome. Revisit this route when a task cannot find a suitable contract or two recipes imply conflicting ownership. + +## Source, License, And Attribution + +Locally authored selection workflow based on this domain's existing vocabulary and review contracts. No external code or expressive examples are adapted. + +## IA Navigation + +Parent: [Motion](index.md). +Next: [Motion Brief](motion-brief.md). diff --git a/motion/index.md b/motion/index.md index e9a30dd..6f89d98 100644 --- a/motion/index.md +++ b/motion/index.md @@ -8,6 +8,16 @@ In scope: naming observable motion, reviewing declared behavior, distinguishing Out of scope: universal timing or easing rules, unmeasured performance claims, and permission to add animation or decorative properties to reusable Layout pattern CSS. +## Start Here + +| Task | Route | +| --- | --- | +| Choose a behavior from the user task. | [Motion Decision Tree](decision-tree.md) | +| Record states, owners, interruption, and evidence. | [Motion Brief](motion-brief.md) | +| Apply feedback, disclosure, modal, reorder, progress, and drag contracts. | [Motion Interaction Recipes](interaction-recipes.md) | + +These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract. + ## Documents - [Motion Vocabulary](vocabulary.md) maps observed behavior to implementation-neutral terms while preserving ambiguity. @@ -21,4 +31,4 @@ See [StyleGallery Domains](../DOMAINS.md) for lifecycle, provenance, page member ## IA Navigation Parent: [StyleGallery](../index.md). -Next: [Motion Vocabulary](vocabulary.md). +Next: [Motion Decision Tree](decision-tree.md). diff --git a/motion/interaction-recipes.md b/motion/interaction-recipes.md new file mode 100644 index 0000000..f4f0059 --- /dev/null +++ b/motion/interaction-recipes.md @@ -0,0 +1,90 @@ +--- +type: Domain Guide +title: Motion Interaction Recipes +description: State-based product motion recipes for feedback, disclosure, modal transitions, rearrangement, progress, and dragging. +domain: motion +lifecycle: experimental +provenance_kind: local +--- + +# Motion Interaction Recipes + +Primary role: motion behavior catalog. + +## Repository Boundary + +These recipes describe product behavior and failure cases. They compose with Layout instead of supplying reusable spatial CSS or visual defaults. Start with a [Motion Brief](motion-brief.md); use [Vocabulary](vocabulary.md) for the visual effect's name. + +## Reusable Method + +Choose the task below, assign semantic and presentation owners, implement the immediate state change first, and then test any visual interpolation against that baseline. The traces below are expected behavior, not evidence of a tested implementation. + +### Action Feedback + +Use for a command whose acknowledgement and completion are different events. + +`ready → pending → success | error`; a retry is a new request. Press feedback may acknowledge input immediately, but a success treatment waits for actual confirmation. Decide explicitly whether repeated activation is ignored, queued, or replaces the request. Keep essential status available without motion. Test delayed completion, duplicate input, failure, and a response arriving after navigation. + +### Disclosure + +Use for optional content controlled by a nearby trigger. A native `details`/`summary` baseline can be enough: + +```html +
    + Delivery restrictions +

    Some destinations need an additional delivery day.

    +
    +``` + +If a custom disclosure is necessary, keep the trigger's expanded state consistent with content availability. The [APG disclosure contract](https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/) describes button activation and state semantics. When closing while focus is inside, move focus to an available logical target before hiding it. Test repeated toggle, long content, and removal of the trigger. Avoid fixed maximum heights that clip real content; Layout owns intrinsic sizing. + +### Modal Transition + +Use when a temporary task must block the surrounding interface. Assign one owner to opening, focus placement, blocking, cancellation, and focus return. An entrance effect may decorate this change; semantic availability must not wait for an arbitrary timeout. If exit animation is retained, define whether the dialog remains modal until cleanup and how reopening supersedes a pending close. + +The [APG modal dialog guidance](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) supplies the web interaction baseline. Test close during entry, reopen during exit, nested overlays, trigger removal, and reduced motion. After final close there must be no surviving blocker or focus trap. + +### Reorder And Filter + +Use when the same identifiable items move or are removed. Commit the intended logical order, retain stable item keys, and interpolate presentation only where the source/destination mapping is valid. Preserve focused items; if one disappears, choose a documented neighboring item or controlling filter. Do not reorder DOM solely to produce a pleasing stagger. + +Trace: filter A → filter B → late A data → B remains current. Test empty results, long item labels, list updates during movement, keyboard navigation, and a focused item's removal. An immediate redraw is the fallback when continuity cannot be established. + +### Progress And Completion + +Use when an ongoing operation needs visible status. Show determinate progress only when backed by a meaningful measurement; otherwise use a pending state. Completion, failure, and cancellation come from the operation, independently of the progress decoration. + +Trace: pending → cancellation requested → confirmed cancelled or completed; do not promise cancellation succeeded before the operation confirms it. Essential information persists beyond a transient flourish. Use urgent alerts sparingly; [APG alert guidance](https://www.w3.org/WAI/ARIA/apg/patterns/alert/) distinguishes announcements from focus-taking dialogs. + +### Drag And Settle + +Use when direct manipulation previews a change before commitment. Separate the preview value from the committed value. Release on a valid target commits; cancellation restores or reconciles with the current model. A new gesture retargets from the presented position where continuity is intended. Provide a task-equivalent non-drag operation. + +Test release inside/outside, cancellation, pointer loss, a changing destination, and repeated reversal. Focus and the selected item must remain traceable while visual position changes. The engine or browser adapter owns gesture events; the product owns acceptance of the new value. + +## Opinionated Guidance + +For frequent operations, compare with removing motion before increasing its complexity. When two recipes compose, one controller must arbitrate the shared state rather than letting competing completion callbacks decide it. + +## Platform-Specific Guidance + +For the web, [`prefers-reduced-motion`](https://www.w3.org/TR/mediaqueries-5/#prefers-reduced-motion) is a preference signal. Define the alternative per recipe and respond to preference changes during use. API support, native gesture physics, and rendering performance require the exact target runtime. + +## Unsupported Absolutes + +These recipes establish no universal duration, spring configuration, frame rate, device coverage, or aesthetic result. A static snippet does not prove animated or assistive-technology behavior. + +## Verification Contract + +For each implemented recipe record before, intermediate, interrupted, and final states; logical order and focus; reduced-motion behavior; and completion/error cleanup. Source inspection can check declared ownership. Rendered interaction and assistive-technology behavior require the consuming application. Review when an API changes or a trace fails. + +The [Interaction Lab](../examples/domain-interactions/README.md) provides a bounded web implementation of feedback, native disclosure, modal dismissal, stale search results, reward reveal, and range-input preview. Its [verification notes](../examples/domain-interactions/verification.md) record exercised states and preferences; they do not establish coverage for every possible implementation of these recipes. + +## Source, License, And Attribution + +Locally authored recipes and HTML. The linked W3C APG pages and Media Queries Level 5 were rechecked on 2026-09-08 for the specific semantics and preference signal above. No upstream examples or timing prescriptions are copied. + +## IA Navigation + +Parent: [Motion](index.md). +Next: [Motion Review Workflow](review-workflow.md). diff --git a/motion/motion-brief.md b/motion/motion-brief.md new file mode 100644 index 0000000..f8c6c51 --- /dev/null +++ b/motion/motion-brief.md @@ -0,0 +1,89 @@ +--- +type: Domain Guide +title: Motion Brief +description: Author a product-owned transition contract with interruption, preference, and evidence requirements. +domain: motion +lifecycle: experimental +provenance_kind: local +--- + +# Motion Brief + +Primary role: motion implementation handoff template. + +## Repository Boundary + +This brief records one product-owned behavior. Its timings, distances, and treatments never become reusable Layout values. Use the [Decision Tree](decision-tree.md) before filling it in. + +## Reusable Method + +Complete every field, using `unknown` for missing observations and a reason for non-applicability. A blank field is not an accepted exception. + +```yaml +interaction: # a user action and the state it changes +purpose: # the information motion adds +frequency: # observed or estimated, with its basis +trigger: # input, data event, navigation, or scroll progress +semantic_owner: # who commits the real application state +presentation_owner: # who starts, retargets, cancels, and disposes motion +layout_owner: # final geometry and scroll responsibility +states: # initial, in-flight, completed, failed, cancelled +identity: # stable object or item key, if continuity is claimed +parameters: # product-local values and why they are being tried +interruption: # reverse, retarget, finish, or cancel, and from which state +focus_and_input: # entry, availability during motion, exit, fallback target +reduced_motion: # equivalent state/feedback without unnecessary movement +teardown: # navigation, removal, preference change, and stale callbacks +verification: # exact actions, expected outcomes, runtime and artifacts +observed_result: # not_run until evidence exists +boundary: # what those observations cannot establish +review_trigger: # source/API change, a failed case, or reader task +consumer_reference: not_applicable +consumer_reference_reason: This blank template selects no consumer reference record. +``` + +## Filled Example: Search Status Feedback + +| Field | Example decision | +| --- | --- | +| Interaction and purpose | Submit a search; distinguish waiting, zero results, results, and failure | +| Frequency | Unknown; measure in the consuming search task | +| Semantic owner | Search controller; only the active request may replace results | +| Presentation owner | Status component; progress decoration may stop independently | +| Layout owner | Consumer's result region; [Feed](../patterns/stacking/feed.md) can own vertical repetition | +| Transition | Idle → pending → results/empty/error; a new query supersedes the old request | +| Parameters | No movement needed for the baseline; a loading treatment is an optional later hypothesis | +| Interruption | Query B supersedes query A; A's late completion is ignored | +| Focus | Remains on the initiating control unless the user moves it | +| Reduced motion | Static pending text and the same final result or error | +| Teardown | Abort where supported and reject stale completion by request identity | +| Verification | Submit A, submit B, resolve B, then resolve A; B remains presented | +| Observed result | `not_run`: illustrative contract, not captured product evidence | +| Review trigger | The product changes its request lifecycle, navigation, or status announcement | + +Example handoff: `consumer_reference: not_applicable` because no profile or consumer evidence record is selected. A real consumer replaces this with its applicable repository-relative record or its own reason. + +## Opinionated Guidance + +Write cancellation before tuning curves. An animation completion callback should report presentation completion; it should not be the sole authority for network success, focus cleanup, or saving data. + +## Platform-Specific Guidance + +Record actual browser, OS, input mode, and relevant animation-library version in the consumer's verification record. A preference query indicates a requested behavior; it does not prove the implemented alternative is comfortable. + +## Unsupported Absolutes + +No fixed timing, animation technology, or one reduced-motion treatment works for every brief. A filled template is not executed evidence. + +## Verification Contract + +The brief is ready to implement when every state has an owner, every interruption has a resulting state, and every acceptance claim names an observable. Execution must add artifacts and pass/fail results. Use the [Review Workflow](review-workflow.md) for findings and retesting. + +## Source, License, And Attribution + +Locally authored template and fictional search scenario. The existing domain contracts provide its evidence boundary. + +## IA Navigation + +Parent: [Motion](index.md). +Next: [Motion Interaction Recipes](interaction-recipes.md). diff --git a/package.json b/package.json index 10356b9..cb47ecd 100644 --- a/package.json +++ b/package.json @@ -47,12 +47,16 @@ "consumer-reference/agent-native/v2/schema/material-record.schema.json", "consumer-reference/contract.md", "consumer-reference/index.md", + "design-engineering/component-contract.md", "design-engineering/consumer-migration-readiness.md", + "design-engineering/decision-tree.md", "design-engineering/index.md", "design-engineering/interface-craft.md", "design-engineering/reference-profiles/governed-local/editorial/profile.json", "design-engineering/reference-profiles/governed-local/index.md", "design-engineering/reference-profiles/index.md", + "design-engineering/worked-examples.md", + "design-terminology/comparison-workflow.md", "design-terminology/concept-families.md", "design-terminology/conflict-cases.md", "design-terminology/index.md", @@ -60,14 +64,17 @@ "design-terminology/source-kinds.md", "design-terminology/source-vocabularies.md", "game-ui/classification.md", + "game-ui/decision-tree.md", "game-ui/index.md", "game-ui/reference-record.md", "game-ui/screen-hierarchy.md", + "game-ui/screen-recipes.md", "game-ui/unity/architecture.md", "game-ui/unity/cli-loop.md", "game-ui/unity/org-wiki.md", "game-ui/unity/repository-map.md", "game-ui/unity/ui-systems.md", + "game-ui/verification-workflow.md", "guides/decision-tree.md", "guides/documentation-mode-taxonomy.md", "guides/layout-brief.md", @@ -76,7 +83,10 @@ "index.md", "layout/index.md", "log.md", + "motion/decision-tree.md", "motion/index.md", + "motion/interaction-recipes.md", + "motion/motion-brief.md", "motion/practice-reference.md", "motion/review-workflow.md", "motion/vocabulary.md", @@ -136,8 +146,12 @@ "patterns/viewport-shell/scroll-body-shell.md", "patterns/viewport-shell/sticky-footer.md", "patterns/viewport-shell/sticky-header.md", + "platform-guides/adaptation-workflow.md", + "platform-guides/android-interaction.md", "platform-guides/apple-interaction.md", + "platform-guides/compatibility-matrix.md", "platform-guides/index.md", + "platform-guides/windows-interaction.md", "quality/claim-records/design-terminology-domain-scope.md", "quality/claim-records/index.md", "quality/claim-records/samples.md", diff --git a/platform-guides/adaptation-workflow.md b/platform-guides/adaptation-workflow.md new file mode 100644 index 0000000..2cee689 --- /dev/null +++ b/platform-guides/adaptation-workflow.md @@ -0,0 +1,76 @@ +--- +type: Domain Guide +title: Platform Adaptation Workflow +description: Compare a native convention with a target implementation through source, capability, fallback, and evidence records. +domain: platform-guides +lifecycle: experimental +provenance_kind: local +--- + +# Platform Adaptation Workflow + +Primary role: platform comparison planning and handoff. + +## Repository Boundary + +Use a platform convention as a sourced comparison for a named task. The native platform owns its convention; the target's standards and actual runtime determine the adaptation. This workflow does not make a visual imitation equivalent to native behavior. + +## Reusable Method + +1. Name the task and target: native application, browser, embedded web view, or game engine. +2. Select [Apple](apple-interaction.md), [Android](android-interaction.md), or [Windows](windows-interaction.md) by source platform. +3. Record an official source, exact page section, version or dated reading, and re-review trigger. +4. Separate the observed/native fact from the transferable interaction question. +5. Choose an adaptation and an explicit fallback using the [Compatibility Matrix](compatibility-matrix.md). +6. Execute the target-specific acceptance cases and record what was not tested. + +## Adaptation Record + +| Field | Required content | +| --- | --- | +| Task | The user action, intended outcome, and affected state | +| Source context | Platform, OS/API or documentation version, source URL/section, review date | +| Source claim | The precise native fact supported by that source | +| Target context | Browser/OS/framework/device/input and relevant versions | +| Transferable question | What problem the convention helps investigate | +| Target decision | Implement, adapt, omit, or defer with a reason | +| Capability gap | Missing API, different input model, permission, or semantic difference | +| Fallback | A complete task path when the preferred capability is absent | +| Verification | Actions, expected and actual behavior, artifacts, source/build identity | +| Freshness | Source/API change or failed observation that triggers re-review | +| Handoff | `consumer_reference` record or `not_applicable` with a reason | + +## Worked Comparison: Returning From Detail + +Native source: Android's [predictive Back documentation](https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture), reviewed 2026-09-08, describes gesture preview and cancellation. Transferable question: can a person understand and cancel a return before committing it? + +Web decision: use the application's documented list/detail route and normal browser history. Restore the list's selection and relevant search state on return. Provide a visible return link where the task needs it. Do not intercept browser/system gestures merely to reproduce a preview. + +Fallback: direct entry to a detail URL has no assumed prior list history; its visible parent link goes to the known collection route. Verification cases: navigate from a filtered list, return with browser Back, enter detail directly, cancel a local dialog before leaving, and return after the selected item is removed. + +Actual result: `not_run`; this is a fictional adaptation proposal. `consumer_reference: not_applicable` because no consumer record is selected. The comparison claims neither native gesture support nor tested browser history restoration. + +## Opinionated Guidance + +Preserve the task and recovery path before reproducing the native effect. When a capability is absent, document an intentional complete alternative rather than a partially functioning control. + +## Platform-Specific Guidance + +The source platform and target platform are separate fields even when both run on the same device. A browser on Android does not expose every Android application API. A web view's embedding host may own navigation and permissions. + +## Unsupported Absolutes + +An official source establishes its own guidance, not target conformance. Similar appearance, shared vocabulary, or a matching API name is insufficient evidence of equivalent behavior. + +## Verification Contract + +A completed adaptation distinguishes source fact, local inference, target implementation, and actual observation. Verify unavailable capabilities, interrupted navigation, relevant preferences, and all claimed inputs. Re-review on a source change, target API change, or failed acceptance case; a review date alone is not proof of continuing support. + +## Source, License, And Attribution + +Locally authored comparison method and fictional example. The linked Android source was rechecked on 2026-09-08; prose and examples are independently written. Source access does not establish device execution. + +## IA Navigation + +Parent: [Platform Guides](index.md). +Next: [Platform Compatibility Matrix](compatibility-matrix.md). diff --git a/platform-guides/android-interaction.md b/platform-guides/android-interaction.md new file mode 100644 index 0000000..84a1fe4 --- /dev/null +++ b/platform-guides/android-interaction.md @@ -0,0 +1,74 @@ +--- +type: Domain Guide +title: Android Interaction As A Comparative Reference +description: Source-bounded Android Back and adaptive-window guidance with explicit web translation and failure cases. +domain: platform-guides +lifecycle: experimental +provenance_kind: local +platform: Android applications +platform_version: dated official documentation; target OS and AndroidX versions required +reviewed_on: 2026-09-08 +--- + +# Android Interaction As A Comparative Reference + +Primary role: Android platform comparison guide. + +## Repository Boundary + +This guide compares Android application behavior with a consumer's target. It does not equate Android APIs with browser APIs or prescribe Material visual treatment. Record the actual OS, AndroidX/UI stack, and target device before implementation. + +## Reusable Method + +Use the [Adaptation Workflow](adaptation-workflow.md). Choose a specific native concern below, inspect its source, then write the target behavior and fallback independently of native visuals. + +## Source-Bounded Conventions + +| Concern | Official source and bounded fact | Transferable question | +| --- | --- | --- | +| Back preview | [Predictive Back](https://developer.android.com/guide/navigation/custom-back/predictive-back-gesture) describes previewing a destination and cancelling a gesture; custom handling depends on the application stack | Is the destination understandable, and does cancelling preserve the current state? | +| Back ownership | The same source describes enabled callbacks and one recipient for a Back gesture | Which active layer consumes Back, and when does control return to the outer navigation owner? | +| Window adaptation | [Window size classes](https://developer.android.com/develop/adaptive-apps/guides/use-window-size-classes) classify available application window space for adaptive decisions | Does the screen adapt to its available space while preserving selection and task state? | +| Navigation transformation | [Responsive navigation](https://developer.android.com/develop/ui/views/layout/build-responsive-navigation) discusses changing navigation presentation with window conditions | Can the user reach the same destinations after presentation changes? | + +These pages were read on 2026-09-08. They are a dated documentation set, not a pin of every Android release or package. Verify the implementation details for the selected runtime. + +## Worked Adaptation: Compact List And Expanded Detail + +Task: inspect a collection on a resizable surface. Native comparison: available window space can change the presentation. Target web decision: compose [List Detail](../recipes/list-detail.md), retain selected identity in application state, and let the Layout owner choose the fit constraint. Android's native units and class boundaries are not CSS breakpoints. + +On a tight surface, the detail route can replace the list visually while preserving the query and selection. On a roomy surface, both can be visible. Returning must resolve a missing selected item explicitly. Changing presentation must not duplicate the current route or save unrelated navigation history entries. + +| Action | Expected target behavior | +| --- | --- | +| Resize with item B selected | B remains the selected detail | +| Return to the list | Previous query remains available | +| Cancel an inner dialog | Dialog closes once; outer route stays put | +| Open detail directly | Parent navigation works without assuming prior history | + +This is an unexecuted web proposal, not evidence of an Android build. + +## Opinionated Guidance + +Map Back, Up/parent navigation, dialog dismissal, and operation cancellation separately. They may share an icon or button position while changing different state. + +## Platform-Specific Guidance + +Android gesture progress, callback dispatch, activities, and AndroidX navigation belong to native or embedding-host code. A browser adaptation should use its supported navigation semantics. Record any web-view host integration as a separate implementation dependency. + +## Unsupported Absolutes + +Android window classes are not universal web breakpoints. A browser Back action is not necessarily an application's parent destination. A cancel animation does not prove the underlying operation was cancelled. + +## Verification Contract + +Test gesture completion/cancellation on the declared native device when claiming native behavior. For a web adaptation, test actual browser history, direct links, resizes, input modes, and dialog focus independently. Review when any cited convention or target navigation implementation changes. + +## Source, License, And Attribution + +Locally authored synthesis of the official Android pages linked above, rechecked 2026-09-08. No source code, tables, or native visual assets are reproduced. `consumer_reference: not_applicable` because this reference guide selects no consumer implementation record. + +## IA Navigation + +Parent: [Platform Guides](index.md). +Next: [Platform Compatibility Matrix](compatibility-matrix.md). diff --git a/platform-guides/apple-interaction.md b/platform-guides/apple-interaction.md index 796abd4..2fa5172 100644 --- a/platform-guides/apple-interaction.md +++ b/platform-guides/apple-interaction.md @@ -9,7 +9,7 @@ source_path: skills/apple-design/SKILL.md source_revision: 220e8607c90b17337d210125777b7b695f26c221 platform: Apple platforms platform_version: verify-current -reviewed_on: 2026-07-11 +reviewed_on: 2026-09-08 --- # Apple Interaction As A Comparative Reference @@ -33,6 +33,14 @@ For each proposed comparison: 5. Define the web adaptation, including unavailable or materially different capabilities. 6. Verify the adapted behavior on its real surface and record what remains unproven. +## Official Source Review And Worked Adaptation + +Official [HIG Motion](https://developer.apple.com/design/human-interface-guidelines/motion) and [HIG Accessibility](https://developer.apple.com/design/human-interface-guidelines/accessibility) were rechecked on 2026-09-08 through Apple's documentation data for [Motion](https://developer.apple.com/tutorials/data/design/human-interface-guidelines/motion.json) and [Accessibility](https://developer.apple.com/tutorials/data/design/human-interface-guidelines/accessibility.json). This is a dated living-document review, not a pin of shipped OS behavior. The motion guidance supports purposeful, optional motion and cancellation; it does not supply universal web animation parameters. + +Worked proposal: a web settings disclosure opens immediately and keeps its trigger operable. Optional movement communicates the revealed region. Under reduced motion, the same content and controls remain available without unnecessary movement. Use [Motion Disclosure](../motion/interaction-recipes.md#disclosure) for the behavior contract and the [Adaptation Workflow](adaptation-workflow.md) for the source/target record. + +Expected cases: open and close by keyboard, reverse while opening, enlarge the text, hide content while focus is inside, and change the motion preference. Actual result: `not_run`; this proposal is not a tested Apple or browser implementation. `consumer_reference: not_applicable` because the worked proposal selects no consumer-owned record. + ## Comparative Questions | Theme | Question to investigate | Required evidence | Boundary | diff --git a/platform-guides/compatibility-matrix.md b/platform-guides/compatibility-matrix.md new file mode 100644 index 0000000..c66db8e --- /dev/null +++ b/platform-guides/compatibility-matrix.md @@ -0,0 +1,85 @@ +--- +type: Domain Guide +title: Platform Compatibility Matrix +description: Separate transferable interaction intent from platform capabilities, target fallbacks, and required evidence. +domain: platform-guides +lifecycle: experimental +provenance_kind: local +--- + +# Platform Compatibility Matrix + +Primary role: adaptation comparison and verification checklist. + +## Repository Boundary + +This matrix compares responsibilities, not API support versions. It is not a browser compatibility database. A row's target behavior is a proposed adaptation until verified on the consumer's named runtime. + +## Reusable Method + +Choose the relevant concern, read its platform source guide, record native facts and target decisions separately, and execute both the preferred and fallback paths. Use the [Adaptation Workflow](adaptation-workflow.md) for the handoff. + +## Comparison Matrix + +| Concern | Source route | Transferable intent | Target boundary and fallback | Required observation | +| --- | --- | --- | --- | --- | +| Motion preference | [Apple](apple-interaction.md) | Essential information remains available with less motion | Web preference handling belongs to [Motion recipes](../motion/interaction-recipes.md); retain static status | Change preference and interrupt an active transition | +| Return navigation | [Android](android-interaction.md) | Understand destination and preserve recoverable state | Browser history, parent links, and host Back are distinct; direct entry needs a known parent route | Normal return, direct entry, cancellation, missing prior item | +| Adaptive presentation | [Android](android-interaction.md) | Preserve the task as available space changes | Native units/class cutoffs do not define Layout breakpoints; use the target's content constraints | Resize without losing query, selection, or focus | +| Keyboard traversal | [Windows](windows-interaction.md) | Reach actions and move predictably within controls | Follow the chosen web semantic pattern; visible controls remain operable | Tab/reverse traversal, inner navigation, editing, dismissal | +| Shortcuts | [Windows](windows-interaction.md) | Efficient access to a named command | OS/browser-reserved keys may be unavailable; retain a visible command | Reserved key path, disabled command, active text editor | +| Multimodal feedback | [Apple](apple-interaction.md) | Communicate cause and result through available channels | Haptics/audio may be unavailable or inappropriate; retain essential visual/text feedback | Muted/unavailable channels and the actual target device | +| Translucent treatment | [Apple](apple-interaction.md) | Keep foreground hierarchy understandable | Native materials do not translate to CSS equivalence; an opaque treatment is a candidate fallback | Actual contrast/readability across backgrounds and preferences | + +## Target Evidence Matrix + +| Axis | Record | What a missing check means | +| --- | --- | --- | +| Runtime | Exact browser/app engine, OS, relevant library/SDK versions | No claim beyond the exercised runtime | +| Input | Keyboard, pointer, touch, controller, assistive technology as claimed | An untested mode is `not_run`, not a pass | +| Preferences | Motion, contrast, text sizing, other relevant settings | Source support does not prove local handling | +| Navigation | Direct entry, return, cancellation, nested overlays | A successful happy path leaves recovery unproven | +| Capability | Available, unavailable, denied, interrupted where relevant | Fallback behavior must be exercised independently | +| State | Normal, pending, failed, empty, stale or removed data | A screenshot of default state is insufficient | + +## Example Record + +```yaml +concern: keyboard-traversal +source_guide: platform-guides/windows-interaction.md +target: # actual browser, OS, widget semantics and versions +decision: # the target interaction contract +fallback: # complete visible operation path +source_rechecked: # date and exact official locator +actual_result: not_run +limitations: # untested inputs, runtimes, and capabilities +consumer_reference: not_applicable +consumer_reference_reason: This blank comparison selects no consumer record. +``` + +## Opinionated Guidance + +Test fallback paths deliberately rather than waiting for accidental unsupported hardware. A successful fallback should preserve the task, though its presentation may differ. + +## Platform-Specific Guidance + +Apple, Android, and Windows guide pages own their dated official-source sets. Recheck them for native claims and separately verify the target runtime. Game-engine adaptation routes to [Game UI](../game-ui/index.md). + +## Unsupported Absolutes + +No row claims visual, semantic, accessibility, or performance equivalence between platforms. No generic “mobile” or “desktop” label replaces the actual runtime/input matrix. + +## Verification Contract + +An adaptation is reviewable when each selected row has a target decision, fallback, observed result, and limitation. Missing capability or runtime evidence stays explicit. Review when a linked source, target capability, or failed user task changes the mapping. + +The [Interaction Lab verification](../examples/domain-interactions/verification.md) records a macOS browser target for keyboard traversal, modal cancellation, history, content resizing, and reduced-motion preference changes. Small browser viewports are not mobile-device evidence; Android, iOS/iPadOS, Windows-native APIs, haptics, controllers, and assistive technology remain outside that run. + +## Source, License, And Attribution + +Locally authored comparison matrix derived from this domain's linked source reviews. Platform owners retain authority over their own conventions; no upstream table is reproduced. + +## IA Navigation + +Parent: [Platform Guides](index.md). +Next: [Platform Adaptation Workflow](adaptation-workflow.md). diff --git a/platform-guides/index.md b/platform-guides/index.md index 1521ab6..6eba590 100644 --- a/platform-guides/index.md +++ b/platform-guides/index.md @@ -8,6 +8,17 @@ In scope: comparative vocabulary, interaction questions, current official-source Out of scope: affiliation, brand imitation, unsupported platform equivalence, and authority over web standards, accessibility, or Layout contracts. +## Start Here + +| Task | Route | +| --- | --- | +| Record native facts, target decisions, and fallbacks. | [Platform Adaptation Workflow](adaptation-workflow.md) | +| Compare Back and adaptive window behavior. | [Android Interaction As A Comparative Reference](android-interaction.md) | +| Compare keyboard, focus, and commands. | [Windows Interaction As A Comparative Reference](windows-interaction.md) | +| Select target and fallback verification cases. | [Platform Compatibility Matrix](compatibility-matrix.md) | + +These workflows and worked cases are usable experimental guidance. Expected-result tables are test designs; actual product, engine, and reader evidence must be recorded separately. Review on a failed task, a source change, or a changed ownership contract. + ## Available Guides - [Apple Interaction As A Comparative Reference](apple-interaction.md) turns selected interaction themes into questions for web adaptation without claiming platform equivalence. @@ -23,4 +34,4 @@ See [StyleGallery Domains](../DOMAINS.md) for lifecycle, provenance, page member ## IA Navigation Parent: [StyleGallery](../index.md). -Next: [Apple Interaction As A Comparative Reference](apple-interaction.md). +Next: [Platform Adaptation Workflow](adaptation-workflow.md). diff --git a/platform-guides/windows-interaction.md b/platform-guides/windows-interaction.md new file mode 100644 index 0000000..230f430 --- /dev/null +++ b/platform-guides/windows-interaction.md @@ -0,0 +1,75 @@ +--- +type: Domain Guide +title: Windows Interaction As A Comparative Reference +description: Source-bounded Windows keyboard, focus, and command guidance with web adaptation cases. +domain: platform-guides +lifecycle: experimental +provenance_kind: local +platform: Windows applications and WinUI +platform_version: dated Microsoft Learn documentation; target Windows App SDK version required +reviewed_on: 2026-09-08 +--- + +# Windows Interaction As A Comparative Reference + +Primary role: Windows platform comparison guide. + +## Repository Boundary + +This guide compares keyboard and command behavior in Windows application guidance. It supplies no Fluent visual defaults and does not imply that WinUI focus APIs exist in the browser. The consumer records its actual Windows, SDK, browser, and control-library versions. + +## Reusable Method + +Start with the [Adaptation Workflow](adaptation-workflow.md). Identify the command, navigation group, and focus scope before choosing a shortcut or implementation API. + +## Source-Bounded Conventions + +| Concern | Official source and bounded fact | Transferable question | +| --- | --- | --- | +| Sequential and inner navigation | [Keyboard interactions](https://learn.microsoft.com/en-us/windows/apps/design/input/keyboard-interactions) distinguishes moving between controls from moving within some composite controls | Is the key moving between tasks, among items, or editing a value? | +| Initial focus | The same source discusses logical starting focus and avoiding an initially focused destructive action | Does the entry target help the intended task without accidental destructive activation? | +| Focus movement | [Focus navigation](https://learn.microsoft.com/en-us/windows/apps/develop/input/focus-navigation) documents native focus navigation and control behavior | Can focus reach every required action, and where does it return after dismissal? | +| Commands | [Keyboard accelerators](https://learn.microsoft.com/en-us/windows/apps/develop/input/keyboard-accelerators) describes command invocation and scoping in Windows applications | Does a shortcut invoke the same command and availability rules as its visible control? | + +Source set reviewed 2026-09-08. These are platform guidance and API documentation, not evidence that a consumer implements them. + +## Worked Adaptation: Searchable Command Surface + +Task: find and invoke commands without a pointer. Begin with the [Command Surface recipe](../recipes/command-surface.md) for spatial composition. Use the correct web widget semantics for the chosen design; a native control's tab-stop policy should not be copied onto unrelated HTML elements. + +Define the opening control, query input, result navigation, selected command, disabled-command explanation, and dismissal target. Command buttons and shortcuts share one operation owner. Editing text must not accidentally invoke a global command. A shortcut is supplemental: the visible action remains available when that key combination is reserved by the browser or OS. + +| Test | Expected target behavior | +| --- | --- | +| Open with keyboard | Focus reaches the declared entry target | +| Search to zero results | Query remains editable and dismissal remains available | +| Attempt an unavailable command | No operation; availability is explained consistently | +| Dismiss after invoker removal | Focus reaches a documented surviving target | +| Use a reserved/unavailable shortcut | The visible control still performs the task | + +Actual result: `not_run`. This is a fictional web adaptation contract. + +## Opinionated Guidance + +Centralize command availability so menu, button, and shortcut do not disagree. Do not add shortcuts before checking focus, text editing, and the complete visible operation path. + +## Platform-Specific Guidance + +WinUI accelerators and focus APIs have native routing rules. Web controls use HTML, the selected ARIA pattern where necessary, browser defaults, and the application's focus scope. See the [shared accessibility evidence gate](../quality/gates/accessibility-evidence.md) for the required evidence boundary. + +## Unsupported Absolutes + +Arrow keys are not a replacement for Tab in every UI. A Windows shortcut is not safe to intercept globally in every browser. A working pointer flow does not prove keyboard operation. + +## Verification Contract + +Verify entry, traversal, command invocation, text editing, cancellation, disabled state, and focus restoration on every claimed runtime/input. Include a missing invoker and nested surface. Review on Windows SDK, browser, source guidance, or command-routing changes. + +## Source, License, And Attribution + +Locally authored synthesis of the official Microsoft sources linked above, rechecked 2026-09-08. No upstream examples, control code, or visual assets are copied. `consumer_reference: not_applicable` because no consumer implementation record is selected. + +## IA Navigation + +Parent: [Platform Guides](index.md). +Next: [Platform Compatibility Matrix](compatibility-matrix.md). diff --git a/scripts/agent-native/v2/test-agent-v1-compatibility.mjs b/scripts/agent-native/v2/test-agent-v1-compatibility.mjs index dbc7894..7957680 100644 --- a/scripts/agent-native/v2/test-agent-v1-compatibility.mjs +++ b/scripts/agent-native/v2/test-agent-v1-compatibility.mjs @@ -12,7 +12,6 @@ import { agentNativeRegistry } from "../registry.mjs"; const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../.."); const expectedFiles = Object.freeze({ - "consumer-reference/agent-native/README.md": "959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", "consumer-reference/agent-native/registry.json": "70107a28225ee893b0d32df8e2a3c69bed747992bf7e92a0ca5431df4605d8b0", "consumer-reference/agent-native/schema/agent-native.schema.json": "0675d61d57a8d12c724f6a97160f6bc4cf2f8abf91663adae0593e7a5a221871", "consumer-reference/agent-native/schema/epistemic.schema.json": "ddfdd88692897b4cc17057fc7b0cb6222f69d078956ffb0344d288025cbab9d2", @@ -35,6 +34,16 @@ const expectedFiles = Object.freeze({ "scripts/test-agent-mcp.mjs": "8ee6726f2ad811e32b9c7304ef3e2ab5755e261a68fffbc3c03f872355fe5740", "scripts/test-sg-cli.mjs": "a120d23ae0a244b0694f1ef24068e7a629bfd400eb83031447b76a82067fb67f", }); +// The shared guide gained material-v2 instructions and the six-domain correction +// in this reviewed documentation revision. That update did not change v1 bytes. +// Keep its exact digest explicit, separately from the original Todo2 core pins; +// never derive either baseline from the working tree at test time. +const expectedDocumentation = Object.freeze({ + "consumer-reference/agent-native/README.md": { + revision: "d8bdf0bd5b5aec2fbc38e322a9ac7a1d31fd1332", + sha256: "6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", + }, +}); const expectedCli = Object.freeze([ ["discover", ["discover", "--format", "json"], 12748, "a8980754604d800a979bfdd7ae9bb78f755405989df4152e8f7293854e409719"], ["resolve", ["resolve", "sg:profile/editorial-reference-profile", "--format", "json"], 668, "8d34b81a31fdc1df5c73e1f7e012eb00b0ab9c90816e951323afedca0566fb4e"], @@ -80,6 +89,9 @@ const snapshot = { assert.deepEqual(checkSnapshot(snapshot), []); for (const [file, digest] of Object.entries(expectedFiles)) assert.equal(sha(fs.readFileSync(path.join(root, file))), digest, `${file} changed from Todo2`); +for (const [file, { revision, sha256 }] of Object.entries(expectedDocumentation)) { + assert.equal(sha(fs.readFileSync(path.join(root, file))), sha256, `${file} changed from reviewed documentation revision ${revision}`); +} for (const file of ["fixture.mjs", "identity.mjs", "queries.mjs", "registry.mjs", "cli-adapter.mjs", "mcp-adapter.mjs", "self-description.mjs"]) { const source = fs.readFileSync(path.join(root, "scripts/agent-native", file), "utf8"); assert.doesNotMatch(source, /(?:from|import\s*\()[^\n]*(?:extensions\/|a2a-projection|agui-projection|material-)/, `v1 core imports an extension/material plane: ${file}`); @@ -120,6 +132,7 @@ for (const [changed, code] of perturbations) assert.ok(checkSnapshot(changed).in process.stdout.write(`${JSON.stringify({ ok: true, todo2_source_digests: Object.keys(expectedFiles).length, + reviewed_documentation: expectedDocumentation, frozen_cli_goldens: parsed, fixture_records: snapshot.recordCount, stable_ref_kinds: snapshot.kinds.length, diff --git a/scripts/agent-native/v2/test-material-admission.mjs b/scripts/agent-native/v2/test-material-admission.mjs index e3b0d82..c837a25 100644 --- a/scripts/agent-native/v2/test-material-admission.mjs +++ b/scripts/agent-native/v2/test-material-admission.mjs @@ -27,8 +27,8 @@ const v1SchemaDirectory = path.join(repositoryRoot, "consumer-reference", "agent const v2Directory = path.join(repositoryRoot, "consumer-reference", "agent-native", "v2"); const temporaryRoots = new Set(); const sha256 = (bytes) => createHash("sha256").update(bytes).digest("hex"); -const EXPECTED_PATH_COUNT = 133; -const EXPECTED_PATHS_NEWLINE_SHA256 = "4f6ed8314a5684ca9a1d198567f47e1bc158ae03b506c043210ba26f96b80a52"; +const EXPECTED_PATH_COUNT = 147; +const EXPECTED_PATHS_NEWLINE_SHA256 = "54139a980e6ad0b9558b033f741d89cd8bafa8e44389beaf90e0bd0781871a43"; function run(command, args, options = {}) { return spawnSync(command, args, { encoding: "utf8", maxBuffer: 8 * 1024 * 1024, timeout: 30_000, ...options }); @@ -111,7 +111,7 @@ function policyVersion(policy) { test.after(() => { for (const root of temporaryRoots) fs.rmSync(root, { force: true, recursive: true }); }); -test("policy is closed, versioned, exact, and seals all 133 current paths", () => { +test("policy is closed, versioned, exact, and seals all 147 current paths", () => { const policySchema = JSON.parse(fs.readFileSync(path.join(v2Directory, "schema", "admission-policy.schema.json"), "utf8")); const ajv = new Ajv2020({ allErrors: true, strict: true }); assert.equal(ajv.validate(policySchema, materialAdmissionPolicy), true, JSON.stringify(ajv.errors)); @@ -127,7 +127,7 @@ test("policy is closed, versioned, exact, and seals all 133 current paths", () = assert.equal(Object.hasOwn(materialAdmissionPolicy, "public_roots"), false); }); -test("actual repository manifest admits exactly 133 paths with deterministic identities and source versions", () => { +test("actual repository manifest admits exactly 147 paths with deterministic identities and source versions", () => { const materials = materialAdmissionPolicy.allowed_materials.map(({ repository_path }) => sourceRecord(repositoryRoot, repository_path)); const manifest = createMaterialManifest(materials); const result = validateMaterialManifest({ repositoryRoot, manifest }); diff --git a/scripts/agent-native/v2/test-material-mcp-stdio.mjs b/scripts/agent-native/v2/test-material-mcp-stdio.mjs index 97fe488..2bc7b28 100644 --- a/scripts/agent-native/v2/test-material-mcp-stdio.mjs +++ b/scripts/agent-native/v2/test-material-mcp-stdio.mjs @@ -115,7 +115,7 @@ async function rawProtocolProbe(script, cwd) { const afterMalformed = next((message) => message.id === 61, "post-malformed response"); send("{malformed-json"); send({ jsonrpc: "2.0", id: 61, method: "resources/list", params: {} }); - assert.equal((await afterMalformed).result.resources.length, 133); + assert.equal((await afterMalformed).result.resources.length, 147); assert.equal(allMessages.filter((message) => message.id === undefined).length, 0); } finally { child.stdin.end(); @@ -242,7 +242,7 @@ try { assert.deepEqual(Object.keys(material.client.getServerCapabilities()).sort(), ["resources", "tools"]); const tools = (await deadline(material.client.listTools(), "list tools")).tools; assert.deepEqual(tools.map(({ name }) => name), ["material-context", "material-discover", "material-get", "material-search"]); - assert.equal((await deadline(material.client.listResources(), "list resources")).resources.length, 133); + assert.equal((await deadline(material.client.listResources(), "list resources")).resources.length, 147); assert.deepEqual((await deadline(material.client.listResourceTemplates(), "list templates")).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); const calls = [ @@ -291,7 +291,7 @@ try { await rejected(() => v1.client.readResource({ uri: materialResourceUri(selected[0].stable_ref) }), /not found|resource/i); await rejected(() => material.client.readResource({ uri: "sg://self" }), /not found|resource/i); - process.stdout.write(`${JSON.stringify({ ok: true, transport: "stdio", cwd_with_spaces: true, direct_run: { real_path: true, symlink_with_spaces: true }, import_guard: importGuard, tools: 4, resources: 133, domains: 6, generated: selected[5].stable_ref, source_hashes_verified: 6, concurrent_requests: 8, raw_protocol: rawProtocol, frame_boundaries: frameBoundaries, oversized_frame: oversizedFrame, epipe, v1_tools: v1Tools, stderr_empty: true }, null, 2)}\n`); + process.stdout.write(`${JSON.stringify({ ok: true, transport: "stdio", cwd_with_spaces: true, direct_run: { real_path: true, symlink_with_spaces: true }, import_guard: importGuard, tools: 4, resources: 147, domains: 6, generated: selected[5].stable_ref, source_hashes_verified: 6, concurrent_requests: 8, raw_protocol: rawProtocol, frame_boundaries: frameBoundaries, oversized_frame: oversizedFrame, epipe, v1_tools: v1Tools, stderr_empty: true }, null, 2)}\n`); } finally { if (v1) { await deadline(v1.client.close(), "v1 shutdown"); diff --git a/scripts/agent-native/v2/test-material-mcp.mjs b/scripts/agent-native/v2/test-material-mcp.mjs index 029ceff..d5f4a72 100755 --- a/scripts/agent-native/v2/test-material-mcp.mjs +++ b/scripts/agent-native/v2/test-material-mcp.mjs @@ -106,7 +106,7 @@ try { assert.equal(nullPrototypeResponse.structuredContent?.ok, true); const resources = (await client.listResources()).resources; - assert.equal(resources.length, 133); + assert.equal(resources.length, 147); assert.deepEqual((await client.listResourceTemplates()).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); assert.ok(resources.every(({ uri }) => uri === materialResourceUri(resources.find((entry) => entry.uri === uri).name))); diff --git a/scripts/agent-native/v2/test-material-query.mjs b/scripts/agent-native/v2/test-material-query.mjs index 9a5d6c6..c42d3d3 100644 --- a/scripts/agent-native/v2/test-material-query.mjs +++ b/scripts/agent-native/v2/test-material-query.mjs @@ -195,6 +195,12 @@ test("public domain leaf queries resolve to npm-portable repository paths", () = ["unity cli loop", "game-ui/unity/cli-loop.md"], ["motion review workflow", "motion/review-workflow.md"], ["Apple interaction", "platform-guides/apple-interaction.md"], + ["motion interaction recipes", "motion/interaction-recipes.md"], + ["component contract", "design-engineering/component-contract.md"], + ["game ui screen recipes", "game-ui/screen-recipes.md"], + ["android interaction", "platform-guides/android-interaction.md"], + ["windows interaction", "platform-guides/windows-interaction.md"], + ["design term comparison workflow", "design-terminology/comparison-workflow.md"], ]; for (const [query, expected] of cases) { const response = invoke("material-search", { query, limit: 5, paths_only: true }); diff --git a/scripts/agent-native/v2/test-material-registry.mjs b/scripts/agent-native/v2/test-material-registry.mjs index 680d11d..c5f707c 100644 --- a/scripts/agent-native/v2/test-material-registry.mjs +++ b/scripts/agent-native/v2/test-material-registry.mjs @@ -85,7 +85,7 @@ test.after(() => { for (const root of temporaryRoots) fs.rmSync(root, { recursiv test("generated registry is canonical, exact, source-bound, complete, and v1-isolated", () => { const beforeV1 = fs.readFileSync(v1RegistryPath); const generated = generateMaterialRegistry({ repositoryRoot }); - assert.equal(generated.materials.length, 133); + assert.equal(generated.materials.length, 147); assert.deepEqual(validateMaterialRegistry({ repositoryRoot, manifest: generated }), { ok: true, failures: [], materials: generated.materials }); assert.equal(generated.version_id, recomputeManifestVersion(generated)); assert.equal(generated.admission_policy_ref, materialAdmissionPolicy.stable_ref); diff --git a/scripts/agent-native/v2/test-sg-material-package.mjs b/scripts/agent-native/v2/test-sg-material-package.mjs index 60f5f4b..2e41e68 100644 --- a/scripts/agent-native/v2/test-sg-material-package.mjs +++ b/scripts/agent-native/v2/test-sg-material-package.mjs @@ -199,7 +199,7 @@ try { try { await bounded(materialClient.connect(materialTransport), "installed material MCP initialize"); assert.deepEqual((await bounded(materialClient.listTools(), "installed material MCP tools")).tools.map(({ name }) => name), ["material-context", "material-discover", "material-get", "material-search"]); - assert.equal((await bounded(materialClient.listResources(), "installed material MCP resources")).resources.length, 133); + assert.equal((await bounded(materialClient.listResources(), "installed material MCP resources")).resources.length, 147); assert.deepEqual((await bounded(materialClient.listResourceTemplates(), "installed material MCP templates")).resourceTemplates.map(({ uriTemplate }) => uriTemplate), ["sg://v2/material/{reference}"]); const installedMcpSearch = toolEnvelope(await bounded(materialClient.callTool({ name: "material-search", @@ -207,6 +207,26 @@ try { }), "installed material MCP search")); assert.equal(installedMcpSearch.ok, true); assert.equal(installedMcpSearch.result.paths[0], "design-terminology/source-kinds.md"); + const domainWorkflows = [ + ["motion interaction recipes", "motion/interaction-recipes.md"], + ["component contract", "design-engineering/component-contract.md"], + ["game ui screen recipes", "game-ui/screen-recipes.md"], + ["android interaction", "platform-guides/android-interaction.md"], + ["windows interaction", "platform-guides/windows-interaction.md"], + ["design term comparison workflow", "design-terminology/comparison-workflow.md"], + ]; + for (const [query, expectedPath] of domainWorkflows) { + const cli = spawnSync(process.execPath, [materialCliPath, "search", "--query", query, "--paths-only", "--limit", "5"], { + cwd: externalCwd, encoding: "utf8", timeout: 30_000, + }); + assert.equal(cli.status, 0, cli.stderr || cli.stdout); + assert.equal(JSON.parse(cli.stdout).result.paths[0], expectedPath, query); + const mcp = toolEnvelope(await bounded(materialClient.callTool({ + name: "material-search", arguments: { query, paths_only: true, limit: 5 }, + }), `installed domain search: ${query}`)); + assert.equal(mcp.ok, true); + assert.equal(mcp.result.paths[0], expectedPath, query); + } } finally { await bounded(materialClient.close(), "installed material MCP shutdown"); } @@ -228,6 +248,7 @@ try { installed_material_cli_search: true, installed_material_mcp_official_sdk: true, installed_material_mcp_search: true, + installed_non_layout_workflow_searches: 6, installed_external_spaced_cwd: true, }, null, 2)}\n`); } finally { diff --git a/scripts/test-validate-design-terminology.mjs b/scripts/test-validate-design-terminology.mjs index 86ce334..739b3ac 100644 --- a/scripts/test-validate-design-terminology.mjs +++ b/scripts/test-validate-design-terminology.mjs @@ -1,35 +1,91 @@ #!/usr/bin/env node +import assert from "node:assert/strict"; import fs from "node:fs"; import os from "node:os"; import path from "node:path"; import { validateDesignTerminology } from "./validate-design-terminology.mjs"; -const source = fs.readFileSync(path.resolve("design-terminology/conflict-cases.md"), "utf8"); -const termLine = source.split("\n").find((line) => line.includes("`figma.variable`") && line.includes("named-design-value")); -const relationLine = source.split("\n").find((line) => line.includes("`partial_overlap`") && line.includes("Exportable variables")); +// Synthetic sources test invariants only. They make no real terminology claims. +const term = (id, label, status = "current", source = "Example") => `| \`sample.${id}\` | ${label} | [${source}](https://example.org/terms/${id}) (\`design-system\`) | concept-${id} | ${status} | version 2025.10 | 2026-09-08 |`; +const relation = (from, to, type, scope = "catalog", direction = "directional", boundary = "The declared sample scope includes this mapping and excludes unrelated instances.") => `| \`sample.${from}\` | \`sample.${to}\` | \`${type}\` | ${scope} | ${direction} | ${boundary} | 2026-09-08 |`; +const terms = [term("a", "Alpha"), term("b", "Beta"), term("c", "Gamma"), term("d", "Delta")]; +const relations = [relation("a", "b", "broader_than"), relation("b", "c", "broader_than"), relation("c", "d", "implementation_representation", "output")]; +const base = [ + "# Synthetic terms", "", "## Term Records", "", + "| Term | Label | Source (kind) | Concept | Status | Scope | Reviewed on |", + "| --- | --- | --- | --- | --- | --- | --- |", ...terms, "", + "## Recorded Relations", "", + "| From | To | Type | Scope | Direction | Boundary | Reviewed on |", + "| --- | --- | --- | --- | --- | --- | --- |", ...relations, "", +].join("\n"); +const change = (before, after) => (content) => { + assert.ok(content.includes(before), `fixture mutation target missing: ${before}`); + const changed = content.replace(before, after); + assert.notEqual(changed, content, "fixture mutation must change bytes"); + return changed; +}; +const add = (row) => (content) => `${content}${row}\n`; +const temporal = (content) => content.replace(terms[0], term("a", "Alpha", "historical")) + .replace(relations[0], relation("a", "b", "renamed_to", "rename", "directional", "Example replaced Alpha with Beta in version 2025.10; the old label is historical.")); const cases = [ - { name: "ok", expect: null }, - { name: "unknown_relation_type", mutate: [relationLine, relationLine.replace("partial_overlap", "overlaps")], expect: "unknown relation type overlaps" }, - { name: "empty_boundary", mutate: [relationLine, relationLine.replace(/Exportable.*\|/, "|")], expect: "boundary must be a non-trivial scope statement" }, - { name: "unrecorded_relation_target", mutate: [relationLine, relationLine.replace("`dtcg.token`", "`dtcg.unknown`")], expect: "to-term must be a recorded term" }, - { name: "orphan_term", mutate: [termLine, termLine.replace("`figma.variable`", "`figma.ghost`")], expect: "orphan term figma.ghost" }, - { name: "bad_date", mutate: [termLine, termLine.replace("2026-08-18", "Aug 18")], expect: "reviewed_on must be YYYY-MM-DD" }, - { name: "bad_status", mutate: [termLine, termLine.replace("| current | file-", "| maybe | file-")], expect: "status must be current, deprecated, historical, or unknown" }, - { name: "bad_source_kind", mutate: [termLine, termLine.replace("`design-tool`", "`cool-tool`")], expect: "source must name a closed source kind or an aggregate marker" }, + { name: "valid", expected: null }, + { name: "valid_inverse", mutate: add(relation("b", "a", "narrower_than")), expected: null }, + { name: "separate_scope", mutate: add(relation("b", "a", "broader_than", "other-scope")), expected: null }, + { name: "valid_temporal", mutate: temporal, expected: null }, + { name: "valid_leap_date", mutate: change("2026-09-08", "2024-02-29"), expected: null }, + { name: "duplicate_term", mutate: change(terms[0], `${terms[0]}\n${terms[0]}`), expected: "duplicate term" }, + { name: "missing_label", mutate: change("| Alpha |", "| |"), expected: "missing label" }, + { name: "aggregate_source", mutate: change("[Example](https://example.org/terms/a) (`design-system`)", "multiple systems"), expected: "source must name one" }, + { name: "bad_source_kind", mutate: change("`design-system`", "`cool-tool`"), expected: "source must name one" }, + { name: "unsafe_source", mutate: change("https://example.org/terms/a", "javascript:alert"), expected: "source locator" }, + { name: "local_source_missing", mutate: change("https://example.org/terms/a", "missing.md"), expected: "source locator" }, + { name: "local_source_escape", mutate: change("https://example.org/terms/a", "../../outside.md"), expected: "source locator" }, + { name: "bad_status", mutate: change("| current |", "| maybe |"), expected: "status must be" }, + { name: "bad_date", mutate: change("2026-09-08", "Sep 8"), expected: "real YYYY-MM-DD" }, + { name: "impossible_day", mutate: change("2026-09-08", "2026-02-30"), expected: "real YYYY-MM-DD" }, + { name: "non_leap_day", mutate: change("2026-09-08", "2025-02-29"), expected: "real YYYY-MM-DD" }, + { name: "historical_scope_missing", mutate: change(terms[0], term("a", "Alpha", "historical").replace("version 2025.10", "unspecified era")), expected: "historical term requires" }, + { name: "unknown_relation", mutate: change("`broader_than`", "`overlaps`"), expected: "unknown relation type" }, + { name: "unrecorded_term", mutate: change(relations[0], relations[0].replace("`sample.b`", "`sample.ghost`")), expected: "to-term must be" }, + { name: "orphan_term", mutate: change(terms[0], `${terms[0]}\n${term("unused", "Unused")}`), expected: "orphan term" }, + { name: "self_relation", mutate: add(relation("a", "a", "broader_than")), expected: "self relation" }, + { name: "empty_boundary", mutate: change(relations[0], relation("a", "b", "broader_than", "catalog", "directional", "")), expected: "non-trivial scope" }, + { name: "empty_scope", mutate: change("| catalog |", "| |"), expected: "scope must be" }, + { name: "bad_direction", mutate: change("| directional |", "| symmetric |"), expected: "invalid direction" }, + { name: "duplicate_relation", mutate: add(relations[0]), expected: "duplicate or contradictory" }, + { name: "same_direction_contradiction", mutate: add(relation("a", "b", "narrower_than")), expected: "duplicate or contradictory" }, + { name: "reverse_contradiction", mutate: add(relation("b", "a", "broader_than")), expected: "conflicting reverse" }, + { name: "cycle_three_nodes", mutate: add(relation("c", "a", "broader_than")), expected: "containment cycle" }, + { name: "reverse_representation", mutate: add(relation("d", "c", "implementation_representation", "output")), expected: "conflicting reverse" }, + { name: "same_label_mismatch", mutate: change(relations[0], relation("a", "b", "same_label_different_meaning", "labels", "symmetric")), expected: "requires identical labels" }, + { name: "rename_without_event", mutate: (content) => temporal(content).replace("Example replaced Alpha with Beta in version 2025.10; the old label is historical.", "The source replaced this label at an unspecified point in its history."), expected: "time or version basis" }, + { name: "rename_across_sources", mutate: (content) => temporal(content).replace("[Example](https://example.org/terms/b)", "[Other](https://example.org/terms/b)"), expected: "one named source" }, + { name: "rename_current_source", mutate: (content) => temporal(content).replace("| historical |", "| current |"), expected: "temporal relation requires" }, + { name: "deprecation_status", mutate: (content) => temporal(content).replace("`renamed_to`", "`deprecated_in_favor_of`"), expected: "deprecation requires" }, + { name: "records_only_in_fence", mutate: (content) => `\x60\x60\x60md\n${content}\x60\x60\x60\n`, expected: "expected exactly one section" }, + { name: "records_only_in_comment", mutate: (content) => ``, expected: "expected exactly one section" }, + { name: "wrong_heading_level", mutate: change("## Term Records", "### Term Records"), expected: "expected exactly one section" }, + { name: "inline_heading", mutate: change("## Term Records", "text ## Term Records"), expected: "expected exactly one section" }, + { name: "duplicate_section", mutate: (content) => `${content}\n## Term Records\n`, expected: "expected exactly one section" }, + { name: "invalid_header", mutate: change("| From | To |", "| Start | End |"), expected: "unexpected table header" }, + { name: "empty_records", mutate: (content) => content.replace(terms.join("\n"), ""), expected: "missing records" }, ]; -let failures = 0; +const results = []; for (const testCase of cases) { - const dir = fs.mkdtempSync(path.join(os.tmpdir(), `sg-term-${testCase.name}-`)); - fs.mkdirSync(path.join(dir, "design-terminology"), { recursive: true }); - const content = testCase.mutate ? source.replace(testCase.mutate[0], testCase.mutate[1]) : source; - fs.writeFileSync(path.join(dir, "design-terminology/conflict-cases.md"), content); - const result = validateDesignTerminology({ root: dir }); - const passed = testCase.expect === null ? result.ok : !result.ok && result.failures.some((failure) => failure.includes(testCase.expect)); - if (!passed) { failures += 1; console.error(`FAIL ${testCase.name}:`, result.failures.slice(0, 3)); } - fs.rmSync(dir, { recursive: true, force: true }); + const root = fs.mkdtempSync(path.join(os.tmpdir(), `sg-term-${testCase.name}-`)); + try { + fs.mkdirSync(path.join(root, "design-terminology")); + fs.writeFileSync(path.join(root, "design-terminology/conflict-cases.md"), testCase.mutate ? testCase.mutate(base) : base); + const result = validateDesignTerminology({ root }); + const ok = testCase.expected === null ? result.ok : !result.ok && result.failures.some((failure) => failure.includes(testCase.expected)); + results.push({ name: testCase.name, ok, ...(!ok ? { actual: result.failures } : {}) }); + } finally { fs.rmSync(root, { recursive: true, force: true }); } } -console.log(JSON.stringify({ ok: failures === 0, cases: cases.length, failures })); -process.exitCode = failures === 0 ? 0 : 1; +const corpus = validateDesignTerminology(); +results.push({ name: "current_corpus", ok: corpus.ok, ...(!corpus.ok ? { actual: corpus.failures } : {}) }); +const report = { ok: results.every(({ ok }) => ok), cases: results.length, failures: results.filter(({ ok }) => !ok) }; +console.log(JSON.stringify(report, null, 2)); +process.exitCode = report.ok ? 0 : 1; diff --git a/scripts/test-validate-domains.mjs b/scripts/test-validate-domains.mjs index f3a23e2..48fcaaa 100644 --- a/scripts/test-validate-domains.mjs +++ b/scripts/test-validate-domains.mjs @@ -203,6 +203,84 @@ const baseFiles = { "CATALOG.md": "# Catalog\n", }; +const additionalLocalLeaves = { + "motion": [ + [ + "decision-tree.md", + "Motion Decision Tree" + ], + [ + "motion-brief.md", + "Motion Brief" + ], + [ + "interaction-recipes.md", + "Motion Interaction Recipes" + ] + ], + "design-engineering": [ + [ + "decision-tree.md", + "Design Engineering Decision Tree" + ], + [ + "component-contract.md", + "Component Contract" + ], + [ + "worked-examples.md", + "Design Engineering Worked Examples" + ] + ], + "game-ui": [ + [ + "decision-tree.md", + "Game UI Decision Tree" + ], + [ + "screen-recipes.md", + "Game UI Screen Recipes" + ], + [ + "verification-workflow.md", + "Game UI Verification Workflow" + ] + ], + "platform-guides": [ + [ + "adaptation-workflow.md", + "Platform Adaptation Workflow" + ], + [ + "android-interaction.md", + "Android Interaction As A Comparative Reference" + ], + [ + "windows-interaction.md", + "Windows Interaction As A Comparative Reference" + ], + [ + "compatibility-matrix.md", + "Platform Compatibility Matrix" + ] + ], + "design-terminology": [ + [ + "comparison-workflow.md", + "Design Term Comparison Workflow" + ] + ] +}; + +for (const [domain, leaves] of Object.entries(additionalLocalLeaves)) { + for (const [name, title] of leaves) { + baseFiles[`${domain}/${name}`] = leafPage({ title, domain, parent: "index.md", next: "../DOMAINS.md", provenanceKind: "local" }); + baseFiles[`${domain}/index.md`] += `\n- [${title}](${name})\n`; + } + baseFiles["DOMAINS.md"] = baseFiles["DOMAINS.md"].split("\n").map((line) => line.includes(`| \`${domain}/index.md\` |`) + ? `${line.slice(0, -2)}, ${leaves.map(([name]) => `\`${domain}/${name}\``).join(", ")} |` : line).join("\n"); +} + const cases = [ { name: "empty_manifest", mutate: ["DOMAINS.md", baseFiles["DOMAINS.md"], "# Empty manifest\n"], expect: "DOMAINS.md: missing canonical domain contract" }, { name: "manifest_extra_domain", mutate: ["DOMAINS.md", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |", "| Platform Guides | [Platform Guides](platform-guides/index.md) | `experimental` |\n| Other | [Other](other/index.md) | `experimental` |"], expect: "DOMAINS.md: missing canonical domain contract" }, diff --git a/scripts/validate-design-terminology.mjs b/scripts/validate-design-terminology.mjs index 12c50e8..6206950 100644 --- a/scripts/validate-design-terminology.mjs +++ b/scripts/validate-design-terminology.mjs @@ -1,103 +1,158 @@ #!/usr/bin/env node -// Validates Design Terminology record consistency in design-terminology/conflict-cases.md. -// Enforces the human contract in relation-types.md as machine rules: closed relation types, -// recorded terms on both sides of every relation, non-trivial boundaries, forbidden -// contradiction pairs, date/status shape, and no orphan terms. - +// Markdown remains the term-record source of truth. This checks record and graph +// consistency; it cannot prove the semantics of an external source or judgment. import fs from "node:fs"; import path from "node:path"; +import { fileURLToPath } from "node:url"; +import { structuralMarkdown } from "./markdown-structure.mjs"; const RELATION_TYPES = new Set([ "equivalent_within_scope", "near_equivalent", "partial_overlap", "broader_than", "narrower_than", "implementation_representation", "renamed_to", "deprecated_in_favor_of", "same_label_different_meaning", "not_comparable", ]); +const SYMMETRIC_TYPES = new Set(["equivalent_within_scope", "partial_overlap", "same_label_different_meaning", "not_comparable"]); const SOURCE_KINDS = new Set(["design-system", "platform-guideline", "specification", "design-tool", "pattern-library", "brand-style-guide", "web-platform"]); -const AGGREGATE_SOURCES = /^(multiple systems|industry history|industry usage|tool, code, tokens)/; const STATUSES = new Set(["current", "deprecated", "historical", "unknown"]); -const DATE = /^20\d\d-\d{2}-\d{2}$/; +const TERM_ID = /^[a-z][a-z0-9-]*(?:\.[a-z0-9-]+)+$/; +const identifier = (cell) => /^`([^`]+)`$/.exec(cell)?.[1]; +const validDate = (value) => /^20\d\d-\d{2}-\d{2}$/.test(value) + && Number.isFinite(Date.parse(`${value}T00:00:00Z`)) + && new Date(`${value}T00:00:00Z`).toISOString().slice(0, 10) === value; + +function table(content, heading, expectedHeader, failures) { + const sections = content.split(new RegExp(`^## ${heading}\\s*$`, "m")); + if (sections.length !== 2) { + failures.push(`${heading}: expected exactly one section`); + return []; + } + const rows = sections[1].split("\n## ")[0].split("\n") + .filter((line) => /^\|.*\|\s*$/.test(line.trim())) + .map((line) => line.trim().slice(1, -1).split("|").map((cell) => cell.trim())); + if (JSON.stringify(rows[0]) !== JSON.stringify(expectedHeader)) failures.push(`${heading}: unexpected table header`); + if (!rows[1]?.every((cell) => /^:?-+:?$/.test(cell)) || rows[1]?.length !== expectedHeader.length) { + failures.push(`${heading}: missing table separator`); + } + const records = rows.slice(2); + if (records.length === 0) failures.push(`${heading}: missing records`); + return records; +} + +function validLocator(locator, root) { + if (!locator) return false; + if (locator.startsWith("https://")) { + try { + const url = new URL(locator); + return Boolean(url.hostname) && !url.username && !url.password; + } catch { return false; } + } + if (/[\\\s]/.test(locator) || /^[a-z]+:/i.test(locator) || locator.startsWith("/")) return false; + const target = path.resolve(root, "design-terminology", locator.split(/[?#]/)[0]); + return target.startsWith(`${path.resolve(root)}${path.sep}`) && fs.existsSync(target) && fs.statSync(target).isFile(); +} + +function hasCycle(edges) { + const visited = new Set(); + const visiting = new Set(); + function visit(node) { + if (visiting.has(node)) return true; + if (visited.has(node)) return false; + visiting.add(node); + for (const next of edges.get(node) ?? []) if (visit(next)) return true; + visiting.delete(node); + visited.add(node); + return false; + } + return [...edges.keys()].some(visit); +} export function validateDesignTerminology({ root = process.cwd() } = {}) { const failures = []; const relative = "design-terminology/conflict-cases.md"; const target = path.join(root, relative); - if (!fs.existsSync(target)) { - return { ok: false, terms: 0, relations: 0, failures: [`${relative}: missing file`] }; - } - const content = fs.readFileSync(target, "utf8"); - const section = (heading) => content.split(`## ${heading}`)[1]?.split("\n## ")[0] ?? ""; - const rows = (body) => body.split("\n") - .filter((line) => /^\|.*\|\s*$/.test(line.trim())) - .map((line) => line.trim().slice(1, -1).split("|").map((cell) => cell.trim())) - .filter((row) => !row.every((cell) => /^:?-+:?$/.test(cell))) - .slice(1); - const codeTokens = (text) => [...text.matchAll(/`([^`]+)`/g)].map((match) => match[1]); - - const termRows = rows(section("Term Records")); + if (!fs.existsSync(target)) return { ok: false, terms: 0, relations: 0, failures: [`${relative}: missing file`] }; + const content = structuralMarkdown(fs.readFileSync(target, "utf8")); + const termRows = table(content, "Term Records", ["Term", "Label", "Source (kind)", "Concept", "Status", "Scope", "Reviewed on"], failures); const terms = new Map(); termRows.forEach((row, index) => { const location = `${relative} term row ${index + 1}`; - if (row.length !== 6) { failures.push(`${location}: expected 6 columns`); return; } - const [termCell, sourceCell, concept, status, scope, reviewed] = row; - const tokens = codeTokens(termCell); - if (tokens.length === 0) failures.push(`${location}: term must carry a backticked identifier`); - const kindTokens = codeTokens(sourceCell).filter((token) => SOURCE_KINDS.has(token)); - if (kindTokens.length === 0 && !AGGREGATE_SOURCES.test(sourceCell)) { - failures.push(`${location}: source must name a closed source kind or an aggregate marker`); - } - if (kindTokens.length > 1) failures.push(`${location}: source must carry exactly one source kind`); + if (row.length !== 7) { failures.push(`${location}: expected 7 columns`); return; } + const [termCell, label, sourceCell, concept, status, scope, reviewed] = row; + const id = identifier(termCell); + const source = /^\[([^\]]+)\]\(([^)]+)\)\s+\(`([^`]+)`\)$/.exec(sourceCell); + if (!id || !TERM_ID.test(id)) failures.push(`${location}: term must carry one source-qualified identifier`); + if (terms.has(id)) failures.push(`${location}: duplicate term ${id}`); + if (!label) failures.push(`${location}: missing label`); + if (!source || !SOURCE_KINDS.has(source[3])) failures.push(`${location}: source must name one closed source kind and direct locator`); + if (!validLocator(source?.[2], root)) failures.push(`${location}: source locator must be HTTPS or an existing repository document`); if (!concept) failures.push(`${location}: missing concept`); if (!STATUSES.has(status)) failures.push(`${location}: status must be current, deprecated, historical, or unknown`); if (!scope) failures.push(`${location}: missing scope`); - if (!DATE.test(reviewed)) failures.push(`${location}: reviewed_on must be YYYY-MM-DD`); - for (const token of tokens.slice(0, 1)) terms.set(token, location); + if (!validDate(reviewed)) failures.push(`${location}: reviewed_on must be a real YYYY-MM-DD date`); + if (status === "historical" && !/\b(?:19|20)\d{2}\b|\bversion\b|\bdraft\b/i.test(scope)) failures.push(`${location}: historical term requires a dated or versioned scope`); + if (id && !terms.has(id)) terms.set(id, { label, source: source?.[1], concept, scope, status }); }); - const relationRows = rows(section("Recorded Relations")); + const relationRows = table(content, "Recorded Relations", ["From", "To", "Type", "Scope", "Direction", "Boundary", "Reviewed on"], failures); const pairs = new Map(); + const used = new Set(); + const hierarchies = new Map(); relationRows.forEach((row, index) => { const location = `${relative} relation row ${index + 1}`; - if (row.length !== 4) { failures.push(`${location}: expected 4 columns`); return; } - const [fromCell, toCell, typeCell, boundary] = row; - const type = typeCell.replaceAll("`", ""); - if (!RELATION_TYPES.has(type)) failures.push(`${location}: unknown relation type ${type}`); - const from = codeTokens(fromCell)[0]; - const to = codeTokens(toCell)[0]; - if (!from || !terms.has(from)) failures.push(`${location}: from-term must be a recorded term`); - if (!to || !terms.has(to)) failures.push(`${location}: to-term must be a recorded term`); - if (!boundary || boundary === type) failures.push(`${location}: boundary must be a non-trivial scope statement`); - if ((type === "renamed_to" || type === "deprecated_in_favor_of") && !/\b(19|20)\d\d\b/.test(boundary)) { - failures.push(`${location}: ${type} requires a time or version basis in the boundary`); + if (row.length !== 7) { failures.push(`${location}: expected 7 columns`); return; } + const [fromCell, toCell, typeCell, scope, direction, boundary, reviewed] = row; + const from = identifier(fromCell); + const to = identifier(toCell); + const type = identifier(typeCell); + if (!RELATION_TYPES.has(type)) failures.push(`${location}: unknown relation type ${type ?? typeCell}`); + if (!terms.has(from)) failures.push(`${location}: from-term must be a recorded term`); + if (!terms.has(to)) failures.push(`${location}: to-term must be a recorded term`); + if (from && from === to) failures.push(`${location}: self relation is forbidden`); + if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(scope)) failures.push(`${location}: scope must be a non-empty kebab-case identifier`); + const allowedDirections = type === "near_equivalent" ? ["symmetric", "directional"] : [SYMMETRIC_TYPES.has(type) ? "symmetric" : "directional"]; + if (!allowedDirections.includes(direction)) failures.push(`${location}: invalid direction for ${type}`); + if (boundary.length < 20 || boundary.replaceAll("`", "") === type) failures.push(`${location}: boundary must be a non-trivial scope statement`); + if (!validDate(reviewed)) failures.push(`${location}: reviewed_on must be a real YYYY-MM-DD date`); + if (type === "same_label_different_meaning" && terms.has(from) && terms.has(to)) { + const a = terms.get(from); + const b = terms.get(to); + if (a.label !== b.label) failures.push(`${location}: same_label_different_meaning requires identical labels`); + if (a.concept === b.concept && a.scope === b.scope) failures.push(`${location}: same_label_different_meaning requires distinct meaning or scope`); } - if (from && to) { - const key = `${from}->${to}`; - const reverseKey = `${to}->${from}`; - const existing = pairs.get(key); - if (existing === type) failures.push(`${location}: duplicate relation for ${key}`); - if (type === "broader_than" && existing === "narrower_than") failures.push(`${location}: ${key} cannot record broader_than and narrower_than together`); - if (type === "narrower_than" && existing === "broader_than") failures.push(`${location}: ${key} cannot record narrower_than and broader_than together`); - if (type === "equivalent_within_scope" && existing === "not_comparable") failures.push(`${location}: ${key} cannot record equivalent_within_scope and not_comparable together`); - if (type === "not_comparable" && existing === "equivalent_within_scope") failures.push(`${location}: ${key} cannot record not_comparable and equivalent_within_scope together`); - if (type === "broader_than" && pairs.get(reverseKey) === "broader_than") failures.push(`${location}: ${key} conflicts with reverse broader_than`); - pairs.set(key, type); - for (const token of [from, to]) { - const count = relationRows.filter((other) => codeTokens(other[0])[0] === token || codeTokens(other[1])[0] === token).length; - terms.set(token, `${token} referenced ${count}`); + if (type === "renamed_to" || type === "deprecated_in_favor_of") { + if (!/\b(?:19|20)\d{2}\b|\bv\d+\.\d+|\bversion\s+\d/i.test(boundary)) failures.push(`${location}: ${type} requires a time or version basis in the boundary`); + const a = terms.get(from); + const b = terms.get(to); + if (a && b) { + if (!["historical", "deprecated"].includes(a.status) || b.status !== "current") failures.push(`${location}: temporal relation requires historical/deprecated source and current replacement`); + if (type === "deprecated_in_favor_of" && a.status !== "deprecated") failures.push(`${location}: deprecation requires deprecated from-term`); + if (type === "renamed_to" && (a.source !== b.source || a.label === b.label)) failures.push(`${location}: rename requires one named source and different labels`); } } + if (!terms.has(from) || !terms.has(to)) return; + used.add(from); + used.add(to); + const key = JSON.stringify([from, to, scope]); + const reverse = pairs.get(JSON.stringify([to, from, scope])); + if (pairs.has(key)) failures.push(`${location}: duplicate or contradictory relation for ${from}->${to} in ${scope}`); + if (reverse) { + const inverse = type === "broader_than" ? "narrower_than" : type === "narrower_than" ? "broader_than" : direction === "symmetric" ? type : null; + if (reverse.type !== inverse || reverse.direction !== direction) failures.push(`${location}: conflicting reverse relation in ${scope}`); + } + pairs.set(key, { type, direction }); + if (type === "broader_than" || type === "narrower_than") { + const graph = hierarchies.get(scope) ?? new Map(); + const [parent, child] = type === "broader_than" ? [from, to] : [to, from]; + graph.set(parent, new Set([...(graph.get(parent) ?? []), child])); + hierarchies.set(scope, graph); + } }); - - for (const [token] of terms) { - const used = relationRows.some((row) => codeTokens(row[0])[0] === token || codeTokens(row[1])[0] === token); - if (!used) failures.push(`${relative}: orphan term ${token} has no recorded relation`); - } - if (termRows.length === 0) failures.push(`${relative}: missing Term Records rows`); - if (relationRows.length === 0) failures.push(`${relative}: missing Recorded Relations rows`); - + for (const [scope, graph] of hierarchies) if (hasCycle(graph)) failures.push(`${relative}: containment cycle in ${scope}`); + for (const id of terms.keys()) if (!used.has(id)) failures.push(`${relative}: orphan term ${id} has no recorded relation`); return { ok: failures.length === 0, terms: termRows.length, relations: relationRows.length, failures: [...new Set(failures)] }; } -const isMain = process.argv[1] && path.resolve(process.argv[1]).endsWith("validate-design-terminology.mjs"); +const isMain = process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url); if (isMain) { const result = validateDesignTerminology(); if (process.argv.includes("--json")) console.log(JSON.stringify(result, null, 2)); diff --git a/scripts/validate-domains.mjs b/scripts/validate-domains.mjs index 8fc5004..676fe5a 100644 --- a/scripts/validate-domains.mjs +++ b/scripts/validate-domains.mjs @@ -57,6 +57,9 @@ export const canonicalDomains = [ { path: "motion/vocabulary.md", provenance: "external", sourcePath: "skills/animation-vocabulary/SKILL.md" }, { path: "motion/review-workflow.md", provenance: "external", sourcePath: "skills/review-animations/SKILL.md" }, { path: "motion/practice-reference.md", provenance: "external", sourcePath: "skills/review-animations/STANDARDS.md" }, + { path: "motion/decision-tree.md", provenance: "local" }, + { path: "motion/motion-brief.md", provenance: "local" }, + { path: "motion/interaction-recipes.md", provenance: "local" }, ], }, { @@ -65,6 +68,9 @@ export const canonicalDomains = [ leaves: [ { path: "design-engineering/interface-craft.md", provenance: "external", sourcePath: "skills/emil-design-eng/SKILL.md" }, { path: "design-engineering/consumer-migration-readiness.md", provenance: "local" }, + { path: "design-engineering/decision-tree.md", provenance: "local" }, + { path: "design-engineering/component-contract.md", provenance: "local" }, + { path: "design-engineering/worked-examples.md", provenance: "local" }, ], referenceDocuments, }, @@ -80,12 +86,21 @@ export const canonicalDomains = [ { path: "game-ui/unity/cli-loop.md", provenance: "external", sourcePath: "README.md" }, { path: "game-ui/unity/repository-map.md", provenance: "repository" }, { path: "game-ui/unity/org-wiki.md", provenance: "repository" }, + { path: "game-ui/decision-tree.md", provenance: "local" }, + { path: "game-ui/screen-recipes.md", provenance: "local" }, + { path: "game-ui/verification-workflow.md", provenance: "local" }, ], }, { slug: "platform-guides", label: "Platform Guides", - leaves: [{ path: "platform-guides/apple-interaction.md", provenance: "external", sourcePath: "skills/apple-design/SKILL.md" }], + leaves: [ + { path: "platform-guides/apple-interaction.md", provenance: "external", sourcePath: "skills/apple-design/SKILL.md" }, + { path: "platform-guides/adaptation-workflow.md", provenance: "local" }, + { path: "platform-guides/android-interaction.md", provenance: "local" }, + { path: "platform-guides/windows-interaction.md", provenance: "local" }, + { path: "platform-guides/compatibility-matrix.md", provenance: "local" }, + ], }, { slug: "design-terminology", @@ -96,6 +111,7 @@ export const canonicalDomains = [ { path: "design-terminology/concept-families.md", provenance: "repository" }, { path: "design-terminology/relation-types.md", provenance: "repository" }, { path: "design-terminology/conflict-cases.md", provenance: "repository" }, + { path: "design-terminology/comparison-workflow.md", provenance: "local" }, ], }, ]; From ecae83b4c041b35d99582ecf8e343057a66c4e7d Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 8 Sep 2026 13:05:01 +0900 Subject: [PATCH 09/10] fix(governance): refresh active source and workflow bindings --- .../agent-native/v2/material-registry.json | 2 +- .../policies/lifecycle-a2a-extension.json | 62 ++++++------ .../policies/lifecycle-ag-ui-extension.json | 94 +++++++++---------- .../lifecycle-page-evidence-adoption.json | 6 +- .../lifecycle-sentinel-calibration.json | 4 +- log.md | 1 + scripts/validate-lifecycle-disposition.mjs | 10 +- 7 files changed, 90 insertions(+), 89 deletions(-) diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index 62f52bb..a0ca6e7 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6853,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":5672,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/component-contract.md","schema_version":"2.0","source_sha256":"eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4","stable_ref":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278","version_id":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278@sha256:eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":7416,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8"},{"byte_length":4671,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/motion-brief.md","schema_version":"2.0","source_sha256":"01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf","stable_ref":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137","version_id":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137@sha256:01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":5802,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/verification-workflow.md","schema_version":"2.0","source_sha256":"3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7","stable_ref":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d","version_id":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d@sha256:3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":4381,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/decision-tree.md","schema_version":"2.0","source_sha256":"8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f","stable_ref":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103","version_id":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103@sha256:8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":5815,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/compatibility-matrix.md","schema_version":"2.0","source_sha256":"924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671","stable_ref":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85","version_id":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85@sha256:924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1918,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":6552,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"56203ac3eb8832e3fa2191f83461b8f9c45eb8868ad58eef853032ef495f48ad","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:56203ac3eb8832e3fa2191f83461b8f9c45eb8868ad58eef853032ef495f48ad"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":4985,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/android-interaction.md","schema_version":"2.0","source_sha256":"a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332","stable_ref":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89","version_id":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89@sha256:a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":7646,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-recipes.md","schema_version":"2.0","source_sha256":"34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb","stable_ref":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461","version_id":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461@sha256:34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb"},{"byte_length":8158,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":6749,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/interaction-recipes.md","schema_version":"2.0","source_sha256":"6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821","stable_ref":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e","version_id":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e@sha256:6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821"},{"byte_length":4104,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":6107,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/comparison-workflow.md","schema_version":"2.0","source_sha256":"33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4","stable_ref":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d","version_id":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d@sha256:33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4"},{"byte_length":4989,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/windows-interaction.md","schema_version":"2.0","source_sha256":"f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d","stable_ref":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32","version_id":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32@sha256:f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d"},{"byte_length":20266,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38"},{"byte_length":7121,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a"},{"byte_length":4802,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/adaptation-workflow.md","schema_version":"2.0","source_sha256":"8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece","stable_ref":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561","version_id":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561@sha256:8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece"},{"byte_length":31273,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526"},{"byte_length":2082,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba"},{"byte_length":6870,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/worked-examples.md","schema_version":"2.0","source_sha256":"0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1","stable_ref":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0","version_id":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0@sha256:0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":4646,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/decision-tree.md","schema_version":"2.0","source_sha256":"4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb","stable_ref":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa","version_id":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa@sha256:4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":8221,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":3433,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9887,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1668,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":6167,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1"},{"byte_length":4863,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/decision-tree.md","schema_version":"2.0","source_sha256":"d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4","stable_ref":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15","version_id":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15@sha256:d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:50a620535c9cffda9a1d203685776bf7bcbca0b4bb2a40f0e8275405bc689177"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6853,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":5672,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/component-contract.md","schema_version":"2.0","source_sha256":"eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4","stable_ref":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278","version_id":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278@sha256:eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":7416,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8"},{"byte_length":4671,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/motion-brief.md","schema_version":"2.0","source_sha256":"01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf","stable_ref":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137","version_id":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137@sha256:01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":5802,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/verification-workflow.md","schema_version":"2.0","source_sha256":"3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7","stable_ref":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d","version_id":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d@sha256:3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":4381,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/decision-tree.md","schema_version":"2.0","source_sha256":"8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f","stable_ref":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103","version_id":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103@sha256:8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":5815,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/compatibility-matrix.md","schema_version":"2.0","source_sha256":"924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671","stable_ref":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85","version_id":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85@sha256:924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1918,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":6927,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":4985,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/android-interaction.md","schema_version":"2.0","source_sha256":"a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332","stable_ref":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89","version_id":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89@sha256:a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":7646,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-recipes.md","schema_version":"2.0","source_sha256":"34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb","stable_ref":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461","version_id":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461@sha256:34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb"},{"byte_length":8158,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":6749,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/interaction-recipes.md","schema_version":"2.0","source_sha256":"6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821","stable_ref":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e","version_id":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e@sha256:6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821"},{"byte_length":4104,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":6107,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/comparison-workflow.md","schema_version":"2.0","source_sha256":"33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4","stable_ref":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d","version_id":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d@sha256:33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4"},{"byte_length":4989,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/windows-interaction.md","schema_version":"2.0","source_sha256":"f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d","stable_ref":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32","version_id":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32@sha256:f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d"},{"byte_length":20266,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38"},{"byte_length":7121,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a"},{"byte_length":4802,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/adaptation-workflow.md","schema_version":"2.0","source_sha256":"8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece","stable_ref":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561","version_id":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561@sha256:8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece"},{"byte_length":31273,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526"},{"byte_length":2082,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba"},{"byte_length":6870,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/worked-examples.md","schema_version":"2.0","source_sha256":"0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1","stable_ref":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0","version_id":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0@sha256:0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":4646,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/decision-tree.md","schema_version":"2.0","source_sha256":"4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb","stable_ref":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa","version_id":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa@sha256:4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":8221,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":3433,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9887,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1668,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":6167,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1"},{"byte_length":4863,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/decision-tree.md","schema_version":"2.0","source_sha256":"d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4","stable_ref":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15","version_id":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15@sha256:d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:b1970e0c91e13ffe6c5d7ddf29aa806ef1b68b1b5834db46ac1d481ee972a55f"} \ No newline at end of file diff --git a/consumer-reference/policies/lifecycle-a2a-extension.json b/consumer-reference/policies/lifecycle-a2a-extension.json index c2e334a..c173f65 100644 --- a/consumer-reference/policies/lifecycle-a2a-extension.json +++ b/consumer-reference/policies/lifecycle-a2a-extension.json @@ -94,8 +94,8 @@ "scripts/test-lifecycle-disposition.mjs", "scripts/validate-lifecycle-disposition.mjs" ], - "scanned_file_count": 404, - "scanned_paths_content_id": "sha256:f703200abad74add6fa9be06d1a6cc767726113cdd5ac4b92e6dadc9c354cee0" + "scanned_file_count": 434, + "scanned_paths_content_id": "sha256:367fba8ff91535f0d13ea9e95bb5b53d17874cda8c48bf5fa62b22d28d1d92b6" }, "implementation": { "path": "scripts/agent-native/v2/extensions/a2a-projection.mjs", @@ -113,12 +113,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 157 + "end": 168 }, - "file_sha256": "959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", - "content_id": "sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", + "file_sha256": "6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", + "content_id": "sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", "reference_lines": [ - 130 + 141 ], "reference_kinds": [ "documentation_reference" @@ -145,13 +145,13 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 253 + "end": 274 }, - "file_sha256": "55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", - "content_id": "sha256:55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", + "file_sha256": "73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", + "content_id": "sha256:73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", "reference_lines": [ - 170, - 186 + 191, + 207 ], "reference_kinds": [ "forwarder_path", @@ -262,12 +262,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 129 + "end": 142 }, - "file_sha256": "567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", - "content_id": "sha256:567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", + "file_sha256": "4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", + "content_id": "sha256:4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", "reference_lines": [ - 77 + 86 ], "reference_kinds": [ "forwarder_path", @@ -279,12 +279,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 209 + "end": 256 }, - "file_sha256": "897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", - "content_id": "sha256:897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", + "file_sha256": "92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", + "content_id": "sha256:92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", "reference_lines": [ - 48 + 53 ], "reference_kinds": [ "forwarder_path", @@ -379,20 +379,20 @@ "role": "projection_adapter_conformance_test", "lines": { "start": 1, - "end": 129 + "end": 142 }, - "file_sha256": "567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", - "content_id": "sha256:567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982" + "file_sha256": "4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", + "content_id": "sha256:4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27" }, { "path": "scripts/agent-native/v2/test-sg-material-package.mjs", "role": "projection_adapter_conformance_test", "lines": { "start": 1, - "end": 209 + "end": 256 }, - "file_sha256": "897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", - "content_id": "sha256:897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c" + "file_sha256": "92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", + "content_id": "sha256:92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af" } ], "docs_and_registry": [ @@ -401,10 +401,10 @@ "role": "documentation", "lines": { "start": 1, - "end": 157 + "end": 168 }, - "file_sha256": "959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", - "content_id": "sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e" + "file_sha256": "6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", + "content_id": "sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e" }, { "path": "consumer-reference/agent-native/registry.json", @@ -432,10 +432,10 @@ "role": "installed_package_exposure", "lines": { "start": 1, - "end": 253 + "end": 274 }, - "file_sha256": "55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", - "content_id": "sha256:55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca" + "file_sha256": "73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", + "content_id": "sha256:73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d" }, "forwarding": { "path": "scripts/agent-native/a2a-projection.mjs", diff --git a/consumer-reference/policies/lifecycle-ag-ui-extension.json b/consumer-reference/policies/lifecycle-ag-ui-extension.json index e57256b..68944d7 100644 --- a/consumer-reference/policies/lifecycle-ag-ui-extension.json +++ b/consumer-reference/policies/lifecycle-ag-ui-extension.json @@ -94,8 +94,8 @@ "scripts/test-lifecycle-disposition.mjs", "scripts/validate-lifecycle-disposition.mjs" ], - "scanned_file_count": 404, - "scanned_paths_content_id": "sha256:f703200abad74add6fa9be06d1a6cc767726113cdd5ac4b92e6dadc9c354cee0" + "scanned_file_count": 434, + "scanned_paths_content_id": "sha256:367fba8ff91535f0d13ea9e95bb5b53d17874cda8c48bf5fa62b22d28d1d92b6" }, "implementation": { "path": "scripts/agent-native/v2/extensions/agui-projection.mjs", @@ -113,12 +113,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 165 + "end": 166 }, - "file_sha256": "67571ee3b85430f17999189a52fc3ed871aab135e7e5127f63ee57b2ce11cd19", - "content_id": "sha256:67571ee3b85430f17999189a52fc3ed871aab135e7e5127f63ee57b2ce11cd19", + "file_sha256": "fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595", + "content_id": "sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595", "reference_lines": [ - 21 + 22 ], "reference_kinds": [ "documentation_reference" @@ -129,14 +129,14 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 223 + "end": 231 }, - "file_sha256": "b892e0df464b0527b50b201830db7ab87507069862281e7781ad1eecb56f77b7", - "content_id": "sha256:b892e0df464b0527b50b201830db7ab87507069862281e7781ad1eecb56f77b7", + "file_sha256": "e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526", + "content_id": "sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526", "reference_lines": [ 28, - 82, - 84 + 89, + 91 ], "reference_kinds": [ "documentation_reference" @@ -147,16 +147,16 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 157 + "end": 168 }, - "file_sha256": "959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", - "content_id": "sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", + "file_sha256": "6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", + "content_id": "sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", "reference_lines": [ 25, - 128, - 131, - 132, - 144 + 139, + 142, + 143, + 155 ], "reference_kinds": [ "documentation_reference" @@ -183,12 +183,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 57 + "end": 77 }, - "file_sha256": "ebbaf9b22d6924714a1bb6069bab4622ffe9fd0aad76c6cf718cd76cff7b2eb9", - "content_id": "sha256:ebbaf9b22d6924714a1bb6069bab4622ffe9fd0aad76c6cf718cd76cff7b2eb9", + "file_sha256": "15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2", + "content_id": "sha256:15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2", "reference_lines": [ - 13 + 33 ], "reference_kinds": [ "documentation_reference" @@ -199,13 +199,13 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 253 + "end": 274 }, - "file_sha256": "55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", - "content_id": "sha256:55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", + "file_sha256": "73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", + "content_id": "sha256:73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", "reference_lines": [ - 171, - 187 + 192, + 208 ], "reference_kinds": [ "forwarder_path", @@ -306,12 +306,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 129 + "end": 142 }, - "file_sha256": "567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", - "content_id": "sha256:567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", + "file_sha256": "4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", + "content_id": "sha256:4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", "reference_lines": [ - 78 + 87 ], "reference_kinds": [ "forwarder_path", @@ -323,12 +323,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 209 + "end": 256 }, - "file_sha256": "897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", - "content_id": "sha256:897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", + "file_sha256": "92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", + "content_id": "sha256:92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", "reference_lines": [ - 49 + 54 ], "reference_kinds": [ "forwarder_path", @@ -422,20 +422,20 @@ "role": "projection_adapter_conformance_test", "lines": { "start": 1, - "end": 129 + "end": 142 }, - "file_sha256": "567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982", - "content_id": "sha256:567a55b72d1133fba49f81d3e2ece3352e7687a0081cbf0a80803005b7a7e982" + "file_sha256": "4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27", + "content_id": "sha256:4d589470e789d637a7f690c24e4ae6eab2ca3cf785fa1b2f85859dea5dcf1d27" }, { "path": "scripts/agent-native/v2/test-sg-material-package.mjs", "role": "projection_adapter_conformance_test", "lines": { "start": 1, - "end": 209 + "end": 256 }, - "file_sha256": "897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c", - "content_id": "sha256:897b2d4ea14dc8ab3b06b5a0a2bbf4aa22f3e9e33b2602bd82ca46ea5405033c" + "file_sha256": "92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af", + "content_id": "sha256:92cc9cb0913cd86d23fc46de6e7989d01cc2a56ece7610ba1baf8bc75f2124af" } ], "docs_and_registry": [ @@ -444,10 +444,10 @@ "role": "documentation", "lines": { "start": 1, - "end": 157 + "end": 168 }, - "file_sha256": "959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e", - "content_id": "sha256:959509d4539f4b7bb7d193bfdfb949b4cf25ab53317e072aaad7657f04b8779e" + "file_sha256": "6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e", + "content_id": "sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e" }, { "path": "consumer-reference/agent-native/registry.json", @@ -475,10 +475,10 @@ "role": "installed_package_exposure", "lines": { "start": 1, - "end": 253 + "end": 274 }, - "file_sha256": "55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca", - "content_id": "sha256:55a7787aa01b8d954782a24efd1df197231c67b776312fde861046aedafa9bca" + "file_sha256": "73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d", + "content_id": "sha256:73fa498c2ae3fe0f4e5665cc46e75fee3f89d8a82fc97613236f359e57a23d7d" }, "forwarding": { "path": "scripts/agent-native/agui-projection.mjs", diff --git a/consumer-reference/policies/lifecycle-page-evidence-adoption.json b/consumer-reference/policies/lifecycle-page-evidence-adoption.json index a03a483..c696956 100644 --- a/consumer-reference/policies/lifecycle-page-evidence-adoption.json +++ b/consumer-reference/policies/lifecycle-page-evidence-adoption.json @@ -39,8 +39,8 @@ "workflow": { "path": ".github/workflows/validate.yml", "mode": "100644", - "active_sha256": "846417a45a462a51ba28028621ff9fe82cf018be15b8a433a661d7d0d7af3017", - "retired_sha256": "e68fe15654d5830d918e8adfda4b8dcedcb0340b286d6e42058831c1d1c44f58", + "active_sha256": "b7aac452ac49ec1bc287ef3d75efe3806895eb147172b106634394f413a520fc", + "retired_sha256": "5f709d829e5008b9a0b101ac519454a64cb938b40b0c03cf645ee1d779e8038b", "job_id": "consumer-page-evidence", "job_name": "Consumer page-evidence raster capture (nonblocking)", "job_sha256": "11d0fe7ea2880c5d32d32bb419493600afdfd221aef728f3c0e36e22cf52b116", @@ -163,7 +163,7 @@ { "path": "quality/evidence/executable-evidence.md", "mode": "100644", - "sha256": "a0ae7f2c355ab26293cdb9e96b31d91d50a024ed404aa0c8297a65b91af73a33", + "sha256": "fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1", "role": "archive_and_retrieval_documentation" }, { diff --git a/consumer-reference/policies/lifecycle-sentinel-calibration.json b/consumer-reference/policies/lifecycle-sentinel-calibration.json index 8ac1ef8..0c29580 100644 --- a/consumer-reference/policies/lifecycle-sentinel-calibration.json +++ b/consumer-reference/policies/lifecycle-sentinel-calibration.json @@ -53,8 +53,8 @@ "workflow": { "path": ".github/workflows/validate.yml", "mode": "100644", - "active_sha256": "846417a45a462a51ba28028621ff9fe82cf018be15b8a433a661d7d0d7af3017", - "retired_sha256": "421c63222db3dfb5af03630c437a4b8b0f755a6146abec4e5d213eb2b0369620", + "active_sha256": "b7aac452ac49ec1bc287ef3d75efe3806895eb147172b106634394f413a520fc", + "retired_sha256": "e1d2cc248efdad81267326fdf2706335a7d4e6f4e271f05a37904102313b347b", "job_id": "chromium-calibration", "job_name": "Chromium 20-run calibration (nonblocking)", "job_sha256": "86228e7fb44c2ba5d0abe160d6bd3c4f5228e7c1ec40189b3b4f528acfd45e62", diff --git a/log.md b/log.md index c172ef7..62339ce 100644 --- a/log.md +++ b/log.md @@ -9,6 +9,7 @@ - Follow-up runtime work added the [Interaction Lab](examples/domain-interactions/README.md), a standalone web adaptation with explicit mock responses. Its [verification notes](examples/domain-interactions/verification.md) bind actual browser observations to local source hashes and separate desktop execution from simulated viewport sizes, untested mobile devices, and untested native engines. Fixed the lab's modal Tab boundary after observing focus escape in the real browser. - Fixed the v1 compatibility suite's stale README digest. Commit `d8bdf0bd5b5aec2fbc38e322a9ac7a1d31fd1332` had added material-v2 guidance and corrected the domain count without updating the test. The exact reviewed documentation digest is now checked separately; all 21 original core/source pins and six CLI output goldens remain unchanged. `npm run test:agent-native` passes. +- Integrated the current domain lifecycle policy from `main`: reader tasks and adoption counts do not authorize or block domain promotion. Refreshed active workflow/document seals and source-generated protocol inventories for the added validation and documentation; preserved job bytes, lifecycle decisions, external caller status, deadlines, and immutable archive bindings. Implementation handoff: `consumer_reference: consumer-reference/agent-native/registry.json`. diff --git a/scripts/validate-lifecycle-disposition.mjs b/scripts/validate-lifecycle-disposition.mjs index ef96d80..30e5c66 100644 --- a/scripts/validate-lifecycle-disposition.mjs +++ b/scripts/validate-lifecycle-disposition.mjs @@ -57,8 +57,8 @@ const OWNER_TRUST_ROOT = Object.freeze({ }); const AUTHORIZED_APPROVAL_COMMITS = Object.freeze([]); const SENTINEL_WORKFLOW_PATH = ".github/workflows/validate.yml"; -const SENTINEL_ACTIVE_WORKFLOW_SHA256 = "846417a45a462a51ba28028621ff9fe82cf018be15b8a433a661d7d0d7af3017"; -const SENTINEL_RETIRED_WORKFLOW_SHA256 = "421c63222db3dfb5af03630c437a4b8b0f755a6146abec4e5d213eb2b0369620"; +const SENTINEL_ACTIVE_WORKFLOW_SHA256 = "b7aac452ac49ec1bc287ef3d75efe3806895eb147172b106634394f413a520fc"; +const SENTINEL_RETIRED_WORKFLOW_SHA256 = "e1d2cc248efdad81267326fdf2706335a7d4e6f4e271f05a37904102313b347b"; const SENTINEL_JOB_SHA256 = "86228e7fb44c2ba5d0abe160d6bd3c4f5228e7c1ec40189b3b4f528acfd45e62"; const SENTINEL_PROTECTED = Object.freeze([ ["consumer-reference/baselines/calibration.json", "b537b0c3acb3ac55e4b926b1d12b41d2cb8050a85de2410ad4b42e1b7b53f88e", "raw_20_run_aggregate_and_provenance"], @@ -80,8 +80,8 @@ const SENTINEL_PROTECTED = Object.freeze([ ["tests/helpers/render-consumer-reference.mjs", "88802a948909d5e40470be6b5481766ce2de498e59c053ac68af370b46e72ca9", "sentinel_renderer_source"], ["tests/snapshots/consumer-reference-card-grid.png", "5528358e957a6115793155e501f62716f7db31dc1c86856d9e1234868d672837", "historical_baseline_bytes"], ]);const PAGE_WORKFLOW_PATH = ".github/workflows/validate.yml"; -const PAGE_ACTIVE_WORKFLOW_SHA256 = "846417a45a462a51ba28028621ff9fe82cf018be15b8a433a661d7d0d7af3017"; -const PAGE_RETIRED_WORKFLOW_SHA256 = "e68fe15654d5830d918e8adfda4b8dcedcb0340b286d6e42058831c1d1c44f58"; +const PAGE_ACTIVE_WORKFLOW_SHA256 = "b7aac452ac49ec1bc287ef3d75efe3806895eb147172b106634394f413a520fc"; +const PAGE_RETIRED_WORKFLOW_SHA256 = "5f709d829e5008b9a0b101ac519454a64cb938b40b0c03cf645ee1d779e8038b"; const PAGE_JOB_SHA256 = "11d0fe7ea2880c5d32d32bb419493600afdfd221aef728f3c0e36e22cf52b116"; const PAGE_SYNTHETIC_REPOSITORIES = Object.freeze(["ark-jo/stylegallery", "changeroa/stylegallery", "example/stylegallery-page-evidence-ci"]); const PAGE_PROTECTED = Object.freeze([ @@ -100,7 +100,7 @@ const PAGE_PROTECTED = Object.freeze([ ["tests/consumer-conformance.spec.mjs", "e19df0d1131b7a65fd6e5b7b79c993d05f4a4559b64a18da673e1beede5421a3", "browser_capture_surface"], ["tests/fixtures/consumer-conformance-scenarios.mjs", "927d185f523e70e7f2e1fccee0013360d126e02aa532c2367670e64cdef43f12", "state_w1024_focus_contract"], ["tests/helpers/render-consumer-conformance.mjs", "6d5db609aaadb2f68fec1a0f1f51af1c17157cf1364631a42b35da2d6c1a0865", "capture_renderer"], - ["quality/evidence/executable-evidence.md", "a0ae7f2c355ab26293cdb9e96b31d91d50a024ed404aa0c8297a65b91af73a33", "archive_and_retrieval_documentation"], + ["quality/evidence/executable-evidence.md", "fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1", "archive_and_retrieval_documentation"], ["playwright.config.mjs", "7dcc2ae21602ac89af47d2bbf122f5945098f0e8fda9d47db7d33980592e60ae", "pinned_browser_configuration"], ]); const PAGE_ADOPTER_TRUST_ROOTS = Object.freeze([]); From c47d6f19a159f356860c80aec7e46cf39cfd99c9 Mon Sep 17 00:00:00 2001 From: Victor Jaepyo Jo <65930387+changeroa@users.noreply.github.com> Date: Tue, 8 Sep 2026 13:09:41 +0900 Subject: [PATCH 10/10] fix: preserve archive document binding and declare handoff fields --- consumer-reference/agent-native/v2/material-registry.json | 2 +- .../policies/lifecycle-ag-ui-extension.json | 8 ++++---- examples/domain-interactions/verification.md | 3 +++ log.md | 3 +++ scripts/validate-lifecycle-disposition.mjs | 2 ++ 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/consumer-reference/agent-native/v2/material-registry.json b/consumer-reference/agent-native/v2/material-registry.json index a0ca6e7..32b185c 100644 --- a/consumer-reference/agent-native/v2/material-registry.json +++ b/consumer-reference/agent-native/v2/material-registry.json @@ -1 +1 @@ -{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6853,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":5672,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/component-contract.md","schema_version":"2.0","source_sha256":"eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4","stable_ref":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278","version_id":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278@sha256:eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":7416,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8"},{"byte_length":4671,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/motion-brief.md","schema_version":"2.0","source_sha256":"01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf","stable_ref":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137","version_id":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137@sha256:01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":5802,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/verification-workflow.md","schema_version":"2.0","source_sha256":"3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7","stable_ref":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d","version_id":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d@sha256:3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":4381,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/decision-tree.md","schema_version":"2.0","source_sha256":"8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f","stable_ref":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103","version_id":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103@sha256:8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":5815,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/compatibility-matrix.md","schema_version":"2.0","source_sha256":"924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671","stable_ref":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85","version_id":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85@sha256:924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1918,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":6927,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":4985,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/android-interaction.md","schema_version":"2.0","source_sha256":"a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332","stable_ref":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89","version_id":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89@sha256:a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":7646,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-recipes.md","schema_version":"2.0","source_sha256":"34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb","stable_ref":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461","version_id":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461@sha256:34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb"},{"byte_length":8158,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":6749,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/interaction-recipes.md","schema_version":"2.0","source_sha256":"6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821","stable_ref":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e","version_id":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e@sha256:6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821"},{"byte_length":4104,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":6107,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/comparison-workflow.md","schema_version":"2.0","source_sha256":"33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4","stable_ref":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d","version_id":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d@sha256:33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4"},{"byte_length":4989,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/windows-interaction.md","schema_version":"2.0","source_sha256":"f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d","stable_ref":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32","version_id":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32@sha256:f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d"},{"byte_length":20266,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38"},{"byte_length":7121,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a"},{"byte_length":4802,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/adaptation-workflow.md","schema_version":"2.0","source_sha256":"8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece","stable_ref":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561","version_id":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561@sha256:8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece"},{"byte_length":31273,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526"},{"byte_length":2082,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba"},{"byte_length":6870,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/worked-examples.md","schema_version":"2.0","source_sha256":"0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1","stable_ref":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0","version_id":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0@sha256:0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":4646,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/decision-tree.md","schema_version":"2.0","source_sha256":"4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb","stable_ref":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa","version_id":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa@sha256:4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":8221,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":3433,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9887,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1668,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":6167,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1"},{"byte_length":4863,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/decision-tree.md","schema_version":"2.0","source_sha256":"d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4","stable_ref":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15","version_id":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15@sha256:d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:b1970e0c91e13ffe6c5d7ddf29aa806ef1b68b1b5834db46ac1d481ee972a55f"} \ No newline at end of file +{"admission_policy_ref":"sg:policy/material-admission-v2","admission_policy_version_id":"sg:policy/material-admission-v2@sha256:3bc645aa9b84393a404612ebc4d757aada288ef88f57bb2d2fca03022b4d201d","materials":[{"byte_length":3583,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/page-grid.md","schema_version":"2.0","source_sha256":"a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b","stable_ref":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb","version_id":"sg:material/path-sha256-002803d65d057faaa4e8c1bb3e32ef3f41032b011251fc9f0f7b1db907b01ceb@sha256:a5b73ad6e01e85a93f2f585f520ea7e02f8b3677fa286236c20011873d4e7b9b"},{"byte_length":3464,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/pagination.md","schema_version":"2.0","source_sha256":"a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b","stable_ref":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f","version_id":"sg:material/path-sha256-00ae3be01fcc4add55bd98eff34737037c54c0a7f2f128239a2afbe698936c8f@sha256:a7afa87a24aae9797f299a7e4b4b96e2ca26d511a7ba2dcdbe1dc78600532a5b"},{"byte_length":4786,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/samples.md","schema_version":"2.0","source_sha256":"c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b","stable_ref":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984","version_id":"sg:material/path-sha256-021f96adf1d1647d17f99011af6b1e7fa370dddbbad96b384731ed0256f74984@sha256:c2a3acefcad07f0ace47c9d054b601da0f4447a0fc8d5ee0ef272dd45075e81b"},{"byte_length":858,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/index.md","schema_version":"2.0","source_sha256":"05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2","stable_ref":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4","version_id":"sg:material/path-sha256-040de79bdf5af768663bf1aaa9d7451aa0d79bfaa0d5e982cceec4058f7715e4@sha256:05da91c5514d03e82c19a03c494fdad21a92a2ba7b88ec6dca5e7836c1f133a2"},{"byte_length":5367,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/interface-craft.md","schema_version":"2.0","source_sha256":"ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941","stable_ref":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571","version_id":"sg:material/path-sha256-04afb6013755c328be25b08637961e5f20fa67705cfcbd6e996ba6ada944f571@sha256:ba71e914027abd783e9769a5b91efb764cc7335a6479c69ca4e70ab05a64e941"},{"byte_length":501,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/index.md","schema_version":"2.0","source_sha256":"9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2","stable_ref":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed","version_id":"sg:material/path-sha256-04fa96b121ed2a48be80851efc72289752d1c4c12bd6433c2d5002d6d82a54ed@sha256:9b60182a25c4c07b7b482b3981dec17d515f95915cc618411282f988dca4ada2"},{"byte_length":6853,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/vocabulary.md","schema_version":"2.0","source_sha256":"b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d","stable_ref":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675","version_id":"sg:material/path-sha256-07b5ed44416e4d40efd213a7e944f214a338aa83201e52ba58c6dcf2a81e5675@sha256:b2796979aaa1b194ff3006469cbeaec71cbd80d1484e3a5089e03295a43b464d"},{"byte_length":1619,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/visual-evidence.md","schema_version":"2.0","source_sha256":"17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3","stable_ref":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149","version_id":"sg:material/path-sha256-085c94936dece089fd31864c482d1a19e4da562951adbaa7d459e0126486d149@sha256:17f7430f1cd1847c74c737ee9341120be6b49e827ec4228be5b6868669d27fd3"},{"byte_length":5672,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/component-contract.md","schema_version":"2.0","source_sha256":"eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4","stable_ref":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278","version_id":"sg:material/path-sha256-08adbcce8042dbb84d03e0903f204eb9f799d464a2035c84db9ffab8aebcc278@sha256:eca88467a55968ed9ccd2f86b9b18c15e597dfff17789ea86f8c91ac4bb60ac4"},{"byte_length":54,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/index.md","schema_version":"2.0","source_sha256":"b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb","stable_ref":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22","version_id":"sg:material/path-sha256-08c3095acfdc040b75071e94644db6a32b655817c4b79eabfa4339b59c9f0b22@sha256:b9bb90f0928f7f408c615ce2dc323425640ef4b83b62de0c0dee6dcd4bf7e3bb"},{"byte_length":4089,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/harmony-evaluation.md","schema_version":"2.0","source_sha256":"efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270","stable_ref":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3","version_id":"sg:material/path-sha256-0a43f2af49d24f33b8ff06829d431f9e7608de57760c3f2c7de8c3e4126869f3@sha256:efee2c0ff6a662bc3efb360ee8c80defc5113a00d8b36e1c36c45eb63d330270"},{"byte_length":3804,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/scroll-body-shell.md","schema_version":"2.0","source_sha256":"f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8","stable_ref":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4","version_id":"sg:material/path-sha256-10f553c3d6a39c31ca1a5b8f56db6afb75709d8706d125c6f0d891f46b1f11b4@sha256:f9f8269f42afdc453f2e226a03c1ea23566b4b9362939a4f485aee20d150cee8"},{"byte_length":4959,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/homepage.md","schema_version":"2.0","source_sha256":"09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193","stable_ref":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46","version_id":"sg:material/path-sha256-14e127a7c719ee8494096a98b25b32d26363c1845bddcd912f50f6b1e2b84b46@sha256:09203c0de8824db3a8f678add95b0de363035ead7cfe5d44ae79353ef36b1193"},{"byte_length":3430,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/overlay-stack.md","schema_version":"2.0","source_sha256":"ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89","stable_ref":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9","version_id":"sg:material/path-sha256-15dd8f3d84fb50f1442bd8c9732356759849f7d87f1d66b004eeb5d9ea75a4a9@sha256:ffe57e891cbaa2eefcd3f642818d6f955b9f51f9028eed48ca2769e1ad75fd89"},{"byte_length":901,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/design-rationale.md","schema_version":"2.0","source_sha256":"f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163","stable_ref":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369","version_id":"sg:material/path-sha256-162d7fd4521ddaf5ee59166c9cb56d8cbcb7d3b9bacaf9cd75883c1586108369@sha256:f2215fa79133af7f7282fff9a2da490d1a5dd58dd3ea0fc56255872268fbd163"},{"byte_length":3452,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/breadcrumb.md","schema_version":"2.0","source_sha256":"666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c","stable_ref":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc","version_id":"sg:material/path-sha256-16eeb4385f9c3ed3ee536baa50271a5afda69eb267e6e240f45eea88c675c9cc@sha256:666bf05329f85a0a19d8ee42fd91b6149895d7c1ed62528f3b36051015210b9c"},{"byte_length":3426,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/cluster.md","schema_version":"2.0","source_sha256":"39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82","stable_ref":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75","version_id":"sg:material/path-sha256-176a6bff0fef909def0e8d71cb7c567b867a180ff8ff11dc71f96187e6fb4b75@sha256:39a8b4e529fa82338de96528ed1f7ec0a1646286243dfb7df71be3666c46ed82"},{"byte_length":935,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/index.md","schema_version":"2.0","source_sha256":"5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88","stable_ref":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7","version_id":"sg:material/path-sha256-1bbc62c02480ddef71cbe2b8723ae3da595efdfcfcf8f0bbbfd4dad8d417d2a7@sha256:5cfb5a5586709a5c32f6f01e8d0e768850b57111c0a653363ced0eeddbca4f88"},{"byte_length":3725,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/split-screen.md","schema_version":"2.0","source_sha256":"a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8","stable_ref":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74","version_id":"sg:material/path-sha256-1c3948243f01f30bcd55ac3cb3c9935bce15060224b1837fdf1b3be2684ecc74@sha256:a6c48700334e6e3e611acee525be7a89e6aa73c0df0494d5f4a5555790d237a8"},{"byte_length":3334,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/box.md","schema_version":"2.0","source_sha256":"d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680","stable_ref":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430","version_id":"sg:material/path-sha256-1c4c0582a35fac69c8274a72f86ad5075a755d30f0924adbc3ff66fc616d9430@sha256:d64aedd87ff612e6bb50293653cf5076ed952c1d4833abc54416b1bc60ef8680"},{"byte_length":3380,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/stack.md","schema_version":"2.0","source_sha256":"0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1","stable_ref":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e","version_id":"sg:material/path-sha256-1f6bb0dc8098df4cb643ddb7941fc7997bfc34e8c4c4ba8b473ebd19b43da69e@sha256:0e9d1bd2fb0345bd28efc04502c88fb64f6cdb721a5792473d2822907de1baa1"},{"byte_length":386,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/index.md","schema_version":"2.0","source_sha256":"a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a","stable_ref":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c","version_id":"sg:material/path-sha256-1fc22b9f0d7d72c1dcc9b54db927b44a791c091736efbc2dcff08b9f5097f00c@sha256:a32cdbff417ba8cf4333a15c7799bb1b1907c4334d0bcee052220af46b87973a"},{"byte_length":7416,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/relation-types.md","schema_version":"2.0","source_sha256":"4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8","stable_ref":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533","version_id":"sg:material/path-sha256-20446da61add8150ac93ec91e23ad403d7f7e4b1b322024a8c488e4324f47533@sha256:4f2e601edf167fa435296fca43156845a003d2b680e0e8c13ac0d687b909bdb8"},{"byte_length":4671,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/motion-brief.md","schema_version":"2.0","source_sha256":"01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf","stable_ref":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137","version_id":"sg:material/path-sha256-205e6fc7f07a049703f1de0d741836c512fdfa12f9e10cf9bf4c75bdba550137@sha256:01320d26e6ffb269e9ef30638a2c724d8118ec801ce787f607cc2fad50bfcdcf"},{"byte_length":2010,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/design-claim.md","schema_version":"2.0","source_sha256":"bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81","stable_ref":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372","version_id":"sg:material/path-sha256-21480e86104dfaab3408304f300dc7cc570eab3e747a1a3931785951544f8372@sha256:bdf92087f69f1d55d1d8f5efa8fdc794824bd9f40d794e617e6a06db0a16ef81"},{"byte_length":3461,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/super-center.md","schema_version":"2.0","source_sha256":"80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55","stable_ref":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00","version_id":"sg:material/path-sha256-21ffb3e535a16bcba5817e15c784b9d2500b32cb50f86c1b3c033c652193cc00@sha256:80ca126c59d0a5947707b01875c17487dfad7e4fc51920ad02649108971e0c55"},{"byte_length":3504,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/fluid-styles.md","schema_version":"2.0","source_sha256":"652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb","stable_ref":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5","version_id":"sg:material/path-sha256-239a2e2ec1f881ea5ae0e4f852980adaa058a8c7943fe83d8c90d8b51e02abb5@sha256:652bd2d6b33e8c1c4dc5eb7175f65c1c0c13a6268aa72ac330ef6b3cf303b5cb"},{"byte_length":3506,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/ram-grid.md","schema_version":"2.0","source_sha256":"b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b","stable_ref":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69","version_id":"sg:material/path-sha256-23ce75202642f0f8901b6a413fd2a269a70166058d62e90ca4403e7a3b34cf69@sha256:b15856b240152a9da700abb4cdd611a1f9d41cad353582eeaad79459c13f277b"},{"byte_length":3364,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/tab-strip.md","schema_version":"2.0","source_sha256":"c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628","stable_ref":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453","version_id":"sg:material/path-sha256-2567793e03725c0bb9b1b4cd1524b38c8240253b4989e3413b7985cfccfb4453@sha256:c154f4a8cfd4d17d60f929bf363a632ca4bacedc4a5e55c891870a2a75ccd628"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/list-detail.md","schema_version":"2.0","source_sha256":"cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d","stable_ref":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331","version_id":"sg:material/path-sha256-26867cd73e9ea9a732763de098fa0e99861d6bd15deba26359727ef68417e331@sha256:cbb8c05e85605aa2217027a946aae1fd7d3ed7c3981d7f15b2207c7dee8f9c6d"},{"byte_length":3827,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sticky-aside.md","schema_version":"2.0","source_sha256":"69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab","stable_ref":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415","version_id":"sg:material/path-sha256-27b1e5216a098387ab5e1de9d8997391ae2e8b3388331c221e14ed5946734415@sha256:69bd3b575b0c2aca46858e887cc5fbccbf5f772e4678ac305257307c70a378ab"},{"byte_length":3972,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/fixed-sidenav-shell.md","schema_version":"2.0","source_sha256":"4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560","stable_ref":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28","version_id":"sg:material/path-sha256-29d4e1dee690708b4218d8b195f08e1135f76b279ebaadbafd08aa74286daa28@sha256:4889d7aaf9a7ab4687b56e19987782afdc40def1935882213510958d4c747560"},{"byte_length":3636,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/switcher.md","schema_version":"2.0","source_sha256":"f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d","stable_ref":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093","version_id":"sg:material/path-sha256-2dd9316398e52cf61361bfae39e601e73eb411b74ddc09cadf131183e6c18093@sha256:f9e24b044790472cee533fe85da5d0b14e252c5119a0b532f5ff00be2f74ca4d"},{"byte_length":5802,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/verification-workflow.md","schema_version":"2.0","source_sha256":"3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7","stable_ref":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d","version_id":"sg:material/path-sha256-301be971141f154cb524caa0760e2ab925bf311a1461c055b7d44bc5a26a345d@sha256:3454a389851219adbcbf2192c9bdec8f248b20271bad818bbf93433ed4b8f7a7"},{"byte_length":1783,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/sources.md","schema_version":"2.0","source_sha256":"655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8","stable_ref":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939","version_id":"sg:material/path-sha256-31c57866c230c6e93dd2b4636e6e892eeff33521ef07ed24cde34094c2d9c939@sha256:655c4c304f1dae83e56e5f3f19838db7b9681a600b161532cc4389574594fde8"},{"byte_length":2906,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/command-surface.md","schema_version":"2.0","source_sha256":"b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02","stable_ref":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f","version_id":"sg:material/path-sha256-33c5ebfda703b62fe98e750cf800d6a690eb3c5e02c0089d0fd91d987b2b5f8f@sha256:b52b18adcaf95110d9ba7780289c2c2e6e4b128327290e18da1723b019261f02"},{"byte_length":3479,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-header.md","schema_version":"2.0","source_sha256":"3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94","stable_ref":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d","version_id":"sg:material/path-sha256-3901860520475e0bf9a7a0d9a7684ce518e7f2c96d22f3aefb66fe40c524558d@sha256:3a5aeacbaa7f9ea443c92848667b7a6d362bd5f4481c304b0bb312549d330a94"},{"byte_length":14817,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/ui-systems.md","schema_version":"2.0","source_sha256":"fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40","stable_ref":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098","version_id":"sg:material/path-sha256-3a18eb0e207f57d2657185e6e09afddd94b8d9722418d78d39122b6bb06b7098@sha256:fc9baf57a82a393d5f7b189fa7798d1023757d2bc9ed769fb6cbab7b9bbb5c40"},{"byte_length":579,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/index.md","schema_version":"2.0","source_sha256":"90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101","stable_ref":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760","version_id":"sg:material/path-sha256-3bf8fac99ec13ef32824ded352565692d56cc7c54e5392b7985df262ba35e760@sha256:90f2d5973bf08cfd7ba55523176d8bb76bff441a8a3b9e69c3a520118db3e101"},{"byte_length":4405,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-hierarchy.md","schema_version":"2.0","source_sha256":"a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552","stable_ref":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17","version_id":"sg:material/path-sha256-3d5fe3355a6206218a13433abbd642bc623d90ee2bcb48dbf488a592bec8fb17@sha256:a186fd1ff27b84394fdf31011eee733d5b5cc40e6e83069dc4df41b52809f552"},{"byte_length":3466,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/dense-grid.md","schema_version":"2.0","source_sha256":"5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52","stable_ref":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a","version_id":"sg:material/path-sha256-3d9a239e6bc90b85b6d15102c961f1ca0615094fe1df289c6e4d6a418af1801a@sha256:5c99ebab2a33fe1827fee2810e340fc44867439352462dc453ec352f78e34e52"},{"byte_length":2608,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/reference-record.md","schema_version":"2.0","source_sha256":"f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9","stable_ref":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9","version_id":"sg:material/path-sha256-3e5f771aba328b1394ddd2e529e322ecb8fe2259c33b92448c0c71161e3a5ff9@sha256:f43c57cf386b787c73c6e2974044b21c4ad0e1c05dd080003a3f6e268f63f4c9"},{"byte_length":4381,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/decision-tree.md","schema_version":"2.0","source_sha256":"8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f","stable_ref":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103","version_id":"sg:material/path-sha256-40a62d0c8d3666e3383f68652dbcd92841189eb4d3045ccbc5ba51d317faa103@sha256:8c225109dc349a7c351bf6c194c31568723c4e12c16438727fa710d53c98b94f"},{"byte_length":873,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/index.md","schema_version":"2.0","source_sha256":"89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e","stable_ref":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5","version_id":"sg:material/path-sha256-44cd370aff03553cea434398290dfe059d49fd316157face88e54035c050b5f5@sha256:89729f69e1a879742421b2d583dcf67f8a9a94ed90a198e5b7b9e40b856a404e"},{"byte_length":2697,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/dashboard.md","schema_version":"2.0","source_sha256":"8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d","stable_ref":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83","version_id":"sg:material/path-sha256-463cfb73f926bbdf90d68b3aee7af299b388384e6b5e51e1c7a5ef2cd33aef83@sha256:8ee1c7c8b70bfd63144fbdd5f3a55f8736ce4626c35a391f4a722b579ec2232d"},{"byte_length":15345,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/architecture.md","schema_version":"2.0","source_sha256":"026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4","stable_ref":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592","version_id":"sg:material/path-sha256-49ac4d11b609a7dd49ecd0d397a7a5401595c3e2835958e35b430be5883d7592@sha256:026af25031c537dd074e7bc91f00fa91e1dcaecbefe6a9c6a574e05a662adff4"},{"byte_length":3538,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/grid-wrapper.md","schema_version":"2.0","source_sha256":"55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29","stable_ref":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb","version_id":"sg:material/path-sha256-4a8a96f82fbd1527cc6f7ee248ef7a8ab8d47289a31dfb521f865d49f0376afb@sha256:55c90e01efd81fe7f338ab8e6535d731df8f0ce1c00751d8ba4ddde780963b29"},{"byte_length":5815,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/compatibility-matrix.md","schema_version":"2.0","source_sha256":"924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671","stable_ref":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85","version_id":"sg:material/path-sha256-4c2db02298ea0b264c459e4c2b368dc67795c8a301786f1192bb61feb56c1c85@sha256:924d2747c86f662d4dc1467388293d4cb916caf256a4640afe9ebeef17c6f671"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/overlay-exception/imposter.md","schema_version":"2.0","source_sha256":"4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c","stable_ref":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e","version_id":"sg:material/path-sha256-4c3aeb4771622f79b0f3efdeb40e0f59064925f4bd60e63186452c0a79941a3e@sha256:4f71b8e9164daf01d1c977c0a7ebb18576185138068a06df5d67e89d3bf7ad1c"},{"byte_length":3458,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/center.md","schema_version":"2.0","source_sha256":"8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da","stable_ref":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5","version_id":"sg:material/path-sha256-4fb5bdea440d75d58bcb66874cdb2930ee9cd5d17768bba1ea95e4c3c547ebd5@sha256:8abae0c076bf8c3eeeefd8920dff8c9d767c5c59ef926265b960940bab8310da"},{"byte_length":6061,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/practice-reference.md","schema_version":"2.0","source_sha256":"1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d","stable_ref":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265","version_id":"sg:material/path-sha256-50b685f66086b3f2362d97feb7e001bd2f208e6ea33c52174edf66fbe8287265@sha256:1096eae09dd6a90ae83c9979728c5774c4242dae68f71ee12e97496c87d0ba2d"},{"byte_length":3428,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/clamped-card.md","schema_version":"2.0","source_sha256":"14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b","stable_ref":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631","version_id":"sg:material/path-sha256-52157f6d777be20078f71c3c850955175151fdbe04fad86368b8f0e382280631@sha256:14e9700b95e01bdbf22be445ec79245209be097cfcff92c33a0aa37bcf2d564b"},{"byte_length":7878,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/contract.md","schema_version":"2.0","source_sha256":"b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713","stable_ref":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9","version_id":"sg:material/path-sha256-52494ee56bf5c837ead0782244d579ea0aba9e63e95a02c10f6d0b566e4d62d9@sha256:b914920989ff2ce08ebc67fa3167d0da766c260c93f03257a9144c6093ff6713"},{"byte_length":8606,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/search-metadata-polyhierarchy.md","schema_version":"2.0","source_sha256":"53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7","stable_ref":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74","version_id":"sg:material/path-sha256-59a41c8893a1ad96d4b5abe1cfb6e381273ce32030b84b06cdbd2ac8be24dc74@sha256:53ea6fddbf9c446a2b35ca6d975200c274ba3a713a2298ff62c8253d6c8a49d7"},{"byte_length":3490,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/columns.md","schema_version":"2.0","source_sha256":"eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324","stable_ref":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de","version_id":"sg:material/path-sha256-5a76c5ad4c7daff2cbf3fbf8d8968f56204322f508b999f77e87bcbe6274a8de@sha256:eda07657f498d69a734749ba4c94a6fd35e4b1f61cf312324460e0b4e491d324"},{"byte_length":12162,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/org-wiki.md","schema_version":"2.0","source_sha256":"b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131","stable_ref":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5","version_id":"sg:material/path-sha256-5de69acbec858ebe75c9483c1b4474ea8d48778aedc3cc654a26552b3a49a5f5@sha256:b6fcdef8d5b6524111cabfef7a0b86e2f899659e5d7d7e81e8ebd521e79dd131"},{"byte_length":876,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/tokens.md","schema_version":"2.0","source_sha256":"9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0","stable_ref":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30","version_id":"sg:material/path-sha256-5e265c863940f92cadc3da208c4c09c4aacd7da3425332edc401bbb461383e30@sha256:9f6849985944fea6c660c6ce8f1a962b1b3fe4aa195e72ef2d2293b27fac80f0"},{"byte_length":537,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/index.md","schema_version":"2.0","source_sha256":"93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4","stable_ref":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6","version_id":"sg:material/path-sha256-5e7498d507fe35d8607873d31efa80b8e4634fa59aa68fdb3cc10fcd99df20c6@sha256:93635d8fec49e448550ac671d0fe2510ecc017467ff79203bf10bc3e9b32a9d4"},{"byte_length":3682,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/deconstructed-pancake.md","schema_version":"2.0","source_sha256":"81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe","stable_ref":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2","version_id":"sg:material/path-sha256-651d978327dca78d036202b232058a85e240ada94d07dd7461bc894f9f83e5e2@sha256:81a69e4a12a2f967a0ecff31d02c3beb365bf6c9055acc86cda4f6355f70adbe"},{"byte_length":3735,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/main-with-rail.md","schema_version":"2.0","source_sha256":"ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160","stable_ref":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4","version_id":"sg:material/path-sha256-653b926534bf6d8d074f03173f13f475bada8dfa566852e272470fc17b8e58d4@sha256:ba1cfc18e294563b48fbaa2cb427dc431b4586d55a157818a541cba25d0a0160"},{"byte_length":3910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/media-object.md","schema_version":"2.0","source_sha256":"26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae","stable_ref":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a","version_id":"sg:material/path-sha256-69e5cbcca6fba542020d47eeb31222d719c39624ec41749d591d17aa175c5f3a@sha256:26f218d8b2138e7a7f4585e21d33d6f640d5b67993a64e182bdef9b4628d7dae"},{"byte_length":1918,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/index.md","schema_version":"2.0","source_sha256":"885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5","stable_ref":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72","version_id":"sg:material/path-sha256-6c243b28fd8f4564a96217bcceabc75a5651ecd21ac41abfbdd4716adc60aa72@sha256:885ca1dc8bb79fac2a6b32bedb6963646cbcc97dc0abc535f59365718abfb2e5"},{"byte_length":8008,"domain":"shared","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/agent-native/README.md","schema_version":"2.0","source_sha256":"6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e","stable_ref":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d","version_id":"sg:material/path-sha256-6cda345129c13188719d0116beef1e7d8e672f951f21295bc3b2ccf490a4a81d@sha256:6e59c913b175039819143b53078817630e3664db1c0342f89545038d0e53a52e"},{"byte_length":7030,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"log.md","schema_version":"2.0","source_sha256":"524b2225be95f0408e4842b146755d36b09dc01527312fa0b12b8a6e95032fac","stable_ref":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38","version_id":"sg:material/path-sha256-7204c0a4f935b2563fdb9fcf74d71a2e8621bf1b53f9da1b6eab41597a5fbc38@sha256:524b2225be95f0408e4842b146755d36b09dc01527312fa0b12b8a6e95032fac"},{"byte_length":3574,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/reel.md","schema_version":"2.0","source_sha256":"57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480","stable_ref":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11","version_id":"sg:material/path-sha256-72616dfa2b53176365ef81dd6954260a8a96051f3c47100505ece70816871c11@sha256:57a66f71da9293c1037d325a3d98d95938b7a7534e42cc8f3d1149ef63ab5480"},{"byte_length":3614,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/sticky-footer.md","schema_version":"2.0","source_sha256":"4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df","stable_ref":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42","version_id":"sg:material/path-sha256-7412ca94f2f7e6e9b81ec40ccbaee7ccab5a773e48d7fc14055baccd8d059d42@sha256:4103c4b74e4b143705a656f11662ec03721b40802c980e4527331f97b09c21df"},{"byte_length":4985,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/android-interaction.md","schema_version":"2.0","source_sha256":"a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332","stable_ref":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89","version_id":"sg:material/path-sha256-788bb5b0cd715989c0a984075c80a1d185b207deda5b50f58280030d928a5f89@sha256:a2178943bc6265f7c35d58b5a48d7646b7a4f04aaad073382dc9c84783066332"},{"byte_length":14420,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/documentation-mode-taxonomy.md","schema_version":"2.0","source_sha256":"872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2","stable_ref":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc","version_id":"sg:material/path-sha256-78dcee9e03982b489be85a59bb522877c94bb01b2624af09e5ef5e3bc3bbbffc@sha256:872594fdfa78c4196bad9eae4aa6bab3cde82b4f73803ef049a60c6a7db329c2"},{"byte_length":2791,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/list-detail.md","schema_version":"2.0","source_sha256":"26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899","stable_ref":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8","version_id":"sg:material/path-sha256-7b47a26ca3030528440849547a9a39dcd489581ebdb0b3c85f3204cf066acaa8@sha256:26c00df6db757fa392dd285eb910de9c13eae39c78ab97c44dda55cea9047899"},{"byte_length":3687,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/line-up.md","schema_version":"2.0","source_sha256":"34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc","stable_ref":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5","version_id":"sg:material/path-sha256-7c2f9831fd891304724438057614dab34b1fff1da4eb2f0d86803115be5a3ce5@sha256:34ccb96fb46cbfe6567ffb74a8f01fd79ac3baf0ea4ed93e54cab83ac45473dc"},{"byte_length":11419,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/cli-loop.md","schema_version":"2.0","source_sha256":"bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b","stable_ref":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a","version_id":"sg:material/path-sha256-7c4697a9eca2beda5a21f7edd84648e7e67643b3f67b771434ed123c424a2d1a@sha256:bfc9596a0b981bbb31470f4c8a87578d401f775fa1f9b4dc6da1e0f967ca3f1b"},{"byte_length":4740,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/review-workflow.md","schema_version":"2.0","source_sha256":"5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746","stable_ref":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83","version_id":"sg:material/path-sha256-7df8e54fd5935c4a2a9aace117d43253e7c0fe32448fd31984a531a134192a83@sha256:5219296be498f37f9d9b69ba4723f2ce7d12b5d326fec20045b2aedcc6c90746"},{"byte_length":2625,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/form-flow.md","schema_version":"2.0","source_sha256":"ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538","stable_ref":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9","version_id":"sg:material/path-sha256-7e60233e663192c6172a4cebabf93da3b047c42bbaddee206fa27644d8d821e9@sha256:ff6cee7485991ff766a7d3d0780a133da5a636639aa9ff4a43e4d3bb0499a538"},{"byte_length":8708,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/vocabulary.md","schema_version":"2.0","source_sha256":"b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f","stable_ref":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f","version_id":"sg:material/path-sha256-7ec7a08ac14b5af0def43c817f1b32765f93312bb997e17663313c0fd4516a1f@sha256:b9bf48c95052bb35bc509f0a37d6c03a97ede41fa615b241f16b9694d0636b4f"},{"byte_length":5787,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/decision-tree.md","schema_version":"2.0","source_sha256":"5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d","stable_ref":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016","version_id":"sg:material/path-sha256-7fada8e2c9a6ab17c122f51121605bc9d4c64c9a7ef60d946813129f91474016@sha256:5811d48b577a0d9472c64b94cb91341f45e5b5408402455f0aa9cd356fa15c5d"},{"byte_length":6236,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/design-terminology-domain-scope.md","schema_version":"2.0","source_sha256":"33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7","stable_ref":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63","version_id":"sg:material/path-sha256-81ac6c1074bdefbb95d68ecad0fd72b45835340e0f6b3353a0d2eb2bb30d3c63@sha256:33fba7c68d9edd94bf5775ea87b30736038864d20aea8ffd00bd156343d6fcc7"},{"byte_length":7930,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/layout-brief.md","schema_version":"2.0","source_sha256":"0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5","stable_ref":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1","version_id":"sg:material/path-sha256-8305d3db8a3a860213c04b8cef5a4ed463a109f558be8df51ff1c5af21d749e1@sha256:0e87d9d8f51ab6f3960b8e160abd9663be0d501e801a3184686b27c9a1debbf5"},{"byte_length":8203,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/pattern-contract-audit.md","schema_version":"2.0","source_sha256":"35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af","stable_ref":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6","version_id":"sg:material/path-sha256-871ee653f2589835e85184dba2e5ef403fc064d0d49a2b2b85f0b8996d351fc6@sha256:35926d5a3313f1918035ae906844722bbe56c7494eff9e5b22a2306a681893af"},{"byte_length":11836,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"guides/webpage-generation-workflow.md","schema_version":"2.0","source_sha256":"92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4","stable_ref":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b","version_id":"sg:material/path-sha256-87436c736fec1b7b05f6f0a824b06c852e9295daca92298163e02024fbb0451b@sha256:92de1966d23f3d12625f9cc22fb256eb8c4761bd4371a96ba69ca5235a23c7d4"},{"byte_length":3615,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/frame.md","schema_version":"2.0","source_sha256":"649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104","stable_ref":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256","version_id":"sg:material/path-sha256-882d5f2d004ba4375887b0489d4c452e3a6b3cfaea23561ba59e4e56821da256@sha256:649d3da72d9af6e6be2cdcd63561da9acb5521a0f44e46cc3210f02ece211104"},{"byte_length":3419,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/feed.md","schema_version":"2.0","source_sha256":"7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53","stable_ref":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c","version_id":"sg:material/path-sha256-88b6e0985d823e16fad9888dd2133bb5e3c2a2203e3a1623a705ac883ea4a00c@sha256:7f79317d1cb795bf3c407fabe5b4a894a2645dd4c732856f1bc07b05cb620e53"},{"byte_length":936,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/index.md","schema_version":"2.0","source_sha256":"973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726","stable_ref":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958","version_id":"sg:material/path-sha256-8a81d81ebc22075986a7fe5af4720c2779c2a456382fc0a3e74c1bfc8bb0f958@sha256:973dabb4a682d02c0a60d611ae73c2b531f38fb2a3e3d2682f37a385c3f2f726"},{"byte_length":3397,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/icon-frame.md","schema_version":"2.0","source_sha256":"09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569","stable_ref":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b","version_id":"sg:material/path-sha256-9100c52308320464deed2d7e13eb9857e485784f12f2dc1de28e8b73bc8f936b@sha256:09f79480d11a25c4ec7a9fbcdda2b62fa89ddf0da7142545841c3648078aa569"},{"byte_length":7646,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/screen-recipes.md","schema_version":"2.0","source_sha256":"34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb","stable_ref":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461","version_id":"sg:material/path-sha256-91628087b1cd66e6d4f46c8ccd922c32b38660a1eb468fbe1d112ccf72de2461@sha256:34ea7c53ebb21fb1c919301d8c0629b1923233e0944961744add48ae9d0dfffb"},{"byte_length":8158,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/apple-interaction.md","schema_version":"2.0","source_sha256":"d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2","stable_ref":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b","version_id":"sg:material/path-sha256-9247a878dcd0a0977374938c50eeb9a622ad6203847c1169beaf81d0493ebb5b@sha256:d59726ca8d19fd36e58237246e090bd96a4bc92161606665794e8d78c5d9a4b2"},{"byte_length":4774,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/classification.md","schema_version":"2.0","source_sha256":"3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623","stable_ref":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce","version_id":"sg:material/path-sha256-92725878c1f37c55731de2baf9c14a768fbd24ca839b82830c89f4aed7b66dce@sha256:3ad0db32a74ddfcd4061cd35ee30cda764b9d1074599942001067f7a80b8f623"},{"byte_length":3457,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/wrap-row.md","schema_version":"2.0","source_sha256":"214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920","stable_ref":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585","version_id":"sg:material/path-sha256-94d8cf97bb7801865552f7d2b317b556ed6b643d53b73fad134de89186263585@sha256:214d9e3d94366841f37f90c4c62096302c36f218843668e72c9a8850f6675920"},{"byte_length":2502,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/families.md","schema_version":"2.0","source_sha256":"0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690","stable_ref":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b","version_id":"sg:material/path-sha256-956ab860e593d435b6682540b04365917b3736deb47207b5812065776734de0b@sha256:0e80ebefdc5a7c266c46f48342a9c6389eb5390d5f8c0f6f162f852c4b596690"},{"byte_length":3678,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/badge-list.md","schema_version":"2.0","source_sha256":"aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984","stable_ref":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1","version_id":"sg:material/path-sha256-96fc7d48dad3399ab0cbedfdf8cb508b1732f57dc96cd15911e50a3a1654c9b1@sha256:aec85df4d5ddcfc08e9c052c5fdf60c0d4a73dbe8fea5a95b78b90c9871f1984"},{"byte_length":952,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/visual-qa.md","schema_version":"2.0","source_sha256":"9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74","stable_ref":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae","version_id":"sg:material/path-sha256-970cc2193de22b50bd91099cd6f8e5f52069ccd3360306d17e6eacf4ed1343ae@sha256:9fdfd9acdcd4fefd4f2d3ef51ba6170e3235d4ae97cc6c739a0f1123e1825f74"},{"byte_length":9489,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/primitive-to-recipe-matrix.md","schema_version":"2.0","source_sha256":"0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3","stable_ref":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d","version_id":"sg:material/path-sha256-99427f2ded107b0d7be95e3a768ac836b917b22c8736fb7f31028b33a333836d@sha256:0e8b3b90651c8820a0c0463c32bf410e40abb7503a26e9c90b1fdb456d4ad7b3"},{"byte_length":3743,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/supporting-pane.md","schema_version":"2.0","source_sha256":"bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962","stable_ref":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da","version_id":"sg:material/path-sha256-9a82e011fc565919a7334610d427c1ec662e2b89034c6da9a2b135dc398444da@sha256:bbffaf1bcf0daa4d30f5d269fda79759778b23c2f7c388d95d0ca45e0512c962"},{"byte_length":5032,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-kinds.md","schema_version":"2.0","source_sha256":"089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912","stable_ref":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f","version_id":"sg:material/path-sha256-9bf12d243f458c4641241baed05117806d5865bf05115ebbb49ac44f4f349f4f@sha256:089db825ae87a2b5660cbe3ff3cd0501864952f6ba4d717ca0d299c524f55912"},{"byte_length":3664,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/panel-layout.md","schema_version":"2.0","source_sha256":"1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123","stable_ref":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f","version_id":"sg:material/path-sha256-9c016feea05fe406dddaf432e9137d8d56c71df33fb77450e538d21c9871e85f@sha256:1e373e1e0a03296d3262d2df4caa0a0c907693c6dfdad19d8d608b574e1ae123"},{"byte_length":2378,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/saas-settings.md","schema_version":"2.0","source_sha256":"f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad","stable_ref":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e","version_id":"sg:material/path-sha256-9dfe65b7582876aed144b8b79ad8ffbde14182c8b9c082c6916057782509cd0e@sha256:f66665f62f1ac1242965326e47bd7a021ec9ed812e98155147f82be0bc00c5ad"},{"byte_length":2169,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"recipes/article-page.md","schema_version":"2.0","source_sha256":"e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d","stable_ref":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011","version_id":"sg:material/path-sha256-a0c4596e930ce74c5bf8f890a6e037abbd07463c1e1aa0b35c40a0c2009ba011@sha256:e68b1049e6e2e0dd08e87c1b5dd8ef36f42350c161aa6d056f5ddcdbb091d28d"},{"byte_length":6749,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/interaction-recipes.md","schema_version":"2.0","source_sha256":"6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821","stable_ref":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e","version_id":"sg:material/path-sha256-a2188f6421d8ce1d9cf926193014f31af7bff1fb6101e42b87ff364c201f9d6e@sha256:6ec291c97ef82415efe7dbc9a355a405c214400cd61516468d749d98997e6821"},{"byte_length":4104,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"index.md","schema_version":"2.0","source_sha256":"7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b","stable_ref":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5","version_id":"sg:material/path-sha256-a48746cae70c44e7e105b594aad338ddd105c93c1cb445a40ba6aab785ba69e5@sha256:7e0109cee873272fbdeeeaa0a7598f24d93bb2a48cdd63b5150132204c6eed1b"},{"byte_length":10562,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/unity/repository-map.md","schema_version":"2.0","source_sha256":"aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e","stable_ref":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434","version_id":"sg:material/path-sha256-a4f5bfbc74a2b756b0661004893a21d81b1007879d2e2c4aaa4b73f1b083d434@sha256:aa6535fe435bc831a819f9f82ed29ad593ec133cc4f84be231355879ce145f9e"},{"byte_length":8971,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"AGENTS.md","schema_version":"2.0","source_sha256":"fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595","stable_ref":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9","version_id":"sg:material/path-sha256-a54ff182c7e8acf56acfd6e4b9c3ff41e2c41a31c9b211b2deb9df75d9a478f9@sha256:fb201d32ede32e5f6d6fd27e5cfb0d4c8f9fa616f7d7807872990359a7562595"},{"byte_length":3493,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/card-grid.md","schema_version":"2.0","source_sha256":"e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4","stable_ref":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5","version_id":"sg:material/path-sha256-a5e3ff6fe0948ebbaf30def7866421563073877df12336c5f66eba3d2d6667a5@sha256:e2489c93d8f312b0104e14cd54d92940f2b094e7c7a1310b6be4e0653b2729a4"},{"byte_length":1194,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/index.md","schema_version":"2.0","source_sha256":"c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49","stable_ref":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85","version_id":"sg:material/path-sha256-a7987410bcf408a5b4edc0ae7719d3f57f1f04a4efaaa7a756c870677307fd85@sha256:c52bbc8df395ff56e4cad12ced76ba5ee55f4a95c49efaf53825d13c32feab49"},{"byte_length":886,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/index.md","schema_version":"2.0","source_sha256":"8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb","stable_ref":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1","version_id":"sg:material/path-sha256-aa41c9d5c021c9d6a6e06df6c53297c0d271f71b3a299303d8a330644f6998f1@sha256:8687d8285459805273e27f5ca9b5fcd10fbd0899786443445666155630bbf4bb"},{"byte_length":2510,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claim-records/stylegallery-multidomain-scope.md","schema_version":"2.0","source_sha256":"fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19","stable_ref":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399","version_id":"sg:material/path-sha256-abaaac8db5d4ad334a6b84253118bdd282aba92b9a55daf5710b2b6d6d14c399@sha256:fb5f0cebaaea0998c5dd05721b2e3818a2f91e2407628c740da08877d5b94a19"},{"byte_length":6107,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/comparison-workflow.md","schema_version":"2.0","source_sha256":"33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4","stable_ref":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d","version_id":"sg:material/path-sha256-ae7b1857d77dd0986c8000255f0bb7eeb79e3750bc19cdd426ca7d571f120a6d@sha256:33746616932fe730285607c0cda5bf8019500884cb5cb67fdce0285ef71af0c4"},{"byte_length":4989,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/windows-interaction.md","schema_version":"2.0","source_sha256":"f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d","stable_ref":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32","version_id":"sg:material/path-sha256-b33142b70ab23f291695fe451ad410aeddc24b3f4853d817a731a26072dc4c32@sha256:f10b6f05b647a2623f0510da2c38e6232809a34c3d19e52fa3f4241724a0b11d"},{"byte_length":20266,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"README.md","schema_version":"2.0","source_sha256":"0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38","stable_ref":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5","version_id":"sg:material/path-sha256-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5@sha256:0a761242328def2ebd41f0c2c71282f615f45278713d7d5f004d4a9d754d0c38"},{"byte_length":7121,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/source-vocabularies.md","schema_version":"2.0","source_sha256":"ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a","stable_ref":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309","version_id":"sg:material/path-sha256-b3c9a665848204252a912ce4a369ccbd4e5b6e63209fa8cd393b0854d3a3b309@sha256:ac116002c41eb17fd817b0190fdb93fda3262ae38199d74d6e727dba7f22321a"},{"byte_length":4802,"domain":"platform-guides","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"platform-guides/adaptation-workflow.md","schema_version":"2.0","source_sha256":"8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece","stable_ref":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561","version_id":"sg:material/path-sha256-b59c0c528c094b9299490c7964ed10a188ae059e0bee97688f68c7edbfe8d561@sha256:8aea8bc14348b793e25e69cbbe6437e5c1f27a236227a012acb8a9dc5995eece"},{"byte_length":31273,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GOVERNANCE.md","schema_version":"2.0","source_sha256":"e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526","stable_ref":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447","version_id":"sg:material/path-sha256-b60c6a93e9f74ee52e71bf33781c2870b8395c8c5a34f00f61305343cb8d8447@sha256:e5548696eb312be4f64c819c738f4c1116fad774e28b9aac4b44ac993ffb2526"},{"byte_length":2082,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/index.md","schema_version":"2.0","source_sha256":"2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba","stable_ref":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f","version_id":"sg:material/path-sha256-b6b2ce37f6c04566c4dc6a18252e1d89fc387c7e79f4463406deff3e8b54a81f@sha256:2b4af7651d53a7b08e67a52aa8413c145d7a9dc2f7a057dc5c40025aef200eba"},{"byte_length":6870,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/worked-examples.md","schema_version":"2.0","source_sha256":"0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1","stable_ref":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0","version_id":"sg:material/path-sha256-b6d27588195494826083fe6ad6f8f08ba0ad8016a0f64a0d442fde1414c0b1a0@sha256:0454f276162f437c479e93278971be7afb99d369cbfcfcd5fdc20df65a39b8a1"},{"byte_length":4657,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/concept-families.md","schema_version":"2.0","source_sha256":"d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f","stable_ref":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16","version_id":"sg:material/path-sha256-b73e23057d4ca2412792354487c8709f1bcfe844eaf3c154fec167b48c80bd16@sha256:d44d8782dc1c373757baf46064d8f5b44cd226025e4bad269006141e50be8c2f"},{"byte_length":2699,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/accessibility-evidence.md","schema_version":"2.0","source_sha256":"fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e","stable_ref":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3","version_id":"sg:material/path-sha256-b7de05a789ffd0312cd9e9b1828ce113b1fcc3dcf5a87b73295a09e1004bfbe3@sha256:fa07b1354ee7973317512b2f84d37d1f3965465962df74e9e1ee21a47f66ae4e"},{"byte_length":4646,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/decision-tree.md","schema_version":"2.0","source_sha256":"4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb","stable_ref":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa","version_id":"sg:material/path-sha256-b87b58f118ff70b806e2b1834e5a03e43a877d489f4af3f55ebfb4ab4a9fc8fa@sha256:4282cfbc372755a2aa043a1579df1a80d2c82fa2ea5d6f17a6327d22b8c859bb"},{"byte_length":6672,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"CATALOG.md","schema_version":"2.0","source_sha256":"6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a","stable_ref":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99","version_id":"sg:material/path-sha256-bb476268db5ed6523e97a56f61d3ec99765899bf3269949ee1aac390f48f1b99@sha256:6902e0b03d958816abc142a950cedb51a9a623c1acc5b1a7a94cc4f38a70eb8a"},{"byte_length":3837,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/split-sidebar/sidebar.md","schema_version":"2.0","source_sha256":"75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e","stable_ref":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2","version_id":"sg:material/path-sha256-bd2be8d5407fa6cf6a9bfaacf5d35e3b08eadea21e394cb0951a4e22290720a2@sha256:75edbf6107702e2c44f8ebdd724ec9b40ec8362729441c0ef1e073444c9ddb8e"},{"byte_length":2932,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/consumer-migration-evidence.md","schema_version":"2.0","source_sha256":"71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a","stable_ref":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9","version_id":"sg:material/path-sha256-bd5e2b1ee33580f11a3a67b5306df57a54a539d5e944331511eb72fa9fe4e8f9@sha256:71ad54bf72f5c968b8a0c5bd02b988660c6f441dbda13f9142d57842be498e6a"},{"byte_length":3601,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/cover.md","schema_version":"2.0","source_sha256":"c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f","stable_ref":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7","version_id":"sg:material/path-sha256-bf39299bae7cfb1c999e3d86ab9106128c573c2a83c8f2f08f14572a94f0c5a7@sha256:c78423cba85c44acfe985b44f7da72dfa52fdb20de2c87beb9d085062b451b6f"},{"byte_length":3660,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/twelve-span-grid.md","schema_version":"2.0","source_sha256":"7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879","stable_ref":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094","version_id":"sg:material/path-sha256-c0d7d6f086cfa95c3163b3cf7692cee97e3e16dba0de964706bee174841d2094@sha256:7747b78dbe22604d9d4944f32ad89b8337961f76d2a8f2775c9efb7fe67ba879"},{"byte_length":3405,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/stacking/step-nav.md","schema_version":"2.0","source_sha256":"1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438","stable_ref":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262","version_id":"sg:material/path-sha256-c1d82e696f9b42772a53643bf7ac7fbddc964e528aa09fb7f155b442660b6262@sha256:1b74a5b72ab2352f35f40247da26ab0eb3cecdc8a75754a071cacf263537a438"},{"byte_length":18956,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/executable-evidence.md","schema_version":"2.0","source_sha256":"fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1","stable_ref":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8","version_id":"sg:material/path-sha256-c609296f2ae6b1d6234dbb3497f9d6a45208ba0470a3d8b4a861be79bae797c8@sha256:fb441412dabc0b57aeac8355f92321a9873aa67612e489e3137953d7680312b1"},{"byte_length":8221,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"DOMAINS.md","schema_version":"2.0","source_sha256":"cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c","stable_ref":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab","version_id":"sg:material/path-sha256-d190306dc8097b7ef0ec2a57ed020076a9f325b48f083aba3f62de5e886af5ab@sha256:cdd0de68ce95ba3517f8fa4d05272086b01ab8fe330fc5049e5139cd467d002c"},{"byte_length":910,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/index.md","schema_version":"2.0","source_sha256":"fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2","stable_ref":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301","version_id":"sg:material/path-sha256-d312b8ccb45a40e38e38e6d6d1e95ee074d50714cdcf872de9afd4e4254a4301@sha256:fecba190f4bcb2f3e7fbce19c02181fae7613fc51da6b20539a17ef5d37e78f2"},{"byte_length":3707,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/in-line-grouping/split-nav.md","schema_version":"2.0","source_sha256":"b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432","stable_ref":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587","version_id":"sg:material/path-sha256-d657fc87c00278cd49d87fb6a43b8596834943cf85f71d7cc873c102e56a5587@sha256:b797721ee74570f537fd79fbdec6077048764723f176c995341f5b8b8b1de432"},{"byte_length":3433,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/index.md","schema_version":"2.0","source_sha256":"e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99","stable_ref":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6","version_id":"sg:material/path-sha256-db7c4f17ca762b1169e43401710a0d95c03161ec7e38143c65fd8e888236f1e6@sha256:e9180d2a1480ce6c2e17d809e9d3e004acda1e09143bdaf71839d49f47a8da99"},{"byte_length":3944,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/consumer-migration.md","schema_version":"2.0","source_sha256":"a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29","stable_ref":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a","version_id":"sg:material/path-sha256-ddc1d0e9544d4a08bb43703f230dcdfea087f2faf90d9a49e4aa22695b07178a@sha256:a9e61500abbce740ca43f941aeb15a7bfebad46585584e0a45da59ce94334f29"},{"byte_length":2741,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/principles.md","schema_version":"2.0","source_sha256":"1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4","stable_ref":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c","version_id":"sg:material/path-sha256-deba5ef88dc8bdc60813a398130b8a3ca3a8d01124f45823f5834ebda967996c@sha256:1834b852ae156c7362d4f9b223b4d72dc6b708a1f2a2964022955940a9c1fdc4"},{"byte_length":3655,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"consumer-reference/index.md","schema_version":"2.0","source_sha256":"6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208","stable_ref":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b","version_id":"sg:material/path-sha256-df7a6343d7be1e9be37c6f618a7e72b0ac51be6143f64f419b4520e5f37c2b6b@sha256:6c3fbad093a7becb9f2ca52a344a65dd02b3da51f49a915af6426a61f2a06208"},{"byte_length":338,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/centering/index.md","schema_version":"2.0","source_sha256":"b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30","stable_ref":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8","version_id":"sg:material/path-sha256-e1319590d4485778ddb92cc3c1f781b4f7e06d934d5849336f96588ee3592aa8@sha256:b7125eb4c4d705a1bb2d57ac7e9d4cf140627473aac687331573bf30b0decd30"},{"byte_length":3536,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/containment/content-limiter.md","schema_version":"2.0","source_sha256":"505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c","stable_ref":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750","version_id":"sg:material/path-sha256-e1c9957e26f0e3ee1235a070fbe69d31ed5974bce8c4fe14c63537909991a750@sha256:505df6aac4ab3b5a9041cedaa04e74c2253ce2f8b9a12abf3d8835d2a9ce169c"},{"byte_length":3595,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/grid-repetition/masonry-approx.md","schema_version":"2.0","source_sha256":"a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654","stable_ref":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb","version_id":"sg:material/path-sha256-e277a76f0335dd426d8b64001be63fd56ab91a03c4ade0526ea10c4631251abb@sha256:a176ffb2966ea5ed8b3ad22d013ed2fdd82e54a904be057a9e391087d4ad6654"},{"byte_length":8104,"domain":"design-engineering","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-engineering/consumer-migration-readiness.md","schema_version":"2.0","source_sha256":"86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276","stable_ref":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4","version_id":"sg:material/path-sha256-e2d4ce07445db974a7f32e5eec810897cfb565df619df52961f3eefa5a9c3fd4@sha256:86dc5148b052b372b0132d159d2c3ab819a859b5f210e3a1a994c29c7478b276"},{"byte_length":1081,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/hci-evaluation.md","schema_version":"2.0","source_sha256":"9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae","stable_ref":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da","version_id":"sg:material/path-sha256-e5f16e01f3fb13f94a214c8a9edf9b5c31c4ebca963802dfc624e8863e98f8da@sha256:9deeeeb4c0fc9b24d79e68b6e38236f2993da2544ecc0d130256136d2b062aae"},{"byte_length":5333,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/index.md","schema_version":"2.0","source_sha256":"cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed","stable_ref":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc","version_id":"sg:material/path-sha256-e678b2e7915fc4abf6a019c86f8a7d74b8939a60220cb08a810900e1b5cbc2bc@sha256:cfd3973a2e472f1e9d53ea9fa89f00f991fbe5d0e5fb0e4778ebd7477da9c7ed"},{"byte_length":9887,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/conflict-cases.md","schema_version":"2.0","source_sha256":"cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf","stable_ref":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19","version_id":"sg:material/path-sha256-ebd0ba0ee0bdb5529496beddce60a4e78b65d94c9650c57ed7499427d417aa19@sha256:cdf592866d054278d6c53fff603f4a67e0cd846194fef8b897a6ea94baaf5dcf"},{"byte_length":2742,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/claims.md","schema_version":"2.0","source_sha256":"8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c","stable_ref":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114","version_id":"sg:material/path-sha256-ec031d838419829b80465b2f31de260e70117bdd283988e0653441d439a65114@sha256:8f28f2a42891946bf2929fb2bf5b122bfe63edb8b47a0b926183760d2bc9b15c"},{"byte_length":2727,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/evidence/accessibility.md","schema_version":"2.0","source_sha256":"cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95","stable_ref":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7","version_id":"sg:material/path-sha256-eeea8e16127c63b10e90f626430df368a97fac8108b419c1cba89805b6014ce7@sha256:cc5a68a5e1721914fd00537b66aecb4e58c92c89962cc5fabd5ed0fc39930e95"},{"byte_length":6696,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"layout/index.md","schema_version":"2.0","source_sha256":"03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2","stable_ref":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54","version_id":"sg:material/path-sha256-f05a4c57bb475ff014a22abaa9120b04f05bc02d8bbe11f57677bd7662276f54@sha256:03bba4cd15b3f507ae44094c472c8839e4b1f875ded63d9f13ec868ee8e184b2"},{"byte_length":3844,"domain":"layout","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"GUIDE.md","schema_version":"2.0","source_sha256":"f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da","stable_ref":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7","version_id":"sg:material/path-sha256-f0d91300831f8bc350b2883e8adf82bdbcb79f482585168420831991e320ade7@sha256:f105ff6ed3c6923ea43dacc4c40632affee4874e086a333b9ce3fa2a786234da"},{"byte_length":1668,"domain":"motion","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"motion/index.md","schema_version":"2.0","source_sha256":"f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538","stable_ref":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f","version_id":"sg:material/path-sha256-f56daa946060f9e1f75d42246e0fa7a288093bf6d902cc9705a2c5b13c65310f@sha256:f762182ff0cb3fcb96ccc357b439eff1185a3af7487e9171e50bbf1f38a6f538"},{"byte_length":1748,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/layout.md","schema_version":"2.0","source_sha256":"e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882","stable_ref":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3","version_id":"sg:material/path-sha256-f62872ebce1ea7ffc61cd5522572c6d0f6aecd782c9e30df376bdcd96c7e73d3@sha256:e7306ec2101bcbc1f27153160796ef56ba7846d6c7e5219d92e56b77e0703882"},{"byte_length":347,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/media-fit/index.md","schema_version":"2.0","source_sha256":"24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6","stable_ref":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e","version_id":"sg:material/path-sha256-f77cbae09754bece5a3217dbf7cf766189bb5302d6296fab69bd6f5b3d6e495e@sha256:24fa906c939cad71b0f175aab12ec75a16718c66446a31bedfcd3d1d46a67ae6"},{"byte_length":1550,"domain":"shared","lifecycle":"stable","media_type":"text/markdown","record_kind":"material","repository_path":"quality/gates/rationale.md","schema_version":"2.0","source_sha256":"875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab","stable_ref":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6","version_id":"sg:material/path-sha256-f797bc85a767e4a6ea1339cf7cc91d2504c722f3a02614d6174e59978db906a6@sha256:875771978927372959dea499fba00bf1fd0d0d2426d35601aa3e418698ccd1ab"},{"byte_length":4183,"domain":"layout","lifecycle":"generated","media_type":"text/markdown","record_kind":"material","repository_path":"patterns/viewport-shell/holy-grail.md","schema_version":"2.0","source_sha256":"b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031","stable_ref":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9","version_id":"sg:material/path-sha256-f968729fb5885c124f8e1cab2c273f7e3b6fefd858be7f71d1b3958b48f4f2a9@sha256:b5b1335b55674e703636d1d205b80f8da8e99768ed7de9505f99afe233449031"},{"byte_length":6167,"domain":"design-terminology","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"design-terminology/index.md","schema_version":"2.0","source_sha256":"9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1","stable_ref":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55","version_id":"sg:material/path-sha256-fa36065f2020c60e811e07b08ff9ab0969520183389a14652d456f7cf7364d55@sha256:9a9e449f00bbf9e39b88fdc91260d4ff3669042f8e0afe64ed59e837d6e5c9c1"},{"byte_length":4863,"domain":"game-ui","lifecycle":"experimental","media_type":"text/markdown","record_kind":"material","repository_path":"game-ui/decision-tree.md","schema_version":"2.0","source_sha256":"d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4","stable_ref":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15","version_id":"sg:material/path-sha256-fb069274a780d16a4be2cfa1d345e1200d3018997c88f4ee40ba494e682a3d15@sha256:d5341432032b42da8de47aed0c63810ec8716bca503571b6d556c7cc314f7df4"}],"record_kind":"material_manifest","schema_version":"2.0","stable_ref":"sg:manifest/material-admission-v2","version_id":"sg:manifest/material-admission-v2@sha256:9a1444f71f6a6868a7139f24060322b151477949493a08d25ca6d7e4a9676c02"} \ No newline at end of file diff --git a/consumer-reference/policies/lifecycle-ag-ui-extension.json b/consumer-reference/policies/lifecycle-ag-ui-extension.json index 68944d7..53684cf 100644 --- a/consumer-reference/policies/lifecycle-ag-ui-extension.json +++ b/consumer-reference/policies/lifecycle-ag-ui-extension.json @@ -183,12 +183,12 @@ "role": "repository_reference", "lines": { "start": 1, - "end": 77 + "end": 80 }, - "file_sha256": "15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2", - "content_id": "sha256:15feaa74d69d689e2a7e884cd9224297cb8a02eb9025b29b6d4e0b69f53394e2", + "file_sha256": "524b2225be95f0408e4842b146755d36b09dc01527312fa0b12b8a6e95032fac", + "content_id": "sha256:524b2225be95f0408e4842b146755d36b09dc01527312fa0b12b8a6e95032fac", "reference_lines": [ - 33 + 36 ], "reference_kinds": [ "documentation_reference" diff --git a/examples/domain-interactions/verification.md b/examples/domain-interactions/verification.md index 64b4347..e6b185c 100644 --- a/examples/domain-interactions/verification.md +++ b/examples/domain-interactions/verification.md @@ -71,6 +71,9 @@ All 21 original core/source digests, six CLI byte-output goldens, registry recor Implementation handoff: `consumer_reference: consumer-reference/agent-native/registry.json`. No design-terminology term/relation records are used by this runtime implementation. +Consumer reference: declared +Consumer reference record: consumer-reference/agent-native/registry.json + ## Navigation Parent: [Interaction Lab](README.md). diff --git a/log.md b/log.md index 62339ce..cbe23cd 100644 --- a/log.md +++ b/log.md @@ -13,6 +13,9 @@ Implementation handoff: `consumer_reference: consumer-reference/agent-native/registry.json`. +Consumer reference: declared +Consumer reference record: consumer-reference/agent-native/registry.json + Terminology reliance: `figma.variable`, `figma.mode`, `figma.collection`, `figma.component`, `dtcg.token`, `dtcg.group`, `dtcg.token.draft2`, `css.custom-property`, `carbon.component`, `carbon.pattern`, and `stylegallery.pattern`. Relation types used in the records: `partial_overlap`, `implementation_representation`, `not_comparable`, `same_label_different_meaning`, and `near_equivalent`. Their named Figma, DTCG, CSSWG, Carbon, and local Layout sources were rechecked on 2026-09-08; this is an author review, not independent semantic approval. Direct locators and comparison boundaries are in [Term Cases](design-terminology/conflict-cases.md). ## 2026-08-18 diff --git a/scripts/validate-lifecycle-disposition.mjs b/scripts/validate-lifecycle-disposition.mjs index 30e5c66..fcbc607 100644 --- a/scripts/validate-lifecycle-disposition.mjs +++ b/scripts/validate-lifecycle-disposition.mjs @@ -594,6 +594,8 @@ const PAGE_ARCHIVE_PACKET = Object.freeze([ "records/consumer-conformance.json", "provenance/source-commit.txt", ]); const PAGE_ARCHIVE_PROTECTED = Object.freeze(PAGE_PROTECTED.map(([repositoryPath, expectedSha, role]) => { + // Historical archive bytes remain pinned when current authoring documentation changes. + if (repositoryPath === "quality/evidence/executable-evidence.md") return [repositoryPath, "a0ae7f2c355ab26293cdb9e96b31d91d50a024ed404aa0c8297a65b91af73a33", role]; if (repositoryPath === "tests/consumer-conformance.spec.mjs") return [repositoryPath, "a7b7e117fff636830029e9923fc828ed92d1d22ac91f3efde338eb154b0101e7", role]; if (repositoryPath === "tests/fixtures/consumer-conformance-scenarios.mjs") return [repositoryPath, "67aa1931764237ee9485d0e81606c2721297e2c3517a321be4c4e945149fbe58", role]; return [repositoryPath, expectedSha, role];

    n6XarnQ{*a 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