Skip to content

docs: log the gate-integrity arc — close #40, add #43/#44 (Option C) - #64

Merged
tornidomaroc-web merged 1 commit into
mainfrom
docs/progress-log-gate-hardening
Jul 21, 2026
Merged

docs: log the gate-integrity arc — close #40, add #43/#44 (Option C)#64
tornidomaroc-web merged 1 commit into
mainfrom
docs/progress-log-gate-hardening

Conversation

@tornidomaroc-web

Copy link
Copy Markdown
Owner

Docs-only. Logs three register moves from one purpose: the db-types required check can no longer pass on a wrong result, nor red on a third party's traffic.

Logged under Option C (the policy established in PR #61): prepend a single-purpose current entry, never demote, and put docs-PR provenance in the header lines rather than changelog prose.

Four edit regions, nothing else

Region Change
L8 PREPEND the gate-integrity entry; stamp → 2026-07-21. Prior entry byte-identical.
L9–L10 Advance to merged state. Main-tip chains 3378dd8 (#63) → d8c8fde (#62) → 71e1c9d (#60) via b62cbd5 (#61).
Register #40 Convert in place to ✅ CLOSED (PR #62, d8c8fde).
Registers #43, #44 Appended, strictly sequential.

Why #40 was converted, not deleted

Per the #38 template — a ✅ row that keeps its history visible. The lead flips to ✅ and preserves the original marker after Was:. Columns 2 and 3 are byte-identical: the hazard description and the why-deferred reasoning both remain historically accurate.

The "Where addressed" cell records which of the two originally-offered branches was taken — the content-aware skip; storage was not provisioned — so the untaken alternative is not later mistaken for outstanding work. It also carries the honest limit: a fail-closed static heuristic with a documented undecidable case ($$/dynamic SQL → rejected), not a proof of application.

#43's residual stays in its own row

Per the same #38 precedent (a ✅ row keeping its live remainder visible rather than hiding it behind the checkmark). Two residuals recorded: Docker Hub is also anonymous-quota'd per IP (the job now makes two Hub pulls per run), and the SUPABASE_CLI_VERSION → compiled-tag coupling can silently fall back to an ECR pull on a CLI bump — degrading to flakiness, never to a wrong result, but invisible until the throttle hits.

#44 is opened, not closed

npx --yes supabase@$SUPABASE_CLI_VERSION is an unpinned-by-integrity third-party fetch in the same required check's hot path — the same class as #43. Recorded so the class is not considered "handled" because #43 closed. Not scoped, not scheduled, no phase.

Frozen-history invariant — both hashes, before == after

primary   (Option C region: prior entry's opening paren -> EOL8)
  before = d0c031b5a7ee2623e7b0443e337a612411563cea5329235adcc57118e69776fd
  after  = d0c031b5a7ee2623e7b0443e337a612411563cea5329235adcc57118e69776fd

secondary (first "Prior update" -> EOL8)
  before = 22019b90c7ae5884e7531abb7916eb095c41745ed2b80cb01b6ab91a117aaf20
  after  = 22019b90c7ae5884e7531abb7916eb095c41745ed2b80cb01b6ab91a117aaf20

Insert is 2615 bytes; the frozen region shifted right by exactly that (byte 322647). Prior update markers stay 15 — nothing demoted.

⚠️ Reviewer note — one deliberate non-edit

The historical #40 mention inside line 8's frozen region (now byte 11030) still describes #40 as an open gap, and that is intentional. It was true when written, it is changelog history, and editing it would break both invariants above. Please do not ask for it to be updated.

Not touched

🤖 Generated with Claude Code

Records three register moves from one purpose: the db-types REQUIRED
check can no longer pass on a wrong result, nor red on a third party's
traffic. Logged under Option C — a single-purpose current entry, with
docs-PR provenance closed in the header lines, not changelog prose.

Four edit regions, nothing else:
- Line 8: PREPEND a gate-integrity current entry (#40 closed, #43
  opened+closed, #44 opened) and advance the "Last updated" stamp to
  2026-07-21. The prior #60/#58 current entry is NOT demoted or
  rewrapped — byte-identical.
- Lines 9-10: advance Active-branch + Main-tip to the merged state. The
  Main-tip provenance chain now names 3378dd8 (PR #63) on top of
  d8c8fde (PR #62) on 71e1c9d (PR #60) via the PR #61 docs merge
  b62cbd5 — this is where PR #62's zero-mention lag is closed, in
  provenance, not in changelog prose.
- Register #40 row: CONVERT IN PLACE to CLOSED (PR #62, merge d8c8fde),
  per the #38 template for a closed row that keeps its history. The lead
  flips to ✅ and preserves the original marker after "Was:". The "Where
  addressed" cell records WHICH branch was taken — the content-aware
  skip; `storage` was NOT provisioned — so the untaken alternative is not
  later mistaken for unfinished work, and carries the honest limit (a
  fail-closed STATIC heuristic with a documented undecidable case, not a
  proof of application). Columns 2 and 3 are byte-identical: both remain
  historically accurate.
- Register rows #43 and #44 APPENDED, strictly sequential. #43 (closed,
  PR #63) carries its residual IN the row per the #38 precedent — Docker
  Hub is also anonymous-quota'd, and a SUPABASE_CLI_VERSION bump can
  silently fall back to an ECR pull. #44 (open, unfixed) records the
  npx integrity gap so the class is not considered "handled" because #43
  closed.

Frozen-history invariant proven, both hashes before == after:
  primary   (Option C region, old entry's opening paren -> EOL8)
            sha256 d0c031b5a7ee2623e7b0443e337a612411563cea5329235adcc57118e69776fd
  secondary (first "Prior update" -> EOL8)
            sha256 22019b90c7ae5884e7531abb7916eb095c41745ed2b80cb01b6ab91a117aaf20
The insert is 2615 bytes and the frozen region shifted right by exactly
that (byte 32 -> 2647); "Prior update" markers stay 15, so nothing was
demoted. The historical "#40" mention inside the frozen region (now byte
11030) still describes #40 as OPEN and is deliberately UNCHANGED: it was
true when written, and editing it would break the invariant.

Not touched: §1 (Phase 7 stays ⬜ NOT STARTED — #40 was bucketed Phase 7
and closed early, the phase is unchanged); register #39 (its repo↔live
parity claim is unaffected by either fix and the row is marked
non-closable); PIVOT_PLAN.md. Docs-only; no code, no migration, no DB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
knowflow Ready Ready Preview, Comment Jul 21, 2026 4:37pm

@tornidomaroc-web
tornidomaroc-web merged commit 0a0557f into main Jul 21, 2026
4 checks passed
@tornidomaroc-web
tornidomaroc-web deleted the docs/progress-log-gate-hardening branch July 21, 2026 16:45
tornidomaroc-web added a commit that referenced this pull request Jul 22, 2026
…ESS §7 (#66)

The "Last updated" header field had accreted the entire update log into a single
37,590-byte line -- 25.8% of the file, 98.7% of it entry bodies. A header field is
overwritten every step; a log is appended every step. Storing the second inside the
first caused every symptom: unbounded growth, a lost date label, and a 106,630-byte
diff to express PR #64's 6 insertions.

Separates them by lifecycle. New append-only "## 7. Changelog" section, appended
after §6 -- §1-§6 are NOT renumbered, since 32 §-references depend on them. All 17
entry bodies moved BYTE-IDENTICAL: nothing reflowed, re-wrapped, added or stripped,
including each body's original (and in nine cases unbalanced) parentheses. The
2026-07-20 entry, absorbed undated into the head by PR #64, regains its date label;
its bytes are unchanged.

Preservation proof (sorted, NUL-joined sha256 of all 17 bodies):
  before 53e227aefee8d1e8a769d092c824345baaca6679419473f67d24bf930d0eb78b
  after  53e227aefee8d1e8a769d092c824345baaca6679419473f67d24bf930d0eb78b
Entry count 17 -> 17; §7 body bytes 37,095. Lines 1-7 and 11-184 are byte-identical
to main (region sha256 40f6d3cd...), so no register row, no §1-§6 content and no
phase status changed. Register #17 stays OPEN.

This RETIRES the Option C frozen-tail invariant by design: that hash existed only to
police a boundary inside an unreviewable single line. The append-only rule replaces
it -- a future update adds one ### block and git shows one added hunk with zero
deletions, so no bespoke hash is needed.

Also refreshes the three header fields, which were stale: Active branch named a
deleted branch, Main tip named 3378dd8 (two merges behind c119f6b).

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant