Codex Control ControlINBOXContentPR gateHealthLearningPerformance connecting…Needs you —
Running
Idle
last run 06:45 — ok
next run 12:15 Core SEO workflow · in 15m
waiting on your approvals (3)
Needs you 3
Review draft — Sector-48 Gurugramdraft · 2h
Review, then reply > APPROVED DRAFT in INBOX.
PR localhost check — /about-uspr · 1d
Run npm run dev, check redirect, then > APPROVED PR.
Setup — GA4 lead_typedata-gap · 3d
Add dataLayer var + GA4 dimension, then mark resolved.
Latest draft
Sector-48 Gurugram apartment checklist
blog · 2026-05-28 · 1,420 words
Seomachine83/ 100readability 78 · intent 91
“A buyer’s checklist for Sector-48: RERA status, Mivan construction, possession timeline, and what to verify on-site before token money…”
Latest posts
GBPMohali buyer checklistdrafted2026-05-22
EmailLead thank-you (six styles explored)drafted2026-05-23
BlogSector-48 Gurugram apartment checklistdrafted2026-05-28
PR/about-us 404 → redirectPR open2026-05-26
drafted = ready, not posted · PR open ≠ live
PipelineIngest → Write → Post → Learn
100%
Ingest
ok · 5/5
GSC+GA4 snapshot
33%
Write
blocked · 2/6
Draft approved content
⚠ needs your approval
0%
Post
off · 0/1
Disabled by design
40%
Learn
partial · 2/5
Waiting on outputs
Now / Next
NowIdle — waiting on your approvals
Last06:45 ingest snapshot — ok
Next job12:15 Core SEO workflow
Queued1 draft awaiting review
Today
06:45
Ingest snapshot — ok
07:00 · 07:15
Perf triggers, Day summary — ok
09:00
Health check — ok
11:00
Health check — missing ⚠
— NOW 12:00 —
12:15
Core SEO workflow — scheduled
13:00
Health check — scheduled
Data freshness
GSCok
4h ago
GA4stale
2d old
DfSblocked
balance
Trendsok
1d ago
Codex Control ControlINBOXContentPR gateHealthLearningPerformance connecting…Needs you —

INBOX

8 open · 3 need you · 143 resolved
All 8 High 4 Normal 2 Info 2
Data Collection Drafting Posting Reviewing
Posting New PR ready for localhost verification — /about-us redirect · run dev, check both URLs, then APPROVED PR High 5d
What Codex needs
You to run the local preview, verify both URLs, and reply with the exact approval phrase.
Why
PR is open against main. Codex never merges or deploys — the website owner does, after you confirm.
Steps
  1. git checkout fix/about-us-404-redirect
  2. cd repo/website-github && npm run dev
  3. Open localhost:3000/about-us → should redirect to /about/
  4. Open localhost:3000/about/ → should return 200
Reference
fix/about-us-404-redirect · /about-us · /about
Reply with
> APPROVED PR fix/about-us-404-redirect
or reject: > REJECTED fix/about-us-404-redirect: <reason>
Drafting New Draft ready — Sector-48 Gurugram apartment checklist — Seomachine 83 · review & reply APPROVED DRAFT High 2h
What Codex needs
You to review the draft in Content review, then reply with approve or deny.
Why
Drafting won’t generate a website PR or post until you approve the draft itself.
Reference
drafts/blogs/2026-05-28-sector-48-gurugram-apartment-checklist-savira.md
Reply with
> APPROVED DRAFT 2026-05-28-sector-48
or: > DENIED 2026-05-28-sector-48: <reason>
Data Collection New GA4 lead_type custom dimension not yet active — needed for 35% of composite SEO score High 5d
What Codex needs
You to set up the GA4 custom dimension per spec 02 §4.
Steps
  1. In GTM GTM-NDZNR2GC, add a dataLayer variable reading lead_type
  2. In GA4 532673936, create event-scoped custom dimension lead_type
Reply with
> RESOLVED ga4-lead-type-dim
Data Collection New DataForSEO live verification blocked — account balance / billing · blocks weekly SERP fetch High 6d
What Codex needs
You to confirm or top-up DataForSEO billing so weekly SERP runs can resume.
Reply with
> NOTE dataforseo: balance topped up
Posting Future decision — Saavira live URL / route redirect? — legacy savira/ asset paths still exist · no SEO impact today Normal 3d
No immediate action. Capture a decision to revisit when convenient: rename asset folders + redirect, or leave as-is.
Data Collection Spec 02 follow-up: production 404 for /about-us/ — superseded by PR above · will auto-archive on merge Normal 6d
Will auto-archive when the /about-us redirect PR merges. No action needed.
Reviewing Weekly Phase D report ready — what shipped, what worked, what failed · no action required Info 2d
What this is
Weekly summary report at reports/weekly/weekly-seo-report-2026-05-25.md. Read at your convenience.
Reviewing Spec 01 state foundation and contracts settled — records approved scaffolding · no action required Info 6d
FYI — spec milestone recorded. No reply needed.
Codex Control ControlINBOXContentPR gateHealthLearningPerformance connecting…Needs you —

Content review

1 draft awaiting your approval · 10 topic candidates ready
Topics today 10
Drafts 1
Past reviews 17
83/ 100
Seomachine

Sector-48 Gurugram apartment checklist

blog · 2026-05-28 · 1,420 words · attempt 1 of 1 · persona NRI investor · cluster Mohali / Gurugram apartments
Awaiting your approval
In INBOX, reply > APPROVED DRAFT or > DENIED + reason. Approving as a draft does not approve a PR, post, or publish.
Score breakdown
Readability78
Intent match91
Technical SEO84
Originality76
Quality / depth86
Weakest: Originality 76 — 2 passages flagged as close paraphrase. View detail ›
Safety check
Banned words
No banned words found (12 terms scanned)
Source citations
5 sources cited, 0 missing · all from approved list
Claims to verify
1 claim flagged: “ROI doubled in 12 months for Sector-48 plots” — no source attached
Brand voice
Aligned with ONE Group voice (trust-first, plain language)
Persona fit
Matches NRI investor checklist persona
Brand spellings
“Saavira”, “Clermont”, “Mohali”, “ONE Group” all correct
Draft preview Read full draft ›

Sector-48 Gurugram apartment checklist

If you’re an NRI considering an apartment in Sector-48 Gurugram, the deal-breaker isn’t the brochure — it’s the paperwork. Before you wire token money, this short checklist walks you through what to verify on-site, what to ask for in writing, and the few red flags that consistently show up in this micro-market.

1. RERA status & project ID. Confirm the project is registered with Haryana RERA and pull the live status from haryanarera.gov.in. Note the project ID and approved completion date — both should match the brochure exactly.

2. Construction methodology. Sector-48 has a mix of conventional and Mivan-construction towers. Ask which method this tower uses and whether the developer has shipped Mivan projects before. Mivan tends to deliver faster and with fewer plaster cracks, but…

Evidence sources used
GSC
“flats in mohali sector 48”, “apartments gurugram sector 48”
240 & 188 impressions / 28d · quick-win opportunity
Trends
Mohali apartments · rising +18% MoM
data/trends/2026-05-28.json
Wiki
Buyer Personas — NRI investor
Marketing wiki/concepts/Buyer Personas.md
Research
Sector-48 buyer-checklist research
data/blog-research/2026-05-28/
Internal
Saavira project page (linked for cross-promo)
/projects/residential/the-saavira/
RERA
Haryana RERA project search
haryanarera.gov.in · verification reference
Codex Control ControlINBOXContentPR gateHealthLearningPerformanceFiles connecting…Needs you —

Website PR gate

1 awaiting your localhost review · 2 open with owner · 3 merged
Open 3 Merged 3 All 6
/about-us 404 redirect Awaiting localhost
#— opened by Codex 5d ago · fix/about-us-404-redirect · needs your > APPROVED PR
3 / 8
+
!Problem
/about-us returns a 404 in production. Found via spec-02 site crawl on 2026-05-26. Affects internal links from social posts, GBP citations, and historical news-media references that point to the old URL. Estimated impressions loss: ~40/month.
Solution
Add a permanent 301 redirect from /about-us/about/ at the Next.js framework level via next.config.js and public/_redirects. No content, template, or CSS changes — route-level only. Trailing-slash variant handled too.
Progress — 8 stages
Draft
approved
Branch
built
3
Localhost
needs you
4
Approved
pending
5
Opened
pending
6
Merged
pending
7
Deployed
pending
8
Live
pending
Per-PR details
Draft status✓ Approved> APPROVED DRAFT by AXS on 2026-05-26 (5d ago)
Approved branchfix/about-us-404-redirect · built from main · clean rebase
Build status✓ Passing — Jest 63/63 · lint pass · npm run build pass
Localhost unitsnot yet checked — needs you · targets: /about-us, /about/, trailing-slash variant, no-regress on /projects/, /locations/mohali/
Approved datadraft & branch approved · PR-open approval pending your localhost run
Files changed 2 files · +18 / −2
PathDiff
Modnext.config.js+12 / −0
Modpublic/_redirects+6 / −2
Localhost test checklist
git checkout fix/about-us-404-redirect && cd repo/website-github && npm run devruns at http://localhost:3000
localhost:3000/about-usexpected: 301 redirect to /about/
localhost:3000/about/expected: 200 OK, renders About page
localhost:3000/about-us/ (trailing slash)expected: 301 redirect to /about/
No regressions on /projects/, /locations/mohali/, /news-media/expected: each returns 200 with original content
Approval phrase
> APPROVED PR fix/about-us-404-redirect
or reject: > REJECTED fix/about-us-404-redirect: <reason> · approving here opens the PR to the owner; it does not merge, deploy, or go live.
GSC indexing cleanup Open
#49 opened by Codex 11d ago · fix/gsc-indexing-cleanup · awaits owner merge
6 / 8
+
!Problem
GSC indexing export (2026-05-21) flagged 132 not-indexed pages, including 51 with redirect issues (legacy news&media URLs), 13 returning 404 (mis-cased PDF URLs), and 29 news/media detail pages with no H1. Two redirect-only aliases (/flats-in-mohali/, /flats-in-gurugram/) were also in the sitemap.
Solution
Add redirects for legacy news&media URLs; redirect mis-cased PDF URLs; inject H1 on news/media detail pages; remove redirect-only aliases from the sitemap. Net: 57 of 132 not-indexed issues resolved (43% reduction).
Progress — 8 stages
Draft
2026-05-19
Branch
2026-05-20
Localhost
2026-05-20
Approved
2026-05-21
Opened
2026-05-21
6
Merged
awaits owner
7
Deployed
pending
8
Live
pending
Per-PR details
Draft status✓ Approved — 2026-05-21
Approved branchfix/gsc-indexing-cleanup · fast-forward merged into local main · ahead of origin/main by 1 commit
Build status✓ Passing locally · Vercel preview FAILEDtech1onegroup needs Vercel project access
Localhost units✓ Verified on 2026-05-21 · news&media redirects, PDF case fixes, news/media H1 all confirmed
Approved dataPR approved · > APPROVED PR fix/gsc-indexing-cleanup by AXS on 2026-05-21
Files changed 7 files · +94 / −31
PathDiff
Modnext.config.js+34 / −0
Modpublic/_redirects+22 / −0
Modsrc/pages/news-media/[slug].js+8 / −2
Modpublic/sitemap.xml+0 / −14
Modscripts/generate-sitemap.js+6 / −3
Modsrc/data/news-media.json+18 / −6
Modtests/redirects.test.js+6 / −6
Blocker
⚠ Vercel access — Git author tech1onegroup lacks Vercel project/team permission, so preview deployments cannot run. Resolution: owner adds tech1onegroup to the Vercel project or manually merges + deploys.
Lead tracking generate_lead events Blocked
#45 opened by Codex 13d ago · feat/generate-lead-tracking · Vercel access blocker
6 / 8
+
!Problem
No lead-conversion events flowing to GA4. Composite SEO score weights leads at 35% but Codex has no way to know whether a contact-form submission, WhatsApp click, brochure download, or phone tap actually happened.
Solution
Wire dataLayer.push({event:'generate_lead', lead_type:...}) into all five lead surfaces (contact form, project inquiry, brochure download, phone click, WhatsApp click). Add helper src/utils/analytics.js + Jest tests. GTM-side dataLayer variable + GA4 custom dimension set up separately.
Progress — 8 stages
Draft
2026-05-17
Branch
2026-05-18
Localhost
2026-05-18
Approved
2026-05-19
Opened
2026-05-19
6
Merged
awaits owner
Deployed
Vercel access
8
Live
pending
Per-PR details
Draft status✓ Approved — 2026-05-19
Approved branchfeat/generate-lead-tracking · based on main
Build status✓ Passing locally · Vercel preview FAILED — same Vercel access blocker as PR #49
Localhost units✓ Verified — contact form, project inquiry, brochure, phone click, WhatsApp click all fire generate_lead with correct lead_type
Approved dataPR approved 2026-05-19 · GTM Preview tested on 2026-05-21 for phone_click, whatsapp_click, contact_form
Blocker
⚠ Same Vercel access issue as PR #49. Aging at 13 days. Resolution path: owner grants tech1onegroup Vercel project access, or merges + deploys from an authorized account.
News-media URL redirect set Merged
#48 merged 2026-05-12 · fix/news-media-redirects · deployed · verified live
a b c d
+
!Problem
21 legacy news&media/<slug> URLs (with literal ampersand) returning 404. External backlinks still point to old form.
Solution
Add 21 individual 301 redirects mapping each legacy slug to its current news-media/<slug> form.
Progress — 8 stages
Draft
2026-05-08
Branch
2026-05-09
Localhost
2026-05-09
Approved
2026-05-10
Opened
2026-05-10
Merged
2026-05-12
Deployed
2026-05-12
Live
2026-05-13
Per-PR details
Draft status✓ Approved 2026-05-09
Approved branchfix/news-media-redirects
Build status✓ All checks green
Localhost units✓ 21 redirects spot-checked locally
Approved data> APPROVED PR fix/news-media-redirects by AXS 2026-05-10
Saavira spelling rename across codebase Live
#47 merged 2026-05-08 · fix/savira-to-saavira · verified live across project pages
8 / 8
+
!Problem
Project name “Saavira” was inconsistently spelled Savira / Sabira in 207 places across data, content, and asset paths.
Solution
Global rename across src/Components/ProjectDetail/details.json, project data, asset filenames. Asset folders kept under legacy savira/ path (in the don’t-touch list).
Progress — 8 stages
Draft
2026-05-04
Branch
2026-05-05
Localhost
2026-05-06
Approved
2026-05-07
Opened
2026-05-07
Merged
2026-05-08
Deployed
2026-05-08
Live
2026-05-09
Per-PR details
Build status✓ Green
Localhost units✓ Saavira URL spot-checked · 207 text rename verified via grep
Approved data> APPROVED PR fix/savira-to-saavira by AXS 2026-05-07
Brand capitalization audit (ONE Group / Mohali / Sector 48) Live
#46 merged 2026-05-05 · fix/one-group-capitalization · verified live
8 / 8
+
!Problem
Inconsistent brand casing — One Group, one group, ONE group — in ~80 places. Brand-voice rule: company phrase always renders as ONE Group.
Solution
Mechanical rename to ONE Group when the phrase refers to the company. Left ordinary uses of “one” untouched.
Progress — 8 stages
Draft
2026-05-01
Branch
2026-05-02
Localhost
2026-05-03
Approved
2026-05-04
Opened
2026-05-04
Merged
2026-05-05
Deployed
2026-05-05
Live
2026-05-06
Per-PR details
Build status✓ Green
Localhost units✓ Live HTML spot-checked · 0 incorrect-casing matches found in sampled pages
Approved data> APPROVED PR fix/one-group-capitalization by AXS 2026-05-04
Codex Control ControlINBOXContentPR gateHealthLearningPerformanceFiles connecting…Needs you —

System health

5 jobs · 3 healthy · 2 watch · 0 failed today
Watch
95%7d pass rate
53 / 56 runs ok · 2 partial · 1 failed
Last failure: Trends task gen at 2026-05-26 06:00config/target-keywords.md not found. Resolved same day. Longest outage: 23 min.
7-day run distribution
8
Tue
8
Wed
8
Thu
8
Fri
8
Sat
8
Sun
8
Mon
ok
partial
failed
Core SEO workflow
daily-01-run-core-seo-workflow
Blocked
Scheduledaily 12:15 IST
Last run06:45 UTC today
Next runin 15m
Outputreports/daily-actions/2026-06-01.html
7d pass rate100%
⚠ current run blocked at Draft approved content — needs your approval in INBOX
Performance triggers
daily-02-write-performance-triggers-html
ok
Scheduledaily 12:30 IST
Last run07:00 UTC today
Next runin 30m
Outputreports/performance-triggers/2026-06-01.html
7d pass rate100%
Day summary HTML
daily-03-write-day-summary-html
ok
Scheduledaily after 02
Last run07:15 UTC today
Outputreports/daily-summary/2026-06-01.html
7d pass rate100%
Research & audit suite
weekly-01-run-research-and-audit-suite
ok
ScheduleMonday 12:45 IST
Last run2026-05-26 (Mon)
Next run2026-06-02 12:45 IST
Outputdata/api-snapshots/2026-05-26/
7d pass rate100%
Cron health monitor (this page’s source)
health-99-monitor-cron-jobs
Watch
Schedulehourly
Last run11:00 UTC today
Next runin 8m
Checks5 expected outputs
Missing2 of 5
7d pass94%
Visibility-only — this job never reruns, mutates the scheduler, resumes, deletes, or registers anything. It flags & you decide.
All cron jobs — registry
Job Schedule Status Last run 7d pass Note
Core SEO workflow
daily-01-run-core-seo-workflow
daily 12:15 IST Blocked 06:45 today 100% today blocked at draft approved content step
Performance triggers HTML
daily-02-write-performance-triggers-html
daily 12:30 IST Active 07:00 today 100% report-only · no production action
Day summary HTML
daily-03-write-day-summary-html
daily 12:45 IST Active 07:15 today 100% reads existing logs · never writes output
Research & audit suite
weekly-01-run-research-and-audit-suite
Mon 12:45 IST Active 2026-05-26 100% GA4/GSC fetch · Trends · listings audit · brand presence
Cron health monitor
health-99-monitor-cron-jobs
hourly Watch 11:00 today 94% visibility-only · powers this page
Phase A topic proposal
daily-05-phase-a
daily 07:30 IST Approved not scheduled 10 topic candidates · awaits Phase A spec finalization
Phase B drafting
daily-06-phase-b
daily 07:45 IST Approved not scheduled gated drafting · awaits Seomachine tool build
Existing article audit (Phase A2)
tts-09-phase-a2
Tue/Thu/Sat 08:15 Approved not scheduled Seomachine pass on live articles · recommendation files
Site crawl
weekly-11-site-crawl
Wed 06:00 IST Approved 2026-05-21 (manual) report-only · 1 manual run done · fixes routed via PR
Listings refresh
weekly-13-listings-refresh
Wed 09:00 IST Approved not scheduled read-only audit · claims/edits separately approved
Learning backup
weekly-14-learning-backup
Sun 19:00 IST Approved not scheduled copy-only · deletion remains approval-gated
Weekly context dump
weekly-15-context-dump
Sun 20:00 IST Approved not scheduled awaits context-format spec & backup stability
Weekly Phase D report
weekly-16-phase-d
Mon 09:00 IST Approved not scheduled what shipped, worked, failed · recommendations · report-only
OS repo pull
weekly-12-os-pull
Wed 06:30 IST Deferred not scheduled only needed if Codex adopts external OS skills
Post approved content
post-approved-content (substep of daily-01)
n/a Disabled never needs platform-gate SMR before posting can activate
Status key. Active = scheduled & running · Watch = active but flagging today · Blocked = active but stuck on an approval / blocker · Approved = approved in principle, not yet registered with scheduler · Deferred = optional, awaiting a prerequisite · Disabled = explicit decision to keep off until a future SMR.
Stale / missing outputs expected, not seen
data/site-crawl/2026-05-30/summary.json
expected by site-crawl spec · last seen 2026-05-26
5d stale
data/rankings/2026-05-30/dataforseo-serp.json
DataForSEO weekly fetch blocked on billing
2d stale
data/trends/2026-06-01.json
browser task pending paste from Codex Browser Use
3h late
Aging blockers unresolved > 3 days
13d
PR #45 · Lead tracking Vercel access
blocked on Vercel project access for tech1onegroup
INBOX ›
11d
PR #49 · GSC indexing cleanup — same Vercel block
PR open, awaiting Vercel preview / owner merge
INBOX ›
6d
DataForSEO billing top-up
blocks weekly SERP runs · ranking signal is down for 3 of 9 target keywords
INBOX ›
5d
GA4 lead_type dimension setup
blocks 35% of the composite SEO score breakdown
INBOX ›
System health is visibility-only. health-99 never reruns, mutates the scheduler, resumes, deletes, or registers anything — it surfaces & you decide.   Sourced from logs/cron-health.csv + filesystem checks.
Codex Control ControlINBOXContentPR gateHealthLearningPerformance connecting…Needs you —

Learning

Observing   0 / 20 data points to graduate
Advisory only. Nothing here authorizes a draft, PR, post, or schedule change. Learning surfaces patterns; you decide what to act on.
Learning phase
1
Observing
Watching outcomes;
no hypotheses formed yet
2
Hypothesis
Patterns proposed,
awaiting verdict
3
Confirmed / Rejected
Verdict rendered after
3+ data windows
!
Aborted
Data gap or missing source
made verdict impossible
Graduation progress0 / 20 data points · needs published outcomes
Codex graduates from Observing into Hypothesis once it has 20 published-outcome data points (post live + 14d of metrics). First data point lands after the first website PR is merged and tracked.
Data points by topic type
Buyer checklist0 / 20
Area guide0 / 20
Project showcase0 / 20
Comparison0 / 20
Founder story0 / 20
Construction update0 / 20
NRI guide0 / 20
FAQ0 / 20
Score signals
Seomachine threshold80
drafts below this score are rejected before review
Weakest category (30d)Readability
based on 1 draft sampled · not statistically meaningful yet
Fastest improving— no signal yet
needs at least 5 drafts across 2 windows
Banned-word hits0 in last 30 drafts
Claim verification rate95%
1 unverified claim out of 18 (above 90% target)
AXS preferences inferred
0 preferences inferred
First inferences come from Day 2+ once you approve / deny / edit drafts.
learning/axs-preferences.md
Top-performing past topics
No data yet
Top performers appear after ~20 published posts with 14+ days of GSC / GA4 metrics.
What Codex is stuck on (for learning)
!
No published-content outcomes yet
Learning can’t infer what works until at least 1 post is live with 14d of metrics. Currently 0 posts have been approved + published.
!
GA4 lead_type dimension not active
Without this dimension, Codex can’t learn which lead source (form / WhatsApp / brochure / phone) correlates with which content. Open INBOX item ›
!
DataForSEO weekly fetch blocked
Ranking-position deltas are a key learning signal. Resuming weekly SERP runs requires account top-up.
!
Wiki / OS repo not yet shared
Persona learning + brand-voice inference depend on the Marketing wiki being accessible to Codex.
Codex Control ControlINBOXContentPR gateHealthLearningPerformanceFiles connecting…Needs you —

Files

14 changed today · 3 recs · 5 don’t-touch · 2 duplicate audits awaiting approval
Recent changes today · 06:00 – 12:00
Createreports/daily-actions/2026-06-01.htmlCodex07:00
Createdata/api-snapshots/2026-06-01/summary.jsonCodex06:45
Modifydashboard/state.jsonCodex06:45
Modifydashboard/file-structure-map.jsonCodex06:45
Createreports/daily-summary/2026-06-01.htmlCodex07:15
Modifylogs/cron-health.csvCodex07:15
Createreports/performance-triggers/2026-06-01.htmlCodex07:00
Modifydrafts/blogs/2026-05-28-sector-48-gurugram-apartment-checklist-savira.mdAXS09:42
Core files — the foundations of the project
What we do, where data flows, how we sound. Click a category to expand.
Master plan & architecture 3 the master file, 11 specs, setup status
documents/hermes-master-plan-v1-2026-05-26.mdThe master file. Architecture of the entire project — pipelines, oversight, governance, safety rules.
documents/hermes-spec/11 specs. Loop, data, content, distribution, handoff, dashboard, learning, cron, human-input, Seomachine, Codex Browser.
documents/setup-master-status.mdLiving status — what’s done, what’s blocked, what’s manual.
📚 Knowledge — brand 5 wiki entities + concepts, your inferred preferences, OS skills
learning/wiki/Marketing wiki/Overview.mdIndex of the entire wiki.
learning/wiki/Marketing wiki/entities/Entities. ONE Group, Saavira, Clermont, founders, marketing tech stack. The facts.
learning/wiki/Marketing wiki/concepts/Concepts. Brand voice, content strategy, buyer personas, post templates. The how.
learning/axs-preferences.mdYour inferred editing preferences. (Observing phase: empty.)
learning/os-relevant-skills.json11 OS-repo skills indexed for Codex.
💾 Sources — where data’s from 5 data-sources config, fetchers, snapshots, browser drop folder
config/data-sources.mdSource-of-truth list: GSC, GA4, GBP, DataForSEO, Trends, site crawl — with credentials & cadence.
tools/fetch_seo_data.pyGSC + GA4 fetcher → data/api-snapshots/YYYY-MM-DD/.
tools/fetch_dataforseo_serp.pyRanking fetcher. Currently blocked on billing.
data/api-snapshots/Daily snapshots of every external API pull. Append-only.
Desktop/codex-browser-tasks/Drop folder for Codex Browser Use results — Codex ingests, never writes.
Distribution — where it goes 5 distribution map, website repo, blog/GBP/Listmonk drafts
documents/hermes-spec/04-distribution-map.mdEvery surface a packet can land on — with the approval gate for each.
repo/website-github/Canonical website source. Clone → PR → owner merge → deploy.
drafts/blogs/Blog drafts staging.
drafts/gbp/GBP post drafts. You post manually.
drafts/listmonk-lead-thank-you/Lead thank-you email template drafts.
Creative — how we sound 5 brand voice, publishing rules, keywords, internal links, business profile
config/brand-voice.mdHow ONE Group sounds. Vocabulary, tone, capitalization (ONE Group, Saavira, Clermont).
config/publishing-rules.mdForbidden claims, required disclosures, citation rules.
config/target-keywords.mdTarget keyword clusters Codex optimizes around.
config/internal-links.mdCross-linking rules for projects, locations, articles.
config/business-profile.mdEntity, RERA, GST, GMB, head office — single source for “about us” copy.
Structure recommendations
Proposed reorganization — nothing moves until you approve in INBOX.
Move legacy specs into docs/legacy/
Three pre-master-plan docs still live in documents/ and cause confusion when Codex greps for current rules. Reference-only.
documents/seo-operating-system-plan.mddocuments/data-collection-setup.mddocuments/data-collection-instructions.md
Awaits you
Adopt date-folder pattern for drafts/listmonk-lead-thank-you/
Eight HTML variants sit flat in that folder; nest under drafts/listmonk-lead-thank-you/2026-05-23-six-styles/ to match other drafts.
Awaits you
Consolidate config/target-keywords.md with cluster definitions
Keyword file and cluster definitions live in separate places; pulling them together would simplify Phase A picks.
FYI
Don’t-touch list
Files Codex — and you — should leave alone. Each has a reason.
Legacy savira/ asset paths
Old folder from before the Saavira spelling fix. Live website still references some paths; renaming requires redirects.
public/assets/images/project_detail/savira/
Reference
Pre-Saavira-rename backup snapshot
Full snapshot before the global rename. Keep until the merge is verified live for 7+ days.
learning/.backups/savira-rename-2026-05-29/
Reference
Secrets / credentials
Codex never reads, writes, or commits anything under this path.
secrets/
Sensitive
Workspace transfer reference
Read-only initial transfer copy. Canonical is repo/website-github/.
repo/website-no-secrets/
Reference
Browser-task drop folder
Owned by Codex Browser Use. Codex ingests; does not write.
Desktop/codex-browser-tasks/
External
Duplicate audit — awaiting your approval
Codex never deletes duplicates autonomously. It flags them, explains the trade, waits.
3 GSC performance exports for overlapping windows
All three cover 2026-05-15. Keeps: JSON (canonical) + Queries.csv. Removes: Pages.csv, Chart.csv (regenerable). Saves: ~340 KB.
data/search-console/gsc-performance-2026-05-15/Pages.csvdata/search-console/gsc-performance-2026-05-15/Chart.csv
Awaits you
Test trends runs from 2026-05-26 / 27
Four test-runs/*-TEST.json files. Pipeline now uses canonical path. Keeps: latest TEST. Removes: 3 older. Saves: ~120 KB.
data/trends/test-runs/2026-05-26-TEST.json
Awaits you
Codex Control ControlINBOXContentPR gateHealthLearningPerformanceFiles connecting…Needs you —

Performance

Last updated 06:45 · next refresh 12:15

Business outcomes

Composite SEO score — is the work moving the business?
Partial · 3 / 7 signals live
67/ 100
▲ +5 vs prior 30d
Composite SEO score. Honest read: 4 of 7 weighted signals are blocked or missing. The number rises as you unblock sources — not because the work is improving.
May 02 May 17 today
Leads 35%
42
▲ +12 (40%)
generate_lead events · lead_type breakdown pending
Organic clicks 20%
478
▼ −3 (−0.6%)
GSC · 28d window
Ranking position 15%
Blocked
DataForSEO billing — open INBOX item ›
GBP interactions 10%
Missing
No GBP API access yet · manual CSV exists for last 90d — view raw ›
AI-search visibility 10%
Missing
No source set up yet · planned post-graduation
Priority pages 5%
188
▲ +14 (8%)
GA4 · Clermont, Saavira, Mohali
Brand mentions 5%
Missing
No source — needs mention-tracker setup
Signal coverage 3 / 7
43%
⚫ unchanged vs prior 30d
Composite holds at partial until coverage ≥ 70%
Leads — weeklylast 12 weeks · total 42
12 wks ago this wk
Clicks & impressions — dailylast 30d · 478 clicks / 14.2k impr
■ clicks ■ impressions 30d ago today
Priority page sessionsClermont · Saavira · Mohali
■ Mohali ■ Saavira ■ Clermont
Ranking position (target keywords)blocked — DataForSEO billing
×
Resume weekly SERP runs to populate this chart.
Open INBOX item ›
Honest read. The composite score is rendered PARTIAL because 4 of 7 weighted signals (Ranking position, GBP interactions, AI-search visibility, Brand mentions) are not flowing yet. Treat the 67 as a directional read, not a verdict, until coverage reaches at least 70% by weight. See what unblocks each signal ›

Content quality

Seomachine score — is each draft well-built? (leading indicator)
Above threshold
83/ 100
average across 1 evaluated draft
Per-piece quality rubric (spec 10). Threshold 80 · 1 of 1 drafts passed (100%). Threshold review at 20 drafts — currently at 1.
Score distribution — last 30 drafts
80 — threshold 1 50 60 70 80 90 100
Score by category — averageacross last 1 draft
Content depth22 / 25
Keywords18 / 20
Meta elements13 / 15
Structure13 / 15
Links8 / 10
Readability9 / 15
Weakest: Readability 60% — Flesch 58, grade 11, sentences avg 21 words. Not statistically meaningful at n=1.
Recent draftsAll drafts ›
83
Sector-48 Gurugram apartment checklist
blog · 2026-05-28 · attempt 2 of 3 · revised once
Surfaced
No other drafts yet.
Drafts under 80 self-revise up to 3 times before being surfaced with a gap flag.
Existing article audits (Phase A2) Tue · Thu · Sat 08:15 IST · 22 articles in queue
0 audits run yet.
Queue is sorted by GSC impressions × estimated lift potential. First audit lands once Phase A2 cron is enabled.
learning/existing-article-queue.csv

Technical & on-page SEO

Page-level health — what crawlers see, what they index, and what’s been fixed.
Improving
61/ 193
▲ +12 indexed vs prior 30d
Indexing coverage 32%. 132 pages not indexed; 57 critical issues fixed in May (43% reduction). The remaining 75 are content / signal-strength problems, not technical errors.
Indexed pages — last 90d
Mar Apr May today
Indexing issues — before / afterGSC source · 2026-05-21 cleanup
Page with redirectlegacy news&media URLs cleaned518Improving
Not found (404)/about-us, mis-cased PDFs130Fixed
Missing H129 news/media detail pages290Fixed
Crawled, not indexedcontent / linking weakness2418Improving
Discovered, not indexedlow signal strength3128Flat
Duplicate canonicallegacy URLs21Improving
On-page coverageacross 193 site pages
Unique title tags100%
Meta descriptions present92%
H1 on every page100%
Canonical tags99%
Image alt text78%
Schema markup45%
Mobile-friendly100%
HTTPS100%
Sitemap submittedok
robots.txt validok
SEO score by major page live Seomachine pass · threshold 80 · avg 75 across 8 pages
Page Score Words Top issue
/871,820solid baseline — no flags
/projects/residential/the-saavira/822,410readability soft (grade 12) · otherwise strong
/projects/residential/the-clermont/791,940meta description 138 chars (target 150–160)
/projects/761,150thin internal linking to project detail pages
/locations/mohali/741,140word count below SERP p60 · needs “houses in Mohali” section
/locations/gurugram/71980word count low · weak H2 cadence (every 600w)
/flats-in-mohali/68720keyword density 3% (stuffing flag) · thin content
/news-media/64archivearchive depth · flagged for Phase A2 audit queue
Pages below 80 are auto-queued for Phase A2 audit. Audits land as recommendation files at recommendations/article-audit-<slug>-YYYY-MM-DD.md.
Target keyword rankings GSC avg position · 28d window · DataForSEO SERP fetch blocked
Keyword (target) Avg pos Δ 28d Impr Our URL
The Clermont1.8stable410/projects/residential/the-clermont/
ONE Group developers2.0stable220/
The Saavira2.1▲ +0.3480/projects/residential/the-saavira/
flats in Mohali4.2▲ +0.81,240/locations/mohali/
Mohali apartments6.8▲ +0.5320/locations/mohali/
houses in Mohali9.4▼ −1.2860/locations/mohali/
Sector 48 Gurugram apartments12.1▲ +1.4180/locations/gurugram/
flats in Gurugram18.7▼ −0.695/locations/gurugram/
luxury apartments Gurugram— not rankedDataForSEO needed to confirm SERP position >20
best builders Mohali— not rankedno impressions in last 28d
Honest caveat. GSC shows only keywords where the site already has impressions. Two target keywords above show “not ranked” — without DataForSEO we can’t see if we’re at rank 21, rank 80, or off the chart entirely. This is why the Composite’s Ranking signal renders blocked.
Pages we’re aiming for 2 live · 3 improve · 4 planned
Status Target page Primary keyword Current → Goal Pri
Improve/locations/mohali/flats in Mohali4.2top 3P0
New/locations/mohali/houses/houses in Mohali9.4top 3P0
Live/projects/residential/the-clermont/The Clermont1.81.0P1
Live/projects/residential/the-saavira/The Saavira2.11.0P1
New/locations/gurugram/sector-48-apartments/Sector 48 Gurugram apartments12.1top 5P1
Improve/flats-in-gurugram/flats in Gurugram18.7top 10P2
New/locations/gurugram/luxury-apartments/luxury apartments Gurugramn/atop 10P2
New/best-builders-mohali/best builders Mohalin/atop 10P2
Improve/projects/ONE Group projectsn/atop 5P2
Priority key. P0 = unlock biggest impressions tier (Mohali demand) · P1 = defend the brand top-3 + new niche page · P2 = stretch targets, longer payoff. Status: Live = ranking, defend · Improve = exists but underperforming · New = needs to be built (Phase B drafting target).
Fixes shipped — last 30 days via website PRs (owner-merged)
PR #49 · GSC indexing cleanup
Redirects for legacy news&media URLs · redirects for mis-cased PDF URLs · added H1 to news/media detail pages · removed redirect-only aliases (/flats-in-mohali/, /flats-in-gurugram/) from sitemap.
fix/gsc-indexing-cleanup · pending owner deploy
2026-05-21
PR · /about-us 404 redirect
/about-us returned 404 in production; redirect added to /about/. Localhost verified.
fix/about-us-404-redirect · awaiting your > APPROVED PR
2026-05-26
Open audit findings awaiting decision or content work
Image alt-text gap~43 images across project pages need descriptive alt textOpen
Schema markup gapRealEstateListing schema missing on project detail pagesOpen
Saavira URL decisionlegacy savira/ asset paths · captured in INBOXDecision
Meta description gap15 pages still missing descriptions (mostly /news-media/ archives)Open