content/auto-draft
needs attentionviewing older commitcc9056e · fullPR #325reviewed 2026-07-20 16:40 UTC1H · 3M · 9L · 22I- Purpose
- Build informational content cluster for CFE tariff keywords targeting solar installers and energy managers in Mexico.
- Goal
- Publish 'GDMTO vs GDMTH' blog post — a priority-2 informational keyword in the content strategy, with two custom SVG charts for the comparison.
- Sub-goals
- New MDX blog post with structured comparison table, FAQ, and CTAs
- Two new SVG chart components: GdmtoVsGdmthDecisionChart (side-by-side schematic) and GdmtoVsGdmthCostChart (cost comparison by load profile)
- Calendar status update: idea→review
- What
- Added gdmto-vs-gdmth.mdx (179 lines), two chart components in charts.tsx (+176 lines), registered in page.tsx MDX map (+2/-2), calendar.yml status update (+1/-1).
- Why
- Targets 'GDMTO vs GDMTH' — priority-2 informational keyword in the content strategy. Adds the second post in the CFE tariff informational cluster after tarifa-gdmth.
- Areas
- apps/web/content+180−1apps/web/src/components/blog+176−0apps/web/src/app/(marketing)/blog+2−2
- Blast
- 4 files, +358/-2. Marketing site (apps/web) only. No platform, no DB, no API, no auth. Content + chart rendering only.
Findings · 13
correctness3
GDMTH demand billing oversimplification: demanda facturable applies separately to each component
apps/web/content/blog/gdmto-vs-gdmth.mdx:105
The post doesn't clarify that punta-period energy (not total energy) caps the capacidad charge. Material for solar installer audience sizing panels.
SVG caption text baseline at y=298 inside h=300 viewBox — clipping risk
apps/web/src/components/blog/charts.tsx:723
GdmtoVsGdmthDecisionChart: cardY+cardH+26 = 298, only 2 units from viewBox bottom. Increase h to 320.
Media tensión stated as '< 69 kV' should be '≤ 69 kV'
apps/web/content/blog/gdmto-vs-gdmth.mdx:40
CFE definition is up to and including 69 kV. Minor wording.
conventions2
■ legend marker loses per-block TOU colour on dark Punta row
apps/web/src/components/blog/charts.tsx:710
Dark=true Punta row: text fill is #ffffff, making ■ swatch white instead of TOU.punta orange/red. Use <tspan fill={TOU.punta}>■</tspan>.
Dead code: fill={b.dark ? VIOLET : VIOLET} is a no-op (duplicate of improvement/high)
apps/web/src/components/blog/charts.tsx:812
Same as improvement/high finding. Both branches return VIOLET.
tests1
Blog routes absent from e2e marketing smoke test (pre-existing gap)
e2e/web/marketing.spec.ts:11
Comment says blog 'not built yet' but 4+ posts live. Adding /blog + one slug would catch MDX registration errors.
improvement5
Dead-code ternary: b.dark ? VIOLET : VIOLET is a no-op
apps/web/src/components/blog/charts.tsx:812
Both branches resolve to VIOLET. On the full-opacity GDMTO winner bar this produces low-contrast VIOLET on VIOLET. Likely meant fill={b.dark && isWin ? '#ffffff' : VIOLET}.
Hardcoded gridline values [5000,10000,15000,20000] tied to current COST_MODEL
apps/web/src/components/blog/charts.tsx:784
If COST_MODEL prices change, top gridline could fall below bars while scale stretches. Derive from maxCost instead.
Inner card helper uses 5 positional args including an array — harder to maintain
apps/web/src/components/blog/charts.tsx:671
Used only twice. If a 3rd card is ever needed, the positional API becomes error-prone.
COST_MODEL at module scope but only used by one chart
apps/web/src/components/blog/charts.tsx:735
Moving inside the function would make coupling explicit.
Import line in page.tsx has grown to 10 named exports on one line
apps/web/src/app/(marketing)/blog/[slug]/page.tsx:10
Not a bug but will become hard to diff. Consider splitting across lines.
seo2
llms.txt does not list the new post URL — minor GEO gap
apps/web/public/llms.txt:22
Priority-2 keyword. Add entry for /blog/gdmto-vs-gdmth to improve AI answer engine discoverability.
Regulatory source citations: verify rates still current before publish
apps/web/content/blog/gdmto-vs-gdmth.mdx:157
Cites Acuerdo CT/11.SE/8-2025 (DOF enero 2026). Good disclaimer present. Mark for factual review before merging.
History · 14 commits
- c27ea57needs attentionincremental3H · 5M · 4L2026-08-04 17:46
- ff69645needs attentionincremental0H · 6M · 8L2026-07-28 18:21
- 0257d74safeincremental0H · 0M · 0L2026-07-20 23:00
- 0795a9dsafeincremental0H · 0M · 2L2026-07-20 22:42
- 5c57414needs attentionincremental2H · 7M · 10L2026-07-20 22:29
- 5a57a8fneeds attentionincremental0H · 5M · 8L2026-07-20 17:14
- cc9056eneeds attentionfull1H · 3M · 9L2026-07-20 16:40current
- 8b79d33needs attentionincremental5H · 7M · 11L2026-07-14 18:10
- f0c337cneeds attentionincremental1H · 1M · 5L2026-07-14 17:15
- 5c9de97needs attentionincremental0H · 5M · 7L2026-07-14 17:02
- 92cce08needs attentionincremental1H · 4M · 3L2026-07-14 02:00
- b7dd610needs attentionincremental0H · 6M · 7L2026-07-14 01:43
- 8c43554needs attentionfull0H · 2M · 1L2026-07-14 01:15
- 2149391blockedfull8H · 6M · 7L2026-07-10 17:30