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

vercel Bot commented Jul 5, 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 Jul 5, 2026 6:46am

Request Review

@github-actions github-actions Bot 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 main Jul 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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/xl tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants