Add guided WORKFLOW bootstrap for GitHub Projects - #18
Conversation
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>
Summary of ChangesHello, 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 Highlights
🧠 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
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
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.
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>
Context
Issue #13 needs first-run
WORKFLOW.mdsetup 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.mdfiles.Summary
Alternatives
Test Plan
make -C elixir allcd 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