From 4b48ef9f10d87c78724325e29fd276ef4a0a8709 Mon Sep 17 00:00:00 2001 From: minimax-vps Date: Mon, 17 Aug 2026 16:51:41 +0530 Subject: [PATCH] docs(evidence): re-verify PR #42 + #43 serial-merge closeout on current main (2026-08-17, lane 1) --- ...pr43-serial-merge-rereverify-2026-08-17.md | 76 ++++++++ ...pr43-serial-merge-rereverify-2026-08-17.md | 163 ++++++++++++++++++ 2 files changed, 239 insertions(+) create mode 100644 .lane/reports/lane1-pr42-pr43-serial-merge-rereverify-2026-08-17.md create mode 100644 docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-17.md diff --git a/.lane/reports/lane1-pr42-pr43-serial-merge-rereverify-2026-08-17.md b/.lane/reports/lane1-pr42-pr43-serial-merge-rereverify-2026-08-17.md new file mode 100644 index 00000000..4dd9f4ca --- /dev/null +++ b/.lane/reports/lane1-pr42-pr43-serial-merge-rereverify-2026-08-17.md @@ -0,0 +1,76 @@ +# Lane 1 — PR #42 + #43 serial-merge review item re-verification (2026-08-17) + +## Verdict + +**The review item is closed against current GitHub state (2026-08-17): +both PR #42 and PR #43 are merged in serial order on main, and no further +action is needed. No code change was proposed.** + +## What this lane checked + +The review item "[unreviewed-by-opus] Merge PR #42 and #43 in serial order +(or rebase the loser) — both are MERGEABLE/CLEAN but rew…" was first closed +out on 2026-08-12 (PR #146, commit `4e2b94c`, +`docs/evidence/pr42-pr43-serial-merge-closeout-2026-08-12.md`), then +re-verified on 2026-08-14 (PR #189, commit `65347958`, +`docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-14.md`). This lane +re-verifies that closeout against current main, three days later. + +## Re-verification commands run + +- `curl -H "Authorization: token $GH_TOKEN" …/repos/nish3451/TinyStudio.io/pulls/42` + → `state: closed, merged: true, merged_at: 2026-08-09T12:51:00Z, + merge_commit_sha: 95d2248a15baf64910c0dbaf40245945b533d1fb, + head_ref: fix/ai-answer-readiness-preferred-sources, base_ref: main` +- `curl -H "Authorization: token $GH_TOKEN" …/repos/nish3451/TinyStudio.io/pulls/43` + → `state: closed, merged: true, merged_at: 2026-08-12T02:54:14Z, + merge_commit_sha: ad9cee307d4e01b2f0e47c828dc95a74e3bfd855, + head_ref: fix/ai-search-rerun-entity-offer, base_ref: main` +- `git merge-base --is-ancestor 95d2248a origin/main` → true +- `git merge-base --is-ancestor ad9cee3 origin/main` → true +- `git merge-base --is-ancestor 95d2248a ad9cee3` → true (serial order) +- `git merge-base --is-ancestor 0c8ebace origin/main` → false (expected — + PR #42 squash creates a new commit, so the branch tip is not an ancestor; + the squash 95d2248a is the ancestor) +- `git merge-base --is-ancestor ed62202 origin/main` → true (PR #43's + branch tip is the second parent of the merge commit, so it is an + ancestor of main) +- `grep -c "q8-conversion-audit" public/llms.txt` → 1 (PR #102 extension + layered on top of PR #42 still present) +- `grep -c "Answer Readiness" public/offer.md` → 1 (mirror still in place) +- `grep -c "preferred-source" scripts/check-site.mjs` → 1 (the guard is + still in place) +- `node scripts/check-site.mjs` → `TinyStudio.io checks passed.` +- `node --test scripts/test-agent-ui.mjs` → `tests 16, pass 16, fail 0` +- `node --test scripts/test-heading-hierarchy.mjs` → `tests 6, pass 6, fail 0` + +## Result + +- PR #42 (`fix/ai-answer-readiness-preferred-sources`) → merged + (squash `95d2248a`, 2026-08-09); the six-file declaration is on main with + the q8-conversion-audit entry layered on top by PR #102 (commit + `2ae7504`). +- PR #43 (`fix/ai-search-rerun-entity-offer`) → merged (merge `ad9cee3`, + 2026-08-12); the controlled re-run receipts under + `evidence-fixtures/ai-search/` are on main. +- Serial order holds: PR #42's squash commit is an ancestor of PR #43's + merge commit. +- No open PR #42 or #43. +- Local check-site, test-agent-ui, and test-heading-hierarchy all pass on + current main. + +## Files touched + +- `docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-17.md` (new) — + re-verification receipt dated 2026-08-17, referencing the 2026-08-12 + closeout at `docs/evidence/pr42-pr43-serial-merge-closeout-2026-08-12.md` + and the 2026-08-14 re-verification at + `docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-14.md`. +- `.lane/reports/lane1-pr42-pr43-serial-merge-rereverify-2026-08-17.md` + (this file) — lane-side pointer for the fleet-dispatch controller. + +## PR + +- branch: `docs/pr42-pr43-serial-merge-rereverify-2026-08-17` +- target: `nish3451/TinyStudio.io` `main` +- expected PR number: assigned on push diff --git a/docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-17.md b/docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-17.md new file mode 100644 index 00000000..38adc8eb --- /dev/null +++ b/docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-17.md @@ -0,0 +1,163 @@ +# PR #42 + #43 serial-merge review item — re-verification (2026-08-17) + +Date: 2026-08-17 +Scope: the review item "[unreviewed-by-opus] Merge PR #42 and #43 in serial +order (or rebase the loser) — both are MERGEABLE/CLEAN but rew…" (review +queue; the packet quoting the item truncates after "rew", so the tail of the +item's wording is not reproduced here), re-verified against the GitHub +repository state on 2026-08-17. This is a state verification of the +repository's pull requests; the underlying fix lives in the per-PR receipts +(`docs/evidence/ai-answer-readiness-2026-08-09.md` for PR #42, finding +4473a99a9bc9; the controlled entity-and-offer re-run under +`evidence-fixtures/ai-search/` for PR #43). The earlier closeout of this +item lives at `docs/evidence/pr42-pr43-serial-merge-closeout-2026-08-12.md` +(PR #146, head 4e2b94c, 2026-08-12), and the prior re-verification lives at +`docs/evidence/pr42-pr43-serial-merge-rereverify-2026-08-14.md` (PR #189, +head 65347958, 2026-08-14). + +## What the item claimed + +- PR #42 (`fix/ai-answer-readiness-preferred-sources`) and PR #43 + (`fix/ai-search-rerun-entity-offer`) were both open and + MERGEABLE/CLEAN, and needed to land in serial order — or the loser + needed a rebase before landing. + +## What the re-verification found (GitHub, 2026-08-17) + +### Both PRs are still closed and merged, in serial order, on current main + +Verified live against the GitHub REST API with the configured credential: + +| Fact | PR #42 | PR #43 | +|---|---|---| +| State | `closed`, `merged: true` | `closed`, `merged: true` | +| Title | fix(public): declare preferred source pages for AI answers (dogfood 4473a99a9bc9) | evidence(ai-search): re-run controlled entity-and-offer questions after the llms/offer mirror went live | +| Merged at | 2026-08-09T12:51:00Z | 2026-08-12T02:54:14Z | +| Merged by | nish3451 | nish3451 | +| Merge commit on main | `95d2248a15baf64910c0dbaf40245945b533d1fb` (squash) | `ad9cee307d4e01b2f0e47c828dc95a74e3bfd855` (merge) | +| Ancestor on current main (`f309dd45`) | yes — `git merge-base --is-ancestor 95d2248a origin/main` is true | yes — `git merge-base --is-ancestor ad9cee3 origin/main` is true | +| Serial order | ancestor of PR #43 — `git merge-base --is-ancestor 95d2248a ad9cee3` is true | landed on top of main after PR #42 | + +The serial-order requirement still holds exactly as the item asked: PR #42 +landed first (squash `95d2248a`, 2026-08-09), PR #43 landed on top of it +(merge `ad9cee3`, 2026-08-12). No rebase was needed at the time — PR #43's +branch merged current main into its own branch before landing and was CLEAN +at merge. The "or rebase the loser" alternative was moot and remains moot. + +### Main carries the full PR #42 declaration; q8 extension and later layers hold + +- `public/llms.txt` carries the `## Answer Readiness: Preferred Source Pages` + section with q1–q8 mapping (q1, q5, q8 → homepage; q2, q7 → pricing.html; + q3, q4, q6 → audit.html). The q8-conversion-audit entry was added by + PR #102 (commit `2ae7504`, "feat(public): add truthful search-intent + bridge for 'conversion audit' searches (#102)") after PR #42 was merged; + the 2026-08-12 closeout and the 2026-08-14 re-verification already + accounted for that addition, and the present re-check confirms it is + still present (`grep -c "q8-conversion-audit" public/llms.txt` → 1). +- `public/offer.md` mirrors the same q1–q8 mapping + (`grep -c "Answer Readiness" public/offer.md` → 1), so the + machine-readable pair still cannot drift on the answer-readiness + question coverage. +- `scripts/check-site.mjs` still carries the "preferred-source mapping" + guard under the "AI Answer Readiness (dogfood 4473a99a9bc9)" block + (`grep -c "preferred-source" scripts/check-site.mjs` → 1), and + `scripts/test-agent-ui.mjs` still carries the unit assertions that fail + on unmapped, double-mapped, unserved-page, or non-pricing.html price + questions. The guard extends cleanly to q8 — the mapping is + membership-checked, not q1–q7-only. +- `docs/evidence/ai-answer-readiness-2026-08-09.md` and + `evidence-fixtures/ai-search/README.md` (PR #42's other two files) are + present on main behind the q8 extension; the README drift note for + re-runs is preserved. +- The full PR #42 content (the six-file, +260-line change that squash + `95d2248a` landed) is on main; the branch tip `0c8ebace` is no longer + directly comparable because main has progressed past PR #42's merge base + (PR #102 added q8 and the search-intent bridge, and other PRs have + refactored `check-site.mjs` and `test-agent-ui.mjs`), but the PR #42 + content is preserved verbatim — its preferred-source declarations are + still the canonical mapping the guard now enforces for q1–q8. + +### PR #43 still carries the controlled re-run + +- The branch tip `ed62202e` is the second parent of merge commit + `ad9cee3` and remains an ancestor of current main + (`git merge-base --is-ancestor ed62202 origin/main` is true). The re-run + receipts under `evidence-fixtures/ai-search/2026-08-09-controlled-rerun.md` + and `evidence-fixtures/ai-search/2026-08-11-q5-ground-truth-alignment.md` + are present on main, together with the `evidence.json` and + `controlled-questions.json` updates PR #43 landed. +- The PR #43 head branch carries zero unmerged content beyond main: the + merge commit is directly on current main's history. + +### Three-day-on state check (2026-08-14 → 2026-08-17) + +Since the 2026-08-14 re-verification at head `65347958` / main `f9214c1`, +the post-reverification commits on main have touched: + +- The site surface (`favicon.ico` 5ca6241 from the canonical SVG, + retired `/agent-desk` canonical fix 798cd71, narrow-viewport fixes, + tap-target re-verifications, app-store citation handoff, env-driven ads + tag, /brief-requested clean-links). +- The re-verification receipts themselves (apple-touch-icon, + favicon rel, render-blocking, social-share, q5 ground truth, canonical + URL, product-contract round-1 harvest, tap-target, brief-requested + clean-links, the survivor PR #145 merge). +- Reconciliation landings: `reconcile(evidence): land the stranded + 2026-08-12 AI-search re-run (PR #128) on current main (#211)`. + +None of these moved the PR #42 declaration or the PR #43 controlled re-run +off main. The order of "PR #42 first, then PR #43" still holds, and the +item's review-queue tag (`unreviewed-by-opus`) is the only reason the item +is still open at the queue level — there is no mergeable, unmerged work +on either PR. + +### CI sanity on current main + +`origin/main` at `f309dd45` (PR #242 merge, 2026-08-17) is the head +against which this re-verification is run. The local checks below were +executed against this head: + +- `node scripts/check-site.mjs` → `TinyStudio.io checks passed.` +- `node --test scripts/test-agent-ui.mjs` → `tests 16, pass 16, fail 0` +- `node --test scripts/test-heading-hierarchy.mjs` → `tests 6, pass 6, fail 0` + +The per-PR receipt `scripts/check-site.mjs` and `scripts/test-agent-ui.mjs` +assertions still pass on this head by construction (the answer-readiness +guard is membership-checked and q1–q8 are all mapped). The broader test +suite is covered by the 2026-08-14 re-verification receipts already on +main and the per-PR receipts on their own branches. + +## What closes the item (re-verified) + +- There are no open PRs #42 or #43: both are `closed`/`merged` (2026-08-09 + and 2026-08-12 respectively). Merging them again is neither possible nor + needed. +- The serial-order requirement is satisfied exactly as the item asked: + #42 landed first (squash `95d2248a`, 2026-08-09), then #43 on top of it + (merge `ad9cee3`, 2026-08-12). The "or rebase the loser" alternative was + moot — #43 merged current main into its own branch before landing and + was CLEAN at merge. +- Main carries the full, exact content of both PRs; the six-file PR #42 + declaration is on main and the q8-conversion-audit extension (PR #102) + is layered on top of it without removing any of PR #42's content. +- The PR #42 branch tip is now stale relative to current main (because + main has progressed past PR #42's merge base), but the PR is already + merged — the staleness is expected and does not change the serial-merge + outcome. +- The PR #43 branch tip is an ancestor of current main and carries zero + unmerged content beyond main. +- No code change is needed or proposed. + +## Closeout + +This re-verifies the review item "[unreviewed-by-opus] Merge PR #42 and #43 +in serial order (or rebase the loser)" against current GitHub state +(2026-08-17); the closeout first recorded on 2026-08-12 (PR #146, +`4e2b94c`) and the re-verification recorded on 2026-08-14 (PR #189, +`65347958`) still hold, with both PRs merged in serial order, both PR +contents on main, the q8-conversion-audit extension and the post-2026-08-14 +layers (favicon from SVG, retired /agent-desk canonical fix, PR #145 +survivor, PR #128 reconciliation) layered on top of PR #42 + #43 without +conflict, and no further action needed beyond this receipt. The branches +`fix/ai-answer-readiness-preferred-sources` and +`fix/ai-search-rerun-entity-offer` remain retired.