# OpenClerk v0.2.3

This patch release carries post-v0.2.2 runner, skill, eval, and release-procedure hardening, with expanded repo-docs dogfooding promoted to mandatory pre-release evidence.

## Changed

- Added runner-owned public web/HTML source intake through `ingest_source_url` with `source.source_type: "web"`, while keeping browser automation, login, purchase, captcha, paywall, direct HTTP/MCP bypass, and direct vault acquisition outside the supported surface.
- Enriched `ingest_source_url` update responses with normalized source URL, source type, source document identity, previous/new SHA evidence, changed/no-op status, duplicate status, stale dependents, projection refs, provenance refs, no-repair warnings, and synthesis repair status.
- Added read-side `tag` filter support to `list_documents` and retrieval `search` as sugar over canonical markdown/frontmatter metadata, without replacing markdown as authority.
- Added the read-only retrieval `memory_router_recall_report` action for evidence-backed recall/routing reports with canonical evidence refs, provenance refs, synthesis freshness, validation boundaries, and authority limits, without promoting a memory transport, `remember`/`recall` API, autonomous router API, embeddings/vector DB, graph memory, or hidden authority ranking.
- Added the document `compile_synthesis` workflow action for routine source-linked synthesis create/update. It writes exactly one synthesis target, preserves single-line `source_refs`, builds required `## Sources` and `## Freshness` sections when needed, avoids duplicate synthesis paths, and returns source evidence, provenance refs, projection freshness, write status, validation boundaries, authority limits, and `agent_handoff`.
- Added the retrieval `source_audit_report` workflow action for narrow source-sensitive audit explain/repair. Default `explain` mode is read-only; `repair_existing` updates only an existing synthesis target and does not create a new synthesis page. It returns `agent_handoff` and does not promote a broad contradiction engine.
- Added the read-only retrieval `evidence_bundle_report` action for records, decisions, provenance, projection freshness, citations/source refs, validation boundaries, authority limits, and `agent_handoff`, without promoting memory transport, vector DB, hidden ranking, or new storage.
- Added compact workflow-action schema help to `openclerk document --help` and `openclerk retrieval --help` so routine agents can discover promoted action shapes from the installed runner instead of long `SKILL.md` recipes or source inspection.
- Hardened the OpenClerk skill policy for low-risk note capture, duplicate candidate checks, document-these-links placement, opaque artifact boundaries, supplied transcript media intake, local-file-derived duplicate/provenance checks, safe parallel reads, configuration diagnostics, and missing-field clarification answers.
- Expanded repo-docs dogfooding so committed public OpenClerk markdown is imported into an isolated eval vault and exercised for retrieval, source-linked synthesis, decision records, release-readiness answers, tag filters, memory-router recall reports, and release synthesis freshness.
- Documented repo-docs dogfooding as a mandatory pre-release step in the maintainer and release-verification procedures while keeping it separate from the full AgentOps production gate, and set the documented dogfood command to run with parallelism `4`.
- Documented `ingest_source_url` update mode: missing `source.mode` defaults to `create`, duplicate creates reject, `source.mode: "update"` re-ingests an existing `source.url`, and mismatched `path_hint` or `asset_path_hint` values conflict without writing extra docs or assets.
- Verified source URL update freshness behavior: same-SHA updates are no-ops without `source_updated` provenance or projection invalidation churn, while changed-PDF updates preserve source and asset paths, refresh searchable extracted text and citations, emit previous/new SHA provenance, and expose stale dependent synthesis through `projection_states`.

## Verification

- Local release-doc validation passed for `v0.2.3`.
- Local Agent Skill validation passed for `skills/openclerk/SKILL.md`.
- Local committed-artifact validation passed with repo-relative artifact paths and neutral `<run-root>/...` raw-log placeholders.
- Local formatting, linting, and unit-test gates passed with the repository-pinned toolchain.
- The current production OpenClerk AgentOps gate is committed at `docs/evals/results/ockp-agentops-production.md`.
- Expanded repo-docs dogfood evidence is committed at `docs/evals/results/ockp-repo-docs-dogfood.md`, covering installed-runner retrieval, synthesis maintenance, decision-record explainability, release-readiness answers, read-side tag filtering, memory-router recall reports, and release synthesis freshness over this repository's committed public markdown docs.
- Targeted workflow-action evidence is committed at `docs/evals/results/ockp-compile-synthesis-workflow-action.md`, `docs/evals/results/ockp-source-audit-workflow-action.md`, and `docs/evals/results/ockp-evidence-bundle-workflow-action.md`, covering Candidate C promotion of one narrow action plus existing primitives for manual/advanced cases. `oc-nj5h` evidence now shows safety pass, capability pass, and `ux_quality: workflow_action_acceptable` for the natural workflow-action rows.
- Targeted source URL update evidence remains committed at `docs/evals/results/ockp-source-url-update-mode.md`, covering duplicate create rejection, same-SHA no-op behavior, changed-PDF stale synthesis visibility, and path-hint conflict no-write behavior for the shipped runner and skill.
- Targeted supplied-transcript video/YouTube source evidence remains committed at `docs/evals/results/ockp-video-youtube-canonical-source-note.md`, covering create/update behavior, transcript provenance, citation-bearing search, no-op behavior, stale synthesis visibility, and external-tool bypass rejection.
