Skip to content

feat(settings): add Dev Workflow config panel#2703

Merged
graycyrus merged 18 commits into
tinyhumansai:mainfrom
graycyrus:feat/dev-workflow-panel
May 27, 2026
Merged

feat(settings): add Dev Workflow config panel#2703
graycyrus merged 18 commits into
tinyhumansai:mainfrom
graycyrus:feat/dev-workflow-panel

Conversation

@graycyrus
Copy link
Copy Markdown
Contributor

@graycyrus graycyrus commented May 26, 2026

Summary

  • Adds a new Dev Workflow settings panel at Settings > Advanced > Dev Workflow
  • Users can configure an autonomous developer agent that picks GitHub issues assigned to them and raises PRs on a schedule
  • Panel pre-checks GitHub connection via Composio, fetches repos via composio_execute, auto-detects forks, and lists branches for PR target selection
  • Fixes outdated Composio GitHub tool slugs across the curated catalog (5 renamed, 3 removed)
  • Config saved to localStorage for now (Phase 2 will wire to skills_run RPC from feat(codegraph,skills): code-retrieval engine + agent tools + skill registry & skills_run (D1–D3) [draft] #2707)

Test plan

  • Navigate to Settings > Advanced > Dev Workflow
  • Verify panel loads with proper title, description, and breadcrumbs
  • Verify GitHub connection check runs on mount
  • Verify repo dropdown populates when GitHub is connected via Composio
  • Verify fork detection auto-shows upstream info on repo selection
  • Verify branch dropdown populates from upstream
  • Verify schedule presets render correctly
  • Verify save/remove config works
  • pnpm typecheck passes
  • pnpm lint passes (0 errors)

Summary by CodeRabbit

  • New Features

    • New "Dev Workflow" settings panel added under Developer Options (accessible at /settings/dev-workflow). Configure automated GitHub workflows: select repository, detect fork/upstream, choose target branch, pick preset run schedules, and save/update/remove persistent configurations. Active Configuration summary displays schedule and status.
  • Localization

    • Dev Workflow UI strings added across multiple language packs.
  • Documentation

    • Added Dev Workflow plan outlining phases, cron integration roadmap, and rollout notes.

Review Change Stack

graycyrus added 4 commits May 26, 2026 21:33
Add ComposioGithubRepo and ComposioGithubReposResponse types to the
Composio types module, and a listGithubRepos() wrapper in composioApi.ts
that calls the dedicated openhuman.composio_list_github_repos RPC.

This provides a typed frontend API for listing GitHub repositories
through the user's Composio connection, used by the Dev Workflow panel.
Add devWorkflow.title, devWorkflow.desc, and devWorkflow.panelDesc
keys to the English locale (en.ts and en-5 chunk) for the new
Dev Workflow settings panel under Developer Options.
New settings panel at Settings > Advanced > Dev Workflow that lets users
configure an autonomous developer agent to pick GitHub issues and raise
PRs on a schedule.

The panel:
- Pre-checks GitHub connection status via listConnections()
- Fetches repos via the dedicated composio_list_github_repos RPC
- Auto-detects forks and shows upstream repo info
- Fetches branches from upstream for PR target selection
- Offers schedule presets (30min, 1hr, 2hr, 6hr, daily)
- Saves config to localStorage (Phase 2 will wire to cron_add RPC)

Note: The backend endpoint GET /agent-integrations/composio/github/repos
is not yet deployed on staging (tinyhumansai/backend#842). The panel
shows a clear error message until the backend is updated.
- Add 'dev-workflow' to SettingsRoute type union and path matching
- Add breadcrumb under Developer Options section
- Register /settings/dev-workflow route in Settings.tsx
- Add nav menu item with code icon in DeveloperOptionsPanel
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new "dev-workflow" settings panel with Composio GitHub integration (repo/branch selection, schedule presets, localStorage persistence), wires navigation/menu/i18n for /settings/dev-workflow, and updates the GitHub memory-sync provider and curated tool slugs to use updated Composio action names.

Changes

Dev Workflow Configuration Panel

Layer / File(s) Summary
Composio GitHub API types and wrapper
app/src/lib/composio/types.ts, app/src/lib/composio/composioApi.ts
ComposioGithubRepo and ComposioGithubReposResponse types added; listGithubRepos(connectionId?) RPC wrapper returns the unwrapped repos envelope.
Settings navigation for dev-workflow route
app/src/components/settings/hooks/useSettingsNavigation.ts
SettingsRoute includes 'dev-workflow'; getCurrentRoute() maps /settings/dev-workflow; breadcrumbs switch includes dev-workflow.
Developer menu integration
app/src/components/settings/panels/DeveloperOptionsPanel.tsx
Added dev-workflow menu item to developerItems with localized title/description keys and an icon.
DevWorkflowPanel component implementation
app/src/components/settings/panels/DevWorkflowPanel.tsx
New React component: types, localStorage helpers, state hydration, repo listing via Composio, fork detection, branch fetching/parsing with fallbacks, schedule presets, save/remove persistence, and full UI rendering.
Settings page route registration
app/src/pages/Settings.tsx
Imports DevWorkflowPanel and registers route path="dev-workflow" inside the settings layout wrapper.
i18n entries for dev-workflow
app/src/lib/i18n/chunks/*, app/src/lib/i18n/en.ts
Adds settings.developerMenu.devWorkflow.title, desc, and panelDesc keys and settings.devWorkflow.* strings across English and locale chunks.

GitHub Provider Composio Action Updates

Layer / File(s) Summary
Provider constants and documentation
src/openhuman/memory_sync/composio/providers/github/provider.rs, src/openhuman/memory_sync/composio/providers/github/sync.rs
Provider action constant updated to GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS; doc comments and error messages reference GITHUB_GET_THE_AUTHENTICATED_USER.
GitHub provider unit tests
src/openhuman/memory_sync/composio/providers/github/tests.rs
Curated-tools test updated to expect GITHUB_GET_THE_AUTHENTICATED_USER and GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS.
Curated GitHub tool catalog updates
src/openhuman/memory_sync/composio/providers/github/tools.rs
Tool slug names updated to match current action identifiers; several deprecated tools removed with comments indicating alternatives.

Sequence Diagram

sequenceDiagram
  participant UI as DevWorkflowPanel
  participant ComposioApi as ComposioApi.listGithubRepos
  participant RepoActions as Composio GITHUB_* actions
  participant Storage as localStorage

  UI->>Storage: load saved config
  UI->>ComposioApi: listGithubRepos(connectionId?)
  ComposioApi-->>UI: repositories
  UI->>RepoActions: GITHUB_GET_A_REPOSITORY (fork check)
  RepoActions-->>UI: repo metadata
  UI->>RepoActions: GITHUB_LIST_BRANCHES
  RepoActions-->>UI: branches
  UI->>Storage: save DevWorkflowConfig
  Storage-->>UI: saved
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • senamakel

Poem

🐰 I hopped through settings, found a shiny new tray,
Picked a repo, chose a branch to play,
Cron hums on schedule, configs tucked away,
Saved to storage, ready for the day,
A little rabbit cheers — hooray, hooray!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat(settings): add Dev Workflow config panel' clearly and concisely describes the main change: adding a new Dev Workflow configuration panel to the settings interface.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

graycyrus added 6 commits May 27, 2026 15:46
Replace the dedicated listGithubRepos RPC (which 404s on staging) with
a direct composio_execute call using the correct Composio tool slug
GITHUB_LIST_REPOSITORIES_FOR_AUTHENTICATED_USER.

Both paths currently fail because the staging backend's Composio
integration doesn't have this tool enabled (tinyhumansai/backend#842).
The panel shows a clear error message referencing the backend issue.
Composio renamed several GitHub tool slugs. Update the curated catalog
and all references:

- GITHUB_GET_AUTHENTICATED_USER → GITHUB_GET_THE_AUTHENTICATED_USER
- GITHUB_LIST_REPOSITORIES_FOR_AUTHENTICATED_USER → GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER
- GITHUB_SEARCH_ISSUES → GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS
- GITHUB_CREATE_A_REPOSITORY_FOR_AUTHENTICATED_USER → GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER
- GITHUB_CANCEL_WORKFLOW_RUN → GITHUB_CANCEL_A_WORKFLOW_RUN

Removed tools no longer in Composio catalog:
- GITHUB_COMMIT_MULTIPLE_FILES (removed)
- GITHUB_CLOSE_AN_ISSUE (use GITHUB_UPDATE_AN_ISSUE with state=closed)
- GITHUB_DELETE_A_BRANCH (use GITHUB_DELETE_A_REFERENCE)
Update the panel to use GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER
(the current Composio slug) instead of the old slug that was returning
ToolNotFound.
Remove the temporary DEBUG button and composioListTools import that
were used to discover the correct Composio GitHub tool slugs.
Also fix branch listing to handle Composio's nested data wrappers
and always show a fallback when branches can't be parsed.
When GITHUB_LIST_BRANCHES returns unparseable data, deduplicate the
fallback branch list (defaultBranch was duplicating 'main') and log
the raw response data to help debug the Composio response shape.
Composio wraps GitHub LIST_BRANCHES response as { data: { details: [...] } }
not { data: [...] } or { branches: [...] }. Update the parser to probe
the 'details' key first. Also remove debug console.logs.
@graycyrus graycyrus marked this pull request as ready for review May 27, 2026 14:17
@graycyrus graycyrus requested a review from a team May 27, 2026 14:17
@coderabbitai coderabbitai Bot added feature Net-new user-facing capability or product behavior. working A PR that is being worked on by the team. labels May 27, 2026
- Add devWorkflow.title, devWorkflow.desc, devWorkflow.panelDesc keys
  to all 12 non-English locale chunk files (ar, bn, de, es, fr, hi,
  id, it, ko, pt, ru, zh-CN) with English placeholder values
- Run Prettier on DevWorkflowPanel.tsx, composioApi.ts, Settings.tsx
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (2)
src/openhuman/memory_sync/composio/providers/github/provider.rs (1)

34-35: ⚖️ Poor tradeoff

Consider renaming constants to better reflect their values.

The constant names are abbreviated and don't fully match the action identifiers they represent:

  • ACTION_GET_AUTHENTICATED_USER"GITHUB_GET_THE_AUTHENTICATED_USER" (missing "THE")
  • ACTION_SEARCH_ISSUES"GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS" (missing "AND_PULL_REQUESTS")

While functional, this naming could confuse maintainers who expect the constant name to match the action identifier more closely.

♻️ Suggested rename for clarity
-pub(crate) const ACTION_GET_AUTHENTICATED_USER: &str = "GITHUB_GET_THE_AUTHENTICATED_USER";
-pub(crate) const ACTION_SEARCH_ISSUES: &str = "GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS";
+pub(crate) const ACTION_GET_THE_AUTHENTICATED_USER: &str = "GITHUB_GET_THE_AUTHENTICATED_USER";
+pub(crate) const ACTION_SEARCH_ISSUES_AND_PULL_REQUESTS: &str = "GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS";

Note: This would require updating all usages of these constants throughout the file.

🤖 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 `@src/openhuman/memory_sync/composio/providers/github/provider.rs` around lines
34 - 35, The constant names ACTION_GET_AUTHENTICATED_USER and
ACTION_SEARCH_ISSUES do not exactly match their action identifier strings;
rename them to exactly reflect the identifiers (e.g.,
ACTION_GET_THE_AUTHENTICATED_USER -> "GITHUB_GET_THE_AUTHENTICATED_USER" and
ACTION_SEARCH_ISSUES_AND_PULL_REQUESTS ->
"GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS") and update every usage in this module
(and any imports) to use the new constant names (search for
ACTION_GET_AUTHENTICATED_USER and ACTION_SEARCH_ISSUES to locate all references
such as in provider.rs functions and match arms) so names and values are
consistent.
src/openhuman/memory_sync/composio/providers/github/tools.rs (1)

106-106: ⚡ Quick win

Add migration guidance for removed GITHUB_COMMIT_MULTIPLE_FILES action.

The comment notes this action was removed from Composio's catalog but doesn't provide an alternative, unlike the other removed actions (lines 120 and 166). If agents previously used this action, they need clear guidance on the replacement workflow.

📝 Suggested comment improvement
-    // GITHUB_COMMIT_MULTIPLE_FILES removed from Composio catalog
+    // GITHUB_COMMIT_MULTIPLE_FILES removed from Composio catalog — use multiple GITHUB_CREATE_A_COMMIT calls or GITHUB_CREATE_OR_UPDATE_FILE_CONTENTS
🤖 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 `@src/openhuman/memory_sync/composio/providers/github/tools.rs` at line 106,
Add migration guidance explaining that the GITHUB_COMMIT_MULTIPLE_FILES action
was removed and should be replaced by a branch+per-file commit workflow:
instruct agents to create a branch, commit each file individually using the
existing single-file commit action(s) (e.g., the provider's commit/put-file
action), and then open a PR or merge the branch (describe using the repository's
"create branch", "commit file", and "open PR" actions in sequence). Reference
the removed symbol GITHUB_COMMIT_MULTIPLE_FILES in the comment and show the
explicit replacement sequence (create branch → commit files one-by-one → open
PR/merge) so callers know how to migrate existing usages; mirror the style used
for the other removed actions' comments.
🤖 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 `@app/src/components/settings/panels/DevWorkflowPanel.tsx`:
- Around line 105-114: The effect synchronously sets multiple states on mount;
replace this pattern by reading loadSavedConfig once and using lazy useState
initializers (or a single initializer that returns an object) so state is
populated during initial render instead of inside useEffect: call
loadSavedConfig in lazy initializers for savedConfig, selectedRepo, forkInfo,
targetBranch and schedule (or compute a single initial object and derive each
piece) and remove the synchronous
setSavedConfig/setSelectedRepo/setForkInfo/setTargetBranch/setSchedule calls
from the useEffect; keep loadSavedConfig, useEffect, and all setter names
(setSavedConfig, setSelectedRepo, setForkInfo, setTargetBranch, setSchedule) to
locate and update the code.
- Around line 58-74: The code is directly reading/writing localStorage in
loadSavedConfig, saveConfig, and clearConfig for DevWorkflowConfig; replace this
ad-hoc persistence with a Redux Toolkit slice under app/src/store that holds the
DevWorkflowConfig state, wire it up to redux-persist so the slice is persisted,
and update all call sites to use the new slice's actions/selectors (e.g.,
dispatch save/update actions instead of calling saveConfig, use selector instead
of loadSavedConfig, and dispatch a clear/reset action instead of clearConfig);
remove localStorage usage from DevWorkflowPanel.tsx and any other occurrences
(including the other block noted) once the slice is used.
- Around line 49-54: DevWorkflowPanel renders hard-coded user-visible strings
(cron option labels and other UI text) instead of using translations; update the
component to call useT() and replace all literal labels/options (the schedule
options array shown, any button text, helper copy and status text within
DevWorkflowPanel) with t('devWorkflow.<key>') keys, then add those corresponding
keys and English values to the i18n entries in en.ts; ensure you use the
existing useT() hook (call t = useT()) and replace every literal in the
component (including the ranges noted around 355-516) so no user-facing string
remains hard-coded.

In `@app/src/lib/composio/composioApi.ts`:
- Around line 193-208: Run Prettier on the updated TypeScript sources (including
this file) to fix the formatting CI failure; specifically format the file
containing listGithubRepos (which calls callCoreRpc and returns
unwrapCliEnvelope) so the code matches the project's Prettier rules (e.g., run
prettier --write "**/*.{ts,tsx,js,jsx}" or your project's formatter script) and
re-run the build/CI.

In `@app/src/lib/i18n/en.ts`:
- Around line 2972-2976: The new i18n keys
'settings.developerMenu.devWorkflow.title',
'settings.developerMenu.devWorkflow.desc', and
'settings.developerMenu.devWorkflow.panelDesc' were added in en.ts (and en-5
chunk) but are missing from the non-English chunk 5 files; open each locale
chunk file (ar-5.ts, bn-5.ts, de-5.ts, es-5.ts, fr-5.ts, hi-5.ts, id-5.ts,
it-5.ts, ko-5.ts, pt-5.ts, ru-5.ts, zh-CN-5.ts) and add those three keys with
the English strings as placeholders so each chunk contains the exact keys and
values present in en.ts.

---

Nitpick comments:
In `@src/openhuman/memory_sync/composio/providers/github/provider.rs`:
- Around line 34-35: The constant names ACTION_GET_AUTHENTICATED_USER and
ACTION_SEARCH_ISSUES do not exactly match their action identifier strings;
rename them to exactly reflect the identifiers (e.g.,
ACTION_GET_THE_AUTHENTICATED_USER -> "GITHUB_GET_THE_AUTHENTICATED_USER" and
ACTION_SEARCH_ISSUES_AND_PULL_REQUESTS ->
"GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS") and update every usage in this module
(and any imports) to use the new constant names (search for
ACTION_GET_AUTHENTICATED_USER and ACTION_SEARCH_ISSUES to locate all references
such as in provider.rs functions and match arms) so names and values are
consistent.

In `@src/openhuman/memory_sync/composio/providers/github/tools.rs`:
- Line 106: Add migration guidance explaining that the
GITHUB_COMMIT_MULTIPLE_FILES action was removed and should be replaced by a
branch+per-file commit workflow: instruct agents to create a branch, commit each
file individually using the existing single-file commit action(s) (e.g., the
provider's commit/put-file action), and then open a PR or merge the branch
(describe using the repository's "create branch", "commit file", and "open PR"
actions in sequence). Reference the removed symbol GITHUB_COMMIT_MULTIPLE_FILES
in the comment and show the explicit replacement sequence (create branch →
commit files one-by-one → open PR/merge) so callers know how to migrate existing
usages; mirror the style used for the other removed actions' comments.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9c4068b7-a381-49cc-819e-c600f2ce9c87

📥 Commits

Reviewing files that changed from the base of the PR and between 87f8ef4 and 5ed8cb3.

📒 Files selected for processing (12)
  • app/src/components/settings/hooks/useSettingsNavigation.ts
  • app/src/components/settings/panels/DevWorkflowPanel.tsx
  • app/src/components/settings/panels/DeveloperOptionsPanel.tsx
  • app/src/lib/composio/composioApi.ts
  • app/src/lib/composio/types.ts
  • app/src/lib/i18n/chunks/en-5.ts
  • app/src/lib/i18n/en.ts
  • app/src/pages/Settings.tsx
  • src/openhuman/memory_sync/composio/providers/github/provider.rs
  • src/openhuman/memory_sync/composio/providers/github/sync.rs
  • src/openhuman/memory_sync/composio/providers/github/tests.rs
  • src/openhuman/memory_sync/composio/providers/github/tools.rs

Comment thread app/src/components/settings/panels/DevWorkflowPanel.tsx Outdated
Comment thread app/src/components/settings/panels/DevWorkflowPanel.tsx
Comment thread app/src/components/settings/panels/DevWorkflowPanel.tsx Outdated
Comment thread app/src/lib/composio/composioApi.ts
Comment thread app/src/lib/i18n/en.ts
@coderabbitai coderabbitai Bot added the rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure. label May 27, 2026
… init

Address CodeRabbit review findings:

1. Replace all hardcoded English strings with t() i18n calls under
   settings.devWorkflow.* namespace (37 new keys). Schedule presets
   use labelKey resolved at render time.

2. Replace synchronous setState in useEffect with lazy useState
   initializers from loadSavedConfig() — removes the mount-only
   effect and avoids the react-hooks/set-state-in-effect violation.

Keys added to en.ts, en-5.ts, and all 12 non-English chunk files.
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 27, 2026
Copy link
Copy Markdown
Contributor Author

@graycyrus graycyrus left a comment

Choose a reason for hiding this comment

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

code looks solid overall — the slug renames are clean and the panel is well-structured. holding off on approval until CI is green.

CI status: Rust Core Coverage is failing and E2E (Windows / macOS Appium) is still pending. once those resolve, i'll flip this to approved.

one minor observation not covered by CodeRabbit: listGithubRepos() is exported from composioApi.ts (referencing openhuman.composio_list_github_repos RPC) but DevWorkflowPanel never imports or calls it — the panel does its own inline composioExecute + manual response parsing instead. the structured ComposioGithubRepo/ComposioGithubReposResponse types are also orphaned for now. i assume these are prep scaffolding for #2707 which will wire up the backend endpoint — if so, a brief comment on listGithubRepos noting it's intended for #2707 would make that intent explicit and prevent future devs from wondering why it exists unused.

not a blocker. fix the CI and this is good to go.

graycyrus added 2 commits May 27, 2026 20:42
Merge upstream/main to pick up fix(test): eliminate memory::ops flakes
under cargo-llvm-cov (tinyhumansai#2722/tinyhumansai#2737) which fixes the pre-existing
execute_success_path_persists_rule_in_isolated_workspace test failure.

Also add devWorkflow i18n keys to the new Polish (pl) locale chunk
added upstream.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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 `@docs/dev-workflow-plan.md`:
- Around line 29-30: Add a single blank line between the "### Files
created/modified" heading and the table line "| File | Action |" so the Markdown
has an empty line before the table; update the content around the heading and
the table row to insert that blank line.
- Line 194: The table row with text "Backend repo endpoint" contains a stale
link to https://github.com/tinyhumansai/backend/issues/842; verify the correct
repo/issue and update that URL in docs/dev-workflow-plan.md (the row starting
with "Backend repo endpoint | [backend#842]") to point to the current
repository/issue or remove the link and adjust the table cell text if the issue
was deleted or made private. Ensure the markdown link text (backend#842) matches
the new target or is removed to avoid a broken link.
- Line 172: The fenced code block containing "Phase 1 (Config UI)     ──── ✅
DONE" lacks a language identifier; update that fenced block to include a
language tag such as "text" (i.e., replace ``` with ```text) so the code block
is properly identified for accessibility and tooling.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: df9e0551-b218-4898-a12a-5f55d4e7e095

📥 Commits

Reviewing files that changed from the base of the PR and between 3e3767e and 3fd5404.

📒 Files selected for processing (16)
  • app/src/lib/i18n/chunks/ar-5.ts
  • app/src/lib/i18n/chunks/bn-5.ts
  • app/src/lib/i18n/chunks/de-5.ts
  • app/src/lib/i18n/chunks/en-5.ts
  • app/src/lib/i18n/chunks/es-5.ts
  • app/src/lib/i18n/chunks/fr-5.ts
  • app/src/lib/i18n/chunks/hi-5.ts
  • app/src/lib/i18n/chunks/id-5.ts
  • app/src/lib/i18n/chunks/it-5.ts
  • app/src/lib/i18n/chunks/ko-5.ts
  • app/src/lib/i18n/chunks/pl-5.ts
  • app/src/lib/i18n/chunks/pt-5.ts
  • app/src/lib/i18n/chunks/ru-5.ts
  • app/src/lib/i18n/chunks/zh-CN-5.ts
  • app/src/lib/i18n/en.ts
  • docs/dev-workflow-plan.md
✅ Files skipped from review due to trivial changes (5)
  • app/src/lib/i18n/chunks/ko-5.ts
  • app/src/lib/i18n/chunks/zh-CN-5.ts
  • app/src/lib/i18n/chunks/de-5.ts
  • app/src/lib/i18n/chunks/bn-5.ts
  • app/src/lib/i18n/chunks/id-5.ts
🚧 Files skipped from review as they are similar to previous changes (10)
  • app/src/lib/i18n/chunks/es-5.ts
  • app/src/lib/i18n/chunks/hi-5.ts
  • app/src/lib/i18n/chunks/en-5.ts
  • app/src/lib/i18n/chunks/pl-5.ts
  • app/src/lib/i18n/chunks/it-5.ts
  • app/src/lib/i18n/chunks/ru-5.ts
  • app/src/lib/i18n/en.ts
  • app/src/lib/i18n/chunks/ar-5.ts
  • app/src/lib/i18n/chunks/fr-5.ts
  • app/src/lib/i18n/chunks/pt-5.ts

Comment thread docs/dev-workflow-plan.md
Comment thread docs/dev-workflow-plan.md
Comment thread docs/dev-workflow-plan.md Outdated
graycyrus added 4 commits May 27, 2026 21:02
The link checker can't access tinyhumansai/backend (private), so use
the GitHub shorthand notation instead of a full URL.
9 tests covering the main render paths:
- Header renders, repo dropdown populates on successful fetch
- Not-connected error when no GitHub connection
- Fork detection shows upstream info
- Branch dropdown populates from Composio response (data.details)
- Save stores config to localStorage, Remove clears it
- Branches fetched from upstream coords when fork detected
- Panel handles listConnections rejection gracefully

Covers the changed lines to meet the ≥80% diff-coverage gate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Net-new user-facing capability or product behavior. rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure. working A PR that is being worked on by the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant