Repository navigation
Label raw terminal setup phases and retry capability issuance - #6320
Draft
schickling-assistant wants to merge 3 commits into
Draft
schickling-assistant wants to merge 3 commits into
schickling-assistant wants to merge 3 commits into
Conversation
Contributor
Author
|
Superseded-head acceptance receipt ( Posted on behalf of @schickling
|
Contributor
Author
|
Superseded head b2e3046 ticket: withdrawn while queued before payload execution. Gate exit94; cargo test and clippy NOT RUN. The final reviewed head ff3c880 now has its single acceptance ticket queued; no success claimed. Posted on behalf of @schickling
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Make raw-terminal setup failures diagnosable through cancellation and first presentation, and retry only the setup step that opens no PTY.
Change
$XDG_CACHE_HOME/st3/stui/attach.log(otherwise~/.cache/st3/stui/attach.log), with the existing cache-log permissions and 100 KB reset bound. No subscriber or opt-in setting is required for that file.FRACTAL_TUI_ATTACH_TRACE_FILE="$HOME/raw-attach.jsonl" fractal ui --client. Existing files must be regular, owned by the user, single-link, non-symlink and mode0600. The best-effort sink caps at4MiB without truncation and never waits on another process's log lock. No terminal payload, capability or error text is recorded.first-frame-decodedis recorded only for a decoded PTY frame.first-screen-renderedfollows an actual nonzero native screen draw and successful synchronized frame completion, not server first-byte timing.smalltalk.service). Enable module DEBUG filters via the managed daemon's RUST_LOG as documented; no service is restarted here. Existing OTEL request spans use service.namest-daemon; the INFO+ OTEL log filter does not export DEBUG stderr events. Client JSONL servicefractal-tuiis not an implied OTEL exporter.Not fixed here
The intermittent first-open failure remains open. A server capability-issuance POST took17.7s while replication held the writer; its actual writer-acquire wait is NO DATA, not a proven cause. Related independent writer attribution/fairness work: #6323. The observed3081ms admission loan is already background and is not fixed there.
Verification
Final signed head
ff3c88090e6: one queued gate-slot ticket runs cargo test and clippy for fractal-tui, fractal-api-client-v0, fractal-api-core and fractal-peer. Results pending, no pass claimed. Earlier2360785 and b2e3046 tickets were withdrawn while queued: payloads NOT RUN; b2 withdrawal exit94. Tests cover phase classification/bounds/cleanup, deadline expiry in each phase, selection abort, terminal deduplication, interleaved correlation, fragmented protocol decoding and post-flush screen presentation. Real Mac first-open proof with zero provider input and captured failing-stage proof are NOT RUN here and remain coordinator-arranged before GO. No daemon restart or live provider PTY input was sent; no CI dispatch requested.Complexity and concerns
Existing retry, incarnation and single-flight mechanics are retained. The attempt tracker extends through native presentation so cancellation cannot lose the last phase. Detailed sink writes are bounded best-effort on contention, full cap or I/O errors; default terminal failure retention remains available.
Follow-ups
Private generated client boundaries are not separable without codegen: endpoint resolution, connect, upgrade and first binary arrival remain for the next coordinated regeneration. If evidence confirms upgrade/owner-open as the cause, a bounded cancellation/remote-cleanup acknowledgment design is required before one safe retry; dropping the upgrade does not await server-handler cleanup. No cancellation protocol or generated-client changes are included here.
Posted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimeagent_modelworktree