Repository navigation
fix: make TinyFugue startup onboarding explicit and early - #48
Merged
Merged
Conversation
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.
Scope
Slice 26 PR 1 only: TinyFugue onboarding and startup integration. Based on
mainat8a2007972c0a78a738749ada05b8a517d5ac8e5b/ v0.4.1. Do not merge until reviewed.Problem
The installer rejected a missing default startup file, appended the capture hook after possible connection/login commands, and called textual hook presence "configured" without verifying the active TinyFugue invocation.
Changes
--tf-startupnever falls back or prompts. Validate regular-file status, current ownership and read/write access before installation mutations.tf -f FILE) loads the selected file before connection/login.Verification
scripts/build-server-bundle.sh: passed with the pinned uv-managed interpreter; no release versions changed.test-installer-connections.py --tf-startup-only <frozen bundle>: passed under the host-Python execution guard.test-installer-connections.py <frozen bundle>matrix: passed, including legacy upgrades, signal/rollback and connection ownership acceptance.test-frozen-server.py <frozen bundle>: passed; real frozen relay/feed/gateway/action-consumer flow, isolated native user-systemd units, kernel denial of host Python/pip.TFLIBDIR=/home/tai/src/tinyfugue/lib/tfand/home/tai/bin/tf.imp_capture_gmcpalready defined at the first original command in the installer-modified startup file; TF exited 0. The local native binary emitted sanitizer diagnostics intfio.c:900andvariable.c:945; these are not suppressed or claimed fixed.npm run check, shell syntax andgit diff --check: passed. The gate includes formatting, documentation references, release-version consistency, types, component tests, end-to-end behavior and production build.Limits and retained scope
The all-purpose
test-server-bundle.shwas attempted but could not complete here: host loopback 8787 returns EADDRINUSE without a visible Linux listener. A private-network/user-namespace attempt bypassed that port conflict but the Direct credential safety check rejected remapped home-directory ownership. Installer-specific frozen acceptance and native frozen-runtime acceptance passed separately; no claim of a complete all-purpose bundle run.Runtime invocation, arbitrary nested/macros execution, and existing-hook order remain operator-confirmed. No live VPS/NAT VM/public Caddy/certificate/credential/DNS changes, protocol changes, GMCP normalization changes, CHANGELOG edits or release-version edits.
Subsequent Slice 26 PRs retain: warning before discarding saved Direct credentials; NAT preflight error classification; recovery of exact-owned inactive legacy edges without
gateway.env; remaining installation documentation/completion-message corrections.