Orchestrata Ultimate / RTM / 110-codemod-engine
RTM: 110-codemod-engine
Requirement to symbol to test rows for 110-codemod-engine: In-Memory Code Intelligence Platform.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 59 |
Traced from src/ |
43 (72.9%) |
| Untraced | 16 |
Cited from tests/ |
28 (47.5%) |
Traced in src/ but not cited from tests/ |
17 |
Reading this matrix
This matrix lists each of the 59 requirement IDs of spec 110-codemod-engine with the src/ symbols that cite it and the tests that cite it. 43 of them (72.9%) have at least one citing symbol and 16 have none.
28 requirements are also cited from tests/, and 17 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-110-* (16).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-110-001 The CodemodWorkspace.load(root, include, parallel) method SHALL parse every .py... |
orchestrata_ultimate/refactor/codemod/workspace CodemodWorkspace L243orchestrata_ultimate/refactor/codemod/workspace _parse_file L182orchestrata_ultimate/refactor/codemod/workspace load L301 |
tests/refactor/codemod/test_workspace_load.py::test_load_parses_every_file |
REQ-110-002 For every loaded module, module.code.encode('utf-8') SHALL equal the on-disk bytes... |
orchestrata_ultimate/refactor/codemod/workspace CodemodWorkspace L243orchestrata_ultimate/refactor/codemod/workspace _parse_file L182orchestrata_ultimate/refactor/codemod/workspace load L301 |
tests/refactor/codemod/test_workspace_load.py::test_comment_preservationtests/refactor/codemod/test_workspace_load.py::test_round_trip_fidelitytests/refactor/codemod/test_workspace_load.py::test_unparseable_files |
REQ-110-003 Loading the full orchestrata-ultimate tree (~2,500 files across src/scripts/tests,... |
orchestrata_ultimate/refactor/codemod/workspace CodemodWorkspace L243orchestrata_ultimate/refactor/codemod/workspace load L301 |
none |
REQ-110-004 The workspace.stats() method SHALL report WorkspaceStats with file count, total... |
orchestrata_ultimate/refactor/codemod/workspace CodemodWorkspace L243orchestrata_ultimate/refactor/codemod/workspace load L301orchestrata_ultimate/refactor/codemod/workspace stats L560 |
tests/refactor/codemod/test_cig_builder_ast.py::TestLazySourcestests/refactor/codemod/test_workspace_load.py::test_memory_guard |
REQ-110-005 The workspace SHALL expose modules() (bidirectional mapping of dotted names ↔... |
none | tests/refactor/codemod/test_workspace_index.py::test_dependencies_directtests/refactor/codemod/test_workspace_index.py::test_dependents_reversetests/refactor/codemod/test_workspace_index.py::test_modules_bidirectional |
REQ-110-006 The index SHALL update incrementally when a pass mutates imports. The... |
none | none |
REQ-110-007 The symbol_table() method SHALL map top-level defined names (classes, functions,... |
none | tests/refactor/codemod/test_workspace_index.py::test_symbol_table |
REQ-110-008 A transform pass SHALL be a class implementing `TransformPass.apply(workspace) ->... |
orchestrata_ultimate/refactor/codemod/workspace run L565 |
none |
REQ-110-009 Passes SHALL compose: workspace.run(passes: list[TransformPass]) SHALL apply them in... |
orchestrata_ultimate/refactor/codemod/workspace run L565 |
none |
REQ-110-010 The engine SHALL ship 5 built-in transform passes: |
orchestrata_ultimate/refactor/codemod/passes AddImportPass L469orchestrata_ultimate/refactor/codemod/passes DocstringSweepPass L877orchestrata_ultimate/refactor/codemod/passes RemoveUnusedImportPass L665+7 more |
tests/refactor/codemod/test_docstring_sweep_scope.py::test_a_legitimate_escape_in_a_replacement_is_appliedtests/refactor/codemod/test_docstring_sweep_scope.py::test_a_module_of_only_code_strings_is_left_alonetests/refactor/codemod/test_docstring_sweep_scope.py::test_a_no_op_sweep_over_the_tools_tree_produces_no_entries+27 more |
REQ-110-011 A transform pass SHALL NOT write to disk. The API SHALL give passes no file handles.... |
orchestrata_ultimate/refactor/codemod/passes TransformPass L49 |
none |
REQ-110-012 A review pass SHALL be a class implementing `ReviewPass.review(workspace, changes) ->... |
orchestrata_ultimate/refactor/codemod/review BannedConstructs L190orchestrata_ultimate/refactor/codemod/review DiffBudget L282orchestrata_ultimate/refactor/codemod/review ParseIntegrity L151+1 more |
none |
REQ-110-013 The workspace.commit(reviews=[...]) method SHALL run reviews FIRST. Any Finding... |
orchestrata_ultimate/refactor/codemod/workspace commit L642 |
tests/refactor/codemod/test_observability.py::test_commit_abort_emits_review_events_but_not_commit_events |
REQ-110-014 The commit() method SHALL write only mutated modules. Each file SHALL be written... |
orchestrata_ultimate/refactor/codemod/txn CommitVerificationError L30orchestrata_ultimate/refactor/codemod/txn _FileSnapshot L89orchestrata_ultimate/refactor/codemod/txn _batch_fsync L390+6 more |
tests/refactor/codemod/test_transactional_writeback.py::test_a_raising_event_sink_never_masks_the_commit_failuretests/refactor/codemod/test_transactional_writeback.py::test_atomic_writetests/refactor/codemod/test_transactional_writeback.py::test_commit_preserves_setuid_and_setgid_bits+10 more |
REQ-110-015 The commit() method SHALL refuse to run if any target file's on-disk mtime or... |
orchestrata_ultimate/refactor/codemod/txn ConcurrentEditError L40orchestrata_ultimate/refactor/codemod/txn FileLockError L70orchestrata_ultimate/refactor/codemod/txn SymlinkAttackError L59+4 more |
tests/refactor/codemod/test_transactional_writeback.py::test_advisory_locktests/refactor/codemod/test_transactional_writeback.py::test_commit_refuses_a_target_already_deleted_when_commit_startstests/refactor/codemod/test_transactional_writeback.py::test_commit_refuses_a_target_deleted_during_the_first_write+4 more |
REQ-110-016 A commit(dry_run=True) SHALL produce the full unified diff and the review report... |
orchestrata_ultimate/refactor/codemod/txn commit_changes L114orchestrata_ultimate/refactor/codemod/workspace commit L642 |
tests/refactor/codemod/test_transactional_writeback.py::test_dry_run |
REQ-110-017 Every commit SHALL emit a machine-readable CommitReport (JSON): passes run, files... |
orchestrata_ultimate/refactor/codemod/workspace commit L642 |
tests/refactor/codemod/test_transactional_writeback.py::test_machine_readable_report |
REQ-110-018 The scripts/codemod.py CLI SHALL provide subcommands: |
none | none |
REQ-110-019 Exit codes SHALL be: 0 success/clean-dry-run, 1 review-abort or verification failure,... |
none | none |
REQ-110-020 RenameSymbolPass SHALL consume WorkspaceEditPlan from... |
orchestrata_ultimate/refactor/codemod/passes RenameSymbolPass L938orchestrata_ultimate/refactor/codemod/passes _apply_edits L1009orchestrata_ultimate/refactor/codemod/passes apply L967 |
none |
REQ-110-021 Write-back SHALL reuse the applier's safety invariants. If code reuse of EditApplier... |
orchestrata_ultimate/refactor/codemod/passes RenameSymbolPass L938orchestrata_ultimate/refactor/codemod/txn PathEscapeError L79orchestrata_ultimate/refactor/codemod/txn _check_concurrent_edits L220+3 more |
none |
REQ-110-022 The CodeIntelligenceGraph SHALL be built from the CST forest by _cig_builder.py.... |
orchestrata_ultimate/refactor/codemod/_cig CodeIntelligenceGraph L25 |
tests/refactor/codemod/test_code_intelligence_graph.py::TestCIGEdgestests/refactor/codemod/test_code_intelligence_graph.py::TestCIGNodes |
REQ-110-023 The CIG SHALL support multihop queries: |
orchestrata_ultimate/refactor/codemod/_cig CodeIntelligenceGraph L25orchestrata_ultimate/refactor/codemod/_cig _brandes L417orchestrata_ultimate/refactor/codemod/_cig _compute_pagerank L485+12 more |
tests/refactor/codemod/test_code_intelligence_graph.py::TestCIGAbstractionLeveltests/refactor/codemod/test_code_intelligence_graph.py::TestCIGAffectedTeststests/refactor/codemod/test_code_intelligence_graph.py::TestCIGBlastRadius+9 more |
REQ-110-024 All CIG queries SHALL execute in <2ms for the target codebase (2,500 files, ~15,000... |
orchestrata_ultimate/refactor/codemod/_cig CodeIntelligenceGraph L25 |
tests/refactor/codemod/test_code_intelligence_graph.py::TestCIGQueryPerformancetests/refactor/codemod/test_code_intelligence_graph.py::test_dependencies_performancetests/refactor/codemod/test_code_intelligence_graph.py::test_query_performance |
REQ-110-025 The workspace SHALL compose a SyncObservable[CodemodEvent] and emit events for all... |
orchestrata_ultimate/refactor/codemod/observability/events CodemodEventType L13orchestrata_ultimate/refactor/codemod/txn commit_changes L114orchestrata_ultimate/refactor/codemod/workspace _Operation L102+4 more |
tests/refactor/codemod/test_observability.py::TestWorkspaceCommitObserverCompositiontests/refactor/codemod/test_observability.py::TestWorkspaceRunObserverCompositiontests/refactor/codemod/test_observability_wiring.py::TestCommitEvents+3 more |
REQ-110-026 The engine SHALL ship 5 built-in observers: |
orchestrata_ultimate/refactor/codemod/observability/debug_panel DebugPanelObserver L21orchestrata_ultimate/refactor/codemod/observability/error_detector ErrorDetector L60orchestrata_ultimate/refactor/codemod/observability/graph_writer GraphWriterObserver L29+3 more |
tests/refactor/codemod/test_observability.py::test_default_observer_set_is_emptytests/scripts/test_codemod_cli.py::test_run_observe_apply_attaches_the_five_observers |
REQ-110-027 All observers SHALL be optional and configurable. The workspace.run() and... |
orchestrata_ultimate/refactor/codemod/workspace _Operation L102orchestrata_ultimate/refactor/codemod/workspace _compose_observable L83orchestrata_ultimate/refactor/codemod/workspace commit L642+2 more |
tests/refactor/codemod/test_observability.py::TestWorkspaceCommitObserverCompositiontests/refactor/codemod/test_observability.py::TestWorkspaceRunObserverCompositiontests/refactor/codemod/test_observability.py::test_default_observer_set_is_empty+5 more |
REQ-110-028 The CodemodGraphRepository Protocol SHALL define methods: save_run(),... |
orchestrata_ultimate/refactor/codemod/observability/graph_writer GraphWriterObserver L29orchestrata_ultimate/refactor/codemod/persistence/repository CodemodGraphRepository L22 |
none |
REQ-110-029 The BoltSyncCodemodRepository SHALL implement the Protocol using... |
orchestrata_ultimate/refactor/codemod/persistence/repository BoltSyncCodemodRepository L42orchestrata_ultimate/refactor/codemod/persistence/repository InMemoryCodemodRepository L255orchestrata_ultimate/refactor/codemod/persistence/repository save_changes L155+3 more |
none |
REQ-110-030 The ontology SHALL extend canonical_schema.py with new labels (CodemodRun,... |
none | none |
REQ-110-031 The engine SHALL ship analysis passes that compute code intelligence metrics from the... |
orchestrata_ultimate/refactor/codemod/_types ComplexityReport L113orchestrata_ultimate/refactor/codemod/_types DeadCodeReport L142orchestrata_ultimate/refactor/codemod/_types FunctionComplexity L100+39 more |
tests/refactor/codemod/analysis/test_abstraction.py::test_abstraction_counts_protocol_against_concretetests/refactor/codemod/analysis/test_abstraction.py::test_abstraction_of_a_module_without_classes_is_zerotests/refactor/codemod/analysis/test_abstraction.py::test_abstraction_requires_a_known_target+45 more |
REQ-110-032 Analysis passes SHALL be read-only (no mutations) and SHALL return structured results... |
orchestrata_ultimate/refactor/codemod/_types ComplexityReport L113orchestrata_ultimate/refactor/codemod/_types DeadCodeReport L142orchestrata_ultimate/refactor/codemod/_types FunctionComplexity L100+26 more |
tests/refactor/codemod/analysis/test_encode.py::test_dataclass_with_frozensets_encodes_to_sorted_liststests/refactor/codemod/analysis/test_encode.py::test_list_results_carry_the_list_typetests/refactor/codemod/analysis/test_encode.py::test_literal_defaults_round_trip+6 more |
REQ-110-033 The InMemoryReviewEngine SHALL execute 40 checks on the mutated CST forest,... |
orchestrata_ultimate/refactor/codemod/review_catalogue CheckCategory L34orchestrata_ultimate/refactor/codemod/review_catalogue CheckDescriptor L47orchestrata_ultimate/refactor/codemod/review_catalogue CheckRegistry L345+53 more |
tests/refactor/codemod/test_review_catalogue.py::test_a_small_registry_runs_each_owner_once_in_its_phasetests/refactor/codemod/test_review_catalogue.py::test_default_substrates_match_the_contracttests/refactor/codemod/test_review_catalogue.py::test_registry_rejects_a_duplicate_id+65 more |
REQ-110-034 All 40 checks SHALL operate on the engine's in-memory lossless layer: the ctok token... |
orchestrata_ultimate/refactor/codemod/review_catalogue ReviewCheck L75orchestrata_ultimate/refactor/codemod/review_checks BannedLibraryCheck L579orchestrata_ultimate/refactor/codemod/review_checks BroadRaiseCheck L618+31 more |
tests/refactor/codemod/test_review_checks.py::test_absolute_include_root_still_reports_a_missing_in_scope_moduletests/refactor/codemod/test_review_checks.py::test_blank_view_hides_literals_and_comments_but_keeps_geometrytests/refactor/codemod/test_review_checks.py::test_error_handling_reports_bare_except_and_swallowed_exceptions+25 more |
REQ-110-035 The InMemoryReviewEngine SHALL execute checks in three phases: fast structural... |
orchestrata_ultimate/refactor/codemod/review_catalogue CheckDescriptor L47orchestrata_ultimate/refactor/codemod/review_catalogue CheckRegistry L345orchestrata_ultimate/refactor/codemod/review_catalogue checks_for_phase L405+14 more |
tests/refactor/codemod/test_review_catalogue.py::test_a_small_registry_runs_each_owner_once_in_its_phasetests/refactor/codemod/test_review_catalogue.py::test_checks_for_phase_returns_each_implementation_in_its_owners_phasetests/refactor/codemod/test_review_catalogue.py::test_tst_110_021_catalogue_has_forty_checks_in_seven_categories+25 more |
REQ-110-133 The engine SHALL be deployed as a long-running daemon process that keeps the workspace... |
orchestrata_ultimate/refactor/codemod/daemon CodemodDaemon L41 |
none |
REQ-110-134 The daemon SHALL create a Unix socket at .codemod_daemon/socket in the repo root,... |
orchestrata_ultimate/refactor/codemod/daemon CodemodDaemon L41orchestrata_ultimate/refactor/codemod/daemon _acquire_lock L483orchestrata_ultimate/refactor/codemod/daemon _read_pid L465+7 more |
tests/refactor/codemod/test_daemon_lifecycle.py::test_concurrent_starts_launch_the_unit_once_and_refuse_the_othertests/refactor/codemod/test_daemon_lifecycle.py::test_start_creates_daemon_dirtests/refactor/codemod/test_daemon_lifecycle.py::test_start_discards_a_pid_file_naming_an_unrelated_process+6 more |
REQ-110-135 The daemon SHALL support lifecycle management via `codemod daemon... |
orchestrata_ultimate/refactor/codemod/daemon CodemodDaemon L41orchestrata_ultimate/refactor/codemod/daemon _cleanup_files L505orchestrata_ultimate/refactor/codemod/daemon _pid_is_codemod_daemon L516+14 more |
tests/refactor/codemod/test_daemon_coverage.py::TestCleanupFilesErrorHandlingtests/refactor/codemod/test_daemon_coverage.py::TestProcessAliveNonChildZombietests/refactor/codemod/test_daemon_coverage.py::TestSigkillEscalation+26 more |
REQ-110-136 The daemon SHALL watch for file changes using inotify. When a file is modified,... |
orchestrata_ultimate/refactor/codemod/daemon CodemodDaemon L41orchestrata_ultimate/refactor/codemod/watcher FileWatcher L53orchestrata_ultimate/refactor/codemod/watcher _add_watch L143+4 more |
none |
REQ-110-137 The daemon SHALL support concurrent clients. Multiple clients MAY connect... |
orchestrata_ultimate/refactor/codemod/daemon CodemodDaemon L41orchestrata_ultimate/refactor/codemod/server CodemodServer L136orchestrata_ultimate/refactor/codemod/server _handle_write L268+3 more |
tests/scripts/test_codemod_cli_daemon.py::test_a_commit_failure_prints_the_same_error_line_in_both_modestests/scripts/test_codemod_cli_daemon.py::test_a_disconnect_with_a_pending_run_restores_the_foresttests/scripts/test_codemod_cli_daemon.py::test_a_dry_run_through_the_daemon_leaves_the_forest_unchanged+3 more |
REQ-110-138 The daemon SHALL expose JSON-RPC methods: query_dependencies, query_dependents,... |
orchestrata_ultimate/refactor/codemod/client commit L237orchestrata_ultimate/refactor/codemod/client query_abstraction_level L183orchestrata_ultimate/refactor/codemod/client query_blast_radius L125+15 more |
none |
REQ-110-139 The daemon SHALL provide a Python client library (CodemodClient) that connects to... |
orchestrata_ultimate/refactor/codemod/client CodemodClient L34orchestrata_ultimate/refactor/codemod/client _call L287orchestrata_ultimate/refactor/codemod/client _recv_response L331+1 more |
none |
REQ-110-140 The CLI SHALL auto-connect to the daemon if running, or start the daemon if not... |
orchestrata_ultimate/refactor/codemod/client CodemodClient L34 |
tests/scripts/test_check_requirement_corpus.py::test_a_prose_mention_does_not_define_an_idtests/scripts/test_codemod_cli.py::test_auto_start_cli_exits_1_with_the_failed_text_when_the_unit_diestests/scripts/test_codemod_cli.py::test_auto_start_daemon_says_so_when_the_unit_starts_but_never_serves+26 more |
REQ-110-101 No mocks, stubs, fakes, monkeypatch, or test skips in tests. Real files in tmp_path,... |
none | none |
REQ-110-102 Every public class and method SHALL carry `@traces(spec="110", story="US-110-NNN",... |
none | none |
REQ-110-103 The engine SHALL pass all gates: ruff, black, standards, check-deps,... |
none | none |
REQ-110-104 No pytest-xdist. Tests SHALL run via the batched executor (scripts/run_tests.py) or... |
none | none |
REQ-110-105 New package: src/orchestrata_ultimate/refactor/codemod/ (sibling of... |
none | none |
REQ-110-106 The C extension (scripts/_codemod_fast/) SHALL declare `Py_mod_gil =... |
none | none |
REQ-110-107 ~~LibCST FT-compatibility: If LibCST 1.8.6's native Rust parser has GIL issues on... |
none | none |
REQ-110-108 Coverage ≥90% per file. Measured via `pytest... |
none | none |
REQ-110-120 The C tokenizer SHALL produce a lossless byte-span token stream: for every .py file... |
orchestrata_ultimate/refactor/ctok/token_stream TokenStream L24orchestrata_ultimate/refactor/ctok/token_stream slice L67orchestrata_ultimate/refactor/ctok/tokenizer CTokenizer L100+2 more |
tests/refactor/codemod/test_workspace_perf.py::test_parallel_parsetests/refactor/codemod/test_workspace_perf.py::test_serial_parse |
REQ-110-121 The _ctok extension SHALL declare Py_MOD_GIL_NOT_USED; importing it SHALL NOT... |
orchestrata_ultimate/refactor/ctok/tokenizer CTokenizer L100orchestrata_ultimate/refactor/ctok/tokenizer tokenize L104 |
none |
REQ-110-122 LosslessModule.code SHALL equal the on-disk bytes at load time (same guarantee as... |
orchestrata_ultimate/refactor/ctok/lossless_module LosslessModule L26orchestrata_ultimate/refactor/ctok/lossless_module parse L41orchestrata_ultimate/refactor/ctok/token_stream TokenStream L24+1 more |
none |
REQ-110-123 NodeIndex SHALL map every ast NAME/Attribute/def-name to its exact token... |
orchestrata_ultimate/refactor/ctok/lossless_module LosslessModule L26orchestrata_ultimate/refactor/ctok/node_index NodeIndex L105orchestrata_ultimate/refactor/ctok/node_index NodeSpanError L47+5 more |
none |
REQ-110-124 EditBuffer SHALL apply span edits as byte splices; every byte outside an edit span... |
orchestrata_ultimate/refactor/codemod/review ParseIntegrity L151orchestrata_ultimate/refactor/ctok/edit_buffer EditBuffer L53orchestrata_ultimate/refactor/ctok/edit_buffer add L65+2 more |
none |
REQ-110-125 CodemodWorkspace.load SHALL build a LosslessModule forest; the engine SHALL import... |
none | none |
REQ-110-126 All transform passes and review passes SHALL operate on the ast/token model;... |
none | none |
REQ-110-127 Edit safety (Black-derived, assert_equivalent/assert_stable): after any... |
orchestrata_ultimate/refactor/codemod/passes RenameSymbolPass L938orchestrata_ultimate/refactor/codemod/passes _apply_edits L1009orchestrata_ultimate/refactor/codemod/passes apply L967+3 more |
tests/refactor/codemod/test_transform_passes.py::test_rename_changing_more_than_identifier_raises |