Skip to content

Add shared authored force fields and accepted recording custody - #145

Merged
MrScripty merged 9 commits into
mainfrom
implementation/shared-force-domain-20261020
Oct 21, 2026
Merged

MrScripty merged 9 commits into
mainfrom
implementation/shared-force-domain-20261020

Conversation

@MrScripty

@MrScripty MrScripty commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Authoring previously had no shared external-field document/evaluator for the native MAC and particle-material paths. This draft adds versioned scene objects, immutable run snapshots, directional/radial/vortex fields with bounded support/falloff, opt-in solver adapters, and force-aware accepted pressure/control and recording custody.

Initial supported scope is closed-box MAC and raw particle-material APIs. Emitters, existing gravity, pair/material forces and turbulence remain separate. Force density divides by constant MAC density or evaluated local particle density. Legacy recording branches/hash algorithms remain unchanged; opted-in runs bind a versioned complete force document to the run header and every publication.

Validation:

  • Initial milestone: 16 exact pure evaluator/unit tests passed, plus five separately bounded pre-custody adapter tests.
  • Current codec milestone: seven exact pure in-memory codec tests passed; core builds with/without force-serde, targeted Clippy, formatting and diff checks passed.
  • Post-custody: all five adapter tests and both recording cases passed once each, serially, on corrected tested head 7970a5d. The test-only correction retains failed owned directories and outer SQLite handles during panic unwinding; independent review preceded execution. Solver source and adapter tests are unchanged from 1d44.
  • Every executed child used a 30 s wall timeout (TERM then owned-child KILL after 1 s), hard/soft CPU20 s, address space512 MiB, file/log1 MiB, test-threads1 and no parallel feature. No timeout, signal, unexpected selection or observed bound failure occurred; no tuning or retry.
  • Recording fixtures use one fresh owned directory/database each, database1 MiB/record64 KiB/max_records3, two committed rows, and an expected rejected mismatched append. Carrier: four cells, one accepted + one cancelled call, <=200 pressure iterations. Particle:64 parcels, one accepted + callback4-cancelled + invalid call, <=19 preparation entries. Actual custody, failed-prefix lifecycle and exact readback passed before successful owned-directory cleanup.
  • Independent source/equation/custody/test review has no remaining blocking findings.

Five exact adapter tests: authored_mac_matches_legacy_bounded_directional_force; authored_mac_cancellation_retains_accepted_state_and_retry; authored_particle_density_conversion_adds_to_existing_acceleration; authored_particle_cancel_retains_state_and_retry; empty_snapshot_preserves_both_legacy_paths.

Two exact recording tests: carrier_force_archive_round_trip_and_failed_attempt_invalidation; particle_force_archive_round_trip_and_rejected_control_custody.

The seven pure codec cases cover bit-preserving variants/IDs, truncation/versions/bounds, maximum-size scenes, run/step mismatch/absence/unbound metadata, invalid descriptors/custody, malformed run digests, and golden legacy run/step hashes.

Post-custody SHA-256 seals:

  • Adapter binary: ceea9adb9d9023107e7211ca4792d87d6fb7f3d4cc0b6e06f60f313ad1dca773
  • Recording binary: 4ee715678545204a996b70121d26dcb930578e7e5f94cafc27d111372af69e5b
  • Source manifest: 26cce65fa43bab619cd0951dbc523945c37fd0bc955c06b3451448ca82cc5277

Exact commands, raw logs, helper bounds, failure-preservation caveats and prior/current seals are committed under docs/plans/force-authoring/validation.md and evidence/{pre-custody-adapters,post-custody-7970a5d}. The supervisor's resource/execution functions were reused byte-for-byte; only paths/seals/names/counts/output flag were configured. No cgroups, mounts or security settings changed.

Still pending: desktop controls/handles, Request/launch dispatch, frozen run-intent schemas and archive UI/rerun integration. No src/bin files changed. Session/provider/free-surface/column/box-flux combinations, emitter integration, successful legacy stamp clearing after authored steps, exhaustive historical archives and desktop parity are outside the executed evidence. These bounded checks are not scientific L1/MMS or calibrated-physics validation.

Base main: fd7c0f0.
Tested source head: 7970a5d.
Current published head: 43ec505 (evidence/docs only after tested head).

Keep draft for coordinated UI integration and repository-lead review. No merge or branch deletion. CI status must be assessed independently for the latest head.

@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Path: .coderabbit.config.ts
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 848b701f-d802-45a2-bbff-ddd7f0df027d
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@MrScripty
MrScripty marked this pull request as ready for review October 21, 2026 00:45
@MrScripty
MrScripty merged commit 7516a8e into main Oct 21, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant