docs(plan): community-layout, expertise, AI-Wire & sys-notification epics + bead tree - #14
docs(plan): community-layout, expertise, AI-Wire & sys-notification epics + bead tree#14jeremylongshore wants to merge 3 commits into
Conversation
…on epics; refresh ledger Extends the Buzz adoption master blueprint with the four workstreams this session opened, and hand-rolls them as a dependency-ordered bead tree so the work proceeds systematically instead of ad-hoc. Plan ledger (001-PP-PLAN): - E6 corrected: the isolated coding agent (goose minimax3) is LIVE on prod (decision-log/039, PR block#301), not "not started". - E10 Community channel layout & identity roster (buzz-ehv) — build DONE. - E11 Buzz operational expertise: reference + skill + agents (buzz-yfe) — COMPLETE. - E12 AI-Wire feed engine (buzz-w92) — posting primitive done, pipeline next. - E13 Estate system notifications into sys-* (buzz-0ts) — Track B, not started. Beads (hand-rolled, one epic at a time, deps wired): - buzz-ehv (2 children), buzz-yfe (7, CLOSED), buzz-w92 (8), buzz-0ts (4). - Cross-epic deps: the AI-Wire pipeline (w92.2) waits on the feed-curator agent (yfe.5); sys-notifications reuse the posting primitive (w92.1). bd ready now correctly surfaces w92.2 as the next unblocked build. Shipped this session and closed with evidence: both source-cited references, the buzz-ops skill (PASS /validate-skillmd), the 3 operator agents (PASS /validate-agent), the posting primitive (AI Wire bot live).
📝 WalkthroughWalkthroughThe PR updates Buzz operational records and the adoption ledger. It records production hardening, restore, deployment, validation, feed, agent, provider, notification, onboarding, and channel work. It updates E6 and adds E10–E13 milestone entries. ChangesBuzz operations and adoption tracking
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…e tree Adds two workstreams surfaced while reviewing our coverage: - buzz-1zr — Establish and run the Buzz testing procedure: a staging drill harness (buzz-testing.intentsolutions.io, NEVER prod), hermetic tests wired into ci:drills, golden behavioral evals for the 3 operator agents, and the reference-vs-code citation gate. Chose staging-only drills over prod testing because prod carries real members/channels and the ops/buzz doctrine forbids destructive drills on prod. - buzz-b6z — Wire Buzz observability: export relay OTel traces to SigNoz staging, ship logs off-box before rotation drops them, alert runtime relay errors/panics into sys-incidents, and verify the buzz-audit hash-chain. Deps wired: agent evals depend on the built agents (buzz-yfe.4/.5/.6, closed); error-alerting depends on the notifier (buzz-0ts.1).
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.beads/interactions.jsonl:
- Line 17: Keep the restore production-use gate open until the host-side
scratch-stack drill passes: update .beads/interactions.jsonl at line 17 so the
closure record remains open or separates implementation completion from
validation, and update .beads/issues.jsonl at line 27 so buzz-bsy remains open
or is replaced with a separate open release-gate issue.
- Around line 18-20: Remove the production IP 169.58.95.32 from the close-reason
records in .beads/interactions.jsonl lines 18-20, replacing it with a
private-lane reference to intent-os/ops/buzz/; also remove the IP from the epic
close reason in .beads/issues.jsonl line 14. Preserve the remaining deployment
and closure details.
In @.beads/issues.jsonl:
- Around line 11-14: Reconcile the retired apex-cutover state across
.beads/issues.jsonl lines 11-14 and
000-docs/001-PP-PLAN-buzz-adoption-master-blueprint.md line 79: remove obsolete
apex-cutover blockers and pre-cutover wording, retain any genuine owner
desktop-key gate as a separate current-state item, and describe
buzz-prod.intentsolutions.io as the permanent production URL with no remaining
apex-cutover gate.
In `@000-docs/001-PP-PLAN-buzz-adoption-master-blueprint.md`:
- Line 83: Update the E6 Agent bridge entry to replace the unresolved “GH #?”
placeholder with a valid, resolvable GitHub issue or PR reference; if no
suitable reference exists, remove the GitHub field while preserving the existing
PR `#301` evidence.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 7965c4a4-5375-45d5-8272-3ff7d73e7315
📒 Files selected for processing (3)
.beads/interactions.jsonl.beads/issues.jsonl000-docs/001-PP-PLAN-buzz-adoption-master-blueprint.md
| {"id":"int-be2173d658fc095081a9083e49d64528","kind":"field_change","created_at":"2026-07-30T07:17:44.135065314Z","actor":"jeremylongshore","issue_id":"buzz-nry.2","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"DONE 2026-07-30. Production deployed from proven staging artifacts with FRESH secrets on the dedicated host intent-ops-buzz, serving buzz-prod.intentsolutions.io (169.58.95.32). The 'cut DNS over' (apex → buzz.) requirement is DROPPED by owner decision 2026-07-30: buzz-prod.intentsolutions.io is the PERMANENT production URL (no apex cutover). Prod DNS is therefore already on its permanent, correct name — nothing further to cut over."}} | ||
| {"id":"int-f42f74288896136765cfddee4c2de26e","kind":"field_change","created_at":"2026-07-30T07:17:46.752322494Z","actor":"jeremylongshore","issue_id":"buzz-nry.3","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"DONE 2026-07-30. Full go-live gate suite PASSED against prod (buzz-prod.intentsolutions.io): smoke 200/NIP-11/functional PASS; unauth-matrix 6/6 REJECT; functional-probe (member NIP-42 auth+publish+readback, un-invited refused) with cleanup CONFIRMED (baseline count 3). Was dependency-blocked by buzz-nry.2 (apex cutover) — that dependency is resolved by the owner decision to keep buzz-prod permanent, so this now closes with its already-captured green evidence."}} | ||
| {"id":"int-67f8b7a8627b3a18e0b7b5d935a2d3c1","kind":"field_change","created_at":"2026-07-30T07:18:01.27822535Z","actor":"jeremylongshore","issue_id":"buzz-nry","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"EPIC DONE 2026-07-30. Dedicated Buzz production VPS (intent-ops-buzz, 169.58.95.32) stood up to estate conventions (.1), deployed with fresh secrets serving buzz-prod.intentsolutions.io (.2), and the full go-live gate suite passed against it (.3). Owner decision 2026-07-30: buzz-prod.intentsolutions.io is the PERMANENT production URL — the 'cut the prod domain over' (apex) part of this epic is intentionally NOT done and is retired, not deferred. All three children closed."}} |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
Remove the production IP from tracked records.
The changed records publish 169.58.95.32, although estate-private operational details belong in intent-os/ops/buzz/.
.beads/interactions.jsonl#L18-L20: replace the IP with a private-lane reference..beads/issues.jsonl#L14-L14: remove the IP from the epic close reason.
📍 Affects 2 files
.beads/interactions.jsonl#L18-L20(this comment).beads/issues.jsonl#L14-L14
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.beads/interactions.jsonl around lines 18 - 20, Remove the production IP
169.58.95.32 from the close-reason records in .beads/interactions.jsonl lines
18-20, replacing it with a private-lane reference to intent-os/ops/buzz/; also
remove the IP from the epic close reason in .beads/issues.jsonl line 14.
Preserve the remaining deployment and closure details.
| | E4 — Headless administration | 2.5 | not started | — | | ||
| | E5 — Team onboarding (all-in) | 3 | not started | — | | ||
| | E6 — Agent bridge (`@claude`, isolated) | 4 | not started | — | | ||
| | E6 — Agent bridge (isolated coding agent `goose minimax3`) | 4 | **LIVE on prod** (2026-07-30, decision-log/039, PR #301): `buzz-acp`+goose/MiniMax-M3 running as a member on the prod host, owner-gated + PR-gated, egress-isolated. Open: wire the prod PR loop (repo + scoped token + branch protection — owner inputs) | GH #? · PR #301 | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Replace the unresolved evidence placeholder.
Line 83 uses GH #?. Use a real issue reference or remove the GitHub field. A production-live claim needs a resolvable evidence identifier.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@000-docs/001-PP-PLAN-buzz-adoption-master-blueprint.md` at line 83, Update
the E6 Agent bridge entry to replace the unresolved “GH #?” placeholder with a
valid, resolvable GitHub issue or PR reference; if no suitable reference exists,
remove the GitHub field while preserving the existing PR `#301` evidence.
…ion bead What: adds epic buzz-20l (build the agentic Buzz estate-ops surface — repo-home channels, a GitHub-event bridge, goose-triage + Claude/Codex-impl division of labor) with 10 dependency-ordered children, plus a P2 bead to evaluate the relay upgrade off v0.2.0 (owner-gated; we're on Block's stable :latest, newer code is unreleased :main). Why: hand-rolled from the 14-agent research report (intent-os ops/buzz/RESEARCH-agentic-buzz- utilization-2026-07-31.md), design-first per the Dolt-is-git-for-beads discipline — not scripted. Verified: bd ready surfaces buzz-20l.1/.2/.3 as the unblocked start points; deps wired.
| {"_type":"issue","id":"buzz-w92.7","title":"Curation and the daily ai-wire digest (the anti-firehose moat)","description":"The curator promotes the day's best cross-lab items into one ai-wire digest + one announcements headline; members @mention to go deeper. AC: a real daily digest posts to ai-wire.","status":"closed","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:12Z","created_by":"jeremylongshore","updated_at":"2026-07-31T04:30:55Z","closed_at":"2026-07-31T04:30:55Z","close_reason":"Daily ai-wire digest live — --digest composes cross-lab roundup (70b→8b→NVIDIA), posts to 1-ai-wire, cron 06:30 CT","dependencies":[{"issue_id":"buzz-w92.7","depends_on_id":"buzz-w92.3","type":"blocks","created_at":"2026-07-30T21:29:16Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.7","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:11Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-w92.8","title":"Schedule the pipeline via cron and register it in automations.md","description":"Cron the ingestion + digest on the dev box (estate automation home), armed with notify-lib liveness markers, registered in mission-control/automations.md. AC: cron live + registry row + liveness sweep row.","status":"closed","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:12Z","created_by":"jeremylongshore","updated_at":"2026-07-31T04:18:42Z","closed_at":"2026-07-31T04:18:42Z","close_reason":"3h cron deployed (~/bin/buzz-wire-cron.sh) + notify-lib liveness + registered in automations.md","dependencies":[{"issue_id":"buzz-w92.8","depends_on_id":"buzz-w92.3","type":"blocks","created_at":"2026-07-30T21:29:16Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.8","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:12Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-w92.4","title":"Wire the existing Anthropic monitor fleet into the anthropic-* channels","description":"The dev-box ~/bin monitors (claude-code-changelog, claude-blog, anthropic-news/research/engineering, anthropic-status) already summarize NEW items to Slack; add a Buzz post path -\u003e anthropic-changelog / anthropic-blogs / anthropic-research / anthropic-outages. AC: a real Anthropic release lands in anthropic-changelog.","status":"closed","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:09Z","created_by":"jeremylongshore","updated_at":"2026-07-31T14:04:52Z","closed_at":"2026-07-31T14:04:52Z","close_reason":"Anthropic bridged via HTML-scrape source type (news/research/engineering -\u003e anthropic-blogs/research), mirroring the estate monitors; Mistral added. buzz-w92.6 partially done (tooling/mcp/newsletters/ships/status live).","dependencies":[{"issue_id":"buzz-w92.4","depends_on_id":"buzz-w92.1","type":"blocks","created_at":"2026-07-30T21:29:14Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.4","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:09Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-w92.3","title":"Ship the easy-tier provider feeds (clean RSS/status)","description":"Anthropic, OpenAI, Google/DeepMind, Groq, DeepSeek, MiniMax -\u003e their *-wire channels. AC: each posts real items on a schedule.","status":"closed","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:08Z","created_by":"jeremylongshore","updated_at":"2026-07-31T04:18:40Z","closed_at":"2026-07-31T04:18:40Z","close_reason":"easy-tier feeds live — OpenAI, HuggingFace, arXiv cs.AI, Google DeepMind; 4 seed cards posted with summaries","dependencies":[{"issue_id":"buzz-w92.3","depends_on_id":"buzz-w92.2","type":"blocks","created_at":"2026-07-30T21:29:13Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.3","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:08Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":4,"comment_count":0} |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Keep incomplete feed work open or revise its accepted scope.
These tasks are marked closed although their recorded outcomes leave required sources or destinations absent. This makes the dependency inventory report incomplete feed coverage as delivered.
.beads/issues.jsonl#L37-L37: Reopen or narrowbuzz-w92.3. DeepSeek and MiniMax remain absent under the task’s listed provider scope..beads/interactions.jsonl#L32-L32: Append a corrective status event after reconcilingbuzz-w92.3; do not alter the historical closure event..beads/issues.jsonl#L36-L36: Reopen or narrowbuzz-w92.4. Its close reason records onlyanthropic-blogsandanthropic-research, not the requiredanthropic-changelogdelivery..beads/interactions.jsonl#L35-L35: Append a corrective status event after reconcilingbuzz-w92.4..beads/issues.jsonl#L66-L66: Reopen or revisebuzz-w92.5. Its acceptance criteria require RSSHub and each listed provider feed, while the close reason says RSSHub was not deployed and several feeds remain empty..beads/interactions.jsonl#L36-L36: Append a corrective status event after reconcilingbuzz-w92.5.
📍 Affects 2 files
.beads/issues.jsonl#L37-L37(this comment).beads/interactions.jsonl#L32-L32.beads/issues.jsonl#L36-L36.beads/interactions.jsonl#L35-L35.beads/issues.jsonl#L66-L66.beads/interactions.jsonl#L36-L36
| {"id":"int-ecdd102b39c09f97150839220f0b0d34","kind":"field_change","created_at":"2026-07-30T04:47:05.19034745Z","actor":"jeremylongshore","issue_id":"buzz-ocv.5","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"DONE 2026-07-30. Tauri desktop CORS origins (tauri://localhost + http://tauri.localhost) composed into version-controlled compose (intent-os PR #283), applied live to both hosts (PR #284), cors-config-test 2/2 in ci:drills. Final owner-gated gate met: Jeremy joined from the PACKAGED Linux desktop client to buzz-prod.intentsolutions.io (connected, admin, channels visible) — the packaged-client CORS verification the acceptance required."}} | ||
| {"id":"int-9d63f6e48fc6157929c47a230eede39a","kind":"field_change","created_at":"2026-07-30T05:45:53.661302817Z","actor":"jeremylongshore","issue_id":"buzz-ocv.2","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"DONE 2026-07-30 (ultracode Track-A workflow). Compensating edge controls shipped + applied. CODE: ops/buzz/scripts/apply-edge-controls.sh (plan-only default, --apply to install) + hermetic test, merged intent-os PR #292 (4/4 estate-CI green, adversarially verified sound). APPLIED LIVE on the dedicated prod host intent-ops-buzz: fail2ban 'caddy-buzz' jail (bans public 4xx-flooders from /var/log/caddy/buzz-access.log) + nftables 'inet buzz_edge' connlimit (128 concurrent NEW/IP on tcp 80+443 only) + buzz-edge-nft.service enabled (reboot-safe). VERIFIED no self-lock: SSH intact, relay _readiness 200 off-box, tailnet/port-22 never touched (WS/established never dropped). SCOPING: applied to the Buzz-DEDICATED prod host only; deliberately NOT applied host-wide on the shared VPS staging (its connlimit would rate-limit co-tenant estate stacks Plane/ERP/CRM) — request_body caps + security headers already exist in Caddy on both. Closes the last non-owner-gated piece of go-live edge hardening."}} | ||
| {"id":"int-d1b3bcb9725ff332970aacd020a3a368","kind":"field_change","created_at":"2026-07-30T05:54:52.463260258Z","actor":"jeremylongshore","issue_id":"buzz-bsy","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"DONE 2026-07-30 (ultracode Track-A workflow). Built ops/buzz/scripts/restore.sh — the real destructive three-store restore (Postgres pg_restore --clean --if-exists → media mc mirror --overwrite → git volume), gated behind --in-place with verify-before-destroy (sha256 every artifact + PGDMP header + manifest.env==--env cross-check; exit 2 writes nothing). Chose --in-place-required over auto-restore so decision-log/038's human-gate holds with ZERO updater.sh changes: the updater's flagless call exits 64 → rc5 page unchanged (updater-drill 6/6 still green). Hermetic restore-test.sh 6/6 with mutation-proven teeth; restore-drill-test 4/4 no regression; wired into ci:drills. Merged intent-os PR #293 (4/4 estate-CI green). Remaining real-tool proof = a host-side scratch-stack drill before first prod use (noted in runbook)."}} | ||
| {"id":"int-be2173d658fc095081a9083e49d64528","kind":"field_change","created_at":"2026-07-30T07:17:44.135065314Z","actor":"jeremylongshore","issue_id":"buzz-nry.2","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"DONE 2026-07-30. Production deployed from proven staging artifacts with FRESH secrets on the dedicated host intent-ops-buzz, serving buzz-prod.intentsolutions.io (169.58.95.32). The 'cut DNS over' (apex → buzz.) requirement is DROPPED by owner decision 2026-07-30: buzz-prod.intentsolutions.io is the PERMANENT production URL (no apex cutover). Prod DNS is therefore already on its permanent, correct name — nothing further to cut over."}} |
There was a problem hiding this comment.
WARNING: Production IP address exposed in epic closure record
The buzz-nry epic close_reason contains the production IP 169.58.95.32. Per the PR description and project policy, estate-private operational details (hosts, IPs, keys, runbooks) must stay in the private intent-os/ops/buzz/ lane, not in the public fork's .beads/ records. This is a separate occurrence from the buzz-nry.2 task closure (line 16) which was already flagged.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"id":"int-85fdaa9e88769d07584be2fb1e04cf42","kind":"field_change","created_at":"2026-07-31T03:36:19.601340573Z","actor":"jeremylongshore","issue_id":"buzz-yfe.5","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"buzz-feed-curator agent built + PASS /validate-agent"}} | ||
| {"id":"int-8850efaef9cdedb9badb537fc62935ba","kind":"field_change","created_at":"2026-07-31T03:36:21.08100149Z","actor":"jeremylongshore","issue_id":"buzz-yfe.6","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"buzz-relay-admin agent built + PASS /validate-agent"}} | ||
| {"id":"int-4260303d729ddb42abd839cb31f38f27","kind":"field_change","created_at":"2026-07-31T03:36:22.349391594Z","actor":"jeremylongshore","issue_id":"buzz-yfe.7","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"all 3 agents PASS /validate-agent; skill PASS /validate-skillmd; reference-vs-code consistency 106 citations 100% resolve to real fork source (no fabrications)"}} | ||
| {"id":"int-f0b734dccd26f403f2e9576181b68a3f","kind":"field_change","created_at":"2026-07-31T03:37:20.957039522Z","actor":"jeremylongshore","issue_id":"buzz-yfe","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"All 7 children closed: 2 references + skill + 3 agents + validation; all PASS the IS validators"}} |
There was a problem hiding this comment.
WARNING: Internal implementation path exposed in closure record
The buzz-w92.2 close_reason exposes the internal path ops/buzz/wire/buzz-wire.py. Estate-private operational details should not be published in the public fork's interaction records.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"id":"int-4260303d729ddb42abd839cb31f38f27","kind":"field_change","created_at":"2026-07-31T03:36:22.349391594Z","actor":"jeremylongshore","issue_id":"buzz-yfe.7","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"all 3 agents PASS /validate-agent; skill PASS /validate-skillmd; reference-vs-code consistency 106 citations 100% resolve to real fork source (no fabrications)"}} | ||
| {"id":"int-f0b734dccd26f403f2e9576181b68a3f","kind":"field_change","created_at":"2026-07-31T03:37:20.957039522Z","actor":"jeremylongshore","issue_id":"buzz-yfe","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"All 7 children closed: 2 references + skill + 3 agents + validation; all PASS the IS validators"}} | ||
| {"id":"int-630ab91f0cf7e0e25edae67f26073244","kind":"field_change","created_at":"2026-07-31T04:06:15.368820216Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"in_progress","old_value":"open"}} | ||
| {"id":"int-cca6517e1c6ee0187914938b7edd0144","kind":"field_change","created_at":"2026-07-31T04:18:38.265063552Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"pipeline built + hardened (fetch→dedupe(newest-25)→Groq/NVIDIA summary→card), rate-limit fallback chain, ops/buzz/wire/buzz-wire.py"}} |
There was a problem hiding this comment.
WARNING: Internal paths and automation registry exposed in closure record
The buzz-w92.8 close_reason exposes ~/bin/buzz-wire-cron.sh (host-specific path) and automations.md (internal registry). These operational details belong in the private intent-os/ops/buzz/ lane.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"id":"int-f0b734dccd26f403f2e9576181b68a3f","kind":"field_change","created_at":"2026-07-31T03:37:20.957039522Z","actor":"jeremylongshore","issue_id":"buzz-yfe","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"All 7 children closed: 2 references + skill + 3 agents + validation; all PASS the IS validators"}} | ||
| {"id":"int-630ab91f0cf7e0e25edae67f26073244","kind":"field_change","created_at":"2026-07-31T04:06:15.368820216Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"in_progress","old_value":"open"}} | ||
| {"id":"int-cca6517e1c6ee0187914938b7edd0144","kind":"field_change","created_at":"2026-07-31T04:18:38.265063552Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"pipeline built + hardened (fetch→dedupe(newest-25)→Groq/NVIDIA summary→card), rate-limit fallback chain, ops/buzz/wire/buzz-wire.py"}} | ||
| {"id":"int-78e02ffa7530bcd16898d0cbbffeec34","kind":"field_change","created_at":"2026-07-31T04:18:40.136787487Z","actor":"jeremylongshore","issue_id":"buzz-w92.3","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"easy-tier feeds live — OpenAI, HuggingFace, arXiv cs.AI, Google DeepMind; 4 seed cards posted with summaries"}} |
There was a problem hiding this comment.
WARNING: Cron schedule exposed in closure record
The buzz-w92.7 close_reason exposes the production cron schedule cron 06:30 CT. Operational scheduling details should not be published in public records.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"id":"int-630ab91f0cf7e0e25edae67f26073244","kind":"field_change","created_at":"2026-07-31T04:06:15.368820216Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"in_progress","old_value":"open"}} | ||
| {"id":"int-cca6517e1c6ee0187914938b7edd0144","kind":"field_change","created_at":"2026-07-31T04:18:38.265063552Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"pipeline built + hardened (fetch→dedupe(newest-25)→Groq/NVIDIA summary→card), rate-limit fallback chain, ops/buzz/wire/buzz-wire.py"}} | ||
| {"id":"int-78e02ffa7530bcd16898d0cbbffeec34","kind":"field_change","created_at":"2026-07-31T04:18:40.136787487Z","actor":"jeremylongshore","issue_id":"buzz-w92.3","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"easy-tier feeds live — OpenAI, HuggingFace, arXiv cs.AI, Google DeepMind; 4 seed cards posted with summaries"}} | ||
| {"id":"int-ca89c97ced65361b3070b31df6bec542","kind":"field_change","created_at":"2026-07-31T04:18:41.731887559Z","actor":"jeremylongshore","issue_id":"buzz-w92.8","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"3h cron deployed (~/bin/buzz-wire-cron.sh) + notify-lib liveness + registered in automations.md"}} |
There was a problem hiding this comment.
WARNING: Internal tooling path exposed in closure record
The buzz-w92.4 close_reason exposes tooling/mcp/newsletters/ships/status which references internal tooling structure. Estate-private implementation details should stay in the private lane.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"id":"int-cca6517e1c6ee0187914938b7edd0144","kind":"field_change","created_at":"2026-07-31T04:18:38.265063552Z","actor":"jeremylongshore","issue_id":"buzz-w92.2","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"pipeline built + hardened (fetch→dedupe(newest-25)→Groq/NVIDIA summary→card), rate-limit fallback chain, ops/buzz/wire/buzz-wire.py"}} | ||
| {"id":"int-78e02ffa7530bcd16898d0cbbffeec34","kind":"field_change","created_at":"2026-07-31T04:18:40.136787487Z","actor":"jeremylongshore","issue_id":"buzz-w92.3","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"easy-tier feeds live — OpenAI, HuggingFace, arXiv cs.AI, Google DeepMind; 4 seed cards posted with summaries"}} | ||
| {"id":"int-ca89c97ced65361b3070b31df6bec542","kind":"field_change","created_at":"2026-07-31T04:18:41.731887559Z","actor":"jeremylongshore","issue_id":"buzz-w92.8","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"3h cron deployed (~/bin/buzz-wire-cron.sh) + notify-lib liveness + registered in automations.md"}} | ||
| {"id":"int-e4c1bfdb34ec5b768b2fe150c50071fc","kind":"field_change","created_at":"2026-07-31T04:30:55.252637052Z","actor":"jeremylongshore","issue_id":"buzz-w92.7","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"Daily ai-wire digest live — --digest composes cross-lab roundup (70b→8b→NVIDIA), posts to 1-ai-wire, cron 06:30 CT"}} |
There was a problem hiding this comment.
WARNING: Internal feed mirror reference exposed in closure record
The buzz-w92.5 close_reason exposes Olshansk RSS mirrors (from perception repo) which references internal feed infrastructure. This operational detail belongs in the private lane.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-20l.6","title":"Add the Claude impl-agent identity as a second buzz-acp process that authors PRs from goose-filed issues only","description":"Second buzz-acp process: Claude (claude-agent-acp), PermissionMode acceptEdits, PR-scoped PAT, a /work cwd that clones REPOS/\u003crepo\u003e on demand; reads ONLY goose-authored issues (never the raw channel firehose — invariant 2). Handoff is a human @mention of the impl agent on goose's issue (invariant 1). Acceptance: human @mention on issue #N =\u003e impl agent opens a PR against that repo; CI gates the merge; the agent cannot merge. DEPENDS on the ACP-headless spike.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:11Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:11Z","labels":["agentic-ops","estate","github-bridge","impl-agent"],"dependencies":[{"issue_id":"buzz-20l.6","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:10Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.6","depends_on_id":"buzz-20l.1","type":"blocks","created_at":"2026-07-31T13:58:36Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.6","depends_on_id":"buzz-20l.5","type":"blocks","created_at":"2026-07-31T13:58:37Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":2,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.5","title":"Configure the goose-triage profile — owner-gated, issue-filing only, reading the repo-channel firehose","description":"goose (MiniMax) runs owner-only, PermissionMode plan/dontAsk, no-merge PAT, subscribed to the repo-home channels; reads the raw bridge feed and files ONE GitHub issue per finding via the finding-id upsert. It NEVER authors code and NEVER hands off via chat @mention. Acceptance: a posted CI-failure card results in exactly one filed issue; goose has no write path to code.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:09Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:09Z","labels":["agentic-ops","estate","github-bridge","triage-agent"],"dependencies":[{"issue_id":"buzz-20l.5","depends_on_id":"buzz-20l.3","type":"blocks","created_at":"2026-07-31T13:58:34Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.5","depends_on_id":"buzz-20l.4","type":"blocks","created_at":"2026-07-31T13:58:34Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.5","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:09Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":2,"dependent_count":3,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.4","title":"Build the finding-id and level-triggered reconciler so every failure maps to exactly one auto-closing issue","description":"finding-id = hash(repo, workflow, normalized-failure) for idempotent issue upsert (create-only-if-absent); a periodic level-triggered reconciler computes currently-failing finding-ids and closes every finding-issue no longer in that set (do NOT rely on edge-triggered 'green run-\u003eclose' — Buzz drops replies #2459/#3587, agents go deaf in threads #2270). BUILD BEFORE the first repo channel goes live. Acceptance: three retries of one flaky failure =\u003e one issue; recovery =\u003e the issue auto-closes within one reconcile cycle.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:08Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:08Z","labels":["agentic-ops","estate","github-bridge","reliability"],"dependencies":[{"issue_id":"buzz-20l.4","depends_on_id":"buzz-20l.3","type":"blocks","created_at":"2026-07-31T13:58:33Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.4","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:08Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.3","title":"Build buzz-gh-bridge: a webhook receiver plus a GitHub App on both orgs that posts repo events as cards into repo-home channels","description":"FastAPI receiver on intent-ops-buzz (~100 lines): verify X-Hub-Signature-256 HMAC, dedup on X-GitHub-Delivery, map owner/repo-\u003echannel_id, render event-\u003ecard, post via the EXISTING local docker-exec path in ops/buzz/wire/buzz-wire.py (no ssh hop). One GitHub App installed on jeremylongshore + intent-solutions-io subscribed to pull_request, pull_request_review, pull_request_review_comment, issues, issue_comment, workflow_run, push, release, deployment_status. Webhooks (real-time), not polling; CI status via the workflow_run event. Caddy route -\u003eloopback. Acceptance: a real PR/CI event posts a card into its repo channel; HMAC-invalid and duplicate deliveries are rejected.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:07Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:07Z","labels":["agentic-ops","estate","github-bridge"],"dependencies":[{"issue_id":"buzz-20l.3","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:06Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":3,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Production hostname and internal path exposed in new issue
The new issue buzz-20l.3 description exposes the production hostname intent-ops-buzz and internal path ops/buzz/wire/buzz-wire.py. New issues in the public fork should not contain estate-private operational details.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-20l.4","title":"Build the finding-id and level-triggered reconciler so every failure maps to exactly one auto-closing issue","description":"finding-id = hash(repo, workflow, normalized-failure) for idempotent issue upsert (create-only-if-absent); a periodic level-triggered reconciler computes currently-failing finding-ids and closes every finding-issue no longer in that set (do NOT rely on edge-triggered 'green run-\u003eclose' — Buzz drops replies #2459/#3587, agents go deaf in threads #2270). BUILD BEFORE the first repo channel goes live. Acceptance: three retries of one flaky failure =\u003e one issue; recovery =\u003e the issue auto-closes within one reconcile cycle.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:08Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:08Z","labels":["agentic-ops","estate","github-bridge","reliability"],"dependencies":[{"issue_id":"buzz-20l.4","depends_on_id":"buzz-20l.3","type":"blocks","created_at":"2026-07-31T13:58:33Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-20l.4","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:08Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.3","title":"Build buzz-gh-bridge: a webhook receiver plus a GitHub App on both orgs that posts repo events as cards into repo-home channels","description":"FastAPI receiver on intent-ops-buzz (~100 lines): verify X-Hub-Signature-256 HMAC, dedup on X-GitHub-Delivery, map owner/repo-\u003echannel_id, render event-\u003ecard, post via the EXISTING local docker-exec path in ops/buzz/wire/buzz-wire.py (no ssh hop). One GitHub App installed on jeremylongshore + intent-solutions-io subscribed to pull_request, pull_request_review, pull_request_review_comment, issues, issue_comment, workflow_run, push, release, deployment_status. Webhooks (real-time), not polling; CI status via the workflow_run event. Caddy route -\u003eloopback. Acceptance: a real PR/CI event posts a card into its repo channel; HMAC-invalid and duplicate deliveries are rejected.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:07Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:07Z","labels":["agentic-ops","estate","github-bridge"],"dependencies":[{"issue_id":"buzz-20l.3","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:06Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":3,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.2","title":"Record the agentic-Buzz architecture decisions in decision-log (division of labor, source-of-truth, the two invariants)","description":"Append a decision-log/040 (or new) entry: goose=issues / Claude|Codex=PRs; GitHub is source of truth and Buzz is a projection (NO NIP-34 issue/PR mirror); invariant 1 = the GitHub issue IS the handoff (no agent-to-agent chat @mention); invariant 2 = untrusted channel/webhook text never reaches the shell+creds process; 3-process topology (not per-repo). Acceptance: entry merged, cited by the build beads.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:05Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:05Z","labels":["agentic-ops","decision","estate","github-bridge"],"dependencies":[{"issue_id":"buzz-20l.2","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:05Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l.1","title":"Confirm Claude Code and Codex ACP harnesses run headless with API keys on the Buzz VPS (the build gate for the impl lane)","description":"Report source-4 flags upstream leans toward subscription/ChatGPT-login auth; we need headless API-key auth. Verify claude-agent-acp and codex-acp start, authenticate via API key, and complete a trivial task headless in an isolated container on intent-ops-buzz. BLOCKS the impl-agent bead. Acceptance: a headless ACP session with each harness completes a no-op task using an API key only, evidenced.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:04Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:04Z","labels":["agentic-ops","estate","github-bridge","spike"],"dependencies":[{"issue_id":"buzz-20l.1","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:03Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":2,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Production hostname exposed in new issue
The new issue buzz-20l.1 description exposes the production hostname intent-ops-buzz. Estate-private host details should not be in public issue records.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-20l.1","title":"Confirm Claude Code and Codex ACP harnesses run headless with API keys on the Buzz VPS (the build gate for the impl lane)","description":"Report source-4 flags upstream leans toward subscription/ChatGPT-login auth; we need headless API-key auth. Verify claude-agent-acp and codex-acp start, authenticate via API key, and complete a trivial task headless in an isolated container on intent-ops-buzz. BLOCKS the impl-agent bead. Acceptance: a headless ACP session with each harness completes a no-op task using an API key only, evidenced.","status":"open","priority":1,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:58:04Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:58:04Z","labels":["agentic-ops","estate","github-bridge","spike"],"dependencies":[{"issue_id":"buzz-20l.1","depends_on_id":"buzz-20l","type":"parent-child","created_at":"2026-07-31T13:58:03Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-20l","title":"Build the agentic Buzz estate-ops surface — repo-home channels, a GitHub event bridge, and a goose-triage + Claude-impl division of labor","description":"Evolve Buzz from a chat+feed surface into the estate's agentic operations surface, replacing the dead Greptile/Gemini/CodeRabbit 'what was found' review stream on our own stack. Research: ops/buzz/RESEARCH-agentic-buzz-utilization-2026-07-31.md (14-agent ultracode workflow, 2026-07-31).\n\nOwner decisions locked: goose files ISSUES only (owner-gated, plan/dontAsk, no-merge PAT); Claude/Codex authors PRs (native buzz-acp harnesses, config.rs:696 — nothing to build at harness level); every ACTIVE repo (both orgs, minus archived/dead) gets a repo-home channel + lazy-create on next push; GitHub is the source of truth, Buzz is a projection (NO NIP-34 mirror). Two load-bearing invariants: (1) the GitHub issue IS the triage-\u003eimpl handoff, never an agent-to-agent chat @mention; (2) untrusted channel/webhook text never reaches the process holding a shell + git creds.\n\nDependency-ordered children below. Build gate: confirm Claude/Codex ACP run headless with API keys on our VPS before the impl lane.","status":"open","priority":1,"issue_type":"epic","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T19:57:05Z","created_by":"jeremylongshore","updated_at":"2026-07-31T19:57:05Z","labels":["agentic-ops","estate","github-bridge"],"dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-1zr.1","title":"Stand up the staging drill harness for channel/identity/feed/notify actions","description":"A script suite that exercises the real actions against buzz-testing.intentsolutions.io with throwaway keys/channels, asserting the load-bearing rules: only-owner-can-delete returns the right error; a non-member post gets 403 relay_membership_required; add-member --role owner is rejected; provider-first naming; verify via channels list. Torn down after each run. AC: harness runs green on staging, prod untouched.","status":"open","priority":1,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:39:32Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:39:32Z","dependencies":[{"issue_id":"buzz-1zr.1","depends_on_id":"buzz-1zr","type":"parent-child","created_at":"2026-07-30T21:39:32Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-1zr","title":"Establish and run the Buzz testing procedure — staging drills, hermetic tests, agent evals","description":"A repeatable way to test the actions we build against Buzz, following the estate pattern (hermetic test in ci:drills + live drill) + the IS testing SOP (/audit-tests, /implement-tests, audit-harness). HARD SAFETY RULE: every destructive/live drill runs on the STAGING relay buzz-testing.intentsolutions.io (drills-only, never real members/channels) — NEVER prod (per ops/buzz/README.md). Covers the new surfaces: channel/identity ops, feed posting, sys-notification routing, and operator-agent behavior.","status":"open","priority":1,"issue_type":"epic","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:39:31Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:39:31Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Staging relay URL exposed in new issue
The new issue buzz-1zr description exposes the staging relay URL buzz-testing.intentsolutions.io. Infrastructure endpoints should not be published in public issue records.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-0ts.1","title":"Build buzz-notify.sh (topic -\u003e channel-uuid) + a notifier bot key","description":"A notifier bot (own key, separate from the AI Wire + goose keys) + buzz-notify.sh wrapping buzz messages send (kind:9), mapping a topic to a sys-* channel uuid. AC: a test alert posts to sys-incidents.","status":"open","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:18Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:29:18Z","dependencies":[{"issue_id":"buzz-0ts.1","depends_on_id":"buzz-0ts","type":"parent-child","created_at":"2026-07-30T21:29:18Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-0ts.1","depends_on_id":"buzz-w92.1","type":"blocks","created_at":"2026-07-30T21:29:21Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-0ts","title":"Route estate system notifications into the private sys-* channels","description":"Track B internal consolidation: the estate's ops alerts post into the private sys-* channels (incidents/health/backups/deploys/automation), retiring Slack/notify/Moshi. Keep the off-estate survivability floor (healthchecks.io + af_email_floor) and Ezekiel's blog emails. Inherits dedup/rate-limit/spool/floor from the governed af_dispatch chain.","status":"open","priority":2,"issue_type":"epic","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:17Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:29:17Z","dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-w92.7","title":"Curation and the daily ai-wire digest (the anti-firehose moat)","description":"The curator promotes the day's best cross-lab items into one ai-wire digest + one announcements headline; members @mention to go deeper. AC: a real daily digest posts to ai-wire.","status":"closed","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:12Z","created_by":"jeremylongshore","updated_at":"2026-07-31T04:30:55Z","closed_at":"2026-07-31T04:30:55Z","close_reason":"Daily ai-wire digest live — --digest composes cross-lab roundup (70b→8b→NVIDIA), posts to 1-ai-wire, cron 06:30 CT","dependencies":[{"issue_id":"buzz-w92.7","depends_on_id":"buzz-w92.3","type":"blocks","created_at":"2026-07-30T21:29:16Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.7","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:11Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-w92.8","title":"Schedule the pipeline via cron and register it in automations.md","description":"Cron the ingestion + digest on the dev box (estate automation home), armed with notify-lib liveness markers, registered in mission-control/automations.md. AC: cron live + registry row + liveness sweep row.","status":"closed","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:12Z","created_by":"jeremylongshore","updated_at":"2026-07-31T04:18:42Z","closed_at":"2026-07-31T04:18:42Z","close_reason":"3h cron deployed (~/bin/buzz-wire-cron.sh) + notify-lib liveness + registered in automations.md","dependencies":[{"issue_id":"buzz-w92.8","depends_on_id":"buzz-w92.3","type":"blocks","created_at":"2026-07-30T21:29:16Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-w92.8","depends_on_id":"buzz-w92","type":"parent-child","created_at":"2026-07-30T21:29:12Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":0,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Monitoring infrastructure exposed in new issue
The new issue buzz-b6z.1 description exposes the monitoring infrastructure SigNoz C8 gateway. Internal monitoring stack details should stay in the private lane.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-yfe.7","title":"Validate the skill and all operator agents against the IS spec","description":"Run /validate-skillmd + /validate-agent on the skill and 3 agents; fix findings. AC: all green.","status":"closed","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:27:17Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:36:22Z","closed_at":"2026-07-31T03:36:22Z","close_reason":"all 3 agents PASS /validate-agent; skill PASS /validate-skillmd; reference-vs-code consistency 106 citations 100% resolve to real fork source (no fabrications)","dependencies":[{"issue_id":"buzz-yfe.7","depends_on_id":"buzz-yfe.6","type":"blocks","created_at":"2026-07-30T21:29:05Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-yfe.7","depends_on_id":"buzz-yfe.4","type":"blocks","created_at":"2026-07-30T21:29:03Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-yfe.7","depends_on_id":"buzz-yfe","type":"parent-child","created_at":"2026-07-30T21:27:17Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-yfe.7","depends_on_id":"buzz-yfe.5","type":"blocks","created_at":"2026-07-30T21:29:04Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":3,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-yfe.5","title":"Build the buzz-feed-curator agent (AI-Wire posting)","description":"A /agent-creator agent that fetches feeds, summarizes, and posts rich cards to *-wire channels as the AI Wire bot. AC: passes /validate-agent; encodes the posting primitive, provider-first routing, membership requirement.","status":"closed","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:27:16Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:36:19Z","closed_at":"2026-07-31T03:36:19Z","close_reason":"buzz-feed-curator agent built + PASS /validate-agent","dependencies":[{"issue_id":"buzz-yfe.5","depends_on_id":"buzz-yfe.3","type":"blocks","created_at":"2026-07-30T21:29:02Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-yfe.5","depends_on_id":"buzz-yfe","type":"parent-child","created_at":"2026-07-30T21:27:15Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":3,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-yfe.4","title":"Build the buzz-ops operator agent (channel + identity management)","description":"A /agent-creator agent that manages channels + identities on the live relay per the runbook. AC: passes /validate-agent (8-field spec); encodes owner-key ownership, sanctioned CLI, secret-via-docker-exec-e, verify-via-channels-list.","status":"closed","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:27:15Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:36:18Z","closed_at":"2026-07-31T03:36:18Z","close_reason":"buzz-ops agent built + PASS /validate-agent (14-field standalone spec)","dependencies":[{"issue_id":"buzz-yfe.4","depends_on_id":"buzz-yfe.3","type":"blocks","created_at":"2026-07-30T21:29:00Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-yfe.4","depends_on_id":"buzz-yfe","type":"parent-child","created_at":"2026-07-30T21:27:14Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-ehv.2","title":"Define and document the member join/onboarding model","description":"For the shared community: members JOIN the canonical open channels (they never template-create their own — templates make NEW channels and cause the duplicate-Welcome mess; see RUNBOOK-channels.md 1.6). AC: document which channels auto-join at onboarding vs opt-in, how a member joins an open *-wire pack, and the seed-content-before-invite step. Feeds the all-in onboarding epic (E5).","status":"open","priority":2,"issue_type":"task","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:27:11Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:27:11Z","dependencies":[{"issue_id":"buzz-ehv.2","depends_on_id":"buzz-ehv","type":"parent-child","created_at":"2026-07-30T21:27:10Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Implementation detail exposed in new issue
The new issue buzz-0ts.1 description exposes the implementation detail buzz messages send (kind:9). Internal protocol specifics should not be in public issue records.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| {"_type":"issue","id":"buzz-1zr.3","title":"Golden behavioral evals for the 3 operator agents","description":"Golden-transcript evals (the opskit-golden pattern) for buzz-ops / buzz-feed-curator / buzz-relay-admin: assert each DOES the right sanctioned action and REFUSES illegal ones (DB surgery, deleting a non-owned channel, posting a secret, prod destructive drill). AC: eval suite green; a regression is caught.","status":"open","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:39:34Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:39:34Z","dependencies":[{"issue_id":"buzz-1zr.3","depends_on_id":"buzz-1zr","type":"parent-child","created_at":"2026-07-30T21:39:34Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-1zr.3","depends_on_id":"buzz-yfe.6","type":"blocks","created_at":"2026-07-30T21:39:36Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-1zr.3","depends_on_id":"buzz-yfe.5","type":"blocks","created_at":"2026-07-30T21:39:36Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-1zr.3","depends_on_id":"buzz-yfe.4","type":"blocks","created_at":"2026-07-30T21:39:35Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":3,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-1zr.2","title":"Hermetic tests for the new actions, wired into pnpm ci:drills","description":"Dry-run/mocked hermetic tests (no live relay) for channel-ops command construction, feed-card rendering (imeta), and notify topic-\u003echannel routing — same shape as the existing ops/buzz/tests/*.sh. AC: tests pass in ci:drills; a planted fault is caught.","status":"open","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:39:33Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:39:33Z","dependencies":[{"issue_id":"buzz-1zr.2","depends_on_id":"buzz-1zr","type":"parent-child","created_at":"2026-07-30T21:39:33Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":0,"dependent_count":0,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-0ts.2","title":"Add af_buzz_transport to the af_dispatch chain (honest 2xx)","description":"A transport like vps-slack-transport.sh that posts to Buzz with honest 2xx classification, so Buzz alerts inherit dedup/rate-limit/spool/floor. AC: a governed alert routes through af_dispatch to a sys-* channel with a real receipt.","status":"open","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:19Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:29:19Z","dependencies":[{"issue_id":"buzz-0ts.2","depends_on_id":"buzz-0ts.1","type":"blocks","created_at":"2026-07-30T21:29:21Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-0ts.2","depends_on_id":"buzz-0ts","type":"parent-child","created_at":"2026-07-30T21:29:18Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":1,"comment_count":0} | ||
| {"_type":"issue","id":"buzz-0ts.1","title":"Build buzz-notify.sh (topic -\u003e channel-uuid) + a notifier bot key","description":"A notifier bot (own key, separate from the AI Wire + goose keys) + buzz-notify.sh wrapping buzz messages send (kind:9), mapping a topic to a sys-* channel uuid. AC: a test alert posts to sys-incidents.","status":"open","priority":2,"issue_type":"feature","owner":"jeremylongshore@users.noreply.github.com","created_at":"2026-07-31T03:29:18Z","created_by":"jeremylongshore","updated_at":"2026-07-31T03:29:18Z","dependencies":[{"issue_id":"buzz-0ts.1","depends_on_id":"buzz-0ts","type":"parent-child","created_at":"2026-07-30T21:29:18Z","created_by":"jeremylongshore","metadata":"{}"},{"issue_id":"buzz-0ts.1","depends_on_id":"buzz-w92.1","type":"blocks","created_at":"2026-07-30T21:29:21Z","created_by":"jeremylongshore","metadata":"{}"}],"dependency_count":1,"dependent_count":2,"comment_count":0} |
There was a problem hiding this comment.
WARNING: Internal script path and staging reference exposed in new issue
The new issue buzz-s8q description exposes ops/buzz/scripts/updater.sh and references buzz-testing. Estate-private operational paths and staging infrastructure should not be in public issues.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| @@ -80,11 +80,15 @@ three-way (bead ↔ GitHub issue ↔ Plane project `BUZZ`). | |||
| | E3 — Hardening + go-live gates (run against PROD) | 2 | in flight — membership probe + unauth HTTP matrix + resource caps + backup/restore PROVEN against prod; remaining BLOCKING: off-site backup leg, updater planted-fault drill (on staging), monitoring alerts exercised, full smoke suite, CORS client verify, pairing verify-or-documented, key runbooks rehearsed | — | | |||
There was a problem hiding this comment.
WARNING: Outdated "pre-cutover" wording in E2d completion ledger
The E2d row states "pre-cutover" and "Apex buzz. cutover + owner desktop-key swap remain (owner-gated)". However, the owner decision 2026-07-30 made buzz-prod.intentsolutions.io the PERMANENT production URL with no apex cutover planned. This wording is obsolete and should be updated to reflect the permanent production state.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
Code Review SummaryStatus: 13 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
Files Reviewed (3 files)
Fix these issues in Kilo Cloud Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 478.1K · Output: 37.9K · Cached: 4.1M |
What
Extends the Buzz adoption master blueprint (
001-PP-PLAN) with the four workstreams opened this session, hand-rolled as a dependency-ordered bead tree so the work proceeds systematically.Why
The blueprint's E1–E9 predated the community channel architecture, the AI-Wire feed engine, the operational-expertise (reference/skill/agents) work, and the sys-notification consolidation. Scattered execution was the failure mode; a dependency-ordered backlog fixes it.
Ledger changes
goose minimax3) is LIVE on prod (decision-log/039, PR Update dependency @tanstack/react-router to v1.168.13 block/buzz#301), not "not started".buzz-ehv) — build DONE.buzz-yfe) — COMPLETE.buzz-w92) — posting primitive done, pipeline next.sys-*(buzz-0ts) — Track B, not started.Beads (deps wired)
buzz-ehv(2),buzz-yfe(7, CLOSED),buzz-w92(8),buzz-0ts(4). Cross-epic deps: the AI-Wire pipeline waits on the feed-curator agent; sys-notifications reuse the posting primitive.bd readynow surfacesbuzz-w92.2as the next unblocked build.Verification
Both source-cited references written (100% citation-consistent with the fork);
buzz-opsskill PASS/validate-skillmd; 3 operator agents PASS/validate-agent; posting primitive live (AI Wire bot posted first cards). Estate-private detail (host/secrets/runbook) stays in the intent-osops/buzz/lane, not here.intentsolutions.io
Summary by CodeRabbit
Documentation
Chores