Skip to content

[upstream-sync] block/buzz d8281b9c9..f956e6fe0 (1 commit) — agent development guidance refresh - #43

Merged
adrienlacombe merged 2 commits into
mainfrom
upstream-sync-20260817
Aug 17, 2026
Merged

[upstream-sync] block/buzz d8281b9c9..f956e6fe0 (1 commit) — agent development guidance refresh#43
adrienlacombe merged 2 commits into
mainfrom
upstream-sync-20260817

Conversation

@adrienlacombe

Copy link
Copy Markdown
Owner

Syncs adrienlacombe/buzz with block/buzz.

Range: d8281b9c9..f956e6fe01 commit.

What changed upstream

Documentation only. No code, no workflows, no migrations, no dependency changes.

  • docs: refresh agent development guidance (docs: refresh agent development guidance block/buzz#6049) — rewrites parts of upstream's AGENTS.md and mobile/README.md:
    • Mobile agent policy relaxed. The blanket "NEVER run flutter run, flutter build, flutter clean, or flutter upgrade" rule is replaced with permission to build and run the Flutter app when it materially helps, preferring just mobile-dev, reusing a running simulator, preserving the incremental build cache, and reporting the device/community actually exercised.
    • just mobile-dev re-described — it applies a worktree-isolated debug identity and starts/reuses the Simulator; it does not start Docker or local relay services. Same correction in mobile/README.md.
    • Community-singleton list deleted in favour of pointing at resetCommunityState() as the canonical inventory.
    • messages search --kinds gotcha inverted — the command no longer accepts --kinds and picks its own supported kinds. Raw relay filters still need explicit kinds.
    • Desktop E2E command corrected to pnpm test:e2e:smoke / pnpm test:e2e:integration (these build the E2E bridge first) instead of a bare pnpm exec playwright test.
    • --format compact moved before the subcommand in the Deep Links example; stale worktree-fmt gotcha dropped; just ci description broadened.

Conflicts

One, in AGENTS.md.

Region Resolution
Community-scoped singleton list (## Community Switching) Took upstream's — it deletes the list and points at resetCommunityState() instead.

The fork's side of that hunk was not a fork patch. It was upstream's own list carrying two entries a previous sync kept in step with upstream code (resetLinkPreviewMetadataCache, resetBackgroundMediaUploads). Both are verifiably upstream functions — they exist in upstream/main at desktop/src/features/communities/useCommunityInit.ts, desktop/src/shared/lib/useResolvedLinkPreviews.ts and desktop/src/features/messages/lib/backgroundMediaUploadStore.ts — and the region carries no FORK-LOCAL marker. Nothing fork-specific was lost.

Everything else auto-merged, including the two hunks that land inside fork-customized prose. Both were checked by hand afterwards:

  • Deep Links — the fork's bitcoinmarkets:// paragraph survived intact, and upstream's fix to the code block applied on top. That fix is a real one for this fork: the fork's own note says --format compact is a global flag that goes before the subcommand, while the example directly beneath it still showed the trailing form. The example and the note now agree.
  • Common Gotchas — renumbered 1–6 correctly, with the fork's surrounding content untouched.

Verification

Run on the merge commit. Every command below was executed; no result is assumed.

Gate Result
cargo fmt --all --check ✅ pass
cargo fmt --manifest-path desktop/src-tauri/Cargo.toml --all --check ✅ pass
cargo clippy --workspace --all-targets -- -D warnings ✅ exit 0
cargo clippy --manifest-path desktop/src-tauri/Cargo.toml --all-targets -- -D warnings ✅ exit 0
cargo metadata --locked ✅ pass
scripts/test-release-ref-contract.sh release ref contract passed
scripts/test-mobile-worktree-overrides.sh all mobile worktree identity contract checks passed
just test-unit ✅ exit 0 — 1020 passed, 0 failed, across 7 suites
dart format --set-exit-if-changed . ✅ 411 files, 0 changed
cd mobile && flutter analyze No issues found!
cd mobile && flutter test 1474 passed

The mobile gates were run rather than deferred to CI: Hermit provides Dart 3.11.5 against mobile/pubspec.yaml's sdk: ^3.11.4, so resolution succeeds locally.

Merge-history checks:

  • git cat-file -p HEAD \| grep -c '^parent '2
  • git rev-list --count upstream/main ^HEAD0

Fork-integrity checks:

  • No fork-local patch site from the AGENTS.md table was touched by this range — verified by git diff --numstat across every file in the table, including release.yml, Dockerfile, tauri.conf.json, relay.rs, kind.rs and migration.rs. All zero.
  • No files under migrations/; ls migrations/*.sql | cut -d_ -f1 | sort | uniq -d reports no duplicate versions.
  • No KIND_* constant changed.
  • CLAUDE.md → AGENTS.md symlink intact.

Needs a human look

One item, and it is a policy change rather than a merge risk.

Upstream has relaxed the mobile agent rule this fork's tooling still encodes. The daily-sync task definition at ~/.claude/scheduled-tasks/daily-upstream-sync/SKILL.md tells the agent that "only flutter analyze, flutter test and dart format are agent-safe — never flutter run/build/clean/upgrade, per AGENTS.md." That citation is now stale: AGENTS.md no longer says it. The task file is outside this repo, so this PR cannot fix it — deciding whether to follow upstream's relaxation or keep the stricter local rule is yours. Nothing was changed on either side pending that call.

No wire-format change. No behavioural change. No fork-local patch changed meaning — this sync's entire surface is two documentation files.

Unrelated and unchanged by this PR: the entity-link scheme decision recorded in AGENTS.md is still open, and CodeQL on main still carries the pre-existing rust/hard-coded-cryptographic-value and js/redos families noted in the triage table.


⚠️ Merge with a merge commit, not a squash. A squash drops the second parent, leaves the merge base stale, and forces every later sync to re-resolve from the same point.

wesbillman and others added 2 commits August 16, 2026 08:25
## Summary

- allow agents to build and run Flutter when it provides relevant
implementation or validation evidence
- keep mobile iteration fast by reusing simulators, incremental builds,
and configured staging or production communities
- correct stale CLI, E2E, CI, worktree formatting, and mobile launch
guidance
- point community singleton reset guidance at the canonical
implementation instead of duplicating a drifting inventory

## Validation

- `git diff --check origin/main..HEAD`
- `cargo run -q -p buzz-cli -- --format compact messages thread --help`
- `cargo run -q -p buzz-cli -- --format compact messages search --help`
- `just desktop-tauri-fmt-check` from the worktree
- pre-commit: mobile Dart formatting and `flutter analyze`
- pre-push: branch-skew check and full mobile test suite (1,465 tests)

Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Carl <c7ebe626f000404285d3686e1dc74cc07cc60a9754a150041ba132e14bd3e2ec@buzz.block.builderlab.xyz>
Signed-off-by: adrienlacombe <6303520+adrienlacombe@users.noreply.github.com>

# Conflicts:
#	AGENTS.md
@adrienlacombe
adrienlacombe merged commit ab6130a into main Aug 17, 2026
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants