Skip to content

seo-growth-workspace v5.2.0: combined SEO release (HARO current-check, GBP proliferation guard, prompt-panel construction, post-upgrade recap) - #136

Merged
JorgeMenaDev merged 5 commits into
mainfrom
release/seo-growth-workspace-5.2.0
Jul 15, 2026
Merged

JorgeMenaDev merged 5 commits into
mainfrom
release/seo-growth-workspace-5.2.0

Conversation

@JorgeMenaDev

Copy link
Copy Markdown
Owner

Combined release driven by wayfinder map #127 — four coordinated changes, one version bump (5.1.3 → 5.2.0), one validator run.

Changes

  1. HARO current-check (seo-growth-workspace: replace stale HARO status with current-check guidance #124): references/backlinks-entity.md no longer freezes "HARO is defunct". Platforms are verified at use time; HARO observed live under Featured 2026-07-15 (Re-verify Google's GBP representation guidance and HARO's live status #129); Qwoted/SOS remain alternatives, not dependencies; bot-challenge responses (e.g. HTTP 429 checkpoints) read as unknown, never defunct.
  2. GBP profile-proliferation guard (seo-growth-workspace: reject GBP profile proliferation as a ranking tactic #125, Jorge-ratified wording in Decide the GBP profile-proliferation guard: go/no-go and wording #130 (comment)): new Profile Count And Eligibility section in references/local-seo-gbp.md — profile count is never a local-ranking or growth lever; one-profile default per Google's representation guidelines (observed 2026-07-15) with the documented chain/department/practitioner eligibility and SAB no-storefront eligibility preserved.
  3. AI prompt-panel construction (seo-growth-workspace: add evidence-backed AI prompt-panel construction #126): references/ai-search-visibility.md § 2 gains a panel construction/freeze/versioning contract — dated demand-evidence sourcing, per-prompt provenance fields, freeze-before-baseline, version-on-change, explicit anti-post-hoc-selection, capacity-bound sampling. No second ledger, score, or prompt library.
  4. Post-upgrade workspace recap (seo-growth-workspace: deliberate post-upgrade workspace recap (version-drift detection + operator-invoked revalidation) #133, ratified in Ratify the post-upgrade workspace recap protocol #134 (comment)): reconciled-version stamp at .seo/reconciliation.json (additive schema-1; absence fails closed as never reconciled; created-by skillVersion untouched); drift blocks sleep certificates only; recap strictly operator-invoked with a bounded four-check pass and dated report (templates/upgrade-recap.md); scheduled runs report drift without acting; hub fan-out one deliberate run per registered workspace.

Release harness

Gate Result
validate-skill.mjs PASS — 52/52 sections
command-inventory.mjs --verify PASS — 0 malformed, all foreign-CWD rows exit 0
evaluate-release.mjs --json pass: true, 100/100, no rejections/findings

gate-results-5.2.0.json refreshed and bound to the release digests; this also clears the v5.1.3 gate-artifact debt (5.1.3 shipped without refreshing the artifact, so pre-release main failed evaluate-release). Details and design notes: dev/seo-growth-workspace/2026-07-15-v5.2-release-run.md.

Closing semantics

Closes #133 (all its acceptance criteria complete at merge). #124, #125, and #126 ship here but each carries a post-merge acceptance criterion (Matias refresh linked back via the installer flow), so they close from the propagate step (#132) with the stable consumer commit linked. Implement ticket: #131.

Race note: open PR #120 touches SKILL.md, ai-search-visibility.md, validate-skill.mjs, bootstrap-seo-workspace.mjs — whichever merges second rebases mechanically and re-runs the harness (a version bump after this PR requires a fresh gate artifact).

🤖 Generated with Claude Code

…, GBP profile-proliferation guard, AI prompt-panel construction, post-upgrade workspace recap

Four coordinated changes under one version bump (wayfinder map #127):

- backlinks-entity.md: replace the stale "HARO is defunct" line with
  verify-at-use-time guidance; bot-challenge responses read as unknown,
  never defunct (#124, re-verified 2026-07-15 in #129)
- local-seo-gbp.md: new Profile Count And Eligibility section — profile
  count is never a ranking/growth lever; one-profile default with
  Google's documented separate eligibility preserved (#125, ratified
  wording from #130)
- ai-search-visibility.md: panel construction, freeze, and versioning
  contract — demand-evidence sourcing, per-prompt provenance,
  freeze-before-baseline, anti-post-hoc-selection, capacity-bound
  sampling (#126)
- never-dry-loop.md + scheduled-operation.md + hub-mode.md +
  templates/upgrade-recap.md: post-upgrade recap protocol —
  reconciled-version stamp at .seo/reconciliation.json (additive
  schema-1, absence fails closed), drift blocks sleep certificates
  only, recap strictly operator-invoked, per-workspace hub fan-out
  (#133, ratified in #134)

Harness green: validate-skill 52/52 PASS, command-inventory --verify 0
malformed, evaluate-release pass:true 100/100 with the refreshed
gate-results-5.2.0.json (also clears the v5.1.3 gate-artifact debt).
Release run doc: dev/seo-growth-workspace/2026-07-15-v5.2-release-run.md

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 15, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

JorgeMenaDev and others added 4 commits July 15, 2026 10:48
…on stamp, schema-1 carve-out, created-by-equality for fresh workspaces

Codex branch review raised three confirmed defects in the recap contract:
- stamp now scoped to each resolved site workspace root (hub sites carry
  their own .seo/sites/<slug>/reconciliation.json; one recap never
  unmarks siblings)
- Optional schema-1 state section explicitly carves out the stamp so
  its absence-is-drift semantics no longer contradict the loops rule
- a stamp-less workspace whose created-by skillVersion equals the
  installed version is reconciled by construction (no meaningless first
  recap for freshly bootstrapped workspaces)

Gate artifact rebound to the new source digest; harness re-run green
(52/52, inventory 0 malformed, evaluate-release 100/100).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…al created-by never exempts a site workspace

A site created in an already-upgraded hub inherited hub-global
created-by provenance and false-drifted. The creating run now writes
the new workspace's reconciliation stamp in the same pass; only
workspace-scoped created-by provenance (standalone config.json) ever
substitutes for a missing stamp. Gate artifact rebound; harness green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ion stamp on every workspace create path

createWorkspace now writes reconciliation.json (report: null) for
standalone and hub-site creation — live-verified on both paths.
Deliberately NOT in GENERATED_WORKSPACE_FILES: the doctor must never
propose the stamp as a repair, and existing stamp-less workspaces keep
their drift semantics. Gate artifact rebound; harness green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rkspace create

reconciliation.json is written only on the allowlist-null create path;
repair/allowlisted invocations never seed it, so an existing stamp-less
(pre-5.2) workspace stays drifted until an operator recap. Live-verified:
fresh create stamps 5.2.0; rerun against an existing workspace refuses
and writes nothing. Gate artifact rebound; harness green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@JorgeMenaDev

Copy link
Copy Markdown
Owner Author

Autoreview disposition (merge evidence): Codex branch review (gpt-5.6-sol, thinking high) ran five passes over four fix rounds. Rounds 1–4 raised five findings total — per-workspace stamp scoping, schema-1 absence/storage contradiction, fresh-workspace false drift, unimplemented creation-time stamping, and repair-path stamp seeding — every one confirmed real, fixed, live-verified where applicable, and re-reviewed. Final pass on 516ecd8: clean, no actionable findings, verdict "patch is correct". Harness green at the same head: validator 52/52, inventory 0 malformed, evaluate-release 100/100 with the digest-bound gate-results-5.2.0.json. Merge bar (review clean + checks green) met; merging per Jorge's standing authorization for this release.

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.

seo-growth-workspace: deliberate post-upgrade workspace recap (version-drift detection + operator-invoked revalidation)

1 participant