feat: add CLI protocol setup commands for SECOM, ACE, and RLM#24
Merged
timeleft-- merged 9 commits intomainfrom Mar 10, 2026
Merged
feat: add CLI protocol setup commands for SECOM, ACE, and RLM#24timeleft-- merged 9 commits intomainfrom
timeleft-- merged 9 commits intomainfrom
Conversation
…tions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add DEFAULT_HOOK_ENTRY constants to secom, ace, rlm protocol modules
- Extract _find_jj_bin() helper, refactor cmd_bootstrap/cmd_clone to use it
- Add _cmd_protocol_setup() generic handler + cmd_{secom,ace,rlm}_setup wrappers
- Add cmd_secom_warmup() for pre-downloading LLMLingua model
- Wire secom/ace/rlm subcommands into CLI parser
- Add initial test coverage for setup commands (fixing test isolation in progress)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…plete) - Fix _jj_commit_dance: jj new now includes -m '(new change)' per data repo convention - Add warmup hint after secom setup --write - Fix test isolation: use FAVA_TRAILS_DATA_REPO env + ConfigStore.reset() - README: add ACE and RLM protocol sections with CLI setup examples - AGENTS_SETUP_INSTRUCTIONS: expand protocols table, add CLI setup commands - docs/fava_trails_faq.md: add protocol setup CLI examples + SECOM warmup FAQ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes ruff E402 (module-level imports not at top) and F401 (unused imports). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- _jj_commit_dance returns bool, bails on first failure - _cmd_protocol_setup warns when jj dance fails after config save - Wrap config.yaml read/write in error handling - secom warmup returns 1 on compression test failure - _find_jj_bin checks is_file + executability, not just existence - Remove redundant imports (importlib, os) in cmd_secom_warmup - Fix _find_jj_bin tests to be properly assertive - Fix test_bootstrap_fails_if_jj_missing to patch _find_jj_bin Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
fava-trails {secom,ace,rlm} setup [--write]CLI commands that print default hook YAML or write it directly toconfig.yamlwith full jj commit dancefava-trails secom warmupto pre-download the LLMLingua model (~700MB) before first use_find_jj_bin()shared helper from duplicated patterns incmd_bootstrap/cmd_cloneDEFAULT_HOOK_ENTRYconstants to each protocol module as single source of truthMotivation
propose_truthwith SECOM triggers a ~4min HuggingFace model download that exceeds hook timeout.secom warmuppre-downloads it.config.yamldon't follow the jj commit dance, leaving uncommitted changes that trip cross-trail pollution guards.setup --writehandles the full dance automatically.Test plan
uv run pytest -v)uv run ruff check src/)_find_jj_bintests (PATH, fallback, not found)🤖 Generated with Claude Code