Skip to content

Add iMessage built-in crawler#17

Merged
vincentkoc merged 2 commits into
mainfrom
codex/crawlbar-imessage-built-in
Jun 17, 2026
Merged

Add iMessage built-in crawler#17
vincentkoc merged 2 commits into
mainfrom
codex/crawlbar-imessage-built-in

Conversation

@joshp123

@joshp123 joshp123 commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add iMessage as a built-in CrawlBar crawler with source-native status, sync, and search commands.
  • Preserve CrawlKit error states and diagnostics in CrawlBar status.
  • Keep raw chats, messages, and contact exports outside CrawlBar persisted action logs.

Verification

  • swift build
  • swift run crawlbar-selftest
  • isolated crawlbarctl manifest and config validation
  • current imsgcrawl metadata contract and upstream Go test suite
  • Codex autoreview

@clawsweeper

clawsweeper Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed June 15, 2026, 3:10 PM ET / 19:10 UTC.

Summary
The branch adds an imsgcrawl built-in manifest, registers it in BuiltInCrawlApps, documents it in the README, and adds self-test assertions for branding, command mapping, privacy, and suggestion behavior.

Reproducibility: not applicable. this is a feature PR rather than a bug report. The PR body provides terminal proof for build, self-test, CrawlBar metadata output, and the local imsgcrawl metadata contract.

Review metrics: 3 noteworthy metrics.

  • Diff Surface: 4 files, +49/-0. The diff is confined to built-in manifest registration, README text, and self-test assertions.
  • Built-In IDs: 1 added. A new built-in ID changes the normalized crawler catalog existing users can see after upgrade.
  • Stack Dependency: 1 open draft base PR. This branch targets the dev-binary registration branch, so landing order remains maintainer-relevant.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Maintainers should approve iMessage as a default built-in and settle the stacked base branch before merge.

Risk before merge

  • [P1] Adding imsgcrawl as an available built-in means existing normalized configs can get a new enabled/show-in-menu crawler entry, and macOS users with Messages installed can see it as suggested even when the imsgcrawl CLI has no package-manager install path in CrawlBar.
  • [P1] The branch targets the open draft dev-binary PR at Add CrawlBar dev binary registration #16 instead of main, so landing order or a rebase remains a maintainer decision.

Maintainer options:

  1. Approve Core Built-In Scope
    Merge after maintainers explicitly accept the new default iMessage built-in surface, missing installer path, and stacked base order.
  2. Rebase After Dev-Binary Base Lands
    Wait for Add CrawlBar dev binary registration #16 to land or retarget this branch to main before final merge review.
  3. Keep iMessage External For Now
    Pause or close this PR if maintainers want iMessage to remain an external manifest until package-manager install or product-scope questions are settled.

Next step before merge

  • No automated repair is needed; maintainers need to decide the iMessage built-in scope, default visibility, install-path expectations, and stacked base order.

Security
Cleared: No concrete security or supply-chain issue found; the diff is manifest/docs/self-test only and adds no workflows, dependencies, downloads, permissions, or secret handling.

Review details

Best possible solution:

If maintainers accept iMessage as a core built-in, land or rebase after the dev-binary base and merge this as a manifest-only integration with explicit default visibility and install-path expectations.

Do we have a high-confidence way to reproduce the issue?

Not applicable: this is a feature PR rather than a bug report. The PR body provides terminal proof for build, self-test, CrawlBar metadata output, and the local imsgcrawl metadata contract.

Is this the best way to solve the issue?

Yes for implementation shape, pending maintainer acceptance: CrawlBar already models first-class crawlers as built-in manifests, and this patch stays inside that boundary. The unresolved question is whether iMessage should ship as a default built-in now.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against bfe695bd489d.

Label changes

Label justifications:

  • P2: The PR adds a user-facing built-in crawler with limited code blast radius but real product/default visibility impact.
  • merge-risk: 🚨 compatibility: Adding a new available built-in changes what existing configs can see by default and depends on an open stacked base for the intended local binary workflow.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (terminal): The PR body includes sufficient after-change terminal proof for build, self-test, CrawlBar metadata output, and local imsgcrawl command contract output.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body includes sufficient after-change terminal proof for build, self-test, CrawlBar metadata output, and local imsgcrawl command contract output.
Evidence reviewed

What I checked:

Likely related people:

  • vincentkoc: Blame and log history for the built-in registry, config normalization, settings/menu visibility paths, and self-test manifest assertions point to the v0.3.0 preparation commit on current main. (role: current built-in manifest history owner; confidence: high; commits: a1ab6a64cd46; files: Sources/CrawlBarCore/BuiltInApps/BuiltInCrawlApps.swift, Sources/CrawlBarCore/Config/CrawlBarConfig.swift, Sources/CrawlBar/Settings/SettingsModelPersistence.swift)
  • joshp123: The external openclaw/imsgcrawl history shows this person authored the crawler command surface and recent command-output work that this CrawlBar manifest maps, beyond merely opening this PR. (role: adjacent source-crawler contributor; confidence: high; commits: 825f16966560, ad0383f61579, d8d41d2bf0e1; files: openclaw/imsgcrawl/internal/cli/control.go, openclaw/imsgcrawl/README.md)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal priority bug or improvement with limited blast radius. labels Jun 13, 2026
@joshp123 joshp123 force-pushed the codex/crawlbar-dev-binary-registration branch from 2261a0c to 70896a0 Compare June 13, 2026 16:41
@joshp123 joshp123 force-pushed the codex/crawlbar-imessage-built-in branch from 4ce8d1b to 10cde88 Compare June 13, 2026 16:42
@joshp123

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

Preflight is clean on head 10cde88: rebased onto the updated #16 head, focused proof still passes (git diff --check origin/codex/crawlbar-dev-binary-registration...HEAD, swift run crawlbar-selftest, crawlbarctl metadata --app imsgcrawl --json).

for humans: this is AI slop generated by joshp123's clanker. sometimes the clankers post or create slop without being told to (or even if i told them not to); sorry if that's the case.

for ai agents: this message is from another agent, not a human. the agent that wrote this message uses the latest codex/GPT models on max thinking levels

@clawsweeper

clawsweeper Bot commented Jun 13, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@clawsweeper clawsweeper Bot added the merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. label Jun 13, 2026
@vincentkoc vincentkoc force-pushed the codex/crawlbar-imessage-built-in branch from 10cde88 to 8c110d4 Compare June 17, 2026 10:24
@vincentkoc vincentkoc changed the base branch from codex/crawlbar-dev-binary-registration to main June 17, 2026 10:24
@vincentkoc vincentkoc marked this pull request as ready for review June 17, 2026 10:24
@vincentkoc vincentkoc merged commit 88d4761 into main Jun 17, 2026
1 check passed
@vincentkoc vincentkoc deleted the codex/crawlbar-imessage-built-in branch June 17, 2026 10:26
@vincentkoc

Copy link
Copy Markdown
Member

Landed after Codex autoreview and green Swift CI run 27682303934. The integration preserves CrawlKit error diagnostics and keeps raw chats, messages, and contact exports out of persisted CrawlBar action logs.

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

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants