seo-growth-workspace v5.2.0: combined SEO release (HARO current-check, GBP proliferation guard, prompt-panel construction, post-upgrade recap) - #136
Conversation
…, 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>
|
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. |
…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>
|
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 |
Combined release driven by wayfinder map #127 — four coordinated changes, one version bump (5.1.3 → 5.2.0), one validator run.
Changes
references/backlinks-entity.mdno 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 asunknown, neverdefunct.Profile Count And Eligibilitysection inreferences/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.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..seo/reconciliation.json(additive schema-1; absence fails closed as never reconciled; created-byskillVersionuntouched); 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
validate-skill.mjscommand-inventory.mjs --verifyevaluate-release.mjs --jsonpass: true, 100/100, no rejections/findingsgate-results-5.2.0.jsonrefreshed 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 failedevaluate-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