hoba

Registry counts

What the registry contains

How many barriers, mechanisms and observations the registry holds, and how they spread across funnel stages and agency zones.

Single source of truth

What the data actually contains

176 canonical entities across 11 collections. Scenarios compose them, archetypes are presentation-only overlays, and the formal substrate is always recomputed.

Observations

21

A directly observable trace left by the hiring process.

observation · finding

Barriers

16

A gate where the nominal hiring path can stop or diverge.

barrier · finding

Mechanisms

28

A causal force compatible with one or more observations and barriers.

mechanism · finding

Patterns

4

A recurring, rule-defined combination of observations and compatible mechanisms.

pattern · finding

Loops

3

A validated reinforcing cycle among mechanisms.

loop · finding

Interventions

24

An actor-owned change aimed at a barrier, mechanism, pattern, or loop.

intervention · finding

Actors

7

A decision seat with explicit controls, blind spots, and incentives.

actor · context

Processes

4

A state machine naming the subject, states, owners, transitions, and expected timing.

process · context

Eras

4

A sourced period of hiring economics: capital, hiring behavior, entry paths, and its ending.

era · context

Evidence records

52

A language-neutral source supporting registry claims.

evidence · support

Financial records

13

A durable budget, contract, funding, fee, payroll, subscription, or runway state with explicit flows.

record · support

Situations, formats, and tools: usage guide.

Logical case-space coverage

This is a lower bound: a coordinate counts only when it is structured or explicitly reviewed in a scenario.

case-lift 1.0.0
Coordinates
37/71
1-wise slots
134/261
2-wise slots
2,268
Scenario declarations
201
171 known · 9 inferred · 21 unknown

What to acquire next

0 coordinates have no example, 17 are thin, and 21 reviewed scenario coordinates remain unknown.

backlog 1.0.0
  1. coordinate:arrangement

    high

    arrangement is thin: 2/6 values touched across 5 source(s).

    Needed: scenario, case_assignment, evidence

  2. scenario_unknown:scenario.downlevelling_trap:arrangement

    high

    scenario.downlevelling_trap explicitly marks arrangement as unknown: Down-levelling and delayed starts can occur in permanent, contract, or contract-to-hire arrangements.

    Needed: case_assignment, evidence

  3. value:arrangement:contract_to_hire

    high

    arrangement.contract_to_hire has no current example.

    Needed: scenario, case_assignment, evidence

  4. value:arrangement:freelance

    high

    arrangement.freelance has no current example.

    Needed: scenario, case_assignment, evidence

  5. value:arrangement:internship

    high

    arrangement.internship has no current example.

    Needed: scenario, case_assignment, evidence

Barriers in the funnel
16
Strictly ordered, no cycles
Mechanisms
28
5 honest baselines
Contradiction patterns
4
Named double binds
Causal loops
3
Strongly connected components (Tarjan)

Mechanisms by agency zone

  • Candidate action6 · 21%
  • Intermediary dependent8 · 29%
  • Exogenous (no agency)14 · 50%

By nature and agency zone

Every mechanism, cross-tabbed by what kind of force it is and who could remove it. Unlike the /archetypes grid, every cell here is counted from the registry — an empty one is a claim (no mechanism of that nature is that removable), not a placement nobody got to yet.

Counts by funnel stage

StageBarriersMechanismsObservations
Before posting151
Sourcing124
Intake285
Screening195
Recruiter188
Technical258
Hiring manager181
Team178
Client approval100
Compensation122
Offer125
Post-offer343

Traces the atlas cannot place

Where a mechanism operates and where its trace is read are different questions, and only the first is recorded for 0 of 68 emissions. 0 of those conflict outright: the observation is never seen at any stage the mechanism acts on, so no intersection could stand in for the missing answer.

Causes no observation can pin down

A cause is settled only when nothing else emits everything it does. For 10 of 28 that never holds: another cause leaves every trace this one leaves, so it survives whatever is observed. Listed with what covers it.

8 of 21 observations are consistent with exactly one cause. The rest narrow to a set, never to one.

Causes the registry cannot tell apart

Each group below leaves the same trace. No observation in the registry separates its members, so narrowing to one of them has in fact narrowed to all. 2 groups, 4 of 28 mechanisms. This is a limit of the observation vocabulary, not a defect in the causes.

What this atlas does not cover

A registry is worth what its gaps are worth knowing, so they are counted here rather than described. Every number below is derived from the registry on each build.

Two limits the counts do not show. The registry describes technical hiring, and the era evidence is drawn from US macro series, so the figures on the eras page describe one market. Neither is a claim about hiring everywhere.

Substrate Topology & Algebraic Pattern Emptiness (SPEC §5)

Every contradiction pattern is formally evaluated over the substrate graph. A pattern is classified as computed_empty if its joint condition set is provably unsatisfiable under monotonic evaluation, and prose_asserted if its satisfying set depends on unobserved hidden state.

PatternStatusSatisfying Set FormulationAlgebraic Contradiction
pat.closed_then_reposted_requisition_motif
Closed-Then-Reposted Requisition Motif
computed_empty (provably empty){ C in Candidates | Qual(C, Req) = false and Qual(C, Req) = true } = empty set under monotonic qualification equality and identical requirement hashUnder identical requirement text hashes, an organization cannot simultaneously establish that the applicant cohort is unqualified and that the requisition requirements remain genuinely unchanged without unobserved hidden state.
pat.compensation_double_bind
Compensation Double Bind
computed_empty (provably empty){ s in R+ | Pr(s in [B_min, B_max] | I(Candidate; Band) = 0) = 1 } = empty set under opaque uniform prior without feedbackUnder 0-bit mutual information regarding the employer compensation band, the set of guaranteed non-disqualifying, non-underbidding candidate bids is algebraically empty.
pat.experience_age_impossibility
Experience-Age Impossibility
computed_empty (provably empty){ exp in R+ | exp >= Y_req and exp <= Age(tech) } = empty set since Y_req > Age(tech)Automated threshold requirement strictly exceeds the elapsed creation age of the underlying technology.
pat.seniority_double_bind
Seniority Double Bind
computed_empty (provably empty){ level in Z | N < level < N+1 } = empty set over discrete rank latticeCandidate experience simultaneously satisfies overqualification predicate (level > N) and underqualification predicate (level < N+1) at adjacent discrete levels.

Workflow Latency Bounds & Dwell Turnaround Matrix

Turnaround bounds defined across all canonical workflows (4 state machines). Dwell exceeding the maximum bound signals a stalled state driven by hidden queue eviction, ghost postings, or batching.

proc.an_application_inside_the_atsAn application inside the ATS

9 states · 8 transitions
TransitionOwnerExpected (days)Max Bound (days)
submitted → parsingactor.ats_vendor11
parsing → scoringactor.ats_vendor11
scoring → queuedactor.ats_vendor12
scoring → auto-rejectedactor.ats_vendor13
queued → reviewedactor.recruiter414
queued → expiredactor.ats_vendor3060
reviewed → advancedactor.recruiter25
reviewed → human-rejectedactor.recruiter25

proc.client_account_hiring_funnelClient account hiring funnel

13 states · 16 transitions
TransitionOwnerExpected (days)Max Bound (days)
demand → search-openactor.client310
search-open → vendor-screenactor.recruiter514
search-open → closed-unfundedactor.client730
vendor-screen → vendor-technicalactor.recruiter37
vendor-screen → vendor-declinedactor.recruiter25
vendor-technical → submittedactor.hiring_manager410
vendor-technical → vendor-declinedactor.hiring_manager37
submitted → client-interviewactor.client514
submitted → declined-by-clientactor.client514
submitted → bench-filledactor.employer_policy310
submitted → closed-unfundedactor.client730
client-interview → offeractor.client410
client-interview → declined-by-clientactor.client37
offer → verificationactor.recruiter37
offer → closed-unfundedactor.client414
verification → placedactor.employer_policy514

proc.the_hiring_funnel_end_to_endThe hiring funnel, end to end

17 states · 24 transitions
TransitionOwnerExpected (days)Max Bound (days)
drafted → authorisedactor.employer_policy721
authorised → publishedactor.recruiter27
published → receivedactor.candidate730
received → machine-screenedactor.ats_vendor13
machine-screened → recruiter-queueactor.ats_vendor13
machine-screened → rejectedactor.ats_vendor17
recruiter-queue → recruiter-screenactor.recruiter514
recruiter-queue → lapsedactor.ats_vendor3060
recruiter-screen → technicalactor.recruiter37
recruiter-screen → rejectedactor.recruiter25
technical → panelactor.hiring_manager512
technical → rejectedactor.hiring_manager37
panel → levellingactor.hiring_manager37
panel → rejectedactor.hiring_manager37
levelling → approvalactor.employer_policy25
levelling → rejectedactor.employer_policy25
approval → offeractor.employer_policy37
approval → frozenactor.employer_policy314
offer → verificationactor.candidate37
offer → frozenactor.employer_policy27
verification → hiredactor.employer_policy514
verification → rejectedactor.employer_policy37
published → lapsedactor.ats_vendor60120
rejected → publishedactor.recruiter1460

proc.the_path_as_it_is_supposed_to_runThe path as it is supposed to run

15 states · 21 transitions
TransitionOwnerExpected (days)Max Bound (days)
real-need → publishedactor.recruiter27
published → appliedactor.candidate730
applied → machine-checkactor.ats_vendor12
machine-check → human-readactor.ats_vendor25
human-read → terms-checkactor.recruiter37
terms-check → work-sampleactor.recruiter37
work-sample → panelactor.hiring_manager510
panel → level-and-bandactor.hiring_manager35
level-and-band → approvalactor.employer_policy24
approval → offeractor.employer_policy25
offer → verificationactor.candidate37
verification → hiredactor.employer_policy514
human-read → declinedactor.recruiter——
terms-check → declinedactor.recruiter——
work-sample → declinedactor.hiring_manager——
panel → declinedactor.hiring_manager——
level-and-band → declinedactor.employer_policy——
verification → declinedactor.employer_policy——
published → closedactor.employer_policy——
approval → closedactor.employer_policy——
offer → closedactor.employer_policy——

Financial Flow Conservation & Solvency Verification

Parametric resource flows across all 108 financial records and 9 flows.

✓ 100% Flow Conservation Verified

Every outward split sums to ≤ 100.0% with zero negative allocations. Verified in Lean 4 kernel theorems and automated TypeScript derivations.