Skip to content

feat(material-lifecycle): add Stage-0 contracts#2544

Merged
huangruiteng merged 2 commits into
mainfrom
codex/material-lifecycle-contracts
Jul 25, 2026
Merged

feat(material-lifecycle): add Stage-0 contracts#2544
huangruiteng merged 2 commits into
mainfrom
codex/material-lifecycle-contracts

Conversation

@huangruiteng

Copy link
Copy Markdown
Owner

Summary

  • add a built-in, default-off, goal-scoped Material Lifecycle capability
  • define public-safe inventory, backup-safe migration plan, lifecycle receipt, bounded rerank proposal, and apply receipt contracts
  • connect bounded rerank proposals to revisioned Decision Context evidence without coupling to a provider
  • expose a read-only architecture CLI, capability catalog entry, bilingual protocol docs, and focused public smokes

Boundary

  • raw material, private locations, provider payloads, credentials, and source-store formats never enter public packets
  • source snapshots and backups precede dual-read reconciliation; cutover and rollback stay owner-gated
  • recurring automation is kept thin: source profiles, cursors, ranking rules, and exploration providers remain deferred
  • this PR does not include a legacy parser, migration apply path, web exploration, messaging adapter, or private dogfood data

Validation

  • pytest tests/capabilities/test_material_lifecycle_contracts.py tests/capabilities/test_capability_extension_registry.py -q (21 passed)
  • python examples/material-lifecycle-contract-smoke.py
  • python examples/capability-extension-registry-smoke.py
  • Ruff check and format check for the new package/tests/smoke
  • risk-based canary premerge --from-git-diff --tier standard: 18/18 selected checks passed, no warnings or manual holds
  • public/private boundary scan: 17 files clean

Residual risk

The contracts intentionally precede real storage adapters. The next slice must prove a read-only legacy inventory, stable IDs, exact count reconciliation, and rollback before any source mutation is considered.

@huangruiteng
huangruiteng merged commit ed3e29e into main Jul 25, 2026
1 check 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