Land Stage 0–2 investment plan enforcement#522
Merged
proboscis merged 1 commit intoJul 14, 2026
Conversation
proboscis
marked this pull request as ready for review
July 14, 2026 08:39
This was referenced Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
doeff-plan-stage02-landingの変更セット19ファイルを、maintainer 指揮セッションの main checkout working tree から内容を変えずに移植します。defk/do!/defp/deftestの statement 位置にある未束縛Program/EffectBaseを初回実行時にRuntimeErrorとする bind guardinvariant-checks) を常時有効化し、pytest で hard-fail 検証docs/adr/conftest.py、capability classes 文書、投資計画本文ci-wire-enforcement-layer(f5f592cc)の一部を実装参照:
doeff-plan-stage02-landing利用者への影響
Hyマクロ内で bare
Program/EffectBaseを statement として捨てる silent-passthrough が決定的に検出されます。また、make syncで構築した開発VMは invariant oracle を常時有効にし、enforcement資産の減少・未記帳増加とSemgrep違反数の変動をpytestゲートで検出します。Verification
git status+ 全19ファイルのcmp)git status --porcelain | grep -v __pycache__、変更元との全件cmptests/test_vm_invariant_checks_enabled.py::test_vm_built_with_invariant_checksmake sync && .venv/bin/python -c "import doeff_vm; print(doeff_vm.invariant_checks_enabled())"TruePYTHONPYCACHEPREFIX=$(mktemp -d) uv run pytest -m "not e2e and not slow" -q1096 passed, 78 skipped, 11 deselectedtests/test_semgrep_gate.py::test_semgrep_findings_match_baseline_ratchettests/test_enforcement_ledger.py::test_enforcement_inventory_matches_ledgertests/test_vm_invariant_checks_enabled.py::test_vm_built_with_invariant_checksuv run pytest tests/test_semgrep_gate.py tests/test_enforcement_ledger.py tests/test_vm_invariant_checks_enabled.py -q3 passeddocs/adr/defadr_*.hyの全40ノードPYTHONPYCACHEPREFIX=$(mktemp -d) uv run pytest docs/adr -q38 passed, 2 failed。失敗ノードは下記2件のみuv run ruff check docs/adr/conftest.py packages/doeff-vm/doeff_vm/__init__.py tests/test_enforcement_ledger.py tests/test_semgrep_gate.py tests/test_vm_invariant_checks_enabled.pymake lintで96件中、差分内にPLW15101件を検出して中断。maintainer が変更元へcheck=Falseと理由コメントを追加後、この1ファイルだけ再取り込み。対象RuffはAll checks passed!。差分外の既存95件はout of scope意図的な段階的 red
docs/adrの次の2件だけは、投資計画に記録済みの意図的redです。docs/adr/defadr_doeff_enforce_001_pytest_canonical_gate.hy::test_adr_doe_enforce_001_docs_adr_in_default_testpaths—docs/adrの既定testpaths追加は計画 T-B1 まで保留docs/adr/defadr_doeff_domain_001_vocabulary_cohesion.hy::test_adr_doe_domain_001_defdomain_exists—defdomain実装は後続段階Verification deviations
なし。上記2件のredは置換や弱化ではなく、issueと計画が要求する段階的redです。Semgrep既存違反46件の解消、
testpathsflip、defdomain実装は明示的にout of scopeです。