Skip to content

fix(calendar): parse freebusy date ranges like events#811

Merged
steipete merged 1 commit into
mainfrom
clawsweeper/issue-openclaw-gogcli-806
Jun 15, 2026
Merged

fix(calendar): parse freebusy date ranges like events#811
steipete merged 1 commit into
mainfrom
clawsweeper/issue-openclaw-gogcli-806

Conversation

@clawsweeper

@clawsweeper clawsweeper Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Resolve calendar freebusy --from/--to through the existing calendar time range parser before calling the FreeBusy API.
  • Keep the FreeBusy request payload RFC3339-formatted while accepting RFC3339, date-only, and relative inputs such as today and tomorrow.
  • Regenerate the generated freebusy command docs and add focused payload coverage.

Fixes #806

Release note context

gog calendar freebusy --from/--to now accept the same RFC3339, date-only, and relative date expressions as gog calendar events.

Validation

  • make fmt
  • make docs-commands
  • go test -vet=off ./internal/cmd -run 'TestCalendarFreeBusyCmd_ResolvesCalendarName|TestCalendarFreeBusyCmd_RelativeRangePayload'
  • make test TEST_PKGS=./internal/cmd
  • make ci

ClawSweeper 🐠 replacement reef notes:

  • Cluster: issue-openclaw-gogcli-806
  • Source PRs: none
  • Credit: Issue report and reproduction by @privatenumber in bug(calendar): freebusy rejects relative dates that events accepts #806.; No contributor source PRs were present in the hydrated artifact.; Release-note context for the PR body: gog calendar freebusy --from/--to now accept RFC3339, date-only, and relative expressions such as today and tomorrow, matching gog calendar events.
  • Validation: make fmt; make docs-commands; go test -vet=off ./internal/cmd -run 'TestCalendarFreeBusyCmd_ResolvesCalendarName|TestCalendarFreeBusyCmd_RelativeRangePayload'; make test TEST_PKGS=./internal/cmd; make ci
  • Replacement reason: ClawSweeper could not update the source PR branch directly, so it opened a writable replacement PR instead.

fish notes: reasoning high; reviewed against 1f38cb9.

@clawsweeper clawsweeper Bot added clawsweeper Tracked by ClawSweeper automation clawsweeper:autogenerated PR created automatically by ClawSweeper clawsweeper:automerge ClawSweeper generated this PR and armed bounded exact-head automerge labels Jun 14, 2026
@clawsweeper

clawsweeper Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

Codex review: found issues before merge. Reviewed June 15, 2026, 1:00 AM ET / 05:00 UTC.

Summary
The PR routes calendar freebusy --from/--to through the shared calendar time-range parser for non-RFC3339 inputs, updates generated command docs, and adds focused request-payload tests.

Reproducibility: yes. from source inspection. Current main forwards calendar freebusy --from/--to directly into the FreeBusy request while calendar events resolves the same inputs through the shared range parser.

Review metrics: 2 noteworthy metrics.

  • Changed surface: 7 files, +191/-12. The patch is bounded but spans command code, generated docs, tests, and release metadata.
  • Freebusy payload coverage: 2 focused tests added. The new tests cover the core behavior: preserving explicit RFC3339 payloads and converting relative freebusy ranges.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🌊 off-meta tidepool
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:

  • Remove the CHANGELOG.md hunk or have maintainers explicitly accept it through the landing flow.
  • [P2] Wait for exact-head required checks to settle before merge.

Risk before merge

  • [P1] A collaborator explicitly paused ClawSweeper automation, so landing should stay in maintainer hands until they re-arm or merge manually.
  • [P1] The diff still edits CHANGELOG.md; ClawSweeper/OpenClaw repair review treats that file as release-owned and expects release-note context to remain in the PR body or landing flow.
  • [P1] GitHub's status rollup still showed exact-head test and windows jobs in progress during inspection, so maintainers should wait for required checks to settle before merge.

Maintainer options:

  1. Decide the mitigation before merge
    Land the calendar parser fix after maintainer review, with release-note handling owned by the landing/release process and exact-head checks settled.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P2] A collaborator explicitly stopped ClawSweeper and the PR is labeled for human review, so the remaining action is maintainer handling rather than an automated repair lane.

Security
Cleared: The diff changes calendar command code, generated command docs, tests, and changelog text only; it adds no dependency, workflow, credential, or supply-chain surface.

Review findings

  • [P3] Drop the release-owned changelog hunk — CHANGELOG.md:5-7
Review details

Best possible solution:

Land the calendar parser fix after maintainer review, with release-note handling owned by the landing/release process and exact-head checks settled.

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

Yes from source inspection. Current main forwards calendar freebusy --from/--to directly into the FreeBusy request while calendar events resolves the same inputs through the shared range parser.

Is this the best way to solve the issue?

Yes for the runtime fix: reusing ResolveTimeRange is the narrow maintainable path. The CHANGELOG.md hunk should be removed or handled by the release/landing flow.

Full review comments:

  • [P3] Drop the release-owned changelog hunk — CHANGELOG.md:5-7
    OpenClaw release-note handling is owned by the landing/release flow for repair PRs. This PR already includes release-note context in the body, so remove the CHANGELOG.md hunk and leave the final changelog entry to landing.
    Confidence: 0.86

Overall correctness: patch is correct
Overall confidence: 0.86

AGENTS.md: found and applied where relevant.

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

Label changes

Label justifications:

  • P2: This is a bounded Calendar CLI bug-fix PR with limited blast radius and focused regression coverage.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🌊 off-meta tidepool and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: This is a ClawSweeper-generated repair PR, so the external contributor real behavior proof gate does not apply.
Evidence reviewed

What I checked:

Likely related people:

  • steipete: Git blame attributes the current freebusy raw request bounds and shared calendar range-parser surface to the v0.27.0 release commit, and the PR head commit is also authored by steipete. (role: introduced behavior and recent area contributor; confidence: high; commits: 274a2a61da98, 58ddad367602; files: internal/cmd/calendar_freebusy.go, internal/cmd/calendar_events_cmds.go, internal/cmd/time_helpers.go)
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 rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. labels Jun 14, 2026
@clawsweeper

clawsweeper Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

🦞🔧
ClawSweeper applied a repair to this PR branch.

Repair: kept the fix on this contributor branch instead of opening a replacement PR.
Validation: git diff --check
Updated head: e4bd1970f896
Run: https://github.com/openclaw/clawsweeper/actions/runs/27524706687

Current state: exact-head review queued immediately; GitHub checks and the review verdict gate final merge.

Automerge progress:

  • 2026-06-15 04:41:44 UTC review queued 71cc39da9d25 (after repair)
  • 2026-06-15 04:51:52 UTC review queued e4bd1970f896 (after repair)

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. merge-risk: 🚨 auth-provider 🚨 Merging this PR could break OAuth, tokens, provider routing, model choice, or credentials. labels Jun 14, 2026
Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
@steipete steipete force-pushed the clawsweeper/issue-openclaw-gogcli-806 branch from 24135a6 to 58ddad3 Compare June 15, 2026 04:27
@steipete steipete added clawsweeper:autofix Bounded ClawSweeper-reviewed autofix without merge and removed clawsweeper:automerge ClawSweeper generated this PR and armed bounded exact-head automerge status: 🚀 automerge armed This PR is in ClawSweeper's automerge lane. clawsweeper:autofix Bounded ClawSweeper-reviewed autofix without merge labels Jun 15, 2026
@steipete steipete force-pushed the clawsweeper/issue-openclaw-gogcli-806 branch from 71cc39d to 58ddad3 Compare June 15, 2026 04:42
@clawsweeper clawsweeper Bot added the status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. label Jun 15, 2026
@steipete

Copy link
Copy Markdown
Collaborator

@clawsweeper stop

@clawsweeper

clawsweeper Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

🦞✅
Got it. ClawSweeper will leave this item for human review.

I added clawsweeper:human-review and paused the automation trail until a maintainer asks again.

@steipete steipete force-pushed the clawsweeper/issue-openclaw-gogcli-806 branch from e4bd197 to 58ddad3 Compare June 15, 2026 04:54
@clawsweeper clawsweeper Bot added the clawsweeper:human-review ClawSweeper automerge is paused for maintainer review label Jun 15, 2026
@steipete steipete merged commit 23b847c into main Jun 15, 2026
20 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clawsweeper:autogenerated PR created automatically by ClawSweeper clawsweeper:human-review ClawSweeper automerge is paused for maintainer review clawsweeper Tracked by ClawSweeper automation P2 Normal priority bug or improvement with limited blast radius. 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.

bug(calendar): freebusy rejects relative dates that events accepts

1 participant