fix: resolve Python deprecations and improve build timeout resilience#53
fix: resolve Python deprecations and improve build timeout resilience#53cuioss-oliver wants to merge 12 commits intomainfrom
Conversation
- Replace datetime.utcnow() with datetime.now(UTC) in manage-lesson.py - Document valid category values at the plan-marshall call site Co-Authored-By: Claude <noreply@anthropic.com>
The skill showed only one command form implying all flags were required, causing the LLM to fabricate empty values (--key "") when no external dependencies exist, triggering security hook prompts. Co-Authored-By: Claude <noreply@anthropic.com>
Regenerated derived-data.json with current module discovery (60 scripts, 12 modules). Removed erroneous "none" entries from key_dependencies in llm-enriched.json that were created by passing --key "" workaround. Co-Authored-By: Claude <noreply@anthropic.com>
The Bash permission pattern `Bash(python3 .plan/execute-script.py *)` doesn't match newline characters in heredoc content, causing permission prompts on every plan execution at phase-3-outline and phase-4-plan. Two replacement strategies: - manage-solution-outline: resolve-path → Write tool → validate pattern - manage-tasks add: --content CLI arg with \n-encoded newlines Co-Authored-By: Claude <noreply@anthropic.com>
Build commands must never be hard-coded — resolve via manage-architecture:architecture resolve before execution. Rule added to dev-general-practices (Tier 1 system skill) so it applies to all phases including discovery. Co-Authored-By: Claude <noreply@anthropic.com>
… agents The plan-marshall orchestrator and its 3 agents (phase-agent, q-gate-validation-agent, detect-change-type-agent) did not load dev-general-practices, leaving foundational rules (tool-usage-patterns, file-operations) absent from context during planning phases 1-4. Domain agents (java-verify, plugin-doctor, etc.) already loaded it correctly. This fix ensures consistent coverage across all components. Co-Authored-By: Claude <noreply@anthropic.com>
Marshall-steward now checks and injects two constraints into CLAUDE.md: - file_ops: use Glob/Read/Grep instead of Bash for file operations - build commands: resolved executables from architecture API (Step 9b) Changes: - determine-mode.py: data-driven CONTENT_CHECKS with file_ops check - wizard-flow.md: new Step 9b resolves build commands post-discovery - menu-maintenance.md: fix cleanup subcommand run→clean - CLAUDE.md: add file_ops rule and resolved build commands - Remove ./pw permissions from settings.local.json (gitignored) Co-Authored-By: Claude <noreply@anthropic.com>
Three process fixes from verification-mode testing: - detect-change-type-agent: add object disambiguation between bug_fix and tech_debt — "fix deprecations" is tech_debt, not bug_fix - phase-4-plan Step 5: add backtick sanitization instruction to prevent shell metacharacter prompts in --content arguments - phase-4-plan Step 5.5: clarify holistic task module resolution — omit --name to use root module, preventing invalid architecture list calls Co-Authored-By: Claude <noreply@anthropic.com>
Replace datetime.now() with timezone-aware datetime.now(UTC) in 5 scripts across plan-marshall, pm-plugin-development, and pm-documents bundles. Consolidate mixed os.path + pathlib usage to pure pathlib in 6 scripts. Fix adaptive timeout learning to update persisted values on timeout, preventing stuck-forever timeouts when test suites grow. Co-Authored-By: Claude <noreply@anthropic.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 focuses on modernizing the codebase by addressing Python 3.12 deprecations and enhancing the robustness of build processes. It improves the reliability of Python builds by implementing adaptive timeout adjustments and streamlines script interactions by standardizing argument passing. Additionally, it updates project metadata and documentation to align with these technical improvements and evolving best practices. Highlights
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. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request effectively addresses Python 3.12 deprecations by migrating to timezone-aware datetime.now(UTC) across several scripts, enhancing the code's future compatibility and correctness. A significant refactoring has been implemented in the file interaction patterns for solution outlines and task management, moving from stdin/heredoc-based content input to more explicit --content arguments or a resolve-path followed by a Write tool usage. This change improves the robustness and security of file operations by mitigating issues related to shell metacharacters. Additionally, the check-docs functionality has been enhanced to provide more granular and actionable feedback on documentation compliance. The changes are well-supported by updated tests, ensuring the new logic and APIs function as expected.
- workflow-integration-git: replace inline --body with --body-file for PR creation to avoid newline+# security heuristic - verification-mode: replace raw grep with manage-log API for post-workflow log scanning to avoid $() command substitution security heuristic Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Summary
Test plan