LearnNewsExamplesServices
Frontmatter
id14089
titleADR-0025 §2.4: record the data-integrity detect dimension (reflect #14075)
stateClosed
labels
documentationenhancementaiarchitecture
assigneesneo-opus-grace
createdAtJun 26, 2026, 3:22 PM
updatedAtJun 26, 2026, 3:53 PM
githubUrlhttps://github.com/neomjs/neo/issues/14089
authorneo-opus-grace
commentsCount0
parentIssue14026
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJun 26, 2026, 3:53 PM

ADR-0025 §2.4: record the data-integrity detect dimension (reflect #14075)

Closed v13.1.0/archive-v13-1-0-chunk-6 documentationenhancementaiarchitecture
neo-opus-grace
neo-opus-grace commented on Jun 26, 2026, 3:22 PM

Context

ADR-0025 §2.4 ("The false-positive-safe detect model") enumerates the diagnostics daemon's detect signals as container-health only — memory %, CPU-over-window, config-correctness, container-health state, endpoint probe. v13.1 shipped a data-integrity detect dimension (#14075buildDataIntegrityCoverageDiagnosis, merged) that §2.4 does not name. My ADR-0025 author-disposition on #14026 found the merged producer ADR-0025-compatible but flagged that the ADR text owes an amendment — a finding #14026's own body predicted ("Likely warrants an ADR-0025 amendment note").

The Problem

A future agent reading ADR-0025 §2.4 sees a container-health-only detect model and may treat data-integrity detection as out-of-bounds or a separate primitive — re-deriving a decision already shipped + dispositioned. Substrate (the ADR) must reflect shipped reality, or it misleads. This is a verify-before-assert / substrate-hygiene gap: the merged code and the governing ADR text have diverged.

The Architectural Reality

  • learn/agentos/decisions/0025-orchestrator-container-health-self-healing.md §2.4 — the container-only detect model to extend (NOT rewrite).
  • ai/daemons/orchestrator/services/dataIntegrityCoverageDiagnosis.mjs (#14075) — the merged pure detect-producer: coverage-audit result → recovery-diagnosis (recoveryClass: 'data-integrity', details.actionClass: 'escalate', targetIdentity.kind: 'compose-service').
  • The data-integrity signal maps onto §2.4's existing config-drift → escalate-with-diagnosis (page, do not loop) action class — escalate-only, touching no actuator/privilege (§2.2) or anti-thrash (§2.3) surface. The ADR-0025/0026 detect≠actuator boundary holds.

The Fix

Amend ADR-0025 §2.4 with a data-integrity detect dimension note:

  • Add data-integrity (vector-coverage drift now; future heuristics: MC vector-count monotonicity, cross-collection MC-vs-KB sanity, store-bloat, exportability canary, SQLite integrity) as a detect dimension alongside the container-health signals.
  • Record its action class = escalate-with-diagnosis (the conservative page; data mutation stays operator-gated — no auto-repair).
  • Note the merged #14075 producer is the pure detect→diagnose fn; its scheduled wiring into ContainerHealthDiagnosisService + the additional heuristics are follow-on slices (#14026, re-scoped to v13.2).
  • Note confidence:1 single-signal escalate is within-model because the action is escalate (page), not authoritative-restart — §2.4 / AC-4's multi-fact requirement gates an authoritative action, not an escalation.

Acceptance Criteria

  • ADR-0025 §2.4 names a data-integrity detect dimension + its escalate-with-diagnosis action class.
  • The amendment records that #14075 is the pure producer; scheduled daemon-wiring + the additional heuristics are follow-on (#14026 → v13.2).
  • The detect≠actuator (§2.1) + escalate-not-auto-repair (no data mutation) boundary is preserved verbatim-in-spirit in the new text.
  • Cross-family review by @neo-gpt (Euclid — the converged ADR-0025 co-author) before merge.

Out of Scope

  • The deferred detect heuristics + the scheduled daemon-wiring (#14026, v13.2).
  • The recovery actuator's ADR-0026 data-envelope (Discussion #14032).
  • Any code change — this is an ADR-text amendment only.

Decision Record impact

amends ADR-0025 §2.4 — additive (records a shipped detect dimension); does not change the actuator model or the detect≠actuator principle. No successor-risk: additive amendment by the original ADR author, with cross-family co-author review by @neo-gpt.

Avoided Traps

  • Not a rewrite of §2.4 — an additive dimension note; the container-health model stays intact.
  • Not a v13.1 release blocker — the merged code is already sound; this is substrate-text catch-up (fast-follow), deliberately NOT milestoned to gate the v13.1 close.

Related

  • #14026 (the detect-signal parent that extends ADR-0025; this is its predicted amendment note), #14075 (the merged producer), #14039 (v13.1 epic), ADR-0025 / ADR-0026, Discussion #14032.

Live latest-open sweep: checked latest 20 open issues at 2026-06-26T13:18Z; no equivalent ADR-0025-amendment ticket (closest = #14026, the detect-signal parent). A2A: no in-flight [lane-claim] on this scope across this session's mailbox.

Origin Session ID: 5ab545e1-f09e-46c5-ae62-8cf5b2b96193

Handoff Retrieval Hints: query_raw_memories("ADR-0025 §2.4 data-integrity detect dimension amendment"); anchors: learn/agentos/decisions/0025-orchestrator-container-health-self-healing.md §2.4, ai/daemons/orchestrator/services/dataIntegrityCoverageDiagnosis.mjs.

tobiu referenced in commit f017a9e - "docs(adr): record data-integrity detect dimension in ADR-0025 §2.4 (#14089) (#14091)" on Jun 26, 2026, 3:53 PM
tobiu closed this issue on Jun 26, 2026, 3:53 PM