{
  "canonical_zip_required": true,
  "classification": "class_b_vm121_domain_v2_service_layer_and_credential_foundation",
  "credential_envelope": "AES-256-GCM versioned envelope; caller-supplied master key only",
  "database_schema_changed": false,
  "domain_v2_product_writer_active": false,
  "exact_worker_fixture": "tests/exact-worker.sh",
  "expected_installer_sha256": "3c4ad4541c9edf7e12b493876c47c6104b0c102b96cba49a06c4bc57acfa223b",
  "external_onboarding_active": false,
  "forward_rollback_decision": "affected source files rollback automatically on failure before target semantic core; late Machine Git/report failures use continuation",
  "functional_stage": "p2_3c_domain_v2_service_layer_and_credential_foundation",
  "legacy_business_rows_expected": 0,
  "live_alembic_revision": "0003_domain_v2_schema",
  "live_database_written": false,
  "mandatory_fixture_count": 13,
  "next_action": "P23D production credential master-key deployment/backup/rotation foundation; no external onboarding",
  "path_ownership_manifest": "reference/path-ownership.tsv",
  "production_master_key_created": false,
  "quota_model": "wireguard_3_amneziawg_3_from_plan_defaults_with_grant_row_lock",
  "r01_stop": "safe_pre_core_service_layer_fixture_dynamic_candidate_path_mismatch",
  "r02_regressions": [
    "dynamic_candidate_path_from_P23C_CANDIDATE_DIR",
    "docker_exec_python_stdin_requires_i"
  ],
  "r02_stop": "safe_pre_core_service_layer_fixture_missing_backend_import_root",
  "r03_regressions": [
    "candidate_fixture_backend_source_root_explicit_/app",
    "backend_source_root_requires_app_models_init",
    "backend_source_root_inserted_into_sys_path_before_candidate_import"
  ],
  "r03_stop": "source_install_rolled_back_after_mutating_legacy_writer_fence_probe_hit_stale_uvicorn_generation_and_created_one_legacy_invite",
  "r04_recovery": "PASS_clean_baseline_business_rows_zero_exact_r03_invite_removed_under_class_c_backup_restore_contract",
  "r05_safety": [
    "no_mutating_http_fence_probes",
    "controlled_backend_restart_requires_changed_started_at_and_pid",
    "non_mutating_fastapi_route_dependency_introspection",
    "source_rollback_forces_backend_restart",
    "target_package_contains_no_python_bytecode_or_cache"
  ],
  "reboot_required": false,
  "revision": "R05",
  "runtime_impact": true,
  "schema": "router-step-release-v1",
  "selector_authority": "VM100_only",
  "service_fixture_database": "temporary_postgresql_database_only",
  "snapshot_required": false,
  "source_changed": true,
  "source_of_truth": "exact_vm121_machine_git_e9bfa90773a8_plus_p23c_r04_clean_baseline_pass_and_r03_candidate_fixture_pass",
  "step_id": "STEP_050M07P23C_R05_VM121_DOMAIN_V2_SERVICE_LAYER_AND_CREDENTIAL_FOUNDATION",
  "system_egress_allocator_settings_expected": 14,
  "system_egress_targets_expected": 5,
  "target_environment_matrix": "reference/target-environment.tsv",
  "target_package_path": "payload/p23c-target-package.tar.gz",
  "target_package_sha256": "5c18fbd6b130919d1a03012914045cbb816f123da21ad66837d1ee4aef4705f2",
  "vm121_base_commit": "e9bfa90773a8cd3c25e0e8d734c4232121272f43",
  "vm121_base_tree": "b264b8b1d60510766bdd9775b8d2ffaea4015501",
  "vm121_expected_file_count_after": 45,
  "vm121_expected_file_count_before": 43,
  "worker_entry": "scripts/run-step.sh",
  "workflow_contract_version": 2
}
