# Changelog All notable changes to this project are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Releases are vetted checkpoints of `master`. If you maintain a personalized fork, prefer updating to a tagged release over pulling raw `master` (see [SETUP.md, section 8](SETUP.md#8-pulling-upstream-updates-into-your-fork)). The `framework_version` markers on methodology files tell you which of your customized files a release touched; `python3 tools/check_upstream_updates.py` lists them with per-file diff commands. ## [Unreleased] ### Fixed - **`/expand` and `/setup` now append behavioral findings to sections `02-behavioral-profile.md` actually has** (`.claude/commands/expand.md` Step 5, `.claude/commands/setup.md` Step A7, `tests/test_expand_command.py`, `tests/test_setup_command.py`) - both told the model to add to "Strongest Behavioral Traits" and "How I Work Best" / "How [Candidate] Works Best" while also saying "match existing structure", but the shipped file's headings are "Strongest Behaviors" and "How You Work Best", so an inferred trait either opened a duplicate near-identical section or was dropped. The companion to #519, which fixed the same drift in `/reset`'s skeleton; the maintainer asked for this half as its own PR. Both bullets now name the shipped headings, and a derived test in each command's suite reads the quoted section names and requires each to be a `##` heading of the shipped file; both fail on master. - **`jobnet-search` and `jobdanmark-search` search results now carry the contract's `id` field** (`search.ts` and `search-normalization.test.ts` in both CLIs, both `SKILL.md`s) - `/add-portal`'s contract says every search result has at least `id`, `title`, `company`, `location`, `date`, `url`, and the four other shipped CLIs emit `id`. When #340 added the `company`/`location`/`date`/`url` aliases to these two, `id` was left out: jobnet exposed the value only as `jobAdId`, jobdanmark only as `slug`, so a consumer reading every portal's JSON through one shape had to special-case both to call `detail`. Purely additive: `id` equals `jobAdId` on jobnet and `slug` on jobdanmark, the native keys stay, nothing is renamed. The additive-contract test in each CLI now asserts `id` and its equality with the native key; both fail on master. - **`jobdanmark-search detail` renders a JSON-LD description as text instead of passing the markup through** (`.agents/skills/jobdanmark-search/cli/src/commands/detail.ts`, `tests/detail-jsonld.test.ts`) - the JSON-LD branch emitted `jobPosting.description` verbatim, so `detail --format plain` printed `description:

Vi søger en udvikler til R&D.