a2ui-project / a2ui-project/a2ui

Weekly A2UI Compliance Report (2026-07-16)

Aperta
#2,025 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
component: specification P3 status: needs review
Lingua principale
TypeScript
Stelle
16.4k
Fork
1.3k
Merge medio
2g 13h
PR unite (30g)
134

Descrizione

# A2UI Compliance Verification Report

This report consolidates the codebase blueprint compliance, documentation synchronization, and test quality audits for the A2UI repository.

## Summary

The repository audit was conducted on July 16, 2026. The overall health of the codebase is solid with comprehensive test coverage in Python and TypeScript, but several key areas require follow-up:
* **Swift SDK** is currently only a placeholder package and lacks actual implementation code.
* **Blueprint Commits** need to be baselined to track actual changes instead of showing all codebases as Out of Date.
* **Documentation** contains a few minor typos and outdated paths.
* **Test Quality** is generally high but has some weak placeholder assertions and dummy tests (especially in Swift).

## Recommendations

1. **[High Priority] Implement Swift SDK**: Begin actual implementation of the Swift SDK to replace the current placeholder target.
2. **[Medium Priority] Baseline Codebase Blueprints**: Update the `module_blueprint_commit` hashes in codebase blueprints to align them with the latest module specs.
3. **[Low Priority] Improve Test Assertions**: Enhance the Python agent SDK parser tests to assert structural properties of the parsed JSON rather than just nullability, and write proper unit tests for Swift core packages.
4. **[Low Priority] Sync Documentation**: Fix the outdated path in the Python agent SDK README and the typo in the Angular renderer README.

---

## Codebase Blueprint Compliance Audit

### Summary Status

| Codebase Implementation | Associated Module | Status | Commits Behind | Current Commit | Latest Commit |
|---|---|---|---|---|---|
| `agent_sdks/python/a2ui_agent` | `a2ui_inference` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `agent_sdks/python/a2ui_core` | `a2ui_core` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `renderers/angular` | `a2ui_framework_adapter` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `renderers/flutter` | `a2ui_framework_adapter` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `renderers/lit` | `a2ui_framework_adapter` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `renderers/react` | `a2ui_framework_adapter` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `renderers/web_core` | `a2ui_core` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |
| `swift/core` | `a2ui_core` | 🟡 Out of Date | 1 | `null` | `a2b4c906` |

### Details by Codebase

#### 📦 `agent_sdks/python/a2ui_agent` (🟡 Out of Date)
* **Module**: `a2ui_inference`
* **Current Pinned Commit**: `null`
* **Latest Module Commit**: `a2b4c90622fee9ad1f07ee1e4c3c73d905c36381`
* **Reason/Info**: Codebase is behind by 1 commit(s)
* **Specification Status**: Implements necessary features (`CatalogConfig`, `A2uiCatalog`, `InferenceStrategy`, `PayloadFixer`, `A2uiValidator`, and `A2uiStreamParser`).

#### 📦 `agent_sdks/python/a2ui_core` (🟡 Out of Date)
* **Module**: `a2ui_core`
* **Current Pinned Commit**: `null`
* **Latest Module Commit**: `a2b4c90622fee9ad1f07ee1e4c3c73d905c36381`
* **Reason/Info**: Codebase is behind by 1 commit(s)

#### 📦 `renderers/web_core` (🟡 Out of Date)
* **Module**: `a2ui_core`
* **Current Pinned Commit**: `null`
* **Latest Module Commit**: `a2b4c90622fee9ad1f07ee1e4c3c73d905c36381`
* **Reason/Info**: Codebase is behind by 1 commit(s)

#### 📦 `swift/core` (🟡 Out of Date)
* **Module**: `a2ui_core`
* **Current Pinned Commit**: `null`
* **Latest Module Commit**: `a2b4c90622fee9ad1f07ee1e4c3c73d905c36381`
* **Reason/Info**: Codebase is behind by 1 commit(s)
* **Specification Status**: Currently a placeholder package with no functional core logic.

---

## Code & Documentation Sync Audit

### Documentation Drift
* **Outdated paths in README**:
* `agent_sdks/python/a2ui_agent/README.md` documents `validator.py` under the directory `src/a2ui/schema/`, but it has been moved to `src/a2ui/validation/validator.py` (leaving only a deprecated redirect file).
* **Missing Documentation**:
* `swift/core` lacks a user-facing `README.md` detailing setup, compile, or test instructions (only `AGENTS.md` and `CODING_STANDARDS.md` exist).

### Readme Errors
* **Typo in token reference**:
* `renderers/angular/README.md` line 31 mentions the `A2UI_RENDER_CONFIG` injection token, but the code snippets and the actual exports use `A2UI_RENDERER_CONFIG`.

---

## Test Quality & Assertions Audit

### Audited Test Suites
* `agent_sdks/python/a2ui_core/tests` (201 tests passed)
* `agent_sdks/python/a2ui_agent/tests` (368 tests passed)
* `renderers/web_core/src/v0_9` (271 tests passed)
* `swift/core/Tests` (8 tests passed)

### Weak Assertions
* `agent_sdks/python/a2ui_agent/tests/test_formats.py` line 83:
```python
assert parsed[0].a2ui_json is not None
```
*Issue*: Only asserts that the parsed JSON block is not null without verifying any structure or field values.
* `agent_sdks/python/a2ui_agent/tests/test_formats.py` line 97:
```python
assert len(parts_json) == 1
```
*Issue*: Checks the number of parts converted, but fails to verify the converted parts payload contents.

### Empty & Placeholder Tests
* `swift/core/Tests/A2UICoreTests/A2UICoreTests.swift`:
```swift
@Test func placeholderTest() {
#expect(Bool(true))
}
```
*Issue*: Placeholder test case with a dummy assertion that always succeeds.
* `swift/swiftui/Tests/A2UISwiftUITests/A2UISwiftUITests.swift`:
```swift
@Test func placeholderTest() {
#expect(Bool(true))
}
```
*Issue*: Placeholder test case with a dummy assertion that always succeeds.
* `swift/core/Tests/A2UIJSONTests/A2UIJSONTests.swift`:
```swift
@Test func placeholderTest() {
#expect(A2UICommonSchema.baseURI == ...)
}
```
*Issue*: Placeholder test case verifying a static base URI, but does not execute any component or serialization logic.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.