Repository navigation
Releases: MrReasonable/sluice
Release list
v4.10.0
4.10.0 (2026-10-18)
Features
- leads: job-sluice leads prep, an interview prep brief from STAR stories (#195) (ae80ce7)
- mcp: a read-only prep_brief tool and an interview_prep coach prompt (#195) (e63dc94)
Bug Fixes
- mcp: the interview coach accounts for every requirement by name, and the eval reaches the read-only save advice (9ca48d8)
- mcp: the interview coach gives a working verify route, asks in the posting's words and keeps a guess a guess (df477d3)
- mcp: the interview coach probes every "we", offers every requirement, and asks for the telling after a read-back (9f77ed6)
- mcp: the interview_prep coach gives saved stories a Best For and quotes the posting when asked (ac7f215)
- vault: a verified: value a person typed as no reads as unverified (8ec67b2)
Refactoring
Documentation
v4.9.0
v4.8.0
4.8.0 (2026-10-14)
Features
- leads: add job-sluice leads unpark (#302) (35f251e)
- leads: add the unpark report and move to the facade (#302) (be4b996)
- leads: clear a triage_blocked stamp when a follow-up is answered (#302) (7b6eb23)
- triage: clear the triage_blocked stamp when a triage write lands (#302) (0c8bc3a)
- triage: count blocked research leads in the triage report (#302) (bbbca64)
- triage: define the triage_blocked stamp (#302) (1666937)
- triage: name blocked research leads in the run digest (#302) (3964aa7)
- triage: stamp a refused unjudgeable verdict on a research lead (#302) (effab6c)
Bug Fixes
- leads: dismiss a slug named twice in leads expire once (f343908)
Documentation
- design the research-lead migration for blocked boards (#302) (fab6f54)
- fold plan-review findings into the research migration design (#302) (2318162)
- fold round-2 plan review into the research migration design (#302) (ce05cac)
- fold round-3 plan review into the research migration design (#302) (a8ad303)
- plan the research migration implementation (#302) (e6756e6)
- point the research migration design at #402 for unjudgeable re-judging (8cdf681)
v4.7.0
4.7.0 (2026-10-14)
Features
- core: declare which evidence fields the triage judge may see (#196) (7c21e00)
- triage: add the opt-in triage.evidence key (#196) (df4f378)
- triage: render a verified candidate record into the judge prompt (#196) (45a7294)
- triage: report what the judge was shown of the candidate record (#196) (f3f44cb)
- triage: show the judge the verified candidate record when opted in (#196) (3f5250e)
Bug Fixes
Refactoring
Documentation
v4.6.1
4.6.1 (2026-10-13)
Changed
cv run's advisory audit has a fourth verdict, deduced, and holds fewer clean CVs for
sign-off. Nothing in your config changes, and cv.require_signoff means what it did:
- A claim no single experience entry states, such as a profile line summing up several
roles, is nowdeducedwhen every part of it is evidenced somewhere in your entries
and the dates let them combine (the work it draws on came before or during the role it
sits under). It prints asAUDIT: deducedwith the entries it combined, and does not
hold the CV. Before, such a line came backunsupportedand held it. - A claim with a part evidenced nowhere, or one the dates rule out, is still
unsupportedand still holds. So does adeducedline that cites no real entry. - The auditor is now shown your CV Layout's roles with their dates, to date the entries.
An entry the layout places in several roles is dated only to their span.
Bug Fixes
Documentation
v4.6.0
4.6.0 (2026-10-12)
Changed
Research leads now come with a worklist (job-sluice leads followups, leads mark-asked,
leads answer). Three things change on an existing install without you running any of
the new commands:
- Every triage verdict now writes a new frontmatter key,
triage_next: the question a
researchverdict asks you to put, or blank. Notes gain the key the next time they are
judged. A value you type there over several lines is left alone. - The triage digest gains a standing
Research queue:line counting every research lead,
how many you have marked asked, and how long ago the oldest was first seen. It is
omitted when there are no research leads. - Text written into a lead note's
## Job descriptionsection (leads add --jd-file,
the MCPcreate_leadtool) now has an unclosed code fence closed for it, so a pasted
posting can no longer turn the rest of the note into code.
No config keys are added. A lead you mark asked is skipped by triage run until you
record the answer; nothing is skipped until you do.
Features
- core: mark a research lead asked and record its answer (#378) (a218a69)
- core: read and write research follow-up answers (#378) (41e8443)
- leads: list research follow-ups, mark them asked and record answers (#378) (b7c9e01)
- mcp: label the follow-up answers section as the user's own notes (#378) (f338d52)
- triage: record each verdict's next action and clear a stale asked stamp (#378) (2a3d958)
- triage: skip leads awaiting a reply and show the judge recorded answers (#378) (b5647d3)
Documentation
- describe the research follow-up worklist (#378) (feaa83c)
- design the research follow-up worklist (#378) (c1c732d)
- fold the second spec review into the follow-up design (#378) (c87263e)
- fold the spec review into the follow-up design (#378) (d599290)
- fold the third spec review into the follow-up design (#378) (0a110a9)
- plan the research follow-up worklist (#378) (7237f3f)
v4.5.0
4.5.0 (2026-10-12)
Changed
A CV composed without a job description is now HELD for job-sluice cv signoff by
default, under a new key, cv.blind_hold (true). That covers a fetch that failed, one
that brought back nothing, and a job description (fetched, or from the lead note's own
## Job description section) shorter than min_jd_chars. Its PDF is still written to
served_dir, but the lead's tailored_cv pointer is withheld until you sign off, so a CV
that is not tailored to the role is never marked send-ready by itself. What this means for
you:
- Before this release such a CV was served, and only counted in a
composed blindsummary
line. To keep that behaviour, setcv.blind_hold: false. cv.require_signoff: falsedoes not turn this hold off; it answers a different question
(an unsupported claim), and the two keys are independent.cv signoffshows the reason separately from any flagged claims and says how to get a
tailored CV:--discard, add a## Job descriptionsection to the lead note, then
cv runagain. MCPcv_signoffreturns it under its ownblindkey.- The
cv runsummary line now readscv: N lead(s) had no usable job description, and
counts a lead whose run then failed too.
Features
- cv: compose from the lead note's job description and report its source (#369) (3d827fc)
- cv: hold a CV composed without a job description for sign-off (#369) (0f9bdc1)
- leads: write a job description when adding a lead (#369) (1d81a0b)
- triage: judge a lead from its note's job description (#369) (53e8d75)
Bug Fixes
- cv: never replace an existing sign-off hold (b9b297b)
Refactoring
- core: add the job-description section grammar (#369) (957e412)
- core: give the blind reasons one home and one reader (#369) (fa283a1)
- core: let the dossier cache take a job description it is handed (#369) (43b3681)
- core: report the note ref from Store.upsert (#369) (f38a6f5)
Documentation
- describe the lead-supplied job description and the blind hold (#369) (b1102c6)
- plan: implementation plan for the blind CV hold (#369) (437d357)
- spec: blind CV hold and a lead-supplied job description (#369) (1c2a849)
- spec: fold review round 1 into the #369 design (d5372be)
- spec: fold review round 2 into the #369 design (fd2a899)
- spec: fold review round 3 into the #369 design (610b8c4)
- spec: fold review round 4 into the #369 design (f6b2133)
v4.4.1
v4.4.0
4.4.0 (2026-10-10)
Features
- mcp: job-sluice mcp install (dfa1af2)
- mcp: read a client's registration and write the JSON route (cddf871)
- mcp: register in Codex by appending a new entry table (6aed841)
- mcp: register through a client's own add command, proven by readback (3e20dd8)
- mcp: strict and JSONC readers for client config files (c82e0f6)
- mcp: the client roster mcp install writes to, per platform (2968d4a)
- mcp: the server command mcp install registers (977faaa)
Bug Fixes
- mcp: report only the extra's own modules missing as the extra missing (5200a08)
- setup: report a config that stops being UTF-8 mid-save as failed (b64982b)
Refactoring
- core: add atomicfile.replace_if, one create-or-replace writer (712b0e6)
- core: write_config_text and keep_config_copy use atomicfile (e93101a)
- mcp: give the mcp-not-installed message one importable home (62b7b92)
Documentation
- architecture: describe core/atomicfile.py (16066de)
- plan: Codex appends a new entry table when it has none (059679b)
- plan: fold review-plan findings into the atomicfile plan (5743b01)
- plan: fold review-plan findings into the mcp install command plan (68bc1f7)
- plan: fold the append-route plan review into mcp install (76a0d0c)
- plan: job-sluice mcp install, PR 2 of mcp install (100d61a)
- plan: shared atomicfile writer, PR 1 of mcp install (01bd819)
- spec: an absent file's expected state is absence on the command route (7675a2d)
- spec: Codex appends a new entry when it has none (29c3d5a)
- spec: fold review-plan findings into mcp install design (6699a37)
- spec: fold round-2 review-plan findings into mcp install design (ad55c20)
- spec: fold the PR 2 plan review's rulings into mcp install design (8e86952)
- spec: job-sluice mcp install design (b8cca6f)
- spec: mcp install deletes a client's backup once its write is proven clean (a9e9a13)
- spec: record the client measurements and the routes they decide (de5cebe)
- spec: redact an existing entry's arguments; recheck before a client write (0fa2adf)
v4.3.0
4.3.0 (2026-10-09)
Features
- mcp:
verify_evidence's review form now reaches MCP clients on protocols older than 2026-07-28 that declare form support (#387). They are sent the form as a request during the tool call; before, they were told to use the CLI. Measured on 2026-10-09: Cursor and Codex now show the form and verify what you tick. The rules are unchanged: every entry starts unticked, only an explicit tick verifies it, and only while its text is still what the form showed. A form sent this way waits five minutes for an answer, then reportsno_answerand verifies nothing (opencode 2.0.20 accepts the form and never answers); a client that answers with an error getsform_failed. Clients without form support, among them Gemini CLI and Claude Desktop, still getunsupported_clientand thejob-sluice experience verifyfallback.
Bug Fixes
- mcp: the
career_interviewprompt no longer takes an argument (#387). Claude Code passes a prompt only the first word of whatever follows the command, so a request typed after/mcp__job-sluice__career_interviewreached the coach as one word. Type the command on its own, then say what you want from the session in your next message.
No existing config key, default or note changes meaning in this release.
Documentation
docs/AI-SETUP.mdis rewritten around the career coach: an agent installs sluice, registers its MCP server at user scope, checks the install can serve MCP, and hands you the coach's command; it then sets up the CV Layout and proposes evidence for you to verify. Agents whose client cannot show MCP prompts follow an appendix (#387).docs/MCP.mdhas a new "Install in your client" section with setup for Claude Code, Docker, opencode, Claude Desktop, Cursor, VS Code, Codex and Gemini CLI, each giving the version and date it was measured and whether prompts and the review form work there.- Every
claude mcp addexample registers the server with--scope userand the executable's full path.