People
Contacts, operators and meeting assignments.
Multi-site operations
Selected site
Contacts, operators and meeting assignments.
Basestation, Clerk pairing and observed status.
Choose ADECIA or analog line-in and commission RoomAudio.
Open audio setupCamera inventory, PTZ readiness and presets.
Verify the selected site’s channel and destination.
Open YouTubeGenerate bounded packages and complete the final rehearsal.
Open commissioningNo provider request has been made.
Packages contain bounded non-secret intent only; camera, ADECIA, analog capture, and provider secrets stay local.
Generate a package to prepare the exact post-install command.
No package generated
No desired/observed snapshot loaded
No draft generated
Status refreshes every 60 seconds while this view is open.
| Device | Site | Edge App | Last Check-in | Session | Checks | State |
|---|
Generation, artifact upload, and YouTube description publication are separate states. This queue cannot activate its worker.
No publication jobs loaded
Site configuration, meeting delivery, retention, captions, transcripts and publication remain versioned and reviewable.
Global Admin, site Admin, operator and client access remain governed by the existing site-scoped roles and assignments.
YouTube, VOD and caption connections stay within their existing provider contracts; credentials remain backend-only.
Technical audit
Readiness evidence, source metadata, framework bindings, route ownership, hashes and implementation boundaries live here without interrupting everyday work.
Captions
Read-only verification for one exact channel and meeting. This control exposes cue counts and hashes only; it cannot write captions, reveal credentials or create a transcript revision.
Meetings
GET /api/admin/sites, accepted device rows feed existing GET /api/admin/devices, fixture fallback and source metadata stay visible, and selected edge export reads remain the safe alternate behind GET /api/admin/device-status.GET /api/admin/device-status.
admin-app/lib/hosted-admin-complete-operation-rollup-package.js keeps this checklist source-reviewed and adds no route, handler, persistence, upload, collector, edge call, live control, deploy, restart, or VOD/caption execution.
slt-basestation-edge-checkin-export.json and slt-clerk-edge-checkin-export.json under admin-app/local/edge-checkin-exports/.
douglas-county-basestation-edge-checkin-export.json, tdpud-basestation-edge-checkin-export.json, rtc-basestation-edge-checkin-export.json, and matching clerk exports.
GET /api/admin/device-status
No upload route, watcher, collector, edge-machine call, local edge config access, write handler, deploy, restart, or VOD/caption execution is added.
mtg-slt-planning: propose slt-basestation-01 / render-slt-basestation-01 from accepted device inventory; producer owner remains unassigned.
mtg-tdpud-intake: propose tdpud-basestation-01 / render-tdpud-basestation-01 from accepted device inventory; producer owner remains unassigned.
GET /api/admin/meetings + Run Detail
No /api/admin/station-session route, meeting write, handoff package file, Producer launch, ops/edge call, stream/record control, deploy, restart, or VOD/caption execution is added.
GET /api/admin/device-status
Keep selected-export review inside the existing device-status read so Sites, Devices, Onboarding, and Meetings share one edge proof source.
NINDEO-HOSTED-ADMIN-MAPPING-DECISION-PACKAGE-2026-06-30.md is approved as approved-read-only-mapping; admin-app/lib/hosted-admin-read-model.js packages the accepted registry only, while storage owner approval is still required and production writes stay locked.
admin-app/lib/hosted-admin-read-model.js emits ready-for-hosted-read-model-composition when supplied ready Sites/Devices, Finalization, Settings, Activity, People, and Meetings adapter payloads in memory; no hosted route, persistence, upload, collector, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-import-rehearsal.js rehearses Sites and Devices import coverage from the accepted registry in memory only; POST /api/admin/sites stays locked and storage owner approval remains next.
admin-app/lib/hosted-admin-framework-adapter.js maps the rehearsal plus accepted read-owner completion checkpoint into six hosted read-owner adapter targets, including boundary-backed Settings metadata, with no Laravel route, hosted endpoint, migration, queue, or database write; storage-owner approval remains next.
admin-app/lib/hosted-admin-sites-devices-framework-binding.js maps hosted Sites/Devices read payloads to future SitesDevicesReadController, AcceptedRegistryArtifactReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, persistence, write API, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-finalization-framework-binding.js maps hosted Finalization read payloads to future FinalizationReadController, FinalizationArtifactReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, caption generation, VOD build, upload, publishing, provider call, persistence, write API, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-storage-owner-gate.js now summarizes the six accepted read-owner binding targets for storage review, but names the hosted persistence decision as read-only status only; no database, migration, upload, collector, hosted endpoint, or production storage write is created.
NINDEO-HOSTED-STORAGE-OWNER-APPROVAL-PACKAGE-2026-06-30.md approves Git-reviewed artifact promotion only for the next hosted artifact review contract; hosted persistence remains locked.
admin-app/lib/hosted-admin-artifact-review-contract.js proves hosted Sites/Devices reads from the Git-reviewed accepted registry artifact only after the six accepted read-owner binding targets are present, with no hosted route, database, migration, upload, collector, deploy, or live action.
admin-app/lib/hosted-admin-implementation-handoff-map.js maps the accepted proof surfaces into hosted controller/service targets for review only; no controller, service, endpoint, persistence, write API, upload, collector, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-implementation-acceptance-checkpoint.js accepts the six hosted read adapter targets as a future implementation package only; no hosted route, persistence, write API, upload, collector, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-read-implementation-package.js selects Sites/Devices as the first hosted read-only implementation lane and names the implementation plan for review only; no hosted endpoint, persistence, write API, upload, collector, live control, deploy, or VOD/caption execution is added.
admin-app/lib/hosted-admin-target-gate.js selects the current admin-app shell as the modern Admin implementation target while keeping old Laravel as read-only product reference material; no hosted endpoint, persistence, write API, deploy, live control, or VOD/caption execution is added here.
admin-app/lib/hosted-admin-proof-index.js indexes the hosted Sites/Devices, VOD / Captions, Settings, Activity, People, and Meetings proof surfaces for one read-owner review map; no endpoint, database, migration, upload, collector, persistence, live control, or VOD/caption execution is added.
admin-app/data/site-registry.accepted.json
Accepted non-secret site and device rows stay behind GET /api/admin/sites and GET /api/admin/devices until a hosted registry owner is approved.
admin-app/lib/hosted-admin-sites-devices-read-owner-contract.js emits nindeo.hosted-admin.sites-devices-read-owner-contract.v1 for the accepted-registry-read owner; no hosted route, persistence, upload, collector, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-sites-devices-read-adapter.js builds route-equivalent hosted Sites/Devices read payloads from the accepted registry and the implementation handoff map; no hosted route, persistence, write API, upload, collector, live control, or VOD/caption execution is added.
admin-app/lib/modern-admin-sites-devices-read-slice.js proves current admin-app Sites/Devices reads use GET /api/admin/sites and GET /api/admin/devices against the accepted registry; no duplicate endpoint, persistence, write handler, edge call, Producer control, deploy, or VOD/caption execution is added.
GET /api/admin/device-status; no upload route, folder watcher, or edge-machine collector is added.
GET /api/admin/finalization-detail
Artifact metadata belongs to the finalization read contract; Admin review stays separate from caption generation, VOD builds, uploads, and publishing.
admin-app/lib/hosted-admin-finalization-read-owner-contract.js emits nindeo.hosted-admin.finalization-read-owner-contract.v1 for the finalization-artifact-read owner; no hosted route, job execution, persistence, upload, publishing, provider call, or VOD/caption generation is added.
admin-app/lib/hosted-admin-finalization-read-adapter.js builds route-equivalent hosted finalization collection/detail read payloads from the finalization artifact read and implementation handoff map; no hosted route, job execution, persistence, upload, publishing, provider call, or VOD/caption generation is added.
admin-app/lib/hosted-admin-settings-read-owner-contract.js emits nindeo.hosted-admin.settings-read-owner-contract.v1 for the settings-integration-read owner; no hosted settings route, credential read, local config read, provider call, persistence, live control, or settings write handler is added.
admin-app/lib/hosted-admin-settings-read-adapter.js builds a boundary-equivalent hosted Settings read payload from non-secret Settings metadata; no hosted Settings route, credential read, local config read, provider call, persistence, live control, or settings write handler is added.
admin-app/lib/hosted-admin-settings-framework-binding.js maps hosted Settings boundary payloads to future SettingsReadController, SettingsIntegrationBoundaryReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, credential read, local config read, provider call, persistence, write API, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-activity-read-owner-contract.js emits nindeo.hosted-admin.activity-read-owner-contract.v1 for the activity-notification-read owner; no notification delivery, acknowledgement, task mutation, chat, persistence, live control, or Activity write handler is added.
admin-app/lib/hosted-admin-activity-read-adapter.js builds route-equivalent hosted Activity collection and item read payloads from Activity metadata; no notification delivery, acknowledgement, task mutation, chat, persistence, live control, or Activity write handler is added.
admin-app/lib/hosted-admin-activity-framework-binding.js maps hosted Activity read payloads to future ActivityReadController, ActivityNotificationReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, notification delivery, acknowledgement, chat/message send, task mutation, persistence, write API, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-people-read-owner-contract.js emits nindeo.hosted-admin.people-read-owner-contract.v1 for the participant-assignment-read owner; no participant import, invite, account approval, role mutation, assignment write, persistence, live control, or People write handler is added.
admin-app/lib/hosted-admin-people-read-adapter.js builds route-equivalent hosted People, Roles, Assignments, and Assignment Detail read payloads from participant metadata; no participant import, invite, account approval, role mutation, assignment write, persistence, live control, or People write handler is added.
admin-app/lib/hosted-admin-people-framework-binding.js maps hosted People read payloads to future PeopleAssignmentReadController, ParticipantAssignmentReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, participant import, invite, account approval, role mutation, assignment write, authorization write, notification delivery, persistence, write API, deploy, live control, or VOD/caption execution is added.
admin-app/lib/hosted-admin-meetings-read-owner-contract.js emits nindeo.hosted-admin.meetings-read-owner-contract.v1 for the meeting-run-read owner; no calendar write, handoff package generation, station/session write, Producer launch, ops control, stream/record control, VOD/caption execution, persistence, live control, or Meetings write handler is added.
admin-app/lib/hosted-admin-meetings-read-adapter.js builds route-equivalent hosted Meetings, Run Detail, Handoff, Assignment Detail, Finalization Detail, and Finalization queue read payloads from meeting metadata; no calendar write, handoff package generation, station/session write, Producer launch, ops control, stream/record control, VOD/caption execution, persistence, live control, or Meetings write handler is added.
admin-app/lib/hosted-admin-meetings-framework-binding.js maps hosted Meetings read payloads to future MeetingRunReadController, MeetingRunReadService, resource, and DTO names for review only; no PHP file, Laravel route, hosted endpoint, middleware, meeting CRUD, calendar write, handoff package generation, station/session write, Producer launch, ops control, stream/record control, VOD/caption execution, persistence, write API, deploy, live control, or Meetings write handler is added.
admin-app/lib/hosted-admin-read-owner-checklist.js turns the proof index into a hosted read-owner implementation checklist for Sites/Devices, VOD / Captions, Settings, Activity, People, and Meetings; storage, persistence, write APIs, uploads, collectors, local config access, live controls, and VOD/caption execution remain locked.
admin-app/lib/hosted-admin-read-owner-completion-checkpoint.js emits nindeo.hosted-admin.read-owner-completion-checkpoint.v1 with ready-for-hosted-read-owner-acceptance across Sites/Devices, VOD / Captions, Settings, Activity, People, and Meetings; no hosted endpoint, persistence, write API, upload, collector, live control, or VOD/caption execution is added.
GET /api/admin/sites
No /api/admin/site-registry endpoint or duplicate draft read is added.
GET /api/admin/sites
Accepted non-secret site registry rows are active behind the existing Sites route.
GET /api/admin/device-status
Use selected basestation/clerk edge check-in exports only if the site registry input is not ready.
GET /api/admin/run-detail
Owner: MEETING-RUN-READ-CONTRACT.md; expand existing meeting/run reads before any calendar CRUD or /api/admin/meeting-runs route.
GET /api/admin/assignment-detail
Owner: PARTICIPANT-ASSIGNMENT-READ-CONTRACT.md; keep role coverage read-only before participant imports, invites, account approvals, or role mutations.
GET /api/admin/activity
Owner: ACTIVITY-NOTIFICATION-READ-CONTRACT.md; move real task/notification rows behind existing activity reads before delivery or acknowledgement actions.
SETTINGS-INTEGRATION-READ-CONTRACT.md; choose one read owner before any settings route, credential read, provider write, or local config access.
GET /api/admin/finalization-detail
Owner: FINALIZATION-ARTIFACT-READ-CONTRACT.md; keep VOD, captions, uploads, publishing, and artifact execution outside Admin until an execution contract exists.
GET /api/admin/device-status
Owner: EDGE-CHECKIN-READ-CONTRACT.md; replace fixture status behind Device Status only, with no /api/admin/edge-checkins route or edge-machine call.