Skip to content

docs(guide): Fase B5+B6+B3 — telemetría interna-only, auditoría puerto/crate, lista canónica de crates#65

Merged
montfort merged 1 commit into
mainfrom
docs/fase-b-telemetria-audit-crates
Jul 4, 2026
Merged

docs(guide): Fase B5+B6+B3 — telemetría interna-only, auditoría puerto/crate, lista canónica de crates#65
montfort merged 1 commit into
mainfrom
docs/fase-b-telemetria-audit-crates

Conversation

@montfort

@montfort montfort commented Jul 4, 2026

Copy link
Copy Markdown
Contributor

Qué es

Segundo bloque de la Fase B (new-guide/08-plan-actualizacion-guia.md): consolida las decisiones D1 (delimitación de crates, ADR-2026-07-04-001) y D3 (telemetría interna-only, ADR-2026-07-04-002) — ambas ya aprobadas formalmente por el operador — en los documentos de componentes y estructura de la guía canónica.

B5 — 04-Componentes/13-telemetria.md (reescritura completa)

  • El componente se re-especifica como auto-observación interna: catálogo de señales de salud → umbrales → avisos accionables / acciones correctivas locales (fallos de sync repetidos, token por expirar, disco bajo, D-Bus degradado, panics).
  • Eliminado del diseño: pipeline OTLP/gRPC, backend Google Cloud (Cloud Run/BigQuery/Cloud Trace), Anonymizer como componente de envío, lnxdrive report send, flujo de consentimiento (sin envío no hay nada que consentir).
  • Conservado: crash/error reports locales (limpios de PII desde el origen), report list/view/delete, Prometheus local-only, proceso de bajo impacto.
  • Riesgo T1 (exfiltración) pasa a "eliminado por diseño" con tests de vigilancia (test_no_external_connections, test_no_pii_in_reports); nuevo T3 (fatiga de avisos).
  • Las únicas 3 menciones restantes a OTLP/Google Cloud nombran lo descartado (banner de decisión) — cero como diseño vigente.

B6 — 04-Componentes/12-auditoria.md

Nueva sección "Ubicación en el código: puerto vs crate" — tabla de tres planos: tipos de dominio (core, se quedan) / persistencia (SQLite compartida vía IStateRepository, no cambia) / motor de auditoría (lnxdrive-audit, en migración v0.2). La separación código/almacenamiento no contradice el diseño de puertos: es la hexagonal funcionando.

B3 — Una sola lista canónica de crates

La guía tenía dos listas divergentes y ninguna coincidía con el workspace real:

Fuente Antes Ahora
08-Distribucion/01 12 crates (incl. lnxdrive-watch, inexistente) Canónica: 11 crates verificados contra el workspace; folds anotados (ratelimit→graph, state→cache); estados de conflict/audit/telemetry
05-Implementacion/03 7 crates + apps/ inexistente + lnxdrive-kde (nombre viejo) Tabla canónica de 11 + nota remitiendo a la fuente canónica
07-Extensibilidad/04 Catálogo como si fuera presente Marcado aspiracional (post-1.0); diagrama 14.5 = "estado objetivo post-1.0"

Gobernanza

  • AILOG: .straymark/07-ai-audit/agent-logs/guide/AILOG-2026-07-04-003-fase-b-telemetria-audit-crates.md
  • straymark validate: 0 errores (88 documentos). Follow-ups en sync.

Siguiente bloque

B7+B2 (auth por plataforma + contrato D-Bus real) — el plan recomienda ejecutarlos junto al batch M1 de CHARTER-02, porque el contrato de auth se documenta mejor con el fix hecho. Alternativa: B8–B10 (firma ICloudProvider, archivo de MVP-CLOSURE-PLAN, limpiezas menores) que no dependen de código.

🤖 Generated with Claude Code

…e note, canonical crate list

B5 — 04-Componentes/13-telemetria.md rewritten per ADR-2026-07-04-002:
- Component re-specified as internal self-observation: health signals ->
  thresholds -> user warnings / local corrective actions.
- Removed: OTLP/gRPC pipeline, Google Cloud backend, Anonymizer-as-sender,
  'lnxdrive report send', opt-in consent flow, network-online.target dep.
- Kept: local crash/error reports (PII-clean at origin), report list/view/
  delete, Prometheus local-only, low-impact process properties.
- Risk T1 (exfiltration) now 'eliminated by design' with watchdog tests;
  new T3 (notification fatigue).

B6 — 04-Componentes/12-auditoria.md: new 'Ubicacion en el codigo' section —
three planes (domain types in core / persistence in shared SQLite via
IStateRepository / audit engine in lnxdrive-audit, migrating v0.2 per
ADR-2026-07-04-001).

B3 — one canonical crate list across three diverging sources:
- 08-Distribucion/01 = canonical (11 crates, verified against the real
  workspace): lnxdrive-watch removed (never existed; watching lives in sync),
  folds annotated (ratelimit->graph, state->cache), crate states noted.
- 05-Implementacion/03: own diagram/table (7 crates + nonexistent apps/ +
  stale lnxdrive-kde) replaced by the canonical 11 + pointer note.
- 07-Extensibilidad/04: catalog marked aspirational (post-1.0); 14.5 diagram
  now 'target state post-1.0' instead of implying present.

AILOG-2026-07-04-003. straymark validate: 0 errors.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@montfort montfort merged commit 1ab6bc2 into main Jul 4, 2026
5 checks passed
@montfort montfort deleted the docs/fase-b-telemetria-audit-crates branch July 4, 2026 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant