Agree the manual and Homebrew lifecycle handoff #31
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
phg/iodd-tool#31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: Plan the signed IODD Tool prerelease
Type: grilling
Mode: HITL
Blocked by: Verify standard Homebrew lifecycle compatibility
Question
Given the official Homebrew findings, which concrete manual and standard-cask lifecycle invocation contract should implementation follow for install, replacement, upgrade, reinstall, uninstall and zap while preserving the accepted shared signed lifecycle architecture?
Specify authority and continuous operation exclusion across callers/phases, what safely refuses or waits, how signed helpers are selected, and the handling of staging/bookkeeping, retained prior bundles and unresolved recovery evidence. Treat the private destination, worker-lifetime lease, signed peer checks, bounded evidence cleanup and preservation guarantees as fixed constraints. Record how the chosen invocation will be independently demonstrated through the existing lifecycle acceptance boundary; do not design a second mutation test matrix.
This ticket selects the integration contract after the facts are known; the research ticket owns the source details. Resolve with phg's actual feedback. If standard Homebrew behavior conflicts with a fixed constraint, identify the exact conflict and ask explicitly before any contract is reopened. Do not implement helper/cask changes or run real lifecycle operations.
Research context now available
The resolution and committed report on Verify standard Homebrew lifecycle compatibility identify the concrete bookkeeping and cleanup/phase conflicts this existing human decision must address. The source details and local artifact/commit/delegation pointers remain in that research ticket; no additional decision ticket is needed for the same questions.
Establish mise-driven local prerelease mechanics is also resolved and indexed on Plan the signed IODD Tool prerelease. Both reports are committed locally; their research branches could not be published because SSH authentication returned
Permission denied (publickey). This delivery limitation does not establish a compatible lifecycle route or prevent local review.This remains an open, unclaimed HITL decision. No route is accepted here, no contract is reopened, and documentation/source research provides no runtime qualification.
Interview checkpoint — preservation conflict remains open
Claimed by phg for the live wayfinder discussion on 16 October 2026. This is a factual checkpoint for Agree the manual and Homebrew lifecycle handoff, not a resolution or an accepted invocation contract.
The existing resolution/report on Verify standard Homebrew lifecycle compatibility remains the source-detail owner. A bounded read-only follow-up confirmed the following:
b8334e758a8fb11d61b7af8d3ed6f0f632a4216b; the inspected lifecycle, worker, signing, inventory and export files are byte-identical to the research's44b4247d83811ce4232b1f04f65021adf590116d. These observations do not select the ongoing implementation's release candidate.Consequently, no route has been established that preserves arbitrary pre-existing recovery evidence inside Homebrew's purgeable tree under all these failure paths. Registration/export exclusion and source-only launch admission could prevent future supported evidence placement there, but do not protect unknown legacy contents already present. A helper refusing or attempting a best-effort copy is insufficient for unreadable, aliased, over-budget or pre-hook failures. Narrow bookkeeping admission alone does not solve this.
The live interview asks phg to decide immediate busy refusal versus waiting, enforceable private operation launch locations, and whether to retain preservation with Homebrew compatibility blocked or explicitly reopen a conflicting requirement. These are questions awaiting actual feedback; no proposed answer is adopted, no fixed constraint is reopened, and the child remains open and assigned to phg. Other lifecycle/helper-selection/retention/reconciliation details remain for subsequent interview rounds if a route becomes viable.
Fact-check context: native delegated subagent
/root/lifecycle_facts, read-only, completed. No source edits, real lifecycle operations, signing, publication or runtime qualification were performed. The map index is unchanged because no decision has been resolved.Interview checkpoint — busy refusal, private launch authority and preservation selected
phg answered the first interview round on 16 October 2026 for Agree the manual and Homebrew lifecycle handoff:
These are actual human selections, superseding the prior checkpoint's statement that all three answers were pending. They do not approve a complete manual/cask invocation contract. Manual invocation, signed helper selection after partial failure, complete retained-bundle policy and reconciliation/evidence handoff still need to be settled. Homebrew-specific route choices remain dependent on resolving the documented preservation conflict; no compatible route or runtime qualification is claimed.
The issue remains open and assigned to phg. No production code, lifecycle operation or release publication was performed. The map's Decisions so far is unchanged until this child has a complete resolution.
Interview checkpoint — manual invocation, helper selection and retention selected
phg answered “Q4 - Q6 agree” in the live wayfinder discussion on 16 October 2026. For Agree the manual and Homebrew lifecycle handoff, this selects:
The earlier accepted immediate busy refusal, enforced private operation launch locations and unchanged preservation guarantee remain in force. Homebrew compatibility and the associated release gate remain blocked.
Manual contract prepared for the final shared-understanding check
The install entrypoint receives the explicitly selected complete signed source app; removal targets only the internally derived supported live-app path. Production destination and lease paths are derived internally, without caller overrides. Both entrypoints run the shared transaction while holding the product lease continuously; a competing worker makes the command refuse before changing the installed app, retained bundles or recovery evidence. UI exit does not release worker authority.
Install verifies the complete source and required signed components, publishes privately and retains the complete prior app. Removal retains the complete live bundle rather than deleting recovery authority. Missing/untrusted/incompatible helpers and ambiguous state refuse; a missing live app does not establish Homebrew deregistration or purge completion. A failed transaction reports independently observed live/staged/retained state and whether reconciliation is required; it must not claim success or successful restoration merely because an attempted move or rollback returned.
The one remaining manual policy question is whether lifecycle operations may proceed while idle but unresolved recovery evidence exists, provided evidence and compatible retained recovery authority remain intact. Proposed answer: allow idle installation/replacement/removal under those conditions; keep the affected volume recovery-required and reject incompatible journal replay. This proposed answer is awaiting phg's feedback and is not adopted by this checkpoint.
Independent implementation evidence belongs to the existing Set validation gates and the implementation handoff and Qualify and package the native app lifecycle boundary: real independent lease-holder processes surviving caller/UI exit, filesystem/signature/path refusal and partial-failure observations, complete retained authority and byte/hash evidence preservation, plus final signed manual lifecycle commands on baseline/current-stable macOS. Use the shared public NativeAppLifecycle boundary and the existing acceptance work; no second filesystem-mutation matrix is introduced. This checkpoint supplies no runtime proof.
The complete child remains open and assigned to phg. Homebrew's staging/bookkeeping/purge/phase-gap and registration-reconciliation contract has not been approved, and accepting the manual path will not resolve those missing cask choices or remove them from the release destination. No source changes or lifecycle execution occurred.
Agreed manual-path policy — Homebrew contract remains unresolved
phg answered “Q7 agree” on 16 October 2026, completing the manual-path policy choices in this discussion. The selections below consolidate Q1–Q7 for Agree the manual and Homebrew lifecycle handoff. This is a partial policy record, not resolution of the complete manual/Homebrew integration question.
Agreed behavior
Failure reporting and existing evidence boundary
The shared transaction must report independently observed live/staged/retained state and whether reconciliation is required after a partial failure. An attempted rollback does not establish that the old app was restored. A missing live app does not establish Homebrew deregistration or purge completion. Preserve remaining bundles and evidence whenever the result is uncertain; do not turn helper success into a claim that a surrounding package-manager operation completed.
Independent proof remains part of Set validation gates and the implementation handoff and Qualify and package the native app: the public NativeAppLifecycle boundary, real independent worker/lease-holder processes surviving caller/UI exit, signature/path/refusal and partial-failure observations, retained compatible authority and independently checked evidence bytes/hashes, and final signed manual invocation on baseline/current-stable macOS. Keep the existing lifecycle acceptance work; do not add a second filesystem-mutation matrix. Planning selections do not establish any runtime result.
Remaining blocker and ticket status
Homebrew can purge staging on pre-hook failure and after helper refusal. No compatible standard-cask route preserving the fixed evidence guarantee has been established. The accepted private launch boundary does not protect unknown recovery evidence already inside a purgeable staging tree. The source details stay with Verify standard Homebrew lifecycle compatibility.
The staging/bookkeeping admission, purge/phase-gap behavior, old/new/retained helper invocation and package-manager registration-reconciliation contract remain unresolved for Homebrew. Candidate hook/preflight ideas from the factual checkpoint were not approved by these answers. This issue remains open, assigned to phg, and continues to block Define the mise release stages and signing handoff. The destination still includes the qualified standard Homebrew path. No duplicate research/decision child is created for the same existing blocker, and the map will not index this open child as a completed decision.
Only tracker records were updated. No source changes, lifecycle operations, tests, signing or release publication occurred.