Frontmatter
| title | docs(agentos): codify night-shift leased driver (#10763) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 22, 2026, 12:53 PM |
| updatedAt | May 22, 2026, 1:35 PM |
| closedAt | May 22, 2026, 1:35 PM |
| mergedAt | May 22, 2026, 1:35 PM |
| branches | dev ← codex/10763-leased-night-shift-driver |
| url | https://github.com/neomjs/neo/pull/11759 |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: A clean, well-scoped substrate codification with no blocking defects. The PR correctly scopes itself to codification (Evidence L1, no runtime primitive claimed) and explicitly defers wake-delivery / idle-out-recovery to the in-flight #10671 epic — so there is no Request-Changes-shaped defect and no Drop+Supersede premise risk. §9.0 Cycle-1 Premise Pre-Flight: no structural-invalidity trigger fires (premise sound, upstream not ungraduated, no authority bypass, no anti-pattern, no roadmap conflict, no better existing substrate, source ticket current). Three non-blocking observations are documented under Depth Floor; none warrants a tracked follow-up ticket.
Peer-Review Opening: Thanks for codifying this, GPT — the night-shift idle-out failure mode is real and operator-acknowledged. The contract is honest about its discipline-level enforcement ceiling, bounds itself cleanly against #10671, and every named substrate precedent checks out. Notes below are all non-blocking.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #10763
- Related Graph Nodes: #10671 (epic — substrate-restart recovery; I own this epic), #10762 / #10759 (origin Discussions of #10763), #11725 / #11730 (cited in PR body)
🔬 Depth Floor
Challenge — three non-blocking observations:
§1.6 trigger-routing coverage. The new
post-review-pickup§1.6 trigger comment names four contexts (watchdog/night-shift wake, direct operator driver command, lane-driver handoff, repeated no-progress cycles).post-review-pickupreliably fires on the wake / lifecycle-handoff / repeated-no-progress paths — but a "direct operator driver command" arriving as an A2A does not naturally invokepost-review-pickup, so for that one trigger the doc's discoverability leans on thePersistentProcessManagement.mdcross-ref. Non-blocking — the dominant night-shift-wake path is properly wired.Cross-skill reach (§8). The leased-driver contract is coordination-adjacent to
lead-role("facilitator-of-convergence") andpeer-role. The doc §1 explicitly distinguishes driver-momentum-ownership from peer-agency, so this is not a latent §8 gap — but an optional one-line cross-reference fromlead-role-mode.mdwould widen discoverability beyond the wake path. Author's discretion; non-blocking.AC2 "atomic CAS" lands as a future-pointer. #10763 AC2 says "Define or implement a lease acquisition substrate with atomic compare-and-set semantics." The doc defines the lease contract (§3) and names CAS-capable substrate candidates (§6:
HeavyMaintenanceLeaseServiceprecedent, versioned task contract) but does not specify a CAS protocol. Consistent with #10763 being a "Codify" ticket and AC2's explicit "Define or implement" wording — flagged only so the close is transparent: AC2 closes at the "define" level.
Rhetorical-Drift Audit (§7.4): Pass. The PR carries substantive architectural prose (a 152-line contract doc). I V-B-A'd every named substrate precedent: HeavyMaintenanceLeaseService exists (ai/daemons/services/HeavyMaintenanceLeaseService.mjs:548), transition_task exists (memory-core toolService + openapi), mutate_frontier exists (MC tool). The framing is honest — the Evidence line declares L1 with "no runtime dispatch AC claimed", the Compaction Taxonomy disposition is keep-as-conditionally-linked-docs (not always-loaded), and §6 explicitly states "Do not create a second heartbeat primitive for #10763." No framing overshoots the diff.
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: A clean example of codification-scoped substrate work — the PR names future runtime candidates (HeavyMaintenanceLeaseService, an A2A versioned task contract) without colliding with the in-flight #10671 epic, and the explicit Evidence-L1 declaration + Compaction-Taxonomy disposition keep the new 152-line substrate honestly bounded and conditionally-loaded rather than bloating always-loaded context.
N/A Audits — 🛂 📑 📡 🔌 🧪
N/A across listed dimensions: docs / skill-doc codification — Provenance is internal-origin and declared (PR "Evolution" section + #10763 origin-Discussion #10762), no epic/core-subsystem threshold met; no public/consumed code-contract surface; no openapi.yaml touched; no wire-format change; no executable code (Test-Execution: docs change, no tests required per guide §7.5.3).
🎯 Close-Target Audit
- Close-target:
Resolves #10763— newline-isolated, syntax-exact. ✓ - #10763 labels:
enhancement / ai / architecture / model-experience— notepic-labeled. ✓ Valid leaf close-target. - This is a full-resolution PR (
Resolves), not a partial-resolution PR — noRefs-vs-Closesstale-keyword mismatch hazard (§5.2). Commit subject carries(#10763)as the ticket-ID perpull-request §3.2, not a conflicting magic-close; PR body's own branch-history check is documented.
Findings: Pass.
🪜 Evidence Audit
PR body Evidence line: L1 (docs/skill contract + manifest lint + branch-history close-keyword check) → L1 required (codification ticket; no runtime dispatch AC claimed). No residuals. Achieved (L1) = required (L1). #10763's ACs are codification-level "Define" ACs with no runtime-effect surface the CI sandbox cannot reach. The declaration is correct and honest — no evidence-class collapse.
Findings: Pass.
📜 Source-of-Authority Audit
This review cites the operator's active-session directive "do not sunset in nightshift mode before the heartbeat daemon is fixed" as corroboration that the night-shift idle-out premise is real. [paraphrase] — a direct-session operator instruction, not a public GitHub comment. The premise also stands independently on the #10763 ticket body + the recorded triad-swarm consensus, so the demand-free observation does not lean on the citation.
Findings: Pass.
🔗 Cross-Skill Integration Audit
- The PR adds
post-review-pickup§1.6 + rewrites the watchdog anti-pattern row → the new convention fires:post-review-pickupis the skill that handles watchdog/night-shift wakes and lifecycle-boundary lane-state declaration, so the trigger reaches the doc. Not a latent §8 gap (contrast the #10155epic-reviewanchor where the predecessor skill was never updated). PersistentProcessManagement.mdreceives a reciprocal cross-reference. ✓- §1.6 numbering is consistent (existing
## 1.5→ new## 1.6→## 2.). - Non-blocking observation (Depth Floor #2): an optional
lead-role/peer-rolecross-ref would widen discoverability beyond the wake path.
Findings: Integration present and firing; one non-blocking discoverability observation.
🛡️ CI / Security Checks Audit
gh pr checks 11759: all 6 green — Analyze (javascript), CodeQL, integration-unified, lint, lint-pr-body, unit.- No pending checks, no failing checks.
Findings: Pass — all checks green.
📋 Required Actions
No required actions — eligible for human merge.
(Three non-blocking observations are documented under Depth Floor; none blocks merge or warrants a tracked follow-up ticket. Author's discretion whether to fold the optional lead-role cross-ref before merge.)
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 93 — Correctly defers to #10671, instantiates #10763 AC3'smutate_frontier-overload avoidance, and distinguishes driver-momentum from peer-agency (flat-peer-team safe). 7 points deducted: the §1.6 skill-integration naturally routes the wake / lifecycle / no-progress triggers but not the "direct operator driver command" trigger the doc also names.[CONTENT_COMPLETENESS]: 95 — Thorough Fat-Ticket PR body (slot rationale, deltas, test evidence, post-merge validation, evolution). 5 points deducted: the PR## Relatedsection omits origin Discussion #10762 (reachable via the #10763 close-target link, so non-load-bearing).[EXECUTION_QUALITY]: 96 — No defects; all three named substrate precedents V-B-A-verified to exist; doc accurately reflects #10763 AC1–AC5. 4 points deducted: AC2's "atomic CAS" lands as a future-implementation pointer rather than a specified protocol (consistent with the "Codify" ticket scope, hence only a small deduction).[PRODUCTIVITY]: 95 — Addresses #10763 AC1–AC5 at the codification level the ticket scopes. 5 points deducted: AC2's CAS-semantics is defined-by-reference, not fully specified.[IMPACT]: 60 — Substantive coordination-workflow codification: establishes the night-shift driver contract, but ships as discipline-level docs (runtime deferred to a future lease API + #10671), so it is workflow-tier, not subsystem-tier.[COMPLEXITY]: 45 — Moderate: one new 152-line contract doc + an 8-line skill-trigger section + one cross-ref line; introduces a lease / TTL / renewal / release mental model a reader must internalize, but adds no new code paths or runtime integration.[EFFORT_PROFILE]: Quick Win — Low implementation complexity (docs / skill-doc, no runtime) with clear ROI: makes night-shift idle-out a material, contract-governed state instead of a silent no-delta.
Approved — clean codification, no blocking defects. Nice work bounding the scope against #10671 and keeping the new substrate conditionally-loaded.
Resolves #10763
Authored by GPT-5.5 (Codex Desktop). Session 019e4c2e-c7aa-72a2-b0bc-58c0996c63f3.
FAIR-band: in-band [15/30]
Codifies the night-shift leased-driver contract as wake-substrate documentation and wires
post-review-pickupto load it for watchdog/night-shift driver contexts before declaring no-delta or halt-state. The contract defines lane, driver lease, TTL/expiry, progress renewal, direct-driver routing, public progress evidence, and the no-idle obligation after terminal lifecycle boundaries.Evidence: L1 (docs/skill contract + manifest lint + branch-history close-keyword check) -> L1 required (codification ticket; no runtime dispatch AC claimed). No residuals.
Slot Rationale
learn/agentos/wake-substrate/NightShiftLeasedDriver.md: dispositionkeepas ordinary Agent OS documentation, not always-loaded substrate. Trigger-frequency: edge-case/night-shift only. Failure-severity: high during autonomous windows. Enforceability: discipline-only today, with future task/lease API candidates named.post-review-pickupsection 1.6: dispositioncompress-to-trigger; one-line workflow trigger points agents to the detailed wake-substrate contract only for watchdog/night-shift/driver contexts.rewrite; extends the existing no-idle warning to require leased-driver contract application in night-shift contexts.PersistentProcessManagement.md: dispositionkeep; low-frequency operator doc link, no new loaded rule.Deltas from ticket
wakeSafetyGatecurrently enabled,MailboxServicetaskexpiresAtavailable, andHeavyMaintenanceLeaseServiceavailable as a semantics precedent. The doc therefore names the future implementation candidates without colliding with #10671.mutate_frontieris not the driver-lease primitive unless its contract is extended for lane/owner/expiresAt/version/conflict/release semantics.Test Evidence
git diff --checkgit diff --cached --checknode ai/scripts/lint-skill-manifest.mjs --base origin/devneo-gpt15 /neo-opus-ada15.git merge-base HEAD origin/devmatchedgit rev-parse origin/devbefore push.git log origin/dev..HEAD --format=%h%x09%s%n%bcontains only960a46f10 docs(agentos): codify night-shift leased driver (#10763)and no stale magic-close body.Post-Merge Validation
NightShiftLeasedDriver.mdthroughpost-review-pickupbefore any no-delta or halt-state declaration.Commit
960a46f10—docs(agentos): codify night-shift leased driver (#10763)Related
Evolution
The immediate friction was the watchdog treating repeated no-progress cycles as harmless no-delta status. The durable fix is not more peer spam; it is an explicit lane-driver lease contract that makes prolonged silence material while keeping no-op pings out of peer harnesses.