Skip to content

feat(v1_0): inline catalog instructions and remove instructions.md#1590

Open
gspencergoog wants to merge 4 commits into
a2ui-project:mainfrom
gspencergoog:inline_instructions
Open

feat(v1_0): inline catalog instructions and remove instructions.md#1590
gspencergoog wants to merge 4 commits into
a2ui-project:mainfrom
gspencergoog:inline_instructions

Conversation

@gspencergoog

Copy link
Copy Markdown
Collaborator

Description

This addresses feedback from PR #1522 discussing the drawbacks of URI references inside catalog definitions sent to LLMs.

  • Modify the Catalog schema definition in client_capabilities.json to accept plain Markdown strings for instructions instead of requiring relative file URIs.
  • Inline the basic catalog layout instructions directly into catalog.json and delete the external instructions.md file entirely.
  • Update the evaluation harness and protocol documentation to reflect that catalog instructions are inlined Markdown strings.

Modify the Catalog schema definition in client_capabilities.json to accept plain Markdown strings for instructions instead of requiring relative file URIs.

Inline the basic catalog layout instructions directly into catalog.json and delete the external instructions.md file entirely.

Update the evaluation harness and protocol documentation to reflect that catalog instructions are inlined Markdown strings.

This addresses feedback from PR a2ui-project#1522 discussing the drawbacks of URI references inside catalog definitions sent to LLMs.
gemini-code-assist[bot]

This comment was marked as resolved.

@jgindin jgindin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What about the changes to tools/build_catalog/assemble_catalog.py ?

…tructions in assembler

Define strict TypeScript interfaces (CatalogSchema, JsonSchema, ProtocolSchemas) in types.ts to describe protocol and catalog schema structures.

Replace loose Record<string, any> and any type annotations across the evaluation script (index.ts, validator.ts, generator.ts, evaluator.ts, test_validator.ts) with ProtocolSchemas.

Update Genkit flow input schemas in generation_flow.ts and evaluation_flow.ts to use z.custom<ProtocolSchemas>().

Update tools/build_catalog/assemble_catalog.py to support preserving inline Markdown instructions across source catalogs and configure --instructions with action="extend" to inject external instruction files.

Add unit test in test_assemble_catalog.py to verify instructions accumulation across catalogs and CLI files.

This addresses code review feedback on PR a2ui-project#1590 requesting strict typing for schema structures and ensures robust assembler support for inline instructions.
@gspencergoog

gspencergoog commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

What about the changes to tools/build_catalog/assemble_catalog.py ?

Good point, I was just focusing on the spec. I've updated the assemble_catalog.py script to take zero or more --instructions file path arguments that will be read, concatenated and added to the instructions string field in the catalog.

@gspencergoog gspencergoog force-pushed the inline_instructions branch from f5ac1aa to d1e0d40 Compare June 9, 2026 18:06
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.

3 participants