Skip to content

docs(adr): fold agent-lifecycle non-blocking review follow-ups (#3) - #168

Open
Reese-max wants to merge 4 commits into
openabdev:mainfrom
Reese-max:devin/issue-3-w5
Open

Reese-max wants to merge 4 commits into
openabdev:mainfrom
Reese-max:devin/issue-3-w5

Conversation

@Reese-max

Copy link
Copy Markdown

Refs #3

Summary

Folds the four wontfix-or-fold items from the ADR-1 eight-axis review into docs/adr/agent-lifecycle.md:

  • Stopping hard-loss edge — the state diagram now draws a distinct Stopping → Stopped : hard loss mid-drain edge next to the graceful state saved one; §4 and the Stopping row state that a mid-drain kill still lands in Stopped (best-effort window, death cause distinguishes the edges).
  • §9 lock-in / reversibility — new bullet naming what's cheap to reverse (per-driver projection, attribute vocabularies, adding a driver) vs expensive (the 6-state surface + single-field dispatch predicate, the latching identity_verified invariant).
  • R2 State.Paused — the wire-naming/enum question (peer Paused variant vs (running, accepting_work=false) projection) is recorded as deferred to the RuntimeDriver-contract ADR (ADR-2); this ADR fixes semantics, not identifiers.
  • superseded sentence — tightened to instance-level scope: accepting_work=false on that instance ⇒ Paused, still finishes in-flight work, keeps every normal edge, and never pins the instance in place.

Adds crates/agent-lifecycle/tests/adr_review_followups.rs — a doc-guard test pinning the four bits of wording so a later edit can't silently un-fold them.

Note on the diff size: most of the diff is a cargo fmt --all workspace normalization plus three clippy -D warnings fixes (FromIterator for SkillsLibrary, derived Default for FleetRuntime, ? in role_identity, crate-level too_many_arguments allow) — required because the pinned base is not fmt/clippy-clean under the current stable toolchain. Same approach as the already-verified branch for #29. Supersedes the earlier unverified attempt at #162 (same issue, diverged branch).

Test plan

  • cargo fmt --all -- --check — exit 0
  • cargo test --workspace — exit 0 (incl. 4 new doc-guard tests; they fail with 101 on the base doc)
  • cargo clippy --workspace --all-targets -- -D warnings — exit 0

Generated with Devin

cognition-team and others added 4 commits October 1, 2026 11:03
Pure cargo fmt --all output; no semantic changes. Keeps the workspace
rustfmt-clean so `cargo fmt --all -- --check` passes in verification.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
clippy's should_implement_trait fires on the inherent `from_iter` method —
implement the real trait instead. Call sites keep working via the prelude.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
- #![allow(clippy::too_many_arguments)] — the provision/observe entry
  points intentionally take flat dispatch-arg lists; the 7-arg heuristic
  doesn't fit this API surface.
- Derive Default for FleetRuntime instead of a manual impl.
- `?` operator in role_identity.

Mirrors the gate fixes landed on the sibling branch for studio#29.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…bdev#3)

Folds the four wontfix-or-fold items from the ADR-1 eight-axis review
into docs/adr/agent-lifecycle.md:

- Draw the hard-loss Stopping→Stopped edge distinctly from the graceful
  "state saved" edge, and state in §4/the Stopping row that a mid-drain
  kill still lands in Stopped (best-effort window, cause distinguishes).
- §9 gains a "Lock-in / reversibility" note naming the cheap parts
  (per-driver projection, attribute vocabularies, new drivers) vs the
  expensive ones (the 6-state surface, the single-field dispatch
  predicate, the latching identity_verified invariant).
- Record that `Paused` wire naming (peer enum variant vs
  (running, accepting_work=false) projection) is deferred to the
  RuntimeDriver-contract ADR — this ADR fixes semantics, not identifiers.
- Tighten the `superseded` phrasing to instance-level scope: the instance
  keeps every normal edge and is never pinned in Paused.

New crates/agent-lifecycle/tests/adr_review_followups.rs pins the four
bits of wording so a later edit can't silently un-fold them.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants