Skip to content

fridge/config: Add equality, pack Target, make default heads inert - #26

Open
abcdchop wants to merge 1 commit into
mainfrom
codex/inert-heads-config
Open

abcdchop wants to merge 1 commit into
mainfrom
codex/inert-heads-config

Conversation

@abcdchop

Copy link
Copy Markdown
Collaborator

Summary

  • add equality operators for config types so hosts can detect changes
  • pack Target and keep optional targets compact
  • make default heads inert unless explicitly enabled
  • update console behavior and fuzz-test construction accordingly

Verification

  • git diff --check origin/main...HEAD passes
  • make test could not configure locally because the rapidcheck CMake package is unavailable

- Equality operators on Head, Target, LFO, and Config so hosts can
  detect config changes by comparison.
- Target packs to 3 bytes (uint8_t object index) so a full target list
  stays small; an std::optional<Target> is 4 bytes.
- Default heads are inert: they neither write, read, nor erase. Only
  heads the config explicitly turns on touch the tape. This matters
  once NUM_HEADS grows past what the initial config populates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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