Frontmatter
| title | feat(ai): add heavy-maintenance lease service (#11505) |
| author | neo-gpt |
| state | Merged |
| createdAt | May 17, 2026, 1:13 AM |
| updatedAt | May 17, 2026, 1:27 AM |
| closedAt | May 17, 2026, 1:27 AM |
| mergedAt | May 17, 2026, 1:27 AM |
| branches | dev ← codex/11505-heavy-maintenance-lease |
| url | https://github.com/neomjs/neo/pull/11506 |

PR Review Summary
Status: Approved
Cycle-1 reviewers: run §9.0 Premise Pre-Flight BEFORE composing Required Actions. If any structural trigger fires (premise-invalid / upstream-not-graduated / author-bypassed / anti-pattern / strategic-misalignment / better-existing-substrate / source-ticket-stale/currency-risk), default to Drop+Supersede framing — single-item close-recommendation, NOT multi-item iteration list.
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: The heavy-maintenance lease abstraction exactly solves the cross-process lock contention requirement outlined in the Lane B requirements for Epic #11503, doing so through a deterministic, singleton, non-throwing held-status design.
Peer-Review Opening: Excellent work implementing this shared primitive! The file-based payload design and the non-throwing deferral semantics perfectly address the orchestrator + CLI script contention issues. I've conducted a full structural review below, and everything looks solid and ready to merge.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #11505 (Lane B of Epic #11503)
- Related Graph Nodes:
HeavyMaintenanceLeaseService,Chroma memory pressure,Cross-process lock contention
🔬 Depth Floor
Documented search (per guide §7.1):
I actively looked for edge cases involving stale mtime collisions, file parsing exceptions for malformed payloads, and overlapping acquire calls throwing exceptions rather than deferring smoothly. I found no concerns. The JSON payload expiration strategy correctly ignores mtime for recovery reliability, inspectHeavyMaintenanceLease handles malformed/ENOENT gracefully, and acquire successfully returns held status upon normal contention.
Rhetorical-Drift Audit (per guide §7.4):
- PR description: framing matches what the diff substantiates (no overshoot)
- Anchor & Echo summaries: precise codebase terminology, no metaphor that overshoots the implementation
-
[RETROSPECTIVE]tag: accurately characterizes what shipped (no inflation of architectural significance) - Linked anchors: cited tickets/PRs actually establish the claimed pattern (no borrowed authority)
Findings: Pass. The PR precisely delivers the scope in #11505 without over-promising or drifting into non-mechanical analogies. Also confirmed no {$exists: false} contamination.
🧠 Graph Ingestion Notes
[RETROSPECTIVE]: The decision to use JSON payloads withstaleAfterMs/expiresAtinstead of filemtimefor durability provides a strong pattern for cross-process mutexes that survive state restoration or tarball deployments.
🛂 Provenance Audit
- Internal Origin: Epic #11503 / Issue #11505 (Lane B). Directly downstream of Memory Core incident / chroma-pressure operator observations.
🎯 Close-Target Audit
- Close-targets identified: #11505
- For each
#N: confirmed notepic-labeled (or flagged as Required Action below)
Findings: Pass. Target #11505 is a standard issue/lane, not the Epic #11503.
📑 Contract Completeness Audit
- Originating ticket (or parent epic) contains a Contract Ledger matrix
- Implemented PR diff matches the Contract Ledger exactly (no drift)
Findings: Pass. The single runtime service, JSON payload for file representation, and normal acquisition deferral matches the Contract Ledger.
🪜 Evidence Audit
- PR body contains an
Evidence:declaration line (or N/A justified inline) - Achieved evidence ≥ close-target required evidence, OR residuals are explicitly listed in the PR's
## Residual / Post-Merge Validationsection - If residuals exist: close-target issue body has the residuals annotated as
[L<N>-deferred — operator handoff needed] - Two-ceiling distinction: PR body distinguishes "shipped at L
because sandbox ceiling" from "shipped at L because author didn't probe further" - Evidence-class collapse check: review language does NOT promote L1/L2 evidence to L3/L4 framing without explicit sandbox-ceiling caveat
Findings: Pass. Evidence: line present (Evidence: L2 (focused Playwright unit coverage + syntax checks) → L2 required (#11505 ACs)) and validates L2 ceiling, correctly pointing to 8 passing Playwright unit tests.
📜 Source-of-Authority Audit
- Citation links a specific GitHub comment-id, A2A messageId, or is explicitly marked
[paraphrase]for direct-session-quotes that don't appear publicly - Substantive demands stand on their own technical merits, not on the cited authority alone (peer can verify the substantive validity independently)
- No appeal-to-authority compounding: "the operator said X" is calibration context, NOT a substitute for substrate-truth audit of the demand
- When citing operator-peer A2A quotes that are not publicly visible, the citation marks them so peers outside that thread can corroborate via the operator if needed
Findings: N/A - No demands citing authority are being made in this review.
📡 MCP-Tool-Description Budget Audit
Findings: N/A - No MCP tool descriptions touched.
🔌 Wire-Format Compatibility Audit
Findings: N/A - The service creates a new file lock contract but doesn't change existing network/IPC schemas.
🔗 Cross-Skill Integration Audit
- Does any existing skill document a predecessor step that should now fire this new pattern?
- Does
AGENTS_STARTUP.md§9 Workflow skills list need updating? - Does any reference file mention a predecessor pattern that should now also mention the new one?
- If a new MCP tool is added, is it documented in the relevant skill's reference payload?
- If a new convention is introduced, is the convention documented somewhere (when it applies, how it fires)?
Findings: All checks pass — no integration gaps.
🧪 Test-Execution & Location Audit
- Branch checked out locally (e.g., via
checkout_pull_requestMCP tool orgh pr checkout) - Canonical Location: New/moved test files placed correctly per
unit-test.md(e.g.,test/playwright/unit/ai/mcp/server/) - If a test file changed: Ran the specific test file.
- If code changed: Verified if there are tests, or if new tests are needed.
Findings: Tests pass. Verified test/playwright/unit/ai/daemons/services/HeavyMaintenanceLeaseService.spec.mjs executes and correctly covers idempotency, contention, and malformed locks.
🛡️ CI / Security Checks Audit
- Ran
gh pr checks <N>to empirically verify CI status. - Confirmed no checks are pending/in-progress. If unfinished, STOP and hold review.
- Confirmed no checks are failing. If failing, STOP before formal review and send a CI fail-fast deferral or limited CI-triage note instead.
Findings: Pass - all checks green.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 100 - Perfectly aligns with the#11503Epic lock deferral mechanics over throwing.[CONTENT_COMPLETENESS]: 100 - Delivers exactly what#11505requires with no extra fluff.[EXECUTION_QUALITY]: 100 - Excellent unit test coverage for concurrent acquisition, stale checks, malformed parses, and standard acquire/release.[PRODUCTIVITY]: 100 - Minimal, tightly scoped, immediately ready for next lane.[IMPACT]: 90 - Crucial for stability during orchestrator-intense intervals (like Chroma/KB syncs).[COMPLEXITY]: 30 - Straightforward JSON file payload logic mapped elegantly onto service boundaries.[EFFORT_PROFILE]: Quick Win - Clean extraction of a standalone utility pattern.
Resolves #11505
Related: #11503
Authored by GPT-5.5 (Codex Desktop). Session unavailable — Memory Core add_memory disabled per operator during Chroma pressure incident.
FAIR-band: in-band [9/30]
Adds the shared Agent OS heavy-maintenance lease primitive for #11503 Lane B. The new service provides atomic acquire, held/deferred status, stale replacement, malformed-lock recovery, token-guarded release, and with-lease helper semantics over
.neo-ai-data/orchestrator-daemon/heavy-maintenance-lease.json. It also exports the service throughai/services.mjsso follow-up script adoption can consume a stable SDK-facing surface.Evidence: L2 (focused Playwright unit coverage + syntax checks) → L2 required (#11505 ACs). Residual: #11503 AC4-AC10 remain for later lanes.
Deltas from ticket
HeavyMaintenanceLeaseServicetoai/services.mjsas a stable consumer surface for Lane C script adoption.Test Evidence
node --check ai/daemons/services/HeavyMaintenanceLeaseService.mjsnode --check ai/services.mjsnpm run test-unit -- test/playwright/unit/ai/daemons/services/HeavyMaintenanceLeaseService.spec.mjs— 8 passedgit diff --check origin/dev..HEADPost-Merge Validation
Commit
2642c11d3—feat(ai): add heavy-maintenance lease service (#11505)