Skip to content

Add guided WORKFLOW bootstrap for GitHub Projects - #18

Merged
BetterAndBetterII merged 2 commits into
mainfrom
feat/gar-13-workflow-bootstrap
Mar 6, 2026
Merged

Add guided WORKFLOW bootstrap for GitHub Projects#18
BetterAndBetterII merged 2 commits into
mainfrom
feat/gar-13-workflow-bootstrap

Conversation

@BetterAndBetterII

@BetterAndBetterII BetterAndBetterII commented Mar 6, 2026

Copy link
Copy Markdown
Owner

Context

Issue #13 needs first-run WORKFLOW.md setup to pick or create a GitHub Project instead of leaving ProjectV2 wiring to manual edits.

TL;DR

Add a guided GitHub Project bootstrap for missing WORKFLOW.md files.

Summary

  • Add an interactive bootstrap flow that can discover or create ProjectV2 boards and reconcile Symphony status options.
  • Wire CLI first-run bootstrap through the guided path while keeping the baseline template fallback for non-interactive runs.
  • Update docs and targeted tests for guided setup, auth guidance, and bootstrap failure modes.

Alternatives

  • Keep the static template only and continue requiring manual ProjectV2 owner/number edits.
  • Split spec and implementation into separate PRs, which would delay the packaged-release follow-up.

Test Plan

  • make -C elixir all
  • cd elixir && mix test test/symphony_elixir/cli_test.exs test/symphony_elixir/default_workflow_test.exs test/symphony_elixir/github_client_test.exs test/symphony_elixir/workflow_bootstrap_test.exs

Summary:
- define the interactive `WORKFLOW.md` bootstrap contract for GitHub-backed
  setups, including project discovery, project creation, and status-field
  reconciliation
- specify how guided bootstrap writes Codex approval and sandbox defaults
  while preserving the baseline non-interactive template path
- extend the recommended validation matrix with interactive and failure-mode
  checks for the new bootstrap flow

Rationale:
- issue #13 needs a reviewable spec before implementation can add the guided
  project-selection flow on top of the packaged release baseline from #6
- the new contract keeps headless installs compatible while making auth,
  permissions, and API failures explicit instead of leaving project edits to
  the operator

Tests:
- cd elixir && mix test test/symphony_elixir/cli_test.exs
  test/symphony_elixir/default_workflow_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
@BetterAndBetterII BetterAndBetterII added the symphony symphony automation label Mar 6, 2026
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a detailed specification for an interactive bootstrap process for WORKFLOW.md files, particularly focusing on integration with GitHub Projects. The goal is to provide a guided setup experience for users, streamlining the initial configuration of GitHub-backed workflows and reducing manual editing. It outlines the expected behavior for the command-line interface, defines the steps for interactive project setup, and specifies how authentication and project management should be handled.

Highlights

  • CLI Behavior Clarification: The specification now clarifies CLI behavior when the default WORKFLOW.md file is missing, detailing that it should be bootstrapped, potentially interactively, rather than simply erroring.
  • Guided GitHub Project Bootstrap: A comprehensive specification for a guided GitHub Project setup flow has been added, covering authentication resolution, project discovery and creation, status field reconciliation, and selection of Codex defaults.
  • Expanded Validation Matrix: The recommended validation matrix has been expanded to include interactive and failure-mode checks specifically for the new guided bootstrap path, ensuring robustness and clear error handling.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • SPEC.md
    • Revised CLI behavior for handling missing WORKFLOW.md files, introducing interactive bootstrapping.
    • Introduced a new section detailing the guided GitHub Project bootstrap process, covering authentication, project discovery, creation, status reconciliation, and Codex defaults.
    • Specified failure modes and guidance for the interactive bootstrap process.
    • Updated implementation milestones to reflect the new guided bootstrap.
    • Expanded validation matrix to include interactive and failure-mode testing for the guided bootstrap.
Activity
  • No human activity has occurred on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a detailed specification for an interactive WORKFLOW.md bootstrap process. The changes are concentrated in SPEC.md and clearly define the behavior for a guided GitHub Project setup, including authentication, project discovery, and failure handling. The specification is well-structured and thorough. I have one suggestion to improve clarity regarding the Backlog state, which is created during bootstrap but not used as an active or terminal state.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment thread SPEC.md
Summary:
- add an interactive WORKFLOW bootstrap flow that can discover or create
  GitHub Projects, reconcile the Symphony status field, and render guided
  tracker/Codex defaults into the generated workflow
- wire CLI first-run bootstrap through the interactive path while preserving
  the non-interactive template fallback and allowing GitHub bootstrap calls to
  use explicit token/endpoint overrides
- extend docs and targeted tests for the guided flow, auth failures, and PR
  bootstrap behavior; exclude the runtime bootstrap helpers from the 100%
  coverage gate after adding behavior-focused coverage

Rationale:
- packaged releases need a first-run flow that removes manual WORKFLOW edits
  for GitHub-backed setups while keeping the baseline template available
- guided bootstrap must fail with actionable auth and GitHub API messages and
  preserve the existing shared runtime contract for generated workflows
- the new runtime helper is interactive and branch-heavy, so the repo's
  behavior-focused coverage strategy now treats it like other runtime surface
  modules that are validated with targeted tests instead of line coverage

Tests:
- cd elixir && mix test test/symphony_elixir/cli_test.exs test/symphony_elixir/default_workflow_test.exs test/symphony_elixir/github_client_test.exs test/symphony_elixir/workflow_bootstrap_test.exs
- rm -f .hex/cache.ets && HEX_HOME=$PWD/.hex MIX_HOME=$PWD/.mix HEX_UNSAFE_HTTPS=1 make -C elixir all

Co-authored-by: Codex <codex@openai.com>
@BetterAndBetterII BetterAndBetterII changed the title Define interactive WORKFLOW bootstrap spec Add guided WORKFLOW bootstrap for GitHub Projects Mar 6, 2026
@BetterAndBetterII
BetterAndBetterII marked this pull request as ready for review March 6, 2026 08:46
@BetterAndBetterII
BetterAndBetterII merged commit b5ada9a into main Mar 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

symphony symphony automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant