feat(seo/geo): projected code-only score + 17/20 trajectory, wired into client-handover
- Analyzers (seo/geo): every finding tagged fixable:code|user; mandatory projected axis+global scores (bundle fully applied), honest code ceiling, TRAJECTORY TO 17/20 block (ranked code fixes or ceiling + unlocking user actions) - /seo: §1 carries actual+projected columns + merged trajectory; console shows projected scores + trajectory one-liner - /geo: audit-end deliverables (HUMAN-ACTIONS.md, trajectory in report + console) even in conservative mode — parity with /seo - client-handover: fix loop breaks at code ceiling (score ≥ projected−0.2) instead of burning iterations on user-bound points; STEP 8 gate gains the code-ceiling pass (gap items land verbatim in client doc §5 with expected gains, explicit status in score table); §4 NAP table consumes NAP-KIT.md first; §5 consumes HUMAN-ACTIONS.md first; HANDOVER-ROADMAP splits CODE-BLOQUÉ vs CLIENT-BLOQUÉ
This commit is contained in:
@@ -640,6 +640,38 @@ Lighthouse run.
|
||||
LOCAL axes not audited (Off-page, Social, Competitive) appear as
|
||||
`N/A — requires FULL audit` in the report.
|
||||
|
||||
### Projected code-only score + trajectory to 17/20 (mandatory)
|
||||
|
||||
Tag EVERY finding `fixable: code` (reachable by a bundle item — AUTO or
|
||||
GATED — in the repo) or `fixable: user` (GMB, citations, reviews,
|
||||
backlinks, social profiles, admin/DB content, host infra). From those
|
||||
tags, emit alongside the actual scores:
|
||||
|
||||
- **Projected axis score** — what each axis reaches if every
|
||||
`fixable: code` finding is applied (bundle fully executed).
|
||||
- **Projected global** — same weighted formula over projected axes.
|
||||
- **Code ceiling** — for axes whose residual gap is user-bound
|
||||
(Off-page, Social, Competitive, the GMB/citations share of SEO
|
||||
Local), state it explicitly: `code ceiling X.X/20 — reaching 17
|
||||
requires <named user actions>`.
|
||||
|
||||
Trajectory block (verbatim shape, appended to the scoring output):
|
||||
|
||||
```
|
||||
TRAJECTORY TO 17/20 (code-only)
|
||||
ACTUAL : XX.X/20
|
||||
PROJECTED : XX.X/20 (bundle fully applied)
|
||||
<if PROJECTED ≥ 17> the bundle IS the trajectory — rank items by score impact.
|
||||
<if PROJECTED < 17> (a) ADDITIONAL code-side opportunities beyond the
|
||||
bundle (content depth, new pages, perf, internal linking), each with
|
||||
estimated axis gain, until 17 is reachable or the ceiling is hit;
|
||||
(b) honest ceiling statement + top user actions (expected gain each)
|
||||
that unlock the rest — these MUST exist in the user-actions output.
|
||||
```
|
||||
|
||||
NEVER inflate a projected score to fake reachability — a wrong ceiling
|
||||
misroutes the client-handover gate and the user's effort.
|
||||
|
||||
### Output
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user