Skip to content

docs: Split unified renderer_guide.md into core_sdk_spec.md, framework_adapter_spec.md, and sdks_spec.md for v0.9.1 and v1.0#1608

Open
jacobsimionato wants to merge 4 commits into
a2ui-project:mainfrom
jacobsimionato:fix-guide-2
Open

docs: Split unified renderer_guide.md into core_sdk_spec.md, framework_adapter_spec.md, and sdks_spec.md for v0.9.1 and v1.0#1608
jacobsimionato wants to merge 4 commits into
a2ui-project:mainfrom
jacobsimionato:fix-guide-2

Conversation

@jacobsimionato

@jacobsimionato jacobsimionato commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Description of Changes

This Pull Request restructures and splits the unified, single-file renderer_guide.md into three highly focused, modular specifications across both version v0.9.1 and v1.0 folders:

  1. sdks_spec.md (Unified SDK Architecture): Focuses on the global ecosystem and layout:

    • Ecosystem Dependency Structure: Describes the modular three-tier layout (Core SDK $\leftarrow$ Inference SDK and Framework Adapters).
    • Library Responsibilities: Outlines the specific functional mandates for A2UI Core SDK, Inference SDK, and Framework Adapters.
    • Development & Conformance Process: Highlights the unified spec-driven blueprint process and conformance tests to safely port features across many languages.
  2. core_sdk_spec.md (A2UI Core SDK Specification): Focuses strictly on programmatic, framework-agnostic data and state management:

    • Core SDK interfaces (ComponentApi, SurfaceModel, ComponentContext).
    • Prerequisites (Schema and Observable/Signal libraries).
    • Design principles (Add Pattern for Composition, Standard multi-cast Observer Pattern, Granular Reactivity).
    • Protocol models, JSON pointer scoped evaluation (relative pathing, cascade/bubble notifications), and MessageProcessor.
    • Core basic catalog APIs, Strongly-Typed catalogs, and string expression logic (formatString).
  3. framework_adapter_spec.md (A2UI Framework Adapter Specification): Focuses on visual presentation, lifecycle mapping, and UI testing:

    • Rendering Data Flow: Describes the precise data-to-view pipeline in the context of client-side visual A2UI rendering.
    • Base adapter views (ComponentImplementation functional/stateful hooks, ComponentInstance, and Surface root views).
    • Component rendering strategies (direct vs binder-based vs automated dynamic language binders).
    • Lifecycle rules (lazy subscriptions, path stability, unmount disposal, and relative context propagation in templates).
    • Interactive validation (Checkable traits) and visual catalogue overrides.
    • Comprehensive layout architecture and integration test requirements for the standard reference Gallery App.

Additionally, the workspace navigation instructions in .agents/skills/a2ui-sdk-design/SKILL.md have been updated to map to the new files.

Rationale

By moving from a dual-layered layout to a strict three-tiered layout (Core, Inference, Framework Adapters), A2UI achieves:

  • Clean Separation of Concerns: Decoupling high-level architecture narratives (sdks_spec.md) from concrete, programmatic state layers (core_sdk_spec.md) and platform-native UI renderers (framework_adapter_spec.md).
  • Complete Decoupling: Facilitating the implementation of headless servers (generating/validating streams) and client devices (orchestrating local inference or rendering layouts) with zero unnecessary dependency leakage.
  • Maintainability: Simplifying the codebase footprint for spec-driven developer agents and open-source contributors.

Testing/Running Instructions

Reviewers can verify the changes by doing the following:

  1. File Verification: Confirm that the files core_sdk_spec.md, framework_adapter_spec.md, and sdks_spec.md exist under both specification/v0_9_1/docs/ and specification/v1_0/docs/, and that the legacy renderer_guide.md files have been correctly deleted.
  2. Prettier Verification: Run Prettier formatting to ensure syntax and structure are aligned:
    ./scripts/fix_format.sh
  3. Reference Verification: Inspect .agents/skills/a2ui-sdk-design/SKILL.md to confirm the navigation points correctly to the split specs.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a major restructuring of the A2UI documentation by splitting the architecture into a 'Core SDK Specification' and a 'Framework Adapter Specification'. It updates the documentation to reflect these changes, including updated agent implementation guides and cross-references. The review comments identified several broken path references in the documentation that pointed to the wrong version directory (v0_9 instead of v0_9_1). These have been noted for correction.

- `specification/v0_9/json/server_to_client.json` (message envelopes)
- `specification/v0_9/json/catalogs/minimal/minimal_catalog.json` (your initial target)
- `specification/v0_9/docs/basic_catalog_implementation_guide.md` (for rendering and spacing rules for when you get to the basic catalog)
- `specification/v0_9/docs/basic_catalog_implementation_guide.md` (for functional specs and spacing rules for when you get to the basic catalog)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path reference uses v0_9 instead of v0_9_1. Since this file is located under the specification/v0_9_1/ directory, all references to the specification paths in this section (including lines 517–520) should be updated to use v0_9_1 to ensure consistency and prevent broken links.

Suggested change
- `specification/v0_9/docs/basic_catalog_implementation_guide.md` (for functional specs and spacing rules for when you get to the basic catalog)
- specification/v0_9_1/docs/basic_catalog_implementation_guide.md (for functional specs and spacing rules for when you get to the basic catalog)

Thoroughly review:

- [A2UI Core SDK Specification](core_sdk_spec.md) (for state and message structures).
- `specification/v0_9/docs/basic_catalog_implementation_guide.md` (for rendering, typography, alignment, and spacing rules).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path reference uses v0_9 instead of v0_9_1. Since this specification is for version v0.9.1 and resides in the specification/v0_9_1/ directory, the path should be updated to point to v0_9_1.

Suggested change
- `specification/v0_9/docs/basic_catalog_implementation_guide.md` (for rendering, typography, alignment, and spacing rules).
- specification/v0_9_1/docs/basic_catalog_implementation_guide.md (for rendering, typography, alignment, and spacing rules).


Build the Gallery App following the requirements in **Section 7**.

- Load JSON samples from `specification/v0_9/json/catalogs/minimal/examples/`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path reference uses v0_9 instead of v0_9_1. Update the path to use v0_9_1 to match the correct directory structure for this version.

Suggested change
- Load JSON samples from `specification/v0_9/json/catalogs/minimal/examples/`.
- Load JSON samples from specification/v0_9_1/json/catalogs/minimal/examples/.


- **Framework Library**: Implement all remaining UI widgets and traits (such as `Checkable`).
- **Tests**: Formulate and run comprehensive unit and integration test cases to verify static rendering, layout alignment, two-way bindings, and scoped actions.
- Update the Gallery App to load samples from `specification/v0_9/json/catalogs/basic/examples/`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path reference uses v0_9 instead of v0_9_1. Update the path to use v0_9_1 to match the correct directory structure for this version.

Suggested change
- Update the Gallery App to load samples from `specification/v0_9/json/catalogs/basic/examples/`.
- Update the Gallery App to load samples from specification/v0_9_1/json/catalogs/basic/examples/.

@jacobsimionato jacobsimionato changed the title docs: Split unified renderer_guide.md into core_sdk_spec.md and framework_adapter_spec.md for v0.9.1 and v1.0 docs: Split unified renderer_guide.md into core_sdk_spec.md, framework_adapter_spec.md, and sdks_spec.md for v0.9.1 and v1.0 Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant