Goal
Preserve complete actionable log paths, including filenames, in the interactive basectl logs table.
Evidence
On macOS, basectl logs renders paths such as:
~/Library/Caches/base/base/runs/20260811T132141_20742_18289__workspace/logs/pri…
The path is stored and returned correctly by the logs discovery layer, but the human-readable table truncates it with an ellipsis. That prevents users from locating or opening the exact primary.log file.
Root cause
base_logs.engine.print_log_table uses the shared base_cli.render_records default max_cell_width=80. The history consumer already disables that cap and computes a table width sufficient for complete log paths.
Scope
- Disable cell truncation for the interactive
basectl logs table.
- Compute the table width from the rendered values while preserving compact
~ home paths.
- Add regression coverage using a realistic long cache-run log path.
Acceptance Criteria
- Interactive
basectl logs displays the complete compact path and filename.
- The output contains no ellipsis for a long log path.
- Existing column alignment and machine-readable output remain unchanged.
Validation
- Focused
base_logs Python tests.
logs.bats.
- Touched-file Pylint.
git diff --check.
Non-Goals
- Do not change log discovery, storage, retention, or path redaction.
- Do not change
basectl logs --latest, --tail, or --open behavior.
Goal
Preserve complete actionable log paths, including filenames, in the interactive
basectl logstable.Evidence
On macOS,
basectl logsrenders paths such as:The path is stored and returned correctly by the logs discovery layer, but the human-readable table truncates it with an ellipsis. That prevents users from locating or opening the exact
primary.logfile.Root cause
base_logs.engine.print_log_tableuses the sharedbase_cli.render_recordsdefaultmax_cell_width=80. Thehistoryconsumer already disables that cap and computes a table width sufficient for complete log paths.Scope
basectl logstable.~home paths.Acceptance Criteria
basectl logsdisplays the complete compact path and filename.Validation
base_logsPython tests.logs.bats.git diff --check.Non-Goals
basectl logs --latest,--tail, or--openbehavior.