diff --git a/ui/agijobmanager_genesis_job_mainnet_2026-03-05-v41.html b/ui/agijobmanager_genesis_job_mainnet_2026-03-05-v41.html index 6472522..8d4f1e3 100644 --- a/ui/agijobmanager_genesis_job_mainnet_2026-03-05-v41.html +++ b/ui/agijobmanager_genesis_job_mainnet_2026-03-05-v41.html @@ -2757,6 +2757,7 @@

Summary

My Stats

My $AGIALPHA Balance: 0
My Reputation: 0
+
Historical score preview: (live getter when available)
Jobs I posted: 0
Agent ENS: not verified @@ -3920,7 +3921,8 @@

Contact & Legal

{"inputs":[{"internalType":"uint256","name":"_jobId","type":"uint256"}],"name":"expireJob","outputs":[],"stateMutability":"nonpayable","type":"function"}, {"inputs":[{"internalType":"uint256","name":"_jobId","type":"uint256"}],"name":"cancelJob","outputs":[],"stateMutability":"nonpayable","type":"function"}, {"inputs":[{"internalType":"uint256","name":"jobId","type":"uint256"},{"internalType":"bool","name":"burnFuses","type":"bool"}],"name":"lockJobENS","outputs":[],"stateMutability":"nonpayable","type":"function"}, - {"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"getHighestPayoutPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"} + {"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"getHighestPayoutPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}, + {"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"previewHistoricalScore","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"} , {"inputs":[],"name":"agentBond","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}, {"inputs":[],"name":"agentBondBps","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}, @@ -4256,6 +4258,7 @@

Contact & Legal

if(tbody) tbody.innerHTML = 'Runtime context reset. Reconnect and refresh to load live jobs.'; if(el('jobsVisibleSummary')) el('jobsVisibleSummary').textContent = 'Runtime context reset; live job index not loaded.'; if(el('myJobs')) el('myJobs').textContent = '—'; + if(el('myHistoricalScore')) el('myHistoricalScore').textContent = '—'; if(el('managerOwnerAddress')) el('managerOwnerAddress').textContent = '—'; if(el('ensOwnerAddress')) el('ensOwnerAddress').textContent = '—'; if(el('managerModeratorPosture')) el('managerModeratorPosture').textContent = 'Runtime context reset'; @@ -4789,7 +4792,7 @@

Contact & Legal

if(!hasAcceptedTerms){ setToast('Accept the Terms & Conditions before sending any write transaction.', 'warn'); return false; } return true; } - const UI_CONTINUITY_KEY = 'agijobmanagerprime.v40.uiContinuity'; + const UI_CONTINUITY_KEY = 'agijobmanagerprime.v41.uiContinuity'; const UI_CONTINUITY_FIELDS = ['termsAccepted','alphaTermsAcceptedTop','preflightTermsAccepted','agentSub','clubSub','mintAlphaLabel','premiumActionProcurementId','premiumActionSubdomain','premiumActionProof','premiumActionCommitment','premiumActionSalt','premiumActionApplicationUri','premiumActionFinalist','premiumActionScore','premiumInspectorProcurementId','premiumInspectorJobId','premiumDiscoveryApplicationInspectProcurementId','premiumDiscoveryApplicationInspectAgent','premiumAttachJobId','premiumDiscoveryJobSpecURI','premiumDiscoveryDetails']; const UI_CONTINUITY_TOGGLES = ['alphaEnsExpertDetails']; function continuityLoad(){ @@ -5333,7 +5336,7 @@

Contact & Legal

ensPreview: predictedEns || null, ensURI: predictedEnsUri && !predictedEnsUri.includes("—") ? predictedEnsUri : null, generatedAt: nowIso(), - createdVia: "AGIJobManager Prime console v40.0" + createdVia: "AGIJobManager Prime console v41.0" } }; Object.keys(obj).forEach(k=>{ if(obj[k]===undefined) delete obj[k]; }); @@ -6787,6 +6790,7 @@

Contact & Legal

el("challengePeriod").textContent = "—"; el("agiBalance").textContent = "—"; el("myReputation").textContent = "—"; + if(el("myHistoricalScore")) el("myHistoricalScore").textContent = "—"; el("myJobs").textContent = "—"; const tbody = el("jobsBody"); if(tbody) tbody.innerHTML = 'Switch to Ethereum Mainnet (chainId 1) to load jobs.'; @@ -6905,6 +6909,8 @@

Contact & Legal

const rep = await agiJobManager.methods.reputation(userAccount).call(); el("myReputation").textContent = rep; + const historicalRead = await runSafeReadStep('previewHistoricalScore', ()=>agiJobManager.methods.previewHistoricalScore(userAccount).call(), {silent:true}); + el("myHistoricalScore").textContent = historicalRead?.__safeReadError ? 'Unavailable on this ABI/runtime' : String(historicalRead); el("myJobs").textContent = "—"; updateCalculator(); @@ -8339,7 +8345,7 @@

Contact & Legal

['ENS URI', ens.ensUri ? safeLink(ens.ensUri) : '—'], ['ENS node', escapeHtml(ens.node || '—')], ['Resolver', escapeHtml(ens.resolverAddr || '—')], - ['Token URI mode', 'Unavailable in ENSJobPages public ABI (v40)'], + ['Token URI mode', 'Unavailable in ENSJobPages public ABI (v41)'], ['schema', escapeHtml(ens.texts?.schema || '—')], ['agijobs.spec.public', ens.texts?.['agijobs.spec.public'] ? safeLink(ens.texts['agijobs.spec.public']) : '—'], ['agijobs.completion.public', ens.texts?.['agijobs.completion.public'] ? safeLink(ens.texts['agijobs.completion.public']) : '—'] ].map(([k,v])=>`
${k}
${v}
`).join(''); diff --git a/ui/tests/standaloneV41.test.ts b/ui/tests/standaloneV41.test.ts index 1461fbb..8c04ebc 100644 --- a/ui/tests/standaloneV41.test.ts +++ b/ui/tests/standaloneV41.test.ts @@ -26,4 +26,12 @@ describe('standalone v41 artifact', () => { expect(html).toContain('syncIdentityByLabel(label)'); expect(html).toContain('soulbound identity'); }); + + it('uses v41 continuity metadata and exposes historical-score read provenance', () => { + const html = fs.readFileSync(file, 'utf8'); + expect(html).toContain('agijobmanagerprime.v41.uiContinuity'); + expect(html).toContain('previewHistoricalScore'); + expect(html).toContain('Historical score preview'); + expect(html).not.toContain('Unavailable in ENSJobPages public ABI (v40)'); + }); });