Skip to content

Fix reports schedule discoverability and default date window#344

Merged
jeremy merged 3 commits intomainfrom
improve-schedule-discoverability
Mar 18, 2026
Merged

Fix reports schedule discoverability and default date window#344
jeremy merged 3 commits intomainfrom
improve-schedule-discoverability

Conversation

@robzolkos
Copy link
Copy Markdown
Collaborator

@robzolkos robzolkos commented Mar 18, 2026

Summary

  • QA found that agents couldn't discover basecamp reports schedule when users asked about upcoming events, instead falling back to raw API calls that returned events the user wasn't even on
  • Added cross-reference in basecamp schedule --help pointing to reports schedule for cross-project views
  • Added reports schedule to skill triggers (my schedule, upcoming events), agent invariants, quick reference table, and finding content decision tree
  • Fixed basecamp reports schedule returning 400 Bad Request when called without --start/--end flags — the API requires at least a start date, now defaults to today

Reference: https://3.basecamp.com/2914079/buckets/46292715/card_tables/cards/9693407756

…ule queries

Agents were unable to find `basecamp reports schedule` when users asked
about upcoming events, falling back to raw API calls that returned wrong
results. Add cross-references in the schedule command help text and skill
documentation so agents route "my schedule" queries to the correct command.
Copilot AI review requested due to automatic review settings March 18, 2026 17:18
@robzolkos robzolkos requested a review from a team as a code owner March 18, 2026 17:18
@github-actions github-actions bot added commands CLI command implementations skills Agent skills enhancement New feature or request labels Mar 18, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

This PR improves agent/CLI discoverability for cross-project schedule queries by steering users toward basecamp reports schedule when they ask about “my schedule” / “upcoming events”, and by adding a cross-reference from basecamp schedule --help.

Changes:

  • Add new Basecamp skill triggers and decision-tree guidance for “my schedule” / “upcoming events” that route to basecamp reports schedule.
  • Update the skill quick reference and schedule section to mention basecamp reports schedule for cross-project upcoming events.
  • Update basecamp schedule command long help to point to basecamp reports schedule for cross-project viewing.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
skills/basecamp/SKILL.md Adds triggers + multiple documentation cross-references to reports schedule for cross-project upcoming schedule queries.
internal/commands/schedule.go Adds a help-text hint directing users to basecamp reports schedule for cross-project schedule.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

@robzolkos robzolkos changed the title Improve discoverability of reports schedule for cross-project schedule queries Fix reports schedule discoverability and default date window Mar 18, 2026
@github-actions github-actions bot added bug Something isn't working and removed enhancement New feature or request labels Mar 18, 2026
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="internal/commands/reports.go">

<violation number="1" location="internal/commands/reports.go:279">
P2: When only `--start` is supplied with a future date, `endDate` defaults to `"+14"` relative to today, which can produce an end-before-start range (API error or empty results). Apply both defaults only when neither flag is set, or compute the end date relative to the parsed start.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

The Basecamp API requires a date window for the upcoming schedule endpoint.
When --start/--end were omitted, nil params caused a 400 Bad Request.
Default to today..+14 days.
@robzolkos robzolkos force-pushed the improve-schedule-discoverability branch from 9091359 to 93b7ec1 Compare March 18, 2026 17:32
Copilot AI review requested due to automatic review settings March 18, 2026 17:32
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

Improves discoverability of the cross-project schedule view (basecamp reports schedule) and aims to make the command safer to run without explicit date flags by introducing defaults.

Changes:

  • Added new skill triggers and routing guidance for “my schedule” / “upcoming events” to point to basecamp reports schedule.
  • Added a cross-reference in basecamp schedule --help directing users to basecamp reports schedule for cross-project schedule views.
  • Began implementing default date handling for reports schedule when --start is omitted.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
skills/basecamp/SKILL.md Adds discoverability via triggers, quick reference, decision tree, and schedule section cross-reference.
internal/commands/schedule.go Updates help text to reference the cross-project schedule report command.
internal/commands/reports.go Adjusts reports schedule help text and introduces defaulting --start to today.
Comments suppressed due to low confidence (1)

internal/commands/reports.go:283

  • reports schedule is described (and in the PR description) as defaulting to a date window (today..+14), but the implementation only defaults startDate to today and still passes an empty endDate through to UpcomingSchedule. If the API requires both bounds (or if we want predictable output), default endDate too (e.g., parsedStart + 14 days when --end is omitted) and update the help text accordingly.
By default starts from today. Use --start and --end to specify a different range.
Dates can be natural language (e.g., "today", "next week", "+7") or YYYY-MM-DD format.`,
		RunE: func(cmd *cobra.Command, args []string) error {
			app := appctx.FromContext(cmd.Context())

			if err := ensureAccount(cmd, app); err != nil {
				return err
			}

			// Parse dates if provided (dateparse handles natural language like "today", "+7")
			// Unrecognized formats are normalized (trimmed/lowercased) and passed through for the API to validate
			// Default start to today when omitted (API requires at least a start date)
			if startDate == "" {
				startDate = "today"
			}
			parsedStart := dateparse.Parse(startDate)
			parsedEnd := dateparse.Parse(endDate)

			result, err := app.Account().Reports().UpcomingSchedule(cmd.Context(), parsedStart, parsedEnd)
			if err != nil {

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

`schedule` is a bare group command — the actual subcommand is `schedule info`.
@github-actions github-actions bot added the breaking Breaking change label Mar 18, 2026
@github-actions
Copy link
Copy Markdown

⚠️ Potential breaking changes detected:

  • The basecamp schedule command behavior changed; basecamp schedule info should now be used to view the project schedule. This is a breaking change as it removes or renames an existing command.

Review carefully before merging. Consider a major version bump.

@robzolkos
Copy link
Copy Markdown
Collaborator Author

⚠️ Potential breaking changes detected:

  • The basecamp schedule command behavior changed; basecamp schedule info should now be used to view the project schedule. This is a breaking change as it removes or renames an existing command.

Review carefully before merging. Consider a major version bump.

The help text previously said "Use 'basecamp schedule' to view the project schedule" which was misleading — it always required schedule info. No commands were added, removed, or renamed.

@robzolkos robzolkos requested a review from jeremy March 18, 2026 17:47
@jeremy jeremy merged commit 6a88fe0 into main Mar 18, 2026
26 checks passed
@jeremy jeremy deleted the improve-schedule-discoverability branch March 18, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change bug Something isn't working commands CLI command implementations skills Agent skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants