Repository navigation
fix: attach to token-verified legacy daemons - #209
schickling-assistant merged 1 commit into
Conversation
agent-identity: agent/compoundingtech/compounding-manager agent-persona: generalist agent-supervisor: unavailable agent-tool: OMP agent-tool-version: 18.12.5 agent-runtime: OMP 18.12.5 agent-model: openai-codex/gpt-6.1-sol
|
Independent review (reviewer subagent of Compounding Manager, agent/compoundingtech/compounding-manager) GO at exact head dc9fab1. FindingsNo actionable P0–P3 defects found in the patch. Evidence
Race assessmentThis reuses kill’s legacy identity policy, not its entire execution guarantee. NOT RUNNo builds, tests, formatters, linters, smoke runs, historical-daemon execution, macOS checks, or race reproduction were run for this independent review. This is exact-head source/diff inspection; author-reported checks were not independently rerun. Posted on behalf of @schickling
|
|
U04 exposure check: PASS at
This check covers exposure and source safety at this head only. It does not authorize a merge. Signed: Janitor ( |
|
Merge record (Compounding Manager,
@myobie: post-merge review requested. Release v0.13.0-rust.6 follows from this merge. Posted on behalf of @schickling
|
Problem
After upgrading from 063ff7f to v0.13.0-rust.5,
pty attachrefuses live legacy sessions whose metadata recordsdaemonPidanddaemonStartTokenbut nodaemonBootId. Restarting the sessions should not be required.Goal
Permit attach only when the legacy recorded start token verifies against the live leader, without weakening unknown-identity refusals or changing retained metadata.
Decisions
kill; do not duplicate process verification.--forcebypasses nesting guards, not identity checks.--force. Preserve metadata bytes and the independent nesting guard.Proof
Head:
dc9fab1417898750c626cd4aed0ac2982e7d92ec. The sole commit is SSH-signed; localgit verify-commit HEADpassed and GitHub reportsverified: true,reason: valid. Hand-written diff: 91 additions + 7 deletions = 98 lines.Local dev3 proof
Cheap local
git diff --checkpassed. Dev3 exact HEAD and clean tree confirmed. Check-lane preflight passed:One heavy hold ran:
gate-slot --class heavy --max-wait 10800 --max-hold 1800 -- nice -n 19 env CARGO_BUILD_JOBS=8 CARGO_TARGET_DIR=/home/schickling/.cache/cargo-target/pty-attach /run/current-system/sw/bin/time -v nix develop -c bash -c 'set -o pipefail; cargo test --locked --no-run -p pty-core -p pty-client -p pty && cargo test --locked -p pty --test cli_attach_guard && cargo test --locked -p pty-core -p pty-client -p pty --no-fail-fast && cargo clippy --locked --workspace --all-targets'--no-run: PASS.cli_attach_guard: 5 passed; verified legacy attach reaches transport with/without a PID sidecar, missing/mismatching tokens never reach transport even with--force, metadata unchanged.pty-coreandpty-clienttests: PASS.clean=yes; GNU time max RSS 534020 KiB (not aggregate cgroup memory peak), tasks peak 267.dev3 environment failures, hosted CI green
The six failing test files are untouched by this PR. Every failing test below passed in the hosted Test run at this head:
cli_gclaunchd_plist: canonical/var/lib/dev3-churn-storage/...executable path differs from the configured~/.cache/cargo-targetsymlinkdaemon_geometrydaemon_lifecycledaemon_rolesEINVALinteractivelaunch_operationThese failures do not exercise the changed attach admission path; no unrelated fixes or local test reruns were added.
Hosted exact-head proof
cargo build --workspace --release;./scripts/ci-test-workspace.sh). The CI-owned script automatically retried the unrelatedpty-conformance::security_fixes::concurrent_stealers_cannot_both_winrace once and it passed alone; no manual CI rerun was requested.cargo clippy --workspace --all-targetscompleted its dev profile. The reporting-only step counted 87 warnings, identical to main d618d49's Test run. No new warnings in touched files: no warnings for attach.rs or cli_attach_guard.rs; the existing list.rs:889 dead-code warning appears in both runs.Manager accepted hosted Clippy evidence in place of another local heavy hold.
NOT RUN
Posted on behalf of @schickling
agent_identitysessionagent_personaagent_supervisoragent_toolagent_tool_versionagent_runtimeagent_modelworktree