Package Testing Audit
admin/frontend layout builder APIs
Section titled “admin/frontend layout builder APIs”- Installs cleanly in a fresh Capell demo workbench
- Declared package dependencies are correct
- Migrations run cleanly and are idempotent
- Service provider boots without duplicate registry keys
- Filament resources, pages, widgets, settings, actions, and relation managers load
- Frontend routes, render hooks, widgets, themes, or Blade views work where the package exposes them
- Custom package functionality works through realistic user flows
- Permissions, roles, workspace boundaries, and draft/publish behaviour are correct where applicable
- Caching, queues, scheduled jobs, webhooks, commands, and external integrations degrade safely
- Package Pest suite is meaningful, not just smoke coverage
- Coverage gap list exists for untested Actions, Data objects, Enums, services, policies, resources, and frontend render paths
-
README.mdand package docs match the real install and usage flow - Admin/frontend core docs cover the important layout builder admin and frontend surfaces
- Generated screenshots are clear, seeded with useful data, and not hiding broken UI states
- Known risks and follow-up issues are recorded
- Installs cleanly in a fresh Capell demo workbench
- Declared package dependencies are correct
- Migrations run cleanly and are idempotent
- Service provider boots without duplicate registry keys
- Filament resources, pages, widgets, settings, actions, and relation managers load
- Frontend routes, render hooks, widgets, themes, or Blade views work where the package exposes them
- Custom package functionality works through realistic user flows
- Permissions, roles, workspace boundaries, and draft/publish behaviour are correct where applicable
- Caching, queues, scheduled jobs, webhooks, commands, and external integrations degrade safely
- Package Pest suite is meaningful, not just smoke coverage
- Coverage gap list exists for untested Actions, Data objects, Enums, services, policies, resources, and frontend render paths
-
README.mdand package docs match the real install and usage flow -
packages/blog/docs/screenshots.jsoncovers the important admin and frontend surfaces - Generated screenshots are clear, seeded with useful data, and not hiding broken UI states
- Known risks and follow-up issues are recorded
- Blog test suite passed cleanly: Arch, Filament resources, widgets, static-site behavior, and integration command coverage all green.
- Blog dependencies are explicit in
capell.jsonand no longer include a separatecapell-app/layout-builderpackage.
address
Section titled “address”- Installs cleanly in a fresh Capell demo workbench
- Declared package dependencies are correct
- Migrations run cleanly and are idempotent
- Service provider boots without duplicate registry keys
- Filament resources, pages, widgets, settings, actions, and relation managers load
- Frontend routes, render hooks, widgets, themes, or Blade views work where the package exposes them
- Custom package functionality works through realistic user flows
- Permissions, roles, workspace boundaries, and draft/publish behaviour are correct where applicable
- Caching, queues, scheduled jobs, webhooks, commands, and external integrations degrade safely
- Package Pest suite is meaningful, not just smoke coverage
- Coverage gap list exists for untested Actions, Data objects, Enums, services, policies, resources, and frontend render paths
-
README.mdand package docs match the real install and usage flow -
packages/address/docs/screenshots.jsoncovers the important admin and frontend surfaces - Generated screenshots are clear, seeded with useful data, and not hiding broken UI states
- Known risks and follow-up issues are recorded
- Address test suite passed cleanly with 81 passing tests and 277 assertions, including resource, model, observer, command, and flag-render coverage.
packages/address/docs/screenshots.jsonis present and should be kept in sync with the country/address admin surfaces.
ai-orchestrator
Section titled “ai-orchestrator”- Installs cleanly in a fresh Capell demo workbench
- Declared package dependencies are correct
- Migrations run cleanly and are idempotent
- Service provider boots without duplicate registry keys
- Filament resources, pages, widgets, settings, actions, and relation managers load
- Frontend routes, render hooks, widgets, themes, or Blade views work where the package exposes them
- Custom package functionality works through realistic user flows
- Permissions, roles, workspace boundaries, and draft/publish behaviour are correct where applicable
- Caching, queues, scheduled jobs, webhooks, commands, and external integrations degrade safely
- Package Pest suite is meaningful, not just smoke coverage
- Coverage gap list exists for untested Actions, Data objects, Enums, services, policies, resources, and frontend render paths
-
README.mdand package docs match the real install and usage flow -
packages/ai-orchestrator/docs/screenshots.jsoncovers the important admin and frontend surfaces - Generated screenshots are clear, seeded with useful data, and not hiding broken UI states
- Known risks and follow-up issues are recorded
- AIOrchestrator test suite passed cleanly with boundary, capability, and registry coverage in place.
- The package surface stays isolated from removed
Capell\LayoutBuildernamespaces, which matches the package boundary rule.
insights
Section titled “insights”- Installs cleanly in a fresh Capell demo workbench
- Declared package dependencies are correct
- Migrations run cleanly and are idempotent
- Service provider boots without duplicate registry keys
- Filament resources, pages, widgets, settings, actions, and relation managers load
- Frontend routes, render hooks, widgets, themes, or Blade views work where the package exposes them
- Custom package functionality works through realistic user flows
- Permissions, roles, workspace boundaries, and draft/publish behaviour are correct where applicable
- Caching, queues, scheduled jobs, webhooks, commands, and external integrations degrade safely
- Package Pest suite is meaningful, not just smoke coverage
- Coverage gap list exists for untested Actions, Data objects, Enums, services, policies, resources, and frontend render paths
-
README.mdand package docs match the real install and usage flow -
packages/insights/docs/screenshots.jsoncovers the important admin and frontend surfaces - Generated screenshots are clear, seeded with useful data, and not hiding broken UI states
- Known risks and follow-up issues are recorded
- Insights test suite passed cleanly with 77 tests and 382 assertions, including consent, beacon, frontend script, settings, provider, retention, and widget coverage.
- Screenshot manifest is present for the core admin and frontend surfaces called out in the README.
current audit notes
Section titled “current audit notes”deploymentsnow has a Capell manifest and screenshot manifest, so it should be included in the normal manifest-backed package audit flow.agent-bridgehasdocs/screenshots.json, but its manifest entries still need composer name cleanup wherecomposerNameis null.packages/foundation-theme/is the single canonicalcapell-app/foundation-themepackage after consolidating the old compatibility resources.frontend-authoringis usingcapell-app/frontend-authoringin screenshot metadata, which is worth keeping consistent while the manifest is audited.
2026-05-19 isolated package demo audit
Section titled “2026-05-19 isolated package demo audit”The package demo audit harness was created at /Users/ben/Sites/packages/capell/capell-package-demo-audit and documented in package-demo-audit-harness.md. The core baseline is documented in core-demo-baseline.md, with structured admin baseline data in core-admin-menu-baseline.json.
All 45 package directories now have docs/screenshots.json, and the aggregate screenshot manifest regenerates successfully:
npm run screenshots:manifestnpm run screenshots:validateValidation result: Screenshot manifests are in sync.
Detailed package notes and feature suggestions are stored in:
- batch-1.md:
access-gate,address,agent-bridge,ai-orchestrator,api,block-library,blog,campaign-studio - batch-2.md:
content-sections,dashboard-reports,demo-kit,deployments,diagnostics,document-lifecycle,email-studio,events - batch-3.md:
form-builder,foundation-theme,frontend-authoring,frontend-optimizer,ga4-reports,hero,html-cache,insights - batch-4.md:
layout-builder,login-audit,media-ai,media-library,migration-assistant,navigation,newsletter,notes - batch-5.md:
password-policy,public-actions,publishing-studio,search,seo-suite,site-discovery,tags,theme-agency - batch-6.md:
theme-corporate,theme-saas,translation-manager,welcome-tour,wordpress-importer
Audit status
Section titled “Audit status”| Area | Status |
|---|---|
| Package inventory | Complete: 45 package directories audited |
| Screenshot contracts | Complete: 45 package manifests, 229 aggregate entries |
| Package tests | Complete: focused package Pest suites passed for all audited packages |
| Isolated install checks | Complete for login-audit after adding the Laravel 13 Rappasoft fork alias; remaining package results stay as recorded in batch notes |
| Final visual screenshots | In progress: login-audit admin screenshots are captured in the shared Laravel 13 harness; frontend/theme package screenshots still require a theme asset baseline |
Blockers and risks
Section titled “Blockers and risks”login-auditnow installs in the Laravel 13 harness when the host app requiresrappasoft/laravel-authentication-logfrom thefdembPR #140 fork asdev-main as 6.0.1. Keep this root-app alias until upstream releases Laravel 13 support.- The baseline harness now publishes
public/vendor/capell-frontend/manifest.jsonthroughphp artisan capell:frontend-install --no-interaction --ansi. It still reports missing generated Capell frontend Tailwind CSS because the core baseline is installed with--theme=none; the generator binding is provided bycapell-app/foundation-theme. - Dependency-heavy packages such as
blog,campaign-studio,foundation-theme,hero, and theme packages require hard dependencies to be installed as Capell extensions, not just Composer packages, before the target extension is marked installed. - Some Composer remove cycles in isolated harnesses logged pre-uninstall event handler errors but still completed; keep clearing
bootstrap/cache/packages.phpandbootstrap/cache/services.phpbetween package cycles. - This pass mapped required screenshots and use cases. The Login Audit screenshots are captured; the remaining packages still need the same image-backed pass.