Repository navigation
Conversation
…l untracked Stable `hack global up` (v4.2.0) restarts a stopped hackd because daemon.autoStart defaults to on, so a Compose candidate run on the same ~/.hack needs the order `hack global up`, `hack daemon stop`, then `pgrep -fl "hack daemon start"` printing nothing, with no stable hack commands until the run ends. Also tell users not to commit the generated, machine-local `.hack/.internal/` directory: newer generators rewrite files such as compose.override.yml, so a tracked copy dirties the tree on every run. Point at the existing `hack doctor` generated-files check and `hack doctor --fix` to untrack it. Refs HACK-1315 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A one-shot Compose service that exits quickly had no Loki entries, so `hack logs --no-follow <service>` printed nothing while `docker compose logs` showed its output (HACK-1277). Root cause: the global Alloy config used discovery.docker defaults, which list only running containers once a minute. A container that started and exited between two polls was never tailed. The 15 minute default Loki snapshot window also hid a service that finished earlier. - Alloy discovers running, restarting, paused and exited containers every 5s. Docker lists all containers once a status filter is present, and loki.source.docker reads an exited container's retained logs once. - Network and port metadata are dropped and __address__ is the container id, so a target keeps its label set when the container stops and its log is not re-read. - A Loki snapshot without --since looks back 24h instead of 15m. - An implicit Loki snapshot with no entries writes nothing and answers from docker compose logs with a one-line stderr notice. An explicit Loki request keeps its result and hints at `hack logs --compose`. - Document the remaining limit: a container removed between two polls never reaches Loki. Refs HACK-1277 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nd strict-default bounds Add tests/native-compose-readiness-bounds.test.ts for the readiness bounds that #362 (HACK-1279) added to waitNativeComposeStartupOwned: - A readiness timeout never becomes success, even when the post-deadline settled check finds the member rejoined and ready. - Each disjunct of the transient flag (first-scan running member, recheck running member, recheck placeholder) alone runs the settled check, which refuses the unchanged shape; restarting-only shapes, including a first-scan placeholder, do not; the flag follows the last observation. - Reads that do not opt into transient membership stay strict: strict and saved refuse every restart-race shape, and settled refuses the running shapes while keeping the restarting admission from before #362. A virtual readiness clock (Bun.sleep advances Date.now past the deadline) fixes the number of in-loop observations, and the fake Docker serves one scripted scan per inspect, so each bound is deterministic. Refs HACK-1305 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Integration gate for merge batch b33: origin/next + #371 (HACK-1277) + #378 (HACK-1305) + #369 (HACK-1315). Tree 0fbf1591. Closed after the batch squashes.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.