@alteriom/painlessmesh 1.8.15 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/BRIDGE_TO_INTERNET.md +229 -0
  2. package/CHANGELOG.md +61 -1
  3. package/CONTRIBUTING.md +79 -0
  4. package/README.md +69 -144
  5. package/docs/README.md +1 -0
  6. package/docs/api/shared-gateway.md +1207 -0
  7. package/examples/bridge_failover/README.md +81 -0
  8. package/examples/bridge_failover/bridge_failover.ino +35 -4
  9. package/examples/sharedGateway/README.md +235 -0
  10. package/examples/{meshCommandNode → sharedGateway}/platformio.ini +3 -2
  11. package/examples/sharedGateway/sharedGateway.ino +303 -0
  12. package/library.json +3 -22
  13. package/library.properties +1 -1
  14. package/package.json +3 -6
  15. package/src/arduino/wifi.hpp +342 -4
  16. package/src/painlessmesh/gateway.hpp +2120 -0
  17. package/src/painlessmesh/mesh.hpp +1034 -6
  18. package/src/painlessmesh/message_tracker.hpp +311 -0
  19. package/src/painlessmesh/protocol.hpp +6 -0
  20. package/DOCUMENTATION_INDEX.md +0 -146
  21. package/RELEASE_NOTES_1.8.15.md +0 -160
  22. package/RELEASE_READINESS_PLAN.md +0 -323
  23. package/TESTING_WITH_SIMULATOR.md +0 -259
  24. package/docs/API_DESIGN_GUIDELINES.md +0 -414
  25. package/docs/ARDUINO_LIBRARY_MANAGER_SUBMISSION.md +0 -331
  26. package/docs/BOOLEAN_NAMING_CONVENTION.md +0 -235
  27. package/docs/BRIDGE_FAILOVER.md +0 -512
  28. package/docs/BRIDGE_HEALTH_MONITORING.md +0 -293
  29. package/docs/BRIDGE_INITIALIZATION_FALLBACK.md +0 -357
  30. package/docs/CHANNEL_SYNCHRONIZATION.md +0 -209
  31. package/docs/CREATE_MISSING_RELEASES.md +0 -321
  32. package/docs/DOCUMENTATION_MIGRATION_PLAN.md +0 -176
  33. package/docs/FAQ_VERSION_NUMBERS.md +0 -152
  34. package/docs/IMPLEMENTATION_PLAN_MESH_TOPOLOGY.md +0 -1062
  35. package/docs/MESH_TOPOLOGY_GUIDE.md +0 -992
  36. package/docs/MESH_TOPOLOGY_PROGRESS.md +0 -422
  37. package/docs/MQTT_BRIDGE_COMMANDS.md +0 -894
  38. package/docs/MQTT_BRIDGE_IMPLEMENTATION_SUMMARY.md +0 -324
  39. package/docs/MQTT_COMMAND_SCHEMA_PROPOSAL.md +0 -576
  40. package/docs/MQTT_SCHEMA_COMPLIANCE.md +0 -340
  41. package/docs/MQTT_SCHEMA_PROPOSALS.md +0 -446
  42. package/docs/MQTT_SCHEMA_REVIEW.md +0 -690
  43. package/docs/OTA_COMMANDS_REFERENCE.md +0 -554
  44. package/docs/PHASE1_GUIDE.md +0 -349
  45. package/docs/PHASE2_GUIDE.md +0 -543
  46. package/docs/QUICK_REFERENCE_VERSIONING.md +0 -127
  47. package/docs/RELEASE_AGENT_SUMMARY.md +0 -386
  48. package/docs/SCHEMA_VALIDATION_CHECKLIST.md +0 -222
  49. package/docs/SIMULATOR_TESTING.md +0 -408
  50. package/docs/VERSION_MANAGEMENT.md +0 -213
  51. package/docs/archive/DOCUSAURUS_DEPLOYMENT.md +0 -166
  52. package/docs/archive/FEATURE_PROPOSALS.md +0 -337
  53. package/docs/archive/LIBRARY_JSON_FIX.md +0 -98
  54. package/docs/archive/LIBRARY_STRUCTURE_FIX.md +0 -215
  55. package/docs/archive/PHASE1_IMPLEMENTATION.md +0 -325
  56. package/docs/archive/PHASE2_IMPLEMENTATION.md +0 -567
  57. package/docs/archive/RELEASE_SUMMARY.md +0 -173
  58. package/docs/archive/SCONS_BUILD_FIX.md +0 -313
  59. package/docs/archive/TRIGGER_RELEASE.md +0 -280
  60. package/docs/archive/VECTOR_INCLUDE_FIX.md +0 -129
  61. package/docs/archive/ota-and-status-enhancements.md +0 -911
  62. package/docs/archive/ota-status-architecture-diagrams.md +0 -658
  63. package/docs/archive/ota-status-quick-reference.md +0 -284
  64. package/docs/design/.gitkeep +0 -1
  65. package/docs/design/STATION_CREDENTIALS_DESIGN.md +0 -182
  66. package/docs/development/ARDUINO_COMPLIANCE_SUMMARY.md +0 -71
  67. package/docs/development/CODE_REFACTORING_RECOMMENDATIONS.md +0 -1011
  68. package/docs/development/DOCKER_TESTING.md +0 -196
  69. package/docs/development/PLATFORMIO_USAGE.md +0 -180
  70. package/docs/development/TESTING_SUMMARY.md +0 -126
  71. package/docs/development/contributing.md +0 -301
  72. package/docs/development/documentation.md +0 -583
  73. package/docs/features/DIAGNOSTICS_API.md +0 -534
  74. package/docs/implementation/BRIDGE_ARCHITECTURE_IMPLEMENTATION.md +0 -340
  75. package/docs/implementation/BRIDGE_HEALTH_MONITORING_IMPLEMENTATION.md +0 -213
  76. package/docs/implementation/BRIDGE_STATUS_FEATURE.md +0 -635
  77. package/docs/implementation/DIAGNOSTICS_API_IMPLEMENTATION.md +0 -232
  78. package/docs/implementation/IMPLEMENTATION_COMPLETE.md +0 -228
  79. package/docs/implementation/IMPLEMENTATION_NTP_TIME_SYNC.md +0 -325
  80. package/docs/implementation/IMPLEMENTATION_SUMMARY.md +0 -316
  81. package/docs/implementation/MESSAGE_QUEUE_IMPLEMENTATION.md +0 -405
  82. package/docs/implementation/MULTI_BRIDGE_IMPLEMENTATION.md +0 -520
  83. package/docs/implementation/NTP_TIME_SYNC_FEATURE.md +0 -392
  84. package/docs/improvements/FUTURE_PROPOSALS.md +0 -1016
  85. package/docs/improvements/IMPLEMENTATION_HISTORY.md +0 -1091
  86. package/docs/improvements/OTA_STATUS_ENHANCEMENTS.md +0 -709
  87. package/docs/improvements/README.md +0 -212
  88. package/docs/internal/CUSTOM_AGENT_ANALYSIS.md +0 -391
  89. package/docs/internal/ISSUE_65_VERIFICATION.md +0 -947
  90. package/docs/internal/ISSUE_66_CLOSURE.md +0 -249
  91. package/docs/internal/ISSUE_66_STATUS.md +0 -316
  92. package/docs/internal/PR_SUMMARY.md +0 -315
  93. package/docs/internal/REVIEW_SUMMARY.md +0 -332
  94. package/docs/multi-bridge-setup.md +0 -1025
  95. package/docs/platformio-publishing.md +0 -255
  96. package/docs/platformio-setup-summary.md +0 -121
  97. package/docs/releases/ANNOUNCEMENT_v1.8.6.md +0 -63
  98. package/docs/releases/ANNOUNCEMENT_v1.8.7.md +0 -113
  99. package/docs/releases/BRIDGE_STATUS_SELF_REGISTRATION_FIX.md +0 -221
  100. package/docs/releases/FEATURE_HISTORY.md +0 -543
  101. package/docs/releases/GITHUB_RELEASE_v1.8.6.md +0 -71
  102. package/docs/releases/GITHUB_RELEASE_v1.8.7.md +0 -90
  103. package/docs/releases/PATCH_v1.7.2.md +0 -262
  104. package/docs/releases/PATCH_v1.7.3.md +0 -262
  105. package/docs/releases/PATCH_v1.7.4.md +0 -219
  106. package/docs/releases/PHASE1_SUMMARY.md +0 -246
  107. package/docs/releases/PHASE2_SUMMARY.md +0 -499
  108. package/docs/releases/PUBLISH_v1.8.0_INSTRUCTIONS.md +0 -163
  109. package/docs/releases/QUICK_START_RELEASES.md +0 -113
  110. package/docs/releases/RELEASE_CHECKLIST_1.8.10.md +0 -331
  111. package/docs/releases/RELEASE_CHECKLIST_1.8.9.md +0 -207
  112. package/docs/releases/RELEASE_CHECKLIST_v1.7.4.md +0 -253
  113. package/docs/releases/RELEASE_CHECKLIST_v1.7.5.md +0 -315
  114. package/docs/releases/RELEASE_CHECKLIST_v1.7.6.md +0 -389
  115. package/docs/releases/RELEASE_CHECKLIST_v1.8.0.md +0 -331
  116. package/docs/releases/RELEASE_CHECKLIST_v1.8.2.md +0 -309
  117. package/docs/releases/RELEASE_NOTES_1.7.0.md +0 -539
  118. package/docs/releases/RELEASE_NOTES_1.8.10.md +0 -239
  119. package/docs/releases/RELEASE_NOTES_1.8.9.md +0 -213
  120. package/docs/releases/RELEASE_NOTES_v1.8.0.md +0 -685
  121. package/docs/releases/RELEASE_NOTES_v1.8.1.md +0 -221
  122. package/docs/releases/RELEASE_NOTES_v1.8.2.md +0 -421
  123. package/docs/releases/RELEASE_NOTES_v1.8.3.md +0 -292
  124. package/docs/releases/RELEASE_NOTES_v1.8.4.md +0 -277
  125. package/docs/releases/RELEASE_NOTES_v1.8.6.md +0 -205
  126. package/docs/releases/RELEASE_NOTES_v1.8.7.md +0 -184
  127. package/docs/releases/RELEASE_PLAN_v1.7.6.md +0 -816
  128. package/docs/releases/RELEASE_SUMMARY_1.8.10.md +0 -193
  129. package/docs/releases/RELEASE_SUMMARY_v1.7.4.md +0 -276
  130. package/docs/releases/RELEASE_SUMMARY_v1.7.5.md +0 -322
  131. package/docs/releases/RELEASE_SUMMARY_v1.7.6.md +0 -436
  132. package/docs/releases/RELEASE_SUMMARY_v1.7.7.md +0 -391
  133. package/docs/releases/RELEASE_SUMMARY_v1.7.8.md +0 -523
  134. package/docs/releases/RELEASE_SUMMARY_v1.7.9.md +0 -542
  135. package/docs/troubleshooting/ARDUINO_IDE_VERSION_FIX_SUMMARY.md +0 -229
  136. package/docs/troubleshooting/ARDUINO_LIBRARY_NAME_FIX.md +0 -197
  137. package/docs/troubleshooting/CRASH_QUICK_REF.md +0 -93
  138. package/docs/troubleshooting/ESP32_C6_COMPATIBILITY.md +0 -157
  139. package/docs/troubleshooting/FREERTOS_ASSERTION_FAILURE.md +0 -288
  140. package/docs/troubleshooting/FREERTOS_FIX_IMPLEMENTATION.md +0 -267
  141. package/docs/troubleshooting/NPM_PUBLISHING_ISSUE_SUMMARY.md +0 -110
  142. package/docs/troubleshooting/PAINLESSMESH_V1.7.4_COMPILATION_ISSUES.md +0 -547
  143. package/docs/troubleshooting/QUICK_FIX_FREERTOS.md +0 -164
  144. package/docs/troubleshooting/SENSOR_NODE_CONNECTION_CRASH.md +0 -264
  145. package/docs/troubleshooting/common-architecture-mistakes.md +0 -438
  146. package/docs/troubleshooting/internet-access-faq.md +0 -299
  147. package/docs/troubleshooting/station-reconnection-issues.md +0 -172
  148. package/docs/v1.7.7_MQTT_IMPROVEMENTS.md +0 -794
  149. package/docs/wiki/API-Reference.md +0 -246
  150. package/docs/wiki/Complete-Documentation.md +0 -123
  151. package/examples/alteriomImproved/alteriom_sensor_package.hpp +0 -224
  152. package/examples/alteriomImproved/improved_sensor_node.ino +0 -248
  153. package/examples/alteriomImproved/platformio.ini +0 -32
  154. package/examples/alteriomMetricsHealth/alteriom_sensor_package.hpp +0 -796
  155. package/examples/alteriomMetricsHealth/metrics_health_node.ino +0 -429
  156. package/examples/alteriomMetricsHealth/platformio.ini +0 -26
  157. package/examples/alteriomPhase1/alteriom_sensor_package.hpp +0 -224
  158. package/examples/alteriomPhase1/phase1_features.ino +0 -242
  159. package/examples/alteriomPhase1/platformio.ini +0 -26
  160. package/examples/alteriomPhase2/alteriom_sensor_package.hpp +0 -224
  161. package/examples/alteriomPhase2/phase2_features.ino +0 -186
  162. package/examples/alteriomPhase2/platformio.ini +0 -26
  163. package/examples/alteriomSensorNode/alteriom_sensor_node.ino +0 -186
  164. package/examples/alteriomSensorNode/alteriom_sensor_package.hpp +0 -1227
  165. package/examples/alteriomSensorNode/platformio.ini +0 -26
  166. package/examples/bridge/alteriom_sensor_package.hpp +0 -1170
  167. package/examples/bridge/bridge_health_monitoring_example.ino +0 -188
  168. package/examples/bridge/enhanced_mqtt_bridge.hpp +0 -610
  169. package/examples/bridge/enhanced_mqtt_bridge_example.ino +0 -226
  170. package/examples/bridge/mesh_event_publisher.hpp +0 -253
  171. package/examples/bridge/mesh_topology_reporter.hpp +0 -303
  172. package/examples/bridge/mqtt_command_bridge.hpp +0 -459
  173. package/examples/bridge/mqtt_status_bridge.hpp +0 -519
  174. package/examples/bridgeAwareSensorNode/alteriom_sensor_package.hpp +0 -1227
  175. package/examples/bridgeAwareSensorNode/bridgeAwareSensorNode.ino +0 -342
  176. package/examples/bridgeAwareSensorNode/platformio.ini +0 -26
  177. package/examples/diagnosticsExample/diagnosticsExample.ino +0 -171
  178. package/examples/diagnosticsExample/platformio.ini +0 -26
  179. package/examples/echoNode/echoNode.ino +0 -33
  180. package/examples/echoNode/platformio.ini +0 -26
  181. package/examples/meshCommandNode/alteriom_sensor_package.hpp +0 -235
  182. package/examples/meshCommandNode/meshCommandNode.ino +0 -265
  183. package/examples/mqttCommandBridge/alteriom_sensor_package.hpp +0 -235
  184. package/examples/mqttCommandBridge/mesh_event_publisher.hpp +0 -253
  185. package/examples/mqttCommandBridge/mesh_topology_reporter.hpp +0 -303
  186. package/examples/mqttCommandBridge/mqttCommandBridge.ino +0 -254
  187. package/examples/mqttCommandBridge/mqtt_command_bridge.hpp +0 -462
  188. package/examples/mqttCommandBridge/platformio.ini +0 -27
  189. package/examples/mqttStatusBridge/mqttStatusBridge.ino +0 -218
  190. package/examples/mqttStatusBridge/mqtt_status_bridge.hpp +0 -522
  191. package/examples/mqttStatusBridge/platformio.ini +0 -27
  192. package/examples/mqttTopologyTest/README.md +0 -467
  193. package/examples/mqttTopologyTest/mqttTopologyTest.ino +0 -754
  194. package/examples/mqttTopologyTest/platformio.ini +0 -27
  195. package/examples/multi_bridge/README.md +0 -346
  196. package/examples/multi_bridge/primary_bridge.ino +0 -108
  197. package/examples/multi_bridge/regular_node.ino +0 -141
  198. package/examples/multi_bridge/secondary_bridge.ino +0 -123
  199. package/examples/ntpTimeSyncBridge/alteriom_sensor_package.hpp +0 -1383
  200. package/examples/ntpTimeSyncBridge/ntpTimeSyncBridge.ino +0 -86
  201. package/examples/ntpTimeSyncNode/alteriom_sensor_package.hpp +0 -1383
  202. package/examples/ntpTimeSyncNode/ntpTimeSyncNode.ino +0 -109
  203. package/examples/queued_alarms/README.md +0 -390
  204. package/examples/queued_alarms/queued_alarms.ino +0 -265
  205. package/examples/routing_demo/README.md +0 -172
  206. package/examples/routing_demo/routing_demo.ino +0 -102
  207. package/examples/rtcIntegration/README.md +0 -294
  208. package/examples/rtcIntegration/rtcIntegration.ino +0 -210
@@ -1,212 +0,0 @@
1
- # painlessMesh Improvements Documentation
2
-
3
- This directory contains documentation for improvements made to painlessMesh, including completed features (Phases 1-2) and proposed enhancements (Phase 3+).
4
-
5
- ---
6
-
7
- ## Overview
8
-
9
- The improvements focus on four key areas:
10
-
11
- 1. **Performance Optimization** - Memory management and processing efficiency
12
- 2. **Security & Robustness** - Input validation and attack prevention
13
- 3. **Monitoring & Diagnostics** - Performance metrics and health monitoring
14
- 4. **OTA & Status Enhancements** - Advanced firmware distribution and monitoring
15
-
16
- ---
17
-
18
- ## Documentation Structure
19
-
20
- ### 📋 Current State
21
-
22
- **[OTA_STATUS_ENHANCEMENTS.md](OTA_STATUS_ENHANCEMENTS.md)** - Complete reference guide
23
- - ✅ **Phase 1 (v1.6.x):** Compressed OTA + Enhanced Status Package
24
- - ✅ **Phase 2 (v1.7.0):** Broadcast OTA + MQTT Status Bridge
25
- - 📋 **Phase 3 (Future):** Progressive rollout, P2P distribution, telemetry streams
26
- - Decision matrices, architecture diagrams, performance expectations
27
- - Quick reference for choosing implementation options
28
-
29
- ### 🔧 Technical Details
30
-
31
- **[IMPLEMENTATION_HISTORY.md](IMPLEMENTATION_HISTORY.md)** - Implementation details for Phases 1-2
32
- - Technical specifications and code changes
33
- - Performance analysis and benchmarks
34
- - Testing documentation (80 assertions passing)
35
- - Files modified and API changes
36
- - Memory impact and scalability analysis
37
-
38
- ### 🚀 Future Roadmap
39
-
40
- **[FUTURE_PROPOSALS.md](FUTURE_PROPOSALS.md)** - Proposed Phase 3+ features
41
- - Progressive Rollout OTA (Option 1B) - Zero-downtime updates
42
- - Peer-to-Peer Distribution (Option 1C) - Viral propagation for 100+ nodes
43
- - MQTT-Integrated OTA (Option 1D) - Cloud-based management
44
- - Mesh Status Service (Option 2B) - RESTful API for status queries
45
- - Telemetry Stream (Option 2C) - Real-time monitoring with delta encoding
46
- - Health Dashboard (Option 2D) - Web-based management interface
47
-
48
- ---
49
-
50
- ## Completed Features
51
-
52
- ### Core Library Improvements
53
-
54
- **1. Input Validation & Security (`validation.hpp`)**
55
- - JSON schema validation and field type checking
56
- - Per-node rate limiting to prevent spam
57
- - Hardware-based secure random number generation
58
- - Node ID validation
59
-
60
- **2. Performance Metrics & Monitoring (`metrics.hpp`)**
61
- - Message statistics (throughput, latency, error tracking)
62
- - Memory monitoring (heap tracking, peak usage, alerts)
63
- - Network topology (connection stability, hop analysis)
64
- - JSON reports for integration with monitoring systems
65
-
66
- **3. Memory Management Optimization (`memory.hpp`)**
67
- - Object pooling to minimize allocation overhead
68
- - Pre-allocated string buffers
69
- - Memory statistics and leak detection
70
-
71
- **4. Protocol Improvements**
72
- - Issue #521 resolution (protocol::Variant copy operations)
73
- - Move semantics for efficient operations
74
- - Enhanced zero-copy buffer operations
75
-
76
- ### OTA & Status Features (Phases 1-2)
77
-
78
- **Phase 1 (v1.6.x):**
79
- - ✅ Compressed OTA infrastructure (40-60% bandwidth reduction)
80
- - ✅ Enhanced StatusPackage (18 comprehensive fields)
81
-
82
- **Phase 2 (v1.7.0):**
83
- - ✅ Broadcast OTA (98% traffic reduction for 50-node mesh)
84
- - ✅ MQTT Status Bridge (Grafana/InfluxDB integration)
85
-
86
- ---
87
-
88
- ## Performance Impact
89
-
90
- **Core Improvements:**
91
- - Memory usage: 10-20% reduction in fragmentation
92
- - Message processing: 5-15% faster validation
93
- - Network efficiency: Reduced retransmissions
94
- - CPU usage: More efficient algorithms
95
-
96
- **OTA Improvements (Phase 1-2):**
97
- - Update speed: 75% faster (Phase 2 broadcast mode)
98
- - Network bandwidth: 50% reduction (Phase 1 compression) + 98% reduction (Phase 2 broadcast)
99
- - Scalability: Proven up to 50-100 nodes
100
- - Memory overhead: +7-13KB total
101
-
102
- ---
103
-
104
- ## Testing & Quality
105
-
106
- - ✅ **100% Test Pass Rate**: All existing and new tests pass
107
- - ✅ **80 Assertions**: Comprehensive Phase 1-2 test coverage
108
- - ✅ **No Regressions**: Backward compatibility maintained
109
- - ✅ **Static Analysis**: Code passes all checks
110
- - ✅ **Memory Testing**: No leaks detected
111
-
112
- ---
113
-
114
- ## Quick Start
115
-
116
- ### "How do I use the new OTA features?"
117
-
118
- **Phase 1-2 are available now in v1.7.0:**
119
-
120
- ```cpp
121
- // Enable compressed + broadcast OTA (both Phase 1 and 2 features)
122
- mesh.offerOTA("sensor", "ESP32", md5, parts, false, true, true);
123
- // ^^^^^ ^^^^ ^^^^
124
- // forced bcast compress
125
- ```
126
-
127
- **See:** [OTA_STATUS_ENHANCEMENTS.md](OTA_STATUS_ENHANCEMENTS.md) for decision guide
128
-
129
- ### "How do I use the new status monitoring?"
130
-
131
- **Enhanced StatusPackage (Phase 1):**
132
-
133
- ```cpp
134
- #include "examples/alteriom/alteriom_sensor_package.hpp"
135
-
136
- alteriom::EnhancedStatusPackage status;
137
- status.uptime = millis() / 1000;
138
- status.freeMemory = ESP.getFreeHeap() / 1024;
139
- status.nodeCount = mesh.getNodeList().size();
140
- mesh.sendBroadcast(status.toJsonString());
141
- ```
142
-
143
- **MQTT Bridge (Phase 2):**
144
-
145
- ```cpp
146
- #include "examples/bridge/mqtt_status_bridge.hpp"
147
-
148
- MqttStatusBridge bridge(mesh, mqttClient);
149
- bridge.setPublishInterval(30000); // 30 seconds
150
- bridge.begin();
151
- ```
152
-
153
- **See:** [OTA_STATUS_ENHANCEMENTS.md](OTA_STATUS_ENHANCEMENTS.md) for detailed usage
154
-
155
- ---
156
-
157
- ## Examples
158
-
159
- **Core Improvements:**
160
- - `examples/alteriom/improved_sensor_node.ino` - Demonstrates validation and metrics
161
-
162
- **Phase 1-2 Features:**
163
- - `examples/alteriom/phase1_features.ino` - Compressed OTA + Enhanced Status
164
- - `examples/alteriom/phase2_features.ino` - Broadcast OTA + MQTT Bridge
165
- - `examples/bridge/mqtt_bridge_example.ino` - MQTT integration example
166
- - `examples/otaSender/otaSender.ino` - OTA sender implementation
167
- - `examples/otaReceiver/otaReceiver.ino` - OTA receiver implementation
168
-
169
- ---
170
-
171
- ## Related Documentation
172
-
173
- ### User Documentation
174
- - [Feature History](../releases/FEATURE_HISTORY.md) - User-facing docs, migration guides, usage patterns
175
- - [Phase 1 Guide](../PHASE1_GUIDE.md) - Complete Phase 1 usage guide (if exists)
176
- - [Phase 2 Guide](../PHASE2_GUIDE.md) - Complete Phase 2 usage guide (if exists)
177
-
178
- ### API Documentation
179
- - [Core API Reference](../api/core-api.md) - API documentation
180
- - [Metrics API](../../src/painlessmesh/metrics.hpp) - Performance metrics
181
- - [Validation API](../../src/painlessmesh/validation.hpp) - Input validation
182
- - [Alteriom Packages](../../examples/alteriom/alteriom_sensor_package.hpp) - Package definitions
183
-
184
- ### Architecture
185
- - [Mesh Architecture](../architecture/mesh-architecture.md) - Core architecture
186
- - [Plugin System](../architecture/plugin-system.md) - Plugin architecture
187
-
188
- ---
189
-
190
- ## Contributing
191
-
192
- Interested in implementing Phase 3 features or improving existing ones?
193
-
194
- 1. Review [FUTURE_PROPOSALS.md](FUTURE_PROPOSALS.md) for detailed specifications
195
- 2. Check [GitHub Issues](https://github.com/Alteriom/painlessMesh/issues) for discussions
196
- 3. Read [Contributing Guide](../development/contributing.md) for workflow
197
- 4. Open an issue to discuss your implementation plan
198
- 5. Submit a pull request with implementation and tests
199
-
200
- ---
201
-
202
- ## Questions & Support
203
-
204
- - **GitHub Issues:** <https://github.com/Alteriom/painlessMesh/issues>
205
- - **Discussions:** <https://github.com/Alteriom/painlessMesh/discussions>
206
- - **Documentation:** <https://alteriom.github.io/painlessMesh/>
207
-
208
- ---
209
-
210
- **Last Updated:** October 2025
211
- **Current Version:** v1.7.0
212
- **Status:** Phases 1-2 Complete ✅ | Phase 3 Proposed 📋
@@ -1,391 +0,0 @@
1
- # Custom Agent Visibility Analysis
2
-
3
- ## Question
4
-
5
- "why I don't see the custom agent in the list in GitHub?"
6
-
7
- ## Investigation Summary
8
-
9
- The `.github/agents/` directory contains documentation files, not GitHub Copilot custom agent configurations.
10
-
11
- ## Current State
12
-
13
- ### What Exists in the Repository
14
-
15
- #### 1. Agent Documentation Directory
16
-
17
- ```
18
- .github/agents/
19
- ├── README.md - Documentation index for release processes
20
- └── release-agent.md - Release agent specification (328 lines)
21
- ```
22
-
23
- #### 2. Release Agent Script
24
-
25
- ```
26
- scripts/release-agent.sh - Executable shell script (290 lines)
27
- ```
28
-
29
- #### 3. Supporting Documentation
30
-
31
- ```
32
- .github/copilot-instructions.md
33
- .github/copilot-quick-reference.md
34
- .github/copilot-troubleshooting.md
35
- ```
36
-
37
- ### What These Files Are
38
-
39
- **Purpose:** Documentation and automation tools
40
-
41
- 1. **release-agent.md** - Human-readable specification
42
- - Pre-release validation checklist
43
- - Release process workflow
44
- - Error recovery procedures
45
- - Configuration requirements
46
-
47
- 2. **release-agent.sh** - Automated validation script
48
- - Checks version consistency
49
- - Validates CHANGELOG entries
50
- - Verifies git state
51
- - Tests build system
52
-
53
- 3. **Documentation files** - Context for developers
54
- - Coding guidelines
55
- - Project conventions
56
- - Troubleshooting guides
57
-
58
- ### What These Files Are NOT
59
-
60
- ❌ **GitHub Copilot Custom Agents**
61
- - Not AI assistants
62
- - Not available in GitHub UI
63
- - Not executable by Copilot directly
64
-
65
- ❌ **GitHub Actions Workflows**
66
- - Not automated CI/CD (though used by workflows)
67
- - Not triggered by GitHub events directly
68
-
69
- ❌ **Copilot Extensions/Plugins**
70
- - Not MCP servers
71
- - Not tool extensions
72
-
73
- ## Understanding GitHub Copilot Agents
74
-
75
- ### Types of "Agents" in Context
76
-
77
- #### 1. GitHub Copilot Custom Agents (Enterprise Feature)
78
-
79
- **What they are:**
80
- - AI assistants with specialized knowledge
81
- - Available in GitHub Copilot Chat
82
- - Require GitHub Enterprise Cloud + Copilot for Business
83
- - Configured at organization level
84
-
85
- **How they're created:**
86
- - Organization admins create agents
87
- - Define agent purpose and instructions
88
- - Specify knowledge sources
89
- - Available to all org members
90
-
91
- **Example:**
92
- ```
93
- @my-org/release-agent - "Help with release processes"
94
- @my-org/security-agent - "Security review assistant"
95
- ```
96
-
97
- **Visibility:**
98
- - Appear in Copilot Chat agent list
99
- - Prefixed with `@organization-name/agent-name`
100
- - Available in GitHub UI, VS Code, etc.
101
-
102
- **Requirements:**
103
- - GitHub Enterprise Cloud subscription
104
- - Copilot for Business license
105
- - Organization admin access to create
106
- - Specific configuration format
107
-
108
- #### 2. GitHub Copilot Instructions (Repository Context)
109
-
110
- **What they are:**
111
- - Markdown files in `.github/` directory
112
- - Provide context to Copilot
113
- - Guide Copilot's responses
114
- - Available in current repository
115
-
116
- **How they work:**
117
- - Copilot reads these files automatically
118
- - Uses content as context for suggestions
119
- - No explicit "agent" invocation needed
120
- - Scoped to repository
121
-
122
- **Example files:**
123
- ```
124
- .github/copilot-instructions.md
125
- .github/instructions/testing.instructions.md
126
- ```
127
-
128
- **Visibility:**
129
- - Not visible in agent list
130
- - Automatically used by Copilot
131
- - Influence all Copilot suggestions in repo
132
-
133
- #### 3. Documentation "Agents" (This Repository)
134
-
135
- **What they are:**
136
- - Documentation about processes
137
- - Specifications for manual procedures
138
- - Reference guides for humans
139
-
140
- **Purpose:**
141
- - Document release procedures
142
- - Provide checklists
143
- - Guide manual processes
144
-
145
- **The `.github/agents/` directory in this repository:**
146
- - Documentation ABOUT agent-like processes
147
- - Not actual AI agents
148
- - For human reference primarily
149
-
150
- ## Why the Custom Agent Isn't Visible
151
-
152
- ### Possible Interpretations
153
-
154
- #### Interpretation 1: Expecting GitHub Copilot Enterprise Agent
155
-
156
- **If you expected to see:**
157
- ```
158
- @Alteriom/release-agent
159
- ```
160
-
161
- **Why it's not visible:**
162
- 1. **Not configured as Copilot Agent** - The release-agent.md is documentation, not an agent configuration
163
- 2. **Requires Enterprise** - Copilot custom agents need GitHub Enterprise Cloud
164
- 3. **Organization-level setup** - Must be created by org admins in GitHub settings
165
- 4. **Wrong location** - Agents aren't created by committing markdown to `.github/agents/`
166
-
167
- **How to check if available:**
168
- 1. Open GitHub Copilot Chat
169
- 2. Type `@` to see available agents
170
- 3. Look for `@Alteriom/...` agents
171
-
172
- #### Interpretation 2: Expecting Documentation Visibility
173
-
174
- **If you expected to see:**
175
- - Agent documentation in some GitHub UI
176
- - List of available "agents" (processes)
177
-
178
- **Why it might not be visible:**
179
- 1. **It's just documentation** - Files in `.github/agents/` are markdown docs
180
- 2. **No special GitHub UI** - GitHub doesn't render `.github/agents/` specially
181
- 3. **Manual navigation needed** - Browse to `.github/agents/` to see files
182
-
183
- **How to access:**
184
- 1. Navigate to `.github/agents/` in repository
185
- 2. Read README.md for index
186
- 3. Open release-agent.md for specifications
187
-
188
- #### Interpretation 3: Expecting Tool/Script Availability
189
-
190
- **If you expected:**
191
- - Automated tool in CI/CD
192
- - Executable agent in workflows
193
-
194
- **Where they actually are:**
195
- 1. **Script:** `scripts/release-agent.sh` (executable)
196
- 2. **Workflows:** `.github/workflows/validate-release.yml`
197
- 3. **Run manually:** `./scripts/release-agent.sh`
198
-
199
- ## How to Make a "Custom Agent" Visible
200
-
201
- ### Option 1: Create GitHub Copilot Enterprise Agent (Recommended if Enterprise)
202
-
203
- **Requirements:**
204
- - GitHub Enterprise Cloud account
205
- - Copilot for Business subscription
206
- - Organization admin privileges
207
-
208
- **Steps:**
209
- 1. Go to organization settings
210
- 2. Navigate to Copilot settings
211
- 3. Create new custom agent
212
- 4. Name it `release-agent`
213
- 5. Provide instructions from `.github/agents/release-agent.md`
214
- 6. Specify knowledge sources (this repository)
215
- 7. Make available to organization
216
-
217
- **Result:**
218
- - `@Alteriom/release-agent` appears in Copilot Chat
219
- - All org members can use `@Alteriom/release-agent` for help
220
- - Agent has knowledge of release processes
221
-
222
- ### Option 2: Move to Copilot Instructions (Easier, Works Now)
223
-
224
- **Benefit:**
225
- - Available immediately
226
- - No Enterprise required
227
- - Works in any repository with Copilot
228
-
229
- **Steps:**
230
- 1. Move key content from `.github/agents/release-agent.md`
231
- 2. Add to `.github/copilot-instructions.md`
232
- 3. Format as instructions for Copilot
233
-
234
- **Example addition to copilot-instructions.md:**
235
- ```markdown
236
- ## Release Agent Instructions
237
-
238
- When asked about releases or deployment:
239
- - Check version consistency across library.properties, library.json, package.json
240
- - Verify CHANGELOG.md has entry for version
241
- - Ensure all tests pass
242
- - Validate git status (no uncommitted changes)
243
- - Run ./scripts/release-agent.sh for validation
244
- - Follow checklist in .github/agents/release-agent.md
245
- ```
246
-
247
- **Result:**
248
- - Copilot automatically uses this context
249
- - No special syntax needed
250
- - Works for all repository contributors
251
-
252
- ### Option 3: Keep as Documentation (Current State)
253
-
254
- **Benefit:**
255
- - Already working
256
- - Clear documentation
257
- - Human-readable
258
- - Works with scripts
259
-
260
- **Usage:**
261
- 1. Developers read `.github/agents/release-agent.md`
262
- 2. Run `./scripts/release-agent.sh` for validation
263
- 3. Follow documented procedures
264
-
265
- **Visibility:**
266
- - In repository file structure
267
- - Linked from README if desired
268
- - Available in git
269
-
270
- ## Recommendations
271
-
272
- ### Immediate Action: Clarify Use Case
273
-
274
- **Please specify what you need:**
275
-
276
- 1. **GitHub Copilot Enterprise Agent?**
277
- - Question: Do you have GitHub Enterprise Cloud?
278
- - Question: Do you want `@Alteriom/release-agent` in Copilot Chat?
279
- - Action: If yes, create through GitHub organization settings
280
-
281
- 2. **Improve Copilot Context?**
282
- - Question: Do you want Copilot to know about release processes?
283
- - Action: Move content to `.github/copilot-instructions.md`
284
-
285
- 3. **Better Documentation Visibility?**
286
- - Question: Should agents be easier to find?
287
- - Action: Add links to README, update documentation
288
-
289
- 4. **Automated Tool Integration?**
290
- - Question: Should agents run in CI/CD automatically?
291
- - Action: Already done - `.github/workflows/validate-release.yml`
292
-
293
- ### Suggested Improvements (Any Scenario)
294
-
295
- #### 1. Add Link to README
296
-
297
- **In main README.md:**
298
- ```markdown
299
- ## Development
300
-
301
- - [Release Agent Documentation](.github/agents/release-agent.md)
302
- - Run release validation: `./scripts/release-agent.sh`
303
- ```
304
-
305
- #### 2. Enhance Copilot Instructions
306
-
307
- **Add to .github/copilot-instructions.md:**
308
- ```markdown
309
- ## Release Process
310
-
311
- For release-related questions:
312
- 1. Consult .github/agents/release-agent.md
313
- 2. Run validation: ./scripts/release-agent.sh
314
- 3. Follow documented checklist
315
- ```
316
-
317
- #### 3. Create Agent Index
318
-
319
- **New file: `.github/AGENTS.md`:**
320
- ```markdown
321
- # Available Agents and Tools
322
-
323
- ## Release Agent
324
- - **Documentation:** [release-agent.md](agents/release-agent.md)
325
- - **Script:** `scripts/release-agent.sh`
326
- - **Workflow:** `.github/workflows/validate-release.yml`
327
- ```
328
-
329
- ## Current Status
330
-
331
- ### What Works Now ✅
332
-
333
- 1. **Documentation accessible:**
334
- - Files in `.github/agents/` directory
335
- - Readable markdown
336
- - Clear specifications
337
-
338
- 2. **Scripts executable:**
339
- - `scripts/release-agent.sh` works
340
- - Validates releases
341
- - Integrated with CI/CD
342
-
343
- 3. **Workflows active:**
344
- - validate-release.yml runs automatically
345
- - Uses release agent logic
346
-
347
- 4. **Copilot context available:**
348
- - Repository instructions present
349
- - Copilot reads `.github/` files
350
- - Provides contextual help
351
-
352
- ### What Doesn't Work ❌
353
-
354
- 1. **No explicit agent list in GitHub UI**
355
- - `.github/agents/` not special to GitHub
356
- - No automatic agent registry
357
-
358
- 2. **Not GitHub Copilot Enterprise agents**
359
- - Can't invoke with `@Alteriom/release-agent`
360
- - Not in Copilot Chat agent list
361
-
362
- 3. **Manual discovery needed**
363
- - Must browse to `.github/agents/`
364
- - Not advertised in UI
365
-
366
- ## Conclusion
367
-
368
- The "custom agent" documentation exists and works, but isn't visible as a GitHub Copilot enterprise agent because:
369
-
370
- 1. **It's documentation, not a configured agent**
371
- 2. **GitHub Copilot agents require Enterprise + organization setup**
372
- 3. **No automatic agent registry in GitHub for markdown files**
373
-
374
- ### Next Steps Needed
375
-
376
- Please clarify what type of visibility you need:
377
- 1. GitHub Copilot Enterprise agent (`@Alteriom/release-agent`)?
378
- 2. Better documentation navigation?
379
- 3. Enhanced Copilot context?
380
- 4. Something else?
381
-
382
- Based on your answer, I can:
383
- - Set up Enterprise agent (if you have access)
384
- - Improve documentation visibility
385
- - Enhance Copilot instructions
386
- - Add README links
387
-
388
- ---
389
-
390
- **Analysis Date:** November 10, 2024
391
- **Status:** Awaiting clarification on visibility requirements