feat: model visualization, Doxygen docs, blob signing, condition cleanup#6
Merged
Conversation
- Task 1: Add 'arbiterc graph' CLI command with Mermaid and DOT output (python/arbiter/emit_graph.py, CLI integration, tests) - Task 2: Add Doxyfile for API docs, docs CI job, .gitignore update - Task 3: HMAC-SHA256 blob signing (sign_blob in emit_blob.py, ARBITER_blob_verify_signature in arbiter_blob.c, CONFIG_ARBITER_BLOB_SIGNING) - Task 4: Remove unused group_index/next from ARBITER_condition_def (saves 4 bytes per condition on nano profile), update all emitters Co-Authored-By: Oz <oz-agent@warp.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Model visualization, Doxygen docs, blob signing, and condition struct cleanup.
Task 1: Model Visualization —
arbiterc grapharbiterc graph <model> --out graph.md --format mermaid|dotpython/arbiter/emit_graph.pywithemit_mermaid()andemit_dot()tests/python/test_emit_graph.pyTask 2: Doxygen Configuration
Doxyfileat repo root targetinginclude/arbiter/docsjob: installs doxygen, generates HTML, uploads as artifactdocs/api/html/added to.gitignoreTask 3: Model Signing (HMAC-SHA256)
sign_blob()inemit_blob.py: sets signed flag, appends 32-byte HMACARBITER_blob_verify_signature()inarbiter_blob.c: constant-time HMAC verifyCONFIG_ARBITER_BLOB_SIGNINGKconfig option (depends on BLOB_LOADER)arbiter_sha256()function provided by integratortests/python/test_blob_signing.pyTask 4: Remove Unused Condition Fields
group_indexandnextfromstruct ARBITER_condition_defemit_c.py,emit_blob.py,arbiter_blob.ccondition parserTest Results
Conversation: https://app.warp.dev/conversation/25f5afef-c932-475b-830c-b3dbdb0e6845
Run: https://oz.warp.dev/runs/019e8993-e9a7-7284-b952-d8ec4f7a206e
This PR was generated with Oz.