Skip to content

feat: share one drift classifier across sync/update/change/CI (#884)#1027

Open
prompt-driven-github[bot] wants to merge 1 commit into
mainfrom
change/issue-884
Open

feat: share one drift classifier across sync/update/change/CI (#884)#1027
prompt-driven-github[bot] wants to merge 1 commit into
mainfrom
change/issue-884

Conversation

@prompt-driven-github
Copy link
Copy Markdown
Contributor

Summary

Introduces a shared, pure drift classifier (pdd/drift_classifier.py, defined by a new prompt) and wires the five existing artifact-drift classification paths to build a common DriftInputs and consume a structured DriftVerdict. Repair plans remain command-specific in this first PR — only the classification step is unified.

Closes #884

Changes Made

Prompts Created

  • pdd/prompts/drift_classifier_python.prompt — new pure classifier prompt; Pydantic v2 DriftInputs / DriftVerdict, enumerated DriftReason, git diff as an explicit input field (not a CI-only correction).

Prompts Modified

  • pdd/prompts/sync_determine_operation_python.prompt — builds DriftInputs, calls classify_drift, maps verdict onto the existing fingerprint state machine.
  • pdd/prompts/update_main_python.promptpdd update --all path now constructs DriftInputs (including git_change_set) and calls the shared classifier.
  • pdd/prompts/ci_drift_heal_python.prompt — CI auto-heal passes its git diff in as git_change_set; drops the post-hoc reclassification branch.
  • pdd/prompts/agentic_change_orchestrator_python.promptpdd change preflight calls classify_drift to decide whether to heal.
  • pdd/prompts/sync_main_python.prompt — no-arg pdd sync Tier 1 global scan classifies each module through the shared classifier.

Documentation Created

Other

  • architecture.json — registers the new drift_classifier module.

Review Checklist

Next Steps After Merge

  1. Regenerate code from modified prompts in dependency order:
    ./sync_order.sh
    Or manually:
    pdd sync drift_classifier
    pdd sync agentic_change
    pdd sync agentic_change_orchestrator
    pdd sync agentic_sync_runner
    pdd sync one_session_sync
    pdd sync operation_log
    pdd sync sync_determine_operation
    pdd sync durable_sync_runner
    pdd sync prompts
    pdd sync sync_main
    pdd sync agentic_sync
    pdd sync checkup
    pdd sync checkup_review_loop
    pdd sync ci_drift_heal
    pdd sync maintenance
    pdd sync update_main
    pdd sync agentic_checkup
    pdd sync modify
    pdd sync pin_example_hack
    pdd sync sync_orchestration
    
  2. Run tests to verify functionality (characterization fixtures should preserve current verdicts for the three required paths).
  3. Deploy if applicable.

Created by pdd change workflow

…t, and CI auto-heal (#884)

Introduce a shared, pure drift classifier and wire the five existing
classification paths (sync_determine_operation, pdd update --all,
CI auto-heal, pdd change preflight, no-arg pdd sync Tier 1 scan) to
build DriftInputs and consume a structured DriftVerdict. Repair plans
remain command-specific in this first PR; only classification is unified.

Closes #884

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
Copy link
Copy Markdown

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

design: share one drift classifier across sync, update, change preflight, and CI auto-heal

1 participant