Native Artifact Bundles
Native artifact bundles are collections of files uploaded to the workbench for Android or iOS accessibility audits. Each bundle is validated before the audit can start.
Artifact Types
| Type | Android | iOS | Description |
|---|---|---|---|
view_hierarchy | Yes | Yes | XML dump of the view tree with accessibility properties |
espresso_output | Yes | No | Espresso accessibility test results (XML) |
lint_output | Yes | No | Android Lint accessibility check output (XML) |
xctest_output | No | Yes | XCTest accessibility test results |
source_file | Yes | Yes | Kotlin/Swift source files for static analysis |
screenshot | Yes | Yes | Screenshots for visual context (metadata only, not analyzed programmatically) |
Audit Modes
Each audit mode has different artifact requirements.
source_only
Requires: at least one source_file.
Runs tree-sitter parsing against source files to detect accessibility patterns.
No runtime artifacts needed.
artifact_only
Requires: at least one view_hierarchy.
Analyzes runtime artifacts without source code. Additional test and lint
artifacts improve confidence but are not required.
hybrid
Requires: at least one source_file and at least
one view_hierarchy. Combines source analysis with runtime artifact
analysis. Produces the highest confidence findings.
manual_assist
Requires: no minimum. Accepts any combination of artifacts. Designed for expert-guided review where the consultant decides what to upload.
Upload Limits
| Limit | Value |
|---|---|
| Maximum file size | 50 MB per file |
| Maximum bundle size | 200 MB total |
| Maximum file count | 50 files per bundle |
Validation Checks
Validation runs when you explicitly validate the bundle and again when starting a run. Checks are evaluated in order:
- Total bundle size does not exceed 200 MB.
- File count does not exceed 50.
- No individual file exceeds 50 MB.
- All artifact types are allowed for the selected platform.
- Required artifact types for the audit mode are present.
- Bundle is not empty (except in
manual_assistmode). - Bundle is not screenshots-only for
artifact_onlymode.
Confidence Notes
The validator attaches confidence notes based on what was uploaded:
| Bundle Contents | Note |
|---|---|
| View hierarchy only | Limited to view hierarchy analysis only |
| View hierarchy + test/lint output | No note (good coverage) |
| Screenshots only | Screenshots provide visual context but cannot be analyzed programmatically |
Checksum and Storage
Each uploaded file receives a SHA-256 checksum computed server-side. File names are sanitized to alphanumeric characters, dots, hyphens, and underscores. Artifacts are stored under the run directory:
~/.a11ysmith/runs/<run_id>/artifacts/ Error Codes
| Code | Meaning | Recoverable |
|---|---|---|
ARTIFACT_VALIDATION_FAILED | Bundle fails pre-flight validation | Yes -- fix the bundle and retry |
ARTIFACT_PARSE_FAILED | Parser cannot read the artifact content | Depends on the file |
Reassessment Behavior
When a native artifact assessment is reassessed, the new draft copies the original configuration but clears the artifact bundle. You must upload fresh artifacts for the new assessment. See Reassess and Compare for details.