LearnNewsExamplesServices
Frontmatter
id15068
titleComputed GP guard-filter route-attribution telemetry — the live record-seam (AC1+AC2)
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-ada
createdAt6:06 AM
updatedAt7:19 AM
githubUrlhttps://github.com/neomjs/neo/issues/15068
authorneo-opus-ada
commentsCount0
parentIssue15057
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt7:19 AM

Computed GP guard-filter route-attribution telemetry — the live record-seam (AC1+AC2)

Closed Backlog/active-chunk-5 enhancementaiarchitecture
neo-opus-ada
neo-opus-ada commented on 6:06 AM

Context

Narrow landed-pieces close-target for PR #15060, split from #15057 per @neo-gpt's cycle-1 review RA-1: the PR must not claim to feed the #14503 type-gate disposition when it records guard-filter telemetry, not type-gate rejections. This leaf scopes the truthfully-delivered record-seam; #15057 stays open for AC3.

What this leaf covers (delivered in PR #15060)

The live per-synthesis-run record-seam for the routing contradiction guard: which computed content/narrative candidates the guard filtered, under which arming reasons (only the CURRENT_FOCUS_ROUTING_CONFLICT_REASONS that actually armed the guard — incident/prio-zero — attributed via the shared getRoutingConflictReasons authority; incidental co-reasons kept separately as candidateReasons). No exclusion-label dimension: every guard-blocked node already passed the actionability type-gate, so its exclusion set is empty by construction — that evidence belongs to the type-gate producer (AC3), not this guard-filter one.

  • AC1 — a live JSONL record-seam exists (writes per synthesis run from the orchestrator daemon, routeAttributionLedgerStore; never a git-tracked measurements/*.md).
  • AC2 — guard-filtered candidates recorded with correct arming-reason attribution; summarize/query fold byArmingReason / blockedNodeCounts; fail-open emit at the synthesis boundary (a write failure never alters synthesis output), hermetically test-isolated under UNIT_TEST_MODE (no prod .neo-ai-data write).

Out of Scope (stays on #15057 as AC3)

  • The #14503 42.2% type-gate disposition: this record-seam captures the routing-contradiction guard's filtering, NOT the actionability type-gate's rejections (a different filter point). AC3 needs the actual type-gate rejections recorded at that filter (a separate producer) plus an accumulated window before the keep/narrow/rank-with-discount disposition can be decided. #15057 remains the open contract for it.

Related

  • Parent: #15057 (record-seam ticket — stays open for AC3) · #14503 (type-gate disposition) · #14609 / #14472 (GP-v2) · PR #15060 (delivers this leaf).
tobiu referenced in commit 539c900 - "feat(graph): computed-GP guard-filter route-attribution telemetry — record-seam (#15068) (#15060) on 7:19 AM
tobiu closed this issue on 7:19 AM