Rename RunWitness to RunTranslator - #770
Merged
Merged
Conversation
RunWitness borrowed its name from the modeling axis it implements (ConductMode.WITNESSED, "who drove the act") rather than from what the agent itself does: translate an external tool's own vocabulary (TomoScan's free-text ScanStatus values) into CORA's canonical CapturePhase, then issue the matching Run command. Per R5's actual test (name the agent for its own verb, not a category its output belongs to), RunTranslator is the correct name, and it stops reading as a fifth member of the unrelated Watcher family in the fleet roster. Full rename: new seeded identity (RunTranslator, AgentName is genesis-only immutable so this is a fresh definition, not an edit), the implementing runtime module/class (_run_witness.py -> _run_translator.py, RunWitnessRecorder -> RunTranslator), every run_witness.* log event -> run_translator.*, and every docstring/ comment cross-reference that pointed at the old names. RunWitness itself (seed_run_witness.py, RUN_WITNESS_AGENT_ID) stays source- tracked forever per its own FOREVER-STABLE rule, retired as the compile-time default the same way the RunDebriefer/CautionDrafter legacy pair was. Deliberately unchanged: the run_witness_enabled / run_witness_recording_enabled Settings fields and their env vars, since renaming those would silently change what a live deployment's existing configuration means.
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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
RunWitnessborrowed its name from the modeling axis it implements (ConductMode.WITNESSED, "who drove the act") rather than from what the agent itself does: translate an external tool's own vocabulary (TomoScan's free-textScanStatusvalues) into CORA's canonicalCapturePhase, then issue the matching Run command.RunTranslatoris the correct name, and it stops reading as a fifth member of the unrelatedWatcherfamily in the fleet roster.AgentNameis genesis-only immutable, so this is a fresh definition), the implementing runtime module/class (_run_witness.py->_run_translator.py,RunWitnessRecorder->RunTranslator), everyrun_witness.*log event ->run_translator.*, and every docstring/comment cross-reference that pointed at the old names.RunWitnessitself (seed_run_witness.py,RUN_WITNESS_AGENT_ID) stays source-tracked forever per its own FOREVER-STABLE rule, retired the same way the RunDebriefer/CautionDrafter legacy pair was.run_witness_enabled/run_witness_recording_enabledSettings fields and their env vars, since renaming those would silently change what a live deployment's existing configuration means.Test plan
pytest tests/unit(52,019 passed)pytest tests/architecture(fitness functions green)pytest tests/integration(postgres, 1370 passed)pytest tests/e2e(8 passed)pyrightcleanruff check/ruff format --checkclean🤖 Generated with Claude Code