[INFO] cloning repository https://github.com/medoror/dafactory
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/medoror/dafactory" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmedoror%2Fdafactory", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmedoror%2Fdafactory'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43be20894ff9750ce398457dd69b5939c5344ef0
[INFO] testing medoror/dafactory against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmedoror%2Fdafactory" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/medoror/dafactory
[INFO] finished tweaking git repo https://github.com/medoror/dafactory
[INFO] tweaked toml for git repo https://github.com/medoror/dafactory written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/medoror/dafactory on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/medoror/dafactory already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2
[INFO] running `Command { std: "docker" "start" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling factory v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 11.65s
[INFO] running `Command { std: "docker" "inspect" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling factory v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 18.15s
[INFO] running `Command { std: "docker" "inspect" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/factory-b4cdb83e2018fc1e)
[INFO] [stdout] 
[INFO] [stdout] running 95 tests
[INFO] [stdout] test agent::real::tests::should_build_a_prompt_from_the_intent ... ok
[INFO] [stdout] test agent::real::tests::should_invoke_claude_headless_with_skip_permissions ... ok
[INFO] [stdout] test agent::tests::should_resolve_provider_from_flag_then_env_then_default ... ok
[INFO] [stdout] test agent::tests::should_treat_every_factory_prefixed_var_as_a_seam ... ok
[INFO] [stdout] test backlog::tests::should_handle_item_without_an_id ... ok
[INFO] [stdout] test backlog::tests::should_ignore_a_single_line_comment_intent ... ok
[INFO] [stdout] test backlog::tests::should_ignore_intents_hidden_in_an_html_comment ... ok
[INFO] [stdout] test backlog::tests::should_leave_text_unchanged_when_line_not_found ... ok
[INFO] [stdout] test backlog::tests::should_preserve_trailing_newline ... ok
[INFO] [stdout] test backlog::tests::should_return_none_for_empty_backlog ... ok
[INFO] [stdout] test backlog::tests::should_return_none_when_every_item_is_checked ... ok
[INFO] [stdout] test backlog::tests::should_select_first_unchecked_item_and_parse_id_and_title ... ok
[INFO] [stdout] test backlog::tests::should_select_the_real_intent_after_a_commented_example ... ok
[INFO] [stdout] test agent::scripted::tests::should_run_command_in_code_root_and_change_the_tree ... ok
[INFO] [stdout] test backlog::tests::should_skip_checked_items_with_capital_x ... ok
[INFO] [stdout] test backlog::tests::should_tick_the_matching_intent_line ... ok
[INFO] [stdout] test clock::tests::should_format_known_unix_seconds_as_iso8601_utc ... ok
[INFO] [stdout] test agent::scripted::tests::should_scrub_seam_variables_from_the_agent_environment ... ok
[INFO] [stdout] test backlog::tests::should_only_tick_the_first_matching_line ... ok
[INFO] [stdout] test commands::ls::tests::should_project_registry_into_rows_sorted_by_app ... ok
[INFO] [stdout] test commands::ls::tests::should_render_app_state_and_time ... ok
[INFO] [stdout] test commands::ls::tests::should_render_clear_line_for_empty_registry ... ok
[INFO] [stdout] test commands::ls::tests::should_render_never_run_fields_as_dashes ... ok
[INFO] [stdout] test commands::run::tests::should_decide_terminal_state_from_change_and_satisfaction ... ok
[INFO] [stdout] test commands::run::tests::should_be_retryable_when_code_root_is_not_a_repo ... ok
[INFO] [stdout] test commands::run::tests::should_escalate_when_holdout_is_inside_the_code_root ... ok
[INFO] [stdout] test commands::init::tests::should_keep_factory_root_outside_code_root ... ok
[INFO] [stdout] test commands::init::tests::should_create_both_roots_with_expected_files ... ok
[INFO] [stdout] test commands::init::tests::should_register_app_with_roots_and_mode ... ok
[INFO] [stdout] test commands::init::tests::should_make_code_root_a_git_repo_with_committed_scaffold ... ok
[INFO] [stdout] test commands::init::tests::should_keep_single_entry_when_reinitializing ... ok
[INFO] [stdout] test commands::init::tests::should_stay_a_single_clean_commit_baseline_on_reinit ... ok
[INFO] [stdout] test commands::run::tests::should_give_actionable_guidance_when_the_tree_is_not_clean ... ok
[INFO] [stdout] test commands::run::tests::should_emit_no_op_when_no_change_and_already_satisfied ... ok
[INFO] [stdout] test commands::run::tests::should_be_retryable_when_agent_cannot_run ... ok
[INFO] [stdout] test commands::scenarios::tests::should_error_when_app_not_registered ... ok
[INFO] [stdout] test commands::run::tests::should_propagate_summary_and_residual_to_loop_outcome ... ok
[INFO] [stdout] test commands::run::tests::should_escalate_and_not_commit_when_validation_does_not_pass ... ok
[INFO] [stdout] test commands::run::tests::should_no_op_as_completion_signal_when_backlog_exhausted_and_satisfied ... ok
[INFO] [stdout] test commands::scenarios::tests::should_be_idempotent ... ok
[INFO] [stdout] test commands::run::tests::should_escalate_when_no_change_and_not_satisfied ... ok
[INFO] [stdout] test commands::scenarios::tests::should_copy_spec_and_backlog_into_factory_root ... ok
[INFO] [stdout] test commands::scenarios::tests::should_error_when_backlog_has_no_open_intents ... ok
[INFO] [stdout] test commands::validate::tests::should_derive_50_percent_through_the_scripted_judge_ignoring_self_report ... ok
[INFO] [stdout] test commands::validate::tests::should_error_when_app_is_not_registered ... ok
[INFO] [stdout] test commands::run::tests::should_no_op_as_quiet_alarm_when_backlog_exhausted_but_failing ... ok
[INFO] [stdout] test commands::validate::tests::should_write_bundle_and_update_registry_satisfaction ... ok
[INFO] [stdout] test commands::run::tests::should_stop_immediately_on_retryable_when_retries_is_zero ... ok
[INFO] [stdout] test commands::validate::tests::should_report_satisfied_and_unsatisfied_differently_in_bundle ... ok
[INFO] [stdout] test evidence::tests::should_derive_bundle_fields_from_verdict ... ok
[INFO] [stdout] test evidence::tests::should_map_each_terminal_state_to_its_exit_code ... ok
[INFO] [stdout] test evidence::tests::should_record_satisfied_and_unsatisfied_scenarios_differently ... ok
[INFO] [stdout] test evidence::tests::should_write_bundle_under_evidence_run_id ... ok
[INFO] [stdout] test commands::scenarios::tests::should_error_when_backlog_md_is_missing ... ok
[INFO] [stdout] test git::tests::should_report_non_repo_then_repo_after_init ... ok
[INFO] [stdout] test commands::scenarios::tests::should_error_when_spec_md_is_unfilled_template ... ok
[INFO] [stdout] test git::tests::should_report_dirty_tree_with_untracked_file ... ok
[INFO] [stdout] test judge::real::tests::should_build_a_prompt_from_judge_md_and_scenarios ... ok
[INFO] [stdout] test judge::real::tests::should_invoke_claude_headless_with_skip_permissions ... ok
[INFO] [stdout] test commands::run::tests::should_stop_on_no_op_when_backlog_is_exhausted ... ok
[INFO] [stdout] test judge::tests::should_error_when_no_verdict_json_is_present ... ok
[INFO] [stdout] test judge::real::tests::should_hand_the_judge_scenarios_and_a_driver_but_never_source_contents ... ok
[INFO] [stdout] test judge::tests::should_extract_verdict_json_embedded_in_prose_without_fences ... ok
[INFO] [stdout] test judge::scripted::tests::should_return_the_canned_verdict_from_its_file ... ok
[INFO] [stdout] test judge::tests::should_report_zero_satisfaction_for_empty_verdict ... ok
[INFO] [stdout] test judge::tests::should_resolve_provider_from_flag_then_env_then_default ... ok
[INFO] [stdout] test judge::tests::should_round_satisfaction_to_nearest_percent ... ok
[INFO] [stdout] test judge::tests::should_extract_verdict_json_from_a_fenced_code_block ... ok
[INFO] [stdout] test judge::tests::should_parse_per_scenario_outcomes_and_ignore_self_reported_total ... ok
[INFO] [stdout] test paths::tests::should_place_code_root_under_cwd ... ok
[INFO] [stdout] test registry::tests::should_overwrite_entry_when_upserting_existing_app ... ok
[INFO] [stdout] test registry::tests::should_return_empty_registry_when_file_is_missing ... ok
[INFO] [stdout] test registry::tests::should_round_trip_registry_through_save_and_load ... ok
[INFO] [stdout] test registry::tests::should_serialize_mode_as_lowercase ... ok
[INFO] [stdout] test templates::tests::should_expose_scenario_claude_template_with_app_token ... ok
[INFO] [stdout] test paths::tests::should_place_registry_and_factory_root_under_home ... ok
[INFO] [stdout] test judge::tests::should_skip_non_verdict_objects_and_find_the_real_one ... ok
[INFO] [stdout] test templates::tests::should_overwrite_existing_files_on_rescaffold ... ok
[INFO] [stdout] test templates::tests::should_substitute_app_name_into_templates ... ok
[INFO] [stdout] test tests::should_omit_satisfaction_in_terminal_marker_when_absent ... ok
[INFO] [stdout] test templates::tests::should_write_every_expected_file_in_both_roots ... ok
[INFO] [stdout] test tests::should_include_satisfaction_in_terminal_marker_when_present ... ok
[INFO] [stdout] test commands::run::tests::should_restore_clean_baseline_before_retrying_after_a_staging_agent ... ok
[INFO] [stdout] test commands::run::tests::should_stop_on_escalate_and_return_last_terminal_state ... ok
[INFO] [stdout] test commands::scenarios::tests::should_return_the_factory_root_path ... ok
[INFO] [stdout] test git::tests::should_commit_staged_changes_and_return_hash ... ok
[INFO] [stdout] test commands::scenarios::tests::should_write_scenarios_readme_into_scenarios_dir ... ok
[INFO] [stdout] test commands::run::tests::should_capture_the_real_diff_even_when_the_agent_self_commits ... ok
[INFO] [stdout] test commands::scenarios::tests::should_error_when_spec_md_is_missing ... ok
[INFO] [stdout] test commands::scenarios::tests::should_write_claude_md_into_factory_root ... ok
[INFO] [stdout] test commands::run::tests::should_emit_pr_ready_and_commit_on_passing_change ... ok
[INFO] [stdout] test commands::run::tests::should_retry_once_then_stop_on_second_retryable ... ok
[INFO] [stdout] test git::tests::should_hard_reset_and_restore_work_tree_to_head ... ok
[INFO] [stdout] test git::tests::should_soft_reset_head_leaving_later_changes_staged ... ok
[INFO] [stderr]      Running tests/exit_codes.rs (/opt/rustwide/target/release/deps/exit_codes-8b761acd06ae426b)
[INFO] [stdout] test commands::run::tests::should_run_all_max_iters_passes_when_every_pass_is_pr_ready ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 95 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmp3puOYp/demo
[INFO] [stdout]   factory root: /tmp/.tmpYk9JsL/factories/demo
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmpyPVOt2/demo
[INFO] [stdout]   factory root: /tmp/.tmpFUgwxZ/factories/demo
[INFO] [stderr] factory: pass 1/1
[INFO] [stderr] factory: RETRYABLE — retrying (0 remaining)...
[INFO] [stderr] factory: → RETRYABLE
[INFO] [stdout] Ran 'demo': RETRYABLE in 1/1 passes
[INFO] [stdout]   summary:  working tree was not clean before the run — factory needs a clean baseline to attribute the agent's change
[INFO] [stdout]   residual: Commit, stash (`git stash`), or discard (`git reset --hard`) the changes in the code root, then run again.
[INFO] [stdout]   evidence: /tmp/.tmpFUgwxZ/factories/demo/evidence/1788430617_988566285
[INFO] [stdout] test retryable_exits_ten ... ok
[INFO] [stderr] factory: pass 1/1
[INFO] [stderr] factory: intent → B1 (do it)
[INFO] [stderr] factory: running agent...
[INFO] [stderr] factory: validating...
[INFO] [stderr] factory: → ESCALATE (0%)
[INFO] [stdout] Ran 'demo': ESCALATE (0%) in 1/1 passes
[INFO] [stdout]   summary:  ESCALATE: the agent made no change and the app does not pass — 0/1 scenarios satisfied (0%)
[INFO] [stdout]   residual: Left uncommitted; the result is not passing and a retry will not help — human attention needed.
[INFO] [stdout]   evidence: /tmp/.tmpYk9JsL/factories/demo/evidence/1788430618_007342272
[INFO] [stdout] test escalate_exits_eleven ... ok
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmpASOHz7/demo
[INFO] [stdout]   factory root: /tmp/.tmpDgULyD/factories/demo
[INFO] [stderr] factory: pass 1/1
[INFO] [stderr] factory: no open intent — validating
[INFO] [stderr] factory: validating...
[INFO] [stderr] factory: → NO_OP (100%)
[INFO] [stdout] Ran 'demo': NO_OP (100%) in 1/1 passes
[INFO] [stdout]   summary:  NO_OP: BACKLOG COMPLETE — all 1/1 scenarios satisfied (100%)
[INFO] [stdout]   residual: Completion signal: no unaddressed intent and validation passes. The project's success condition is met.
[INFO] [stdout]   evidence: /tmp/.tmpDgULyD/factories/demo/evidence/1788430618_069816552
[INFO] [stdout] test no_op_exits_zero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/loop_run.rs (/opt/rustwide/target/release/deps/loop_run-a4c86afc5f800132)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmp4u6C1A/demo
[INFO] [stdout]   factory root: /tmp/.tmpdQ2ALU/factories/demo
[INFO] [stderr]      Running tests/progress_output.rs (/opt/rustwide/target/release/deps/progress_output-f04178d8fce1c0dc)
[INFO] [stdout] test should_tick_two_intents_and_exit_zero_after_two_pr_ready_passes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmprYgRI2/demo
[INFO] [stdout]   factory root: /tmp/.tmp2dnFRG/factories/demo
[INFO] [stdout] Initialized 'demo'
[INFO] [stdout]   code root:    /tmp/.tmp12fYwZ/demo
[INFO] [stdout]   factory root: /tmp/.tmpBB20cf/factories/demo
[INFO] [stdout] test should_emit_all_stage_markers_in_order_when_intent_exists ... ok
[INFO] [stdout] test should_emit_no_intent_marker_when_backlog_exhausted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2", kill_on_drop: false }`
[INFO] [stdout] 94c348882f6b2e3bbe8b21d4739408f7b0b5e77c3faad8512c0e939a349d85d2
