Repository navigation
fix(templates): replace invalid category: "starter" with valid domain categories - #73
Merged
Merged
Conversation
…in categories The marketplace control plane rejects `category: "starter"` — `category must be one of: app, crm, sales, marketing, finance, hr, operations, project, productivity, data, devtools, utility, other`. This made the staging/production publish fail for 8 templates (every upsert returned 400). "starter" was never a domain category anyway — starter-ness is already expressed by the separate `isStarter: true` flag. Map each to a valid domain category: todo→productivity content→marketing expense→finance hr→hr procurement→operations contracts→operations helpdesk→operations compliance→operations project was already `productivity` (valid) and is unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
xuyushun441-sys
added a commit
that referenced
this pull request
Jun 23, 2026
…ake AI copy honest (#76) Marketplace/catalog cleanup across the 9 templates. Naming - Drop the "AI" prefix from displayNames (AI Helpdesk -> Helpdesk, AI Project Management -> Project Management); AI stays in descriptions/field labels. Applied across manifest displayName, config manifest.name, app nav labels, and every locale translation so the catalog card and the installed-app name finally agree. - Reconcile hr app-name drift (config manifest.name "HR" -> "Human Resources"). Single source of truth - Remove the dead objectstack.marketplace block from every package.json. The publish path (scripts/publish-template.mjs) reads objectstack.manifest.json only; the package.json copies were unread and still carried the stale category:"starter" that #73 removed from the manifests. project keeps objectstack.port. Honesty - Templates that ship AI as a scaffold no longer market it as delivered. helpdesk (deterministic triage baseline) and project (stubbed forecasting, illustrative seed values) reworded in manifest/config/README; project's ai_* field group relabelled "AI Predictions (scaffolded)". - Add docs/ROADMAP.md capturing the AI implementation plan (route AI through the platform model registry instead of raw api.openai.com, degrade honestly when no model is configured, finish one flagship) plus the other findings (content over-charter, todo/project overlap, category facet casing). Category slugs left as-is: the visible facet-casing inconsistency is a marketplace-UI label-map gap, and changing the hr slug would regress the UI's existing hr -> "Human Resources" mapping. Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The marketplace publish (staging run 27928155711, triggered by release
v0.1.0) failed: 8 templates declaredcategory: "starter", which the control plane rejects:"starter"was never a valid domain category — starter-ness is already carried by the separateisStarter: trueflag.Fix
productivitymarketingfinancehroperationsoperationsoperationsoperationsprojectwas alreadyproductivity(valid) — untouched. One-line change per manifest; prettier-clean.Unblocks publishing all 8 templates to staging/production.
🤖 Generated with Claude Code