Skip to content

Copilot/review feedback report#3

Merged
jaden688 merged 4 commits intomainfrom
copilot/review-feedback-report
Mar 15, 2026
Merged

Copilot/review feedback report#3
jaden688 merged 4 commits intomainfrom
copilot/review-feedback-report

Conversation

@jaden688
Copy link
Copy Markdown
Owner

@jaden688 jaden688 commented Mar 15, 2026

Summary by Sourcery

Document the dual-location headless config design, align logging and path handling utilities, and introduce basic test runner and CI configuration.

Enhancements:

  • Clarify architecture guidance around headless config locations and enforcing backend_controller as the single write path.
  • Replace print-based diagnostics in MPF registry loading with structured logging and improve path basename handling in interpreter postprocessing logic.
  • Configure pytest discovery settings for the project.

CI:

  • Add a GitHub Actions workflow to run the test suite across multiple Python versions on pushes and pull requests.

Copilot AI and others added 3 commits March 15, 2026 10:14
…ot config

Co-authored-by: jaden688 <173667368+jaden688@users.noreply.github.com>
…dual-config docs

Co-authored-by: jaden688 <173667368+jaden688@users.noreply.github.com>
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Mar 15, 2026

Reviewer's Guide

Documents the dual-location headless config design, centralizes config writes through backend_controller, replaces MPF print-based diagnostics with structured logging, tightens interpreter confirmation behavior, adds CI via GitHub Actions with pytest configuration, and extends tests to cover Windows-specific shell behavior.

Sequence diagram for synchronized headless config writes via backend_controller

sequenceDiagram
    actor Operator
    participant DesktopUI
    participant BackendController
    participant EngineConfig as jl_engine_core_data_config_headless
    participant ToolingConfig as config_headless
    participant JLEngineCore
    participant ExternalTool as ToolingConsumer

    Operator->>DesktopUI: Change backend/model/runtime mode
    DesktopUI->>BackendController: Request config update

    BackendController->>EngineConfig: Write updated config (if path exists)
    BackendController->>ToolingConfig: Write updated config (if path exists)

    BackendController-->>DesktopUI: Return success

    JLEngineCore->>EngineConfig: Read config at startup or reload
    ExternalTool->>ToolingConfig: Read config when launching headless
Loading

File-Level Changes

Change Details Files
Document dual-location headless config layout and codify backend_controller as the single writer for runtime config files.
  • Add architecture section describing JLframe_Engine_Framework.headless.json locations, consumers, and sync behavior.
  • Clarify behavior_states.json follows the same dual-location pattern.
  • Update guidance to require all writes go through backend_controller so both config locations stay in sync.
  • Add inline comments in backend_controller defining _HEADLESS_CONFIG_PATHS and explaining write semantics.
ARCHITECTURE.md
src/jl_platform/controllers/backend_controller.py
Replace ad-hoc print statements in the MPF registry loader with structured logging.
  • Introduce a module-level logger in the MPF fullstack module.
  • Convert all print-based diagnostics in load_mpf_registry to logger.warning/error/info calls with parameterized messages.
src/framework/mpf/fullstack.py
Refine interpreter confirmation summary path handling for bridge_local filesystem operations.
  • Use ntpath.basename instead of a regex split to derive a path name for fs_mkdir confirmations, improving Windows path handling.
src/jl_platform/core/interpreter.py
Introduce basic CI via GitHub Actions and configure pytest discovery.
  • Add a GitHub Actions workflow to run pytest across Python 3.10–3.12 on pushes and pull requests.
  • Configure pytest discovery patterns (paths, file/class/function naming) in pyproject.toml.
.github/workflows/ci.yml
pyproject.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Signed-off-by: Jaden Lindenbach <j_lindenbach688@hotmail.com>
@deepsource-io
Copy link
Copy Markdown

deepsource-io Bot commented Mar 15, 2026

DeepSource Code Review

We reviewed changes in ea06776...b6e2f3f on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
Java Mar 15, 2026 11:06a.m. Review ↗
Shell Mar 15, 2026 11:06a.m. Review ↗
Python Mar 15, 2026 11:06a.m. Review ↗
Secrets Mar 15, 2026 11:06a.m. Review ↗

Copy link
Copy Markdown

@sourcery-ai sourcery-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.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path=".github/workflows/ci.yml" line_range="29-30" />
<code_context>
+          python-version: ${{ matrix.python-version }}
+          cache: "pip"
+
+      - name: Install dependencies
+        run: pip install -e .[api] pytest
+
+      - name: Run tests
</code_context>
<issue_to_address>
**issue (bug_risk):** Quote the extras spec in `pip install -e .[api]` to avoid shell glob expansion of `.[api]`.

In many shells `.[api]` is interpreted as a glob (e.g. matching `.a`, `.p`, `.i`) instead of a literal extras spec. If such files exist, pip receives filenames rather than `.[api]`, and dependency installation can fail. Please quote the extras spec so it’s passed correctly:

```yaml
- name: Install dependencies
  run: pip install -e ".[api]" pytest
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/ci.yml
@jaden688 jaden688 merged commit 75d9b45 into main Mar 15, 2026
15 of 20 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in @jaden688's JL-Engine Mar 15, 2026
@jaden688 jaden688 deleted the copilot/review-feedback-report branch March 15, 2026 11:18
Copilot AI pushed a commit that referenced this pull request Mar 15, 2026
jaden688 pushed a commit that referenced this pull request Mar 15, 2026
* Initial plan

* Revert "Copilot/review feedback report (#3)"

This reverts commit 75d9b45.

* Revert "Fix Python 3.10 incompatibility: replace `UTC` with `timezone.utc` (#5)"

This reverts commit 9dfe387.

* Revert "Fix 9 failing tests: confirmation gating for write ops, cross-platform shell routing, stale root config (#2)"

This reverts commit ea06776.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <copilot@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants