Skip to content

Add SAEP static policy metadata rule - #1437

Open
zerofancy wants to merge 1 commit into
LibChecker:v4from
zerofancy:feat/saep-static-policy
Open

zerofancy wants to merge 1 commit into
LibChecker:v4from
zerofancy:feat/saep-static-policy

Conversation

@zerofancy

Copy link
Copy Markdown

Rule

Add an exact type-8 metadata matcher for com.obric.agentrobots.POLICY_JSON, using ByteDance's official demo manifest as primary evidence.

The rule identifies the packaged static policy declaration. It does not validate the policy or infer runtime SAEP enablement or enforcement.

Source changes

One canonical source file: libraries/1F6E5833-C25C-47E4-AB99-B37F17C4814A.json.

  • UUID: 1F6E5833-C25C-47E4-AB99-B37F17C4814A.
  • Matcher ID: 3150; exact metadata-name match.
  • English and Simplified Chinese descriptions, developer attribution and official source link.
  • Positive example for the exact key; negative examples for a suffixed key, different capitalization and provider authority.
  • Reuse existing ic_lib_bytedance (icon index 12), including its existing SVG and published Android drawable.

The source branch contains only this JSON. Generated database/compatibility files and preview publication branches are excluded from this PR.

Related work and dependency

Closes #1436.

Client metadata support: LibChecker/LibChecker#2255.

The rule uses the existing schema and metadata matcher type. The linked client PR supplies label and library-details support in the Android metadata tab. I suggest landing that client support before publishing this rule; maintainers can choose the final merge/release order.

Validation

  • python3 tools/rules.py check — passed.
  • python3 -m unittest discover -s tests -v — 10 base-rule tests passed, including cross-language matching and deterministic build/version checks.
  • Compiled and published a candidate using the repository's existing tools in a local preview repository, then installed its archive through the app's normal checksum/schema-validated rule store. The device candidate-install test passed.
  • On NX888J, Android 16 / API 36, confirmed the local test app's metadata row matches this rule and opens the rule-provided library introduction. The final preview loaded the fork's descriptions through the project's existing proxy with local adb forwarding removed.

The fork preview used dataVersion 49 for testing. Upstream publication should allocate its version through the normal publishing workflow. The full upstream CI, including chart and SDK-data checks, remains to run on this PR.

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.

[New Rule] SAEP static policy declaration

1 participant