Skip to content

v1.6.0: minimal CodeMower.com Slack telemetry ingestion and aggregates #978

Description

@jeffhuber

Part of #1066.

Problem

CodeMower.com must safely accept and summarize the minimum v1.6 Slack control-surface session contract before OSS clients emit it. The release does not need a dedicated Slack analytics product.

Scope

Produce one PR in the authorized CodeMower.com repository implementing the exact #921 fixtures: backward-compatible validation and ingest, tenant isolation, retention/export/deletion coverage, aggregate counts by repository alias/provider/state/outcome, and a freshness timestamp on an existing authenticated surface.

Do not add message-level replay, Slack identities, a new dashboard information architecture, rich drill-down pages, historical backfill, or detailed cost allocation.

Acceptance criteria

  • Hosted validators pass the approved v1.6.0: minimum control-surface telemetry contract and OSS emitters #921 fixtures and reject unknown/disallowed fields without logging private input.
  • Existing clients remain compatible and rollback preserves accepted metadata without widening the schema.
  • A canary proves storage separately from a freshly observed authenticated aggregate view.
  • Export, deletion, retention, revocation, and tenant isolation cover the new metadata.
  • Aggregate totals reconcile with the same canary's local Board lifecycle projection.
  • Production capability/version acceptance is deployed before OSS emission is enabled.
  • No task, answer, source, diff, prompt, message, response URL, Slack identity, provider reference, token, personal path, graph/context data, or raw output is accepted.

Code Mower delivery

Produce exactly one independently reviewable hosted PR with one writer. Record the builder, exact head, eligible independent review, focused and regression tests, deployment revision, and sanitized canary evidence. Resolve every P0/P1/P2 finding before merge. Public tracking contains only sanitized status; private repository and operational bindings stay in the authorized record.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    contract-firstRequires product/data/merge contract agreement before dependent work mergesenhancementNew feature or requestv1.6Code Mower v1.6 operational clarity and minimum telemetry

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions