# Disposition of the 18 September 0.2 review **Separate owner-directed decision, 23 September 2026:** [Operanda as a cross-app context and memory vault](engineering/cross-app-vault.md) records new explicit product direction from the owner, not adoption of the uploaded review's proposals. It sets the Coz/OWP/task-agent plaintext boundary and direct Vault-to-end-service delivery. It does not resolve the recovery, custody, effect, canonical contract or runtime-isolation findings below, or select a UI isolation mechanism. Input: `Coz_0.2_Spec_Review_2026-09-18.md`, supplied by Christian during implementation. It identifies proposed resolutions, not adopted decisions. This alpha implements a bounded subset under its own profile. Neither this document nor the code silently revises the canonical suite. ## Immediate implementation changes - BLK-02 / CRY-07: documented field visibility and threat model for the actual configuration; compile-time exhaustive classifications for record payload/header, certificates and transport headers; no protected content in coordinator storage. - BLK-03 / CON-13..16: value validation, memory selection and runtime admission run in the user node. No model, index or content compiler runs in the coordinator. Model ports have no Vault access. - BLK-04: implemented a signed, direction-bound device↔node relay and a separate loopback node polling/storage port. This is not the future distributed assignment channel or merged OpenAPI contract. - CRY-03: the alpha accepts records only from its pinned node signer. It offers no arbitrary distribution-manifest author or recipient API. Full owner/delegated signing authority remains a gate. - CRY-04 / DEC-03: grants bind one exact revision and one fixture recipient. No standing grant or attenuation exists. Drafts now pin exact input revisions and runtime identity and reject changes before execution. - CON-01 / BLK-01: no money-bearing DTO, payment implementation, external-effect execution or ambiguous dual budget ledger was added. Typed blocked boundaries reference these finding IDs. - CON-02 / CON-04: both fixture accounts explicitly trust the same Mac administrator; each client stores one active principal. This is API scope testing, not proof that Madeline is private from Christian as host administrator. - CON-05: the alpha uses the existing chapter 13 five-tab design. Canonical tab reconciliation is not marked approved. - PRC-08: test results are labeled implementation-profile tests, never merged-spec validation. ## Finding-by-finding status | Findings | Status in this implementation | |---|---| | BLK-01 | External effects and money disabled. Proposed convergence protocol requires design and fault-injection before implementation. | | BLK-02 | Alpha visibility matrix implemented. Full merged-field classification pending. | | BLK-03 | Manual memory/preference authoring and context validation node-side. Extraction, dedup, replicas and indexes not built. | | BLK-04 | Local encrypted command relay and durable node polling implemented. Production node enrollment/assignment/ack/outcome transport pending. | | BLK-05 | No overloaded `device_only` token. The only enabled execution location is the trusted local node. Phone execution/unlock policy pending. | | BLK-06 | Alpha supports draft/queued/running/review/terminal subset. No interactive-unlock or missing-disclosure workflow is claimed. | | CRY-01, CRY-02 | No owner or shared recovery claim. Node backup/password recovery is distinct. Product choice made 26 September 2026: recovery key only, no escrow or operator reset ([accounts plan](engineering/accounts-plan.md)). Wrap format and review pending. | | CRY-03 | One pinned signer in alpha. Full distributor authority/recipient grant checks pending. | | CRY-04 | Attenuation absent and disabled. Single exact-revision fixture grants only. | | CRY-05 | Payload/policy change creates new record revision and DEK. Membership change/epoch semantics unimplemented. | | CRY-06 | No symmetric vault-root wrapping introduced. Node HPKE wrap + separately password-encrypted local keybag; future recovery format unresolved. | | CRY-07 | Implemented threat/metadata table; host-administrator limitation explicit. No independent audit claim. | | CON-01 | Money types blocked. The review's example micros→minor `mod 10^4` is correct only for currencies with two minor-unit decimals; any final rule must use the currency exponent. | | CON-02, CON-03, CON-04 | Trust and device-loss limits documented. This app is an online client to a trusted node; it is not an owner replica. | | CON-05, CON-06, CON-07, CON-08 | No canonical naming, OWP version, package dependency or handoff-schema decisions silently changed. Alpha profile is separate. | | CON-09 | Hermes default reference is loopback 8642; execution stays gated. | | CON-10 | No Notion connector or reconciliation token is configured. Mechanism must be chosen before real append. | | CON-11, CON-12 | Local glossary/module docs clarify the actual deployment. Canonical glossary/config consolidation still required. | | CON-13, CON-14, CON-15, CON-16 | No cloud plaintext compiler, validation or embeddings. Domain names identify coordinator vs endpoint. | | PRC-01, PRC-02, PRC-03 | A narrow implementation crosswalk is below; full original ticket/grant taxonomy remains suite work. | | PRC-04, PRC-05 | Hermes execution blocked; lightweight fixture concurrency 1. No 64k model or VM fit claim on 18 GB. | | PRC-06, PRC-07 | No wholesale canonical rewrite; a build-status page links the review and remaining decisions. | | PRC-08 | Eight alpha schemas + behavioral tests are independent of the unvalidated merged bundle. | Two proposed review conclusions need care: an authoring endpoint need not hold every artifact byte merely to create a manual record; replica completeness depends on the dedup/index contract. Also, a stale executor's `STALE_FENCE` response must never itself requeue or mutate the current work; only the current coordinator owner can schedule a new admitted attempt. The implementation rejects stale callbacks without granting that authority. ## Bundle verification requested by the review The local 0.2 schema, fixtures and validation report were inspected. Original 0.1 attachments were referenced in Notion but were not available as local schemas in this build, so cross-bundle conclusions remain limited. 1. **Confirmed gap:** `DisclosureGrant` has `parent_grant_id`, not `parent_grant_digest`, no serialized attenuation chain/caveats, and no spend-cap field. It binds a single `recipient_key_id`, exact record refs, max uses and expiry. Its comment explicitly makes the standing template a separately reviewed object. 2. **Confirmed:** `PaymentIntent.amount_minor` is a JSON integer, conflicting with the 0.1 chapter's micro-unit decimal-string convention. 3. **Not present:** `KeyEnvelope.envelope_kind` or a recovery envelope type. 4. **Partially present:** `DistributionManifest.distributor_key_id` and a signature are present; schema comments require endpoint checks but do not encode the full owner/attenuator acceptance rule. 5. **Confirmed ambiguity:** 0.2 prose assigns authoritative grant/effect enforcement to the Vault Agent/broker; a merged placement-specific SQL migration does not exist locally. 6. **Not present:** a node assignment or direction-bearing relay envelope in the 0.2 schema. The new alpha schema is independent. 7. **Not verifiable in the 0.2 delta:** no `WorkItem` definition there; merged work/waiting-state schema requires the baseline bundle. 8. **Not present as behavioral tests:** 0.2 fixtures test shape, not signature authority, attenuation widening, wrong direction or cryptographic revision binding. 9. **Not verifiable locally:** original problem-code enum extension; no merged OpenAPI artifact. 10. **Not present in the 0.2 schema:** `x-visibility` annotations. New alpha annotations cover only its own types. 11. **Confirmed:** all 18 original checks are isolated delta schema/fixture checks, not merged validation or cryptographic implementation tests. 12. **Confirmed at chapter level only:** 0.1 text says micros-as-string; 0.2 JSON says numeric minor units. Original `contracts.schema.json` itself has not been inspected here. ## Owner decisions still open DEC-01 retains the existing synthetic-only gate; no `solo_trusted` exception was adopted. DEC-02's recovery method was decided on 26 September 2026: a person-held recovery key only, with no escrow or operator reset ([accounts plan](engineering/accounts-plan.md)). DEC-04's replica preference remains pending. DEC-03 keeps existing exact-record scope until a standing-grant decision is made. DEC-05 whole-process isolation remains unselected. DEC-06 money, profile naming and canonical UI/task naming remain unresolved. None of these decisions is inferred from the act of uploading the review.