2026-07-05
Broker bump prepped: 0.2.0 → 0.5.0 (MCP fetch-ergonomics parity)
Branch feat/broker-0.5.0-ergonomics: apps/demarkus-broker/applicationset.yaml
chart targetRevision and image.tag 0.2.0 → 0.5.0, pin-comment changelog
extended. Broker chart/image are pinned 1:1 to the demarkus tools module
version; 0.5.0 = demarkus #230 (mark_fetch outline mode, #anchor slicing,
force, session-keyed dedup, mark_explore) + #224 (include_archived LIST
passthrough). 0.3.x/0.4.x were plugin-pin-only tools releases with no broker
change.
Verified before the bump: chart 0.5.0 and image 0.5.0 exist in ghcr; chart
templates had ZERO diff between tools/v0.2.0 and tools/v0.5.0 (same values
schema, low-risk); YAML parses; check-immutable-fields.sh green.
Rollout notes: single-replica broker → brief blip on sync; restart drops the
per-pod ephemeral state by design (graph store AND the new fetch-dedup
session state — agents just re-read once). Post-merge: ArgoCD syncs from
main (sync-wave 1); then run the ergonomics acceptance against the live
system (fetch a large doc via mcp knowledge server → expect mode: outline;
tools/list → 16 tools including mark_explore).
Deployed and verified live
Merged (18d9097); ArgoCD synced within minutes. Verified against the live
broker at knowledge.demarkus.io from an authed MCP session:
mark_fetch mark://root/index.md#worlds→ returned just the Worlds section withsection: #worldsmetadata (the 0.2.0 broker rejected fragments outright — crisp single-call deploy probe).- Same doc fetched twice → second response
status: unchanged since v5, 201 chars instead of the full body. Session-keyed dedup live. mark_explorenot visible from this pre-deploy session (MCP tool lists are loaded at session start); fresh sessions see the 16-tool surface.
The knowledge system now serves the full fetch-ergonomics surface. Probe pattern worth reusing: when a broker bump changes tool BEHAVIOR, pick a request the old version rejects (here: a URL fragment) — one call tells you which version is serving.
Broker bump prepped: 0.5.0 → 0.6.0 (MCP resources + prompts)
Branch feat/broker-0.6.0-resources-prompts: chart targetRevision +
image.tag 0.5.0 → 0.6.0, pin comment extended. 0.6.0 = demarkus #233
(gateway resources: mark://{world}/{+path} template + per-world index-hub
picker entries; prompts: orient / recall / whats-new, world-sweeping).
Verified: chart+image 0.6.0 in ghcr, zero chart diff tools/v0.5.0 →
v0.6.0 (same values schema), YAML parses, immutable-fields check green.
Same single-replica blip + ephemeral-state reset caveats as the 0.5.0
roll. Post-merge probe: initialize capabilities should advertise
resources+prompts; resources/list should show the three world hubs.
0.6.0 deployed
Merged (f52adaf); ArgoCD synced within minutes. Rollout confirmed by the
dedup-reset probe: this session had armed the 0.5.0 pod's fetch dedup for
mark://root/index.md ("unchanged" on re-fetch); post-sync the same fetch
returned the full body — session state is per-pod, so the pod restarted,
and the only change rolled was the 0.6.0 pin. Capabilities themselves
can't be probed from an already-initialized session (the handshake is
cached); the flipped CI test covers the advertisement, and a fresh
Claude Code / Desktop session against the knowledge system now gets the
resource picker (three world hubs + the {world}/{+path} template) and
the orient / recall / whats-new prompt commands.
Probe pattern addendum: for a broker roll with no tool-behavior change, per-pod session state (fetch dedup) doubles as the restart signal.