[ ] 15100 Live Lane Awareness — Wave-1 composition, [ ] 15158 Bind community events to canonical A2A Tasks, [ ] 15154 Reconcile GitHub Discussions and nested replies, [ ] 15153 Reconcile GitHub pull requests and reviews exhaustively, [ ] 15152 Reconcile GitHub issue activity exhaustively
blocking
[ ] 15162 Prove the community-activity authority chain end to end, [ ] 15161 Enable metric-gated community-steward wake leases, [ ] 15160 Calibrate community policy from measured evidence
Staged option J requires a bounded tenant/source count-only projection before any steward wake. It is an attention signal, never ranking, assignment, or completeness authority.
This is one fully closeable PR leaf under Epic #15145. The live parent-child and blocked-by graph is authoritative; this body owns only this leaf's contract.
The Problem
Even a count leaks another tenant's activity volume. Adding titles/excerpts creates hostile-content exposure, and rebuilding hook transport here would violate ADR 0035's projection-writer ownership.
The Architectural Reality
Memory Core owns the count/query source. It may feed ADR 0035's typed projection writer only through that writer's admitted channel contract; it must not recreate lifecycle-state.json, a new file writer, or hook-time network access. Epic #15100 is the external projection-owner dependency until its writer leaf exists.
The Agent OS structure map was run on 2026-07-14. New service/script/test placement must use the named sibling-file-lift fast paths; no service logic moves into MCP server entrypoint directories.
The Fix
Add a fixed, bounded count/oldest-age metadata projection over eligible unclaimed admitted events, scoped by server tenant/source, with explicit coverage and measurement fields. Exclude claimed/ineligible events using the neutral ledger and canonical Task binding. Expose no prose and no unmeasured escalation threshold.
Contract Ledger Matrix
Target Surface
Source of Authority
Proposed Behavior
Fallback / Edge Case
Docs
Evidence
Count query/channel
OQ7 J-stage1
Bounded tenant/source counts plus fixed metadata and coverage
Missing/degraded sources stay explicit
Schema docs
Bounds/isolation tests
Eligibility
Admission + claim authority
Counts only eligible unclaimed items by explicit schema
Seen does not remove; claim does
JSDoc
State-matrix tests
Projection integration
ADR 0035
Submit typed channel to existing writer owner
Writer unavailable means query still honest; no legacy fallback
ADR link
Static dependency and no-file-writer tests
Decision Record impact
Depends on ADR 0036, reconciliation, canonical Task binding, and ADR 0035 projection ownership.
Decision Record
Required: ADR 0036. This leaf is not code-ready until the ADR-0036 child of #15145 is accepted at the human merge gate.
Discussion Criteria Mapping
Upstream graduated criterion
This leaf's executable contract
OQ7
Ships J stage 1 count-only projection before leased wake.
OQ8
Reapplies tenant/source isolation and excludes prose.
OQ5
Uses canonical claim state; per-viewer seen remains non-authority.
OQ10
Emits measurement inputs but introduces no age/wake threshold.
The community substrate is not a mirror of every GitHub repository notification. It separates:
source occurrences needed to reconstruct supported issue, pull-request/review, and Discussion conversation state; and
attention-eligible community items: externally authored, response-bearing occurrences that may need maintainer attention.
Stars/un-stars, forks, watches, and equivalent popularity telemetry are outside the community-event source families and cannot enter Bird View, counts, wake, or Task claim. Internal/rostered actions may update or resolve the state of an existing external item without minting new community attention. First-time versus trusted-repeat external status affects trust/projection, not basic eligibility. Bot eligibility must be an explicit ADR disposition and cannot be inferred from provider actor kind or trust tier.
Attention eligibility remains zero-authority: it does not assign work, enter LifecycleFrontier, or create a Task. Only the explicit canonical claim transition owns that promotion.
Acceptance Criteria
AC1 — Output shape is fixed and bounded, with count, oldest occurrence time, coverage, and source watermark only.
AC2 — No title, body, excerpt, author prose, ranking score, or assignment hint is present.
AC3 — Every query/channel read is server-tenant- and source-scoped; cross-tenant count leakage tests pass.
AC4 — Claimed and explicitly ineligible items are excluded; seen items remain governed by the stated non-authority contract.
AC5 — Missing/degraded coverage is visible and never normalized to zero.
AC6 — Integration uses ADR 0035's projection writer contract or remains query-only until that owner ships; no parallel writer is created.
AC7 — No legacy lifecycle-state file, hook-time network read, global Neo roster, or all-resident broadcast is added.
AC8 — No stale-age, cadence, TTL, steward, or wake threshold is selected.
AC9 — Counts and oldest-age fields include only attention-eligible unclaimed items; internal/rostered context and excluded popularity telemetry leave both unchanged.
AC10 — A noise-flood fixture proves star/fork/watch volume cannot manufacture attention, while first-time and trusted-repeat external-human items remain countable.
Creation duplicate sweep: immediately before filing at 2026-07-14T05:32:00.414Z, checked the latest 20 open issues and last 30 all-state A2A messages. The independent broader audit at 2026-07-14T05:13:00Z covered open and closed issues, pull requests, A2A, ADRs, and code; no equivalent owner or foreign claim existed.
Context
Staged option J requires a bounded tenant/source count-only projection before any steward wake. It is an attention signal, never ranking, assignment, or completeness authority.
This is one fully closeable PR leaf under Epic #15145. The live parent-child and blocked-by graph is authoritative; this body owns only this leaf's contract.
The Problem
Even a count leaks another tenant's activity volume. Adding titles/excerpts creates hostile-content exposure, and rebuilding hook transport here would violate ADR 0035's projection-writer ownership.
The Architectural Reality
Memory Core owns the count/query source. It may feed ADR 0035's typed projection writer only through that writer's admitted channel contract; it must not recreate
lifecycle-state.json, a new file writer, or hook-time network access. Epic #15100 is the external projection-owner dependency until its writer leaf exists.The Agent OS structure map was run on 2026-07-14. New service/script/test placement must use the named sibling-file-lift fast paths; no service logic moves into MCP server entrypoint directories.
The Fix
Add a fixed, bounded count/oldest-age metadata projection over eligible unclaimed admitted events, scoped by server tenant/source, with explicit coverage and measurement fields. Exclude claimed/ineligible events using the neutral ledger and canonical Task binding. Expose no prose and no unmeasured escalation threshold.
Contract Ledger Matrix
Decision Record impact
Depends on ADR 0036, reconciliation, canonical Task binding, and ADR 0035 projection ownership.
Decision Record
Required: ADR 0036. This leaf is not code-ready until the ADR-0036 child of #15145 is accepted at the human merge gate.
Discussion Criteria Mapping
Source authority: Discussion #15139 body at the version-bound graduation anchor plus Grace's STEP_BACK and GRADUATION_APPROVED.
Operator Scope Clarification — 2026-07-14
The community substrate is not a mirror of every GitHub repository notification. It separates:
Stars/un-stars, forks, watches, and equivalent popularity telemetry are outside the community-event source families and cannot enter Bird View, counts, wake, or Task claim. Internal/rostered actions may update or resolve the state of an existing external item without minting new community attention. First-time versus trusted-repeat external status affects trust/projection, not basic eligibility. Bot eligibility must be an explicit ADR disposition and cannot be inferred from provider actor kind or trust tier.
Attention eligibility remains zero-authority: it does not assign work, enter LifecycleFrontier, or create a Task. Only the explicit canonical claim transition owns that promotion.
Acceptance Criteria
AC1 — Output shape is fixed and bounded, with count, oldest occurrence time, coverage, and source watermark only.
AC2 — No title, body, excerpt, author prose, ranking score, or assignment hint is present.
AC3 — Every query/channel read is server-tenant- and source-scoped; cross-tenant count leakage tests pass.
AC4 — Claimed and explicitly ineligible items are excluded; seen items remain governed by the stated non-authority contract.
AC5 — Missing/degraded coverage is visible and never normalized to zero.
AC6 — Integration uses ADR 0035's projection writer contract or remains query-only until that owner ships; no parallel writer is created.
AC7 — No legacy lifecycle-state file, hook-time network read, global Neo roster, or all-resident broadcast is added.
AC8 — No stale-age, cadence, TTL, steward, or wake threshold is selected.
AC9 — Counts and oldest-age fields include only attention-eligible unclaimed items; internal/rostered context and excluded popularity telemetry leave both unchanged.
AC10 — A noise-flood fixture proves star/fork/watch volume cannot manufacture attention, while first-time and trusted-repeat external-human items remain countable.
Out of Scope
Leased wake, Fleet UI, prose drill-down, ranking, Task claim, or ADR 0035 writer implementation.
Avoided Traps
Do not treat zero as complete when coverage is degraded, let seen hide work, expose prose, or rebuild hook transport.
Related
Origin Session ID: 837ad74b-c2d2-413d-9aab-b7165a93a82a
Handoff Retrieval Hints
tenant community count only projection no proseADR 0035 community attention channelCreation Freshness
Creation duplicate sweep: immediately before filing at 2026-07-14T05:32:00.414Z, checked the latest 20 open issues and last 30 all-state A2A messages. The independent broader audit at 2026-07-14T05:13:00Z covered open and closed issues, pull requests, A2A, ADRs, and code; no equivalent owner or foreign claim existed.