private-fish-terminal-cli
The groupant beside tools/fish-terminal/src/main.rs in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.
Facts
Implementation material. A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.
Components
| component | label | where |
|---|---|---|
| approximant | partial source derived model | Forward |
| ast | partial | syntax.json |
| cost | symbolic unmeasured | Cost |
| descriptant | present | descriptant |
| invariant | partial source derived model | Invariant |
| tests | bounded native evidence | Checks |
Obernants
The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.
| id | type | label | where |
|---|---|---|---|
behavior_complement | behavior_complement | partial source derived model | behavior_complement |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
effect_partition | effect_partition | partial source derived model | effect_partition |
local_failure_observation_partition | controller_error_partition | source derived bounded checked | local_failure_observation_partition |
Model text
descriptant
private-fish-terminal-cli
CLI parses prepare, launch, once, watch, status and bound report review commands. Config loading occurs before dispatch. Watch is one independent Rust process; it stops at a run-root STOP marker between passes, otherwise invokes one core pass and sleeps the configured interval. No arbitrary client program, prompt path or shell command is accepted.
Prospective state/observation reasoning is in ../../PROSPECTIVE.md. Native checks preserve counterexamples and explicit UI/source limitations. Concrete tasks and configurations remain private; root handles repository relocation/public export separately.
Independent review corrections
Domain: watch over configured Fish with writable journals. Observation: Fish-specific redacted state versus returned core error. Read-only terminal errors and pre-reservation source/report refusals now return per-Fish observations and let the pass continue. Persistence errors and uncertain effects after reservation still terminate watch; the unchanged CLI does not retry them. STOP remains between passes.
Evidence: debug/release two-Fish progress controls and unchanged Enter uncertainty/no-replay control. Continued polling and a local envelope do not establish root-chat consumption. Existing Crab role=fish observations read legacy master/writer status, not this supervisor review queue; integration is a separate checkpoint.
Root separately completed two real Codex TUI tasks and received two structurally bound reports in the external private pilot run. Root rejected the water report for a human/species overclaim and free-form nonenum pragmatics; hearing was accepted only as a provisional syntax critique. No DB/training admission occurred. This is finite end-to-end evidence for the old c215 runtime, not semantic validation or a live smoke of this M1/M2/M3 binary. This implementation worker used no model call or real terminal session.
model
Source-bound partial models
Forward
CLI parses prepare, launch, once, watch, status and bound report review commands. Config loading occurs before dispatch. Watch is one independent Rust process; it stops at a run-root STOP marker between passes, otherwise invokes one core pass and sleeps the configured interval. No arbitrary client program, prompt path or shell command is accepted.
behavior_complement
Domain: the admitted configuration/input and cooperative local effects described above. Universe: transitions over the recorded job/session states and bounded observations. Exclude unknown commands and wrong arities reaching a terminal action. Only prepare/launch explicitly create run/session state; watch never launches or adopts missing sessions. Root review does not apply code, admit annotations or train. A STOP marker does not promise interruption of an active model.
reverse_reconstruction
CLI JSON output is compatible with several earlier terminal histories, especially waiting and quarantined effects. A status value records durable job state and last redacted observation rather than proving the terminal is currently idle or that root has read the report.
effect_partition
Argument/config failures occur before terminal action. Unhandled core errors terminate watch; read-only Fish-local refusals persist and skip. STOP returns durable status without deleting jobs or killing sessions; explicit future invocations must inspect retained uncertainty.
Invariant
Configuration/task/source bindings remain explicit; unknown terminal/model effects are not converted to completed work. Review-only outputs do not mutate training, shared DB or production code. Exact byte identity and structural admission are separate from model truth.
Cost
CLI config/queue reads are bounded; a watch iteration pays the core pass plus configured100โ60000ms delay. No wall-clock throughput or continuous root-chat availability is established.
Checks
Compiled debug/release with the core suite; no separate live CLI/session smoke performed. Root completed a separate finite two-task live adaptation; see the qualification below.
Evidence status: source-derived partial model with bounded native controls. No formal proof, full semantic AST, percentage-error bound or live Codex quality guarantee.
local_failure_observation_partition
Domain: watch over configured Fish with writable journals. Observation: Fish-specific redacted state versus returned core error. Read-only terminal errors and pre-reservation source/report refusals now return per-Fish observations and let the pass continue. Persistence errors and uncertain effects after reservation still terminate watch; the unchanged CLI does not retry them. STOP remains between passes.
Evidence: debug/release two-Fish progress controls and unchanged Enter uncertainty/no-replay control. Continued polling and a local envelope do not establish root-chat consumption. Existing Crab role=fish observations read legacy master/writer status, not this supervisor review queue; integration is a separate checkpoint.
Separate root live evidence
Root separately completed two real Codex TUI tasks and received two structurally bound reports in the external private pilot run. Root rejected the water report for a human/species overclaim and free-form nonenum pragmatics; hearing was accepted only as a provisional syntax critique. No DB/training admission occurred. This is finite end-to-end evidence for the old c215 runtime, not semantic validation or a live smoke of this M1/M2/M3 binary. This implementation worker used no model call or real terminal session.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/tools/fish-terminal/src/main.rs.groupant/