release: devloop 0.10.0#10
Merged
Merged
Conversation
Context: Devloop had supervised output and runtime tracing, but no durable per-run record. When terminal inheritance was disabled or an agent shell lost scrollback, there was no stable artifact for diagnosing engine, hook, or process behavior. Decision: Add a per-session log under the state-file parent, defaulting to .devloop/logs/. Devloop creates and verifies the log before runtime startup, tees tracing output into it, persists managed process and hook output even when terminal inheritance is disabled, ignores only the active log file in watcher classification, and flushes output at lifecycle boundaries. Retired process output now carries a generation token so cleanup can drain logs without publishing stale output-rule state into a replacement process. Alternatives considered: Writing logs directly from producers was simpler, but it reordered records and let filesystem stalls leak into runtime tasks. Ignoring the whole log directory was also simpler, but it hid user-owned files under broad watch patterns. Tradeoffs: Session-log producers use bounded backpressure, so a badly stalled log writer can slow producers instead of dropping durable records. Inherited terminal output remains backpressured by terminal behavior, while the outer output-drain deadline remains the truncation boundary. Architectural impact: The runtime now has an explicit session-log adapter at the edge of the engine. Process output forwarding separates durable persistence, terminal rendering, and output-rule state mutation, with generation-scoped state writes to keep restart behavior deterministic.
Context: Persistent session logs add a backwards-compatible user-visible capability, but their location and retention rules were not yet prominent in the durable references or embedded CLI documentation. Decision: Release version 0.10.0, move the session-log entry into its dated changelog section, and add explicit state-and-log and behavior sections that `devloop docs` renders and tests. Alternatives considered: Leaving the release notes under Unreleased or documenting logs only in the README would hide the shipped contract from CLI users, so both were rejected. Tradeoffs: Logs still have no rotation policy; clients retain ownership of retention and `.devloop/` ignore rules. Architectural impact: No runtime boundary changes. The embedded documentation boundary now has regression coverage for configuration and behavior session-log sections.
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.
Release summary
Release 0.10.0 adds durable per-session logs under the state-file directory’s
logs/subdirectory.Included
devloop docsand repository docs.Validation
cargo fmt --checkcargo testcargo clippy --all-targets --all-features -- -D warnings