Skip to content

Examples cleanup: slim app-crm to its smoke core, migrate apis: to showcase, app-todo truth pass - #2624

Merged
os-zhuang merged 3 commits into
mainfrom
claude/metadata-showcase-redesign-ougiov
Jul 5, 2026
Merged

Examples cleanup: slim app-crm to its smoke core, migrate apis: to showcase, app-todo truth pass#2624
os-zhuang merged 3 commits into
mainfrom
claude/metadata-showcase-redesign-ougiov

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

What

Third round of the examples overhaul (after #2619 showcase redesign and #2623 showcase optimization): bring the sibling examples in line with the upgraded protocol and the showcase's coverage contract. Three commits, each verified:

  1. feat(showcase) — declarative apis: demo. Two ApiEndpoint artifacts (an object_operation task feed + a flow-typed POST invoking the showcase_inquiry_purge janitor) — the one feature in app-crm that was unique AND runtime-consumed (handleApiEndpoint), migrated before removal. Coverage records apis as demonstrated; gap-fill tests assert wiring + target liveness (53 showcase tests green).
  2. refactor(crm) — slim to the loading-pipeline smoke core. app-crm's README declares it a minimal smoke fixture, but its config had grown a feature matrix including two runtime-inert demos (mappings defineMapping artifacts are registered but never consumed — wire named mappings into REST import or de-scope from the stack #2611, declarative connectors Declarative connectors: stack entries are inert — bridge them to the automation connector registry or document as descriptor-only #2612 — Prime Directive chore: version packages #10) and several duplicated by the showcase (cube, own-object extension, webhooks, portal, themes, reports, jobs, emails, six extra flows). Removed the feature layer; kept objects/views/app/dataset-backed dashboard/hook/the convert-lead wizard/seed/datasources/i18n/security (the CI verify --rls surface). requires: drops approvals (no approval nodes remain). smoke.test pruned in lockstep (19 tests green). Boot is lighter for the pnpm dev:crm debug path.
  3. docs(todo,embed) — truth pass. app-todo README's fictional AI section (test:ai/test:agent/service-ai — none ship) replaced with the real MCP business-action E2E (test:mcp, re-run green); Reports 6→5 (Overdue is a ListView lens, ADR-0021); retired workflows claims dropped (ADR-0020); structure tree completed; license MIT→Apache-2.0. ja-JP — the repo's only Japanese bundle — added to the translation-completeness matrix (78 assertions green). The two tsx driver scripts renamed off *.test.ts so the suffix means vitest spec again. Stale ADR-0021 dual-form-window comments updated to the single-form reality. embed-objectql notes ADR-0076 is Proposed (the /core boundary itself has shipped).

Why

Each example keeps a distinct role — showcase: CI-enforced capability index · app-todo: beginner onboarding · app-crm: minimal loading-pipeline smoke + light dev target · embed-objectql: library embedding — but app-crm had drifted into a second, unenforced feature showcase (including inert-capability demos), and app-todo's README advertised an AI capability chain that does not exist in the open framework. This PR restores each example to its honest, single purpose; repo-wide capability coverage is now exclusively the showcase's CI-enforced job, and nothing was lost (the one unique working feature was migrated first).

Verification

  • pnpm --filter @objectstack/example-showcase verify — 53 tests green (includes new apis wiring/liveness assertions).
  • pnpm --filter @objectstack/example-crm validate && typecheck && test — 19 tests green post-slim; validate output confirms the slim shape (1 flow, 3 roles, 2 permissions).
  • pnpm --filter @objectstack/example-todo typecheck green; test:mcp E2E re-run green after the rename; vitest suite 78/78 (now including ja-JP).
  • No load-bearing references broken: dev:crm, AGENTS.md, and docs reference the app/default export and security only (audited before deletion).

🤖 Generated with Claude Code

https://claude.ai/code/session_01G6pPpRszk9cD3SxcKNFMWs


Generated by Claude Code

claude added 3 commits July 5, 2026 06:22
…-crm
Two ApiEndpoint artifacts (src/system/apis/): an object_operation task
feed and a flow-typed POST that invokes the showcase_inquiry_purge
janitor — the metadata counterpart of the code-mounted recalc endpoint.
Executed by the runtime dispatcher (handleApiEndpoint); coverage records
the apis stack collection as demonstrated, and gap-fill tests assert the
wiring plus target liveness (a flow/object endpoint can never point at a
name that doesn't exist).
First half of the app-crm slim-down: apis: was the one feature demo in
app-crm that is unique AND runtime-consumed, so it moves here before the
crm feature matrix is removed.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6pPpRszk9cD3SxcKNFMWs
app-crm's README declares it a minimal smoke-test app, but its config had
grown a full feature matrix — including two demos of capabilities that
are formally inert at runtime (mappings #2611, declarative connectors
#2612 — Prime Directive #10) and several duplicated by the showcase's
CI-enforced coverage (cube, own-object extension, webhooks, portal,
themes, reports, jobs, emails, six extra flows).
Removed the feature layer; kept the core the smoke purpose and CI need:
6 objects + relationships, 3 views, app, dataset-backed dashboard, hook,
the convert-lead screen-flow wizard (+ its action), seed, datasources,
translations/i18n, and security (roles/permissions/sharing — the CI
verify --rls gate). requires: drops 'approvals' (no approval nodes
remain). smoke.test.ts assertions pruned in lockstep (19 tests green).
The one unique+working feature (declarative apis:) migrated to the
showcase in the previous commit before this removal — no capability
coverage is lost repo-wide.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6pPpRszk9cD3SxcKNFMWs
…o the completeness bar
app-todo:
- README: replace the fictional 'AI Demo' section (test:ai / test:agent /
service-ai / ai_traces — none of which ship) with the REAL MCP
business-action E2E (test:mcp), the community-edition BYO-AI story
(Prime Directive #10). Fix Reports 6→5 (Overdue is a ListView lens per
ADR-0021), drop the retired 'workflows' claims (ADR-0020), refresh the
structure tree (views/datasets/translations/data/docs existed but were
omitted), license MIT→Apache-2.0 (matches package.json + headers).
- translation-completeness: add ja-JP to the locale matrix — the repo's
only Japanese bundle was declared+shipped but never held to the
completeness bar (78 assertions, green).
- Rename the two tsx driver scripts off the *.test.ts suffix
(seed-check.ts, mcp-actions.e2e.ts) so the suffix means 'vitest spec'
again; test:mcp script + README updated (E2E re-run, green).
- reports/dashboard headers: the ADR-0021 dual-form migration window is
over — comments now describe the single-form reality.
embed-objectql:
- README heading notes ADR-0076 is Proposed while the /core boundary
itself has shipped — the example no longer implies a ratified decision.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G6pPpRszk9cD3SxcKNFMWs
@vercel

vercelBot commented Jul 5, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJul 5, 2026 6:46am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file tests size/xl labels Jul 5, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review July 5, 2026 06:53
@os-zhuang
os-zhuang merged commit df11373 into mainJul 5, 2026
16 checks passed
@os-zhuang
os-zhuang deleted the claude/metadata-showcase-redesign-ougiov branch July 5, 2026 06:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependenciesPull requests that update a dependency filedocumentationImprovements or additions to documentationsize/xltests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@os-zhuang@claude