Skip to content

feat(python): execute typed local criteria - #24

Draft
GBeurier wants to merge 13 commits into
agent/loss-local-registriesfrom
agent/loss-runtime-completion
Draft

feat(python): execute typed local criteria#24
GBeurier wants to merge 13 commits into
agent/loss-local-registriesfrom
agent/loss-runtime-completion

Conversation

@GBeurier

@GBeurier GBeurier commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • resolve and execute required Python-local losses from native NodeTask contracts during FIT_CV and REFIT, with attestations emitted only after successful callback execution
  • execute process-local Python metrics from typed MetricEvaluationTask values and build validated native results
  • expose direct register_local_loss / register_local_metric helpers that build signed host-local references while keeping callable code process-local
  • record typed early-stopping outcomes independently from selection and reporting scores
  • reject unknown in-process selection metrics instead of silently substituting RMSE
  • document the current L0-L7 implementation boundary and add positive stable-identity reconstruction coverage
  • consume the exact paired dag-ml-data branch consistently across the stacked CI jobs

Validation

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace: 802 passed, 2 ignored
  • cargo run -p dag-ml-cli -- validate-graph examples/minimal_graph.json
  • PyO3 Clippy with warnings denied
  • PyO3 Rust tests: 25 passed
  • Python binding tests: 22 passed
  • Python extension source freshness check passed
  • D4 replay oracle and migration suite: 163 passed
  • conformal/robustness oracle suite: 55 passed
  • primary and D4 training/replay contract validators passed
  • shared contract validation against dag-ml-data#15 passed
  • Sphinx documentation build passed with warnings denied

Review

Each implementation batch received an independent read-only review. Findings were addressed before publication:

  • early-stopping schema review requested clearer cross-field semantics; the schema now documents the relationship explicitly
  • lifecycle review detected a stale checked-in extension; the extension was rebuilt and the freshness gate passes
  • direct registration and unknown-selection-metric reviews found no actionable defects
  • final status/test review found an R/MATLAB ownership overstatement; the roadmap now attributes those facades to nirs4all-core over the C ABI
  • replay-pack review confirmed all 91 base artifacts and all 136 transitive replay artifacts are byte-current; no drift is masked by the refreshed pins
  • conformal-oracle review confirmed the restricted import guard permits only the pinned Unicode 17 backport beyond the standard library and still excludes production dependencies
  • peer-aware CI review found and removed an unused MSRV peer checkout; Rust/Python/WASM now consume the single dynamically resolved peer ref

Residual boundaries are explicit in the roadmap: full Python nirs4all controller migration awaits approval, and real nirs4all controller integration remains required in every official language before the ecosystem custom-loss objective is complete.

GBeurier added 12 commits July 15, 2026 23:35
…mpletion

# Conflicts:
#	docs/contracts/training_contract_conformance_pack.v1.json
#	docs/contracts/training_replay_contract_conformance_pack.v1.json
#	parity/training/generate_training_replay_fixtures.py
#	parity/training/tests/test_training_replay_contracts.py
#	scripts/validate_training_replay_contracts.py
…mpletion

# Conflicts:
#	docs/contracts/conformal_robustness_conformance_pack.v1.json
…mpletion

# Conflicts:
#	crates/dag-ml-py/python/dag_ml/_dag_ml.abi3.so
…mpletion

# Conflicts:
#	docs/contracts/training_contract_conformance_pack.v1.json
#	docs/contracts/training_replay_contract_conformance_pack.v1.json
#	parity/training/generate_training_replay_fixtures.py
#	parity/training/tests/test_training_replay_contracts.py
#	scripts/validate_training_replay_contracts.py
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