Macroscope/STRATA and MNG Convergence Plan
Macroscope/STRATA and MNG Convergence Plan
Document ID: CNL-TN-2026-027 Version: 0.2 Date: April 5, 2026 Author: Michael P. Hamilton, Ph.D.
AI Assistance Disclosure: This technical note was developed with assistance from Claude (Anthropic, Claude Opus 4.6). The AI contributed to codebase auditing, architectural analysis, entity relationship mapping, and manuscript drafting. The author takes full responsibility for the content, accuracy, and conclusions.
Abstract
Two systems have evolved in parallel to serve the Macroscope vision of integrated ecological monitoring across four domains (EARTH, LIFE, HOME, SELF). MNG (Macroscope Nexus) at macroscope.nexus provides curated place identity, media management with a photopoint time-series system, a monitoring widget framework (MW.register), and a public-facing Observatory with three-tier authentication. The Galatea Macroscope/STRATA platform provides multi-temporal environmental intelligence through 13 modular micro-agents, a context system supporting nine temporal windows per sensor, Claude AI tool-calling integration with 24 registered tools, four-domain privacy architecture with per-user granular access control, and health/clinical data coverage in the SELF domain. This technical note documents a comprehensive audit of both systems, identifies their complementary strengths and overlapping capabilities, and proposes a six-phase convergence plan. The Galatea LAMP-based Macroscope supersedes and deprecates a prior Node.js version on Data. Convergence merges STRATA's intelligence, privacy, and domain coverage into MNG's place-based architecture, beginning with a Document Management GUI for 278 processed PDFs and progressing through HOME domain widgets, STRATA intelligence integration, SELF domain health data, SOMA anomaly detection deployment, and multi-site scaling. Collectors remain independent infrastructure throughout. The bridge pattern linking MNG's monitoring_sources to STRATA's sensor_platforms via macroscope_platform_id provides the architectural seam enabling incremental convergence without disruption to either production system.
1. Introduction
1.1 Context and Motivation
The Macroscope project has pursued a convergence architecture since March 2026, consolidating independent applications (MEO, BirdWatcher, macroscope-earth, YEA) into MNG (Macroscope Nexus) as the unified platform. MNG is now the public-facing convergence target, live at macroscope.nexus with strong EARTH and LIFE domain coverage through curated places.
Independently, the Macroscope/STRATA system on Galatea has matured into a sophisticated multi-domain intelligence platform with capabilities MNG does not yet possess: four-domain data organization, temporal intelligence agents, AI-powered chat with tool-calling, health data integration, and privacy-controlled access.
A third version of the Macroscope exists on Data as a Node.js/Express + Preact application. This version is architecturally inconsistent with the LAMP stack used by all other CNL projects and is less advanced than the Galatea codebase. It is deprecated by this plan.
1.2 Objectives
This document:
- Audits the Galatea Macroscope/STRATA codebase as the authoritative development core
- Maps entity relationships across the macroscope and macroscope_nexus databases
- Identifies complementary capabilities and architectural overlaps between STRATA and MNG
- Proposes a phased convergence plan that preserves both production systems during transition
1.3 Scope
The scope covers the Galatea Macroscope codebase (/Library/WebServer/Documents/Macroscope/), mirrored to Data at Projects/Live/Galatea/Macroscope-Galatea/, and the MNG codebase (Projects/Live/Galatea/MNG/). Collectors, the macroscope database, and the macroscope_nexus database are in scope. SOMA (Stochastic Observatory for Mesh Awareness) is referenced but not audited in detail.
2. Methodology
2.1 Codebase Audit
The Galatea Macroscope codebase was mirrored to Data via rsync on April 5, 2026. Automated exploration agents performed exhaustive file-by-file analysis of all PHP, JavaScript, Python, and SQL files across both the STRATA and MNG codebases. For each file, the audit recorded: purpose, database tables referenced (with query patterns), external API integrations, dependencies on other files, and authentication requirements.
2.2 Database Analysis
Table inventories were compiled from SQL schema files, CREATE TABLE statements, and INSERT/SELECT patterns found in application code. Cross-database references were identified by searching for explicit database prefixes and connection switching patterns. The bridge pattern between macroscope_nexus and macroscope was traced through all monitoring widget API files.
2.3 Capability Comparison
Each system's capabilities were categorized across six dimensions: data collection, data presentation, intelligence/synthesis, media management, authentication/privacy, and administration. Overlapping capabilities were assessed for architectural compatibility.
3. Results
3.1 Architecture Comparison
Table 1 summarizes the capability distribution between the two systems.
Table 1. Capability Distribution Between MNG and STRATA
| Capability | MNG | STRATA |
|---|---|---|
| Curated place identity | Yes | No |
| Media management (10 types, photopoints, tags) | Yes | No |
| Monitoring widget framework (MW.register) | Yes | No |
| Public-facing three-tier auth | Yes | No |
| YEA category integration | Yes | No |
| People/organizations registry | Yes | No |
| Field notebook (field_log) | Yes | No |
| Four-domain architecture (EARTH/LIFE/HOME/SELF) | Partial (EARTH/LIFE) | Yes |
| Temporal micro-agents (13 platforms) | No | Yes |
| Multi-temporal context (9 windows/sensor) | No | Yes |
| Claude tool-calling (24 tools) | No | Yes |
| Personality-aware chat | No | Yes |
| SELF domain (health, clinical, documents) | No | Yes |
| HOME domain (indoor air, transitional spaces) | No | Yes |
| Per-user domain/platform access control | No | Yes |
| Multi-site support | No | Yes |
| Sensor registry (200+ sensors, 13 platforms) | No | Yes |
| Tempest/Ecowitt/BirdWeather widgets | Yes | Yes |
| Strata climate widget | Yes | Yes |
| Connection to macroscope database | Yes | Yes |
| Admin dashboard | Yes | Yes |
3.2 Galatea Macroscope/STRATA Component Inventory
The Galatea codebase comprises six subsystems:
3.2.1 Collectors (11 active)
All run as launchd agents, writing to the macroscope database independently of any web application.
Table 2. Active Collectors
| Collector | Target Table | Interval | Domain |
|---|---|---|---|
| tempest_collector.php | tempest_readings | 5 min | EARTH |
| ecowitt_collector.php | ecowitt_readings | 5 min | EARTH/LIFE |
| airlink_collector.php | airlink_readings | 5 min | EARTH |
| airthings_collector.php | airthings_readings | 15 min | HOME |
| ambientweather_collector.php | ambientweather_readings | 5 min | EARTH |
| birdweather_detections_collector.php | birdweather_detections | 5 min | LIFE |
| birdweather_environmental_collector.php | birdweather_environmental | 5 min | EARTH |
| inaturalist_collector.php | inaturalist_observations | 1 hr | LIFE |
| inaturalist_batch_updater.php | inaturalist_observations | Daily 03:30 | LIFE |
| withings_collector.php | health tables | Variable | SELF |
| pdf_document_collector.php | documents | WatchPaths | SELF |
3.2.2 Agents
A lean orchestrator (generate_temporal_state.php) coordinates 13 platform-specific summary micro-agents, each querying latest readings and generating structured JSON summaries with key readings and natural language descriptions. Output: context/temporal/site{N}.json.
Table 3. Platform Summary Micro-Agents
| Agent | Platform | Domain | Key Readings |
|---|---|---|---|
| tempest.php | WeatherFlow Tempest | EARTH | 8 metrics |
| ecowitt.php | Ecowitt GW1200B | EARTH/LIFE | 14 metrics |
| ambientweather.php | WS-2902C | EARTH | 7 metrics |
| airthings.php | Airthings Wave | HOME | 9 metrics |
| airlink.php | AirLink | EARTH/HOME | 7 metrics |
| birdweather_detections.php | BirdWeather PUC | LIFE | 6 metrics |
| birdweather_environmental.php | PUC environmental | EARTH | 11 metrics |
| inaturalist.php | iNaturalist | LIFE | 9 metrics |
| health_vitals.php | Withings + Apple Health | SELF | 8 metrics |
| health_activity.php | Withings Activity | SELF | 4 metrics |
| health_workouts.php | Withings Workouts | SELF | 4 metrics |
| health_clinical.php | Clinical Records | SELF | 4 metrics |
| documents.php | PDF Library | SELF | 4 metrics |
A spatial agent (spatial_agent.php) generates site-aware location and ecology context. A documents agent (documents_agent.js) maintains library statistics, triggered by the PDF collector.
3.2.3 STRATA Context System
Seven modular context builders in includes/context/ are orchestrated by strata_context.php to construct multi-temporal system prompts for Claude. Each builder covers a sensor domain with between seven and nine temporal analysis windows.
Table 4. Temporal Windows
| Window | Duration | Purpose |
|---|---|---|
| last_hour | Rolling 60 min | Current conditions |
| 1_day | Last 24 hours | Daily patterns |
| 7_days | 7-day rolling | Weekly trends |
| 30_days | Last month | Monthly patterns |
| 90_days | Last quarter | Seasonal shifts |
| ytd | Since January 1 | Annual trends |
| rain_yr | Since October 1 | Hydrological year |
| 1_year | Last 12 months | Long-term baseline |
| dawn_chorus | 90 min at sunrise | Bird activity (LIFE only) |
The orchestrator also implements adaptive query interpretation, classifying user questions as casual, specific source, comparative, temporal, or species queries and adjusting response granularity accordingly. Four AI personalities are supported: field_naturalist, technical_analyst, conversational_guide, and research_assistant.
3.2.4 API Layer
Twenty-four Claude tool-calling endpoints in api/strata/tools/ provide real-time sensor queries, document search, and observation analysis during conversation. Domain-based routing through api/index.php serves platform discovery, chart data, user preferences, geographic context, cross-domain analysis, and admin operations.
3.2.5 Privacy Architecture
Four-tier access control: user_site_access (multi-site grants), user_domain_access (EARTH/LIFE always visible, HOME/SELF per-user), user_platform_access (per-platform visibility), and admin "god mode." Session-based authentication with requireAuth() and requireAdmin() helpers.
3.2.6 Database
The Galatea macroscope database extends beyond the 14 tables on Data with additional tables for AmbientWeather readings, Apple Health metrics, Withings body/sleep/activity/workout measurements, clinical records (vitals, conditions, medications, immunizations, labs), multi-site configuration, and user access control. See Section 3.3 for the entity relationship diagram.
3.3 Entity Relationships
MACROSCOPE DATABASE (Galatea)
============================
┌────────┐ ┌─────────────────┐ ┌──────────────┐
│ sites │────<│ sensor_platforms │────<│ sensors │
│ │ │ │ │ │
│ id │ │ site_id │ │ platform_id │
│ name │ │ platform_type │ │ sensor_type │
│ slug │ │ domain │ │ field │
│ tz │ │ external_id │ │ domain │
└────────┘ │ specifications │ │ category │
│ └────────┬─────┬──┘ └──────────────┘
│ │ │
│ ┌─────────────────┘ └──────────────────────────┐
│ │ │
│ │ TIME-SERIES READINGS │
│ │ (all share: location_id, sensor_id, │
│ │ platform_id, recorded_at, temporal_id) │
│ │ │
│ │ EARTH: tempest, ecowitt, ambientweather, │
│ │ airlink, birdweather_environmental │
│ │ LIFE: birdweather_detections, inaturalist │
│ │ HOME: airthings │
│ │ SELF: applehealth, withings (4 tables), │
│ │ clinical (4 tables), documents │
│ └───────────────────────────────────────────────────┘
│
│ ┌───────────────────────────────────────────────────┐
│ │ ACCESS CONTROL │
└──│──> user_site_access (user_id, site_id) │
│ user_domain_access (user_id, domain) │
│ user_platform_access (user_id, platform_id) │
│ user_preferences (personality, units, map) │
└───────────────────────────────────────────────────┘
MACROSCOPE_NEXUS DATABASE
=========================
┌──────────┐ ┌───────────────────┐
│ places │────<│ monitoring_sources │
│ │ │ │
│ │ │ macroscope_ │──── BRIDGE to
│ │ │ platform_id │ sensor_platforms
│ │ │ viewer_config │
│ │ └───────────────────┘
│ │
│ │────<┌──────────────┐
│ │ │ photopoints │────<┌────────┐
│ │ └──────────────┘ │ media │
│ │ └────────┘
│ │────<┌─────────────┐
└──────────┘ │ field_log │
└─────────────┘
Figure 1. Entity relationships across the macroscope and macroscope_nexus databases. The bridge pattern (monitoring_sources.macroscope_platform_id referencing sensor_platforms.id) enables MNG to query time-series readings for any monitoring source.
3.4 Document Pipeline Assessment
The PDF processing pipeline is fully operational on Data: a LaunchAgent (com.macroscope.pdf_collector) watches the iCloud Papers folder, triggers pdf_document_collector.php, which invokes enhanced_pdf_extractor.py (PyMuPDF + pdfplumber + Claude API for two-phase extraction). The pipeline has processed 278 documents across six types (academic: 189, blog: 52, report: 17, essay: 16, personal: 3, unknown: 1). No GUI exists for browsing, searching, or managing the processed documents.
3.5 Deprecated Components
The Data Node.js Macroscope (Projects/Live/Macroscope/) consists of an Express backend with 10 route modules, a Preact frontend with 8 components, and 3 JavaScript agents. This version is architecturally inconsistent with the LAMP stack and less advanced than Galatea's STRATA system across all dimensions: fewer agents (3 vs. 13), no tool-calling, no privacy architecture, no SELF domain, no multi-site support. It is deprecated by this plan. The collectors in Projects/Live/Macroscope/collectors/ remain active infrastructure and are not deprecated.
4. Discussion
4.1 Convergence Principle
Rather than merging codebases file-by-file, convergence means the unified platform gains the capabilities of both systems. MNG's codebase is the deployment target — it is the public-facing site with an established design language, authentication model, and deployment workflow. STRATA's codebase is the development reference for intelligence, domain expansion, and privacy patterns. The bridge pattern (monitoring_sources.macroscope_platform_id) is the architectural seam that enables incremental capability transfer without disrupting either production system.
4.2 Convergence Sequence
Six phases are proposed, each self-contained and producing deployable code:
Phase 1: Document Management GUI. Build a document browser/manager in MNG admin for the 278 documents in macroscope.documents. Components: api/documents.php, admin/documents.php, js/document-manager.js. This is the most concrete gap — working pipeline, existing data, no interface.
Phase 2: HOME Domain Widgets. Build AirLink and Airthings monitoring widgets (mw-airlink.php/js, mw-airthings.php/js) using the MW.register() pattern. Introduce HOME domain classification in monitoring_sources.
Phase 3: STRATA Intelligence Integration. Port the temporal agent orchestrator, 13 micro-agents, 7 context builders, and chat endpoint into MNG. This gives MNG a Claude-powered conversational interface with multi-temporal environmental intelligence and 24 tool-calling endpoints.
Phase 4: SELF Domain Expansion. Port health agents and Withings/Apple Health integrations. Requires Phase 3 privacy architecture (per-user domain access) to prevent health data leakage to unauthenticated users.
Phase 5: Multi-Site and Sensor Registry. Port the sites architecture and modular sensor registry, enabling MNG to manage multiple monitoring locations with per-site sensor definitions.
Phase 6: SOMA Production Deployment. Deploy SOMA anomaly detection to Galatea for continuous operation. Wire tension/free-energy signals into the STRATA context system as an additional intelligence layer. This phase is architecturally independent and can run in parallel with Phases 3-5.
5. Limitations
This audit was conducted from code analysis only. Runtime behavior, performance characteristics, and database row counts for Galatea-specific tables (health, clinical, AmbientWeather) were not verified. The SOMA codebase was not audited in detail. The convergence plan assumes continued availability of the Anthropic Claude API for chat and tool-calling integration; an Ollama fallback exists in the STRATA codebase but was not evaluated for production readiness.
6. Conclusion
The Galatea Macroscope/STRATA and MNG systems are architecturally complementary rather than redundant. MNG excels at place-based identity, media management, and public presentation. STRATA excels at temporal intelligence, four-domain data organization, AI integration, and privacy-controlled access. Convergence combines these strengths into a single platform through a six-phase incremental plan, beginning with the Document Management GUI and culminating in full multi-domain intelligence with SOMA anomaly detection. The bridge pattern between macroscope_nexus.monitoring_sources and macroscope.sensor_platforms provides a stable architectural seam for incremental capability transfer. The Data Node.js Macroscope is deprecated in favor of the Galatea LAMP codebase as the authoritative development core.
References
No external references. This document is based entirely on primary analysis of CNL codebases and databases.
Appendix A: File Reference
Table A1. Galatea Macroscope/STRATA Directory Map
| Directory | Contents | Convergence Role |
|---|---|---|
| agents/ | Temporal orchestrator + 13 micro-agents | Port to MNG as intelligence layer |
| agents/summaries/ | Platform-specific summary generators | Reference for temporal state generation |
| api/ | Domain-based REST API | Reference for MNG API expansion |
| api/strata/tools/ | 24 Claude tool-calling endpoints | Port to MNG for chat integration |
| collectors/ | 11 data ingestion scripts | Keep as-is (infrastructure) |
| context/ | Generated JSON state files | Output directory for ported agents |
| includes/ | Shared libs: auth, database, registry, context | Port auth and intelligence patterns |
| includes/context/ | 7 STRATA context builders | Port to MNG for system prompt construction |
| includes/registry/ | 13 platform sensor definition files | Reference for sensor metadata |
| domains/ | EARTH/LIFE/HOME/SELF detail pages | Pattern reference for domain panels |
| admin/ | User/site/platform management | Reference for MNG admin expansion |
| public/ | Frontend PWA assets | Not ported (MNG has own frontend) |
Development core location on Data: Projects/Live/Galatea/Macroscope-Galatea/
Production location on Galatea: /Library/WebServer/Documents/Macroscope/
Document History
| Version | Date | Changes |
|---|---|---|
| 0.1 | 2026-04-05 | Initial draft based on Data Macroscope audit |
| 0.2 | 2026-04-05 | Complete rewrite incorporating Galatea Macroscope/STRATA audit; deprecated Data Node.js version; revised convergence plan |
Cite This Document
BibTeX
Permanent URL: https://canemah.org/archive/document.php?id=CNL-TN-2026-042