seat-continuity-and-handover — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited seat-continuity-and-handover (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A pair of primitive families that separate who is sitting in a seat from what the seat itself is:
resume, fork, rebuild, fresh — produce a candidate new occupant. Answer: "where did the new occupant come from?"seat handover, later seat transfer / seat retire / seat swap — bind a candidate occupant into the topology. Answer: "what happened to the stable seat identity?"Core architectural decision: stable seat identity, fluid occupant identity, explicit provenance. Today's lead2/lead3/lead4/lead5 pattern encodes successor lineage into seat names — that's the wrong shape. Stable seat name + separately-recorded provenance trail is the right shape.
rig launch / rig expand directlyEvery seat-binding operation produces two independent outcomes:
continuityOutcome: rebuilt | resumed | forked | fresh | failed
seatBindingOutcome: handed_over | partial | failed | unchangedThese can disagree honestly. Examples:
continuityOutcome: failed + seatBindingOutcome: unchanged — new occupant didn't materialize; seat correctly retains old occupant.continuityOutcome: rebuilt + seatBindingOutcome: failed — candidate created OK; bind failed mid-flight; provenance records the gap.Don't collapse these into one outcome. The system can describe what actually happened only if the two are recorded independently.
Every handover writes:
resume/fork/rebuild/fresh)handed_over / partial / failed)This is the system's truth-source for "how did the current occupant get there." Without it, the control plane shows the current occupant but not the legitimacy of the transition.
continuityOutcome: failedA seat stays Stable even if multiple candidate-occupants were produced and discarded.
rebuild couldn't synthesize from artifacts; fork couldn't resolve session_source; fresh couldn't launch. Action: bind operation does not begin; seat unchanged; provenance records the failed candidate-creation step.Binding state with explicit "halted" sub-status; operator alerted. Do NOT auto-rollback by reattaching old-occupant if detach didn't complete cleanly.Binding halted, not Bound.advise (keep alive as advisor) but runtime can't keep old alive. Action: degrade to retire with explicit notification, OR fail if operator passed strict-disposition flag.lead2/lead3). Stable seat identity is the architectural goal.Once session_source fork v1 lands (already shipped at openrig c7b6df1), the next composition is seat handover over fork: candidate occupant created via fork, bound into the existing seat via handover. Continuity outcome is forked; binding outcome is independent.
578bd5c (2026-04-30): session_source.mode: rebuild with ref.kind: artifact_set; identity-honesty bedrock at 4 layers (schema dispatch, orchestrator threading, SQLite read-back, negative-grep on resolver output). 26/26 Tier 1 cases green; full daemon regression 2146/2146 PASS.rig seat handover CLI exists as a planning/observability surface — status <seat> reads the seat-handover observability tables (migration 021); handover <seat> plans a safe two-phase handover sequence with actual execution flowing through existing seat-launch surfaces under operator gating. Full code-direct SeatHandoverService daemon module + seat-binding-outcome provenance record + nodes-table provenance migration remain deferred to Mode 3. MVP composition seat handover over fork is highest-leverage v1.Any recursive seat-refresh loop must be able to replace an occupant while keeping topology stable. Without these primitives, RSI loops will either accumulate suffixed seat names (lineage leaking into identity) or destabilize topology references on each cycle. Provenance must be durable AND queryable so RSI loops can decide whether a seat is fresh enough to receive new work or needs re-handover.
claude-compaction-restore skill — packet-driven restore after Claude compactionagent-startup-and-context-ingestion skill — ingestion path for restore packets at agent boot~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.