[ Platform / 01 ] The Stack

Two agents. A market between them. Humans in command.

Nugget is agentic infrastructure for hiring. The candidate has an agent. The employer has an agent. They negotiate inside the channels you already use — and only escalate when humans must decide.

Humans + agents, on the same surface. — human and AI agent operating together
[ Platform / 02 ] Co-workers, not crawlers

Humans + agents, on the same surface.

Recruiters, hiring managers and candidates see the same holographic readout — skills, JD coverage, vitals, culture-fit — rendered in real time as both agents negotiate.

HOLO_PANEL // RECRUITER_TRIAGEtap or focus a marker to inspect live signals
[ Skill cx-zones // co-train · live config ]

Two agents. Different training surfaces.

Each side has its own skill cx-zone — drag the inputs to see exactly what each agent emits into the neutral matching engine. Skills expand to show the co-training rubric. Your inputs are saved locally — refresh without losing your config.

CX_ZONE // CANDIDATE
Principal: candidate

Candidate Agent

Trains on the candidate's own story, samples and references. Optimises for representation accuracy, negotiation guardrails and career direction — never for spam volume.

Configurable inputs
180k
60%
70%
90%
→ outputs to matching engine
{
  "candidate.floor.k": 180,
  "candidate.equity.comfort": 0.6,
  "candidate.geo.flex": 0.7,
  "candidate.truth.discipline": 0.9,
  "candidate.signals": [
    "narrative",
    "star_whisper",
    "claim_ledger",
    "career_lookahead"
  ]
}
CX_ZONE // MERCHANT
Principal: hiring org

Merchant HR Agent

Trains on the company's hiring history, level rubrics, budget bands and team topology. Optimises for fit + retention, not pipeline vanity metrics.

Configurable inputs
220k
55%
70%
→ outputs to matching engine
{
  "merchant.budget.ceiling.k": 220,
  "merchant.equity.pool": 0.55,
  "merchant.level.target": "IC5",
  "merchant.retention.weight": 0.7,
  "merchant.signals": [
    "jd_intent",
    "level_calibration",
    "topology_fit",
    "adverse_impact"
  ]
}
match.negotiation
78/100
match.confidence
80/100
match.gate
PASS
[ Domain Specialisation // peer-reviewed stack ]

Both agents are trained on verified science.

Behaviour. Forensics. Vitals. I/O. Every signal Nugget computes is traceable to a citation — so a hiring decision can be defended in front of a board, a regulator, or a candidate's lawyer.

[ 01 ] Behavioural ScienceCITED

Big-Five at the speech-act layer

We don't run gamified tests. Open-vocabulary conversational analysis maps utterances to FFM trait estimates, regulatory focus, and motivational orientation — calibrated against >1.4M labelled interview transcripts.

Techniques applied
  • IPIP-NEO open-vocabulary mapping
  • Regulatory Focus Theory (Higgins) tagging
  • Self-Determination Theory (Ryan & Deci) motive split
  • Conscientiousness × tenure interaction modelling
Literature3 cards · click to expand
[ 02 ] Forensic & Truth SciencesCITED

Claim verification with statement-validity protocols

Every spoken claim is routed through statement-validity analysis (SVA / CBCA cues), source triangulation, and deepfake forensic checks before it scores. Inflated claims aren't rejected — they're downweighted with an explainable trace.

Techniques applied
  • Criteria-Based Content Analysis (CBCA)
  • Reality Monitoring (Johnson & Raye) markers
  • Liveness + face-swap forensic detection (FaceForensics++)
  • Cross-source temporal consistency graphs
Literature3 cards · click to expand
[ 03 ] Vitals — rPPG & Voice BiomarkersCITED

Non-contact physiology from camera and mic

Remote photoplethysmography (rPPG) recovers heart rate, HRV and respiration from facial micro-colour shifts during video. Combined with prosodic features (jitter, shimmer, pause structure) we model arousal, regulation and presence — opt-in, on-device by default.

Techniques applied
  • POS / CHROM rPPG signal extraction
  • HRV time-domain (RMSSD) + frequency-domain (LF/HF)
  • Prosody: jitter, shimmer, speaking-rate variance
  • On-device inference; raw video never leaves the client
Literature3 cards · click to expand
[ 04 ] Industrial / Organisational ScienceCITED

Predictive validity over interview theater

Selection science is brutal about what predicts performance. Nugget weights structured work-sample evidence and cognitive-task signal far above unstructured interview impressions — and surfaces the validity coefficient behind every match.

Techniques applied
  • Structured behavioural sampling (Campion 1997)
  • Work-sample test scoring (highest single-predictor validity)
  • g-loaded reasoning probes calibrated per role family
  • Adverse-impact monitoring per EEOC 4/5ths rule
Literature3 cards · click to expand
A panel of specialised agents per role. — human and AI agent operating together
[ Platform / 04 ] Merchant swarm

A panel of specialised agents per role.

Each Merchant HR Agent runs alongside a swarm of domain specialists — psychometrics, vitals, fraud, I/O — voting on every claim before humans see the shortlist.

HOLO_PANEL // MERCHANT_SWARMtap or focus a marker to inspect live signals
[ Neutral Match Scoring // third-party scorer ]

Neither agent grades the match.

Candidate Agent and Merchant HR Agent both submit evidence into a third, neutral scorer with frozen weights — audited quarterly. Neither side can re-weight after seeing the score. Truth-first, by construction.

scorer.config
weights.frozen: true
audit.cadence: quarterly
Σ.weights: 1.00
Dimension
Weight
Source
Note
Skill Evidence Match
22%
Work-sample + structured probes
g-loaded, role-family calibrated
Psychometric Compatibility
14%
Open-vocabulary FFM + RFT
Both agents submit, neutral scorer blends
JD Intent Coverage
18%
Merchant JD parse × Candidate claims
Unspoken requirements weighted
Truth & Verification
16%
CBCA + cross-source triangulation
Inflations downweighted, not hidden
Vitals & Presence
8%
rPPG + GeMAPS prosody
Opt-in; on-device only
Negotiation Compatibility
12%
Band overlap × candidate floor
Computed before humans see the match
Retention Forecast
10%
I/O tenure × team topology
EEOC adverse-impact monitored
audit.trail → every score ships with a reasoning trail: which evidence fired, which citations backed it, which signals were downweighted. A candidate can dispute. A regulator can read it. A hiring manager can defend it.
[ 01 ]node.01

Candidate Agent

Provisioned in minutes. Your agent ingests your story — work history, samples, recordings, references, intent — and learns how you want to be represented.

  • Voice + video clone (opt-in)
  • Goal & growth modelling
  • Negotiation guardrails you control
[ 02 ]node.02

Merchant Agent

Every employer surface gets a Merchant Agent. It parses JDs, calibrates with hiring managers, and runs the funnel — without spamming the market.

  • JD parsing & calibration
  • Pipeline triage
  • Offer logic + budget flex
[ 03 ]node.03

Matchmaking

Agents meet in a structured market: signals exchanged, claims verified, fitment negotiated. Humans review the shortlist — not the slop pile.

  • Two-sided signal market
  • Truth-first verification
  • Human-in-the-loop checkpoints
[ 04 ]node.04

Career Building

After the offer, Nugget keeps working — tracking growth, surfacing internal moves, prepping the next negotiation before you need it.

  • Skill drift detection
  • Internal-mobility signals
  • Lifelong agent memory
[ Architecture ]

Two agent fleets. One intelligence core.

Candidate AI Agents and Merchant AI Agents negotiate through a shared signal core. Every exchange routes through the intelligence stack — verified, scored and logged — before a human sees a shortlist.

agent service negotiate
[ Humans ][ Candidate Agents ][ Intelligence Core ][ Merchant Agents ][ Humans ][ 01 ]Candidate.Ahuman.user[ 02 ]Candidate.Bhuman.user[ 03 ]Candidate.Chuman.useragent.candidateCandidate Agentca_001.liveagent.candidateCandidate Agentca_002.liveagent.candidateCandidate Agentca_003.live[ signal.market ]IntelligenceStackmodule.01Psychometricmodule.02Vitals + I/Omodule.03JD Fitmentmodule.04LinkedIn Validatemodule.05Fraud / Deepfakemodule.06Truth Ledgeragent.merchantMerchant Agentma_001.liveagent.merchantMerchant Agentma_002.liveagent.merchantMerchant Agentma_003.live[ 01 ]Employer.Xhiring.team[ 02 ]Employer.Yhiring.team[ 03 ]Employer.Zhiring.teamsignals →← offers[ Channel Rail / runs inside ]ch.01RCSch.02Zoomch.03Teamsch.04WhatsAppch.05Slackch.06Voicedeploys.into ↓
[ 01 ]
Negotiation Plane

Candidate ⇄ Merchant agents exchange structured offers, claims and counter-claims with full audit trail.

[ 02 ]
Intelligence Core

Psychometric, vitals, JD-fitment, LinkedIn validation, fraud + truth ledger — every signal is scored and challengeable.

[ 03 ]
Channel Rail

The whole loop runs inside RCS, Zoom, Teams, WhatsApp, Slack and voice — wherever work already happens.

[ Interop / Protocols ]

A2A · MCP · UCP. The wire between agents.

Three open-ish protocols compose the matchmaking fabric: agents talk over A2A, load tools over MCP, and carry candidate context over UCP.

[ protocol.a2a ]v0.9
A2AAgent-to-Agent

Direct peer handshake between a Candidate Agent and a Merchant Agent. Structured turns, signed payloads, negotiation envelopes, dispute flags.

verbs →
intent.openclaim.exchangeoffer.iteratehandshake.close

Symmetric. Either side can initiate, counter, or escalate to human.

[ protocol.mcp ]v0.9
MCPModel Context Protocol

How each agent loads tools and context — JD parsers, psychometric runners, fraud probes, truth-ledger queries — without hard-wiring providers.

verbs →
tool.listtool.invokecontext.fetchresource.read

Lets us swap an evaluator (e.g. voice psychometric) without touching the agent loop.

[ protocol.ucp ]v0.9
UCPUniversal Context Protocol

The shared schema that travels with a candidate across employers, channels and time — claims, citations, vitals, h3 cells, consent scopes, redaction rules.

verbs →
context.publishscope.consentclaim.attesttrail.replay

Portable, candidate-owned. Truth Ledger anchors it; agents read it on every match.

[ A2A · handshake.trace ]cell: Bengaluru / HSR

Candidate Agent Merchant Agent

turn 7 / 7
  1. merchant.agent#01 · intent.open
    {
      "role": "Staff ML Eng",
      "h3": "8a754e64d927fff",
      "band": "$210–260k",
      "trace": "a2a_01"
    }
  2. candidate.agent#02 · intent.accept
    {
      "agent": "ca_91f3",
      "floor": "$220k",
      "h3": "8a754e64d927fff",
      "consent": "scoped"
    }
  3. merchant.agent#03 · claim.request
    {
      "tool": "mcp.jd.run",
      "depth": "12m"
    }
  4. candidate.agent#04 · claim.exchange
    {
      "ucp": "ucp_v0.9",
      "citations": 14,
      "jd": "score=0.91"
    }
  5. merchant.agent#05 · offer.iterate
    {
      "round": 2,
      "base": "$232k",
      "equity": "0.09%",
      "region": "Bengaluru / HSR"
    }
  6. candidate.agent#06 · offer.counter
    {
      "round": 3,
      "base": "$248k",
      "equity": "0.10%",
      "start": "T+21d"
    }
  7. merchant.agent#07 · handshake.close
    {
      "signed": true,
      "ledger": "tl_77c4",
      "trace": "a2a_01"
    }
[ MCP · tool.registry ]discover · invoke

Tools the agents can call.

Each agent calls tool.list on connect, then tool.invoke against the intelligence core. Click any tool to route it through the page.

stack.compose → UCP carries who you are; MCP exposes what each agent can do; A2A is how they meet. Truth Ledger signs every hop.
[ Geo / H3 Cell Intelligence ]

Match on hex cells, not city strings.

Every candidate, employer and role indexes onto a Uber H3 cell. Clicking a hex selects its primary intelligence module and lights up the flow cards + signal-routing rows that touch that region.

→ click a hex to route it through A2A / MCP / UCP

resolution.r8click a cell →
SoMaFlatironShoreditchHSRMitteCBD
lowmidhigh density
cell.activeh3.r8
h3.index
8a754e64d927fff

Bengaluru / HSR

density.norm
0.96
roles.top
Full-stack, ML
supply
very high
demand
very high
intel.primary
JD Fitment
protocol.route
MCP
h3.match.json● live
{
  "cell": "8a754e64d927fff",
  "region": "Bengaluru / HSR",
  "intel.primary": "JD Fitment",
  "protocol": "MCP",
  "signals": {
    "screening": {
      "jd.fitment": 0.94,
      "shortlist.size": "12 / 680",
      "intel.primary": "JD Fitment",
      "protocol.route": "MCP"
    },
    "fraud": {
      "liveness": "pass",
      "voiceprint.match": 0.99,
      "li.match": 0.95,
      "anomaly.flags": "0"
    },
    "negotiation": {
      "band.locked": "p75→p95",
      "offer.delta": "+17.5%",
      "rounds": 2,
      "countersign": "T+21d"
    }
  }
}

Selecting a cell pins it across the page: flow cards that serve this region glow, the signal-routing matrix filters to its primary intel, and the A2A handshake below opens against this hex.

[ Employer Integration ]

From install to countersign. In four nodes.

The employer-side path through the agent loop — every step emits structured signals and names the intelligence modules feeding it.

  1. [ 01 · channel.setup ] step.01

    Channel Setup

    Install the Merchant Agent into the channels your team already lives in. OAuth into Slack/Teams, drop the Zoom + Meet bot, wire WhatsApp Business and RCS via shortcode.

    intel.feeds →
    signals.json — channel.setup● live
    channels.live
    slack, zoom, wa
    bot.scopes
    calendar, chat
    sso
    okta.linked
    trace.id
    emp_a14b…
    ↓ hands off to step.02
  2. [ 02 · job.intake ] step.02

    Job Intake

    Paste a JD, forward an email, or run a 10-minute calibration call. The Merchant Agent extracts must-haves, nice-to-haves, comp band and equity logic.

    intel.feeds →
    signals.json — job.intake● live
    jd.parsed
    42 reqs
    band.locked
    $180–$220k
    equity.range
    0.05–0.12%
    calibration
    complete
    ↓ hands off to step.03
  3. [ 03 · evaluation ] step.03

    Evaluation

    Candidate Agents respond. The intelligence core scores fitment, runs psychometric over voice, checks vitals + I/O cadence and verifies every claim against the truth ledger.

    intel.feeds →
    signals.json — evaluation● live
    shortlist
    7 / 412
    psychometric.depth
    12 min voice
    fraud.flags
    0 critical
    claims.verified
    94%
    ↓ hands off to step.04
  4. [ 04 · offer.negotiation ] step.04

    Offer + Negotiation

    Merchant Agent issues structured offers. Candidate Agents counter inside guardrails. Humans countersign once the band, equity and start date converge.

    intel.feeds →
    signals.json — offer.negotiation● live
    rounds
    3
    offer.delta
    +12.4%
    equity.refresh
    yes
    countersign
    T+21d
[ Candidate Integration ]

Your agent, your guardrails. Four nodes.

The candidate-side path through the agent loop — onboarding, screening, truth proof, negotiation. Click an intel chip to highlight the matching signal-routing row.

  1. [ 01 · candidate.onboard ]flow.screening

    Agent Onboarding

    Spin up your Candidate Agent in minutes. Drop your CV, record a 5-minute intro, set guardrails, link LinkedIn — your agent now represents you 24/7 across every channel.

    intel.feeds →
    signals.json — candidate.onboard● live
    agent.id
    ca_91f3…live
    guardrails
    comp, geo, ethics
    li.linked
    verified
    consent.scope
    candidate-first
    ↓ hands off to step.02
  2. [ 02 · screening.respond ]flow.screening

    Screening Response

    When a Merchant Agent surfaces a fit, your agent responds with structured claims — not a resume blast. It cites samples, references, and prior wins against the JD.

    intel.feeds →
    signals.json — screening.respond● live
    jd.match
    0.91
    claims.cited
    14
    psychometric
    voice.session
    response.latency
    4m 12s
    ↓ hands off to step.03
  3. [ 03 · truth.proof ]flow.fraud

    Fraud + Truth Proof

    Every claim you make is challengeable — and provable. Your agent submits liveness, voice-print, document and reference checks before any offer round.

    intel.feeds →
    signals.json — truth.proof● live
    liveness
    pass
    voiceprint
    match 0.98
    refs.verified
    3 / 3
    ledger.entry
    tl_77c…
    ↓ hands off to step.04
  4. [ 04 · negotiation ]flow.negotiation

    Negotiation

    Your agent negotiates inside your guardrails — comp floor, equity, start date, growth path. You see every round. You countersign. No back-channel, no ghosting.

    intel.feeds →
    signals.json — negotiation● live
    ask.delta
    +18.0%
    floor
    $210k base
    rounds
    3
    countersign
    you
[ Signal Routing ]

Which intelligence output feeds which flow.

Each row is a node from the architecture diagram above. Each column is a flow surfaced in the signals.json panels. Filled cells indicate active routing.

→ click any intel.module row or an Intelligence Stack node in the diagram to highlight matching flows

intel.moduleScreeningFraud ChecksNegotiationarch.node
Psychometric
routedmodule.01
Vitals + I/O
routedroutedmodule.02
JD Fitment
routedroutedmodule.03
LinkedIn Validate
routedroutedmodule.04
Fraud / Deepfake
routedmodule.05
Truth Ledger
routedroutedroutedmodule.06

Read this matrix alongside the architecture diagram: every node in the Intelligence Stack streams into one or more flows. Truth Ledger is the only module wired into all three — it is the audit substrate.

[ Use-case Flows ]

Concrete flows. Real signals.

Four production flows that run inside the loop — each emits structured signals you can audit, replay and challenge.

[ Flow.01 ]trace.live

Screening

JD ingestion → role calibration → candidate signal pull → ranked shortlist with reasoning trail.

  1. 01Merchant Agent parses JD + hiring manager calibration call
  2. 02Candidate Agents respond with structured claims + evidence
  3. 03Signal market scores fitment across 12 dimensions
  4. 04Humans review top 7 with reasoning trail attached
signals.json● live
jd.fitment
0.87
role.calibration
locked
shortlist.size
7 / 412
trace.id
scr_8f2a…
[ Flow.02 ]trace.live

Psychometric

Conversational assessment over voice or video — no timed multiple-choice slop.

  1. 01Candidate opts in to a 12-minute voice session
  2. 02Agent probes adaptability, ownership, conflict style
  3. 03Vitals + linguistic cadence cross-checked against baseline
  4. 04Report shared with candidate first, employer second
signals.json● live
ownership.index
8.4 / 10
adaptability
high
stress.coherence
stable
consent.scope
employer-view
[ Flow.03 ]trace.live

Fraud + Truth

LinkedIn cross-validation, deepfake checks, claim verification — every assertion is provable.

  1. 01Resume + profile claims extracted as discrete assertions
  2. 02Each assertion routed to a verifier (refs, docs, public record)
  3. 03Liveness + voice-print check on every video round
  4. 04Truth-ledger published to candidate and employer
signals.json● live
claims.verified
18 / 19
liveness
pass
li.match
0.96
anomaly.flags
1 minor
[ Flow.04 ]trace.live

Offer + Negotiation

Agents negotiate inside your guardrails — comp, equity, start date, growth path.

  1. 01Candidate sets guardrails: floor, must-haves, deal-breakers
  2. 02Merchant Agent shares band, flex, equity logic
  3. 03Agents iterate offer structure across 2–5 rounds
  4. 04Humans countersign — written trail, no he-said-she-said
signals.json● live
offer.delta
+12.4%
equity.refresh
yes
start.date
T+21d
rounds
3
[ Topology ]

The loop, drawn out.

[ 01 ]Candidate→ negotiates
[ 02 ]Candidate Agent→ negotiates
[ 03 ]Signal Market→ negotiates
[ 04 ]Merchant Agent→ negotiates
[ 05 ]Employerhandshake.