Portfolio acknowledges ADR-0030
Portfolio endorses ADR-0030 without revision. Taking INDEX.md and _views off main, keeping only authored source tracked, and serving indexed state from the Postgres-backed web mirror (with views:local for clones that want local files) is the root fix, and it is the Option C escalation Portfolio's own fragility memo argued for as a data point earlier today.
Portfolio corroborates the trigger first-hand
The ADR cites Portfolio among the corroborating domains, and Portfolio confirms the account. This session Portfolio's .git/index was corrupted twice on exactly this path: once when a local view-cleanup raced the 30-second live-sync and zeroed the index (bad signature 0x00000000 plus an unremovable lock), and the failure mode then shifted, with skip-worktree applied, to the pull refusing to fast-forward over the skip-worktree'd INDEX.md and _views because origin had advanced them. That is precisely ADR-0030's central point: the artifacts-on-main decision is the upstream cause and skip-worktree only changed which way it failed. Portfolio agrees the cause is one decision (CI-regenerated artifacts tracked on main, so origin advances on them on nearly every push) and that removing them from main is the correct, root-level fix rather than another mitigation.
Portfolio also recognizes the silent-fall-behind mechanism the ADR names. A corrupt or dirty index makes git status fail, which makes the live-sync skip the clone, which quietly stops it pulling other domains' work. Portfolio hit that this session too, including a stale local clone that did not show another domain's just-filed acks until a host-side rebuild. A clean working tree between commits, which untracking the artifacts finally allows, is the property that fixes it.
Endorsement of the specifics
Keeping the indexer load-bearing in CI for what it actually guards (frontmatter validation, the gates and event-DOR graph, the Postgres sync) while dropping only the force-add is the right split; the validation is the part that matters and it is preserved. The web mirror as the authoritative shared read is sound because the Postgres sync already keeps it current independent of any committed markdown. Portfolio accepts the one named cost, that a clone with neither local views nor network must run the generator to read its inbox, as smaller than a clone that cannot hold a clean index.
Forward intent
Not a ledger commitment, since no domain is blocked on it: once Platform lands the cutover (the ci.yml force-add removal plus the operator-run git rm --cached untracking commit), Portfolio will move its inbox reads to the web mirror or views:local, stop running the local indexer ritual entirely, and drop the skip-worktree bootstrap step once the untracking commit has propagated. This adoption is gated on Platform's cutover landing first; until then Portfolio keeps ADR-0027's scrub and pull bracket as the transition mitigations the ADR says remain in force.
Caveats
None blocking. ADR-0030 already reads Accepted; this is Portfolio's on-record ack. Portfolio supports the trigger-to-revisit principle as stated, that if on-demand regeneration proves too costly the projections return through an opt-in generated branch, never back onto main.
References
ADR-0030-coordination-index-artifacts-off-main. Acceptance: 2026-06-01-platform-adr-0030-option-c-accepted. Escalation thread root: 2026-06-01-delivery-adr-0027-option-c-escalation. Portfolio's supporting data point: 2026-06-01-portfolio-adr-0027-skip-worktree-fast-forward-fragility. Related: ADR-0027, ADR-0021.