Why: the instrumented run (render-log build) confirms the DOM-vs-state
contradiction and adds the instance-remount hypothesis with the missing
done-log evidence.
Evidence: probe logs show RENDER/EFFECT/FETCH-resolved complete but
setProjects-done absent, select=0 at t+3s and t+8s.
Impact: card bookkeeping.
Refs: rollout I4
Why: the cockpit hang is now isolated to the React commit layer - the
component's fetch resolves (rows=2, cancelled=false, setProjects called)
but the DOM keeps rendering the loading state. This contradiction needs
interactive React DevTools work; documented with the reproduction path.
Evidence: trace.zip (run 20261016-160406 and the 013103 preview rerun);
console capture shows resolved rows=2 while the DOM snapshot shows 加载中.
Impact: card bookkeeping; no code change this commit.
Refs: rollout I4
Why: multiple 加载中 hangs traced to preview restarts without
PLAYWRIGHT_API_TARGET (proxy landing on the shared dev RDM at 8787);
recorded so the next session verifies the preview environment first.
Evidence: manual probes with/without the env var (login 401 vs entry
visible) on the same seed data.
Impact: card bookkeeping only.
Refs: rollout I4
Why: the seven-scenario suite is merged but scenario 1 hangs at 加载中 in the
preview environment; trace evidence shows the component fetch resolving
(rows=2, cancelled=false) while the DOM stays on the loading state - an
unresolved state-vs-DOM contradiction needing interactive debugging in a
stable environment. Recorded per honest-reporting rules instead of merging
a red suite.
Evidence: trace.zip of run 20261016-160406 (console: effect start, resolved
rows=2; DOM: 加载中); existing suites 8/8 green in the same run.
Impact: I4 browser acceptance remains open; no product regression - the
same run's audit suites pass.
Refs: rollout I4
Why: card must record the gitlink follow-up to frontend main head ffda996
(sidebar wiring, payload unwrap, login settle) via a fresh successful
transport after a failed-receipt reuse mistake.
Evidence: run success transport 29c76d31..., apply a555bc6c (SELF).
Impact: card bookkeeping only.
Why: card must carry the full worker run history: r1 decode miss, r2 bare
JSON success, r3/r4 block placement fix with transient TLS between, r5
doc.write grant after the adopt danger-gate discovery (resolved via RDM
#426 structure-content, gate kept intact), and the pin transport with one
correctly-blocked contradictory packet.
Evidence: receipts in /tmp; applies 0a1e777/b1ba22d2/372dca1/b013be1e/
27ead8f7.
Impact: card bookkeeping only.
Why: card must record the block-placement fix (live run proved the CLI
structure write must sit in the stop_serve window) and the transient TLS
failure between successful transports.
Evidence: r3 receipt (97-byte TLS log, no work started); r4 receipt
(success, transport de88901c..., applied as b1ba22d2); placement checks.
Impact: card bookkeeping only.
Why: card must record r1 failed-unknown (decode miss, site preserved) and
r2 success transport per agent-exec governance.
Evidence: receipts /tmp/dev-e2e-i4-receipt.json and
/tmp/dev-e2e-i4-r2-receipt.json; apply 0a1e777.
Impact: card bookkeeping only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-document-visualization-cockpit-i4.md; R0=aa3c7eae40264ee47d5505a162074cfd77b1a099.
Impact: task metadata only; the feature workspace starts at aa3c7eae40.
Refs: .task/feature-document-visualization-cockpit-i4.md
Why: archived card must carry the real GATE chain (reruns), merge cascade
and cleanup facts before the closure PR merges.
Evidence: PR 593 merged at 3c12ca5, three jobs first-round green; upstream
Frontend #98/#99 and RDM #420/#422 merged earlier in the cascade.
Impact: archive bookkeeping only.
Refs: PR #594
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-document-visualization-cockpit-i3.md(PR#593) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: delivery gates require the authoritative suite on the card.
Evidence: make evidence exit 0 (SELF); combo green on f9046a9 (pin d66bd79).
Impact: card bookkeeping only.
Why: Dev combo knip gate caught baseline 43<51; frontend fixed via explicit
baseline raise (Frontend PR #99) and the pin followed via a second transport.
Evidence: run success refs/agent-exec/5ad9a5ce…, apply f9046a90 (SELF).
Impact: card bookkeeping only.
Why: card must record the worker transport and apply result.
Evidence: run success, apply fa22e4c0, gitlink 3f6ced0 materialized (SELF).
Impact: card bookkeeping only.
Why: establish the authorized task workspace and its initial baseline.
Evidence: preserved precheck receipt in .task/feature-document-visualization-cockpit-i3.md; R0=82c8989973112d0533ee7c70654c907269df7859.
Impact: task metadata only; the feature workspace starts at 82c8989973.
Refs: .task/feature-document-visualization-cockpit-i3.md
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: fix-admin-create-e2e-guard.md(PR#591) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: main advanced; sync merged it and gating requires fresh evidence
on the new head.
Evidence: make evidence SELF entries.
Impact: task card only.
Refs: Dev PR #591
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=f302341a02b0c0dcf94f2017d56ff94a17a3617d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: frontend PR #97 merged as a merge commit; the pin must reference
the merged main head with identical tree before the Dev merge.
Evidence: /tmp/u3-e2eguard-receipt.json; make test-frontend SELF entry.
Impact: frontend pin 65ab7a8; task card.
Refs: frontend PR #97, Dev PR #591
Why: include the current integration baseline before verification.
Evidence: fetched origin/main=8218685ced13b51f7420587391f93ec3cbcc995d.
Impact: integrate upstream changes without rewriting task history.
Refs: task-sync
Why: routing receipts including one fail-stop and one defective
transport (reverted) must be on the card per gating.
Evidence: /tmp receipts referenced in the unit table; harness PASS
receipt written by make evidence.
Impact: task card only.
Refs: frontend PR #97
Why: archived card must carry the real GATE history (reruns), merge chain
and cleanup facts before the closure PR merges.
Evidence: PR 589 merged at 8218685 (runs/3437 + rerun all-success); Frontend
#96, RDM #412/#418 merged earlier in the cascade.
Impact: archive bookkeeping only.
Refs: PR #590
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-document-visualization-cockpit-i2.md(PR#589) — merges verified via git log --merges plus Gitea API squash lookup against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
Why: the evidence tool wrote its receipt before the run failed on pin
drift; commit keeps the card authoritative before re-dispatch.
Evidence: make evidence receipt (SELF).
Impact: task card only.
Refs: harness run
Why: the verifier-scoped increment adds the admin-create browser
scenario to the composition harness; card records prior evidence and
scope.
Evidence: deployed-dev spec run and browser acceptance (SELF, /tmp).
Impact: task card only.
Refs: frontend PR #97, PR #94