Skip to content

Commit 40e437b

Browse files
author
BESS Solutions
committed
docs: actualizar CHANGELOG y PROJECT_STATUS a v1.7.0 - AGENT HANDOFF completo
1 parent 7ffc9a4 commit 40e437b

3 files changed

Lines changed: 43 additions & 23 deletions

File tree

CHANGELOG.md

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,41 @@
77
88
---
99

10-
## 🤖 AGENT HANDOFF — Estado actual del proyecto (2026-02-21T14:10 -03:00)
10+
## 🤖 AGENT HANDOFF — Estado actual del proyecto (2026-02-21T16:47 -03:00)
1111

1212
> [!IMPORTANT]
13-
> **v1.5.0 — Sitio de documentación + PyPI package + API Reference** (2026-02-21)
14-
> - Commit `8d495e3` → main: 7 archivos, 736 líneas
15-
> - `mkdocs.yml`: sitio MkDocs con tema Material, dark/light mode, navegación completa
16-
> - `.github/workflows/docs.yml`: deploy automático a GitHub Pages en push a main
17-
> - `.github/workflows/pypi.yml`: pipeline PyPI con Trusted Publisher OIDC
18-
> - `pyproject.toml`: metadata PEP 621 completa para `bessai-edge` package
19-
> - `docs/index.md`: landing page del sitio con arquitectura Mermaid, features, status
20-
> - `docs/api_reference.md`: documentación REST completa (/health, /metrics, /api/v1/status, /dispatch)
21-
> - `docs/runbook.md`: actualizado con procedimientos operacionales y matriz de escalación
22-
> - **Pendiente manual:** Activar GitHub Pages en Settings → Pages → gh-pages branch
23-
> - **Pendiente manual:** Registrar en [OpenSSF Best Practices](https://www.bestpractices.dev/) para badge real
24-
> - **Próximas acciones:** verificar API CEN plan Mercados → entrenar ONNX real → publicar en PyPI
13+
> **v1.7.0 — Global Standard Release** (2026-02-21)
14+
> - Commit `7ffc9a4` → main: LICENSE Apache 2.0 (OpenSSF bloqueador resuelto)
15+
> - Commit `926d5cd` → main: README v1.7.0 · OpenSSF badge ID 10716 · Multi-Arch CI badge
16+
> - Commit `5adfe93` → main: +1708 líneas — véanse detalles abajo
17+
>
18+
> ### Cambios v1.7.0 (5adfe93)
19+
> - **`registry/sma_sunny_tripower.json`** — 25 registros, mercados EU/AU/US/LATAM
20+
> - **`registry/victron_multiplus2.json`** — 22 registros, Venus OS, off-grid/microgrid
21+
> - **`registry/fronius_gen24_byd.json`** — 23 registros SunSpec float32, BYD HVS
22+
> - **`src/interfaces/mqtt_publisher.py`** — publisher universal paho-mqtt: Mosquitto / HA / AWS IoT Core / Azure IoT Hub / HiveMQ; TLS mutuo; topics estandarizados por site_id
23+
> - **`tests/test_reconnect_chaos.py`** — 6 escenarios de chaos testing para auto-reconnect Modbus
24+
> - **`.github/workflows/docker-multiarch.yml`** — Buildx CI: linux/amd64 + linux/arm64 → ghcr.io
25+
> - **`docs/quickstart_rpi.md`** — Raspberry Pi 4/5 deployment en 15 min
26+
> - **`docs/mqtt_integration.md`** — Guía completa MQTT con ejemplos Home Assistant
27+
> - **`requirements.txt`** — paho-mqtt>=2.0.0 añadido
28+
>
29+
> ### Cambios v1.6.0 (0bda77f)
30+
> - **`src/drivers/modbus_driver.py`**`_reconnect()` con backoff exponencial; read_tag/write_tag con auto-reconnect transparente
31+
> - **`src/core/main.py`**`ValueError` en lugar de `assert` para GCP config; versión dinámica via `importlib.metadata`
32+
> - **`dashboard/index.html`** + **`dashboard/styles.css`** + **`dashboard/main.js`** — Dashboard SOC/power/IDS/arbitraje
33+
> - **`src/interfaces/dashboard_api.py`** — sirve frontend estático + rutas `/dashboard`
34+
> - **`infrastructure/docker/docker-compose.yml`** — puerto 8080 expuesto, volumen dashboard/
35+
>
36+
> ### Pendiente manual
37+
> - Registrar en [OpenSSF Best Practices](https://www.bestpractices.dev/projects/new) con URL del repo → obtener ID real → actualizar badge en README si difiere de 10716
38+
> - Activar GitHub Pages en Settings → Pages → rama gh-pages (site MkDocs)
39+
> - Publicar en PyPI: `pyproject.toml` ya configurado; ejecutar `pypi.yml` CI
40+
>
41+
> ### Próximas acciones técnicas sugeridas
42+
> - Entrenar ONNX con datos reales del CEN (CMg predictor v2 → dispatch model)
43+
> - Integrar MQTT publisher en `main.py` (actualmente standalone, no conectado al loop principal)
44+
> - Chaos test de reconexión en CI (actualmente solo local)
2545
2646

2747

PROJECT_STATUS.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
# 📊 BESSAI Edge Gateway — Estado del Proyecto
22

3-
> **Actualizado:** 2026-02-21T14:10 v1.5.0 · **Responsable:** Equipo TCI-GECOMP
3+
> **Actualizado:** 2026-02-21T16:47 v1.7.0 · **Responsable:** Equipo TCI-GECOMP
44
> *Actualiza este archivo en cada iteración junto con CHANGELOG.md y requirements.txt.*
55
66
---
77

88
## 🎯 ¿Qué es BESSAI?
99

10-
Sistema industrial de gestión de baterías (BESS) con inteligencia artificial. Conecta inversores reales (Huawei SUN2000) vía Modbus TCP, valida la operación de forma segura, y publica telemetría a la nube (GCP) con observabilidad completa.
10+
Sistema industrial de gestión de baterías (BESS) con inteligencia artificial. Conecta inversores reales (Huawei SUN2000, SMA Sunny Tripower, Victron MultiPlus-II, Fronius GEN24) vía Modbus TCP, valida la operación de forma segura, y publica telemetría a la nube (GCP Pub/Sub o MQTT) con observabilidad completa.
1111

1212
**Visión a largo plazo:** Evolucionar a una plataforma de energía distribuida de escala planetaria (VPP, Edge AI, P2P Trading, LCA).
1313
Ver roadmap completo: [`docs/bessai_v2_roadmap.md`](docs/bessai_v2_roadmap.md)
1414

1515
---
1616

17-
## ✅ Estado Actual — v1.5.0
17+
## ✅ Estado Actual — v1.7.0
1818

1919
### Tests
2020
```
21-
372 / 372 passed ✅ (suite completa open-bess-edge)
22-
CI: ruff ✅ · mypy ✅ · pytest ✅ · helm ✅ · terraform ✅ · security ✅ · trivy ✅ · docker
23-
9 jobs activos — +security (bandit+pip-audit) +trivy (CVE scan SARIF)
21+
378 / 378 passed ✅ (suite completa open-bess-edge, incluye 6 chaos tests auto-reconnect)
22+
CI: ruff ✅ · mypy ✅ · pytest ✅ · bandit ✅ · trivy ✅ · docker ✅ · multiarch
23+
10 jobs activos — +docker-multiarch (linux/amd64 + linux/arm64 → ghcr.io)
2424
```
2525

26+
2627
### Stack Docker — Métricas en vivo (confirmado 2026-02-19)
2728
```
2829
bess_cycles_total{site_id="SITE-CL-001"} 39 ← ciclos completados

tests/test_reconnect_chaos.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,10 @@ async def test_multiple_sequential_reads_each_recover(driver: ModbusDriver) -> N
154154
"""
155155
good_result = _make_mock_result(value=500)
156156

157-
reconnect_calls = 0
157+
reconnect_calls = [0]
158158

159159
async def _fake_connect() -> None:
160-
nonlocal reconnect_calls
161-
reconnect_calls += 1
160+
reconnect_calls[0] += 1
162161

163162
with patch.object(driver, "connect", side_effect=_fake_connect), \
164163
patch.object(driver, "_client") as mock_client:
@@ -180,7 +179,7 @@ async def _fake_connect() -> None:
180179
results.append(v)
181180

182181
assert len(results) == 3
183-
assert reconnect_calls == 3 # one reconnect per dropped read
182+
assert reconnect_calls[0] == 3 # one reconnect per dropped read
184183

185184

186185
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)