Gate D — mutation / import plan (executed)¶
Gate D was approved and executed on 2026-07-26. This document preserves the reviewed plan; execution evidence is in
../../estate/gate-d-import-result.yml.
Status: package-in-review — do not execute until Conductor-Gate-D: approve on issue #3.
Depends on: Gates A–C approved; Gate C discovery is complete for the approved application source boundary.
Prerequisites checklist¶
| Prerequisite | Evidence |
|---|---|
| Gate A schema | state-model.md state-model.v2 |
| Gate B Asset model | asset-registry.md asset-registry.v2 |
| Gate C access + inventory | read-access-contract.md, source-inventory.md |
| Source registry | source-registry.yml: 131 candidate project units |
| Dry-run package | gate-d-dry-run.yml |
| Review groups | review-groups.yml |
| Golden-path candidate selected | Recommended anchor prepared; Hector approval pending |
| Rollback rehearsal plan | Below |
Proposed database changes (dry-run)¶
- Under confirmed Notion parent page, create empty databases:
- Conductor Initiatives
- Conductor Workstreams
- Conductor Products
- Conductor Assets
- Conductor Decisions/Events
- Conductor Asset Repositories
- Conductor Asset Environments
- Conductor Asset Evidence
- Conductor Asset Relationships
- Apply properties from
state-model.v2/asset-registry.v2. - Record database IDs into Bitwarden-backed config names only (see read-access contract).
- Do not enable Conductor write orchestrator as the import writer. Prefer a one-shot operator/agent import under Portfolio Manager, or a dedicated import script reviewed in a PR.
Dry-run row counts:
| Store | Proposed initial rows | Rule |
|---|---|---|
| Assets | 131 | Candidate-only; no extracted description becomes reviewed |
| Asset Repositories | 131 | One repository/subpath locator per candidate |
| Asset Evidence | at least 131 | Provenance only |
| Asset Environments | 0 | No deployment URL without verification |
| Asset Relationships | 0 | Review queues are not authoritative edges |
| Decisions/Events | 0 | Created only in the approved execution batch with Initiative context |
Candidate Asset import set¶
Import only after human review of:
- Post-Gate-C enumerated repos and deploy URLs
- Suspected duplicate groups
- The selected golden-path application or related group with comparable purpose / users_needs / capabilities
- Explicit source-coverage gaps and excluded or failed sources
Suspected duplicate / related groups¶
See review-groups.yml. The current human-review
queue covers the six-member real-estate group, the exact-name fiser-nextjs
collision, likely language-tutor overlap, event-product overlap, and the explicit
Fund Console consolidation claim.
Proposed golden-path Asset records¶
Recommended anchor:
github:hector-sanchez-eu/germany-real-estate-intelligence. Hector must approve
the anchor and dispositions for the five related members. Each selected reviewed
record must include purpose, users/needs, capabilities, lifecycle, estate,
provenance, freshness, privacy, repositories, deployments, and relationships.
Rollback and partial failure¶
| Step | Rollback |
|---|---|
| DB create fails mid-way | Delete newly created empty DBs; abort |
| Property mismatch | Fix schema in a follow-up PR; do not dual-write old sketch fields |
| Partial Asset import | Mark batch import_batch_id; delete or set review_status=rejected for failed subset; re-run idempotently by asset_id |
| Wrong privacy class imported | Redact/quarantine immediately; re-import after classification |
The local deterministic rehearsal passed for one canary and the full 131-record batch: second runs created zero duplicates, and rollback returned all three stores to zero. See gate-d-rollback-rehearsal.yml. Notion property creation, relation readback, archive behavior, and partial API failure were captured as execution-time canary and recovery evidence after Gate D approval.
Privacy evidence¶
- No secret values in import payloads
client-privatesources excluded unless Gate C expanded- Candidate
extraction_notesnever copied into reviewed authoritative fields without human edit
Approval¶
Comment Conductor-Gate-D: approve on issue #3 after this package is updated with
the human decisions in review-groups.yml, candidate-only import acceptance,
one-shot writer approval, and rollback rehearsal authorization. Schema approval
alone is not sufficient.