oficina / sheets Public

design: record deployed baseline preservation and integration gates

Paul Campbell pushed by paul@keymail.dev a75c7a90834418254c8e242bcd420e878783298d parent d1ecaaf
1 file changed, +28 −0
  • docs/superpowers/specs/2026-09-07-reconcile-deployed-chrome.md +28 −0

CI passed — run details

Intent

Attributed to this commit: 18.8 g CO₂e (1020694 tokens). This is an attribution, not a measurement — usage counted from this commit's own marker forward to the next one on fix/reconcile-deployed-chrome, never backward from it. A turn that produced more than one commit books all of its tokens to the last one, and a concurrent session on this branch can add to the same figure. Some of it was priced using the shared default rate, because no model-specific factor row exists yet for at least one model involved. The Carbon view has the repo total, which is never derived from this attribution.

diff --git a/docs/superpowers/specs/2026-09-07-reconcile-deployed-chrome.md b/docs/superpowers/specs/2026-09-07-reconcile-deployed-chrome.md
new file mode 100644
index 0000000..1828c65
--- /dev/null
+++ b/docs/superpowers/specs/2026-09-07-reconcile-deployed-chrome.md
@@ -0,0 +1,28 @@
+# Reconcile deployed Sheets with main
+
+Status: assessment and review candidate only. Amadan discussion 20/task 4. No production deployment is authorized before the gates below pass.
+
+## Exact histories
+
+The control plane reports production release 7212864. That commit and origin/main 4aea8f4 share ancestor 8ed3926; neither tip contains the other. Production process confirmation remains root's deployment check.
+
+Main adds suite-doctrine amendments in AGENTS.md, PRODUCT.md and docs/superpowers/specs/2026-08-30-sheets-design.md. The seven deployed-side commits 9830466, 465160f, 51bc3e0, 4ea4031, 5f44bae, 51db7bc and 7212864 modify 21 disjoint code, template, test and browser-driver files. They add GET /sheets/import and POST /sheets/{sheetID}/rename, preserve scriptless import/rename, put creation/import in list chrome, and restore page-wide file drop.
+
+Candidate d1ecaaf merges both parents without textual conflicts. Its only differences from deployed 7212864 are the three main doctrine files. Its only differences from main are the exact 21 deployed files. No atomic or watermark implementation is included. Existing branches/worktrees remain untouched.
+
+## Resolution and integration
+
+No conflict resolution edits were needed: preserve main's doctrine verbatim and deployed implementation verbatim. This does not imply implementation satisfies all newly documented suite requirements; suite/lone identity, grants and link doctrine implementation remains tracked independently.
+
+After independent Fable review, exact-head checks, human copy review and deployed canary verification, squash this preservation branch to main. Then rebase or merge the independently reviewed atomic and durable-watermark work onto that approved main. Their app.go route addition must preserve the import-page/rename registrations and auth group. Re-run exact-head checks and branch review after integration. Never ship the old main-based atomic binary to production.
+
+Workbook-tabs design must treat the deployed route set as the baseline: selected-tab navigation must preserve workbook rename redirects and GET /sheets/import. Import remains workbook-scoped. Rename should return to the selected tab rather than silently reopening the first tab. Tabs implementation is still awaiting its own design review.
+
+## Required evidence
+
+- Fable must review the full deployed-side diff plus the doctrine delta; discussion 15 explicitly lacked this review and the rebased deployment has no separate discussion record.
+- Full make test and exact-head remote CI; existing rename permission/body-delay/query-body regressions and list/drop/scriptless assertions must remain green.
+- Human review of the carried strings. Existing deployment is not copy approval. Extract the changed/new list, rename, import and drop strings into a separate review index, preserve exact current text, and apply only submitted edits verbatim. Reused unchanged labels are identified in that index where they moved contexts.
+- Estilo review of existing deployed chrome, considering a shared component only from a real second usage. This preservation branch does not introduce a guessed abstraction.
+- Canary process SHA and browser checks: authenticated Create then Rename; query-only and rejected-body rename cannot change a title; viewer cannot rename; import page and refusal recovery; list drag/drop and Escape recovery; keyboard and scriptless paths; narrow/light/dark layout. Use synthetic fixture data and root's approved canary authentication mechanism.
+- Root records production process SHA before and after deployment. Until these gates pass, preserve production's current release and retain this reconciliation prerequisite in Sheets discussions 17/19 and suite discussion 5.