Clarify ENS preview vs effective semantics in docs and UI (no manager bytecode changes)#152
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d74b3c89b
ℹ️ 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".
| facts:[ | ||
| {label:'Job status', value: job ? classifyJobStatus(job) : 'Unknown'}, | ||
| {label:'Effective ENS name', value: currentLivePacket?.job?.id === jobId ? (currentLivePacket.job.ensName || '—') : (job ? ensLabelPreviewForJobId(jobId) : '—')}, | ||
| {label:'Preview ENS name', value: currentLivePacket?.job?.id === jobId ? (currentLivePacket.job.ensName || '—') : (job ? ensLabelPreviewForJobId(jobId) : '—')}, |
There was a problem hiding this comment.
Restore effective ENS labeling in the lock dialog
For terminal jobs, this dialog usually shows currentLivePacket.job.ensName, which comes from fetchEnsVisibility() via ENSJobPages.jobEnsName(). In the checked contract path (contracts/ens/ENSJobPages.sol::_createJobPage), authority is established at create time, so completed/expired jobs normally have an effective name already. Relabeling that field to "Preview ENS name" reintroduces the exact ambiguity this patch is trying to remove right before the operator signs lockJobENS(...).
Useful? React with 👍 / 👎.
| ['ENS URI (preview or authoritative, see snapshot status)', ens.ensUri ? safeLink(ens.ensUri) : '—'], | ||
| ['ENS name (preview or authoritative, see snapshot status)', escapeHtml(ens.ensName || '—')] |
There was a problem hiding this comment.
Render snapshot state next to the job-detail ENS fields
These labels now tell the reader to "see snapshot status", but the job-detail modal does not render any snapshot indicator and fetchEnsVisibility() only loads the compatibility getters (jobEnsName/jobEnsURI/jobEnsNode), not whether authority is established. In the exact cutover/debug workflow this patch targets, operators still cannot tell whether the displayed name/URI is mutable preview data or authoritative state.
Useful? React with 👍 / 👎.
Motivation
Description
ui/agijobmanager_genesis_job_mainnet_2026-03-05-v39.html).<prefix><jobId>.<jobsRootName>is a preview until a per-job authority snapshot is established and to prefer chain-backed audit outputs over prose (README.md,docs/ui/GENESIS_JOB_MAINNET_HTML_UI.md,docs/ENS/OBSERVED_MAINNET_STATE.md).scripts/ens/output/audit-mainnet.json) from this environment and explicitly flagged it non-authoritative because the sandbox RPC was unreachable.handleHook(uint8,uint256)ABI or ENS-side logic; this patch is operator-facing only.Testing
node scripts/ens/audit-mainnet.tsexecuted and wrotescripts/ens/output/audit-mainnet.json, but the artifact recordsrpcReachable: falseanderror: "AggregateError"so it must be re-run from a networked operator workstation before production actions. (PASS — audit ran; artifact non-authoritative)npm run docs:checkwas run and documentation consistency checks passed. (PASS)npx truffle test ...andnpm run test:sizewere attempted but the environment stalled while fetching/downloading compiler artifacts, so full on-chain unit/size tests could not be completed here. (INCONCLUSIVE — environment network/compile stall)npm run ui:abi:checkfailed pre-compile because local compiled artifacts were not present in this sandbox; a local compile would be required to validate ABI-sync checks. (FAIL - precondition)Codex Task