New sessions/session_export tools plus a sessions_block vault map in the system prompt (tai.py, ported to detz); recall/search carry a session footer instead of letting the model grep sealed bytes. write_file refuses new markdown at working/repo roots, and the blanket *.md gitignore is gone so docs stay visible. One LineInput owns fd 0 for every prompt (ask, approvals, shell_ask, secrets), ending phantom-empty answers; Ctrl-C re-prompts (double exits), Ctrl-D exits, Ctrl-Z suspends; mid-turn Ctrl-C announces itself and kills foreground shell children via RunInterrupted. Covered by SessionsTests, repl_keys.py pty checks, agent_diff sessions_block cases.
311 lines
12 KiB
Markdown
311 lines
12 KiB
Markdown
# 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 |
|