SHIKIRU · DESIGN REVIEW

Command outcomes and initializer composition

This offline review uses synthetic project fixtures. It runs no commands, reads no local project state, and writes no configuration. Terminal values, catalogs, Doctor reports, identifiers, repository facts, and simulated writes are illustrative.

Fixture catalogs outside the terminal: Codex (gpt-6-luna, gpt-6-codex, gpt-5.6-sol) and Claude Code (claude-sonnet-4-5, claude-opus-4-1). These are simulated choices, not live discovery.
✔ completed Details supporting facts · pending or attention ✕ problem summary

Unchanged help and protocol exceptions

Native help keeps its existing layout and content, including the white-bold Options, Commands, and Arguments labels, bold Default labels, conventional metavariables, and required-argument legend. This proposal does not redesign help. Version remains a bare version such as 0.1.0; shell completion output and setup behavior stay native.

JSON, MCP stdio, hidden process entrypoints, pane streams, and evidence exports keep their current formats. The human outcome style never decorates protocol output. The page shows only the shikiru mcp command in its terminal example; its stdio boundary is described here. Attach and start --attach hand the terminal to tmux without adding a post-handoff CLI line.

Approved submit compatibility

The Operator approved a shared human submit result: an applied request shows an explicit task-created outcome and its allocated task ID instead of a bare ID. Pending and rejected results retain the command and task identity without claiming an unapplied task was created or started. JSON keeps its existing object.

Session names and exact repair targets

Session identities use clean names such as [shikiru] demo. A repair fixture may use tmux kill-session -t '$7'; Details maps $7 to the clean session name. It is a synthetic native tmux ID, not a live target, and must be looked up in the intended tmux server. Shell quoting protects the ID from expansion. Tmux's = prefix is exact-name target syntax, not part of the session name; runtime exact targeting stays unchanged. A remote repair is explicitly labelled to run on that host.

Status fixture

The task list is a coherent synthetic snapshot: escalated first, then all active tasks, queued tasks, and the latest completed task last. The displayed project counts describe the complete snapshot. Task, escalation, and usage groups are subsections within Details. The quota header is Quota used 5h/7d and the intrinsic table keeps two spaces between columns. Only recorded 5h and 7d windows use two unlabeled gauges; exact primary and secondary windows also use unlabeled gauges in that order, while other reported names remain visible. An unknown task ID has a concise not-found error and Repair.

The outside-terminal Task layout selector appears only for status T-n, with the approved Operator briefing selected by default. Current remains available to compare the existing known-task output. Task ledger keeps the project-style identity row, compact progress facts, latest report and event, branch, and full session facts; Operator briefing puts escalation or decision context first, then recorded step/hold facts when present, latest report and event, branch, and full session facts; Evidence view keeps all recorded reports, newest-first event history, branch facts, and complete session identities. The same active T-42, escalated T-41, and completed T-39 TaskDetail-shaped fixtures feed each proposal. Latest-only rows and bounded-history counts are stated, completed sessions stay closed, and T-999 still fails regardless of layout. These are reference comparisons; runtime selection belongs to Task 275.

Initializer composition

The wizard appears in a neutral dashboard viewport. Its preferred 96×36-cell panel is clamped to the selected terminal size. A normal top row shows cyan-bold SHIKIRU, the white-bold step title and N / 7 counter, followed by the dashboard divider; only the body scrolls. The bottom order is body, static hint, divider, then right-aligned actions. There are no global terminal header or footer rows. The supplied ANSI artwork is embedded as a literal copy, drawn top-left in original terminal-cell positions, unscaled and clipped. Ctrl+F hides the full panel for five seconds, then restores the unchanged state and focus. The shortcut does not intercept typing in editable fields or open combos. Ordinary command examples hide the artwork; the outer review page scrolls without shrinking terminal cells.

Repository displays the base and clean or changed worktree plus config destination. Agents keeps all six role/scope rows visible, each with an editable comma-separated ladder field. A dependent Agent/Model/Effort form sits below the scope list and Add appends a supported entry. Blank Implementer Low, Normal and High fields inherit Base; typing or Add creates an override. Helper accepts multiple ordered entries from installed agents with headless support. Unsupported choices are unavailable and changing a dependency clears its dependents. The standalone reference uses example catalog values; the current wizard discovers authoritative installed-agent catalogs and offered efforts. Tracker paths are project-relative Markdown files used as task trackers. Cache paths are registered for task worktrees. Path fields start blank; detected candidates add once and can be re-added after manual removal. Empty tracker input sends no tracker files to tasks; empty cache input copies no caches. The CoW row shows simulated filesystem evidence; unsupported CoW skips cache copies.

Orchestration sets five engine limits: maximum parallel tasks, maximum iterations, maximum quota wait, maximum CPU percent, and minimum free RAM in GB. Each field shows its unit and what it controls and starts at its project default; the step shows no Current or Accepted rows. An out-of-range value is rejected at Finish by focusing its field before anything is written. Pre-write Finish preserves the original explanation that it writes .shikiru/config.toml, excludes .shikiru/ in Git, and runs Doctor; it shows the destination and selected summary without redundant Roles or Doctor fact rows. The Run doctor action writes the fixture configuration and displays the full post-write report in Finish, using the native check format: bold white names, grey separators, white detail, then a blank row and aggregate passed/failed line. The result is read-only with Exit and no duplicate report.

Drafts persist across steps and logical sizes. Narrow terminal sizes scroll and keep the type size fixed. The left hint is step-specific; Repository has no selection/scroll hint, and scroll appears only when the body overflows. Ctrl+F and 富士山 stay right-aligned on every step. Escape never cancels or exits; explicit Cancel and Exit actions remain. Hints are static and non-focusable. Browser controls stay outside the terminal. Values use text insertion, not HTML markup.

Validation and limits

The Operator verified this latest prototype, followed by static review of the approved selections and embedded artwork. An earlier temporary Node harness exhausted host resources and was abandoned; its results are not current validation proof. The review page remains standalone and has no external dependencies.

Browser review is unavailable in this environment. Rendered geometry and browser interaction remain unverified; the logical cell sizes and CSS layout rules were inspected statically.