Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
10e9a30
Implement R7 CPU memory-wall study harness
EmergentMonk Sep 27, 2026
27acc7c
Harden R7 study measurement integrity
EmergentMonk Sep 27, 2026
9091c1c
Fix R7 anti-elision pointer handling
EmergentMonk Sep 27, 2026
c7d641f
Harden R7 evidence provenance and tile lifecycle
EmergentMonk Sep 27, 2026
5aa7173
Harden R7 evidence build isolation
EmergentMonk Sep 27, 2026
187c894
Complete R7 toolchain and profile provenance
EmergentMonk Sep 27, 2026
d60e878
Bind R7 evidence to clean source and platform identity
EmergentMonk Sep 27, 2026
d0db06a
Pin R7 evidence build to tracked Makefile
EmergentMonk Sep 27, 2026
81e7ee8
Harden R7 source and compiler environment provenance
EmergentMonk Sep 27, 2026
58a8d8a
Fix R7 compiler environment self-test routing
EmergentMonk Sep 27, 2026
4ade160
Harden R7 evidence execution provenance
EmergentMonk Sep 27, 2026
574e2c6
Reproduce R7 provenance attacks in CI
EmergentMonk Sep 27, 2026
9718176
Fix R7 CI command assertion
EmergentMonk Sep 27, 2026
934d533
Document R7 provenance hardening authority
EmergentMonk Sep 27, 2026
79b28ea
Bind R7 execution environment in machine contract
EmergentMonk Sep 27, 2026
2dd3d9c
Document R7 environment provenance boundary
EmergentMonk Sep 27, 2026
c6a4d3d
Document replayable R7 evidence capture
EmergentMonk Sep 27, 2026
e3cc80c
Close remaining R7 provenance escape hatches
EmergentMonk Sep 27, 2026
504ed1e
Sanitize R7 tool PATH and raw source checks
EmergentMonk Sep 27, 2026
08ec17d
Add executable fresh-build provenance self-test
EmergentMonk Sep 27, 2026
a6a26a9
Reproduce R7 provenance escape cases in CI
EmergentMonk Sep 27, 2026
5477bdc
Extend R7 provenance authority
EmergentMonk Sep 27, 2026
a3e0bb5
Bind fresh-build and raw-source provenance
EmergentMonk Sep 27, 2026
1783dc1
Document R7 fresh-build provenance boundary
EmergentMonk Sep 27, 2026
696a7bb
Document R7 hostile-environment protections
EmergentMonk Sep 27, 2026
fa0deaf
Make loader sanitation CI probe executable
EmergentMonk Sep 27, 2026
f650b9c
Preserve system probe paths in sanitized R7 PATH
EmergentMonk Sep 27, 2026
5b043b8
Preserve system probe paths in sanitized R7 PATH
EmergentMonk Sep 27, 2026
d887bbf
Preserve system probe paths in sanitized R7 PATH
EmergentMonk Sep 27, 2026
9f440e3
Preserve system probe paths in sanitized R7 PATH
EmergentMonk Sep 27, 2026
00f1b59
Fix clean-filter CI reproduction
EmergentMonk Sep 27, 2026
6f19430
Terminate dirname options in R7 capture
EmergentMonk Sep 27, 2026
ffa3104
Isolate fresh-build CI reproduction
EmergentMonk Sep 27, 2026
8168b5f
Make R7 fresh builds unique and Make-safe
EmergentMonk Sep 27, 2026
d0dc9eb
Use PID in R7 fresh build directory
EmergentMonk Sep 27, 2026
235bb92
Test concurrent and space-path R7 builds
EmergentMonk Sep 27, 2026
966f66f
Define R7 concurrent and space-path build invariants
EmergentMonk Sep 27, 2026
22d11c6
Bind R7 Make-safe fresh-build paths
EmergentMonk Sep 27, 2026
773611e
Document unique Make-safe R7 build paths
EmergentMonk Sep 27, 2026
3ed7f10
Document concurrent and space-safe R7 builds
EmergentMonk Sep 27, 2026
4d86ca1
Use behavioral R7 uniqueness CI checks
EmergentMonk Sep 27, 2026
31a4c86
Isolate R7 provenance and make replay exact
EmergentMonk Sep 27, 2026
c773dab
Pin Git provenance executable path
EmergentMonk Sep 27, 2026
e497713
Reproduce R7 provenance and replay edge cases
EmergentMonk Sep 27, 2026
fe3789f
Define R7 Git isolation and replay invariants
EmergentMonk Sep 27, 2026
5fd5c12
Bind R7 Git provenance and replay metadata
EmergentMonk Sep 27, 2026
bba93db
Document R7 provenance-path and replay guarantees
EmergentMonk Sep 27, 2026
ee4c7d8
Document exact R7 metadata and replay output
EmergentMonk Sep 27, 2026
23ca4d2
Run all declared R7 microtiles at every profile size
EmergentMonk Sep 27, 2026
1c28f1e
Pin R7 platform and integrity probes
EmergentMonk Sep 27, 2026
4fb9c6a
Reproduce R7 trusted-probe and 4KiB microtile cases
EmergentMonk Sep 27, 2026
ecc403d
Define R7 trusted probes and complete microtile sweep
EmergentMonk Sep 27, 2026
78dac93
Bind R7 trusted probes and full microtile matrix
EmergentMonk Sep 27, 2026
88b8986
Document trusted R7 probes and full microtile coverage
EmergentMonk Sep 27, 2026
df9c52e
Document trusted R7 platform and integrity tools
EmergentMonk Sep 27, 2026
fc8f388
Close R7 capture race and trusted-tool gaps
EmergentMonk Sep 27, 2026
46ffe43
Validate R7 build before reserving evidence bundle
EmergentMonk Sep 27, 2026
a4fb669
Reproduce R7 post-build and trusted-helper attacks
EmergentMonk Sep 27, 2026
3757042
Define R7 post-build and trusted-helper invariants
EmergentMonk Sep 27, 2026
2d43851
Bind R7 post-build source and trusted helper provenance
EmergentMonk Sep 27, 2026
7db9a6a
Document R7 post-build validation and trusted helpers
EmergentMonk Sep 27, 2026
eb0f468
Document R7 trusted bundle creation and source revalidation
EmergentMonk Sep 27, 2026
ab09904
Build R7 evidence from recorded Git snapshot
EmergentMonk Sep 27, 2026
c84fa1f
Fix R7 evidence build to trusted immutable snapshot
EmergentMonk Sep 27, 2026
0f0deb5
Finalize R7 snapshot materialization path
EmergentMonk Sep 27, 2026
8f8e0fe
Validate R7 Git-snapshot evidence builds
EmergentMonk Sep 27, 2026
02346d0
Define R7 immutable Git-snapshot build authority
EmergentMonk Sep 27, 2026
e489626
Bind R7 evidence to immutable Git snapshot
EmergentMonk Sep 27, 2026
0142ef8
Document immutable R7 source snapshot builds
EmergentMonk Sep 27, 2026
cf3ef50
Document R7 snapshot-bound evidence source
EmergentMonk Sep 27, 2026
1486400
Restore snapshot permissions only for cleanup
EmergentMonk Sep 27, 2026
0094465
Stage R7 bundles and publish only on success
EmergentMonk Sep 27, 2026
b5b738c
Fix R7 staged capture uniqueness
EmergentMonk Sep 27, 2026
fc1f4bd
Test R7 failure cleanup and in-repo publish
EmergentMonk Sep 27, 2026
755fad7
Describe R7 staged publication precisely
EmergentMonk Sep 27, 2026
d724f5c
Match R7 staged publish contract in CI
EmergentMonk Sep 27, 2026
639d38c
Define staged R7 publication invariants
EmergentMonk Sep 27, 2026
f27765d
Bind R7 staged publication and failure cleanup
EmergentMonk Sep 27, 2026
bd43596
Document staged R7 evidence publication
EmergentMonk Sep 27, 2026
a214ded
Document R7 failure cleanup and delayed publish
EmergentMonk Sep 27, 2026
882944c
Restore raw source after clean-filter CI probe
EmergentMonk Sep 27, 2026
74497ca
Use status as clean-filter teardown assertion
EmergentMonk Sep 27, 2026
128c0f1
Remove clean filter before resetting CI worktree
EmergentMonk Sep 27, 2026
fce55fc
Harden R7 tool paths replay tar and publication
EmergentMonk Sep 27, 2026
579b73c
Reject unrepresentable R7 clock deltas safely
EmergentMonk Sep 27, 2026
bbdd406
Add deterministic R7 evidence regressions
EmergentMonk Sep 27, 2026
99ea912
Add deterministic R7 clock regression
EmergentMonk Sep 27, 2026
ab041f2
Wire deterministic R7 regression targets
EmergentMonk Sep 27, 2026
f5e432f
Run dedicated R7 regression suites in CI
EmergentMonk Sep 27, 2026
6d00d32
Canonicalize trusted tool directories without rejecting system symlinks
EmergentMonk Sep 27, 2026
9dae661
Make R7 regression ownership authoritative
EmergentMonk Sep 27, 2026
47f062f
Bind R7 dedicated regression suites
EmergentMonk Sep 27, 2026
a70b668
Document R7 deterministic regression gates
EmergentMonk Sep 27, 2026
8a6ad06
Document R7 regression ownership and hardening
EmergentMonk Sep 27, 2026
bed6f3b
Harden R7 concurrency serialization and Clang environment
EmergentMonk Sep 27, 2026
804fb0c
Add R7 concurrency serialization and Clang regressions
EmergentMonk Sep 27, 2026
5b6213e
Use shell PID in centralized R7 capture identity
EmergentMonk Sep 27, 2026
b13ac50
Extend R7 concurrency and environment invariants
EmergentMonk Sep 27, 2026
aa38a72
Bind R7 concurrency serialization and Clang regressions
EmergentMonk Sep 27, 2026
235ba3c
Document expanded R7 wrapper regressions
EmergentMonk Sep 27, 2026
f6d1db4
Document R7 concurrency and override hardening
EmergentMonk Sep 27, 2026
a15a386
Reject recursive Make flags and trust repo-root dirname
EmergentMonk Sep 27, 2026
ad71362
Add Make flag dirname and cleanup regressions
EmergentMonk Sep 27, 2026
5c3e29d
Repair literal Make-flag validation
EmergentMonk Sep 27, 2026
c7679eb
Repair regression harness PID identity
EmergentMonk Sep 27, 2026
9943b3c
Make default R7 regression target use fixed cc
EmergentMonk Sep 27, 2026
e2b27b4
Preserve shell variable in R7 regression target
EmergentMonk Sep 27, 2026
6299084
Remove stale appended R7 wrapper fragment
EmergentMonk Sep 27, 2026
f32ea23
Define R7 literal flags trusted root and regression cleanup
EmergentMonk Sep 27, 2026
e330828
Bind R7 literal flags and regression cleanup contract
EmergentMonk Sep 27, 2026
d4502c5
Document literal R7 flags and regression entrypoint
EmergentMonk Sep 27, 2026
9a84c03
Document R7 literal flag and cleanup guarantees
EmergentMonk Sep 27, 2026
384fb29
Harden R7 clock conversion and atomic publication
EmergentMonk Sep 27, 2026
ab3abc6
Clarify R6 to R7 authority migration
EmergentMonk Sep 27, 2026
36513e3
Reject shell-evaluated R7 build flags
EmergentMonk Sep 27, 2026
a74162c
Reject compiler response-file build flags
EmergentMonk Sep 27, 2026
dab3311
Reject Clang external config build flags
EmergentMonk Sep 27, 2026
5e805f9
Reject GCC external specs build flags
EmergentMonk Sep 27, 2026
55c6498
Harden R7 compiler controls and signal cancellation
EmergentMonk Sep 27, 2026
380afca
Fix R7 compiler override regression fixture
EmergentMonk Sep 27, 2026
c91be47
Harden R7 wrappers replay and hash environment
EmergentMonk Sep 27, 2026
2bce8d1
Update R7 replay CI contract
EmergentMonk Sep 27, 2026
aba2be4
Harden R7 evidence isolation and replay concurrency
EmergentMonk Sep 27, 2026
033a953
Add R7 evidence hardening regressions
EmergentMonk Sep 27, 2026
b734fba
Document R7 evidence isolation invariants
EmergentMonk Sep 27, 2026
7ac5263
Update R7 replay regressions for PID-qualified snapshots
EmergentMonk Sep 27, 2026
576d23e
Fix R7 replay assignment parsing
EmergentMonk Sep 27, 2026
97655b2
Harden R7 worktree and compiler configuration isolation
EmergentMonk Sep 27, 2026
f5abebf
Repair R7 flag metacharacter validation
EmergentMonk Sep 27, 2026
1f1ac7f
Add R7 worktree brace and Clang config regressions
EmergentMonk Sep 27, 2026
8b54592
Document R7 worktree and compiler config invariants
EmergentMonk Sep 27, 2026
fa111b1
Remove duplicated R7 script tail
EmergentMonk Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
440 changes: 438 additions & 2 deletions .github/workflows/c99.yml

Large diffs are not rendered by default.

153 changes: 149 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,13 @@ MODE=MACHINE_ONLY
PROJECT=RUNE
REFERENCE_LANGUAGE=ISO_C99
LICENSE=MPL-2.0
CURRENT_PHASE=R6
RUNTIME_IMPLEMENTATION_ALLOWED=true
CURRENT_PHASE=R7
RUNTIME_IMPLEMENTATION_ALLOWED=false
RUNTIME_PERFORMANCE_CLAIMS_ALLOWED=false
AUTHORITY_TRANSITION=R6_TO_R7
TRANSITION_REVIEW_MODE=EVALUATE_PROPOSED_AUTHORITY_MIGRATION
BASE_PHASE_UNTIL_MERGE=R6
FROZEN_R1_THROUGH_R6_SEMANTICS_PRESERVED=true

READ_ORDER:
1=machine/project-v1.json
Expand All @@ -18,6 +22,7 @@ READ_ORDER:
7=machine/r4-corpus-v1.json
8=machine/r5-rings-streaming.v1.json
9=machine/r6-operation-receipts.v1.json
10=machine/r7-memory-wall-study.v1.json

HUMAN_PROSE:
README.md
Expand All @@ -30,6 +35,7 @@ R3-INTEGER-NUMERIC.md
R4-CORPUS-v1.md
R5-RINGS-STREAMING.md
R6-OPERATIONS-RECEIPTS.md
R7-MEMORY-WALL-STUDY.md

MACHINE_AUTHORITY:
machine/project-v1.json
Expand All @@ -41,14 +47,18 @@ machine/r3-integer-numeric.v1.json
machine/r4-corpus-v1.json
machine/r5-rings-streaming.v1.json
machine/r6-operation-receipts.v1.json
machine/r7-memory-wall-study.v1.json

CONFLICT_POLICY=FAIL_CLOSED
ON_HUMAN_MACHINE_CONTRADICTION=STOP_AND_REPORT
DO_NOT_INVENT_RECONCILIATION=true

CORE_RULES:
- PR_review_of_R6_to_R7_must_evaluate_the_proposed_authority_transition_not_enforce_base_R6_phase_fields_against_the_R7_head
- R6_to_R7_transition_supersedes_current_phase_and_phase_specific_runtime_implementation_permission_only
- frozen_R1_through_R6_runtime_semantics_receipts_and_proofs_are_preserved
- preserve_all_invariants
- runtime_code_allowed_only_within_current_R6_operation_receipt_scope
- runtime_core_changes_forbidden_in_R7_study_phase
- cpu_only
- integer_only_public_semantics
- fractional_rounding_behavior_must_be_declared
Expand Down Expand Up @@ -144,7 +154,142 @@ CORE_RULES:
- optional_internal_optimization_unavailable_or_losing_requires_fallback_to_correct_simpler_path
- requested_contract_capability_unsupported_requires_explicit_failure
- optional_internal_optimization_absence_is_not_unsupported_capability_failure
- runtime_performance_claims_forbidden_in_R6
- runtime_performance_claims_forbidden_until_R7_local_evidence_is_committed_and_reviewed
- R7_raw_observation_capture_is_allowed
- R7_raw_observations_are_not_performance_claims
- R7_CI_smoke_timing_is_not_performance_evidence
- R7_reference_timer_is_C99_clock_process_CPU_time
- R7_observations_record_setup_execute_teardown_and_total_ticks
- R7_pairwise_comparisons_require_exact_result_identity
- R7_volatile_study_accesses_prevent_variant_elision
- R7_microtile_allocates_only_selected_extent_inside_timed_lifecycle
- R7_microtile_selected_extent_is_in_resident_peak_and_setup_teardown_timing
- R7_all_eight_declared_microtiles_execute_for_every_valid_working_set
- R7_microtile_may_exceed_logical_input_and_process_only_available_items
- R7_evidence_destination_must_be_new_and_immutable
- R7_bundle_files_are_staged_under_ignored_build_until_capture_finalization
- R7_capture_unique_identity_is_UTC_timestamp_plus_shell_PID_for_source_build_bundle_and_publish_stages
- R7_failed_capture_removes_bundle_stage_and_source_snapshot
- R7_termination_signals_are_forwarded_to_active_study_before_capture_cleanup
- R7_termination_before_study_start_exits_without_launching_measurement
- R7_requested_destination_is_published_only_after_measurement_source_revalidation_and_SHA256
- R7_publish_uses_sibling_destination_filesystem_stage_before_final_rename
- R7_copied_publish_stage_must_pass_SHA256_before_final_rename
- R7_final_publish_uses_destination_specific_atomic_mkdir_lock
- R7_competing_same_destination_captures_must_not_nest_publish_stages
- R7_failed_publish_must_leave_requested_destination_absent
- R7_default_evidence_r7_destination_must_finalize_without_self_dirtying
- R7_repeats_are_validated_before_bundle_creation
- R7_bundle_directory_is_created_with_fixed_provenance_mkdir_and_verified_empty
- R7_dirty_state_includes_untracked_files_and_is_sampled_before_bundle_creation
- R7_evidence_capture_requires_clean_working_tree
- R7_assume_unchanged_and_skip_worktree_flags_are_forbidden
- R7_index_visibility_flags_are_checked_before_dirty_state
- R7_Git_routing_environment_is_cleared_before_provenance_checks
- R7_repository_local_core_worktree_must_resolve_to_repo_root
- R7_worktree_sensitive_Git_provenance_commands_force_repo_root_as_worktree
- R7_Git_provenance_commands_are_anchored_to_repo_root
- R7_repository_root_derivation_uses_fixed_provenance_dirname
- R7_Git_executable_is_resolved_from_fixed_provenance_PATH_and_recorded
- R7_evidence_build_PATH_is_fixed_and_not_caller_overridable
- R7_Git_replacement_objects_are_disabled_and_replacement_refs_are_forbidden
- R7_raw_tracked_build_inputs_must_hash_equal_source_revision_without_filters
- R7_evidence_build_source_is_git_archive_of_recorded_revision
- R7_source_snapshot_contains_only_recorded_Makefile_src_include_study
- R7_source_snapshot_bytes_must_hash_equal_recorded_revision
- R7_TAR_OPTIONS_is_cleared_for_capture_and_replay
- R7_source_snapshot_rejects_unexpected_files_and_symlinks
- R7_source_snapshot_inputs_are_made_read_only_before_build
- R7_mutable_worktree_is_not_used_as_evidence_build_source
- R7_source_identity_is_revalidated_after_build_and_after_measurement
- R7_Git_system_and_global_configuration_are_disabled_for_provenance_commands
- R7_Git_core_fsmonitor_and_core_hooksPath_are_forced_inert_for_capture_and_replay
- R7_ambient_GIT_CONFIG_injection_cannot_override_provenance_command_isolation
- R7_bundle_is_not_created_until_post_build_source_revalidation_passes
- R7_ignored_untracked_files_under_src_include_study_are_forbidden
- R7_ambient_compiler_search_path_environment_is_cleared
- R7_CCC_OVERRIDE_OPTIONS_is_cleared_before_compiler_identity_build_and_replay
- R7_compiler_search_environment_sanitation_is_CI_self_tested
- R7_dynamic_loader_injection_environment_is_cleared_before_tool_and_study_execution
- R7_dynamic_loader_environment_sanitation_is_CI_self_tested
- R7_intentional_external_include_paths_must_be_in_recorded_CPPFLAGS
- R7_dirty_worktree_evidence_capture_is_forbidden
- R7_source_revision_must_identify_exact_built_source_contents
- R7_platform_identity_capture_must_succeed_and_be_nonempty
- R7_platform_identity_and_CPU_model_are_serialized_with_printf_without_echo_escape_interpretation
- R7_uname_is_resolved_from_fixed_provenance_PATH_and_recorded
- R7_integrity_SHA256_utility_is_resolved_from_fixed_provenance_PATH_and_recorded
- R7_shasum_fallback_clears_Perl_interpreter_injection_and_search_environment
- R7_quote_serializer_sed_is_resolved_from_fixed_provenance_PATH_and_recorded
- R7_memory_profile_awk_parser_is_resolved_from_fixed_provenance_PATH_and_recorded
- R7_optional_getconf_and_sysctl_host_probes_use_fixed_provenance_PATH
- R7_evidence_class_is_raw_local_execution_observation
- R7_CPPFLAGS_and_CFLAGS_are_recorded_and_bound
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_Make_variable_references
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_shell_substitution_control_redirection_comment_tilde_glob_or_brace_expansion_syntax
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_compiler_response_file_syntax
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_Clang_config_file_or_config_search_directory_controls
- R7_Clang_capture_and_replay_must_pass_and_record_no_default_config
- R7_Clang_implicit_default_configuration_files_are_not_evidence_inputs
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_GCC_specs_file_controls
- R7_CPPFLAGS_and_CFLAGS_sensitive_compiler_controls_are_tokenized_across_all_POSIX_shell_whitespace
- R7_CPPFLAGS_and_CFLAGS_sensitive_compiler_controls_are_checked_after_conservative_shell_quote_and_backslash_normalization
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_GCC_B_subprogram_search_overrides
- R7_CPPFLAGS_and_CFLAGS_must_not_contain_GCC_subprocess_wrapper_controls
- R7_CPPFLAGS_and_CFLAGS_shell_response_or_compiler_config_expansion_rejection_occurs_before_Make_execution
- R7_CPPFLAGS_and_CFLAGS_recording_preserves_backslashes_exactly
- R7_archiver_identity_is_recorded_and_bound
- R7_CC_and_AR_must_each_name_one_executable_resolved_from_fixed_provenance_PATH
- R7_CC_AR_and_Make_paths_are_canonicalized_before_trusted_prefix_checks
- R7_arbitrary_external_compiler_wrappers_are_forbidden_for_evidence_capture
- R7_recorded_build_command_uses_shell_safe_unambiguous_quoting
- R7_recorded_replay_begins_with_set_eu_and_fails_fast
- R7_failed_replay_preserves_checksum_bound_observations_and_cleans_snapshot_and_temporary_output
- R7_replay_source_snapshot_and_build_directory_are_process_qualified_for_concurrent_replays
- R7_successful_replay_atomically_replaces_observations_only_after_study_success
- R7_recorded_replay_recreates_git_source_snapshot
- R7_recorded_replay_build_uses_make_C_source_snapshot
- R7_recorded_replay_study_path_is_absolute
- R7_recorded_replay_includes_absolute_observations_redirection
- R7_command_txt_recreates_observations_file_from_any_working_directory
- R7_evidence_build_uses_recorded_fixed_absolute_PATH_entries
- R7_make_driver_compiler_archiver_and_build_utilities_are_resolved_from_fixed_provenance_PATH
- R7_evidence_build_uses_fresh_unique_BUILD_DIR_and_does_not_depend_on_make_clean
- R7_fresh_BUILD_DIR_identity_includes_UTC_timestamp_and_shell_PID
- R7_concurrent_evidence_builds_must_not_share_BUILD_DIR
- R7_shared_build_parent_creation_is_idempotent_and_concurrency_safe
- R7_concurrent_full_capture_regressions_cover_build_parent_present_and_absent
- R7_Make_facing_BUILD_DIR_and_study_target_are_repository_relative
- R7_repository_paths_with_spaces_are_supported_for_evidence_capture
- R7_fresh_build_self_test_is_CI_executed_with_hostile_ambient_PATH
- R7_concurrent_and_space_path_fresh_builds_are_CI_tested
- R7_shell_safe_quote_serializer_is_CI_self_tested
- R7_local_profile_defaults_to_five_repeats_unless_explicitly_overridden
- R7_inherited_make_dry_run_flags_are_cleared_for_evidence_build
- R7_evidence_build_must_rebuild_from_recorded_source_and_flags
- R7_evidence_build_pins_tracked_Makefile_with_make_f
- R7_tracked_Makefile_blob_identity_is_recorded
- R7_implicit_GNUmakefile_or_lowercase_makefile_must_not_control_evidence_build
- R7_evidence_destination_must_not_resolve_inside_build_directory
- R7_evidence_destination_must_not_lexically_route_through_build_directory
- R7_evidence_destination_parent_traversal_is_forbidden
- R7_getconf_memory_profile_requires_both_nonzero_numeric_page_count_and_size
- R7_compiler_identity_capture_must_succeed
- R7_compound_CC_is_not_accepted_for_evidence_capture
- R7_memory_profile_is_required_on_every_supported_capture_host
- R7_clock_delta_representability_is_proven_before_any_subtraction
- R7_floating_clock_t_is_rejected_before_any_integer_conversion
- R7_floating_clock_t_rejection_is_float_cast_overflow_regression_tested
- R7_signed_clock_extreme_delta_is_UBSan_regression_tested
- R7_environment_bundle_requires_source_workload_toolchain_build_CPU_memory_method
- R7_run_local_deterministic_regressions_live_in_tests_test_r7_run_local_sh
- R7_documented_r7_evidence_regression_target_accepts_default_cc
- R7_regression_exit_trap_removes_shared_memory_publish_fixture
- R7_clock_deterministic_regressions_live_in_tests_test_r7_clock_c
- R7_dedicated_regression_targets_run_in_CI_for_GCC_and_Clang
- R7_negative_results_must_be_retained
- R7_timing_alone_must_not_claim_cache_NUMA_or_bandwidth_cause
- R7_runtime_core_changes_are_out_of_scope
- causal_performance_claim_requires_support_beyond_timing
- portable_identity_requires_explicit_versioned_representation
- fixed_width_integer_identity_is_allowed_but_not_the_only_allowed_explicit_representation
Expand Down
31 changes: 30 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,12 @@ TEST_NUMERIC = $(BUILD_DIR)/test_numeric
TEST_RING = $(BUILD_DIR)/test_ring
TEST_OPERATION = $(BUILD_DIR)/test_operation
R6_PROOF = $(BUILD_DIR)/rune_r6_proof
R7_STUDY = $(BUILD_DIR)/rune_r7_study
R7_CLOCK_REGRESSION = $(BUILD_DIR)/test_r7_clock
R7_FLOAT_CLOCK_REGRESSION = $(BUILD_DIR)/test_r7_clock_float
CORPUS = $(BUILD_DIR)/rune_corpus

.PHONY: all test r6-proof corpus-smoke clean
.PHONY: all test r6-proof r7-study-smoke r7-study r7-clock-regression r7-evidence-regression corpus-smoke clean

all: $(LIB)

Expand Down Expand Up @@ -67,6 +70,32 @@ r6-proof: $(R6_PROOF)
./$(R6_PROOF) > $(BUILD_DIR)/r6-proof.tsv
cmp $(BUILD_DIR)/r6-proof.tsv proof/r6-proof-receipts.v1.tsv

$(R7_STUDY): study/r7_memory_wall.c $(LIB) include/rune/arena.h include/rune/region.h include/rune/status.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(STRICT_CFLAGS) $(INCLUDES) study/r7_memory_wall.c $(LIB) -o $@

r7-study-smoke: $(R7_STUDY)
./$(R7_STUDY) --bytes 32768 --repeats 1 > $(BUILD_DIR)/r7-study-smoke.tsv
test "`wc -l < $(BUILD_DIR)/r7-study-smoke.tsv`" -eq 20
awk -F '\t' 'NF != 17 { exit 1 } END { if (NR != 20) exit 1 }' $(BUILD_DIR)/r7-study-smoke.tsv

r7-study: $(R7_STUDY)
./$(R7_STUDY) --profile local --repeats 5

$(R7_CLOCK_REGRESSION): tests/test_r7_clock.c $(LIB)
$(CC) $(CPPFLAGS) $(CFLAGS) $(STRICT_CFLAGS) $(INCLUDES) -fsanitize=undefined -fno-sanitize-recover=undefined tests/test_r7_clock.c $(LIB) -o $@

$(R7_FLOAT_CLOCK_REGRESSION): tests/test_r7_clock_float.c tests/r7_float_clock/time.h $(LIB)
$(CC) $(CPPFLAGS) $(CFLAGS) $(STRICT_CFLAGS) -Itests/r7_float_clock $(INCLUDES) -fsanitize=undefined,float-cast-overflow -fno-sanitize-recover=undefined,float-cast-overflow tests/test_r7_clock_float.c $(LIB) -o $@

r7-clock-regression: $(R7_CLOCK_REGRESSION) $(R7_FLOAT_CLOCK_REGRESSION)
./$(R7_CLOCK_REGRESSION)
./$(R7_FLOAT_CLOCK_REGRESSION)

r7-evidence-regression:
@r7_cc='$(CC)'; \
if [ "$$r7_cc" = cc ]; then r7_cc=/usr/bin/cc; fi; \
CC="$$r7_cc" AR="$(AR)" sh tests/test_r7_run_local.sh

$(CORPUS): corpus/rune_corpus.c $(LIB) include/rune/arena.h include/rune/numeric.h include/rune/region.h include/rune/status.h
$(CC) $(CPPFLAGS) $(CFLAGS) $(STRICT_CFLAGS) $(INCLUDES) corpus/rune_corpus.c $(LIB) -o $@

Expand Down
Loading
Loading