Every surface InfraSpace advertises, where it is served from, where its source lives, how it is built, and which deploy target carries it. Generated from apps.json and platform.json by the same generator that builds the hub.
Measured in your browser, now. Nothing is stored. Cross-origin surfaces are reported as unprobed rather than assumed to work.
| Surface | Route | Served from | Source tree | Build | Deploy target |
|---|---|---|---|---|---|
|
SPMT
|
/spmt/ not checked |
/public_html/spmt |
apps/SmartPropertyManagement |
npm run build -> deploy-out |
spmtspmt |
|
Developer Console
|
/hub/developer/ not checked |
/public_html/hub/developer |
apps/InfraSpaceNZ/site |
node build-site.mjs --write |
infraspace-hub(none yet) |
|
InfraDocs Suite
|
/docs/ not checked |
/public_html/docs |
apps/InfraDocs/editor |
(static tree — deployed as-is) |
infradocs(none yet) |
|
SPMT System Console
|
/spmt/landing/developer/ not checked |
/public_html/spmt/landing/developer |
apps/SmartPropertyManagement/components/DeveloperPortalScreen.tsx |
built with the SPMT bundle (npm run build) |
spmtspmt |
|
Meetings
|
/meetings/ not checked |
/meetings |
apps/InfraSpaceMeetings |
(served as-is — PHP, no bundle step) |
(none — deployed by apps/InfraSpaceMeetings/tools/deploy_meetings.py)(none yet) |
spmtMeasured 2026-09-24: /spmt/ returns 200 and boots the SPMT application, but the shell it serves loads the bundle index-BAO0lqPB.js, which predates the current source tree. The address is running SPMT, just not this repository's SPMT -- so a fix that has been built but not pushed is invisible to anyone using the site.
developer-portalRe-measured 2026-09-24: the deployed hub was built from manifest sha 83bd96950675 at 2026-09-21T07:21:09Z, while the working copy's manifest hashes to 614e74aa5c15. The address is serving an older advertisement than the repository holds, and no gate in this lane can see it -- --check compares the working copy against the manifests, never against the host. Closing that gap is a push of the 'infraspace-hub' target, not a manifest edit.
infradocsThe deploy target 'infradocs' declares remote_root /public_html/infradocs and a verify URL of /infradocs/, but /infradocs/ returns 404 while /docs/ returns 200. The deployed editor and the target that claims to deploy it disagree. Either the target is wrong or the deployment is. One of them must be corrected before this surface is trusted. Re-measured 2026-09-24, unchanged: /docs/ returns 200 (23478 B, the DOC Research Suite) and /infradocs/ still returns 404. The disagreement has now survived two measurements, so treat the target as the wrong half and correct it there.
spmt-consoleThis console is SPMT's own: users, businesses and incident records out of SPMT's Firebase data. It is the product's admin surface, not the platform's. It is reached through a loader shim at /spmt/landing/developer/ which fetches /spmt/index.html and re-injects the SPMT asset tags so the app boots under a second URL. The shim lives inside the SPMT source tree at public/landing/developer/. It works, but the platform should not have to reach into a product's tree to open that product's console.
infraspace-meetingsMeetings cannot be used until a database exists. The address is up and the client renders, so it is honest to advertise this surface as one being built; it would not be honest to advertise it as usable. The blocker is exactly one thing -- a cPanel MySQL database and a user, stored as DB_NAME, DB_USER and DB_PASS in SecretBox. Measured on the live host: pdo_mysql, pdo_sqlite, mysqli, mbstring and openssl are all present and no extension is missing, so the platform is ready and only the credentials are absent. Running the schema on SQLite is not a substitute, because sql/schema.sql is MySQL-specific and the SQL passes through a single PDO abstraction with no dialect seam to switch on.
| Service | Port | Scope | Purpose | Reachable |
|---|---|---|---|---|
HomeDrop hub |
8767 |
lan | Hub runtime: mirror, beam, radar, deck control, and the InfraDocs document route. | not checked |
StreamLine coordinator |
8768 |
lan | Workspace coordinator: service registry, boot plan, focus record, agent portal and token spend. | not checked |
InfraDocs host |
8770 |
lan | InfraDocs host API: document store and the contract the editor reads. | not checked |
These run on the LAN. Open this page from the LAN to probe them; from the public internet the check reports that it cannot run, not that the services are down.
infraspacenz.com · document root /
InfraSpace hosts and maintains every site deployed under it. Each product keeps its own banner, its own source tree and its own release path, so a change to one product cannot reach into another.
Corrected 2026-09-25. This read /public_html, which can never resolve: the deployment account is chrooted into the web root, so its FTP root IS the document root and a path beginning /public_html has no meaning to it. That chroot is the measured cause of the older deploy targets failing with 550 errors. The value on the line above is now the true one. It was rendered before and it is rendered still, so the wrong path was a visible claim rather than a private one -- which is why it is corrected here and not annotated away.
Measured, not remembered. Every probe result on this page is measured by your browser, at the moment you press the button. Nothing is stored, cached or replayed. A probe that cannot reach a surface reports that it could not reach it — it never reports a plausible success.
Not published. Host addresses, cPanel account names, origin IPs and every credential are held locally in the deploy tables and in SecretBox. They are deliberately absent from this page. Their absence is enforced by build-site.mjs, which fails the build if any value listed in local.mustNotPublish appears in the generated output.
Not shown. This console does not show user accounts or account records. Those are live platform data held in Firebase, and serving them requires an authenticated console with a real backend and Firestore rules. Until that exists, this page shows the platform's structure and not its records. That gap is stated rather than filled with a lookalike.