Skip to content

feat(ai): blueprint app-building — draft the navigation app, not just the data model#1542

Merged
xuyushun441-sys merged 1 commit into
mainfrom
feat/adr-0033-blueprint-app-building
Jun 2, 2026
Merged

feat(ai): blueprint app-building — draft the navigation app, not just the data model#1542
xuyushun441-sys merged 1 commit into
mainfrom
feat/adr-0033-blueprint-app-building

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

What & why

Extends the plan-first blueprint (ADR-0033 §4, #1537) so it also designs the app — the navigation shell end users open in the App Launcher. Until now "build me a project-management application" drafted the objects, views, and dashboards, but the user had to hand-assemble an app to surface them. Now a single confirmation produces an openable app (still draft-gated — nothing live until Publish).

What changed

  • SolutionBlueprintSchema (@objectstack/spec/ai) gains an optional app: { name, label?, icon?, nav? }. Each nav entry ({ type: 'object'|'dashboard', target, label?, icon? }) targets a created object or dashboard; nav may be omitted to auto-surface every object (then dashboard).
  • apply_blueprint expands the app into an AppSchema body — a single-level navigation of object/dashboard nav items ({ id:'nav_<target>', type, label, objectName|dashboardName, order }) — and drafts it last (it references the rest), through the same draft-gated, per-type-validated, partial-tolerant stageDraft path. It never sets isDefault (won't hijack the default app).
  • propose_blueprint instructs the agent to include the app and reports counts.app.
  • solution_design skill copy updated.

Verification

  • spec: new solution-blueprint cases (app with explicit nav, omitted nav, optional, bad nav type / non-snake name rejected) — spec ai 134 green.
  • service-ai: new apply_blueprint cases (drafts an app via mode:'draft' with nav referencing the objects; auto-build path derives one nav item per object then dashboard; isDefault never set; register never called) — full suite 460 green.
  • Both packages build + DTS-typecheck clean; changed files tsc-clean.

Scope

Basic app-building: one app, flat nav of object + dashboard items. Areas / groups / mobile-nav / branding stay author-it-later via update_metadata. app is already a runtime-creatable metadata type, so it drafts/publishes like any other.

🤖 Generated with Claude Code

… the data model

The plan-first blueprint now also designs the `app` (navigation shell), so
"build me a project-management application" yields an openable app.

- SolutionBlueprintSchema gains optional `app: { name, label?, icon?, nav? }`;
  nav entries target a created object/dashboard. Omit `nav` to auto-surface
  every object then dashboard.
- apply_blueprint expands it into an AppSchema body (single-level navigation)
  and drafts it last via the same stageDraft path; never sets isDefault.
- propose_blueprint asks the agent to include the app; reports counts.app.

Still draft-gated — nothing live until the human publishes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 2, 2026 11:50am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests protocol:ai tooling size/m labels Jun 2, 2026
@xuyushun441-sys xuyushun441-sys merged commit b391955 into main Jun 2, 2026
12 checks passed
@xuyushun441-sys xuyushun441-sys deleted the feat/adr-0033-blueprint-app-building branch June 2, 2026 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation protocol:ai size/m tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants