Skip to content

feat(5.1): Extract EvolutionModels into evolution/models.py#39

Merged
Deepfreezechill merged 3 commits intomainfrom
epic/5.1-evolution-models
Apr 3, 2026
Merged

feat(5.1): Extract EvolutionModels into evolution/models.py#39
Deepfreezechill merged 3 commits intomainfrom
epic/5.1-evolution-models

Conversation

@Deepfreezechill
Copy link
Copy Markdown
Owner

Epic 5.1: Extract EvolutionModels

Changes

  • New: \openspace/skill_engine/evolution/\ package
  • New: \�volution/models.py\ (89 lines) — EvolutionTrigger enum, EvolutionContext dataclass, _sanitize_skill_name(), _MAX_SKILL_NAME_LENGTH
  • Modified: \�volver.py\ — imports from .evolution.models, removed local definitions (-38 lines)
  • Modified: \mcp/tool_handlers.py\ — import path updated (L621)
  • Modified: \skill_engine/init.py\ — re-exports point to .evolution.models
  • Modified: \RUNBOOK.yaml\ — P4 marked complete (feat(P4/4.1): extract ToolRegistry from OpenSpace #31-feat(4.10): P4 integration tests — capstone verification #38), P5 active
  • New: \ ests/test_evolution_models.py\ — 17 tests

Backward Compatibility (3 import paths)

Path Mechanism Verified
\ rom .evolution.models import X\ Canonical Identity test
\ rom .evolver import X\ Re-export via import Identity test
\ rom openspace.skill_engine import X\ Lazy getattr Identity test

Review Results (/8eyes + /collab)

Reviewer Verdict Findings
8eyes-sec ✅ PASS 0 findings. _sanitize_skill_name not bypassable
/collab Opus 4.6 ✅ APPROVE F1 LOW: unused import (FIXED)

1,425 tests pass, 127 skipped

Brian Krafft and others added 3 commits April 3, 2026 15:09
- New: openspace/skill_engine/evolution/ package
- New: evolution/models.py (89 lines) — EvolutionTrigger enum, EvolutionContext
  dataclass, _sanitize_skill_name(), _MAX_SKILL_NAME_LENGTH constant
- Updated: evolver.py imports from .evolution.models (removed local definitions)
- Updated: mcp/tool_handlers.py imports from new location
- Updated: skill_engine/__init__.py re-exports point to evolution.models
- Updated: RUNBOOK.yaml — P4 marked complete, P5 active
- New: tests/test_evolution_models.py — 17 tests (enum, dataclass, sanitize, compat)
- evolver.py: 1498 → ~1460 lines (-38 lines)
- All 1,425 tests pass, 127 skipped

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Opus 4.6 review flagged: constant only used inside _sanitize_skill_name
which moved to evolution/models.py. Dead import removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

🔒 Phase Gate Enforcement — 🚫 FAIL

Check Result Detail
Issue linkage No linked issues found. PR must contain "Closes #N", "Fixes #N", or "Resolves #N".

Verdict: FAIL
Timestamp: 2026-04-03T22:19:20.506Z
Run: View workflow run


How to fix: Ensure all prerequisite phases are complete, or add emergency:bypass label with a ## Bypass Reason section in the PR body.

@Deepfreezechill Deepfreezechill merged commit 907e2ae into main Apr 3, 2026
0 of 5 checks passed
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.

1 participant