Skip to content

v27: Harden ENSJobPages preview and add FreeTrialSubdomainRegistrar alpha-agent mint flow#1465

Open
MontrealAI wants to merge 1 commit into
mainfrom
codex/upgrade-agijobmanager-html-to-v27
Open

v27: Harden ENSJobPages preview and add FreeTrialSubdomainRegistrar alpha-agent mint flow#1465
MontrealAI wants to merge 1 commit into
mainfrom
codex/upgrade-agijobmanager-html-to-v27

Conversation

@MontrealAI
Copy link
Copy Markdown
Owner

Motivation

  • Finish and harden the ENS Job Page preview so displayed values come from the live AGIJobManager.ensJobPages() path and show a clear degraded fallback when unavailable.
  • Add a first-class, mobile-friendly, browser-only flow to mint a free-trial *.alpha.agent.agi.eth ENS subname via the FreeTrialSubdomainRegistrar while remaining technically honest (free registration, gas only, time-limited trial).
  • Remove synthesized active-job truth so the UI no longer presents inferred job IDs as authoritative when event indexing is degraded.
  • Keep the single-file, mainnet-first UI, preserve all v26 surfaces, and integrate the new flow into mission control, command palette, and mobile shell for discoverability.

Description

  • ENS preview hardening: updated resolveEnsJobPagesContract() to prefer AGIJobManager.ensJobPages() on live connected mainnet, otherwise use the verified fallback 0x06188e...; updateEnsJobPagePreview() now reads snapshot-aware methods (jobLabelSnapshot, jobEnsLabel, jobEnsName, jobEnsURI, jobEnsNode) and never invents job-<id> labels; readiness text remains honest about public vs internal readiness.
  • Free-trial registrar: added FreeTrialSubdomainRegistrar ABI, constants (FREE_TRIAL_SUBDOMAIN_REGISTRAR, FREE_TRIAL_PARENT_NAME, FREE_TRIAL_PARENT_NODE), and UI panel (alphaAgentMintSection) with public registrar state card, strict client-side label validation (8–63 chars, a-z0-9 only, no dots/hyphens/spaces), live availability via validateLabel + available, child node preview via namehash, registerSimple(parentNode,label,newOwner) review modal, and post-success handling that parses events, stores recent names, auto-fills agentSub, and calls verifySubdomain('agent', true).
  • Admin & expert support: added a registrar admin posture card and parent-manager controls gated by NameWrapper.canModifyName(...), plus an advanced register(...) accordion for expert use (resolver, fuses, raw records).
  • Synthetic-ID removal: replaced inferred active-ID fallbacks in getActiveJobIdsFromEvents() so degraded reads now return an explicit degraded state (no synthetic IDs presented) and surface clear warnings.
  • UX & integration: wired the mint path into missionControl, command palette (Mint free alpha-agent ENS / Refresh registrar state / Open registrar controls), and mobile sheet (Mint free alpha-agent ENS shortcut); preserved and extended v26 mobile shell and kept all existing verify flows/UI surfaces intact.
  • Small housekeeping: bumped visible version strings to v27, added NameWrapper supplemental reads needed for registrar admin checks, kept AGIJobManager, ENSJobPages, and FreeTrialSubdomainRegistrar as distinct systems, and preserved single-file architecture (ui/agijobmanager_genesis_job_mainnet_2026-03-05-v27.html).

Testing

  • Static script syntax check: extracted inline scripts and ran node --check /tmp/v27.js, which returned OK.
  • Basic automated validation: ran rg searches to confirm no forbidden legacy references (0xc19A84..., alpha.jobs.agi.eth) or raw alert/confirm/prompt calls; pattern checks returned clean.
  • Functional smoke render: launched a headless browser view and captured a mobile screenshot of the new mint section to validate layout and mobile ergonomics (screenshot artifact generated).
  • Local integration: exercised runtime wiring via page-level flows (connect wiring, registrar refresh, updateAlphaAgentMintPreview, and registerSimple review modal wiring) and validated that registerSimple is used as the default happy-path in the UI review modal (value = 0 ETH shown).

Files: ui/agijobmanager_genesis_job_mainnet_2026-03-05-v27.html (standalone updated artifact).


Codex Task

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6f314e8566

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

</details>
</div>
</div>
</div>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the stray closing div in admin controls section

This extra </div> leaves the document with one more closing div than opening div, so the parser closes a parent wrapper early and later sections render outside the intended layout container. In practice this can break spacing/responsiveness for everything after the admin controls block and leaves the final container close unmatched.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant