# Parity detz vs tai.py (generated, do not edit) Generated by `tools/parity_ledger.py` from the symbol ledger and the last differential run. Only a passing differential case (`tools/parity_diff.py`) makes a symbol `verified`; a facet after the symbol says what that case proved (for example `parse` means argument parsing only). `name-only` means an identifier matches in the C++ tree and NOTHING about behavior is known. - tai.py sha256: `190a812c0cd8d167` - detz sha256: `c114480153577dfc` - differential run: 2026-10-28T08:10:44 (tai.py `190a812c0cd8d167`, detz `c114480153577dfc`) ## Summary | kind | total | verified | name-only | missing | |---|---|---|---|---| | class | 264 | 0 | 263 | 1 | | method | 2144 | 0 | 1406 | 738 | | function | 414 | 2 | 385 | 27 | | tool | 63 | 0 | 63 | 0 | | flag | 45 | 1 | 44 | 0 | | setting | 28 | 0 | 28 | 0 | | command | 31 | 5 | 23 | 3 | | **all** | 2989 | 8 | 2212 | 769 | ## Differential cases Counts: fail=57, pass=6, xpass=1 | case | status | reason | |---|---|---| | cli.err.ambiguous.cap | fail | stderr differs (12 diff lines) | | cli.err.ambiguous.debug | fail | stderr differs (12 diff lines) | | cli.err.ambiguous.install | fail | stderr differs (12 diff lines) | | cli.err.ambiguous.tui | fail | stderr differs (12 diff lines) | | cli.err.auto.explicit | fail | stderr differs (12 diff lines) | | cli.err.cap-cwd.missing | fail | stderr differs (12 diff lines) | | cli.err.cap-manifest.explicit | fail | stderr differs (12 diff lines) | | cli.err.cap-max-turns.int | fail | stderr differs (12 diff lines) | | cli.err.cap-max-turns.missing | fail | stderr differs (12 diff lines) | | cli.err.cap-model.missing | fail | stderr differs (12 diff lines) | | cli.err.cap-permission-mode.choice | fail | stderr differs (12 diff lines) | | cli.err.cap-permission-mode.missing | fail | stderr differs (12 diff lines) | | cli.err.cap-speak.explicit | fail | stderr differs (12 diff lines) | | cli.err.continue.explicit | fail | stderr differs (12 diff lines) | | cli.err.debug-format.choice | fail | stderr differs (12 diff lines) | | cli.err.debug-format.missing | fail | stderr differs (12 diff lines) | | cli.err.debug.choice | fail | stderr differs (12 diff lines) | | cli.err.demo-shot.explicit | fail | stderr differs (12 diff lines) | | cli.err.demo.explicit | fail | stderr differs (12 diff lines) | | cli.err.env.missing | fail | stderr differs (12 diff lines) | | cli.err.error_before_help | fail | stderr differs (12 diff lines) | | cli.err.eval-retrieval.explicit | fail | stderr differs (12 diff lines) | | cli.err.install-telegram.explicit | fail | stderr differs (12 diff lines) | | cli.err.install.explicit | fail | stderr differs (12 diff lines) | | cli.err.mcp-bind.missing | fail | stderr differs (12 diff lines) | | cli.err.mcp-port.int | fail | stderr differs (12 diff lines) | | cli.err.mcp-port.missing | fail | stderr differs (12 diff lines) | | cli.err.no-opencode.explicit | fail | stderr differs (12 diff lines) | | cli.err.plexer-wrap.explicit | fail | stderr differs (12 diff lines) | | cli.err.profile.missing | fail | stderr differs (12 diff lines) | | cli.err.scheduler.explicit | fail | stderr differs (12 diff lines) | | cli.err.serve-mcp.missing | fail | stderr differs (12 diff lines) | | cli.err.stats-rag.explicit | fail | stderr differs (12 diff lines) | | cli.err.telegram.explicit | fail | stderr differs (12 diff lines) | | cli.err.theme.missing | fail | stderr differs (12 diff lines) | | cli.err.tui-local.explicit | fail | stderr differs (12 diff lines) | | cli.err.tui.explicit | fail | stderr differs (12 diff lines) | | cli.err.uninstall-telegram.explicit | fail | stderr differs (12 diff lines) | | cli.err.unknown.long | fail | stderr differs (12 diff lines) | | cli.err.unknown.short | fail | stderr differs (12 diff lines) | | cli.err.update-models.explicit | fail | stderr differs (12 diff lines) | | cli.err.version.explicit | fail | stderr differs (12 diff lines) | | cli.err.yes.explicit | fail | stderr differs (12 diff lines) | | cli.err.yolo.explicit | fail | stderr differs (12 diff lines) | | cli.help.long | fail | stdout differs (25 diff lines) | | cli.help.short | fail | stdout differs (25 diff lines) | | cli.help.wins_over_error | fail | stdout differs (25 diff lines) | | cli.ok.cap-permission-mode.confirm | fail | stdout differs (6 diff lines) | | cli.ok.cap-permission-mode.interactive | fail | stdout differs (6 diff lines) | | cli.ok.cap-permission-mode.none | fail | stdout differs (6 diff lines) | | cli.ok.debug-format.json | fail | stdout differs (6 diff lines) | | cli.ok.debug-format.sentence | fail | stdout differs (6 diff lines) | | cli.prefix.version | fail | stdout differs (6 diff lines) | | cli.version.long | fail | stdout differs (6 diff lines) | | cli.version.with_choice | fail | stdout differs (6 diff lines) | | persist.restart_history | xpass | needs the foundation agent: vault events persistence and history resume across process restarts; detz has no REPL/agent | | repl.skills_secret_schedules | fail | stdout differs (10 diff lines) | | repl.tools | fail | stdout differs (11 diff lines) | ## Python test-suite coverage 151 test classes, 1241 tests; tests reproduced by a passing diff case: 1 (in 1 classes); classes with no covered test: 150. Full table: `build/parity/tests-map.md`. ## flags (45) | name | status | facets | cases | |---|---|---|---| | `--allow-tool` | name-only | | | | `--argv` | name-only | | | | `--auto` | name-only | | | | `--auto-answer` | name-only | | | | `--binary` | name-only | | | | `--cap` | name-only | | | | `--cap-cwd` | name-only | | | | `--cap-manifest` | verified | output | cli.cap_manifest | | `--cap-max-turns` | name-only | | | | `--cap-model` | name-only | | | | `--cap-permission-mode` | name-only | | | | `--cap-speak` | name-only | | | | `--continue` | name-only | | | | `--cwd` | name-only | | | | `--debug` | name-only | | | | `--debug-format` | name-only | | | | `--demo` | name-only | | | | `--demo-shot` | name-only | | | | `--deny-tool` | name-only | | | | `--driver` | name-only | | | | `--env` | name-only | | | | `--eval-retrieval` | name-only | | | | `--install` | name-only | | | | `--install-telegram` | name-only | | | | `--max-risk` | name-only | | | | `--mcp-bind` | name-only | | | | `--mcp-port` | name-only | | | | `--model` | name-only | | | | `--mplex` | name-only | | | | `--no-opencode` | name-only | | | | `--plexer-wrap` | name-only | | | | `--profile` | name-only | | | | `--scheduler` | name-only | | | | `--serve-mcp` | name-only | | | | `--stats-rag` | name-only | | | | `--task` | name-only | | | | `--telegram` | name-only | | | | `--theme` | name-only | | | | `--tui` | name-only | | | | `--tui-local` | name-only | | | | `--uninstall-telegram` | name-only | | | | `--update-models` | name-only | | | | `--version` | name-only | | | | `--yes` | name-only | | | | `--yolo` | name-only | | | ## tools (63) | name | status | facets | cases | |---|---|---|---| | `ask_user` | name-only | | | | `audit` | name-only | | | | `create_bot` | name-only | | | | `create_skill` | name-only | | | | `delete_file` | name-only | | | | `delete_secret` | name-only | | | | `describe_image` | name-only | | | | `edit_file` | name-only | | | | `export_terminal_log` | name-only | | | | `fork` | name-only | | | | `get_current_terminal_content` | name-only | | | | `graph_link` | name-only | | | | `graph_query` | name-only | | | | `install` | name-only | | | | `install_skill` | name-only | | | | `list_secrets` | name-only | | | | `list_terminals` | name-only | | | | `listen` | name-only | | | | `load_skill` | name-only | | | | `mcp_add` | name-only | | | | `mcp_call` | name-only | | | | `mcp_disable` | name-only | | | | `mcp_enable` | name-only | | | | `mcp_list` | name-only | | | | `mcp_login` | name-only | | | | `mcp_remove` | name-only | | | | `mcp_tools` | name-only | | | | `plexer_read` | name-only | | | | `plexer_send` | name-only | | | | `plexer_show` | name-only | | | | `plexer_status` | name-only | | | | `plexer_type` | name-only | | | | `poll` | name-only | | | | `read_file` | name-only | | | | `recall` | name-only | | | | `record_delete` | name-only | | | | `record_read` | name-only | | | | `record_save` | name-only | | | | `record_search` | name-only | | | | `release` | name-only | | | | `remember` | name-only | | | | `restore` | name-only | | | | `schedule` | name-only | | | | `schedules` | name-only | | | | `search` | name-only | | | | `session_export` | name-only | | | | `sessions` | name-only | | | | `shell` | name-only | | | | `speak` | name-only | | | | `store_secret` | name-only | | | | `sysinfo` | name-only | | | | `tags` | name-only | | | | `tail_terminals` | name-only | | | | `tui_click` | name-only | | | | `tui_goto` | name-only | | | | `tui_keys` | name-only | | | | `tui_result` | name-only | | | | `tui_screen` | name-only | | | | `tui_type` | name-only | | | | `unschedule` | name-only | | | | `web_fetch` | name-only | | | | `web_search` | name-only | | | | `write_file` | name-only | | | ## settings (28) | name | status | facets | cases | |---|---|---|---| | `backends` | name-only | | | | `box_caps` | name-only | | | | `claude_bin` | name-only | | | | `codex_bin` | name-only | | | | `codex_sandbox` | name-only | | | | `devplace_base` | name-only | | | | `devplace_key` | name-only | | | | `devplace_models` | name-only | | | | `gemini_bin` | name-only | | | | `gemini_plan` | name-only | | | | `grok_bin` | name-only | | | | `model` | name-only | | | | `muse_bin` | name-only | | | | `opencode_bin` | name-only | | | | `opencode_client_name` | name-only | | | | `opencode_client_ua` | name-only | | | | `opencode_enabled` | name-only | | | | `opencode_models` | name-only | | | | `openrouter_enabled` | name-only | | | | `openrouter_key` | name-only | | | | `openrouter_models` | name-only | | | | `pollinations_enabled` | name-only | | | | `pollinations_models` | name-only | | | | `retry_seconds` | name-only | | | | `theme` | name-only | | | | `voice` | name-only | | | | `zen_enabled` | name-only | | | | `zen_models` | name-only | | | ## commands (31) | name | status | facets | cases | |---|---|---|---| | `/agent` | name-only | | | | `/agents` | name-only | | | | `/audit` | name-only | | | | `/bot` | missing | | | | `/bots` | verified | all | repl.profiles | | `/clear` | name-only | | | | `/compact` | name-only | | | | `/ctx` | missing | | | | `/demo` | name-only | | | | `/env` | missing | | | | `/fork` | name-only | | | | `/graph` | name-only | | | | `/help` | verified | all | repl.help | | `/install` | name-only | | | | `/models` | name-only | | | | `/profile` | verified | all | repl.profiles | | `/profiles` | verified | all | repl.profiles | | `/quit` | name-only | | | | `/record` | name-only | | | | `/records` | name-only | | | | `/release` | name-only | | | | `/restore` | name-only | | | | `/schedule` | name-only | | | | `/schedules` | name-only | | | | `/search` | name-only | | | | `/secret` | name-only | | | | `/skills` | name-only | | | | `/sysinfo` | name-only | | | | `/tags` | name-only | | | | `/tools` | verified | all | repl.tools_named | | `/unschedule` | name-only | | | ## Classes with the most missing methods (top 25 of 227) | class | missing methods | |---|---| | MplexCopyMode | 19 | | TuiPanel | 14 | | GrrShell | 13 | | TuiApp | 12 | | MplexPane | 10 | | DebugLog | 9 | | GrrView | 9 | | GrrChatView | 9 | | GrrPaneFiles | 9 | | GrrPanePreview | 9 | | TuiVtScreen | 8 | | GrrClient | 8 | | GrrItem | 8 | | ChatClient | 7 | | MplexOptions | 7 | | MplexClient | 7 | | TuiCompositor | 7 | | GrrFormat | 7 | | GrrRouter | 7 | | GrrProfileView | 7 | | GrrPaneTab | 7 | | GrrControl | 7 | | CapDriver | 7 | | CapPtyDriver | 7 | | LaneBoard | 6 |