Work Journal
Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.
Work Journal Entrywork_entry
A work accomplishment, feedback, or 1:1 note.
worklog_getEntryFindthrough vritto_findFetch one entry in full, including complete details and STAR notes.
| Field | Type | Description |
|---|---|---|
| entryId* | string | Entry ID from a prior worklog_queryEntries result, never invented. |
worklog_queryEntriesFindthrough vritto_findList work-journal entries newest first. ALWAYS pass from/to when the question concerns a period (a year, a month, 'recently', 'since my last review').
| Field | Type | Description |
|---|---|---|
| from | string | Start of the period, inclusive. |
| to | string | End of the period, inclusive. |
| kind | one of win, progress, learning, feedback, kudos, one_on_one_note, decision | What sort of entry this is. |
| personId | string | Only entries involving this person. |
| competencyId | string | Only entries tagged with this competency. |
| roleId | string | Only entries from this job/role. |
| unenrichedOnly | boolean | Only entries still missing competencies or impact. |
| detail | one of summary, full | Row shape: "summary" (default, id, date, kind, title, labels and a 120-char preview) or "full" (every field including complete details and STAR notes). |
| limit | integer | Rows to return; defaults to 25 in summary mode. |
| cursor | string | Pagination cursor from a prior result. |
worklog_logEntryCreatethrough vritto_createRecord something the user did at work. Use for any 'I shipped/fixed/presented/led…' statement; only title is required and the date defaults to today.
| Field | Type | Description |
|---|---|---|
| title* | string | One line describing what happened, in the user's words. |
| kind | one of win, progress, learning, feedback, kudos, one_on_one_note, decision | What sort of entry this is. |
| details | string | Extra context the user gave. Never invent detail. |
| entryDate | string | The day the work happened. Defaults to today. |
| personIds | list of string | Collaborators, or the person who gave the feedback. |
| visibility | one of normal, invisible_work | Use "invisible_work" for glue work: refactors, mentorship, code review, docs. |
| impactStatement | string | Why it mattered: only if the user stated it. |
Example input
{
"title": "Shipped the billing migration with zero downtime",
"kind": "win",
"entryDate": "2026-09-25",
"impactStatement": "Moved 12k subscriptions without a failed charge."
}worklog_enrichEntryUpdatethrough vritto_updateAdd review-time polish to an entry, impact, competencies, STAR notes, and mark it enriched. Never invent figures the user did not state.
| Field | Type | Description |
|---|---|---|
| entryId* | string | Entry ID from a prior worklog_queryEntries result, never invented. |
| impactStatement | string | Why it mattered, in concrete terms the user gave. |
| competencyIds | list of string | Competency IDs from the user's ladder. Replaces the list. |
| starNotes | object | Situation/Task/Action/Result framing for interviews. |
| starNotes.situation | string | |
| starNotes.task | string | |
| starNotes.action | string | |
| starNotes.result | string |
worklog_updateEntryUpdatethrough vritto_updateCorrect an existing entry. Merges, omitted fields keep their value, but arrays replace wholesale, so read the entry first.
Note: Arrays replace wholesale; read the entry first.
| Field | Type | Description |
|---|---|---|
| entryId* | string | Entry ID from a prior worklog_queryEntries result, never invented. |
| title | string | |
| kind | one of win, progress, learning, feedback, kudos, one_on_one_note, decision | What sort of entry this is. |
| details | string | |
| entryDate | string | Local date YYYY-MM-DD. |
| visibility | one of normal, invisible_work | Use "invisible_work" for glue work: refactors, mentorship, code review, docs. |
| personIds | list of string |
worklog_deleteEntryDeletethrough vritto_deletePermanently delete one work-journal entry. Only on an explicit request naming the entry.
| Field | Type | Description |
|---|---|---|
| entryId* | string | Entry ID from a prior worklog_queryEntries result, never invented. |
Work Summarywork_summary
Roles, weekly digests, counts, and growth snapshots; read-only.
worklog_getGrowthSnapshotFindthrough vritto_findCompetency coverage and gaps for a period, computed server-side. Use for 'where am I weak', promotion-readiness and ladder questions.
| Field | Type | Description |
|---|---|---|
| from | string | Start of the period, inclusive. |
| to | string | End of the period, inclusive. |
| roleId | string | Defaults to the primary current role. |
worklog_getWeekDigestFindthrough vritto_findCheap weekly aggregate: counts by kind, notable titles and collaborators. Use for 'how was my week' and reflection prompts instead of querying rows.
| Field | Type | Description |
|---|---|---|
| weekOf | string | Any date inside the week. Defaults to this week. |
worklog_queryEntryStatsFindthrough vritto_findCounts of entries by kind for a period, without returning rows. Prefer this over listing rows for how-many questions.
| Field | Type | Description |
|---|---|---|
| from | string | Start of the period, inclusive. |
| to | string | End of the period, inclusive. |
worklog_queryRolesFindthrough vritto_findList the user's jobs/roles, employer, title, level and dates. Use to resolve a roleId or to frame a review by role.
| Field | Type | Description |
|---|---|---|
| detail | one of summary, full | Row shape: "summary" (default, id, date, kind, title, labels and a 120-char preview) or "full" (every field including complete details and STAR notes). |