Repository navigation
Conversation
There was a problem hiding this comment.
14 issues found across 40 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="scripts/quest_plan_iteration.py">
<violation number="1" location="scripts/quest_plan_iteration.py:10">
P2: This isort hanging-grid import is not black-compliant and will fail CI's `black --check .` gate. The repo pins black==26.3.1 with line-length 88, CI enforces `black --check .` (test-python.yml), and CONTRIBUTING.md calls it the authoritative formatting gate. The full import is 143 chars, so black explodes it to one name per line with a trailing comma; the previous one-per-line form was already black-correct.</violation>
</file>
<file name="tests/unit/test_quest_startup_symlink.py">
<violation number="1" location="tests/unit/test_quest_startup_symlink.py:12">
P2: The new parenthesized two-line import contradicts the repo's enforced formatter. Black (pinned in pyproject.toml dev deps, `[tool.black] line-length = 88`) collapses from-imports to a single line without parens when they fit; `from quest_startup_branch import apply_quest_symlink, ensure_shared_quest_symlink` is 81 chars and fits. CI runs `black --check .` unconditionally (test-python.yml) and the pre-commit hook does the same, so `black --check .` will fail on this file. Collapse the import to one line.</violation>
</file>
<file name="scripts/quest_dashboard/loaders.py">
<violation number="1" location="scripts/quest_dashboard/loaders.py:16">
P2: This change breaks the repo's enforced formatting gate. `black --check .` runs unconditionally in CI (`.github/workflows/test-python.yml` "Check Python formatting") and in `.githooks/pre-commit`, and black never emits trailing-backslash splices: it joins each continued import and wraps it with parentheses. The joined `from quest_celebrate.quest_data import extract_celebration_data_from_journal as _extract_celebration_data` is 105 chars (>88, must be wrapped), and the two 82-char imports collapse onto one line, so `black --check .` will fail on this file and the PR can't merge. isort is not part of the toolchain (pyproject dev deps are black/pytest/pyyaml, no isort config anywhere) and default isort recombines same-module imports back into the original parenthesized form, so this style satisfies no configured formatter. Restore the combined parenthesized import.</violation>
</file>
<file name="tests/unit/test_ux_findings_schema.py">
<violation number="1" location="tests/unit/test_ux_findings_schema.py:37">
P3: This backslash continuation isn't an isort-compatible correction: isort wraps long imports in parentheses (or, here, would leave the import on a single line since it fits), and the project's only enforced formatter is black with `line-length = 88` in pyproject.toml, under which the original 80-char line already passed. The split adds churn that the tools would undo. Restore the single-line import.</violation>
</file>
<file name="scripts/quest_pr_shepherd_post_reply.py">
<violation number="1" location="scripts/quest_pr_shepherd_post_reply.py:13">
P2: This isort grid layout conflicts with the repo's enforced formatter: CI runs `black --check .` (test-python.yml) with line-length 88, and black always explodes a parenthesized `from`-import that exceeds 88 chars into one name per line (the style this diff removed). The lines here (73/69/72 chars, ~137 combined) will be rewritten by black, so the PR fails the formatting gate. Either revert to black's one-per-line form or run isort with `--profile black` so its output matches black.</violation>
</file>
<file name="scripts/quest_review_intelligence.py">
<violation number="1" location="scripts/quest_review_intelligence.py:11">
P2: This isort reformatting produces grid-style imports (first name on the opening-paren line, aligned continuation, no trailing comma) that conflict with black, the repo's enforced formatter: CI runs `black --check .` (test-python.yml) and the pre-commit hook auto-formats with black (pyproject.toml `[tool.black] line-length = 88`). Since the single-line forms are ~217/220 chars, black will re-split these into its vertical layout (one name per line, trailing comma, closing paren on its own line — the exact style this PR removed), so the formatting check fails and the hook reverts the change. Run isort with `--profile black` (or `multi_line_output=3`) and `line_length=88` — isort isn't currently configured anywhere in the repo — so the output matches black instead of fighting it.</violation>
</file>
<file name="scripts/quest_claude_runner.py">
<violation number="1" location="scripts/quest_claude_runner.py:23">
P2: This isort default-profile format will fail the repo's black check: CI runs `black --check .` (test-python.yml, black==26.3.1, line-length 88) and black normalizes the 144-char joined import back to one name per line with a trailing comma — the exact format this diff removed. Restore the one-per-line form, or add `[tool.isort] profile = "black"` so isort emits black-compatible output.</violation>
</file>
<file name="tests/unit/test_pr_shepherd.py">
<violation number="1" location="tests/unit/test_pr_shepherd.py:12">
P2: This import is wrapped in isort's default GRID style (vertically aligned continuation lines, no trailing comma), which Black rewrites. CI's formatting gate runs `black --check .` (.github/workflows/test-python.yml) with the pinned black==26.3.1 and `[tool.black] line-length = 88` (pyproject.toml); the statement is ~187 chars on one line, so Black explodes it to one name per line with a trailing comma. The pre-PR one-per-line form was exactly Black's canonical output, so this change turns a Black-clean file into one that fails the check. Revert to the Black form (equivalent to running isort with `--profile black`) and add `[tool.isort] profile = "black", line_length = 88` to pyproject.toml so the format is reproducible — no isort config or isort dev-dependency exists in the repo today.</violation>
</file>
<file name="tests/unit/test_pr_review_cycle.py">
<violation number="1" location="tests/unit/test_pr_review_cycle.py:12">
P2: The isort reordering is correct, but the hanging-grid parentheses format conflicts with the repo's black config (line-length 88, enforced by `black --check .` in test-python.yml CI and .githooks/pre-commit). Black normalizes this import to the exploded style with trailing comma (the 143-char single-line form exceeds 88), and collapses the review_intelligence import to a single line; as committed, the CI formatting check and the pre-commit hook will both fail on this file. Either run `black .` after isort, or keep the exploded style while reordering.</violation>
</file>
<file name="tests/unit/test_quest_celebrate.py">
<violation number="1" location="tests/unit/test_quest_celebrate.py:14">
P3: This reformat follows unconfigured isort defaults (79-column wrapping), but the repo pins only black at line-length 88 (pyproject.toml `[tool.black] line-length = 88`) and CI runs only `black --check` and pytest. isort is not in the `dev` dependencies and there is no `[tool.isort]` config, so the import ordering this PR establishes is neither reproducible nor enforced and will drift on the next manual isort or black reflow. Add `[tool.isort] profile = "black"` to pyproject.toml (inherits the 88-column black wrapping and black-compatible layout) and pin isort in the `dev` extras so `isort --check` can run in CI alongside `black --check`.</violation>
</file>
<file name="scripts/quest_runtime/antigravity_runner.py">
<violation number="1" location="scripts/quest_runtime/antigravity_runner.py:29">
P2: This isort run used the default profile, producing grid-style imports that the repo's pinned black (black==26.3.1, line-length 88, enforced by `black --check .` in test-python.yml) reformats back into one-name-per-line with a trailing comma — the exact form this diff removes. Run isort with `--profile black` (and consider adding `profile = "black"` to an isort config) so import formatting stays consistent with the repo's black formatter and the CI format gate.</violation>
</file>
<file name="scripts/quest_runtime/claude_runner.py">
<violation number="1" location="scripts/quest_runtime/claude_runner.py:22">
P2: This rewrap (isort's default VERTICAL_HANGING_INDENT) drops the trailing comma from the previously exploded import. Removing the magic trailing comma re-opens the import to black's reflow, and at 113 chars flattened it no longer fits the repo's black line-length of 88, so black may rewrite it again. This repo pins black==26.3.1 in pyproject.toml and enforces `black --check .` in test-python.yml plus .githooks/pre-commit, so the isort output and the black gate are at odds. Run isort with `--profile black` (which keeps the exploded trailing-comma form) or run `python3 -m black .` after isort and commit that output; verify with `python3 -m black --check .`.</violation>
</file>
<file name="tests/unit/test_canonical_role_lockstep.py">
<violation number="1" location="tests/unit/test_canonical_role_lockstep.py:25">
P3: This PR reformats imports to isort style, but isort is not part of the repo's pinned dev toolchain: pyproject.toml pins only black/pytest/pyyaml, there is no `[tool.isort]` config, and CI/pre-commit enforce only `black --check` (see `test_python_ci_keeps_tests_and_enforces_pinned_black_unconditionally`). The new convention can't be reproduced or enforced, so import order will silently regress; isort's default `line_length=79` also disagrees with black's 88 and nothing anchors it. Add `[tool.isort]` (black-compatible output: `multi_line_output` = 3, `line_length` = 88) plus a pinned isort in dev deps and a CI/pre-commit check, or leave formatting to black only.</violation>
</file>
<file name="scripts/quest_backfill_journal.py">
<violation number="1" location="scripts/quest_backfill_journal.py:13">
P3: This isort correction isn't reproducible: the repo has no isort config (`pyproject.toml` has no `[tool.isort]` and no `.isort.cfg` exists), and this output doesn't match what isort emits under its defaults or the black profile. The two-name `quest_data` import is split across lines at 76 chars, which a default isort run would collapse back onto one line (default `line_length` 79); `multi_line_output` 3 with trailing comma would also reformat the `quest_complete` import. A later `isort` pass will churn this change back. Either add an isort configuration (e.g. the `multi_line_output = 4` grid style this file now uses) to `pyproject.toml` so the output is reproducible and enforced, or drop the isort claim and keep the repo's existing grid convention.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| from quest_runtime.plan_iterations import (PlanIterationError, cleanup_current, | ||
| publish_refinement, | ||
| snapshot_plan_iteration, | ||
| verify_refinement) |
There was a problem hiding this comment.
P2: This isort hanging-grid import is not black-compliant and will fail CI's black --check . gate. The repo pins black==26.3.1 with line-length 88, CI enforces black --check . (test-python.yml), and CONTRIBUTING.md calls it the authoritative formatting gate. The full import is 143 chars, so black explodes it to one name per line with a trailing comma; the previous one-per-line form was already black-correct.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_plan_iteration.py, line 10:
<comment>This isort hanging-grid import is not black-compliant and will fail CI's `black --check .` gate. The repo pins black==26.3.1 with line-length 88, CI enforces `black --check .` (test-python.yml), and CONTRIBUTING.md calls it the authoritative formatting gate. The full import is 143 chars, so black explodes it to one name per line with a trailing comma; the previous one-per-line form was already black-correct.</comment>
<file context>
@@ -7,13 +7,10 @@
- snapshot_plan_iteration,
- verify_refinement,
-)
+from quest_runtime.plan_iterations import (PlanIterationError, cleanup_current,
+ publish_refinement,
+ snapshot_plan_iteration,
</file context>
| from quest_runtime.plan_iterations import (PlanIterationError, cleanup_current, | |
| publish_refinement, | |
| snapshot_plan_iteration, | |
| verify_refinement) | |
| from quest_runtime.plan_iterations import ( | |
| PlanIterationError, | |
| cleanup_current, | |
| publish_refinement, | |
| snapshot_plan_iteration, | |
| verify_refinement, | |
| ) |
| from quest_startup_branch import (apply_quest_symlink, | ||
| ensure_shared_quest_symlink) |
There was a problem hiding this comment.
P2: The new parenthesized two-line import contradicts the repo's enforced formatter. Black (pinned in pyproject.toml dev deps, [tool.black] line-length = 88) collapses from-imports to a single line without parens when they fit; from quest_startup_branch import apply_quest_symlink, ensure_shared_quest_symlink is 81 chars and fits. CI runs black --check . unconditionally (test-python.yml) and the pre-commit hook does the same, so black --check . will fail on this file. Collapse the import to one line.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At tests/unit/test_quest_startup_symlink.py, line 12:
<comment>The new parenthesized two-line import contradicts the repo's enforced formatter. Black (pinned in pyproject.toml dev deps, `[tool.black] line-length = 88`) collapses from-imports to a single line without parens when they fit; `from quest_startup_branch import apply_quest_symlink, ensure_shared_quest_symlink` is 81 chars and fits. CI runs `black --check .` unconditionally (test-python.yml) and the pre-commit hook does the same, so `black --check .` will fail on this file. Collapse the import to one line.</comment>
<file context>
@@ -8,9 +8,9 @@
-
import quest_startup_branch
-from quest_startup_branch import apply_quest_symlink, ensure_shared_quest_symlink
+from quest_startup_branch import (apply_quest_symlink,
+ ensure_shared_quest_symlink)
</file context>
| from quest_startup_branch import (apply_quest_symlink, | |
| ensure_shared_quest_symlink) | |
| from quest_startup_branch import apply_quest_symlink, ensure_shared_quest_symlink |
| from quest_celebrate.quest_data import QUALITY_TIERS | ||
| from quest_celebrate.quest_data import \ | ||
| extract_celebration_data_from_journal as _extract_celebration_data | ||
| from quest_celebrate.quest_data import \ | ||
| extract_metadata_value as _extract_metadata | ||
| from quest_celebrate.quest_data import \ | ||
| friendly_model_name as _friendly_model_name |
There was a problem hiding this comment.
P2: This change breaks the repo's enforced formatting gate. black --check . runs unconditionally in CI (.github/workflows/test-python.yml "Check Python formatting") and in .githooks/pre-commit, and black never emits trailing-backslash splices: it joins each continued import and wraps it with parentheses. The joined from quest_celebrate.quest_data import extract_celebration_data_from_journal as _extract_celebration_data is 105 chars (>88, must be wrapped), and the two 82-char imports collapse onto one line, so black --check . will fail on this file and the PR can't merge. isort is not part of the toolchain (pyproject dev deps are black/pytest/pyyaml, no isort config anywhere) and default isort recombines same-module imports back into the original parenthesized form, so this style satisfies no configured formatter. Restore the combined parenthesized import.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_dashboard/loaders.py, line 16:
<comment>This change breaks the repo's enforced formatting gate. `black --check .` runs unconditionally in CI (`.github/workflows/test-python.yml` "Check Python formatting") and in `.githooks/pre-commit`, and black never emits trailing-backslash splices: it joins each continued import and wraps it with parentheses. The joined `from quest_celebrate.quest_data import extract_celebration_data_from_journal as _extract_celebration_data` is 105 chars (>88, must be wrapped), and the two 82-char imports collapse onto one line, so `black --check .` will fail on this file and the PR can't merge. isort is not part of the toolchain (pyproject dev deps are black/pytest/pyyaml, no isort config anywhere) and default isort recombines same-module imports back into the original parenthesized form, so this style satisfies no configured formatter. Restore the combined parenthesized import.</comment>
<file context>
@@ -13,12 +13,13 @@
- extract_metadata_value as _extract_metadata,
- friendly_model_name as _friendly_model_name,
-)
+from quest_celebrate.quest_data import QUALITY_TIERS
+from quest_celebrate.quest_data import \
+ extract_celebration_data_from_journal as _extract_celebration_data
</file context>
| from quest_celebrate.quest_data import QUALITY_TIERS | |
| from quest_celebrate.quest_data import \ | |
| extract_celebration_data_from_journal as _extract_celebration_data | |
| from quest_celebrate.quest_data import \ | |
| extract_metadata_value as _extract_metadata | |
| from quest_celebrate.quest_data import \ | |
| friendly_model_name as _friendly_model_name | |
| from quest_celebrate.quest_data import ( | |
| QUALITY_TIERS, | |
| extract_celebration_data_from_journal as _extract_celebration_data, | |
| extract_metadata_value as _extract_metadata, | |
| friendly_model_name as _friendly_model_name, | |
| ) |
| from quest_runtime.pr_shepherd import (ADDRESSED_MARKER, FOLLOWUP_MARKER, | ||
| SUMMARY_MARKER, append_marker, | ||
| compact_summary_body, has_marker) |
There was a problem hiding this comment.
P2: This isort grid layout conflicts with the repo's enforced formatter: CI runs black --check . (test-python.yml) with line-length 88, and black always explodes a parenthesized from-import that exceeds 88 chars into one name per line (the style this diff removed). The lines here (73/69/72 chars, ~137 combined) will be rewritten by black, so the PR fails the formatting gate. Either revert to black's one-per-line form or run isort with --profile black so its output matches black.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_pr_shepherd_post_reply.py, line 13:
<comment>This isort grid layout conflicts with the repo's enforced formatter: CI runs `black --check .` (test-python.yml) with line-length 88, and black always explodes a parenthesized `from`-import that exceeds 88 chars into one name per line (the style this diff removed). The lines here (73/69/72 chars, ~137 combined) will be rewritten by black, so the PR fails the formatting gate. Either revert to black's one-per-line form or run isort with `--profile black` so its output matches black.</comment>
<file context>
@@ -10,14 +10,9 @@
- compact_summary_body,
- has_marker,
-)
+from quest_runtime.pr_shepherd import (ADDRESSED_MARKER, FOLLOWUP_MARKER,
+ SUMMARY_MARKER, append_marker,
+ compact_summary_body, has_marker)
</file context>
| from quest_runtime.pr_shepherd import (ADDRESSED_MARKER, FOLLOWUP_MARKER, | |
| SUMMARY_MARKER, append_marker, | |
| compact_summary_body, has_marker) | |
| from quest_runtime.pr_shepherd import ( | |
| ADDRESSED_MARKER, | |
| FOLLOWUP_MARKER, | |
| SUMMARY_MARKER, | |
| append_marker, | |
| compact_summary_body, | |
| has_marker, | |
| ) | |
| from quest_runtime.pr_review_cycle import (allowlist_path_from_context, | ||
| build_fix_batches, | ||
| classify_pr_loop_stop, | ||
| classify_pr_operational_state, | ||
| normalize_pr_review_intake, | ||
| retag_backlog_at_cap, | ||
| select_validation_steps) | ||
| from quest_runtime.review_intelligence import (append_deferred_findings, | ||
| build_review_backlog, | ||
| merge_and_dedupe, | ||
| scan_deferred_backlog, | ||
| utc_now_iso, validate_findings, | ||
| validate_plan_phase_defaults, |
There was a problem hiding this comment.
P2: This isort reformatting produces grid-style imports (first name on the opening-paren line, aligned continuation, no trailing comma) that conflict with black, the repo's enforced formatter: CI runs black --check . (test-python.yml) and the pre-commit hook auto-formats with black (pyproject.toml [tool.black] line-length = 88). Since the single-line forms are ~217/220 chars, black will re-split these into its vertical layout (one name per line, trailing comma, closing paren on its own line — the exact style this PR removed), so the formatting check fails and the hook reverts the change. Run isort with --profile black (or multi_line_output=3) and line_length=88 — isort isn't currently configured anywhere in the repo — so the output matches black instead of fighting it.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_review_intelligence.py, line 11:
<comment>This isort reformatting produces grid-style imports (first name on the opening-paren line, aligned continuation, no trailing comma) that conflict with black, the repo's enforced formatter: CI runs `black --check .` (test-python.yml) and the pre-commit hook auto-formats with black (pyproject.toml `[tool.black] line-length = 88`). Since the single-line forms are ~217/220 chars, black will re-split these into its vertical layout (one name per line, trailing comma, closing paren on its own line — the exact style this PR removed), so the formatting check fails and the hook reverts the change. Run isort with `--profile black` (or `multi_line_output=3`) and `line_length=88` — isort isn't currently configured anywhere in the repo — so the output matches black instead of fighting it.</comment>
<file context>
@@ -8,25 +8,20 @@
- validate_review_backlog,
- validate_findings,
-)
+from quest_runtime.pr_review_cycle import (allowlist_path_from_context,
+ build_fix_batches,
+ classify_pr_loop_stop,
</file context>
| from quest_runtime.pr_review_cycle import (allowlist_path_from_context, | |
| build_fix_batches, | |
| classify_pr_loop_stop, | |
| classify_pr_operational_state, | |
| normalize_pr_review_intake, | |
| retag_backlog_at_cap, | |
| select_validation_steps) | |
| from quest_runtime.review_intelligence import (append_deferred_findings, | |
| build_review_backlog, | |
| merge_and_dedupe, | |
| scan_deferred_backlog, | |
| utc_now_iso, validate_findings, | |
| validate_plan_phase_defaults, | |
| from quest_runtime.pr_review_cycle import ( | |
| allowlist_path_from_context, | |
| build_fix_batches, | |
| classify_pr_loop_stop, | |
| classify_pr_operational_state, | |
| normalize_pr_review_intake, | |
| retag_backlog_at_cap, | |
| select_validation_steps, | |
| ) | |
| from quest_runtime.review_intelligence import ( | |
| append_deferred_findings, | |
| build_review_backlog, | |
| merge_and_dedupe, | |
| scan_deferred_backlog, | |
| utc_now_iso, | |
| validate_findings, | |
| validate_plan_phase_defaults, | |
| validate_review_backlog, | |
| ) |
| from quest_runtime.artifacts import (any_artifact_missing_or_empty, | ||
| check_artifact_paths, | ||
| prepare_artifact_files) |
There was a problem hiding this comment.
P2: This rewrap (isort's default VERTICAL_HANGING_INDENT) drops the trailing comma from the previously exploded import. Removing the magic trailing comma re-opens the import to black's reflow, and at 113 chars flattened it no longer fits the repo's black line-length of 88, so black may rewrite it again. This repo pins black==26.3.1 in pyproject.toml and enforces black --check . in test-python.yml plus .githooks/pre-commit, so the isort output and the black gate are at odds. Run isort with --profile black (which keeps the exploded trailing-comma form) or run python3 -m black . after isort and commit that output; verify with python3 -m black --check ..
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_runtime/claude_runner.py, line 22:
<comment>This rewrap (isort's default VERTICAL_HANGING_INDENT) drops the trailing comma from the previously exploded import. Removing the magic trailing comma re-opens the import to black's reflow, and at 113 chars flattened it no longer fits the repo's black line-length of 88, so black may rewrite it again. This repo pins black==26.3.1 in pyproject.toml and enforces `black --check .` in test-python.yml plus .githooks/pre-commit, so the isort output and the black gate are at odds. Run isort with `--profile black` (which keeps the exploded trailing-comma form) or run `python3 -m black .` after isort and commit that output; verify with `python3 -m black --check .`.</comment>
<file context>
@@ -19,11 +19,9 @@
- check_artifact_paths,
- prepare_artifact_files,
-)
+from quest_runtime.artifacts import (any_artifact_missing_or_empty,
+ check_artifact_paths,
+ prepare_artifact_files)
</file context>
| from quest_runtime.artifacts import (any_artifact_missing_or_empty, | |
| check_artifact_paths, | |
| prepare_artifact_files) | |
| from quest_runtime.artifacts import ( | |
| any_artifact_missing_or_empty, | |
| check_artifact_paths, | |
| prepare_artifact_files, | |
| ) |
| from quest_runtime.review_intelligence import \ | ||
| validate_finding # noqa: E402 |
There was a problem hiding this comment.
P3: This backslash continuation isn't an isort-compatible correction: isort wraps long imports in parentheses (or, here, would leave the import on a single line since it fits), and the project's only enforced formatter is black with line-length = 88 in pyproject.toml, under which the original 80-char line already passed. The split adds churn that the tools would undo. Restore the single-line import.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At tests/unit/test_ux_findings_schema.py, line 37:
<comment>This backslash continuation isn't an isort-compatible correction: isort wraps long imports in parentheses (or, here, would leave the import on a single line since it fits), and the project's only enforced formatter is black with `line-length = 88` in pyproject.toml, under which the original 80-char line already passed. The split adds churn that the tools would undo. Restore the single-line import.</comment>
<file context>
@@ -34,7 +34,8 @@ def _extract_example_finding() -> dict:
def test_ux_example_finding_validates_against_canonical_schema() -> None:
sys.path.insert(0, str(_repo_root() / "scripts"))
- from quest_runtime.review_intelligence import validate_finding # noqa: E402
+ from quest_runtime.review_intelligence import \
+ validate_finding # noqa: E402
</file context>
| from quest_runtime.review_intelligence import \ | |
| validate_finding # noqa: E402 | |
| from quest_runtime.review_intelligence import validate_finding # noqa: E402 |
| rocket_launch_art, | ||
| trophy_art, | ||
| ) | ||
| from quest_celebrate.animations import (QuestStats, celebrate, |
There was a problem hiding this comment.
P3: This reformat follows unconfigured isort defaults (79-column wrapping), but the repo pins only black at line-length 88 (pyproject.toml [tool.black] line-length = 88) and CI runs only black --check and pytest. isort is not in the dev dependencies and there is no [tool.isort] config, so the import ordering this PR establishes is neither reproducible nor enforced and will drift on the next manual isort or black reflow. Add [tool.isort] profile = "black" to pyproject.toml (inherits the 88-column black wrapping and black-compatible layout) and pin isort in the dev extras so isort --check can run in CI alongside black --check.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At tests/unit/test_quest_celebrate.py, line 14:
<comment>This reformat follows unconfigured isort defaults (79-column wrapping), but the repo pins only black at line-length 88 (pyproject.toml `[tool.black] line-length = 88`) and CI runs only `black --check` and pytest. isort is not in the `dev` dependencies and there is no `[tool.isort]` config, so the import ordering this PR establishes is neither reproducible nor enforced and will drift on the next manual isort or black reflow. Add `[tool.isort] profile = "black"` to pyproject.toml (inherits the 88-column black wrapping and black-compatible layout) and pin isort in the `dev` extras so `isort --check` can run in CI alongside `black --check`.</comment>
<file context>
@@ -11,63 +11,36 @@
- rocket_launch_art,
- trophy_art,
-)
+from quest_celebrate.animations import (QuestStats, celebrate,
+ load_quest_stats, render_end_credits,
+ render_epic, render_minimal,
</file context>
| DEFAULT_MODELS, | ||
| SOLO_UNUSED_ROLES, | ||
| ) | ||
| from quest_runtime.artifacts import (ROLE_ARTIFACTS, ROLE_PHASE_ALIASES, |
There was a problem hiding this comment.
P3: This PR reformats imports to isort style, but isort is not part of the repo's pinned dev toolchain: pyproject.toml pins only black/pytest/pyyaml, there is no [tool.isort] config, and CI/pre-commit enforce only black --check (see test_python_ci_keeps_tests_and_enforces_pinned_black_unconditionally). The new convention can't be reproduced or enforced, so import order will silently regress; isort's default line_length=79 also disagrees with black's 88 and nothing anchors it. Add [tool.isort] (black-compatible output: multi_line_output = 3, line_length = 88) plus a pinned isort in dev deps and a CI/pre-commit check, or leave formatting to black only.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At tests/unit/test_canonical_role_lockstep.py, line 25:
<comment>This PR reformats imports to isort style, but isort is not part of the repo's pinned dev toolchain: pyproject.toml pins only black/pytest/pyyaml, there is no `[tool.isort]` config, and CI/pre-commit enforce only `black --check` (see `test_python_ci_keeps_tests_and_enforces_pinned_black_unconditionally`). The new convention can't be reproduced or enforced, so import order will silently regress; isort's default `line_length=79` also disagrees with black's 88 and nothing anchors it. Add `[tool.isort]` (black-compatible output: `multi_line_output` = 3, `line_length` = 88) plus a pinned isort in dev deps and a CI/pre-commit check, or leave formatting to black only.</comment>
<file context>
@@ -22,16 +22,10 @@
- DEFAULT_MODELS,
- SOLO_UNUSED_ROLES,
-)
+from quest_runtime.artifacts import (ROLE_ARTIFACTS, ROLE_PHASE_ALIASES,
+ SOLO_DISABLED_AGENTS)
+from quest_runtime.orchestration import (CANONICAL_ROLES, DEFAULT_MODELS,
</file context>
| build_celebration_section, | ||
| build_quest_brief_section, | ||
| ) | ||
| from quest_celebrate.quest_data import (extract_metadata_value, |
There was a problem hiding this comment.
P3: This isort correction isn't reproducible: the repo has no isort config (pyproject.toml has no [tool.isort] and no .isort.cfg exists), and this output doesn't match what isort emits under its defaults or the black profile. The two-name quest_data import is split across lines at 76 chars, which a default isort run would collapse back onto one line (default line_length 79); multi_line_output 3 with trailing comma would also reformat the quest_complete import. A later isort pass will churn this change back. Either add an isort configuration (e.g. the multi_line_output = 4 grid style this file now uses) to pyproject.toml so the output is reproducible and enforced, or drop the isort claim and keep the repo's existing grid convention.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At scripts/quest_backfill_journal.py, line 13:
<comment>This isort correction isn't reproducible: the repo has no isort config (`pyproject.toml` has no `[tool.isort]` and no `.isort.cfg` exists), and this output doesn't match what isort emits under its defaults or the black profile. The two-name `quest_data` import is split across lines at 76 chars, which a default isort run would collapse back onto one line (default `line_length` 79); `multi_line_output` 3 with trailing comma would also reformat the `quest_complete` import. A later `isort` pass will churn this change back. Either add an isort configuration (e.g. the `multi_line_output = 4` grid style this file now uses) to `pyproject.toml` so the output is reproducible and enforced, or drop the isort claim and keep the repo's existing grid convention.</comment>
<file context>
@@ -10,20 +10,18 @@
- build_celebration_section,
- build_quest_brief_section,
- )
+ from quest_celebrate.quest_data import (extract_metadata_value,
+ load_quest_data)
+ from quest_complete import (build_celebration_data_section,
</file context>
isort corrections