hired.candidate.workspace#

The per-engagement facade: alignment reports, company research, interview prep.

A JDWorkspace is the domain entry point for work on one engagement — one or a group of related job descriptions of the same company. It wraps a JDStore with validated, intention-revealing methods and a back-reference to the owning CandidateKnowledgeBase (so an alignment agent has both the candidate’s knowledge and the engagement’s work products at hand).

Obtain one via kb.jd(jd_id, company=..., label=...) — never construct directly.

Classes

JDWorkspace(kb, jd_id, *[, store])

Reports, company research, interview-prep briefings, and parsed jobs for one engagement.

class hired.candidate.workspace.JDWorkspace(kb, jd_id, *, store=None)[source]#

Bases: object

Reports, company research, interview-prep briefings, and parsed jobs for one engagement.

>>> import tempfile, os
>>> os.environ['HIRED_DATA_DIR'] = tempfile.mkdtemp()
>>> from hired.candidate import CandidateKnowledgeBase
>>> kb = CandidateKnowledgeBase()
>>> ws = kb.jd('acme', company='Acme, Inc.', label='Acme roles')
>>> ws.save_report('staff-ds', {'verdict': {'recommendation': 'apply'}})
>>> ws.get_report('staff-ds')['verdict']['recommendation']
'apply'
>>> ws.meta['company']
'Acme, Inc.'
report_versions(job_id)[source]#

Keys of archived prior versions of a job’s report (chronological).

Return type:

list[str]

save_briefing(key, data)[source]#

Persist an interview-prep research briefing (keyed by subject/job).

Return type:

None

save_company_report(company, data)[source]#

Persist a company/people research report (keyed by company name).

Return type:

None

save_report(job_id, data, *, archive=True)[source]#

Persist the current alignment report, archiving the prior one first.

Archiving (on by default) snapshots any existing report into report_history so the alignment-review agent can diff versions.

Return type:

None