A package can say AI helped make it, and which tools - #74
Conversation
Adds aiAssisted to manifest schema v1: { tools: 1-5 names, note?: text }.
The parser reads it with the same limits, so the conformance fuzz agrees.
Folio 0.6.6 skips the field rather than refusing the package. Until the
Market shows it, AI-6 also keeps the description prefix.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 44b9ee5fde
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| val depiction: String? = null, | ||
| val license: String? = null, | ||
| val description: LocalizedText? = null, | ||
| val aiAssisted: AiAssisted? = null, |
There was a problem hiding this comment.
Do not land an AI-authored new feature
The commit metadata identifies Codex as the author, and this added model field is part of a new manifest-format feature rather than a bug fix. The repository's pre-existing AI-3 rule (docs/standards/ai-contributions.md:24-26) explicitly forbids using an AI agent for new features and directs agents to open an issue instead, so this change cannot be accepted under the project's contribution policy.
Useful? React with 👍 / 👎.
What this changes
Adds an optional
aiAssistedfield to manifest schema v1, so a Market package can declare that AI helped make it:tools: 1 to 5 names, 60 characters each, no blanks or repeats.note: optional text, translatable.SchemaConformanceTest's differential fuzz still agrees.description.Not in this PR: showing
aiAssistedon the package page and at install (the remaining AI gap).How I checked it
./gradlew :app:testDebugUnitTest :market:testDebugUnitTest :app:lintDebug :market:lintDebug :app:assembleDebugpasses.PackageParserTestcase: reads the field; refuses a missing, empty, blank, duplicate, over-long or sixth tool, and a non-object.tools/folio-pkg.py validateaccepts a package with the field and refuses an emptytools;docs/sdk/sourcestill validates.Companion template PR updates its vendored schema and instructions.