Skip to content

feat: generic mapping planner contract types and graph storage#108

Merged
deanban merged 1 commit into
mainfrom
dean/feat/generic-mapping-planner-contract
May 7, 2026
Merged

feat: generic mapping planner contract types and graph storage#108
deanban merged 1 commit into
mainfrom
dean/feat/generic-mapping-planner-contract

Conversation

@deanban

@deanban deanban commented May 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds src/sema/models/planner/ (target-model, mapping-planner, resolution-planner, risk-and-evidence, provenance, lifecycle types) plus src/sema/graph/planner_loader.py and planner_migrations.py for model_role=TARGET graph storage.
  • Implements all 11 task sections of the OpenSpec change generic-mapping-planner-contract: enums, payloads, validators, status state machine, HumanPin lifecycle, RunProvenance/SourceScope, prompt-cache key derivation, Cypher migrations, and round-trip integration tests.
  • Adds .runs/ to .gitignore.

Test plan

  • uv run pytest -m unit -k "planner or target_model or provenance or lifecycle or planner_graph_storage" (168 passed, 1 skipped)
  • uv run pytest --cov=sema overall coverage 90% (above 85% gate)
  • openspec validate generic-mapping-planner-contract clean
  • Reviewer to spot-check planner package surface in src/sema/models/planner/__init__.py

Signed-off-by: deanban <3989225+deanban@users.noreply.github.com>
@deanban deanban merged commit ed3b75b into main May 7, 2026
3 checks passed
@deanban deanban deleted the dean/feat/generic-mapping-planner-contract branch May 7, 2026 17:35
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