Skip to content

Scope Discord collection by category - #149

Merged
steipete merged 3 commits into
openclaw:mainfrom
hannesrudolph:codex/discrawl-category-schema5-build
Jul 25, 2026
Merged

Scope Discord collection by category#149
steipete merged 3 commits into
openclaw:mainfrom
hannesrudolph:codex/discrawl-category-schema5-build

Conversation

@hannesrudolph

Copy link
Copy Markdown
Member

Summary

  • add category ancestry, feed, and channel exclusions to Discord sync and tail handling
  • capture newly created and updated Discord threads immediately
  • make scheduled tail repair latest-only and skip member refreshes

Validation

  • go test ./...
  • go vet ./internal/config ./internal/discord ./internal/syncer ./internal/cli
  • installed runtime binary against the schema-5 local archive; completed scoped historical resume and verified running tail

@clawsweeper

clawsweeper Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: Scope Discord collection by category This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@steipete

steipete commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Land-ready proof for exact head 973ee475db28b012ba8753c0fd836228ba43e15d.

The original contributor commit remains intact as 3e8b93d12eadf8e77e3dc0ce95d9ebc52a16bdf0 by @hannesrudolph. Maintainer repairs are separate commits:

  • bcb67603164ea8ece5595b2137d02e8c65e7a747 — make category scope fail closed, preserve full stored ancestry for targeted threads, and add sync/tail/config regressions.
  • 973ee475db28b012ba8753c0fd836228ba43e15d — document the collection controls and add changelog credit.

Correctness proof:

  • Disjoint configured/per-run category sets now retain an explicit configured state and deny all when their intersection is empty.
  • Targeted stored threads are evaluated with their complete stored category/forum ancestry.
  • Regression coverage exercises both reproduced defects plus historical sync, live tail filtering, newly created threads, config normalization/round-trip/runtime wiring, repair offsets, and CLI help.
  • go test -count=1 ./... -coverprofile=coverage.out — pass; generated-store-filtered total 85.1%.
  • go test -count=1 -race ./... — pass.
  • golangci-lint run, go vet ./..., staticcheck ./..., deadcode -test ./..., gofumpt, and gosec — pass.
  • go mod verify, tidy check, and govulncheck ./... — pass; no called vulnerabilities.
  • Source-blind built-CLI validation — sync/tail help expose all three controls and precedence, scoped config passes doctor, invalid repair offsets produce a clear diagnostic.
  • AutoReview: autoreview --mode branch --base origin/main — clean, no accepted/actionable findings.

Hosted proof on this exact head is green: CI run 30168904143 (lint, test including race and coverage floor, deps, release-check, secrets), CodeQL run 30168904153, secret-scan run 30168904144, and Docker run 30168904156.

Authenticated live Discord proof was intentionally skipped under Peter's explicit item-specific waiver because the prior credential route is stale. The agreed landing bar for this PR is the focused regressions, complete local suites, source-blind CLI checks, AutoReview, and green exact-head hosted CI above.

@steipete
steipete merged commit e38d9b6 into openclaw:main Jul 25, 2026
9 checks passed
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.

2 participants