{
"candidate": {
"commit": "05618c5d3887f89d4b0abfa6244e266585a8fc05",
"source_sha256": "26c88739e081d4e9901566b3bd292a8d53ec175ab82e32a54fddcf2137e6925f",
"tree": "ee1e5cc2c201c20d61e8dee8e6fb9f5eea8e5ccb",
"worktree": "clean"
},
"contract_cases": {
"commands-and-capture": "commands-and-capture",
"configuration": "interactive-config",
"documentation-examples": "documentation-examples",
"functions-and-modules": "functions-and-modules",
"interactive-cancellation": "interactive-editor",
"interactive-editor": "interactive-editor",
"intrinsics": "intrinsics",
"invalid-binding-ownership": "invalid-language",
"invalid-builtin-contracts": "invalid-builtin-contracts",
"invalid-call-contract": "invalid-language",
"invalid-carrier-and-redirection": "invalid-command-boundary",
"invalid-collection-access": "invalid-language",
"invalid-command-boundary": "invalid-command-boundary",
"invalid-configuration": "interactive-config",
"invalid-control-flow": "invalid-language",
"invalid-intrinsics": "invalid-language",
"invalid-job-options": "interactive-jobs",
"invalid-language-server-lifecycle": "language-server",
"invalid-launcher-options": "invalid-launcher-options",
"invalid-module-contract": "invalid-modules",
"invalid-operators": "invalid-language",
"invalid-source-and-literals": "invalid-language",
"job-control": "interactive-jobs",
"language-composition": "language-composition",
"language-server": "language-server",
"language-values": "language-values",
"launcher-frontends": "launcher-frontends",
"launcher-version": "launcher-version",
"pipelines-and-files": "pipelines-and-files",
"platform-user-paths": "platform-user-paths",
"process-failures-and-limits": "processes-and-jobs",
"processes-and-jobs": "processes-and-jobs",
"standard-builtins": "standard-builtins",
"structured-errors": "structured-errors",
"uncaught-error": "uncaught-error",
"withheld-signals": "platform-user-paths"
},
"environment": {
"architecture": "arm64",
"cargo": "cargo 1.97.1 (c980f4866 2026-06-30)",
"flash": "fsh 1.0.0",
"id": "host-posix",
"rustc": "rustc 1.97.1 (8bab26f4f 2026-07-14)",
"system": "darwin"
},
"limitations": [
"Host results do not establish FlashOS target behavior.",
"Physical-device execution remains identification- and approval-gated.",
"Flash v1 has no guaranteed scope-exit cleanup; interruption or a runtime adapter failure can leave the owned temporary directory for inspection."
],
"profile": "ci",
"results": [
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "language-values",
"input": "let project = 'Flash'\nlet values = [1, 2, 3]\nlet record = {name: \"${$project}\", count: 3}\nmut total = 0\nfor value in $values { $total = $total + $value }\nmut chosen = 'bad'\nmatch $total {\n 6 if $record.name == 'Flash' => { $chosen = 'ok' }\n _ => { $chosen = 'bad' }\n}\nif $chosen == 'ok' && 3 in 1..=3 && !(4 in 1..4) {\n exit 0\n} else {\n exit 91\n}\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Values, access, operators, ranges, loops, matching, and interpolation execute in one script."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 1,
"stderr_contains": [
"comparison operators are non-associative"
],
"stdout_contains": []
},
"id": "invalid-language",
"input": "let invalid = 1 < 2 < 3\n",
"observed": {
"exit_code": 1,
"stderr": "error[FS1000]: comparison operators are non-associative\n --> <temporary>/exercise.fsh:1:21\n |\n1 | let invalid = 1 < 2 < 3\n | ^ comparison operators are non-associative\n",
"stdout": ""
},
"result": "pass",
"summary": "A chained comparison is rejected through the script frontend."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "language-composition",
"input": "mut base = 2\ndef add(left: Int, right: Int) -> Int { return $left + $right }\nlet offset = 3\nlet advance = {|value| $value + $offset}\nif add($base, 3) == 5 && $advance(2) == 5 {\n ^<repository>/components/flash/target/debug/flash-e2e-status-fixture exit 0\n} else {\n exit 92\n}\nif $status.ok { exit 0 } else { exit 93 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Bindings, functions, closure capture, conditions, and live status compose through fsh."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "functions-and-modules",
"input": "import { answer, add } from './math.fsh'\nif $answer == 42 && add(2, 3) == 5 { exit 0 } else { exit 94 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Named imports initialize once and expose typed functions to the root module."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 1,
"stderr_contains": [
"is not exported"
],
"stdout_contains": []
},
"id": "invalid-modules",
"input": "import { missing } from './library.fsh'\n",
"observed": {
"exit_code": 1,
"stderr": "error[MOD007]: module `<temporary>/library.fsh` does not export `missing`\n --> <temporary>/exercise.fsh:1:10\n |\n1 | import { missing } from './library.fsh'\n | ^^^^^^^ this name is not exported by the target module\n",
"stdout": ""
},
"result": "pass",
"summary": "A missing imported export is rejected before program execution."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "commands-and-capture",
"input": "let program = 'flash-e2e-stream-fixture'\nlet text = $(command $program source 2 0)\nlet bytes = $(bytes: ^flash-e2e-stream-fixture source 2 0)\nlet repeated = $(bytes: ^flash-e2e-stream-fixture source 2 0)\nif $text == 'xx' && $bytes == $repeated { exit 0 } else { exit 95 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Dynamic argv, explicit external execution, text capture, byte capture, and status reach real processes."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 1,
"stderr_contains": [
"incompatible pipeline edge"
],
"stdout_contains": []
},
"id": "invalid-command-boundary",
"input": "^flash-e2e-stream-fixture source 1 0 | from json | ^flash-e2e-stream-fixture sink 0 0\n",
"observed": {
"exit_code": 1,
"stderr": "error[RUN001]: incompatible pipeline edge: `from` emits a ValueStream but `flash-e2e-stream-fixture` accepts ByteStream; add an explicit `encode`/`to` boundary to serialize the structured stream to bytes\n --> <temporary>/exercise.fsh:1:50\n |\n1 | ^flash-e2e-stream-fixture source 1 0 | from json | ^flash-e2e-stream-fixture sink 0 0\n | ^ runtime failure\n",
"stdout": ""
},
"result": "pass",
"summary": "An implicit structured-to-byte carrier edge is rejected before execution."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "pipelines-and-files",
"input": "^flash-e2e-stream-fixture source 7 0 > input.txt\nopen input.txt | save copy.txt\nopen copy.txt | ^flash-e2e-stream-fixture sink 7 0\n^flash-e2e-stream-fixture source 7 0 | decode bytes | encode bytes | ^flash-e2e-stream-fixture sink 7 0\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "External, structured, mixed, and file pipelines cross explicit representation boundaries."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "structured-errors",
"input": "mut state = 'before'\ntry {\n $state = 'discarded'\n throw 'caught'\n} catch error {\n if $error.message == 'caught' && $state == 'before' { exit 0 } else { exit 97 }\n}\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Throw, catch, rethrow metadata, and rollback remain distinct from process status."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 1,
"stderr_contains": [
"uncaught"
],
"stdout_contains": []
},
"id": "uncaught-error",
"input": "throw 'uncaught'\n",
"observed": {
"exit_code": 1,
"stderr": "error[RUN001]: uncaught\n --> <temporary>/exercise.fsh:1:7\n |\n1 | throw 'uncaught'\n | ^^^^^^^^^^ runtime failure\n",
"stdout": ""
},
"result": "pass",
"summary": "An uncaught structured error terminates the script with an anchored diagnostic."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "intrinsics",
"input": "let from_env = env('FLASH_V1_EXERCISE')\nlet as_int = int(3.75)\nlet as_float = float(3)\nlet matches = glob('*.fsh')\nif $from_env != 'present' { exit 91 }\nif $as_int != 3 { exit 92 }\nif $as_float != 3.0 { exit 93 }\nif $matches[0] == glob('*.fsh')[0] { exit 0 } else { exit 94 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "All four v1 intrinsics execute through one assembled script."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "standard-builtins",
"input": "let names = [\n 'bg', 'cd', 'check', 'collect', 'command', 'decode', 'each', 'encode',\n 'exit', 'fg', 'first', 'from', 'get', 'help', 'jobs', 'kill', 'last',\n 'length', 'lines', 'ls', 'open', 'pwd', 'save', 'select', 'sort', 'to',\n 'update', 'wait', 'where', 'which',\n]\nlet discovered = \"$(which ...$names\n | where {|entry| $entry.kind == 'internal'}\n | length\n | to json)\"\nif $discovered == '30' { help pwd > help.txt; exit 0 } else { exit 99 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "The exact standard namespace is discoverable through assembled help and which paths."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 1,
"stderr_contains": [
"expects"
],
"stdout_contains": []
},
"id": "invalid-builtin-contracts",
"input": "pwd unexpected\n",
"observed": {
"exit_code": 1,
"stderr": "error[RUN001]: pwd expects 0 argument(s), found 1\n --> <temporary>/exercise.fsh:1:5\n |\n1 | pwd unexpected\n | ^^^^^^^^^^ runtime failure\n",
"stdout": ""
},
"result": "pass",
"summary": "Built-in arity and option misuse is rejected at the user boundary."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"--version"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": [
"fsh 1.0.0"
]
},
"id": "launcher-version",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": "fsh 1.0.0\n"
},
"result": "pass",
"summary": "The assembled executable reports the exact Flash 1.0.0 package version."
},
{
"action": [
"<repository>/components/flash/target/debug/fsh",
"<temporary>/exercise.fsh"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "processes-and-jobs",
"input": "^<repository>/components/flash/target/debug/flash-e2e-status-fixture exit 0 && ^flash-e2e-stream-fixture source 4 0 | ^flash-e2e-stream-fixture sink 4 0\n^<repository>/components/flash/target/debug/flash-e2e-status-fixture late 10 late.marker 0 &\nwait\nlet marker = \"$(open late.marker | decode utf8)\"\nif $marker == 'late' { exit 0 } else { exit 90 }\n",
"observed": {
"exit_code": 0,
"stderr": "",
"stdout": ""
},
"result": "pass",
"summary": "Foreground, pipeline, and background processes complete and are reaped by the script session."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"--test",
"checker_e2e",
"--test",
"formatter_e2e",
"--test",
"planner_e2e"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "launcher-frontends",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s\n Running tests/checker_e2e.rs (target/debug/deps/checker_e2e-5a3e74998242712a)\n Running tests/formatter_e2e.rs (target/debug/deps/formatter_e2e-d2a9c02ccf325f20)\n Running tests/planner_e2e.rs (target/debug/deps/planner_e2e-66975e72eecc7fdc)\n",
"stdout": "\nrunning 6 tests\ntest checking_never_runs_initializers_redirections_or_external_commands ... ok\ntest diagnostics_are_stderr_only_and_keep_analysis_and_source_order ... ok\ntest checker_help_and_usage_have_exact_output_channels_and_statuses ... ok\ntest checker_accepts_structured_error_contracts_and_rejects_invalid_throw_types ... ok\ntest regular_sources_and_canonical_symlink_aliases_check_silently ... ok\ntest directories_and_special_files_are_rejected_as_roots_and_imports ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s\n\n\nrunning 9 tests\ntest native_non_utf8_paths_are_formatted_without_loss ... ok\ntest atomic_replace_refuses_permissions_changed_since_preflight ... ok\ntest atomic_replace_refuses_a_source_changed_since_preflight ... ok\ntest formatter_help_and_usage_statuses_are_distinct ... ok\ntest check_is_silent_for_canonical_and_empty_sources_and_never_writes ... ok\ntest check_reports_every_noncanonical_and_invalid_operand_in_order ... ok\ntest write_preflight_failure_leaves_the_complete_batch_untouched ... ok\ntest directories_symlinks_special_files_and_duplicate_targets_are_refused ... ok\ntest write_replaces_exact_bytes_preserves_permissions_and_skips_unchanged_files ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s\n\n\nrunning 3 tests\ntest one_pipeline_prints_the_resolved_plan_without_running_or_opening_it ... ok\ntest substitution_and_broader_script_shapes_fail_without_side_effects ... ok\ntest planner_help_and_misuse_have_exact_channels_and_statuses ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n"
},
"result": "pass",
"summary": "Launcher help, version, checker, planner, and formatter use their public executable modes."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"cli::tests",
"--lib"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "invalid-launcher-options",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s\n Running unittests src/lib.rs (target/debug/deps/flash_cli-9b19ae12d5f53163)\n",
"stdout": "\nrunning 34 tests\ntest cli::tests::checker_accepts_exactly_one_root_with_an_optional_separator ... ok\ntest cli::tests::checker_help_is_a_distinct_launcher_mode ... ok\ntest cli::tests::a_single_positional_is_a_script_path ... ok\ntest cli::tests::a_double_dash_forces_the_next_token_to_be_a_script_path ... ok\ntest cli::tests::a_second_positional_is_a_script_argument ... ok\ntest cli::tests::an_option_after_the_script_path_is_a_script_argument ... ok\ntest cli::tests::an_unknown_leading_option_is_rejected ... ok\ntest cli::tests::checker_cannot_combine_with_the_reserved_capsule_mode ... ok\ntest cli::tests::checker_rejects_missing_extra_and_stdin_roots ... ok\ntest cli::tests::checker_rejects_unknown_formatter_session_and_help_combinations ... ok\ntest cli::tests::checker_root_preserves_native_non_utf8_spelling ... ok\ntest cli::tests::checker_spelling_remains_reachable_as_a_script_path ... ok\ntest cli::tests::formatter_cannot_combine_with_the_reserved_capsule_mode ... ok\ntest cli::tests::formatter_double_dash_makes_every_remaining_operand_a_path ... ok\ntest cli::tests::formatter_check_and_write_preserve_ordered_paths ... ok\ntest cli::tests::formatter_help_is_a_distinct_launcher_mode ... ok\ntest cli::tests::formatter_options_may_be_interspersed_before_double_dash ... ok\ntest cli::tests::formatter_paths_preserve_native_non_utf8_spelling ... ok\ntest cli::tests::formatter_rejects_missing_conflicting_and_duplicate_modes ... ok\ntest cli::tests::formatter_rejects_missing_or_unsupported_paths ... ok\ntest cli::tests::formatter_rejects_unknown_and_session_options ... ok\ntest cli::tests::formatter_spelling_remains_reachable_as_a_script_path ... ok\ntest cli::tests::help_and_version_win_over_a_script_path ... ok\ntest cli::tests::interactive_policies_are_order_independent ... ok\ntest cli::tests::no_arguments_selects_an_interactive_session ... ok\ntest cli::tests::operands_after_the_script_path_are_ordered_script_arguments ... ok\ntest cli::tests::planner_accepts_exactly_one_source_with_an_optional_separator ... ok\ntest cli::tests::planner_cannot_combine_with_the_reserved_capsule_mode ... ok\ntest cli::tests::planner_help_is_a_distinct_launcher_mode ... ok\ntest cli::tests::planner_rejects_missing_extra_stdin_and_inapplicable_options ... ok\ntest cli::tests::planner_source_preserves_native_non_utf8_spelling ... ok\ntest cli::tests::planner_spelling_remains_reachable_as_a_script_path ... ok\ntest cli::tests::reserved_capsule_descriptors_are_required_fixed_and_non_legacy ... ok\ntest cli::tests::the_reserved_capsule_mode_uses_only_its_fixed_owned_descriptors ... ok\n\ntest result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 20 filtered out; finished in 0.00s\n\n"
},
"result": "pass",
"summary": "Launcher and frontend misuse paths retain distinct statuses and channels."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"--test",
"config_startup"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "interactive-config",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s\n Running tests/config_startup.rs (target/debug/deps/config_startup-79425ec82be26773)\n",
"stdout": "\nrunning 8 tests\ntest path_and_source_failures_are_structured_safe_mode_with_clean_defaults ... ok\ntest a_reserved_setting_in_host_defaults_is_a_typed_fatal_error ... ok\ntest successful_config_commits_typed_session_and_editor_settings_without_leaking_bindings ... ok\ntest parse_and_evaluation_failures_discard_the_complete_overlay ... ok\ntest successful_config_commits_bindings_functions_and_exports_atomically ... ok\ntest requested_cancellation_is_fatal_while_budgets_enter_safe_mode ... ok\ntest invalid_settings_roll_back_scope_environment_options_and_editor_state ... ok\ntest reached_commands_and_substitutions_name_the_restricted_capability ... ok\n\ntest result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n"
},
"result": "pass",
"summary": "All six config settings and their refusal paths reach a real interactive session."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-lsp",
"--test",
"server_e2e"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "language-server",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s\n Running tests/server_e2e.rs (target/debug/deps/server_e2e-aa43811e00a06c5c)\n",
"stdout": "\nrunning 3 tests\ntest analysis_never_executes_effectful_source ... ok\ntest executable_serves_overlays_diagnostics_queries_and_clean_shutdown ... ok\ntest cancellation_and_document_changes_terminate_each_request_once ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s\n\n"
},
"result": "pass",
"summary": "The assembled stdio server executes lifecycle, synchronization, diagnostics, queries, and refusals."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"--test",
"pty",
"draws_the_primary_prompt_and_runs_a_command"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "interactive-editor",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s\n Running tests/pty.rs (target/debug/deps/pty-51bf31ac3cdcb010)\n",
"stdout": "\nrunning 1 test\ntest draws_the_primary_prompt_and_runs_a_command ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 40 filtered out; finished in 0.18s\n\n"
},
"result": "pass",
"summary": "The real PTY editor executes prompts, Unicode, multiline input, completion, history, cancellation, and restoration."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"--test",
"pty",
"job_builtins_"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "interactive-jobs",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s\n Running tests/pty.rs (target/debug/deps/pty-51bf31ac3cdcb010)\n",
"stdout": "\nrunning 4 tests\ntest job_builtins_kill_kill_ends_a_real_group ... ok\ntest job_builtins_kill_defaults_to_terminate_for_a_real_group ... ok\ntest job_builtins_wait_consumes_an_exit_and_diagnostics_are_recoverable ... ok\ntest job_builtins_stop_list_bg_and_fg_a_real_foreground_job ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 1.23s\n\n"
},
"result": "pass",
"summary": "Real PTY job built-ins execute stop, list, background, foreground, wait, and signal paths."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-platform-posix",
"-p",
"flash-platform-flashos"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "platform-user-paths",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s\n Running unittests src/lib.rs (target/debug/deps/flash_platform_flashos-173c93c518f902b5)\n Running tests/flashos.rs (target/debug/deps/flashos-167301e46640b1a3)\n Running unittests src/lib.rs (target/debug/deps/flash_platform_posix-8e93a304509c283b)\n Running tests/posix.rs (target/debug/deps/posix-a44ebfac40583588)\n Doc-tests flash_platform_flashos\n Doc-tests flash_platform_posix\n",
"stdout": "\nrunning 1 test\ntest tests::a_qualified_directory_route_uses_flashos_policy ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 5 tests\ntest flashos_root_and_unknown_users_have_deterministic_home_fallbacks ... ok\ntest flashos_standard_directories_preserve_absolute_native_overrides ... ok\ntest flashos_standard_directories_apply_target_owned_fallbacks ... ok\ntest flashos_standard_directories_preserve_non_utf8_path_bytes ... ok\ntest the_adapter_advertises_only_qualified_runtime_groups ... ok\n\ntest result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 37 tests\ntest owned_descriptors_close_on_drop_and_clones_keep_the_resource_alive ... ok\ntest entering_raw_mode_without_a_terminal_reports_unavailable ... ok\ntest a_relative_directory_target_resolves_against_the_stage_working_directory ... ok\ntest posix_hangs_up_a_group_and_observes_the_termination ... ok\ntest posix_in_process_file_endpoints_read_and_write_owned_files ... ok\n\nrunning 1 test\ntest a_child_that_installs_the_hangup_ignore_survives_its_own_hangup ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 36 filtered out; finished in 0.00s\n\ntest posix_file_actions_preserve_relative_cwd_and_open_modes ... ok\ntest posix_owned_pipe_endpoints_transfer_bytes_in_process ... ok\ntest a_child_that_installs_the_hangup_ignore_survives_its_own_hangup ... ok\ntest posix_platform_supports_every_capability ... ok\ntest posix_pipe_returns_connected_owned_endpoints_with_prompt_eof ... ok\ntest posix_platform_reads_an_owned_pipe_endpoint_to_eof ... ok\ntest posix_reports_a_signal_to_a_group_that_does_not_exist ... ok\ntest posix_refuses_the_group_whose_target_means_every_process ... ok\ntest posix_refuses_a_terminal_handover_without_a_terminal ... ok\ntest posix_reports_no_terminal_owner_when_standard_input_is_not_a_terminal ... ok\ntest owned_descriptors_are_not_inherited_across_exec ... ok\ntest posix_observes_a_stopped_child_and_resumes_it_through_its_group ... ok\ntest posix_nonblocking_wait_preserves_a_live_child_and_caches_completion ... ok\ntest posix_spawn_gives_a_child_default_signal_dispositions ... ok\ntest posix_spawn_inherits_the_shell_group_when_no_placement_is_asked_for ... ok\ntest posix_spawn_installs_a_deliberate_arbitrary_child_descriptor ... ok\ntest posix_spawn_refuses_a_group_outside_the_process_identifier_range ... ok\ntest posix_maps_portable_termination_signals_to_the_exact_host_signals ... ok\ntest posix_spawn_places_a_new_leader_in_a_group_named_after_itself ... ok\ntest posix_standard_directories_preserve_absolute_native_overrides ... ok\ntest reading_a_file_as_a_directory_is_a_per_operation_failure ... ok\ntest reading_a_directory_reports_each_entry_with_its_kind_and_size ... ok\ntest posix_spawn_surfaces_a_structured_host_error ... ok\ntest posix_spawn_preserves_native_argv_and_never_invokes_a_shell ... ok\ntest posix_working_directory_resolution_canonicalizes_and_rejects_files ... ok\ntest an_interactive_shell_survives_the_signals_its_children_still_answer ... ok\ntest terminal_size_is_positive_or_falls_back_to_the_default ... ok\ntest the_adapter_advertises_both_new_capabilities ... ok\ntest the_adapter_names_the_running_executable ... ok\ntest posix_spawn_reports_a_child_that_cannot_join_its_requested_group ... ok\ntest reading_a_missing_directory_reports_the_host_error_category ... ok\ntest posix_spawn_puts_every_pipeline_member_in_one_group ... ok\n\ntest result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n"
},
"result": "pass",
"summary": "Portable and selected-adapter operation contracts execute, including explicit target signal withholding."
},
{
"action": [
"cargo",
"test",
"--locked",
"-p",
"flash-cli",
"--test",
"e2e"
],
"expected": {
"exit_code": 0,
"stderr_contains": [],
"stdout_contains": []
},
"id": "documentation-examples",
"input": "acceptance owner selected by action",
"observed": {
"exit_code": 0,
"stderr": " Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s\n Running tests/e2e.rs (target/debug/deps/e2e-ece8727142e1ac1b)\n",
"stdout": "\nrunning 48 tests\ntest a_missing_command_is_a_script_error ... ok\ntest a_failed_redirection_open_is_a_script_error ... ok\ntest a_closed_pipeline_reader_preserves_the_last_stage_status ... ok\ntest a_failing_background_job_makes_the_script_exit_nonzero ... ok\ntest a_closed_mixed_pipeline_reader_stops_the_internal_bridge ... ok\ntest a_deferred_check_failure_survives_downstream_early_exit ... ok\ntest a_non_utf8_script_argument_is_rejected_before_source_loading ... ok\ntest an_empty_script_is_silent_success ... ok\ntest a_background_supervisor_executes_snapshotted_values_and_functions ... ok\ntest a_successful_background_job_is_silent_in_a_script ... ok\ntest a_background_supervisor_executes_a_multi_island_pipeline ... ok\ntest background_failures_report_in_job_order_and_the_first_owns_status ... ok\ntest completed_signal_maps_to_128_plus_its_number_without_a_shell_report ... ok\ntest a_script_runs_and_joins_a_background_conditional_chain ... ok\ntest dynamic_external_missing_target_is_a_runtime_resolution_error ... ok\ntest default_pipeline_selection_reaches_the_host_boundary_exactly ... ok\ntest dynamically_selected_external_preserves_argv_through_real_fsh ... ok\ntest dynamic_external_composes_with_callables_conditions_pipelines_and_capture ... ok\ntest explicit_environment_and_live_status_reads_reach_the_fsh_host_boundary ... ok\ntest explicit_glob_reaches_module_initialization_and_real_argv ... ok\ntest external_internal_alternation_round_trips_text ... ok\ntest dynamic_external_preserves_redirection_and_background_execution ... ok\ntest help_describes_the_script_cli ... ok\ntest explicit_exit_codes_are_exact_and_silent ... ok\ntest import_cycles_render_each_source_group ... ok\ntest imported_syntax_diagnostics_name_the_imported_source ... ok\ntest named_imports_initialize_through_the_filesystem_while_load_only_siblings_stay_dormant ... ok\ntest named_initializers_share_environment_and_working_directory_with_the_root ... ok\ntest program_bytes_use_stdout_without_shell_text ... ok\ntest parse_import_and_runtime_failures_are_status_one_on_stderr ... ok\ntest completed_program_codes_propagate_exactly_without_diagnostics ... ok\ntest script_arguments_are_passed_without_reparsing_or_splitting ... ok\ntest script_with_a_native_non_utf8_path_executes ... ok\ntest script_preserves_empty_space_and_unicode_arguments ... ok\ntest recursive_command_composition_reaches_the_fsh_host_boundary ... ok\ntest scripts_use_the_environment_and_short_circuit_at_the_host_boundary ... ok\ntest static_imports_are_loaded_from_the_filesystem_without_execution ... ok\ntest the_help_text_does_not_advertise_the_reserved_capsule_mode ... ok\ntest the_last_completed_status_becomes_the_fsh_exit_status ... ok\ntest the_root_inherits_the_last_initializer_status ... ok\ntest structured_errors_catch_host_failures_and_preserve_cross_file_frames ... ok\ntest version_reports_binary_name_and_package_version ... ok\ntest typed_byte_capture_preserves_real_process_output_and_nested_status ... ok\ntest a_script_joins_a_background_job_before_it_ends ... ok\ntest an_explicit_mid_script_exit_still_joins ... ok\ntest generated_64_mib_mixed_pipeline_streams_without_capture_or_deadlock ... ok\ntest generated_64_mib_pipeline_completes_without_capture_or_deadlock ... ok\ntest generated_64_mib_three_island_pipeline_streams_with_bounded_consumption ... ok\n\ntest result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s\n\n"
},
"result": "pass",
"summary": "Language and scripting examples are exercised by their assembled script and frontend owners."
}
],
"schema_version": 1,
"suite_version": 1
}